亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 32126 | 回復(fù): 0
打印 上一主題 下一主題

openssl TLS 1.3 學(xué)習(xí)1 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2018-04-26 22:00 |只看該作者 |倒序?yàn)g覽
一、資源
        TLS1.3 正式版本還未發(fā)布,截止2018-4-26日為止,草案版本為28,URL為:
        https://datatracker.ietf.org/doc/draft-ietf-tls-tls13/ ,網(wǎng)站截圖:
                                                                                                                    TLS1.3草案
openssl早已開(kāi)始支持TLS1.3協(xié)議,目前最新版本為 openssl-1.1.1-pre5。感興趣的同學(xué)可以一起來(lái)研究一下。

二、搭建環(huán)境
2.1編譯安裝
            ./config -d --prefix=/usr/local/openssl-1.1.1-pre5
             make
             make install
             加-d參數(shù)是為了gdb調(diào)試。
2.2 建立CA 并發(fā)兩張證書(shū)
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl-1.1.1-pre5/lib
       export PATH=$PATH:./
         cd /usr/local/openssl-1.1.1-pre5/ssl/misc
         cp .././../bin/openssl .
        ./CA.pl -newca
       ./openssl req -newkey rsa:1024 -keyout s.key -out sreq.pem
         ./openssl req -newkey rsa:1024 -keyout c.key -out creq.pem
        ./openssl ca -in sreq.pem -out s.pem
        ./openssl ca -in creq.pem -out c.pem
        啟動(dòng)服務(wù)端:
      ./openssl s_server -tls1_3 -CAfile demoCA/cacert.pem -cert s.pem
                    -key s.key -cipher TLS_AES_256_GCM_SHA384 -state -Verify 1
        啟動(dòng)客戶端:
        ./openssl s_client -tls1_3 -CAfile demoCA/cacert.pem -cert c.pem
                            -key c.key -cipher TLS_AES_256_GCM_SHA384 -state
        環(huán)境搭建完畢。
三、研究?jī)?nèi)容
       學(xué)習(xí)總需要有一個(gè)切入點(diǎn),采用哪個(gè)? 順便選一個(gè)吧:對(duì)稱密鑰是如何生成的?先看理論:
                                                                                                                                完整握手過(guò)程
             這是一個(gè)典型的非常完整的握手過(guò)程,這里只顯示了網(wǎng)絡(luò)上的消息,我們把客戶端和服務(wù)端內(nèi)部要處理的
             過(guò)程也做標(biāo)記,如下圖,紅色為交互的消息,藍(lán)色為后臺(tái)處理。
                                                                                                                            收發(fā)消息及其處理
                     再進(jìn)一步,我們將每條消息加密的密鑰標(biāo)出來(lái),這里涉及4個(gè)密鑰:
                    握手過(guò)程-服務(wù)端寫(xiě)密鑰(keyA)、握手過(guò)程-服務(wù)端讀密鑰(keyB)、應(yīng)用-服務(wù)端寫(xiě)密鑰(keyC)、應(yīng)用-服務(wù)端讀密鑰(keyD)。如下圖所示:
                                                                                                                                      密鑰產(chǎn)生及標(biāo)注
                     setup密鑰會(huì)調(diào)用 tls13_enc.c 的 tls13_change_cipher_state 函數(shù),可以將斷點(diǎn)定在
                    tls13_change_cipher_state 函數(shù),執(zhí)行上面的兩條命令(s_client和s_server)來(lái)確定客戶端和服務(wù)端分別在哪個(gè)階段啟用了哪個(gè)密鑰。
                    tls13_change_cipher_state函數(shù)大體上不復(fù)雜,簡(jiǎn)化如下(未研究early data,只與上面過(guò)程匹配):
                                                                                                                                           密鑰啟用
                   感興趣的話,可以自己gdb一下,既可以熟悉源碼,也可以熟悉協(xié)議。

您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP