什么是证书?什么是签名?¶
感恩:https://www.youdzone.com/signature.html
我们知道非对称加密有一对公钥私钥。公钥加密可以用私钥解密;私钥加密可以用公钥解密。
数字签名一种用来验证文件完整性真实性的过程。它的流程如下:
- 签名的人生成一对密钥,公钥公开,私钥自己拿着。
- 当他想签名一个文件的时候,用自己的私钥加密文件的哈希(为了让文件小一点,RSA这种算法跑的很慢)。
- 当外人检查这个文件和签名的时候,先用公钥解密签名。然后对比解密后的东西和文件的哈希是否相同
从上面这个流程我们可以发现签名可以检查:
- 签名确实是这个公钥的私钥持有者签署的。这是由加密算法的安全性保证的。
- 文件确实是完整的。这是由哈希一样保证的。
但是如果不是线下真人对线,我在网上声称我是马云,我生成了一对密钥,现在把公钥公布。以后难道别人就要相信我真的是马云吗?肯定不是的,因为现在的问题不在于能否验证这个东西是由私钥签署的;现在的问题是我怎么知道这个钥真的是马云的?
所以我们需要引入一个第三方机构。这是没办法的事情。所以我们只能选择相信一些第三方机构,然后由它们去调查取证要申请证书的网站是不是真实的。