信息安全和加密学笔记分享
信息安全核心目标:CIA模型保护
•
核心目标 |
备注 |
机密性 |
指信息在传输,存储,使用的过程中,不会被泄露给非授权用户或实体。 |
完整性 |
指信息在传输,存储,使用的过程中,不会被非授权用户篡改或防止授权用户对信息进行不恰当的篡改。 |
可用性 |
指确保授权用户或实体对信息资源的正常使用不会被异常拒绝,允许其可靠而及时地访问信息资源。 DDoS就是破坏可用性,让你的服务瘫痪,无法正常提供服务。 |
PKi公钥基础架构
• PKi就是公钥基础架构,结合了公钥技术,数字证书确保信息安全体系,这里又要牵扯到公钥加密技术,数字证书,RA,CA等共同组成。
• PKi体系架构能实现机密性,完整性,身份验证,不可否认性。
机密性技术:
• 密钥是在加密或解密算法时需要输入(使用)的参数。
• 加密算法分为两类:对称加密算法和非对称加密算法。
• 加密算法有两种很重要的理念,移位和置换
加密技术分类:根据密钥的使用方法
• 对称加密:加密和解密使用相同的密钥。
• 特点:速度快,密文紧凑(加密后大小区别不大),密钥管理复杂(大量用户环境下,一人一把密钥,管理复杂),用于大量数据的传送。
• 输入明文,通过加密算法和密钥进行加密,对方收到后,使用密钥进行解密。
• 对称加密如何进行密钥传输?使用非对称加密算法对"密钥"进行加密传输,这个叫DH算法。
• 非对称加密:加密,解密使用不同的密钥(公钥(分发),私钥(保留))
• 公加私解,私加工解。
• 特点:速度慢,密文不紧凑(加密后文件体积变大),密钥管理简单,一般不用于数据加密,通常只使用于数字签名。
• 首先生成一对密钥对(公钥和私钥),公钥向外分发,拿到公钥的人可以用来加密数据,只有有私钥的人才能解开。
• 如果能用公钥对文件进行解密,那么就说明文件来自私钥。(用于验证身份)
公钥加密法,又称非对称加密法。其工作原理如下。
1. 客户端A要向服务器B发送信息,B要产生一对用于加密和解密的公钥和私钥。2.B的私钥自己保密,B的公钥告诉A。
3. A要给B发送信息时,用B的公钥加密信息,因为A知道B的公钥
4. B收到这个信息后,自己的私钥解密。其他所有收到这个报文的人都无法解密,因只有B才有自己的私钥。
5.B要给A发送消息时,亦同理加密。
• 不要使用任何非公开的加密算法
• 1、不公开,很难保证开发者没有解密的办法。
• 2、正是因为公开,征集了多数解密破译高手的推敲,才能保证算法的安全性,可靠性。
公钥加密技术:
• 非对称加密也叫公钥加密。
• 公钥(Public Key)和私钥(Private Key)
• 公钥和私钥通常是成对生成,互不相同,可以互相解密和加密。
• 根据一个密钥无法推算出另外一个密钥。
• 公钥公开,私钥保密(持有人才知道)。
• 私钥应该由密钥持有人妥善保管。
• 根据实现不同的功能,可以分为数据加密和数字签名。
数据加密-数字信封:
• 如果要使用公钥来进行数据加密,那么可以使用数字信封这种解决方法。
• 发送方采用接收方的公钥加密对称密钥,采用数字信封时,接收方需要使用自己的私钥才能打开数字信封得到对称密钥。
• a把文件通过对称加密发送刚给b,然后再通过b的公钥对文件的对称密钥进行非对称加密,在发送给b,b收到这个使用非对称加密的对称密钥,就叫数字信封,b用私钥解开数字信封,拿到文件的对称密钥,然后再通过对称密钥解开a发送过来的文件。
• 但是如何保证或确认这个文件是来自a呢?文件是否完整。
两种加密算法的结合:
• 在实际应用中,通信双方通常会使用公钥密码学来交换密钥素材,双方最终计算出密钥,而用对称密码学来加密实际的数据,两者配合使用,保证了加密速度和安全性。
•
真实性验证:私钥加密,公钥解密
完整性技术:
• 信息摘要:单项散列函数,哈希(hash)
• 将任意长度的字符通过哈希(单项散列函数)计算出固定长度的字符串(hash),类似我们的指纹,DNA。
• 特点:不可逆(1+1=2, 2=?+?),雪崩效应(一点点更改,结果天翻地覆)。
• 除了类型不一样样外,签名长度也不一样(二进制)。
• 哈希算法严格上并不是一种加密算法,因为他没有密钥,而是一种保证完整性的算法。
• hash如果用于保存数据,是如何计算的?会把当前输入的字符串,通过hash计算,然后和数据库进行对比,如果一样说明是正确的,反之是错误的。
数字签名:不可否认性。
• 数据签名就是对消息摘要(hash)的加密。(发送方的私钥加密)
• 发送使用私钥对hash进行加密过程中得到的密文即为签名信息。
• a将加密文件和数字签名发送给b,b通过a的公钥解密数字签名和加密文件(身份认证)后,得到的hash在和文件的hash进行对比看是否一致(数据完整性)一致则保证了数据的完整性,身份证和不可否认性。
小例题:小明=a,Jack20=b,眼镜男=c。
• a通过hash加密后把文件发给c,同时告知c文件的hash,c收到后进行hash比较,如果不一致则文件被b篡改。
• a通过私钥加密数字签名发送给c,c用a的公钥进行解密,确保身份认证正常,同时拿到文件hash。然后通过对称加密,加密文件,同时使用c的公钥加密对称密钥。文件和数字信封一起发给c,c收到后使用私钥解开数字信封,用里面的对称密钥打开加密文件,然后查看文件和数字签名的hash是否一致,一致则代表(数据完整性),反之,文件是被篡改的(不完整)。
公钥技术的规模应用难题:
• 如何把公钥分发出去。
• 分发后如何确保公钥的真实性。
• 公钥如何管理,假设我更换了公钥,对方如何得知,如何保证对方得到的公钥是最新的。
• 如果公钥得不到认证,如何实现不可否认性。
公钥技术的规模应用难题如何解决公钥的传播问题
如何把自己的公钥告诉别人
得到一个公钥后如何验证其真实性
·公钥如何管理
如何实现不可否认服务
• 载体:证书
• 由权威第三方机构颁发的CA证书。
• 证书可以颁发给,计算机,用户,服务。
• 证书规格X.509v3版本
• 证书包含:使用者公钥,标识信息,有效期,颁发者的标识信息和数字签名。
• 数字证书类似身份证。
• CA的核心功能是颁发和管理数字证书。
• CA的作用:处理证书的申请,发放,更新,查询,撤销,吊销,归档。
• 证书是身份证,CA就是公安局。
• 个人/企业申请证书请求发给RA,由RA和用户确认,完毕后,由RA把申请提交发送至CA,CA处理完毕后把证书发给RA,再由RA传给个人/企业。
• RA等同于CA的下属机构,用于对个人/企业申请证书信息的汇总/分发。
• CA是证书和PKi体系的核心。
CA接受用户的证书请求,签发用户证书,是PKI的核心
接受、验证用户的申请,将验证通过的申请提交给CA,由CA签发证书
• 证书常见应用
SSL ( Secure Sockets Layer,安全套接层)
认证用户和服务器,确保数据发送到正确的客户机和服务器加密数据以防止数据中途被窃取
·维护数据的完整性,确保数据在传输过程中不被改变HTTPS ( Hypertext Transfer Protocol Secure )·使用SSL来实现安全的通信
lPSec ( lnternet Protocol Security )
·目前主流的的VPN解决方案
总结:
数字信封: |
通过非对称加密公钥加密对称密钥,发送到目标。 用于保证机密性。 |
数字签名: |
通过非对称加密私钥加密摘要信息和文件,目标使用公钥解密摘要信息和文件,后进行对比。 用于保证身份认证真实性和完整性。 |
数字证书: |
通过第三方权威机构(CA)对公钥进行公证,保证数据传输的不可否认性。 |
总结 |
证书是最终的解决方案。 |
密码学工具箱:
•
- 点赞
- 收藏
- 关注作者
评论(0)