3A:
认证:身份确认
授权:权限分配
审计:监控做了什么
安全通信
加密算法和协议对称加密:非对称加密单向加密:哈希(hash)加密认证协议对称加密:加密和解密使用的是同一个密钥是通过将原始数据分割成若干块来逐个进行加密特点:效率高、速度快缺点:加密解密使用的密钥相同,需要提前把密钥发给别人且不能确定数据来自于发送方。常见的对称加密算法:DES:56位加密,把数据切成56Bit一块来进行加密3DES:DES的方式加密三次AES:高级加密标准,密钥长度是可变的。(,,bits)Blowfish,TwofishIDEA,RC6,CAST5非对称加密算法:密钥成对出现,加密和解密用的密钥不相同通信双方都需要各自的密钥和私钥特点:公钥加密、私钥解密,可以确认数据的来源公钥:publickey,公开给所有人,私钥:secretkey,privatekey私有的,必须保证其私密性,用于自已加密签名可以使用私钥来加密、也可以使用公钥来加密。公钥和私钥是成对的,需要使用同一个人的钥匙才能进行解密数字签名:采用私钥来进行加密、使用公钥来进行解密。(其他人的到的数据只能使用他的公钥来解密,这样就能确定数据的来源性)非对称加密的两种使用场景:数据安全:加密的数据只有自己能解开---公钥加密、私钥解密数据来源确认:确定数据的来源性---私钥加密、公钥解密(实现数字签名)缺陷:复杂程度高常见的非对称加密常见算法:RSA:三个发明人首字母简称。加密和数字签名都可以实现DSA(DigitalSignatureAlgorithm):数字签名算法,只能做来源确认,不能做数据加密。ECC:椭圆曲线密码编码学,比RSA加密算法使用更小的密钥,提供相当的或更高等级的安全对称加密算法适合加密大的数据非对称加密算法合适加密小的数据哈希(hash)算法哈希算法又称为散列算法,是一种单向的加密算法,是不可逆的。哈希算法算出来的结果叫做摘要(digest)。哈希算法固定时,摘要的长度是固定的大小,内容不同。摘要的内容由数据决定。通过摘要无法推出原有数据的内容使用场景:哈希算法:用来确认数据的完整性 类似于指纹,人不同,指纹就不同。得到指纹但是不知道他是谁。 可以用来检查数据是否被篡改,因为数据不变,摘要也不会发生改变。常用的哈希算法md5:摘要是bits字符已经被破解了sha1:摘要是bits字符已经被破解了sha、sha、sha、sha两个账号的密码一样,但是得到的哈希摘要不一样,这是因为为了保证信息的安全,在加密密码之前加盐(随机字符串)处理,然后再进行加密。这样就保证了同样的密码,生成的哈希摘要不一样的原因。1算法的组合使用数据加密的实现采用对称和非对称密钥的组合使用。实现数据加密,无法验证数据完整性和来源张三先使用对称加密来加密数据文件,然后使用李四的公钥来加密这个对称加密的密钥文件。最后把这两个文件发给李四。李四收到这两个文件后,先使用自己的私钥解密加密的密钥文件得到对称加密的密钥,最后使用这个密钥来解密数据。数字签名的实现不加密数据,可以保证数据来源的可靠性、数据的完整性和一致性
张三先使用哈希算法得到一个摘要,摘要放在数据的后面,然后使用私钥来加密这个摘要信息(数据没加密)。然后把数据和数字签名发给李四。李四通过张三的公钥来解密得到加密的摘要信息,然后再对数据使用相同的哈希算法来进行加密。最后对比两个摘要是不是一样。一样就确定了数据是张三发来的。加密和签名的实现即实现数据加密,又可以保证数据来源的可靠性、数据的完整性和一致性方法一:使用这种方法实现,如果数据很大的话。效率就会很低
张三加密过程:先把数据使用哈希算法得到一个摘要,然后使用私钥进行加密得到签名。把数据放在这个签名的后面。然后再使用接受者的公钥将他们进行加密。李四解密过程:首先使用自己的私钥进行解开得到里面的签名和数据。然后使用同样的哈希算法对数据进行加密,并且使用张三的公钥将张三发送过来的摘要解密最后对比两个摘要是都相同。方法二:三种加密算法的综合使用
张三先使用哈希算法将数据进行加密,将得到的摘要信息附加到数据后面,在使用自己的私钥加密摘要信息的到数字签名。然后使用对称加密的方式将他们全部加密,再使用李四的公钥来加密这个对称密钥文件。李四得到数据以后,首先通过自己私钥解密得到对称密钥,然后再进行对称解密得到数据和张三的数字签名。再通过张三的公钥来解密这个签名得到张三生成的摘要信息。再通过同样的哈希算法生成一个摘要。对比两个摘要是否一样。密钥交换方法一:对称密钥发给对方:使用对方的公钥加密,对方使用私钥来进行解密。方法二:DH算法:生成对称(会话)密钥CA和证书PKI:PublicKeyInfrastructure公共密钥加密体系签证机构:CA(CertificateAuthority),注册机构:RA证书吊销列表:CRL,存放被吊销了的证书CA的证书颁发过程:A、B直接把公钥发送给对方,因为存在中间人攻击,所以谁也不敢信。后面就需要一个权威机构来进行担保。A、B的公钥通过认证机构CA进行签名(私钥加密),签名完以后加入一些其他信息,比如有限期、说明信息等。这样就行成了一个证书。例如A和B需要通信的时候,A就把自己的证书发送给通信的对方,B得到这个证书以后,通过CA公钥的解密得到了A的公钥。根CA会给子CA颁发证书,子CA再给用户颁发证书。例如:B想要解开A发送给他的证书,就需要拿到CA1的公钥,因为CA1的证书是根CA给的,所以根CA就有CA1的公钥。B利用根CA个CA1颁发的证书,间接就得到了CA1的公钥,就可以解开A的证书。#任何一个主机(windows)都有最根上面的根CA的证书。(系统安装以后就自带的)加密相关的一些安全协议安全协议SSL\TLSSSL:安全套接层,后来改名为TLS协议。TLS:TransportLayerSecurity(传输层安全性协议),里面集成和很多功能。TLS是一个通用的协议,可以实现各种不加密协议的加密。TLS协议的作用:用于在两个通信应用程序之间提供保密性和数据完整性HTTPS协议