n方公共密钥密码术

| 虽然在.net框架中很好地安排了2方公共密钥密码术,但n方却使我非常担忧。例如,确保两方视频会议的安全。沟通很容易: 1)各方生成特定于会话的RSA密钥对,并获取由受信任的权威机构(即受信任的服务器)签名的公共密钥。 2)双方使用“ 0”交换密钥,因此连接现在是真实可靠的(认为他们使用Vista / W7)。 现在,将第3个参与者添加到此通信中将不起作用,因为密钥交换算法被设计为仅从2个公共密钥(尤其是使用.NET和BouncyCastle)派生共享秘密。所以问题是,您将如何实现仍然可靠(即抵抗中间攻击的人)和安全(即防止窃听)的n方公共密钥密码架构。 编辑:当前的想法如下,我将继续实施最流行的想法作为NBusy.Communicator库的一部分: 使用两方通信方案,其中一方充当联合服务器。 发起两方通信,并让一个方对第三方进行身份验证并共享秘密/对称密钥。 使用多方密钥协商方案。 Edit2:我使用的是“ n-Party Diffie Hellman”算法,与此处描述的算法类似,但有一些修改:http://www.codeproject.com/KB/cs/diffy_helman.aspx     
已邀请:
(大声思考) 您不需要(完整的)安全关系网格。 PK +证书的重点是分发对称密钥。 任何新参与者仅需要与1个现有节点建立身份,然后即可获取该symm密钥的副本。     
我相信它尚未实施的原因是因为不需要它。大多数安全方案都是在有两个参与方的地方进行点对点工作。如果有两个以上的参与方,通常将其实施为2个两方通讯,其中一个参与方作为联合会工作。     
在我看来,“多方密钥协定方案”也是可能的,但是目前似乎没有使用.net / c#的很多实际实现。 Giuseppe Atenies(IEEE)提出的非常整洁的学术思想(但很难实施):认证多方密钥协议。 我还在CodeProject上看到了一篇非常整洁的文章,内容涉及3层Diffie Hellman,可以将其扩展为n-party,例如:http://www.codeproject.com/KB/cs/diffy_helman。 aspx     

要回复问题请先登录注册