Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请教下mmtls中关于公钥交换方式的问题 #14

Open
teaey opened this issue Dec 30, 2016 · 2 comments
Open

请教下mmtls中关于公钥交换方式的问题 #14

teaey opened this issue Dec 30, 2016 · 2 comments

Comments

@teaey
Copy link

teaey commented Dec 30, 2016

注意到,由于签名算法中的公钥ECDSA_verify_key是一直公开的,攻击者没有办法阻止别人获取公钥,除非完全掐断发送方的通信。这样一来,中间人攻击就不存在了,因为Eve无法伪造签名。

这里没看懂,既然ECDSA的公钥是公开的,那么理论上中间人也可以拦截ECDSA的签名和公钥内容,然后再伪造

这里没看明白,请教下诸位!

@zhangyateng
Copy link

公钥即是公开的,也是可以验证的,伪造出一个可以通过验证的证书难度很大。所以,拦截不是问题,伪造证书才是难点,同时也是安全的保障点。

@elviswoo
Copy link

elviswoo commented Jan 4, 2017

@teaey ECDSA的公钥是公开的,所以客户端有很多渠道可以获得这个公钥,中间人没法把所有的渠道都拦截到,更何况在mmtls中svr的ECDSA的公钥是内置在客户端中的,除非中间人修改了客户端安装包(这属于安装包完整性保护的范畴,不属于协议安全范畴),这个问题是属于证书(公钥)伪造的问题。 另外,普通的做法是:在PKI体系下,用于验证签名的公钥被称为证书,但是公钥不完全等价于证书,PKI体系下的证书解决了伪造svr证书的问题,它使用证书链的方式一级一级验证,只要保证根CA可信,所有由根CA及其签署的CA签发下来的证书都是可信的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants