分布式鎖(DistributedLocking)是一種常見的網(wǎng)絡(luò)安全解決方案,它允許用戶通過在多個(gè)服務(wù)器之間共享一個(gè)公共的“鑰匙”來控制對服務(wù)器的訪問。由于每個(gè)服務(wù)器都有自己的IP地址、用戶名和密碼,所以需要把各個(gè)服務(wù)器的“鑰匙”放到同一個(gè)地方才能實(shí)現(xiàn)安全共享。
常見的分布式鎖有:
1.基于公鑰密碼體制的密鑰管理方案(PGP):
2.基于RSA算法的加密算法方案(Rijndael-Hellman):
3.基于散列算法的加密算法方案(ElGamal和McCain等):
4.基于哈希算法的加密算法方案(Sha-256、SHA-1等)。
其中前兩種是使用比較廣泛的分布式鎖技術(shù)。下面簡單介紹一下這幾種常見的技術(shù)原理以及各自的優(yōu)缺點(diǎn)。(以下內(nèi)容主要參考了網(wǎng)絡(luò)安全的相關(guān)資料。)
一、公鑰密碼體制
公鑰密碼體制是指由一組公開且無法被破譯的隨機(jī)數(shù)所組成的數(shù)學(xué)系統(tǒng),這些數(shù)字被稱為密鑰或秘鑰;其中每一個(gè)數(shù)字都是的,并且不能被任何人更改或復(fù)制。
在公私鑰體系下,任何人都不能直接他人的私鑰或者將別人的私匙據(jù)為己有。因此當(dāng)使用者需要驗(yàn)證自己的身份時(shí)只能從他人手中到相應(yīng)的公匙進(jìn)行認(rèn)證;同時(shí)對于其他人而言也無法直接從別人那里到自己的公匙信息從而進(jìn)行認(rèn)證操作。
二、RSA算法
RSA是由美國國家標(biāo)準(zhǔn)與技術(shù)院的一種非對稱密鑰交換協(xié)議標(biāo)準(zhǔn),用于建立計(jì)算機(jī)之間傳遞秘密信息的安全通信通道并確保信息的保密性及完整性的基礎(chǔ)結(jié)構(gòu)協(xié)議標(biāo)準(zhǔn)之一。RSA采用非對稱加密方法對明文進(jìn)行處理后得到密文數(shù)據(jù)塊并將該數(shù)據(jù)塊發(fā)送給目標(biāo)主機(jī)以完成解密工作。
三、ElGamal-Hellman算法
ElGamal Hellman是對稱和非對稱密鑰交換技術(shù)的結(jié)合體——一種新的混合式簽名方法?!癊lgamal”一詞來源于希臘語,“elgamma”(意思是“不”,“l(fā)ama”的意思是“手”。而“hllanosis”(意思是“握緊拳頭”)。其含義為:“不要用手抓著一把劍柄?!币?yàn)槿绻@樣做了的話劍就會(huì)掉下來。