首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以使用带有静态公钥和参数的ECDH吗?

可以使用带有静态公钥和参数的ECDH吗?
EN

Security用户
提问于 2018-08-01 19:30:46
回答 2查看 637关注 0票数 2

我有隐私要求的协议。因此,我想使用混合密码学。据我所知,ECDH是快速和安全的。我的系统由三个主要组件组成,一个是可信的服务器,一个是客户端,另一个是服务器。

代码语言:javascript
复制
1- The server will generate ECDH parameters and the private key 
and compute the public key.
These parameters and the public key save at the trusted server.
2- When the client joins the network, the trusted server sends the 
parameter and public key to the client. 
3- The client generates his private key, computes public key and then computes 
the secret key by using the public key of the server that was received 
from the trusted server.
4- The client encrypts his message by using the secret key and 
send the encrypted message and his public key to the server.
5- When the server receives the message, the server computes the 
secret key by using the public key of the client and decrypts the 
message by using the secret key.

我的问题是: 1-这个场景正确吗? 2-可以使用带有静态公钥和参数的ECDH吗?

EN

回答 2

Security用户

回答已采纳

发布于 2018-08-01 19:52:16

这种情况似乎不正确;如何阻止攻击者中间的第二步?

我认为您的协议中没有任何方式让客户端知道它是在与真正可信的服务器而不是攻击者进行对话。

我还注意到,您的解决方案没有提供阻止客户端加入网络和/或在允许客户端进入之前验证客户身份的方法(即它提供隐私,但不提供身份验证)。这样做需要在客户端加入网络之前使用某种证书/预共享密钥/ auth令牌引导客户端。

基本上,你的客户将与某人沟通安全,但他们绝对不知道是谁。当您允许攻击者自由加入网络时,加密的意义何在?

静态ECDH确实存在,所以您可以使用它,但我个人从未见过它使用过“在现实世界”--它总是使用来自CA的ECDHE+RSA证书,或者类似的东西。

是的,基本上不要发明你自己的密码协议。别这样就行。

有许多具有开源实现的安全网络协议,这些协议都是由密码专家精心设计的。信号/ libsignal出现在脑海中,尽管还有许多其他的。这是个解决了的问题,别再发明轮子了。

票数 1
EN

Security用户

发布于 2018-08-15 15:26:56

要使用静态密钥对(任何类型的),您的协议需要某种方式来信任公钥。一旦公钥被信任,那么是的,静态Diffie-Hellman可能被用来生成会话特定的秘密。当然,除了静态键之外,还需要一个nonce,否则总是会生成相同的秘密值。

NIST SP 800-56A版本3:采用离散对数密码体制的配对密钥建立方案的推荐中可以找到各种各样的密钥协商方案。静态方案在第6.3节中指定,称为C(0e,2s),因为它不使用临时键(e)和两个静态键(s)。

请注意,这种静态的静态C(0e,2s)方案不提供前向安全性。如果双方方案中的任何一个的私钥被泄露,那么所有的消息都会被泄露。一种解决方案是在静态密钥对之外使用两个临时密钥对;该方案在NIST文档中称为C(2e,2s)方案。

但是,通常使用c(2e,s)方案来创建会话秘密。然后,通过对所使用的(随机)参数生成签名来验证会话。在这种情况下,静态密钥对(S)用于签名生成(RSA,ECDSA),而不是密钥协议本身。很容易找到这样的例子: TLS中使用的所有DHE和ECDHE方案都实现了这种密钥协议/认证。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/190805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档