加密认证知识总结
1.  什么是加密
  加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。
  
2.  什么是认证
   认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。

3.  什么是密钥
密钥分为对称密钥和非对称密钥
对称密钥加密:又称私钥加密或会话密钥加密算法,即信息的发送方和接收方使用同一个密钥去加密和解密数据。因此对称加密算法要保证安全性的话,密钥要做好保密,只能让使用的人知道,不能对外公开。
它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
非对称密钥加密:又称公钥密钥加密。它需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。
信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。非对称密钥密码的主要应用就是公钥加密和公钥认证


4.  什么是公钥和私钥
公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。
使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

5.  基于公开密钥的加密过程(结合1、3、4)
比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:
Bob将他的公开密钥传送给Alice。
Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
Bob用他的私人密钥解密Alice的消息。
Alice使用Bob的公钥进行加密,Bob用自己的私钥进行解密。

6.  基于公开密钥的认证过程(结合1、2、4)
身份认证和加密就不同了,主要用户鉴别用户的真伪。这里我们只要能够鉴别一个用户的私钥是正确的,就可以鉴别这个用户的真伪。
还是Alice和Bob这两个用户,Alice想让Bob知道自己是真实的Alice,而不是假冒的,因此Alice只要使用私钥密码,对文件签名,发送给Bob,Bob使用Alice的公钥对文件进行解密,如果可以解密成功,则证明Alice的私钥是正确的,因而就完成了对Alice的身份鉴别。整个身份认证的过程如下:
Alice用她的私人密钥对文件加密,从而对文件签名。
Alice将签名的文件传送给Bob。
Bob用Alice的公钥解密文件,从而验证签名。
上面的过程可以用下图表示,Alice使用自己的私钥加密,Bob用Alice的公钥进行解密。

7.  什么是数字签名
数字签名是非对称密钥加密技术与数字摘要技术的应用。使用它可以验证文件的发送者以及帮助验证文件自被数字签名后是否发生更改。
具体使用:
(1).对要发送的内容(AAA)使用hash函数生内容的摘要(digest)
(2).使用自己的私钥对摘要加密,就获得了自己的数字签名.
(3).将数字签名放到要发送的内容(AAA)里面,一同发送.
(4).对方收到内容后,先用发送者的公钥对内容里的数字签名解密,得到内容的摘要,是否解密成功就能证明发送人的身份.
(5).然后对内容使用hash函数生成内容的摘要.
(6).如果两个摘要一致,就证明内容没被修改过.


#### 如何确定客户端收到的公钥是真正服务器的?
8.  什么是数字证书
数字证书以密码学为基础,采用数字签名、数字信封、时间戳服务等技术,在Internet上建立起有效的信任机制。它主要包含证书所有者的信息、证书所有者的公开密钥和证书颁发机构的签名等内容。
    具体使用:
(1)把发送者的个人信息,发送者的公钥,数字证书的相关信息(比如:有效日期)使用CA(证书
  中心)的私钥加密,再加上CA中心对该数字证书里面的信息的数字签名,得到的就是发送者的数字证书.
(2)将数字签名和数字证书都放到要发送的内容里面,一同发送.
(3)对方接收到内容后,先用CA的公钥解开数字证书,就可以拿到发送者真实的公钥了,然后就能证明发送者的身份和接收内容是否被修改过了。

9.  什么是CA(certificate authority)
认证中心,它是专门提供网络身份认证服务,负责签发和管理数字证书,具有权威性和公正性的第三方信任机构,它的作用就像我们现实生活中颁发证件的公司,如护照办理机构。
目前国内的CA认证中心主要分为区域性CA认证中心和行业性CA认证中心。

10. 什么是根证书
是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。从技术上讲,数字证书包含四部分,用户的信息,用户的公钥,数字证书的信息,还有CA中心对该数字证书里面的信息的数字签名,
要验证一份数字证书的真伪(即验证CA中心对该数字证书信息的数字签名是否有效),需要用CA中心的公钥验证,而CA中心的公钥存在于对这份数字证书进行签名的数字证书1内,故需要下载数字证书1,使用数字证书1对数字证书
验证又需先验证数字证书1本身的真伪,故又要用签发数字证书1的数字证书2来验证,这样一来就构成一条数字证书验证链,这条数字证书验证链在哪里终结呢?答案就是根证书,根证书是一份特殊的数字证书,它的签发者是它本身,
下载根证书就表明您对该根证书以下所签发的数字证书都表示信任,数字证书的验证追溯至根证书即为结束。所以说用户在使用数字证书之前必须先下载根证书。

11. 什么是SSL
    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
通常HTTP(应用层)直接和TCP(传输层)通信。当使用SSL时,则演变成和SSL通信,再由SSL和TCP通信了。

---- 详情可以参考:http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html

12. 什么是JKS(Java KeyStore)
jks是数字证书库,可以在配置ssl的时候使用,里面存有私钥。


阅读更多
版权声明:记录自己的学习过程,一份积累,一份收获,同时或许还能够帮助别人,何乐而不为。 https://blog.csdn.net/lxxc11/article/details/51565315
个人分类: java
想对作者说点什么? 我来说一句

HTTPS接口加密和身份认证

Https

gaoyz1 gaoyz1

2017-08-23 20:22:03

阅读数:264

没有更多推荐了,返回首页

不良信息举报

加密认证知识总结

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭