1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 ·...

25
什么是消息的认证 什么是消息的认证 人们很早以前就知道保护敏感信息秘密的重要性 密写形成了一个称 为密码学的领域但长期以来它主要被应用在军事和政府部门 由于强大的 信息技术的应用现代信息的存储和传输已变得非常简便大量信息在传输 中很容易被他人介入这对密码学提出了许多新的问题 例如敌方不仅可 以读到传输中的信息也可以改变这些信息或者敌方可以生成和发送一个 虚假信息给收方以期达到某种目的 作为一个例子我们想象一个窃贼可以非法接入银行的计算机通信线 窃贼去银行在他的账户中存入 100 元后银行要给中心计算机发一个消 通知计算机在该窃贼的账户中增加 100 窃贼进入银行通信线路后就可以改变银行所发消息中的存款数字例如改为增加 1000 另一种可 能是窃贼将银行发出的消息收录下来然后将同样的消息重复发给中心计 算机每发一次就在他的账户中增加 100 这个例子表明必须有某种机 制来检查使得只有银行发出的消息才能被中心计算机接受 这就是我们所 说的消息的认证 当收方收到一个消息例如一个电子邮件时他关心谁是真正的发方这消息的内容在传输中是否已被他人非法篡改 这就是消息认证所关心的 两大问题

Upload: others

Post on 09-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

书书书

1.1 什么是消息的认证      

第1章 引  言

1.1 什么是消息的认证

人们很早以前就知道保护敏感信息秘密的重要性.密写形成了一个称

为密码学的领域,但长期以来它主要被应用在军事和政府部门.由于强大的

信息技术的应用,现代信息的存储和传输已变得非常简便,大量信息在传输

中很容易被他人介入,这对密码学提出了许多新的问题.例如,敌方不仅可

以读到传输中的信息,也可以改变这些信息;或者敌方可以生成和发送一个

虚假信息给收方,以期达到某种目的.

作为一个例子,我们想象一个窃贼可以非法接入银行的计算机通信线

路.窃贼去银行在他的账户中存入100元后,银行要给中心计算机发一个消

息,通知计算机在该窃贼的账户中增加100元.窃贼进入银行通信线路后,

就可以改变银行所发消息中的存款数字,例如改为增加1000元.另一种可

能是窃贼将银行发出的消息收录下来,然后将同样的消息重复发给中心计

算机,每发一次就在他的账户中增加100元.这个例子表明,必须有某种机

制来检查,使得只有银行发出的消息才能被中心计算机接受.这就是我们所

说的消息的认证.

当收方收到一个消息,例如一个电子邮件时,他关心谁是真正的发方,

这消息的内容在传输中是否已被他人非法篡改.这就是消息认证所关心的

两大问题.

Page 2: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

2     第1章 引  言

保密和认证成为当代信息安全的两个重要方面.保密系统的作用是保

护秘密,认证系统的作用则是使消息得到认证.保密和认证是信息安全中两

件不同的事情,在有些情况下保密是主要的,但有些情况下就不是这样.一

个认证系统可以带保密功能,也可能不带保密功能.在两个军事单位之间的

通信,通常既需要保密又需要认证.下面是一个只需认证不需保密的例子.

一个公司在马路上安装了很多停车计时表,由公司雇员经常从表中取出钱

交给公司.公司老板担心雇员将取出的一部分钱装入自己口袋,所以计时表

中所收集的钱数必须有一个认证,例如,可以让计时表打印一张纸条,上面

有所收集的钱数,雇员必须把钱和纸条同时交给老板.雇员可以数清从计

时表中取出多少钱,因而这个钱数对于雇员不是秘密.在有些类似情况

下,敌方已经知道所认证的消息的内容,因而可以利用不带保密功能的认

证系统.

在很多认证中,通常有发方、收方和敌方,发方想给收方发送信息,敌方

想利用篡改发方所发的信息或制造一个虚假信息的手段欺骗收方.在有些

情况下发方和收方可能是同一个人,例如对于计算机中所存储的数据文件

的认证,所存储的数据可能包含一些敏感信息,例如人员的工资表、学生的

成绩单或类似的数据.通过对数据文件的认证,发现其中任何可能有的非法

改动.

若发方和收方不是同一个人,他们可能是互相信任的,即他们不会相互

欺骗.但在很多情况下可能不是这样,他们可能会相互欺骗.在证券市场中,

客户向证券经纪人发出一个电子信息,要求他买入或卖出股票,这时在客户

和经纪人之间可能会出现争执.若在客户发出买入某股票的请求后,该股票

价格下跌,他可能会否认他所发出的请求.另一方面,经纪人也可能声称收

到买股票的请求,但实际上客户并没有发出那样的请求.为了解决这类争

执,必须有一个仲裁来判断哪一方是不诚实的.

如果敌方欺骗成功的可能很小,则认证系统就是安全的.一个系统的安

全性若不信赖于敌方所拥有的计算能力,则该系统称为无条件安全.当假定

敌方仅拥有有限的计算能力时系统是安全的,该系统称为计算安全.譬如数

字签名是一个认证系统,它是计算安全,因它的安全性信赖于在假定敌方仅

拥有有限的计算能力时某个困难问题不能有效求解(如大整数因子分解、

离散对数的计算).本书限于讨论无条件安全的认证系统(带或不带保密

Page 3: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

1.2 认 证 系 统 3    

功能).

1.2 认 证 系 统

为了简单起见,假定发方仅可能发送两个消息:进攻或撤退,这两个消

息分别用字母犃 和犠 表示.发方可能用发数字“0”代表 犃,数字“1”代表

犠;或者用“0”代表 犠,用“1”代表犃.所以发方有两个密钥:密钥1和密钥

2,生成表1.1.

表1.1

0 1

密钥1 犃 犠

密钥2 犠 犃

发方每次通信时利用某一个密钥,

只有收方知道他用的是哪一个密钥.当

敌方观察到发方所发出的“0”或“1”时,

他不知道它们的含意,因为不知道发方

用的是哪一个密钥.所以,该系统具有

保密功能.假定每个密钥被使用的概率

是1/2,敌方猜测所发报文的含意,他成功的概率是1/2.

为了进一步的讨论,这里必须提及犓犲狉犽犺狅犳犳假设,这是密码学所有领

域都采用的一个著名假设.该假设说,对敌方保密的系统参数仅仅是正在使

用的密钥,其他的所有参数,如系统的结构、系统的概率分布等,都是公开

的.该假设对分析一个密码系统的安全性是合理的、必需的.

在发送消息之前,发方和收方约定所使用的密钥,按犓犲狉犽犺狅犳犳假设,敌

方知道表1.1的内容,但他不知道在某时刻使用哪个密钥.这时敌方仍有可

能进行欺骗,在观察到发方发送的信号之前,敌方向收方发出“0”或“1”,收

方如果接受该信号,认为它是发方发来的,并据此采取行动.因而敌方使收

方有了行动,尽管敌方事先并不知道收方有什么行动.这类欺骗称为假冒

攻击.

敌方也可以采取另一类攻击,敌方可以将观察到的信号由“0”改为“1”,

或由“1”改为“0”,篡改后的信号仍能被收方接受,并使收方采取与发方指示

相违背的行动.这类欺骗称为替代攻击.

Page 4: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

4     第1章 引  言

表1.1的系统没有认证功能.称发方要发送的消息(上例中的犃 和犠)

为信源,发方真正发送的信号(上例中的“0”和“1”)为报文.通过增加报文的

个数可以得到具有认证功能的系统.如上取{犃,犠}为信源集合,{00,01,

10,11}为报文集合,考虑表1.2中所给出的系统.

表1.2

00 01 10 11

密钥1 犃 — 犠 —

密钥2 犃 — — 犠

00 01 10 11

密钥3 — 犃 犠 —

密钥4 — 犃 — 犠

  该系统中有4个密钥.当选用密钥1时,报文“00”代表 犃,“10”代表

犠,而“01”和“11”不被使用.称“00”和“10”为密钥1的有效报文,而“01”和

“11”为密钥1的无效报文.类似地考虑其他密钥,每个密钥有两个有效报文

和两个无效报文.收方仅接受该时刻所采用的密钥的有效报文,而拒绝接受

无效报文.每个报文对于四个密钥中的两个密钥是有效的.假定采用每个密

钥的概率都相同(1/4).当敌方发起假冒攻击时,他任意挑选一个报文,例如

“00”,发给收方,“00”是该时刻所使用的密钥的有效报文的概率为1/2.当

敌方发起替代攻击时,他用一个虚假报文替代发方所发送的报文.假设敌方

观察到发方所发送的报文是“00”,敌方便知道该时刻所使用的密钥为密钥

1或密钥2,报文“10”和“11”是其他两个可能的有效报文,他任取其中一个

报文发给收方,他的成功概率为1/2.因此,表1.2中的系统具有认证功能.

从表1.2可以看到,报文“00”和“01”永远传递信源犃,而报文“10”和“11”永

远传递信源 犠.所以,任何人观察到发方发的报文,就能知道该报文的含

意.这是一个没有保密功能的系统.

如果把表1.2改为表1.3,就可以得到具有保密功能的系统.

表1.3

00 01 10 11

密钥1 犃 — 犠 —

密钥2 犠 — — 犃

00 01 10 11

密钥3 — 犠 犃 —

密钥4 — 犃 — 犠

Page 5: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

1.3 欺骗成功概率和编码规则个数 5    

  应用类似于分析表1.2的系统的方法分析表1.3的系统,可以知道对

于表1.3的系统,假冒攻击和替代攻击的成功概率仍然都是1/2,但该系统

带保密功能,因每个报文都可用于代表犃 和犠,敌方猜对发方所传输的信

源的概率是1/2.

1.3 欺骗成功概率和编码规则个数

设计认证系统的一个目标,是要使敌方欺骗成功概率尽可能小.此外,

由于编码规则个数越多,收、发双方传递编码规则所需的传输信息量和存储

信息量也越大,所以在设计认证系统时,在达到一定的安全性的前提下,追

求尽可能小的编码规则个数.本节分别讨论不带保密的认证系统和一般(可

以带保密)的认证系统两种情形.

  1.不带保密的认证系统

考虑一类特殊形式的不带保密的认证系统.设犛={狊1,狊2,…,狊犽}为

所有可能的犽个信源.若狊∈犛为发方所要传递的信源,发方实际发送的报

文形如(狊,犪),犪称为狊的认证字.见到报文(狊,犪)也就知道它所代表的信

源狊,所以这时没有保密.设犃={犪1,犪2,…,犪犾}为所有可能的犾个认证

字的集合.一个编码规则犲是犛 到犃的一个映射,每个信源对应一个认证

字,代表信源狊的报文就是(狊,犲(狊)).所有编码规则的集合记为犈.这类认

证系统称为系统犆犪狉狋犲狊犻犪狀认证码(图1.1),它由三个集合{犛,犃,犈}决定.

在应用中常见的一类消息认证码(犕犃犆)中,选用一个带密钥的 犎犪狊犺

函数 犎犽 (狓),信源狊 的认证字取为犪 = 犎犽(狊).攻击者见到报文

(狊,犎犽(狊))后,若能找到另外一个信源狊′,使 犎犽(狊)= 犎犽(狊′),则报文

(狊′,犎犽(狊′))也能被收方接受,这时该认证系统就不安全了.犎犪狊犺函数

犎犽(狓)的输入狓的比特长度为任意,其输出犎犽(狓)有固定的比特长度(例

如160比特),从理论上讲,一定存在另一个信源狊′,使 犎犽(狊′)= 犎犽(狊).

Page 6: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

6     第1章 引  言

但在实际上,要找到狊′在计算上往往是困难的,所以该认证系统的安全称为

计算安全.

狊1

(狊1,犪1)

(狊1,犪2 )

(狊1,犪犾)

   狊2

(狊2,犪1)

(狊2,犪2 )

(狊2,犪犾)

  ……   狊犽

(狊犽,犪1)

(狊犽,犪2 )

(狊犽,犪犾)

图1.1 系统Cartesian认证码

在通信开始之前,收方和发方秘密约定选用一个编码规则犲.分别以

犘0和犘1代表敌方最佳假冒攻击和替代攻击的成功概率.敌方进行假冒攻

击时,他选定一个信源狊,但他不知道认证字犲(狊),只能在犃中任取一个认

证字犪,将(狊,犪)发给收方.仅当犪=犲(狊)时,收方才能接受报文(狊,犪).

假定敌方的攻击是最佳的,敌方选取的犪等于犲(狊)的概率至少为1/犾,所以

敌方最佳假冒攻击成功概率

犘0≥1/犾. (1.1)

敌方进行替代攻击时,他首先截获发方发送的一个报文(狊,犪),然后

选取另外一个信源狊′替代狊,他同样不知道犲(狊′),只能在犃中任取一个认

证字犪′,将(狊′,犪′)发给收方.仅当犪′=犲(狊′)时,收方才能接受报文

(狊′,犪′).敌方选取的犪′等于犲(狊′)的概率至少为1/犾,所以敌方最佳替代

攻击成功概率

犘1≥1/犾. (1.2)

更确切地说,仅当发方和收方选用的编码规则犲适合犲(狊)=犪时,敌

方的假冒攻击才能成功.假定每个编码规则被选用的概率相同,则敌方发报

文(狊,犪)作假冒攻击的成功概率为

狘{犲∈犈狘犲(狊)=犪}狘狘犈狘

它的分子是使狊的认证字为犪的编码规则的个数,分母是编码规则的总数,

敌方最佳假冒攻击成功概率为

犘0=犿犪狓狊∈犛犿犪狓1≤犻≤犾

狘{犲∈犈狘犲(狊)=犪犻}狘

狘犈狘. (1.3)

Page 7: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

1.3 欺骗成功概率和编码规则个数 7    

由于任一编码规则都会将信源狊映射为犃中某个认证字,故

∑犾

犻=1

狘{犲∈犈狘犲(狊)=犪犻}狘=狘犈狘. (1.4)

因极大值不小于平均值,得到

犿犪狓1≤犻≤犾

狘{犲∈犈狘犲(狊)=犪犻}狘≥1

犾∑犾

犻=1

狘{犲∈犈狘犲(狊)=犪犻}狘

=狘犈狘犾,

利用式(1.3)同样得到式(1.1),且可见其中等号成立(极大值等于平均值)

的充分必要条件是对任一狊∈犛及1≤犻≤犾,

狘{犲∈犈狘犲(狊)=犪犻}狘 (1.5)

是常数 (狘犈狘/犾).

类似地分析最佳替代攻击成功概率犘1.敌方观察到发方发送的报文

(狊,犪),然后用报文 (狊′,犪′)(狊′≠狊)进行替换,将它发给收方,收方能接

受(狊′,犪′)的概率为

狘{犲∈犈狘犲(狊)=犪,犲(狊′)=犪′}狘狘{犲∈犈狘犲(狊)=犪}狘

当敌方观察到报文(狊,犪)时,他就能确定这时发方和收方选用的编码

规则属于集合 {犲∈犈狘犲(狊)=犪}.进一步,如果发方和收方选用的编码规

则属于集合 {犲∈犈狘犲(狊)=犪,犲(狊′)=犪′},则敌方的替代攻击就能成功.

所以,当敌方观察到报文(狊,犪)后,他的最佳替代攻击成功概率

犘1(狊,犪)=犿犪狓

狊′∈犛,狊′≠狊犿犪狓1≤犻≤犾

狘{犲∈犈狘犲(狊)=犪,犲(狊′)=犪犻}狘

狘{犲∈犈狘犲(狊)=犪}狘.

同样由于

∑犾

犻=1

狘{犲∈犈狘犲(狊)=犪,犲(狊′)=犪犻}狘=狘{犲∈犈狘犲(狊)=犪}狘,

(1.6)

Page 8: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

8     第1章 引  言

犿犪狓1≤犻≤犾

狘{犲∈犈狘犲(狊)=犪,犲(狊′)=犪犻}狘  

  ≥1

犾∑犾

犻=1

狘{犲∈犈狘犲(狊)=犪,犲(狊′)=犪犻}狘

  =1

犾狘{犲∈犈狘犲(狊)=犪}狘.

可见

犘1(狊,犪)≥1

犾,

其中等式成立的充分必要条件是对任一 (狊′,犪犻)(狊′≠狊,1≤犻≤犾),

狘{犲∈犈狘犲(狊)=犪,犲(狊′)=犪犻}狘 (1.7)

是常数1

犾狘{犲∈犈狘犲(狊)=犪}( )狘 .令

犘1=犿犪狓(狊,犪)犘1(狊,犪),

由此同样得到式(1.2),且可见其中等号成立的充分必要条件是对任意

(狊,犪),(狊′,犪犻)(狊≠狊′),式(1.7)中的量都等于1

犾狘{犲∈犈狘犲(狊)=

犪}狘.

由上述推理,也可得到对任意 (狊,犪),(狊′,犪′)(狊≠狊′),都有

犘0≥狘{犲∈犈狘犲(狊)=犪}狘

狘犈狘,

犘1≥狘{犲∈犈狘犲(狊)=犪,犲(狊′)=犪′}狘

狘{犲∈犈狘犲(狊)=犪}狘.

当狘{犲∈犈狘犲(狊)=犪,犲(狊′)=犪′}狘≠0时,将两式相乘得

狘犈狘≥狘{犲∈犈狘犲(狊)=犪,犲(狊′)=犪′}狘

犘0犘1≥

犘0犘1. (1.8)

该式给出了编码规则个数的一个下界,它依赖于犘0和犘1.由此可见,当这

两个概率越小时,所需要的编码规则个数就越多.

假定对任意的一对报文 (狊,犪),(狊′,犪′)(狊≠狊′),都有

狘{犲∈犈狘犲(狊)=犪,犲(狊′)=犪′}狘=1. (1.9)

Page 9: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

1.3 欺骗成功概率和编码规则个数 9    

由式(1.6),这时对任一(狊,犪)都有

狘{犲∈犈狘犲(狊)=犪}狘=犾.

可见条件(1.5)和(1.7)都成立,所以式(1.1)和(1.2)中等号都成立,即

犘0=犘1=1

犾.

由式(1.6),(1.4)可知,狘犈狘=犾2= (犘0犘1)-1,它达到下界.

如何构造犆犪狉狋犲狊犻犪狀系统,使其适合条件(1.9)呢?下面给出一个例子.

设犽=4,犾=3,利用阵列

0 0 0 0

0 1 1 1

0 2 2 2

1 0 1 2

1 1 2 0

1 2 0 1

2 0 2 1

2 1 0 2

2 2 1 0,

(1.10)

将它的每一列对应一个信源狊犻(1≤犻≤4),每一行对应一个编码规则,令

认证字集合犃= {0,1,2}.可以得到下列系统犆犪狉狋犲狊犻犪狀认证系统:

犲1:  (狊1,0),(狊2,0),(狊3,0),(狊4,0);

犲2: (狊1,0),(狊2,1),(狊3,1),(狊4,1);

犲3: (狊1,0),(狊2,2),(狊3,2),(狊4,2);

犲4: (狊1,1),(狊2,0),(狊3,1),(狊4,2);

犲5: (狊1,1),(狊2,1),(狊3,2),(狊4,0);

犲6: (狊1,1),(狊2,2),(狊3,0),(狊4,1);

犲7: (狊1,2),(狊2,0),(狊3,2),(狊4,1);

犲8: (狊1,2),(狊2,1),(狊3,0),(狊4,2);

犲9: (狊1,2),(狊2,2),(狊3,1),(狊4,0).

Page 10: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

10    第1章 引  言

容易验证,在阵列(1.10)中,任意抽取两列,则犃中任意两个认证字的

排列00,01,02,10,11,12,20,21,22在这两列的行中各出现一次,这正

是条件(1.9)所要求的.阵列(1.10)称为正交阵列,正交阵列的构造方法将

在第7章中介绍.正交阵列是一类组合设计,从这个例子可以看到正交阵列

在认证理论中的应用.

  2.一般认证系统

设犛={狊1,狊2,…,狊犽}为信源集合,犕为报文集合且狘犕狘=狏.犈为

编码规则集合,每一个编码规则犲∈犈是犛到 犕之中的一个1 1映射,

犲(犛)犕为犲的有效报文集合,它包含犽个报文.当发方和收方约定使用

犲时,收方只接受犲的有效报文.敌方进行假冒攻击时,只有选用犲的有效

报文才能成功,所以最佳假冒攻击成功概率

犘0≥犽

狏. (1.11)

敌方进行替代攻击时,首先截获发方发送的一个报文 犿,然后选择另

一个报文 犿′≠ 犿 发给收方,仅当 犿′也是犲的有效报文时,替代攻击才能

成功.所以最佳替代攻击成功概率

犘1≥犽-1

狏-1. (1.12)

对上述两个概率作进一步分析.为了简单起见,仍假定每个编码规则被

选用的概率相同.当敌方选用报文 犿 作假冒攻击时,仅当发方和收方约定

使用的编码规则犲适合条件犿 ∈犲(犛)时,敌方的假冒攻击才能成功.所以

敌方使用报文 犿 作假冒攻击的成功概率为

狘{犲∈犈狘犿 ∈犲(犛)}狘狘犈狘

最佳假冒攻击成功概率应该是

犘0=犿犪狓犿∈犕狘{犲∈犈狘犿 ∈犲(犛)}狘/狘犈狘. (1.13)

定义集合

Page 11: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

1.3 欺骗成功概率和编码规则个数 11   

犖= {(犿,犲)狘犿 ∈犲(犛)}.

对每个指定的 犿∈犕,有狘{犲∈犈狘犿∈犲(犛)}狘个犲使(犿,犲)∈犖,所以

狘犖狘=∑犿∈犕

狘{犲∈犈狘犿 ∈犲(犛)}狘.

另一方面,犲有|犈|个可能的选择,对每个指定的犲,有犽个犿 ∈犲(犛),故

狘犖狘=犽·狘犈狘.

由此得到

∑犿∈犕

狘{犲∈犈狘犿 ∈犲(犛)}狘=犽·狘犈狘.

因极大值不小于平均值,所以由式(1.13)得到

犘0≥1

狏∑犿∈犕狘{犲∈犈狘犿 ∈犲(犛)}狘

狘犈狘=犽

狏,

这就是式(1.11),且可见其中等号成立的充分必要条件是对任一 犿 ∈犕,

狘{犲∈犈狘犿 ∈犲(犛)}狘 (1.14)

是常数.

分析最佳替代攻击成功概率犘1.敌方在观察到发方发送的报文 犿,然

后用另一报文 犿′≠ 犿 替换,将 犿′发给收方,收方能接受 犿′的概率为

狘{犲∈犈狘犿,犿′∈犲(犛),犿 ≠ 犿′}狘狘{犲∈犈狘犿 ∈犲(犛)}狘

当敌方观察到报文 犿,表明这时发方和收方选用的编码规则属于集合

{犲∈犈狘犿 ∈犲(犛)},而仅当选用的编码规则属于集合 {犲∈犈狘犿,犿′∈

犲(犛)}时,替代攻击才能成功.所以敌方观察到报文 犿 后的最佳替代攻击

成功概率

犘1(犿)=犿犪狓犿′≠犿狘{犲∈犈狘犿,犿′∈犲(犛)}狘

狘{犲∈犈狘犿 ∈犲(犛)}狘. (1.15)

对任一 犿 ∈犕,定义集合

犖犿 = {(犿′,犲)狘犿,犿′∈犲(犛),犿 ≠ 犿′}.

对每个指定的犿′≠犿,有狘{犲∈犈狘犿,犿′∈犲(犛)}狘个犲,使(犿′,犲)∈

Page 12: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

12    第1章 引  言

犖犿,所以

狘犖犿狘= ∑犿′∈犕犿′≠犿

狘{犲∈犈狘犿,犿′∈犲(犛)}狘.

另一方面,共有狘{犲∈犈狘犿 ∈犲(犛)}狘个犲使犿 ∈犲(犛),对每个这样的

犲,有犽-1个 犿′∈犲(犛),且 犿′≠ 犿,故

狘犖犿狘= (犽-1)·狘{犲∈犈狘犿 ∈犲(犛)}狘.

由此得到

∑犿′∈犕犿′≠犿

狘{犲∈犈狘犿,犿′∈犲(犛)}狘= (犽-1)·狘{犲∈犈狘犿 ∈犲(犛)}狘.

(1.16)

因而

犿犪狓犿′≠犿狘{犲∈犈狘犿,犿′∈犲(犛)}狘   

  ≥1

狏-1·∑

犿′∈犕犿′≠犿

狘{犲∈犈狘犿,犿′∈犲(犛)}狘

  =犽-1

狏-1·狘{犲∈犈狘犿 ∈犲(犛)}狘.

所以由式(1.15)得到

犘1(犿)≥犽-1

狏-1,

且其中等号成立的充分必要条件是对任一指定的报文 犿,

狘{犲∈犈狘犿,犿′∈犲(犛),犿 ≠ 犿′}狘 (1.17)

不依赖于 犿′.

犘1=犿犪狓犿犘1(犿), (1.18)

由此可见式(1.12)中等号成立的充分必要条件是对任一对报文 犿,

犿′(犿 ≠犿′),式(1.17)中的量是常数.

由式(1.13),(1.15),(1.18)可得到对任一对报文 犿,犿′(犿 ≠

Page 13: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

1.3 欺骗成功概率和编码规则个数 13   

犿′)有

犘0≥狘{犲∈犈狘犿 ∈犲(犛)}狘

狘犈狘,

犘1≥狘{犲∈犈狘犿,犿′∈犲(犛),犿 ≠ 犿′}狘

狘{犲∈犈狘犿 ∈犲(犛)}狘.

当狘{犲∈犈狘犿,犿′∈犲(犛),犿 ≠ 犿′}狘≠0时,两式相乘后得到

狘犈狘≥狘{犲∈犈狘犿,犿′∈犲(犛),犿 ≠ 犿′}狘

犘0犘1≥

犘0犘1.(1.19)

该式给出了编码规则个数的下界.当犘0与犘1越小时,所需要的编码规则就

越多.

假定对任意两个不同的报文 犿,犿′都有

狘{犲∈犈狘犿,犿′∈犲(犛),犿 ≠ 犿′}狘=1, (1.20)

由式(1.16),对任一报文 犿,有

狘{犲∈犈狘犿 ∈犲(犛)}狘=狏-1

犽-1,

这时条件(1.14)和(1.17)都成立,犘0与犘1都达到其下界:

犘0=犽

狏, 犘1=

犽-1

狏-1.

且由式(1.13)和(1.16)可知

狘犈狘=狏(狏-1)

犽(犽-1)= (犘0犘1)-1

达到它的下界.

以下给出一个适合条件(1.20)的认证系统.

设犛中共有犽=3个信源,犕={1,2,3,4,5,6,7}中共含有7个报

文.给出7个编码规则的有效报文集合:

犅= {123,145,167,246,257,347,356}.

容易验证,犕中任一报文都在犅中的三个集合中出现,任意两个报文都在犅

中唯一的集合中出现,从而式(1.20)成立.这时,

Page 14: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

14    第1章 引  言

犘0=3

7, 犘1=

3, 狘犈狘= (犘0犘1)-1=7.

这里利用了一个2设计(犕,犅)(见第6章).

今把条件(1.20)修改为:

对任一报文 犿 ∈犕,有狘{犲∈犈狘犿 ∈犲(犛)}狘=λ,

对任意两个报文 犿,犿′∈犕(犿 ≠ 犿′),有

狘{犲∈犈狘犿,犿′∈犲(犛)}狘=0或1

烎.

(1.21)

若一个认证系统适合条件(1.21),则由式(1.13),(1.15),(1.18)得

犘0=λ

狘犈狘, 犘1=

λ.

因而

狘犈狘= (犘0犘1)-1.

这时|犈|仍达到它的下界,适合条件(1.21)的认证系统的结构称为是一个

2阶强部分平衡设计.

若敌方在观察发方用同一编码规则发送的狉(狉≥0)个报文后,向收方

发送一个虚假报文,将这个攻击称为狉阶欺骗攻击.当狉=0,1时就是本节

所讨论的假冒攻击和替代攻击.本书将研究一般的狉阶欺骗攻击.本节所涉

及的假冒攻击和替代攻击的一些结果将推广到狉阶欺骗攻击.

设狋为正整数,编码规则个数|犈|达到其下界

狘犈狘= (犘0犘1…犘狋-1)-1

的认证系统称为狋阶完善认证系统.在一定条件下狋阶完善认证系统的结

构适合下述条件:

对任意犻个(1≤犻≤狋)不同的报文 犿1,犿2,…,

犿犻∈犕,有

狘{犲∈犈狘犿1∈犲(犛)}狘=λ1,

狘{犲∈犈狘犿1,犿2,…,犿犻∈犲(犛)}狘=0

  或λ犻 (1<犻≤狋-1),

狘{犲∈犈狘犿1,犿2,…,犿狋 ∈犲(犛)}狘=0或1

烎.

(1.22)

Page 15: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

1.4 组 合 设 计 15   

条件(1.22)是(1.21)的推广,这种类型的组合结构称为狋阶强部分平衡设

计(见第3章),适合该条件的认证系统具有参数

 犘0=λ1

狘犈狘, 犘犻 =

λ犻+1

λ犻(1≤犻<狋-1),

犘狋-1=1

λ狋-1.

条件(1.20)也可推广为:

对任意狋个不同的报文犿1,犿2,…,犿狋 有

狘{犲∈犈狘犿1,犿2,…,犿狋 ∈犲(犛)}狘=1烍烌

烎.

(1.23)

适合条件(1.23)的认证系统结构称为狋设计(见第6章).可以证明,狋

设计一定是狉设计 (1≤狉≤狋),条件(1.23)比条件(1.22)要求更严,所以

构造强部分平衡设计要比构造狋设计容易一些.本书的第5章将构造一类

新的强部分平衡设计.

本节的内容刻画了全书的梗概.

1.4 组 合 设 计

组合设计理论研究是否可以将一个有限集合中的元素分配在一批子集

中,使某种“平衡”性质成立.在组合设计中,通常将子集合称为区组.

每个认证系统对应一个组合设计.考虑表1.2中的系统.令 犕= {00,

01,10,11}为所有可能的报文的集合,每个密钥的有效报文集合是犕的一

个子集合,这样有犕的四个子集

犅= {(00,10),(00,11),(01,10),(01,11)}.

可以看到,任一报文在犅中的两个子集中出现.该集合对(犕,犅)称为一个

组合设计.表1.3中的系统对应的区组设计与表1.2中的系统对应的区组

设计相同.

Page 16: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

16    第1章 引  言

第2章将给出认证系统的数学描述.在一个一般的认证系统中,每个密

钥(下文中它将被称为编码规则)有一个有效报文集合,它是所有报文集合

犕的一个子集.以犈表示所有编码规则的集合,对犈中任一编码规则犲,以

犕(犲)代表犲的有效报文集合,以犅表示所有编码规则犲∈犈对应的犕(犲)

组成的集合.当要求该认证系统具有某种性质时,其对应的集合对(犕,犈)

就具有某种平衡性质,成为某种类型的组合设计.反之,如果得到了某种类

型的组合设计,基于这个设计就可以构造得到具有某种性质的认证系统(见

定理3.1和41).

以下为组合设计的一些例子.

例11 令

犕= {1,2,3,4,5,6,7},      

犅= {123,145,167,246,257,347,356}.

犕中每个元素在犅的3个区组中出现,犕的任一对元素在1个区组中出现.

例12 令

犕= {0,1,2,3,4,5,6,7,8,9},       

犅= {0123,0145,0246,0378,0579,0689,1278   

1369,1479,1568,2359,2489,2567,3458,3467}.

犕中任一元素在6个区组中出现,犕中任一对元素在2个区组中出现. ■

例11和12中的组合设计称为2设计(也称为平衡不完全区组设

计).犕中任一对元素在相同个数(1或2)的区组中出现.一般地,对于任意

正整数狋,有狋设计的概念,这时,犕的任一狋子集在相同个数的区组中

出现.

例13 令

犕= {1,2,3,4,5,6,7,8},          

犅= {1368,1357,1458,1467,2468,2457,2358,2367}.

犕中每个元素在4个区组中出现,除元素对12,34,56,78之外,犕中每对

元素在2个区组中出现,元素对12,34,56,76不在任一区组出现.犕的任

Page 17: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

1.4 组 合 设 计 17   

一三元组,只要其中不包含元素对12,34,56,78,在一个区组出现,否则它

不在任一区组出现. ■

称这类设计为部分平衡狋设计(上例中狋=3),它在构造完善认证码

中将发挥重要作用.

设计理论利用来自线性代数、有限域、有限几何、数论等领域的许多数

学工具,设计理论的基本概念很简单,但研究设计理论的数学方法却是数不

胜数和富有技巧的.

Page 18: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

      第2章 认 证 系 统

第2章 认 证 系 统

保密和认证是信息安全的两个重要方面.保密是为了防止机密信息被

非授权接触的人窃取;认证是为了确认信息来源方的身份,以及发现信息在

传输、存储过程中是否被篡改,换句话说,认证是为了鉴别假冒别人身份发

送的伪造信息.保密和认证是两个互相独立的概念.在一个信息系统中,可

以只考虑保密不考虑认证,也可以只考虑认证不考虑保密,也可以两者同时

考虑.

2.1 三方认证模型(犃 码)

认证系统是从现实的认证问题中抽象出来的一个认证模型.假定在一

个认证模型中包含三方:发方、收方和敌方.发方要向收方发送信息,敌方想

假冒发方向收方发送虚假信息,或者想篡改发方的信息,以达到欺骗收方的

目的.因此发方和收方必须设法防止来自敌方的欺骗.在三方认证模型中,

假定发方和收方是互相信任的,他们不会互相欺骗.当发方和收方也可能互

相欺骗时,就需要在认证模型中增添仲裁方.

发方打算给收方传递的消息称为信源,以犛表示所有信源的集合.为了

防止敌方的欺骗,发方将信源按照一个编码规则进行编码变换后再发送.称

Page 19: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

2.1 三方认证模型(犃 码) 19   

发方发送的信号为报文,所有报文的集合记为 犕.一个编码规则犲是犛到犕

中的一个映射,一个信源对应一个报文.该映射的像集合 犕(犲)称为犲的有

效报文集合,它是犕的一个子集.所有编码规则的集合记为犈.在通信之前,

发方和收方从犈中秘密选出一个编码规则犲,不能泄露给敌方.当发方要向

收方传送一个信源狊∈犛时,先将狊用犲进行编码,得到报文犲(狊),然后将

该报文通过一个公共信道发送给收方.收方收到报文后,首先判断它是不是

犲的有效报文,即它是否属于集合 犕(犲).如果不是有效报文,他拒绝接受;

如果是有效的,则认为它是发方发来的,并利用犲的逆映射,确定它所代表

的信源.所以仅当敌方捏造的虚假报文也是犲的有效报文时,他才能欺骗成

功.不同的编码规则对应不同的有效报文集合,为了减少敌方欺骗成功的可

能,发方所用的编码规则必须经常更换.

在13节中,利用阵列(1.10),构造的系统犆犪狉狋犲狊犻犪狀认证系统,就是一

个三方认证系统,它有4个信源、12个报文和9个编码规则.利用1.4节

的例1.1,也可以构造一个有3个信源、7个报文和7个编码规则的三方

认证系统.设犛= {狊1,狊2,狊3},犕= {1,2,3,4,5,6,7},则7个编码

规则为

犲1: 犲1(狊1)=1,犲1(狊2)=2,犲1(狊3)=3;

犲2: 犲2(狊1)=1,犲2(狊2)=4,犲2(狊3)=5;

犲3: 犲3(狊1)=1,犲3(狊2)=6,犲3(狊3)=7;

犲4: 犲4(狊1)=2,犲4(狊2)=4,犲4(狊3)=6;

犲5: 犲5(狊1)=2,犲5(狊2)=5,犲5(狊3)=7;

犲6: 犲6(狊1)=3,犲6(狊2)=4,犲6(狊3)=7;

犲7: 犲7(狊1)=3,犲7(狊2)=5,犲7(狊3)=6.

假定敌方有能力冒充发方发送报文,也有能力观察发方所发送的报文,

并将它篡改后发给收方.若敌方在观察发方发出的狉个报文后,向收方发出

不同于这狉个报文的伪造报文,称该攻击为狉阶欺骗攻击.当狉=0时就是

假冒攻击.以犘狉表示最佳狉阶欺骗攻击的成功概率.下面推导犘狉的表

达式.

将信源、报文和编码规则都看做随机变量,分别以犛,犕 和犈 表示,它

们分别从集合犛,犕和犈中取值,即犛,犕和犛上都带有一个概率分布.随机

Page 20: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

20    第2章 认 证 系 统

变量犛取值狊∈犛的概率记为狆(犛=狊),类似有狆(犈=犲),狆(犕 =犿),

这里犲∈犈,犿 ∈犕.为了简便,在不引起混乱时,上述概率可分别简记为

狆(狊),狆(犲)和狆(犿).同样,条件概率狆(犈 =犲狘犕 = 犿)也简记为

狆(犲|犿),它表示在观察到报文 犿 ∈犕时,所用编码规则为犲∈犈的概率.

设犲∈犈是发方和收方选用的编码规则,犿狉=(犿1,…,犿狉)∈犕狉,

当 犿犻(1≤犻≤狉)都是犲的有效报文时,记犳犲(犿狉)= (犳犲(犿1),…,

犳犲(犿狉))∈犛狉,其中狊犻 =犳犲(犿犻)是 犿犻所代表的信源.

仅考虑假冒攻击 (狉=0)及明文替换攻击,后者表示若敌方进行狉阶

欺骗攻击发出假报文犿′,仅当 犿′是犲的有效报文,且犳犲(犿′)≠犳犲(犿犻)

(1≤犻≤狉)时,敌方才算欺骗成功.这时收方接受 犿′,且被告知一个发方

未发的信源.在使用同一编码规则的情况下,如果收方两次收到同一报文,

则收方无法判断第二次收到的报文是来自发方,还是敌方故意重复发一次,

所以假定,在使用同一编码规则时,发方不会将同一信源发送两次.以犛狉表

示发方选择的最初狉个信源的随机变量,为此假定当且仅当狊1,狊2,…,狊狉

互不相同时,

狆(犛狉 = (狊1,狊2,…,狊狉))>0 (2.1)

(关于假设“当”的理由见命题31后的注).假定对任一犲∈犈,都有

狆(犲)>0, (2.2)

否则,这个编码规则永不使用,可以从犈中删除.

假定随机变量犈和犛狉是相互独立的,即对任一犲∈犈,狊狉 ∈犛狉,都有

狆(犲,狊狉)=狆(犲)狆(狊狉).

设 犿狉 = (犿1,…,犿狉)∈犕狉,犿犻(1≤犻≤狉)互不相同,定义

犈(犿狉)= {犲∈犈狘犿犻(1≤犻≤狉)是犲的有效报文}.

对某些犿狉,犈(犿狉)可能是空集.但对任一犿∈犕,犈(犿)总不是空集,否则

该报文犿 永不使用,可以从犕中删除.当犈(犿狉)不是空集时,称犿狉为许可

报文集.所有许可的 犿狉的集合记为

犕狉 = {犿狉 ∈犕狉狘犈(犿狉)≠ }.

以 犕狉表示发方发送的最初狉个报文的随机变量.犈 和犛狉的概率分布

Page 21: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

2.2 四方认证模型(犃2 码) 21   

决定了 犕狉 上的概率分布.任取犲∈犈,犿狉 ∈ 犕狉,若犲犈(犿狉),则

狆(犲,犿狉)=0;若犲∈犈(犿狉),则

狆(犲,犿狉)=狆(犲)狆(犳犲(犿狉)). (2.3)

以犘(犿|犿狉)表示在观察到狉个报文犿狉=(犿1,犿2,…,犿狉)∈犕狉

后,报文 犿 能成为有效报文的概率.这里假定 犿 ≠ 犿犻(1≤犻≤狉).易见

犘(犿狘犿狉)= ∑犲∈犈(犿

狉犿)

狆(犲狘犿狉),

其中 犿狉犿 = (犿1,…,犿狉,犿).敌方进行狉阶欺骗攻击的最佳策略

是选取 犿′,使狆(犿′|犿狉)达到最大值.于是狉阶最佳欺骗攻击的成功概

率为

犘狉 = ∑犿狉∈犕

狆(犿狉)犿犪狓犿∈犕犘(犿狘犿狉) (2.4)

(当狉=0时上式中没有求和符号).

令狆犛和狆犈分别表示犛和犈的概率分布.称五元组(犛,犕,犈,狆犛,狆犈)

为一个认证系统,而三元组(犛,犕,犈)为一个认证码(犃 码).

2.2 四方认证模型(犃2 码)

在上节讨论的三方认证模型中,假定发方和收方是互相信任的,他们不

会互相欺骗.但有些情况也可能不是这样,发方在发出一个报文后,不承认

是他发的;收方捏造了一个报文,声称它来自发方.在这种情况下就需要增

添仲裁方,考虑包含四方的认证模型.这里假定仲裁方是诚实的.

仍以犛和犕分别表示信源集合和报文集合.分别定义发方的编码规则

和收方的解码规则.一个编码规则仍是从犛 到 犕中的单射,映射的像集合

称为该编码规则的有效报文集合.收方的一个解码规则是从 犕到集合犛∪

{拒绝}上的一个映射,每个报文对应一个信源或对应“拒绝”.在前一情况,

该报文称为该解码规则的有效报文;在后一情况,该报文将被拒收.发方所

Page 22: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

22    第2章 认 证 系 统

有的编码规则集合记为犈犜,收方所有的解码规则集合记为犈犚.

设犳∈犈犚 是收方的一个解码规则,狊∈犛为一个信源,以犕(犳,狊)表示

在犳之下与狊对应的报文集合.对于同一犳及不同的信源狊,子集合犕(犳,狊)

互不相交.设犲∈犈犜 为一编码规则,犳为一个解码规则,若对任一狊∈犛,都

有犲(狊)∈犕(犳,狊),则称编码规则犲关于解码规则犳是有效的.

以下是一个四方认证系统的例子.以犃犌(3,犉犉狇)表示有限域犉犉狇上的

三维仿射空间,在其中取一条固定直线犔0,以犔0上的每个点作为信源,不

在犔0上的每个点作为解码规则,任一条既不与犔0相交也不与犔0平行的直

线作为编码规则,任一与犔0仅交于一点的平面作为报文.设犲为一编码规

则,狊为一信源,则犲(狊)为通过犲与狊的平面,它与直线犔0仅有一个交点狊,

否则,若有两个交点,则犔0将在平面犲(狊)之内,犔0与犲平行或相交,与解码

规则的定义矛盾.设犳为一解码规则,狊为一信源,通过犳与狊的任一平面,

只要它不包含犔0(即与犔0有唯一交点狊),就是一个报文,这些报文的集合

就是犕(犳,狊).所有通过点犳且与犔0交于一点的平面为解码规则犳的有效

报文.编码规则犲在解码规则犳之下有效,当且仅当点犳在直线犲之上,这

时对任一信源狊,犲(狊)一定在犕(犳,狊)内.当收方收到一个报文 犿 时,当且

仅当收方所选用的解码规则犳位于平面犿 之内时,犿 才能被收方接受.

在通信开始之前,收方选择一个解码规则犳,将它秘密交给仲裁方.对

应每个信源狊,仲裁方从犕(犳,狊)中指定一个报文,从而形成一个编码规则

犲∈犈犜,这时犲关于犳是有效的.仲裁方将犲秘密交给发方,以供发方使用.

在通信过程中,收方仅接受犳的有效报文,即属于某个 犕(犳,狊)的报文,该

报文所代表的信源也随之确定.当发方和收方因某一报文是否来自发方而

发生纠纷时,若所争议的报文是犲的有效报文,仲裁方则认为该报文来自发

方,因为只有发方知道编码规则;否则,仲裁方则认为该报文不是发方所发.

收方不知道仲裁方如何构造编码规则犲,他要找到一个犲的有效报文是不

容易的,即他要捏造一个报文,谎称它来自发方,而在仲裁时又能胜诉,是很

难成功的.发方不知道收方选用的解码规则犳,他要找到一个犳的有效报文

而同时又不是犲的有效报文也是不容易的,即他要发出一个报文后抵赖,而

在仲裁时又能胜诉的可能性也很小.对于敌方来说,他要找到编码规则犳的

一个有效报文,才可能欺骗成功.

考虑以下三种类型的攻击:

Page 23: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

2.2 四方认证模型(犃2 码) 23   

来自敌方的攻击犗狉:敌方观察发方(使用同一编码规则)发出的狉个报

文 犿1,犿2,…,犿狉后,向收方发出假报文 犿 (犿 ≠犿犻,1≤犻≤狉),如

果收方接受 犿,且 犿 与犿犻代表不同的信源,则认为敌方欺骗成功.

来自收方的攻击犚狉:收方在收到狉个报文犿1,犿2,…,犿狉后,声称

又收到一个报文犿 (犿≠犿犻,1≤犻≤狉),如果犿 是发方所用编码规则的

有效报文,则认为收方欺骗成功.

来自发方的攻击犜:发方发出一个报文后,又不承认,如果该报文被收

方接受,且它又不是发方所用编码规则的有效报文,则认为发方欺骗成功.

分别以犘犗狉,犘犚

狉和犘犜表示上述三类欺骗攻击的最佳成功概率,现在

来推导它们的表达式.

仍假定式(21)成立,对任一解码规则犳∈犈犚,定义

犕(犳)=∪狊∈犛

犕(犳,狊)

犈犜(犳)= {犲∈犈犜狘犲关于犳有效}.

犕(犳)是犳的有效报文集合,犈犜(犳)是关于犳有效的编码规则的集合.假定对

任一编码规则犲∈犈犜,至少存在一个解码规则犳使犲∈犈犜(犳).

对任一编码规则犲∈犈犜,定义

犕(犲)= {犲(狊)狘狊∈犛}犕

犈犚(犲)= {犳∈犈犚狘犲关于犳有效}.

对任一 犿狉 = (犿1,…,犿狉)∈犕狉,令

犈犚(犿狉)= {犳∈犈犚狘犿犻∈犕(犳),犳(犿犻)≠犳(犿犼),1≤犻<犼≤狉},

犈犚(犿狉)是使 犿狉有效的解码规则集合,又对任一犳∈犈犚,令

犈犜(犳,犿狉)= {犲∈犈犜狘犲∈犈犜(犳),犿犻∈犕(犲),1≤犻≤狉},

它是关于犳有效且使犿狉有效的编码规则的集合.

类似于上节,以犛狉,犕狉分别表示最初狉个信源和最初狉个报文的随机

变量,以犈犚,犈犜分别表示解码规则和编码规则的随机变量.假定对任一

Page 24: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

24    第2章 认 证 系 统

犳∈犈犚 有狆(犈犚 =犳)>0,对任一犲∈犈犜(犳),有狆(犈犜 =犲狘犈犚 =犳)>

0.由此亦可推出对任一犲∈犈犜 有狆(犈犜 =犲)>0,对任一犳∈犈犚(犲)有

狆(犈犚 =犳狘犈犜 =犲)>0.

对任一报文 犿 ∈犕,假定至少存在一个解码规则犳,使犿 ∈犕(犳),否

则 犿 永不被使用,可以从 犕中删除.同样,对任一解码规则犳的有效报文

犿 ∈犕(犳),假设至少存在一个犲∈犈犜(犳),使犿 ∈犕(犲),否则 犿 可以从

犕(犳)中删除.

以犘(犿|犿狉)表示当观察到报文 犿狉 = (犿1,犿2,…,犿狉)后,报文

犿 能被收方接受的概率(这里 犿1,犿2,…,犿狉,犿 代表互不相同的信

源),则

犘(犿狘犿狉)= ∑犳∈犈犚

(犿狉犿)

狆(犳狘犿狉).

类似于式(24)的定义,有

犘犗狉= ∑

犿狉∈犕

狆(犿狉)犿犪狓犿∈犕犘(犿狘犿狉). (2.5)

以犘(犿|犳,犿狉)表示给定解码规则犳和最初狉个报文后,犿 是发方所

用编码规则的有效报文的概率,则

犘(犿狘犳,犿狉)= ∑犲∈犈犜

(犳,犿狉犿)

狆(犲狘犳,犿狉).

从而定义

犘犚狉=∑

犳,犿狉

狆(犳,犿狉)犿犪狓犿∈犕犘(犿狘犳,犿狉). (2.6)

给定犳∈犈犚 及犲∈犈犜(犳),令

犕′(犲)=犕\犕(犲), 犕′犳(犲)=犕(犳)\犕(犲)犕′(犲).

以犘(犿′|犲)表示给定编码规则犲之后报文犿′∈犕′(犲)能被收方接受

的概率,则

犘(犿′狘犲)= ∑犳∈犈犚

(犲,犿′)狆(犳狘犲),

其中

Page 25: 1 什么是消息的认证press.ustc.edu.cn/sites/default/files/fujian/field... · 2014-08-31 · 只有收方知道他用的是哪一个密钥.当 敌方观察到发方所发出的“0”或“1”时,

2.3 注  释 25   

犈犚(犲,犿′)= {犳∈犈犚(犲)狘犿′∈犕′犳(犲)}.

定义

犘犜 =∑犲∈犈犜

狆(犲)犿犪狓犿′∈犕′(犲)

犘(犿′狘犲). (2.7)

以狆犛,狆犈犚 和狆犈犜 分别表示犛,犈犚 和犈犜 的概率分布.称七元组

(犛,犕,犈犚,犈犜,狆犛,狆犈犚,狆犈犜)为带仲裁的认证系统,而称(犛,犕,犈犚,犈犜)

为带仲裁的认证码(犃2 码).

2.3 注  释

犌犻犾犫犲狉狋、犕犪犮犠犻犾犾犻犪犿狊和犛犾狅犪狀犲在1974年发表他们的论文 犆狅犱犲狊

狑犺犻犮犺犱犲狋犲犮狋犱犲犮犲狆狋犻狅狀[13],构造了第一个认证码,这是认证理论发展的里程

碑.在同一时期,犛犻犿犿狅狀狊在这一领域独立工作,并建立了三方和四方认证

模型[40,41].

本章中所用的欺骗攻击成功概率的定义与1.3节所用犘1的定义略有

区别(用平均值代替一个极大值),这里的定义便于后面使用,但两种定义方

式对最后的理论结果并无影响.本章的定义取自[26]和[30].