摘要:實(shí)際上這一篇和上一篇均可以看作是關(guān)于加解密的懶漢入門篇安全加強(qiáng)篇一的后續(xù),只不過(guò)側(cè)重點(diǎn)在于安全上。回到上篇結(jié)果提到的問(wèn)題,就是對(duì)稱加密的安全性要人命,非對(duì)稱加密的性能非常要人命。元首作為高智商罪犯,這種低級(jí)錯(cuò)誤是不可能犯的。
為什么標(biāo)題總是要帶上“API安全”關(guān)鍵字呢?因?yàn)槲蚁胛覙?lè)意。
實(shí)際上這一篇和上一篇均可以看作是《關(guān)于PHP加解密的懶漢入門篇(API安全加強(qiáng)篇一)》》")的后續(xù),只不過(guò)側(cè)重點(diǎn)在于安全上。
如果說(shuō),你沒(méi)有看上篇,你一定回去看,不然一定會(huì)斷篇兒!
為了避免文章陷入過(guò)于抽象復(fù)雜的理論講解,所以這次還得借助元首和東線的將領(lǐng)們以及“反派角色”朱可夫同志。
男一元首:
男二古德里安:
路人甲曼施坦因:
路人乙馮*博克
“反派”男一
上篇我們知道元首和古德里安翻臉了,然后兩個(gè)人通過(guò)非對(duì)稱加密技術(shù)diss彼此,朱可夫沒(méi)有私鑰只能在路邊兒打醬油。
根據(jù)事實(shí),我們知道古德里安又重返了東線戰(zhàn)場(chǎng)。當(dāng)初把人擼了下來(lái),現(xiàn)在又得讓人去東線救火,反正這臉我是拉不下來(lái),但元首拉的下來(lái)。
回到上篇結(jié)果提到的問(wèn)題,就是:對(duì)稱加密的安全性要人命,非對(duì)稱加密的性能非常要人命。用我黨地話來(lái)說(shuō)就是“不能多快好省”,不符合“可持續(xù)發(fā)展”,不滿足“社會(huì)主義主流價(jià)值觀”。
這篇主要就是說(shuō)“多快好省”的綠色方案。
讓古德里安回東線肯定得是秘密下令的,加密是肯定。但是這個(gè)地方一定要值得注意:那就是元首一定得是用古德里安同志的給他公鑰進(jìn)行加密,然后再發(fā)送出去,此時(shí)這個(gè)密文雖然在東線用飛機(jī)撒的滿地都是,但是只有古德里安同志自己能用藏在自己褲襠里的私鑰進(jìn)行解密后才能得到明文,也就是說(shuō)這事兒也只有古德里安和元首兩個(gè)人知道了。
除此之外,還有兩種情況,可能愛(ài)思考的青年已經(jīng)考慮到了:
元首是不是可以利用自己的公鑰對(duì)密文進(jìn)行加密。但這種做法的最終結(jié)果就是這個(gè)密文只能用元首的私鑰進(jìn)行解密,但是元首的私鑰在元首的褲襠里,別人是無(wú)法知道的。元首作為高智商罪犯,這種低級(jí)錯(cuò)誤是不可能犯的。
元首用自己的私鑰對(duì)密文進(jìn)行加密。這個(gè)時(shí)候就意味著只有持有元首公鑰的東線將領(lǐng)們才可以解密這個(gè)密文,然而假如元首并不想讓其他人知道他天才一般的部署,這種方式就顯得有點(diǎn)兒2了。
綜上,這種情況下,最正確的方式就是元首利用古德里安的公鑰對(duì)密文進(jìn)行加密,然而再撒的滿天飛,這會(huì)兒只有古德里安能用自己的私鑰進(jìn)行解密。此時(shí),無(wú)論是自己家的曼施坦因、馮*博克,還是“反派”的朱可夫,都只能默默當(dāng)路人甲。
在上述案例中(注意,客戶端不要理解為狹義角度的手機(jī)客戶端!)
元首充當(dāng)API服務(wù)器的角色。
古德里安充當(dāng)客戶端的角色。
曼施坦因、馮*博克充當(dāng)路人甲客戶端角色。
朱可夫充當(dāng)中間劫持者的角色。
我們回歸到現(xiàn)實(shí)中,也就是真正搬磚擼代碼的現(xiàn)實(shí)中。這個(gè)時(shí)候,如果要對(duì)服務(wù)器和客戶端傳輸?shù)臄?shù)據(jù)進(jìn)行非對(duì)稱加密,那么就得有如下條件:
客戶端有自己一對(duì)公鑰私鑰,客戶端持有服務(wù)器的公鑰
服務(wù)器有自己一對(duì)公鑰私鑰,服務(wù)器持有客戶端的公鑰
那么問(wèn)題來(lái)了,服務(wù)器只有少數(shù)一臺(tái),客戶端成千上萬(wàn)。這會(huì)兒擺在搬磚俠們面前的只有兩個(gè)選擇:
客戶端的公鑰和私鑰共用一對(duì),這樣服務(wù)器只要一個(gè)公鑰就算是擁有了所有客戶端的公鑰
客戶端的公鑰和私鑰都是特立獨(dú)行的,是顏色不一樣的煙火。這會(huì)兒服務(wù)器就苦逼了,必須維護(hù)一坨彼此不同的客戶端,同時(shí)還要建立和不同客戶端的對(duì)應(yīng)關(guān)系
那么,好了,下面讓各位搬磚俠們吃口屎保持一下冷靜,我們看看支付寶是怎么做的。當(dāng)你的系統(tǒng)接入支付寶的時(shí)候,支付寶會(huì)要求你生成一對(duì)你的公私鑰,然后私鑰你自己藏好了,公鑰上傳到支付寶(這個(gè)過(guò)程相當(dāng)于支付寶有了你的公鑰),然后再你上傳完你的公鑰后,支付寶會(huì)返回給你支付寶的公鑰。其中當(dāng)你使用RSA普通版本的時(shí)候,所有商戶得到的支付寶公鑰都是同一個(gè),當(dāng)你使用RSA2的時(shí)候,每個(gè)商戶收到的支付寶公鑰都是不盡相同的。
所以說(shuō),怎么做都行,一切都看你選擇。
說(shuō)起支付寶,你們接入的時(shí)候都一定看到有個(gè)叫做簽名驗(yàn)證的功能,我認(rèn)為這個(gè)很重要,是必須值得一提的一件事情。回到元首這里來(lái),我們說(shuō)元首給古德里安發(fā)消息“滾到東線,去庫(kù)爾斯克棱角部”,正確的做法應(yīng)該是用古德里安的公鑰進(jìn)行加密,此時(shí)該消息只能被古德里安的私鑰解密,其他人都只能干瞪眼。如果元首抽風(fēng)了,用自己的私鑰加密了密文,這會(huì)兒會(huì)是什么情況咧?那就是持有元首公鑰的人都可以看到“滾到東線,去庫(kù)爾斯克棱角部”這條機(jī)密消息了,很多人都會(huì)發(fā)朋友圈或者私聊類似于“聽(tīng)說(shuō)古德里安要回來(lái)了”。其實(shí),用自己私鑰解密,然后利用自己公鑰解密是一個(gè)二逼的行為,但是,這個(gè)過(guò)程可以用來(lái)驗(yàn)簽是沒(méi)有任何問(wèn)題的。什么是驗(yàn)簽?
假如有一天,希姆萊想提前篡位,冒充元首給古德里安發(fā)號(hào)施令了。此時(shí),古德里安只需要用元首的公鑰驗(yàn)證一下命令的簽名,一驗(yàn)返回了false,那就說(shuō)明這坨命令不是來(lái)自于元首,這種數(shù)據(jù)就應(yīng)該直接扔掉即可!
所以,上面叨逼叨叨逼叨這么久,為的就是得出一個(gè)結(jié)論,你們理(bei)解(song)一下:
公鑰加密,私鑰解密
私鑰加密,公鑰驗(yàn)簽
然后我們?cè)偻白匪菀幌?,我們的為什么要用非?duì)稱加密?是為了防止對(duì)稱加密措施密鑰的泄漏,而非對(duì)稱加密不存在密鑰泄漏的情況。
但是,非對(duì)稱加解密的性能以及部署使用方式,非土豪所能及也!那么,有沒(méi)有辦法既能得到魚(yú),又能得到熊掌咧?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/11485.html
摘要:實(shí)際上這一篇和上一篇均可以看作是關(guān)于加解密的懶漢入門篇安全加強(qiáng)篇一的后續(xù),只不過(guò)側(cè)重點(diǎn)在于安全上?;氐缴掀Y(jié)果提到的問(wèn)題,就是對(duì)稱加密的安全性要人命,非對(duì)稱加密的性能非常要人命。元首作為高智商罪犯,這種低級(jí)錯(cuò)誤是不可能犯的。 為什么標(biāo)題總是要帶上API安全關(guān)鍵字呢?因?yàn)槲蚁胛覙?lè)意。 實(shí)際上這一篇和上一篇均可以看作是《關(guān)于PHP加解密的懶漢入門篇(API安全加強(qiáng)篇一)》》)的后續(xù),只不過(guò)...
摘要:很明顯,非對(duì)稱加密的極大的消耗成了一種瓶頸。其中,利用非對(duì)稱加密的方案大概就是我前面說(shuō)的那樣,偽代碼已經(jīng)展示過(guò)了。 其實(shí),前面兩篇翻來(lái)覆去只為叨逼叨叨逼叨兩件事情: 對(duì)稱加解密,典型算法有AES、DES、3DES等等 非對(duì)稱加解密,典型的算法有RSA、DSA、ECDH等等 但是,我知道大家最討厭在看這種文章的時(shí)候冒出來(lái)的一坨橢圓曲線、素?cái)?shù)、質(zhì)數(shù)等等這樣的玩意,反正看也看不懂,理解也...
摘要:由于密鑰被暴露了,所以必須換新的密鑰,元首這會(huì)兒只能走途徑告訴古德里安新的密鑰,這會(huì)兒逗逼的事情來(lái)了,如何對(duì)密鑰進(jìn)行加密。但是,有一點(diǎn)是值得說(shuō)明,那就是無(wú)論是對(duì)稱加密還是非對(duì)稱加密,都頂不住用機(jī)器是強(qiáng)行暴力猜解私鑰。 懶漢 入門 這兩點(diǎn)就足以說(shuō)明這篇文章不想要著有什么高端大氣的技術(shù)內(nèi)容,我跟你講,全是水。不可能有什么質(zhì)數(shù)素?cái)?shù)、橢圓曲線加密、迪菲-赫爾曼什么的,不可能有的。 首先我不...
摘要:這種神奇的算法可以讓你服務(wù)器和客戶端在不傳輸該對(duì)稱密鑰的情況下就可以通過(guò)心有靈犀地方式各自計(jì)算出一個(gè)對(duì)稱密鑰,而且可以一樣,避免了該密鑰在網(wǎng)絡(luò)上流通,而且你可以隨意更換,過(guò)期時(shí)間定為分鐘,可謂是狠毒至極我們引入就是為了解決上面的問(wèn)題。 首先是前段時(shí)間我在公眾號(hào)里被人批(dui)評(píng)(gang)了,大概意思就是:你別老整那ECDH又是橢圓又是素?cái)?shù)啥的,你就說(shuō)這玩意實(shí)際項(xiàng)目中怎么用就完了,我...
摘要:這種神奇的算法可以讓你服務(wù)器和客戶端在不傳輸該對(duì)稱密鑰的情況下就可以通過(guò)心有靈犀地方式各自計(jì)算出一個(gè)對(duì)稱密鑰,而且可以一樣,避免了該密鑰在網(wǎng)絡(luò)上流通,而且你可以隨意更換,過(guò)期時(shí)間定為分鐘,可謂是狠毒至極我們引入就是為了解決上面的問(wèn)題。 首先是前段時(shí)間我在公眾號(hào)里被人批(dui)評(píng)(gang)了,大概意思就是:你別老整那ECDH又是橢圓又是素?cái)?shù)啥的,你就說(shuō)這玩意實(shí)際項(xiàng)目中怎么用就完了,我...
閱讀 4950·2021-10-13 09:39
閱讀 1973·2019-08-29 11:12
閱讀 1164·2019-08-28 18:16
閱讀 1876·2019-08-26 12:16
閱讀 1263·2019-08-26 12:13
閱讀 3008·2019-08-26 10:59
閱讀 2316·2019-08-23 18:27
閱讀 3007·2019-08-23 18:02