集中式:
①A→KDC:IDA∥IDB∥N1
A向KDC发出会话密钥请求。请求的消息由两个数据项组成:一是A和B的身份IDA和IDB,二是本次业务的唯一标识符N1,每次请求所用的N1都应不同,常用一个时间戳、一个计数器或一个随机数作为这个标识符。
② KDC→A:EKa[Ks∥IDA∥IDB∥N1∥EKb[Ks∥IDA]]。
KDC对A的请求发出应答。应答是由加密Ka加密的信息,因此只有A才能成功地对这一信息解密,并A相信信息的确是由KDC发出的。
③ A→B:EKb[ Ks∥IDA]。
A收到KDC响应的信息后,同时将会话密钥Ks存储起来,同时将经过KDC与B的共享密钥加密过的信息传送给B。B收到后,得到会话密钥Ks,并从IDA可知对方是A,而且还丛EKb知道Ks确实来自KDC。
分布式密钥分配方案的过程:
第一步,A向B发出一个请求,请求的信息包括A的身份标识IDA,和一个随机数N1(N1也可以是时间戳,防止重放攻击)。请求的目的是希望与B进行通信,并请B产生一个会话密钥。
A—>B:IDA//N1
第二步,B对A进行应答,应答的信息包括B产生的会话密钥KS,A、B的身份标识IDA和IDB,还有经过一定规则变化的N1和B产生的随机数N2。
B→A:EMKm[Ks∥IDA∥IDB∥f(N1)∥N2]
第三步,A使用KS加密过的对N2的变换结果再发送给B,让B知道A已经正确收到了KS。
A→B:EKs[f(N2)]
以上两者未有双方互相认证过程。