当前位置:首页 > SSH里非对称密钥(公钥,私钥)及认证中心原理
要了解ssh则需要理解现代密码学当中的非对称密钥及认证中心处理机制等基础概念。这里阐述一下我的理解。 首先说明一下处理机制:
1.非对称密钥就是一对密钥-公钥和私钥。
2.私钥由系统中每个人自己持有,一般保存在自己的电脑里或u盘里。
3.公钥则在网络上传递,就是可以传递给通信中的对方,也就意味这可以被黑客截获。 4.用某个人的私钥加密的数据只有用那个人的公钥解密,同样用公钥加密的数据也只有用私钥解密。
这样我们在信息处理中的应用一般的流程可以是这样: 假设我们有两个消息方a和b
1.a要b发消息,首先得到或者由b传递给a一个b的公钥。 2.然后a用b的公钥加密消息然后传递给b。 3.b用自己的私钥解密消息得到明文。
然而这个流程还是有一定的问题,首先对消息加密本身没有问题,但是会被另一种攻击,就是有一个人在中间截获了消息后,然后自己用b的公钥加密一个消息传给b。 所以这样就需要对身份认证的一个机制了,CA认证服务器就是通过给系统内的用户发证书的形式来做身份认证。还要一种认证方式是通过消息摘要。一般流程如下:
1.a要给b发消息,先对消息用不可逆加密算法(如md5算法)对消息生成一个消息摘要,对消息摘要用自己的私钥加密。
2.然后用b的公钥对消息本身加密。然后连同消息摘要一起发给b。
3.b可以用a的公钥解密消息摘要,可以确定这个消息摘要是a的,然后在通过自己的私钥去解密消息,然后通过md5算法生成消息摘要,如果和前面的消息摘要一样,则可证明这个消息是a发的。
当然,在真正的现实应用中流程可以会更复杂(要不怎么那么长时间呢,呵呵)。但是基本原理这样。java对消息摘要和md5及私钥公钥都提供支持的。
前段时间学习了数字认证方面的一些知识,对其有了一个初步的了解,作为备忘,现作一个小结。
? 认证原理
有三个人,小张、小王、老刘,小张和小王都和老刘很熟,但小张与小王互不相识。如果小张写一封信给小王,小王收到信后,就不能确定其内容的真假,但如果小张让老刘在信上签上老刘的名字,小王收到信后就可确定信件内容的真识性了。在这里老刘就充当了CA机构的角色。
? CA概念
1. CA(Certification Authority)是认证机构的国际通称,是指对数字证书申请者发
放、管理、取消数字证书的机构
2. CA的作用是检查证书持有者身份的合法性,并签发证书(证书上签字),以防止证
书被伪造或篡改
? 数字证书
1. 数字证书就是标志网络用户身份信息的一系列数据,用来在网络通讯中识别通讯各
方的身份,即要在Internet 上解决“我是谁”的问题
2. 数字证书是由权威公正的第三方机构即CA 中心签发的,一串很长的包含有客户基
本信息及CA 签字的数学编码 3. 数字证书采用公钥密码体制
? 数字证书作用
1. 信息的保密性 2. 交易者身份的确定性 3. 不可否认性
? 关键点
1. 公钥用于加密,私钥用于解密与签名 2. 个人证书有CA机构的签名
共分享92篇相关文档