这个定义包含三层含义:
1)协议自始至终是有序的过程,每一个步骤必须执行,在前一步没有执行完之前,后面的步骤不可能执行;
2)协议至少需要两个参与者;
3)通过协议必须能够完成某项任务。
密码协议是使用密码学技术的协议,协议的参与者可能是可以信任的人,也可能是攻击者和完全不信任的人。密码协议包含某种密码算法。
在网络通信中最常用的、基本的密码协议按照其完成的功能可以分成以下三类:
1)密钥交换协议
一般情况下是在参与协议的两个或者多个实体之间建立共享的秘密,通常用于建立在一次通信中所使用的会话密钥。协议可以采用对称密码体制,也可以采用非对称密码体制,例如Diffie-Hellman密钥交换协议。
2)认证协议
认证协议中包括实体认证(身份认证)协议、消息认证协议、数据源认证和数据目的认证协议等,用来防止假冒、篡改、否认等攻击。
3)认证和密钥交换协议
这类协议将认证和密钥交换协议结合在一起,是网络通信中最普遍应用的安全协议。常见的有Needham-Schroeder协议、分布认证安全服务(DASS)协议、ITU-TX.509认证协议等等。