密码协议的基本概念

发布于:2025-07-16 ⋅ 阅读:(18) ⋅ 点赞:(0)

密码协议概述

什么是协议?

明确有序:协议规定了一系列有序执行的步骤,必须依次执行。

多方参与:协议中有两个或以上的参与者。

目的明确:协议有明确的目的,即需要完成的目标,需要防范的风险等。

例:二人分苹果协议

        有两个参与者A和B,只有一个苹果,需要A和B执行一个协议,将苹果在双方之间公平地分成两份,A和B各取一份。

        1、A将苹果切成两份;

        2、B选择其中一份;

        3、A取剩下的一份。

三个步骤

两个参与者

目的:公平分配苹果

密码协议的概念

密码协议与基本密码算法的关系

     密码协议的特点

                一般的协议只要分析正确性和执行效率,但是密码协议的设计和一般般协议相比,除了正确性和效率外还有额外的要求:

安全需求:基本的安全需求包括加密、认证和不可抵赖性(对应扩展的CIA)

        加密保证协议执行过程中敏感数据的机密性;

        认证保证协议参与方的身份;

        不可抵赖性保证协议执行过程是可以稽查的,对于有仲裁者参与的协议至关重要。

鲁棒性:并不是所有参与者都会按照要求执行协议,可能有恶意参与者。恶意参与者可以通过不按照协议要求或者故意向协议输入非法数据来破坏协议执行过程,从而达到阻断协议或者获取额外信息的目的。鲁棒性要求密码协议在有恶意参与者的情况下能部分正确执行协议,且保护其他参与者的秘密。

密码协议的分类

        通常根据协议对可信第三方的依赖程度,将密码协议分为以下几类:

仲裁协议:仲裁者就是可信第三方,协议需要可信第三方才能正确执行,可信第三方的存在可以使密码协议更高效。 现实计算机网络很难找到一个协议参与方都信任的裁决者,且裁决者同样易受攻击。

裁决协议:裁决者也是可信第三方,但并不直接参与协议执行,只是在有争议时才参与执行。 对可信第三方的依赖降低。

自动执行协议:最理想的协议,协议本身体现了公平性,完全不需要可信第三方参与。当某个参与者实施欺骗行为可以被其他参与者发现,从而终止协议并排除欺骗者。 往往较为复杂,牺牲性能。

不同密码协议示意图

密码协议模型

        密码协议的设计和分析都需要在一定条件和假设下进行,安全模型的要素如图所示。通常从协议参与者的类型、参与者诚实程度和协议攻击者的能力三方面描述协议模型。

 协议参与者角色类型

协议参与者:按照协议要求参与协议执行

协议攻击者:密码协议一般执行在网络环境中,除了协议本身需要的参与者外,还有一些“参与者”会通过窃听、篡改等方式“主动”参与协议,被称为攻击者。

可信第三方:协议参与者都信任的一个主体或组织(如央行、政府)。

仲裁者:如法官、执政官。密码协议中为处理争端的实体。

协议参与者诚实程度

诚实参与者:按照协议要求参与协议执行,向协议提供指定的输入,获得指定的输出

半诚实参与者:按照协议要求参与协议执行,向协议提供指定的输入,但尝试获取其他参与者的输入(也称为被动攻击者或窃听者)。

恶意攻击者:控制参与者按照自己设置的方式参与协议,包括不提供输入、提供恶意输入等行为。恶意攻击者以破坏协议正确执行或窃取他人数据为目的。

 协议攻击者能力

计算能力:无限计算能力、多项式计算能力(一般假设)

对信道的控制能力:安全信道(无任何控制能力、非安全信道(攻击者可以窃听参与者之间的通信)、未认证信道(攻击者可以窃听且篡改参与者通信)。

对不诚实参与者的控制能力:被动攻击者:攻击者只是窃听各个参与方的输入,不控制参与方法行为。;主动攻击者:攻击者不仅窃听各个参与方的输入,还可控制不诚实参与方按照自己设计的方式参与协议。

密码协议分析

攻击迭代:通过找出协议的漏洞或不满足安全需求定义的地方,然后反复迭代协议设计,直到无法找出漏洞。

直接证明:直接证明不可能找出协议漏洞,协议完全满足安全需求的定义。

密码协议分析的基本方法

使用自然语言论证的标准模型

开发专家系统

使用随机预言(Random Oracle,RO)模型

使用BAN类逻辑

使用CSP(Communicating Sequential Process)等模型检测方法

BAN逻辑分析框架
CSP分析框架


网站公告

今日签到

点亮在社区的每一天
去签到