最近,微博上有人提出一個(gè)話題——聊聊你學(xué)生時(shí)代收到過的紙條,瞬間激起網(wǎng)友們一波波的回憶殺。
有講老師壞話的:
有問*的:
還有偷偷塞情書給暗戀同學(xué)的:
網(wǎng)友們直呼太有共鳴,紛紛祭出壓箱底的小紙條故事:
熹微媣盡:高三...我跟我對(duì)象一個(gè)班的...我第二組第一排中....他第四組最后一排...跨越好多人傳紙條...
張起靈的連帽衫z:我喜歡你。你是誰?我是xxx,你可喜歡我?喜歡。
船兒飄飄_:說真的,我初戀就傳紙條傳來的。
HOrizon鄒路萍:我和好朋友的聊天記錄本被語文老師發(fā)現(xiàn),還被威脅到,再被抓到,叫你們兩個(gè)上講臺(tái)讀出來!
說實(shí)話,傳紙條真的很危險(xiǎn),尤其是這種早戀的紙條,被抓到就是一首《涼涼》。想當(dāng)年,我本來想趁老師不注意偷偷給喜歡的女生傳紙條,手都伸出去一半了,猛地一抬頭,發(fā)現(xiàn)老師就站在面前,女生也被嚇得趕緊收回去手,然后默默抓起桌上的尺子,假裝是互相借工具。最后小紙條還是被老師給沒收了,我被罰掃了一周的值日。
這就是最初我坎坷的感情史,后來等我長大了,才知道這是回不去的美好。如今,我已經(jīng)是一枚憑實(shí)力單身的程序猿,如果時(shí)光能夠倒流,我想告訴當(dāng)年的自己,用Https加密原理給小紙條上一層“保護(hù)鎖”,就算被老師抓到也奈何不了我們。
這么神奇的Https加密原理,到底是什么呢?
Https是一種常見的網(wǎng)站加密傳輸方式,它是通過在網(wǎng)站上使用SSL證書,以加密的方式將http明文傳輸變成密文傳輸,從而確保數(shù)據(jù)信息的安全。
Http方式就像我們傳紙條,紙條上的信息都是明文公開的,一目了然,誰拿到紙條都可以直接看到上面的內(nèi)容,自然很不安全。那么,怎么才能有效地對(duì)信息進(jìn)行加密呢?
一般來說,加密有兩種方式,對(duì)稱加密與非對(duì)稱加密。
對(duì)稱加密:也稱為單密鑰加密,即加密解密是使用同一把密鑰。
如果使用對(duì)稱加密,那么密鑰在傳輸過程中一旦被截獲,就會(huì)失去安全性,需要再對(duì)密鑰的密鑰加密。這將無限疊加加密層數(shù),顯然是不合理的。
這就好比兩個(gè)人在傳紙條之前,先約定暗號(hào)代碼,內(nèi)容全部用代碼來寫,這樣其他人就看不懂紙條上的內(nèi)容了。但是,如果約定的暗號(hào)代碼被其他人知道了,這種加密方式也就沒有意義了。
非對(duì)稱加密:即使用一對(duì)密鑰——公鑰和私鑰,私鑰與公鑰是一對(duì)多的關(guān)系,公鑰用于簽名,私鑰用于驗(yàn)證。私鑰需要私自保管在本地,不能泄露,公鑰可以隨意在網(wǎng)上傳輸發(fā)放。
如果使用非對(duì)稱加密,首先服務(wù)器生成一對(duì)公鑰和私鑰,將公鑰發(fā)送出去;對(duì)方收到公鑰后,本地客戶端使用對(duì)稱加密生成一個(gè)密鑰KEY,然后使用公鑰加密這個(gè)密鑰KEY,發(fā)送;服務(wù)器收到公鑰加密的數(shù)據(jù)后,使用私鑰解密,得到KEY。這時(shí),雙方可以使用KEY來加密數(shù)據(jù),開始安全地交流。即使中間人截獲了公鑰加密的數(shù)據(jù),但是由于沒有私鑰,所以無法解密出KEY。
打個(gè)比方,我送給女神一把鎖(公鑰),把鑰匙(私鑰)留給自己。女神在拿到鎖之后,可以把暗號(hào)放在小盒子里鎖起來,當(dāng)帶鎖的小盒子傳過來時(shí),只有我的鑰匙能打開這個(gè)小盒子,拿到暗號(hào),因此這個(gè)暗號(hào)很安全,只有我們倆知道。
這個(gè)方法看上去是可行的,但其實(shí)還是有漏洞。假如我在給女神送鎖的過程中,這把鎖被第三人截獲,他自己生成一對(duì)鎖和鑰匙,并且偽造成我,將偽造的鎖送給女神,這樣一來,內(nèi)容又被完全監(jiān)聽了。
所以,無論是再對(duì)稱加密或非對(duì)稱加密,都有其缺陷,這該怎么辦呢?
此時(shí),需要一個(gè)權(quán)威機(jī)構(gòu)來主持大局,于是同學(xué)們決定推選德高望重的班長——CA(數(shù)字證書機(jī)構(gòu))來擔(dān)此重任。
首先,每個(gè)同學(xué)在上課前,都會(huì)收到由班長頒發(fā)的私鑰,而這個(gè)私鑰是絕對(duì)可信任的。以后哪個(gè)同學(xué)需要傳小紙條了,就到班長處申請(qǐng)SSL證書,這種證書將用于對(duì)公鑰進(jìn)行加密,然后將加密后的公鑰傳給收紙條的同學(xué),這位同學(xué)只要用私鑰來解密數(shù)據(jù),就可以取出公鑰了。
大家可能會(huì)問,難道SSL證書加密的公鑰,就不能被中間人截獲,或者被偽造嗎?這兩個(gè)問題早在證書設(shè)計(jì)之初就解決了。
SSL證書中包含的具體內(nèi)容有很多,比如:證書的頒發(fā)機(jī)構(gòu)CA、證書的有效期、公鑰、證書所有者、數(shù)字簽名………當(dāng)客戶端在接受到服務(wù)端發(fā)來的SSL證書時(shí),會(huì)對(duì)證書的真?zhèn)芜M(jìn)行嚴(yán)格的校驗(yàn)。權(quán)威CA機(jī)構(gòu)頒發(fā)的SSL證書,其根證書廣泛存在于大多數(shù)瀏覽器和操作系統(tǒng)中,可以被客戶端用來校驗(yàn)網(wǎng)站SSL證書是否合法。
目前,全球主流的CA機(jī)構(gòu)有Symantec、GeoTrust、DigiCert、Thawte、GlobalSign、RapidSSL等。在國內(nèi),天威誠信是首批由中國工信部批準(zhǔn),且中國唯一一家由DigiCert/Symantec直接授權(quán)的CA認(rèn)證機(jī)構(gòu),經(jīng)其簽發(fā)的SSL證書,已廣泛應(yīng)用于工商銀行、建設(shè)銀行、騰訊、阿里巴巴等眾多企業(yè)和網(wǎng)站。
由此可以看到,通過發(fā)送SSL證書的形式,既解決了公鑰獲取問題,又解決了黑客冒充問題,Https加密過程也就此形成。由權(quán)威CA機(jī)構(gòu)頒發(fā)的SSL證書,就類似于互聯(lián)網(wǎng)世界的通行證,將其部署到網(wǎng)站服務(wù)器上,即可實(shí)現(xiàn)網(wǎng)站的身份認(rèn)證和信息加密傳輸。
只可惜這個(gè)技術(shù)原理,我知道得太晚了,如果當(dāng)年有人告訴我,說不定高中坐在第三排的小倩,就是我的女朋友了呢?
申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!