中间攻击预防的数字签名人
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中间攻击预防的数字签名人相关的知识,希望对你有一定的参考价值。
我有客户端生成的数字签名(javascript)。然后在Java后端验证签名。验证我传递给后端的签名 - (签名值,公钥和验证消息)。到目前为止一切顺利,但问题出现了 - 如果有人在中间攻击中表现出什么?他可以轻松生成签名并发送他的 - (签名值,公钥和消息)。所以从某种意义上说,这使我当前的实现不够安全。
我怎么能避免这个?据我研究,我必须验证发送的公钥是否来自相应的客户端,这是通过CA(证书颁发机构)完成的。但是,在我的情况下,我这样做是大学的最后一个项目,我不知道如何处理这个问题。
我应该在客户端生成公钥证书并将其与公钥一起发送吗?是否可以在客户端生成自签名证书,然后在后端验证它?
如果有人在中间攻击中表现出一个人怎么办?
MITM可以替换签名和公钥
我怎么能避免这个?
主要使用SSL / TLS和/或......
据我研究,我必须验证发送的公钥是否来自相应的客户端,这是通过CA(证书颁发机构)完成的
如果使用证书颁发机构,则每个证书都使用根CA证书(或子CA)的私钥进行签名,因此MITM无法创建有效证书,因为他不拥有根私钥。
在服务器端,您可以使用与CA颁发的证书对应的私钥来验证签名是否已执行。请注意,在这种情况下,您使用的是证书,而不仅仅是公钥(证书包含公钥)。
我这样做是大学的最后一个项目,我不知道如何解决这个问题。
您已解释了您的解决方案,但没有解释背景。我的意思是你为什么决定需要数字签名?没有这些信息我不能告诉你。
我应该在客户端生成公钥证书并将其与公钥一起发送吗?
阅读我以前的评论
是否可以在客户端生成自签名证书,然后在后端验证它?
当然是。您可以在客户端生成密钥对,并在注册过程中将公钥与用户的帐户相关联(使用安全通道)
这样你甚至不需要密码。具有私钥的数字签名是认证证明。使用CA是可选的。 CA可以颁发包含公钥的证书,但不需要此方案
以上是关于中间攻击预防的数字签名人的主要内容,如果未能解决你的问题,请参考以下文章