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