安全用户认证

网络中的每一个用户都会使用一个理论上唯一的数值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》。适用于eMule 0.29b以上版本。已编入官网简体中文版《安全用户认证》。英文原文最后由Monk更新于2003-06-20。

2条评论隐藏

  1. #1 孙山
    2011年1月4日 周二 15:32 | 回复

    没看明白。请教:A发送数字签名时发送的是什么?是用自己私钥“解密”的随机数,在按B公钥加密了的东西么?

  2. #2 领会精神
    2012年10月11日 周四 15:21 | 回复

    领会精神了。

    意思就是保管好cryptkey.dat和preferences.dat,不然信用清零。

发表评论

您的Email将不会显示出来。头像请至Gravatar.com注册上传。*号标注项为必填。

如果您想输入中文却暂时没有中文输入法程序,可以使用在线的

*
*
*
标签用法
表情:
:mrgreen: :| :twisted: :arrow: 8O :) :? 8) :evil: :D :idea: :oops: :P :roll: ;) :cry: :o :lol: :x :( :!: :?:
字数:0