網路中的每一個用戶都會使用一個理論上唯一的數值userhash(用戶哈希值)進行識別。userhash被存儲在preferences.dat文件里並且將作為其他用戶給予信用獎勵的依據。
eMule(電騾)可以使用非對稱加密以避免利用和操縱其它用戶的userhash的情況發生。這個方法使用了一個私鑰和一個公鑰來保護用戶的userhash,並且保證能被其他客戶正確識別。
安全用戶認證需要在選項->安全中開啟。強烈建議你使用此功能。
安全用戶認證如何工作:
客戶A希望確保他的信用是安全的並且僅有他一個人使用。他建立了一個私有的384位RSA密鑰並且將其存儲到cryptkey.dat文件。
這個私有密鑰將在加密開啟的時候被創建。丟失這個密鑰則意味著客戶A會丟失他的全部信用,因為此後他將無法證明他是這些信用的合法擁有者。
當兩個都支持加密的客戶在第一次交換數據的時候,他們將相互傳遞一個帶有隨機數的公鑰給對方。每一個客戶都將另一個人發送的公鑰存儲到自己的clients.met文件里。僅當這些公鑰被存儲以後,隨機數才會在接下來的連接中生成。
接下來客戶A想要自己在客戶B那裡被認證,他會創建一個數字簽名並發送給B。這個簽名來自他的私鑰,客戶B的公鑰和一個隨機數。它在客戶A更改自己的IP或者客戶B關閉他的eMule之前都將一直有效。
在收到客戶A的數字簽名以後,客戶B會檢查是否由來自客戶B的公鑰創建並且隨機數正確。如果它同時也符合客戶A的公鑰,則客戶A認證正確。
注意: | |
> | 如果文件cryptkey.dat丟失或被刪除,則preferences.dat文件也將被刪除,否則將無法從已知客戶那裡獲得新的信用累計。 |
> | 當切換到啟用安全用戶認證功能以後,所有舊的「不安全」的用戶的信用將會全部丟失。由於安全原因,沒有辦法將這些信用轉移到安全系統中。 |
《安全用戶認證》,由uralhan翻譯自eMule官方網站英文版幫助與支持《Secure User Identification》並首發於eMuleFans.com。原文版權歸屬於eMule官方和原文作者。翻譯內容版權歸屬於翻譯者並遵守CC 3.0 BY-NC-SA協議。適用於eMule 0.29b以上版本。已編入eMule官網簡體中文版幫助與支持《安全用戶認證》。英文原文最後由Monk更新於2003-06-20。
2條評論隱藏
沒看明白。請教:A發送數字簽名時發送的是什麼?是用自己私鑰「解密」的隨機數,在按B公鑰加密了的東西么?
領會精神了。
意思就是保管好cryptkey.dat和preferences.dat,不然信用清零。