《密碼學(xué):一文讀懂常用加密技術(shù)原理及其邏輯與應(yīng)用方法》一文一經(jīng)發(fā)布后,后臺(tái)收到了許多私信,承蒙喜愛,這篇文章將主要對(duì)后臺(tái)收到的高頻問題予以統(tǒng)一回應(yīng)。
問題一: 在討論加密解密的過程中,常常在同一語(yǔ)境下同時(shí)出現(xiàn)SSL、TLS,請(qǐng)問兩者的差異是什么?
答:在HTTPS協(xié)議中,網(wǎng)站與服務(wù)器通過非對(duì)稱加密的方式實(shí)現(xiàn)Security,這一過程是一套獨(dú)立于http協(xié)議的流程,被稱為安全套接字層,也即Secure Socket Layer,即SSL。如下:
從示意圖中不難發(fā)現(xiàn),這個(gè)密鑰協(xié)商的過程如同tcp一樣,經(jīng)歷了三次握手,被稱為SSL握手。
而從1994年到1996年,SSL分別經(jīng)歷了1.0,2.0和3.0的版本升級(jí)。在3.0級(jí)基礎(chǔ)上,互聯(lián)網(wǎng)工程事務(wù)組(IETF)決定將其標(biāo)準(zhǔn)化,最終于1999年以TLS為稱呼發(fā)布。日常生活中,我們可以見到SSL和TLS間的混用,因?yàn)門LS1.0可以被視作SSL的3.1版本。
此后,TLS也經(jīng)歷了1.0、1.1、1.2和1.3的版本升級(jí),對(duì)安全細(xì)節(jié)予以了改善。例如在TLS1.2版本中,淘汰了兩種哈希函數(shù)(MD5/SHA-1)而用SHA-256取而代之。
問題二: 如何防止第三方機(jī)構(gòu)CA機(jī)構(gòu)不作惡?CT是什么?
答:CA(Certificate Authority)機(jī)構(gòu)頒發(fā)證書,以實(shí)現(xiàn)對(duì)數(shù)字簽名所發(fā)布的公鑰進(jìn)行權(quán)威的認(rèn)證。因此,證書頒發(fā)機(jī)構(gòu)(CA)必須是可信的。
在如何防止第三方機(jī)構(gòu)CA機(jī)構(gòu)不作惡?jiǎn)栴}上,《密碼學(xué):一文讀懂常用加密技術(shù)原理及其邏輯與應(yīng)用方法》一文中提到,對(duì)于認(rèn)證機(jī)構(gòu)的公鑰,一般由其它的認(rèn)證機(jī)構(gòu)施加數(shù)字簽名,從而對(duì)認(rèn)證機(jī)構(gòu)的公鑰進(jìn)行驗(yàn)證,即生成一張認(rèn)證機(jī)構(gòu)的公鑰證書,這樣的關(guān)系可以迭代好幾層,以杜絕中間人假冒認(rèn)證機(jī)構(gòu)CA。最高一層的認(rèn)證機(jī)構(gòu)被稱為根CA,RCA會(huì)對(duì)自己的公鑰進(jìn)行數(shù)字簽名,即自簽名,也會(huì)在RCA間互相簽名。
在此基礎(chǔ)上,我們進(jìn)一步觀察,還能發(fā)現(xiàn),成為CA機(jī)構(gòu)的門檻較高,例如Google、Microsoft、中國(guó)互聯(lián)網(wǎng)信息中心、中國(guó)金融認(rèn)證中心、Symantec、digicert、GlobalSign等等。這些機(jī)構(gòu)原則上沒有頒發(fā)非法或錯(cuò)誤證書的動(dòng)機(jī)。
實(shí)際上,除去思考CA機(jī)構(gòu)能否作惡意外,我們還需要關(guān)注的問題有很多,例如CA機(jī)構(gòu)有沒有可能被黑客入侵呢?CA機(jī)構(gòu)的辦事員有沒有可能犯錯(cuò)/作惡呢?
顯然,CA機(jī)構(gòu)的可信信問題面臨巨大挑戰(zhàn)。在棱鏡門事件后,證書透明(Cetificate Transparence,CT)方案被提出。其核心邏輯是:
在加入CT的安全體系下,要求CA機(jī)構(gòu)每次頒發(fā)證書時(shí),要向日志服務(wù)器提交證書詳情,日志服務(wù)器負(fù)責(zé)記錄并向CA返回SCT數(shù)據(jù),CA將SCT加入到證書擴(kuò)展中,一并頒發(fā)給站點(diǎn)服務(wù)器。在TLS握手時(shí),瀏覽器檢測(cè)證書是否有SCT信息,并向日志服務(wù)器核驗(yàn)(日志服務(wù)器有自己的公私密鑰,SCT中包含其私鑰簽名的數(shù)據(jù),瀏覽器使用日志服務(wù)器的公鑰,對(duì)SCT信息中的簽名進(jìn)行驗(yàn)簽來確定真實(shí)性)。
換言之,證書透明(Cetificate Transparence,CT)方案通過加入一層監(jiān)管者,以確保CA證書的透明性。
從2018年開始,由Crome和Safari瀏覽器牽頭,各家瀏覽器強(qiáng)制執(zhí)行證書中的CT檢查,換言之,不攜帶SCT信息的證書將被標(biāo)注為不安全,如此,所有的CA機(jī)構(gòu)便被強(qiáng)制加入了監(jiān)管體系。
那么如何保障日志服務(wù)器不作惡呢?實(shí)際上,日志服務(wù)器利用《密碼學(xué):一文讀懂常用加密技術(shù)原理及其邏輯與應(yīng)用方法》一文中提到的哈希函數(shù)的碰撞抗碰撞性(Collision Resistance)特性,通過默克爾樹(Merkle Tree)來防止篡改——換言之,日志服務(wù)器成為了一個(gè)只能添加信息的“賬本”系統(tǒng)。monitor/監(jiān)管者(域名擁有者、CA機(jī)構(gòu))通過周期性查詢可以檢測(cè)是否存在可疑的證書頒發(fā)記錄。
至此,本文也就進(jìn)入尾聲了。希望本文能夠起到拋磚引玉之效,也歡迎大家的批評(píng)交流。文章來源:http://www.zghlxwxcb.cn/news/detail-431410.html
如果您有任何疑問或者好的建議,期待你的留言、評(píng)論與關(guān)注!文章來源地址http://www.zghlxwxcb.cn/news/detail-431410.html
到了這里,關(guān)于關(guān)于密碼學(xué)的進(jìn)一步答疑:SSL和TLS的區(qū)別、CA和CT的關(guān)系的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!