登录 |  注册 |  繁體中文


使用证书进行数字签名的作用

分类: 其它 颜色:橙色 默认  字号: 阅读(293) | 评论(0)
您的服务器有一个密钥对,包括私钥和公钥.服务器当然永远不会发出私钥,但每个人都可以获得公钥.公钥嵌入在证书容器格式中.此容器包含与包装密钥相关的元信息,例如服务器的IP地址或域名,此IP地址/域名的所有者,所有者的电子邮件地址,密钥创建时间,时长是有效的,可用于其目的,等等.
 
整件事由一个值得信赖的机构签署.受信任的机构,即证书颁发机构(CA)也具有私钥/公钥对.您向他们提供您的证书,他们验证容器中的信息是否正确,并通过他们的私钥对其进行签名,只有他们有权访问.默认情况下,CA的公钥安装在用户系统上,大多数众所周知的CA已包含在您喜欢的操作系统或浏览器的默认安装中.
 
当用户连接到您的服务器时,您的服务器使用私钥对某些数据进行签名,将签名数据与其证书一起打包并将所有内容发送到客户端.客户现在可以做什么?首先,它可以使用刚刚发送的证书中的公钥来验证签名数据.由于只有私钥的所有者能够以公钥正确验证签名的方式正确签署数据,因此它知道签署了这条数据的人,这个人也拥有收到的私钥.公钥.到目前为止一切顺利.
 
 
 
但是什么阻止黑客拦截数据包,用他使用不同证书签署的数据替换签名数据,并用自己的证书替换证书?没有.这就是为什么在验证签名数据之后(或在验证之前),客户端验证收到的证书是否具有有效的CA签名.使用已安装的公共CA密钥,它验证所接收的公钥是否已由已知CA签名.否则它被拒绝,因为黑客可能已经取代了它.
 
最后但并非最不重要的是,它会检查证书本身的信息.IP地址或域名是否真正与客户端正在与之交谈或相信与之交谈的服务器的IP地址或域名相匹配?如果没有,有些东西可疑!人们可能会问:什么阻止黑客只是创建自己的密钥对,只是将您的域名或IP地址放入他的证书中,然后由CA签名?容易:如果他这样做,没有CA会签署他的证书.要获得CA签名,您必须证明您确实是此IP地址或域名的所有者.黑客不是所有者,因此他不能证明这一点,因此他不会得到签名.所以这不会奏效.
 
如果黑客注册他自己的域名,为此创建证书,并由CA签名,该怎么办?这项工作,他将获得CA签名,这是他的域名,没问题.但是,在攻击你的连接时他不能使用它.如果他使用此证书,浏览器将立即看到已签名的公钥用于域example.net,但它当前正在与example.com通信,而不是同一个域,因此有些东西可能会再次出现问题.
 
浏览器在线检查的唯一内容(如果可以)是CA证书是否仍然有效.每个CA服务都运行一个证书撤销服务器,浏览器可以询问某个证书是否仍然有效或已被撤销; 这是通过OCSP协议完成的
 
CA证书与浏览器或操作系统一起提供.Firefox,Chrome,Opera都有自己的CA证书副本,Internet Explorer和Safari使用安装在Windows或OS X中的CA证书.没有什么能阻止浏览器同时使用自己的副本和操作系统范围的证书(我提到的一些甚至可能那).您只能通过更新浏览器,更新操作系统或手动安装它们来获得新的CA证书(下载然后将它们添加到浏览器或您的操作系统,两者都可以). 
 



姓 名: *
邮 箱:
内 容: *
验证码: 点击刷新 *   

回到顶部