安全通论(2)——攻防篇之“盲对抗”
杨义先 , 钮心忻    
北京邮电大学 信息安全中心, 北京 100876
摘要

精确地给出了黑客攻击能力和红客防御能力的可达理论极限.对黑客来说,如果想“真正成功”地把红客打败k次,那么一定有某种技巧,使他能够在k/C次进攻中,以任意接近1的概率达到目的;如果黑客经过n次攻击,获得了S次“真正成功”,那么一定有SnC.对红客来说,如果想"真正成功"地把黑客挡住R次,那么一定有某种技巧,使得他能够在R/C次防御中,以任意接近1的概率达到目的.反过来,如果红客经过N次防卫,获得了R次“真正成功”,那么一定有RND.这里CD分别是“攻击信道”和“防御信道”的信道容量.如果CD,那么黑客输;如果C>D,那么红客输;如果C=D,那么红黑实力相当.

关键词: 黑客    红客    进攻    防御    信道         
中图分类号:TN918.4 文献标志码:A 文章编号:1007-5321(2016)02-0113-06DOI:10.13190/j.jbupt.2016.02.023
The General Theory of Security (2)——Blind Offensive and Defensive
YANG Yi-xian , NIU Xin-Xin    
Information Security Center, Beijing University of Posts and Telecommunications, Beijing 100876, China
Abstract

The theoretical limitation of hacker attack ability and honker defense ability was given. If a hacker wants to successfully beat honker k times, he should have so good skills that he can achieve the purpose with probability arbitrarily close to 1 in the k/C times' offensive; If a hacker achieve S times' real success after n times' attack, there must be SnC. For the honker, if he wants to really successfully defense the hacker for R times, he must have so good skills that he can achieve the purpose with probability arbitrarily close to 1 in the k/C times' defensive; If a honker achieve N times' real success after N times' defensive, there must be RND. C and D respectively represents the channel capacity of offensive channel and defensive channel. If C<D, the hacker Honker will be losed; If C>D, the honker will be losed; if C=D, it means that they will get considerable strength.

Key words: hacker    honker    offensive    defensive    channel    

谁都承认,以网络安全、领土安全、环境安全、粮食安全、身体健康、公共安全、国家安全等为代表的“安全问题”是头等大事. 但是,直到现在为止,无论是国内还是国外,对安全问题都没有真正系统地研究过. 虽然各国都花费了大量的人力和物力研究具体的安全问题,但是大家都几乎是“只见树木,不见森林”,从来没有人提出过一整套适合于所有安全问题的系统的“安全基础理论”,甚至根本就不相信这样的理论会存在!

笔者不信邪,非要试图研究一套“放之四海而皆准”的安全基础理论,称为“安全通论”,当然,笔者很清楚,这样的理论绝非是能轻易建立和完成的. 在文献[1]中,已经证明了一个出人意料的结果:针对任何有限系统,若从安全角度去考虑,那么,它的所有“不安全”问题都可以很清晰地分解成一棵有限的“倒立树”,使得以下结论成立.

1) 只要用心维护好这棵“倒立树”的安全,那么整个系统的安全就可以得到充分保障了.

2) 如果系统出现了某个安全问题,那么就一定可以从这棵“倒立树”中分离出一个或几个“树枝”,满足:①除了这些“树枝”外,“倒立树”的所有其他“树枝”都是无病的;②对有病的“树枝”,只需要对其底部的带病末端进行“医治”,那么其他上层的“分枝”等都会自愈.

此处之所以要限定“系统是有限的”,是因为在现实工程中,所遇到的系统(如网络系统、消防系统、实际战场等)都是有限的.

实际上,文献[1]已经展示了“安全通论”的冰山一角,这更使大家相信“放之四海而皆准的”安全理论是存在的!

1 盲对抗场境描述

“攻防”是“安全”的核心,特别是在有红黑双方对抗的场景下(如战场、公安、网络安全等),“攻防”几乎就等于“安全”. 所以,在“安全通论”的建立过程中,将花费更多的篇幅来研究“攻防”问题. 但是,长期以来,人们并未对攻防场景进行过清晰的整理,再加上“攻防”一词经常被滥用,从而导致“攻防”几乎成了一个“只能意会不能言传”的名词,当然就更无法对“攻防”进行系统的理论研究了.

因此,为了理论研究,首先必须理清攻防场景. 更准确地说,将只考虑“无裁判的攻防”. 因为像日常看到的诸如拳击比赛等“有裁判攻防”的体育项目,并不是真正的“攻防”. 其实,“攻防”系统中,只有“攻方”和“守方”这两个直接利益方(虽然有时这种利益方可能超过两个),但绝没有无关的第三方,所以对“攻防”结果来说,吹哨的裁判员其实是干扰,是噪声,而且还是主观的噪声,必须去除.

“无裁判攻防”又可以进一步分为两大类:盲攻防、非盲攻防. 所谓“盲攻防”,意指每次攻防后,双方都只知道自己的损益情况,而对另一方却一无所知,如大国博弈、网络攻防、实际战场、间谍战、泼妇互骂等都是“盲攻防”的例子. 所谓“非盲攻防”,意指每次攻防后,双方都知道本次攻防的结果,而且还一致认同这个结果,如石头剪刀布游戏、下棋、炒股等都是“非盲攻防”的例子. 一般来说,“盲对抗”更血腥和残酷,而“非盲对抗”的娱乐味更浓. 这里只考虑“盲攻防”,有关“非盲攻防”的研究将在后续文章中给出.

为形象计,下面仍然借用拳击的术语来介绍“盲攻防”系统,当然,这时裁判已经被赶走,代替裁判的是“无所不知”的上帝.

攻方(黑客)是个神仙拳击手,永远不知累,可用随机变量X来表示. 他每次出击后,都会对自己的本次出击给出一个“真心盲评价”,如自认为本次出击成功或失败. 当自认为本次出击成功时,记为X=1;当自认为出击失败时,记为X=0. 但是,这个“真心盲评价”他绝不告诉任何人,只有他自己才知道(当然,上帝也知道)!此处,之所以假定“攻方(黑客)的盲自评要对外保密”是因为,大家可以因此认定他的盲自评是真心的,不会、也没有必要弄虚作假.

守方(红客)也是个神仙拳击手,他也永远不知累,可用随机变量Y来表示. 红客每次守卫后,也都会对自己的这次守卫给出一个“真心盲评价”,如自认为本次守卫是成功或失败. 当自认为守卫成功时,记为Y=1;当自认为守卫失败时,记为Y=0. 这个评价也仍然绝不告诉任何人,只有红客自己才知道(当然,上帝本来就知道)!同样,之所以要假定“红客的盲自评要对外保密”是因为,大家可以因此认定他的自评是真心的,不会也没有必要弄虚作假.

注:这里“盲评价”的“盲”,主要指双方都不知道对方的评价,而只知道自己的评价,但是,这个评价却是任何第三方都不能“说三道四”的. 比如,针对“黑客一拳打掉红客假牙”这个事实,也许吹哨的那个“裁判员”会认定“黑客成功”. 但是,当事双方的评价可能会完全不一样,比如,也许黑客的“盲自评”是“成功,X=1”(如果他原本以为打不着对方),也许黑客的“盲自评”是“失败,X=0”(如果他原本以为会打瞎对方眼睛);也许红客的“防卫盲自评”是“成功,Y=1”(如果他原本以为会因此次攻击毙命),也许红客的“防卫盲自评”是“失败,Y=0”(如果他原本以为对方会扑空). 总之,到底攻守双方对本次“打掉假牙”如何评价,只有他们自己心里才明白!大家看,“把那个吹哨的裁判员赶走”是正确的吧,谁敢说他不会“吹黑哨”呢?

裁判员虽然被赶走了,但是却把上帝请来了. 不过,上帝只是远远地在凌霄宝殿“看”热闹,他知道攻守双方心里的真实想法,因此也知道双方对每次攻防的真心盲自评,于是,他将攻守双方过去N次对抗的“盲自评结果”记录下来:

$$\left( {X,Y} \right) = \left( {{X_1},{Y_1}} \right)、\left( {{X_2},{Y_2}} \right)、 \cdots 、\left( {{X_N},{Y_N}} \right)$$

由于当N趋于无穷大时,频率趋于概率Pr,所以,只要攻守双方有足够长时间对抗,上帝便可以得到随机变量X、Y的概率分布和(X,Y)的联合概率分布:

Pr(攻方盲自评为成功)= Pr(X=1)=p

Pr(攻方盲自评为失败)= Pr(X=0)=1-p,0<p<1

Pr(守方盲自评为成功)= Pr(Y=1)=q

Pr(守方盲自评为失败)= Pr(Y=0)=1-q,0<q<1

Pr(攻方盲自评为成功,守方盲自评为成功)= Pr(X=1,Y=1)=a,0<a<1

Pr(攻方盲自评为成功,守方盲自评为失败)= Pr(X=1,Y=0)=b,0<b<1

Pr(攻方盲自评为失败,守方盲自评为成功)= Pr(X=0,Y=1)=c,0<c<1

Pr(攻方盲自评为失败,守方盲自评为失败)= Pr(X=0,Y=0)=d,0<d<1

这里,a、b、c、d、p、q之间还满足如下3个线性关系等式:

$$\begin{gathered} a + b + c + d = 1 \\ p = {P_r}\left( {X = 1} \right) = {P_r}\left( {X = 1,Y = 0} \right) + \\ {p_r}\left( {X = 1,Y = 1} \right) = a + b \\ q = {P_r}\left( {Y = 1} \right) = {P_r}\left( {X = 1,Y = 1} \right) + \\ {P_r}\left( {X = 0,Y = 1} \right) = a + c \\ \end{gathered} $$

所以,6个变量a、b、c、d、p、q中,其实只有3个是独立的.

足够长的时间之后,上帝“看”够了,便叫停攻守双方,让他们分别对擂台进行有利于自己的秘密调整,当然某方(或双方)也可以放弃本次调整的机会,如果他(他们)认为当前擂台对自己更有利的话. 这里,所谓的“秘密调整”,即指双方都不知道对方做了些什么调整. 比如,针对网络空间安全对抗,也许红客安装了一个防火墙,也许黑客植入了一种新的恶意代码等;针对阵地战的情况,也许攻方调来了一批增援部队,也许守方又埋了一批地雷等.

总之,攻守双方调整完成后,双方又在新擂台上再开始“下一轮”的对抗.

但是这里不研究攻守双方的“下一轮”对抗,只考虑“当前轮”,即由上面的X、Y、(X,Y)等随机变量组成的系统.

至此,“盲攻防”场景的精确描述就完成了. 可见,网络战、间谍战、泼妇互骂等对抗性很惨烈的攻防都是典型的“盲对抗”.

2 黑客攻击能力极限

根据第1节中的随机变量XY,上帝再新造一个随机变量Z=(X+Y)mod 2. 由于任何2个随机变量都可以组成1个通信信道,所以把X作为输入,Z作为输出,上帝便可构造出一个通信信道F,称为“攻击信道”.

由于攻方(黑客)的目的是要打败守方(红客),所以黑客是否“真正成功”不能由自己的盲评价来定(虽然这个盲评价是真心的),而应该是由“红客”的真心盲评价说了算,因此就应该有如下事件等式成立.

{攻方的某次攻击真正成功}=

{攻方本次盲自评为成功∩

守方本次盲自评为失败}∪

{攻方本次盲自评为失败∩

守方本次盲自评为失败}=

{X=1,Y=0}∪{X=0,Y=0}=

{X=1,Z=1}∪{X=0,Z=0}=

{1比特信息成功地从通信系统F的发端(X)

传输到了收端(Z)}

反过来,如果有1比特信息成功地从发端(X)传到了收端(Z),要么是“X=0,Z=0”,要么是“X=1,Z=1”. 由于Y=(X+Z)mod 2,所以由“X=0,Z=0”推知“X=0,Y=0”,由“X=1,Z=1”推知“X=1,Y=0”. 而“X=0,Y=0”意味着“攻方本次盲自评为失败∩守方本次盲自评为失败”,“X=1,Y=0”意味着“攻方本次盲自评为成功∩守方本次盲自评为失败”,综合起来就意味着“攻方获得某次攻击的真正成功”.

简而言之,如果黑客的某次攻击“真正成功”,那么“攻击信道”F就成功地传输1比特到收端;反之,如果有1比特成功地从“攻击信道”F的发端传送到了收端,那么黑客X就获得了一次“真正成功攻击”.

引理1 黑客获得一次“真正成功的攻击”,其实就对等于“攻击信道”F成功地传输了1比特.

根据仙农信息论的著名“信道编码定理”[2, 3]:如果信道F的容量为C,那么,对于任意传输率k/nC,都可以在译码错误概率任意小的情况下,通过某个n比特长的码字,成功地把k比特传输到收信端. 反过来,如果信道F能够用n比特长码字,把S比特无误差地传输到收端,那么,一定有SnC.

利用引理1,就可把这段话翻译成定理1.

定理1(黑客攻击能力极限定理) 设由随机变量(XZ)组成的“攻击信道”F的信道容量为C. 那么,如果黑客想“真正成功”地把红客打败k次,那么一定有某种技巧(对应于仙农编码),使得他能够在k/C次攻击中,以任意接近1的概率达到目的;反过来,如果黑客经过n次攻击,获得了S次“真正成功”的攻击,那么一定有SnC.

由定理1可知,只要求出“攻击信道”F的信道容量C,那么黑客的攻击能力极限就确定了.

下面计算F的“信道容量”C.

首先,由于随机变量Z=(X+Y)mod 2,所以可以由XY的概率分布得到Z的概率分布:

Pr(Z=0)=

Pr(X=Y)=

Pr(攻守双方的盲自评结果一致)=

Pr(X=0,Y=0)+ Pr(X=1,Y=1)=

a+d

Pr(Z=1)=

Pr(XY)=

Pr(攻守双方的盲自评结果相反)=

Pr(X=0,Y=1)+ Pr(X=1,Y=0)=

b+c=1-(a+d)

考虑通信系统F,它由随机变量XZ构成,即它以X为输入,Z为输出. 它的2×2阶转移概率矩阵为A=[A(X,Z)]=[Pr(ZX)],这里X,Z=0或1,于是有

$$\begin{gathered} A\left( {0,0} \right) = \\ {P_r}\left( {Z = 0|x = 0} \right) = \\ \left[{{P_r}\left( {Z = 0,X = 0} \right)} \right]/{P_r}\left( {X = 0} \right) = \\ \left[{{P_r}\left( {Y = 0,X = 0} \right)} \right]/\left( {1 - p} \right) = \\ d/\left( {1 - p} \right) \\ A\left( {0,1} \right) = \\ {P_r}\left( {Z = 1|X = 0} \right) = \\ \left[{{P_r}\left( {Z = 1|X = 0} \right)} \right]/{P_r}\left( {X = 0} \right) \\ \left[{{P_r}\left( {Y = 1,X = 0} \right)} \right]/\left( {1 - p} \right) = \\ c/\left( {1 - p} \right) = 1 - d/\left( {1 - p} \right) \\ A\left( {1,0} \right) = \\ {P_r}\left( {Z = 0|x = 1} \right) = \\ \left[{{P_r}\left( {Z = 0,X = 1} \right)} \right]/{P_r}\left( {X = 1} \right) = \\ \left[{{P_r}\left( {Y = 1.X = 1} \right)} \right]/p = a/p \\ A\left( {1,1} \right) = \\ {P_r}\left( {Z = 1|X = 1} \right) = \\ \left[{{P_r}\left( {Z = 1|X = 1} \right)} \right]/{P_r}\left( {X = 1} \right) = \\ \left[{{P_r}\left( {Y = 0,X = 1} \right)} \right]/p = b/p = \left( {p - a} \right)/p \\ \end{gathered} $$

因此,由XZ构成的通信系统F的转移矩阵为

$$\begin{gathered} A = \left[{\begin{array}{*{20}{c}} {A\left( {0,0} \right)}&{A\left( {0,1} \right)} \\ {A\left( {1,0} \right)}&{A\left( {1,1} \right)} \end{array}} \right] = \\ \left[{\begin{array}{*{20}{c}} {d/\left( {1 - p} \right)}&{1 - d/\left( {1 - p} \right)} \\ {a/p}&{1 - a/p} \end{array}} \right] \\ \end{gathered} $$

由于随机变量(X,Z)的联合概率分布为

$$\begin{gathered} {P_r}\left( {X = 0,Z = 0} \right) = {P_r}\left( {X = 0,Y = 0} \right) = d \hfill \\ {P_r}\left( {X = 0,Z = 1} \right) = {P_r}\left( {X = 0,Y = 1} \right) = c \hfill \\ {P_r}\left( {X = 1,Z = 0} \right) = {P_r}\left( {X = 1,Y = 1} \right) = a \hfill \\ {P_r}\left( {X = 1,Z = 1} \right) = {P_r}\left( {X = 1,Y = 0} \right) = b \hfill \\ \end{gathered} $$

所以,随机变量XZ之间的互信息为

$$\begin{gathered} I\left( {X,Z} \right) = \\ \sum\limits_x {\sum\limits_z \begin{gathered} p\left( {X,Z} \right)\lg \left( {p\left( {x,z} \right)/\left[{p\left( x \right)p\left( z \right)} \right]} \right) = \hfill \\ d\lg \left[{d/\left[{\left( {1 - p} \right)\left( {a + d} \right)} \right]} \right] + \hfill \\ c\lg \left[{c/\left[{\left( {1 - p} \right)\left( {b + c} \right)} \right]} \right] + \hfill \\ a\lg \left[{a/\left[{p\left( {a + d} \right)} \right]} \right] + \hfill \\ b\lg \left[{b/\left[{p\left( {b + c} \right)} \right]} \right] \hfill \\ \end{gathered} } \\ \end{gathered} $$

由于此处有a+b+c+d=1,p=a+bq=a+c,0<a,b,c,d,p,q<1,所以上述公式可以进一步转化为只与变量ap有关的如下公式(注意:此时q已不再是变量,而是确定值).

$$\begin{gathered} I\left( {X,Z} \right) = \left[{1 + a - \left( {p + q} \right)} \right] \times \\ \lg \left[{\left[{1 + a - \left( {p + q} \right)} \right]/\left[{\left( {1 - p} \right)\left( {1 + 2a - p - q} \right)} \right]} \right] + \\ \left( {q - a} \right)\lg \left[{\left( {q - a/\left[{\left( {1 - p} \right)\left( {p + q - 2a} \right)} \right]} \right)} \right] + \\ a\lg \left[{a/\left[{p\left( {1 + 2a - p - q} \right)} \right]} \right] + \\ \left( {p - a} \right)\lg \left[{\left( {p - a} \right)/\left[{p\left( {p + q - 2a} \right)} \right]} \right] \\ \end{gathered} $$

于是,利用此I(X,Z)就可知,以X为输入、Z为输出的信道F的“信道容量”C就等于Max[I(X,Z)](这里最大值是针对X为所有可能的二元离散随机变量来计算的),或者更简单地说,容量C等于Max0<a,p<1[I(X,Z)](这里的最大值仅仅是对两个变量ap在条件0<a,p<1下取的),所以该信道容量的计算就很简单了.

下面再来考虑“守”的情况.

3 红客守卫能力极限

设随机变量X、Y、Z和(X,Y)等都与前面相同.

根据随机变量Y(红客)和Z,上帝再组成另一个通信信道G,称为“防御信道”,即把Y作为输入,Z作为输出.

由于守方(红客)的目的是要挡住攻方(黑客)的进攻,所以,红客是否“真正成功”不能由自己的盲评价来定,而应该是由“黑客”的真心盲评价说了算,因此就应该有如下事件等式成立.

{守方的某次防卫真正成功}=

{守方本次盲自评为成功∩攻方本次盲自评为失败}∪

{守方本次盲自评为失败∩攻方本次盲自评为失败}=

{Y=1,X=0}∪{Y=0,X=0}=

{Y=1,Z=1}∪{Y=0,Z=0}=

{1比特信息成功地从防御信道G

的发端(Y)传输到了收端(Z)}

与“攻击信道”的情况类似,反过来,上述事件等式也就意味着:如果在“防御信道”G中,1比特信息成功地从发端(Y)传到了收端(Z),那么红客就获得了一次“真正成功的防卫”.

与引理1类似,有下面引理.

引理2 红客获得一次“真正成功的守卫”,其实就对等于“防御信道”G成功地传输了1比特.

与定理1类似,也可得到定理2.

定理2(红客守卫能力极限定理) 设由随机变量(YZ)组成的“防御信道”G的信道容量为D. 那么,如果红客想“真正成功”地把黑客挡住R次,那么一定有某种技巧(对应于仙农编码),使得他能够在R/C次防御中,以任意接近1的概率达到目的;反过来,如果红客经过N次守卫,获得了R次“真正成功”的守卫,那么一定有RND.

下面计算“防御信道”G的“信道容量”D.

考虑通信系统G,它由随机变量YZ构成,即它以Y为输入,Z为输出. 它的2×2阶转移概率矩阵为

B=[B(y,z)]=[Pr(z|y)],这里y,z=0或1,于是有

$$\begin{gathered} B\left( {0,0} \right) = {P_r}\left( {Z = 0|Y = 0} \right) = \\ \left[{{P_r}\left( {Z = 0,Y = 0} \right)} \right]/{P_r}\left( {Y = 0} \right) = \\ \left[{{P_r}\left( {X = 0,Y = 0} \right)} \right]/\left( {1 - q} \right) = d/\left( {1 - q} \right) \\ B\left( {0,1} \right) = {P_r}\left( {Z = 1|Y = 0} \right) = \\ \left[{{P_r}\left( {Z = 1,Y = 0} \right)} \right]/{P_r}\left( {Y = 0} \right) = \\ \left[{{P_r}\left( {X = 1,Y = 0} \right)} \right]/\left( {1 - q} \right) = b/\left( {1 - q} \right) \\ B\left( {1,0} \right) = \\ {P_r}\left( {Z = 0|Y = 1} \right) = \\ \left[{{P_r}\left( {X = 1,Y = 1} \right)} \right]/{P_r}\left( {Y = 1} \right) = \\ \left[{{P_r}\left( {X = 1,Y = 1} \right)} \right]/q = a/q \\ B\left( {1,1} \right) = {P_r}\left( {Z = 1|Y = 1} \right) = \\ \left[{{P_r}\left( {Z = 1,Y = 1} \right)} \right]/{P_r}\left( {Y = 1} \right) = \\ \left[{{P_r}\left( {X = 0,Y = 1} \right)} \right]/q = c/q \\ \end{gathered} $$

因此,由YZ构成的通信系统G的转移矩阵为

$$B = \left[{\begin{array}{*{20}{c}} {B\left( {0,0} \right)}&{B\left( {0,1} \right)} \\ {B\left( {1,0} \right)}&{B\left( {1,1} \right)} \end{array}} \right] = \left[{\begin{array}{*{20}{c}} {d/\left( {1 - q} \right)}&{b/\left( {1 - q} \right)} \\ {a/q}&{c/q} \end{array}} \right]$$

由于随机变量(Y,Z)的联合概率分布为

Pr(Y=0,Z=0)=Pr(X=0,Y=0)=d

Pr(Y=0,Z=1)=Pr(X=1,Y=0)=b

Pr(Y=1,Z=0)=Pr(X=1,Y=1)=a

Pr(Y=1,Z=1)=Pr(X=0,Y=1)=c

所以,随机变量YZ之间的互信息为

$$\begin{gathered} I\left( {Y,Z} \right) = \\ \sum\limits_Y {\sum\limits_Z {p\left( {Y,Z} \right)\lg \left( {p\left( {Y,Z} \right)/\left[{p\left( Y \right)p\left( Z \right)} \right]} \right)} } = \\ d\lg \left[{d/\left[{\left( {1 - q} \right)\left( {a + d} \right)} \right]} \right] + \\ b\lg \left[{b/\left[{\left( {1 - q} \right)\left( {b + c} \right)} \right]} \right] + \\ a\lg \left[{a/\left[{q\left( {a + d} \right)} \right]} \right] + \\ c\lg \left[{c/\left[{q\left( {b + c} \right)} \right]} \right] \\ \end{gathered} $$

由于此处有a+b+c+d=1,p=a+b,q=a+c,0<a,b,c,d,p,q<1,所以,上述公式可以进一步转化为只与变量aq有关的如下公式(注意:此时p不再是变量,而是确定值).

$$\begin{gathered} I\left( {Y,Z} \right) = \left( {1 + a - p - q} \right) \times \\ \lg \left[{\left( {1 + a - p - q} \right)/\left[{\left( {1 - q} \right)\left( {1 + 2a - p - q} \right)} \right]} \right] + \\ \left( {p - a} \right)\lg \left[{\left( {p - a} \right)/\left[{\left( {1 - q} \right)\left( {p + q - 2a} \right)} \right]} \right] + \\ a\lg \left[{a/\left[{q\left( {1 + 2a - p - q} \right)} \right]} \right] + \\ \left( {q - a} \right)\lg \left[{\left( {q - a} \right)/\left[{q\left( {p + q - 2a} \right)} \right]} \right] \\ \end{gathered} $$

于是,利用此I(Y,Z)就可知,以Y为输入、Z为输出的“防御信道”G的“信道容量”D就等于Max[I(Y,Z)](这里最大值是针对Y为所有可能的二元离散随机变量来计算的),或者更简单地说,容量D等于Max0<a,q<1[I(Y,Z)](这里的最大值仅仅是对两个变量aq在条件0<a,q<1下取的),所以,该信道容量的计算就很简单了.

到此,笔者也给出了红客防卫能力的极限.

4 攻守双方的实力比较

“信道容量”是指在传信率k/n保持不变的情况下系统所能传输的最大信息比特数,而每成功传输1比特,就相当于攻方的一次攻击“真正成功”(或守方的一次防守“真正成功”),所以,从宏观角度来看,就有以下定理.

定理3(攻守实力定理) 设CD分别表示“攻击信道”F和“防御信道”G的“信道容量”. 那么,如果CD,则整体上黑客处于弱势;如果C>D,则整体上红客处于弱势;如果C=D,则红黑双方实力相当,难分伯仲.

注意到“攻击信道”的容量C其实是q的函数,所以可以记为C(q);同理,“防御信道”的容量Dp的函数,可以记为D(p). 由此,在“盲对抗”中,红黑双方可以通过对自己预期的调整,即改变相应的概率分布qp,从而改变C(q)和D(p)的大小,并最终提升自己在“盲对抗”中的胜算情况. 换句话说,证明了一个早已熟知的社会事实.

定理4(知足常乐定理) 在“盲对抗”中,黑客(或红客)有两种思路来提高自己的业绩,或称为“幸福指数”:1) 增强自身的相对打击(或抵抗)力,即增加bd(或ca);2)降低自己的贪欲,即增加p(或q). 但是,请注意,你可能无法改变外界,即调整bd(或ca),却可以改变自身,即调整p(或q). 由此可见,“知足常乐”不仅仅是一个成语,而且也是“盲对抗”中的一个真理.

5 结束语

笔者的诀窍有两点:其一,巧妙地构造了一个随机变量Z=(X+Y)mod 2,并将“一次真正成功”的攻防问题等价地转换成了攻击信道(XZ)(或者防守信道(YZ))的“1比特成功传输”问题;其二,恰到好处地应用了看似风马牛不相关的仙农编码定理. 以上两点,任缺一项,就不会找到让“黑客悟空”永远也跳不出去的“如来手掌”.

其实,排除“事后诸葛亮”因素,屠呦呦获诺贝尔奖还真与她老父亲取名有关系. 因为任何人如果他的姓名与“青蒿”有关,那么他都会在碰到与“青蒿”所有相关的事情上,比其他人更多一分关注.

类似的歪打正着,最近也被笔者给碰上了. 20几年前读研时,笔者就看过仙农的著名论文“Communication Theory of Secrecy Systems”,后来就一直从事网络安全的科教工作. 由于仙农的这篇文章中有一个词“Secrecy”,所以,冥冥之中,总觉得仙农理论与安全有关,虽然明知其中的牵强多过实际,因为:一来,仙农的“Secrecy”仅仅是现在信息安全的很小一部分,更与本文中研究的“广义安全”相差十万八千里;二来,在本文中扮演核心角色的仙农编码定理其实是发表在仙农的另一篇著名论文“Mathematical Theory of Communication”中,根本就没有“Secrecy”. 但是,像屠呦呦会特别关注“青蒿”一样,笔者在考虑安全问题时,也特别关注仙农,这不,笔者这对“瞎猫”,就真的“碰到死耗子”了!

参考文献
[1] 杨义先, 钮心忻. 安全通论(1)之"经络篇"[EB/OL]. http://blog.sciencenet.cn/blog-453322-944217.html.[引用本文:2]
[2] Thomas M Cover, Joy A Thomas. 信息论基础[M]. 阮吉寿, 张华, 译. 北京:机械工业出版社, 2007.[引用本文:1]
[3] Shu Lin, Daniel J Costello Jr. 差错控制码[M]. 晏坚, 何元智, 潘亚汉, 等译. 北京:机械工程出版社, 2007.[引用本文:1]