安全套接层
一种传输层安全协议,使用公钥密码机制和X.509数字证书技术保护信息传输的机密性和完整性,用于构建客户端和服务端之间的安全通道。
数字证书 - certifacate
数字证书是一个经证书授权中心(CA)数字签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及扩展信息的文件 , 是网络通信中标识通信各方身份信息的一系列数据。它提供了一种在 Internet 上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证,人们可以在交往中用它来识别对方的身份。
根据类别可分为企业证书、服务器证书等。根据用途分可为签名证书和加密证书,签名证书主要用于对用户信息进行签名,以保证信息的不可否认性;加密证书主要用于对用户传送的信息进行加密, 以保证信息的真实性和完整性。
根证书
根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对整个CA认证中心的信任。
签名验签(signature and validation)
签名是签名者使用私钥,通过非对称密码算法对待签名数据的杂凑值做密码运算得到的结果,该结果只能用签名者的公钥进行验证,用于确认待签名数据的完整性、签名者身份的真实性和签名行为的抗抵赖性。
加密解密(encryption and decryption)
用户保证信息传输过程中的保密性。
加密是通过数学方法使用密钥对明文进行伪装转变为密文,使其真实内容完全隐藏的过程。
解密是加密的逆过程,通过数学方法将密文还原为明文。
签名和加密的区别
签名:防伪造,防抵赖
加密:防偷窥
签名:私钥签名,公钥验证,所以就算私钥遗失了,以前签名的数据仍然有效,所以私钥一般只有一份
加密:公钥加密,私钥解密,一旦私钥遗失,则数据就无法还原了,所以CA一般会备份加密证书
加密证书也可用于签名,但签名证书不可用于加密
数字信封(digital envelope)
一种数据结构,包含用对称密钥加密的密文和用公钥加密的该对称密钥。信息发送端使用信息接收端的公钥对对称密钥进行加密。信息接收端使用私钥打开数字信封,获得该对称密钥。
国际算法(RSA)和国密算法
国际算法是单证体制,签名和加密使用同一个证书;国密算法是双证体制,签名和加密使用不同的证书。
对称加密算法、非对称加密算法、Hash算法
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥加密。
除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。
对称加密的优缺点
优点:加解密速度快,密钥较短,且破译困难。
缺点:密钥的管理和分发是繁琐且不安全的,不能提供信息完整性的鉴别,无法验证发送者和接收者的身份。
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。
典型应用是数字签名。
Hash算法是一种单向算法,用户通过Hash算法对目标信息生成一段特定长度的唯一hash值,值得注意的是不能通过这个hash值来反向获得目标信息。因此Hash算法常用于不可还原的密码存储、信息完整性校验等方面。
举例
- 甲创建对称密钥(相应软件生成,一次性),用其加密文件,并用乙的公钥加密对称密钥。
- 甲对文件使用散列算法产生原始摘要(摘要1),用自己的私钥加密该摘要(公/私钥既可自己创建也可由CA提供),这个密文就是数字签名。
- 最后,甲将加密后的文件、加密后的对称密钥、加密后的摘要,以及甲的数字证书(由CA签发)一起发送给乙。
- 乙接收后,用乙的私钥解密得到对称密钥,并用对称密钥解开加密的文件,得到文件明文。
- 通过甲的数字证书获得属于甲的公钥,并用其解开摘要(摘要1) 。
- 对解密后的文件使用和甲同样的散列算法来创建摘要(摘要2) 。
- 比较摘要1和摘要2,若相同,则表示信息未被篡改,且来自于甲,这个过程就是签名验证。