正确答案
(1)每条消息都应该是清晰完整的
(2)加密部分从文字形式上是可以区分的
(3)如果一个参与者的标识对于某条消息的内容是重要的,那么最好在消息中明确地包含参与者的名字
(4)如果同一个主体既需要签名又需要加密,就在加密之前进行签名
(5)与消息的执行相关的前提条件应当明确给出,并且其正确性与合理性应能够得到验证
(6)协议必须能够保证“提问”具有方向性,而且可以进行区分
(7)在认证协议中加入两个基本要求:一个是认证服务器只响应新鲜请求;另一个是认证服务器只响应可验证的真实性
(8)保证临时值和会话密钥等重要消息的新鲜性,尽量采用异步认证方式,避免采用同步时钟(时间戳)的认证方式
(9)使用形式化验证工具对协议进行验证,检测协议各种状态的可达性,是否会出现死锁或者死循环
(10)尽可能使用健全的密码体制,保护协议中敏感数据的机密性、认证性和完整性等安全特性