Protocol for Protecting Against Impersonation

例如,client 生成随机数x,monitor返回 a = f(x, w),client 发送challenge c,monitor返回 z = g(x, w, a, c),client最终校验。

hash

challenge: client与server共享某个S。

client -> server 一个challenge R, server返回hash(S|R),client校验该hash;

server -> client一个challenge P,client返回hash(S|P),server校验该hash。

完整性:client与server共享某个S。

client -> server : hash(S|M),其中M为消息内容。此时该hash相归于消息验证码

password

加密一个hashed password的数据库

存储一个 hash(hash .. hash(password | salt | server ))

Lamport’s Hash­Problems 问题,并非双向认证,client无法鉴别server,因此client存在被中间人欺骗的风险

Strong Password Protocols

先假设client与server共享一个weak key W = hash(password)

client -> server : W(g^a mod p)

server -> client : W(g^b mod p, C) ,其中C为server到client的challenge

client -> server : K(C, D),其中K = g^(ab) mod p,D为client到server的challenge

server -> client : K(D)

SPEKE

Strong Password Protocols ­

let g = W^2 mod p

client -> server : K_c = g^a mod p

server -> client : K_s = g^b mod p

双方共享的 K = g^(ab) mod p

Two Factor Authentication

例如,password + pin

KDC

Key Distribution Centers

例如A想与B通信,A/B均与KDC相连。

KDC将密钥R加密传给A。

KDC使用B的key加密R获得T,将T传给A。

A使用R加密消息M,获得C,将(C,T)传给B。

B使用自身的key解密T获得R,使用R解密C获得M。

问题在于KDC全控制。

CA

使用相同CA颁发的证书相互认证通信。

certificate必须与name关联。