认证密钥协商最基本的安全目标是实现对参与者(可能包括服务器)的隐式认证和密钥协商。所谓隐式认证,是指协议的参与者(可能包括服务器)可以确保除了指定实体外,其它任何实体都不能得到会话密钥,而密钥协商则保证了经过隐式认证的实体可以唯一确定地获得会话密钥。
安全密钥协商协议应达到的目标包括:
(1)密钥确认。协议的参与者可以确认其它合法的实体已经得到本次协商的会话密钥。值得一提的是,任何两轮的基于公钥的认证密钥协商都不可能实现密钥确认的性质。如果协议确需达到这一安全目标, 则需单独增加一轮通信。
(2) 显式认证。如果一个密钥协商协议既能实现隐式认证又能实现密钥确认, 则称其具备显式认证的性质。
(3) 已知密钥安全。一个协议具有已知密钥安全, 是指即使敌手已经知道了除当前会话之外的会话密钥,也不会影响当前会话的安全。这一安全属性已经成为密钥协商的标准需求之一。
(4) 前向安全性。粗略地说,如果协议参与者的长期私钥被敌手获得,而敌手不能由此求出参与者在私钥泄露前协商获得的会话密钥的话,则称该协议具有前向安全性。根据会话性质的不同, 前向安全性可分为完美前向安全性和弱的完美前向安全性。具体来说,如果长期私钥泄露前的会话受到了敌手的破坏(该攻击者获得了参与者的长期私钥,并为其选择了这次会话的临时私钥),而敌手仍无法获得这次会话的会话密钥,则称该协议具有完美前向安全性;若协议只能保证敌手在获得参与者的长期私钥后, 之前的那些未被敌手破坏的会话的会话密钥不能被敌手获得,则称该协议具有弱的完美前向安全性。
有专家对协议的前向安全性进行了详细研究,指出基于公钥的两轮的双方认证密钥协商协议都无法实现完美前向安全性,而只能实现弱的完美前向安全性。
(5) 抗密钥泄露伪装攻击。假设实体A 和B 是协议的两个参与者, 则当A 的长期私钥被敌手获得后, 该敌手显然能够冒充A 与其他协议的参与者(例如B)进行通信。然而,如果该协议抗密钥泄露伪装攻击,则这一密钥泄露不能使得敌手反过来向实体A 冒充为其他参与者(例如B)。
(6) 抗未知密钥共享攻击。在某些情况下,敌手未必能得到会话密钥相关的秘密信息,但是可以欺骗实体关于其对等身份的信息。如果敌手能成功对参与者A 和B 之间进行的密钥协商协议进行未知密钥共享攻击,那么参与者A 认为自己与B 之间建立了共享的会话密钥,而参与者B 则认为自己与敌手之间建立了会话密钥。这一攻击可以导致参与者把信息发给错误的实体,或者接收数据并认为它来自一个错误的参与者。
此外,对于有服务器参与的三方口令密钥协商协议还应该实现以下安全目标:
(7) 抗离线字典攻击。从本质上讲,口令认证密钥协商是不能抵抗在线可检测字典攻击的。但我们可以要求口令认证密钥协商需可抵抗离线字典攻击,以保证攻击者必须和协议交互才能对口令猜测予以验证。在这种情况下,攻击者的成功概率将不会依赖于其离线的计算能力,而是依赖于其与协议参与者进行交互的次数。
(8) 相对服务器的会话密钥私密性。在有服务器参与的口令密钥协商中,分别与服务器共享口令的两个用户间不能直接地安全通信,而需要服务器协助才能实现密钥协商,因此要求服务器是可信的。
但在协议设计时,应尽可能降低对服务器的信任和依赖程度,也就是说,应该要求即使协助用户进行密钥协商,服务器也不能得到最终的会话密钥。