- TACACS+(Terminal Access Controller Access Control System,发音tack-axe,终端访问控制器控制系统协议)(RFC 1492)
- RADIUS(Remote Authentication Dial In User Service,用户远程拨入认证服务),支持远程登录类型:SLIP、PPP、telnet、rlogin。
- 数据加密:
任何机密方法的安全性取决于秘钥的长度、攻破密文的计算量,而不是取决于加密的体制- 对称秘钥密码体制:加密和解密是采用相同的密码体制。
- DES(Data Encryption Standard,数据加密标准)使用的秘钥占有64位(56位密码,8位奇偶校验)。秘钥保密、算法公开。(加密解密使用相同的秘钥)
- 升级版:采用三重DES——用a秘钥加密,用b秘钥解密,再用a秘钥加密。
- 之后Rijndael算法被选中为AES(Advanced Encryption Standard,高级加密算法)。
- 公钥密码体制:公开秘钥密码体制,使用不同的加密秘钥和解密秘钥。
- 产生原因:
- 对称秘钥分配有困难。
- 数字签名——对纯数字的电子信息进行签名,标明该信息是由特定的某个人产生的——这种需求的出现。
- 加密秘钥是公开的(Public Key,公钥),解密秘钥是保密的(Secret Key,私钥)。加密算法E和解密算法D是公开的。
- RSA(Ron Rivest,Adi Shamir,Leonard Adleman三个人的名字缩写)体制是最为著名的公钥体制。
- 公钥体制的作用机理:
- 每个人有自己的钥匙对(PK,SK)。比如A有(PKa,SKa),B有(PKb,SKb)。
- 当A需要给B发送信息时,将明文X 以 B的公钥为基础进行加密E算法(Y=E pkb(X)),B收到之后用自己的私钥通过D运算进行解密(X=D skb(Y))。(注意:公钥可以用来加密,但是用来解密不能恢复原始信息)
- 自己的私钥只有自己知道。
- 由公钥(PK)几乎不可能解出私钥(SK)。
- X先用公钥再用私钥、先用私钥再用公钥 都能恢复到X。
- 产生原因:
- 数字签名:
- 要求:
- 报文鉴别:接受者能够核实发送者对报文的签名。
- 报文完整性:接受者确定所收到的数据和发送者完全一样,没有被篡改过。
- 不可否认:发送者事后不能抵赖对报文的签名。
- A通过自己的私钥对报文进行D运算,进行传输给B。(此时所有的主机都能破解这个密文)B可以通过公钥来进行恢复。
- 如果只想要B接收这个信息,可以通过先使用A的私钥加密,再使用B的公钥加密。
- 要求:
- 对称秘钥密码体制:加密和解密是采用相同的密码体制。
- 鉴别(Authentication):验证通信的双方的确是自己通信的对象,而不是其他冒充者,且报文是完整的,没有被其他人篡改过。
- 报文鉴别:鉴别所受到的报文的确是由发送者发送的,没有被篡改。(包含了端点鉴别和报文完整性鉴别。
报文鉴别对每一个收到的报文都要验证报文的发送者。- 实现过程:
- 密码散列函数(Cryptographic hash function),该函数输入任意,但得到的输出具有相同的较短长度(hash 算法),散列可用来保证明文的完整性。
- A同时向B发送明文X和散列值H,B根据明文算出散列值看是否和H对应。(但是如果被C从中全部改为自己的报文,则B无法区别)
- 解决办法是,将A的散列值进行加密,得到报文鉴别码MAC(Message Authentication Code,MAC)。使用MAC可以保证报文的完整性。
- 实际运用散列算法:
- MD5和SHA-1:
- MD5(Message Digest 5,报文摘要第五版)(假定前提是:密码散列函数的逆向变换是不可能的)(128位)
- SHA-1,与MD5相似但密码长度为160位。(SHA-2,SHA-3)
- MD5和SHA-1:
- 运用散列算法的好处:整个报文不需要加密,只需要加密散列值,不会耗费很多的计算资源。
- 实现过程:
- 实体鉴别:仅仅鉴别发送报文的实体(人、进程)
在系统接入的全部时间里,对和自己通信的对方实体只需验证一次。- 告诉对方我是谁,使用姓名和口令的报文。
- 使用”不重数“(不会重复的一个大随机数)防止重放攻击(C截取A的报文原封不动发送给B)
- 但仍然有可能受到中间人攻击。
- 报文鉴别:鉴别所受到的报文的确是由发送者发送的,没有被篡改。(包含了端点鉴别和报文完整性鉴别。
- 密钥分配:
- 设立密钥分配中心KDC(Key Distribution Center)给进行秘密通信的用户临时分配会话秘钥。
- 每一个在KDC登记了的客户都已在KDC设置了和KDC进行通信的主密钥Ka。
- 对称密钥分配:通过AS和TGS两个服务器进行处理。
- 最终结果是,A发送以Kb加密的包含A和密钥的 票据。
- 公钥分配:
- 公钥也不是随意公布的,为了避免A拿着说自己的公钥说是别人的。
- 有一个值得信赖的机构将公钥与对应的实体进行绑定(binding),这个机构叫认证中心CA(Certification Authority)。
- 每个实体有CA发来的证书。
- 证书里说明了公钥及拥有者的标识信息。此证书被CA进行了数字签名。
最后,埋一个伏笔:
授权(Authorization):所进行的过程是否被允许(如是否被允许对某文件的读写操作)。