CN111800416B - 基于非单调性动态认知逻辑的密码协议分析方法 - Google Patents

基于非单调性动态认知逻辑的密码协议分析方法 Download PDF

Info

Publication number
CN111800416B
CN111800416B CN202010631083.XA CN202010631083A CN111800416B CN 111800416 B CN111800416 B CN 111800416B CN 202010631083 A CN202010631083 A CN 202010631083A CN 111800416 B CN111800416 B CN 111800416B
Authority
CN
China
Prior art keywords
protocol
client
monotonicity
server
cryptographic protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010631083.XA
Other languages
English (en)
Other versions
CN111800416A (zh
Inventor
陈小娟
邓辉文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southwest University
Original Assignee
Southwest University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southwest University filed Critical Southwest University
Priority to CN202010631083.XA priority Critical patent/CN111800416B/zh
Publication of CN111800416A publication Critical patent/CN111800416A/zh
Application granted granted Critical
Publication of CN111800416B publication Critical patent/CN111800416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了基于非单调性动态认知逻辑的密码协议分析方法,涉及信息安全的密码协议形式化分析领域,解决了具有知识非单调性的密码协议不能用现有方法来分析的问题,现有的逻辑分析方法所建的模型不精确或推理复杂,导致分析不成功的问题。本发明中所述密码协议中包括多主体,主体包括主体的知识,各主体在协议运行过程中,主体的知识发生变化,该密码协议的整个执行过程采用LNC逻辑语言形式化,采用克里普克模型形式化各主体的知识以及知识的变化,所述LNC逻辑语言采用Forget行为扩展动态认知逻辑。本发明能够发现密码协议的潜在缺陷可以及时更正或更换协议。

Description

基于非单调性动态认知逻辑的密码协议分析方法
技术领域
本发明涉及信息安全领域的密码协议形式化分析技术,具体涉及基于非单调性动态认知逻辑的密码协议分析方法。
背景技术
随着5G网络通信时代的到来,信息安全成为人们关注的问题之一,因为没有信息安全,就没有国家安全。保障信息安全使用密码机制的网络协议即为密码协议,密码协议的设计与分析是信息安全中的研究重点,如果密码协议逻辑结构自身有缺陷,这就相当于在坚实的城墙中留下了一个无人看守的后门,未授权者就可以不用攻破密码就能获得信息或产生伪造或假冒。为了保证密码协议的正确性和安全性,需要一种有效的方法来对密码协议进行全面而严格的分析和验证。密码协议的形式化分析方法应运而生。现有的分析方法主要是针对知识单调增加的密码协议进行分析,而有些协议具有知识的非单调性,他们就无法分析。比如一次一密的会话中,要求主体用完一个密钥后就删除,下一次会话用新的密钥,或者说在一密钥被泄露后,主体就得放弃该密钥,就需要改变主体的知识集,所以说他的知识并不是单调增加的,又例如在一个进程中,一开始它拥有某个消息,但后来该消息被删除,这时进程主体将不再拥有该消息,现有的逻辑分析方法所建的模型不精确或推理复杂,导致分析不成功。
发明内容
本发明所要解决的技术问题是:具有知识非单调性的密码协议的不能用现有方法来分析的问题,现有的逻辑分析方法所建的模型不精确或推理复杂,导致分析不成功。本发明提供了解决上述问题的基于非单调性动态认知逻辑的密码协议分析方法。
本发明通过下述技术方案实现:
基于非单调性动态认知逻辑的密码协议分析方法,包括如下步骤:
S1、对给定的一个具有知识非单调性的密码协议,建立用于描述所述密码协议的具有非单调性用Forget扩展的动态认知逻辑语言
Figure GDA0002970000990000011
包括所述密码协议的语法和相应所述语法的语义;
S2、基于所述动态认知逻辑语言
Figure GDA0002970000990000012
结合克里普克模型和寄存器模型来描述及分析所述密码协议中各主体拥有的知识和协议执行过程中其知识的变化,所述描述过程为协议分析过程,描述结束得出该密码协议是否具有安全性。
进一步地,当所述密码协议为khat协议:
协议具体过程是:当用户提交一个作业时,khat协议的客户端创建一个文件,所述文件包含后面运行所述作业的所有信息,然后将文件发送给服务器,Khat服务器保存所述文件,客户端从内存中删除所述文件;
Khat服务器和客户端拥有一个会话密钥k用于在工作运行时使用,客户端生成一个新的密钥n以加密k,客户端保留为密钥kn,然后再用k加密n,客户端将加密结果nk发送给服务器,同样服务器保存n而客户端删除n,协议过程描述如下:
第一阶段:
客户端(c)和服务器(s)具有会话密钥k,客户端生成文件(Spool File),生成n;
第一步:c→s:(SF,n)k
客户端将文件SF和n联结并加密后发送给服务器,然后客户端用n加密k并保留kn,(SF,n)表示SF和n的联结,服务器收到(SF,n)k后解密得到SF和n;
第二步:c:删除k,SF,n;
客户端将文件SF和n以及k删除,用于防止客户端被攻击从而泄露k;
第二阶段:
服务器生成票据TGT,
第三步:s→c:n,(SF,TGT)k
服务器将新生成的票据TGT与SF一起加密后的文件和n发送给客户端;
客户端收到后用n解密kn得到k,再解密(SF,TGT)k,得到SF,TGT;客户端得到票据TGT后能运行作业;所述票据是有期限的票据,当所述作业运行时间超过所述票据的期限,所述作业运行会被中断,客户端再请求新的票据来运行作业。
所述描述的过程中,用表示动态认知逻辑语言的模型——克里普克模型来描述所述密码协议中各参与方的知识。
进一步地,所述主体包括客户端(c)、服务器(s)和攻击者(a),所述知识是用于表示消息,所述动态认知逻辑中的知识包括所有收发消息,一个消息表示一个寄存器,寄存器用于存放消息的值。
进一步地,当所述主体知道所述消息的值,所述Forget行为由该主体执行后,该消息该主体就不再拥有。所述消息的值包括但不限于密钥。
进一步地,用非单调的动态认知逻辑来分析具有知识非单调性的密码协议的安全性。本技术适用于对具有知识非单调性的密码协议的安全性分析,用非单调的动态认知逻辑所建的模型语言精确,用克里普克模型对协议中各参与方的知识描述得简洁直观,没有复杂的推理,大大提高成功分析的机率。
本发明具有如下的优点和有益效果:
本发明用Forget行为来扩展动态认知逻辑语言并给出这个语言精确的语法和语义,用这个语言对一个具有非单调性的密码协议进行了形式化分析。用克里普克模型结合寄存器模型简洁直观地刻画出这个协议的主体知道的知识,用Forget行为来表示主体忘记知识,体现知道的非单调性。
克里普克模型的变化详细地展示了协议中各主体的知识随着认知行为的执行而变化的情况,分析结果表明这个协议是有缺陷的。将扩展的动态认知逻辑用于具有知识非单调的密码协议的形式化分析,所建的模型精确,分析过程简洁明了,没有复杂的推理。能够发现密码协议的潜在缺陷可以及时更正或更换协议,以避免由协议缺陷带来的安全危害,从技术上减少使用不安全协议带来的损失。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明中实施例中协议的初始模型。
图2为本发明的实施例中服务器s发送(SF,n)k后的模型。
图3为本发明的实施例中服务器s发送(SF,n,ni)k后的模型。
图4为本发明的实施例中客户端c执行Forget(SF,n,ni,k)后的模型。
图5为本发明的实施例中s发送n和(SF,TGT)k后的模型。
具体实施方式
在对本发明的任意实施例进行详细的描述之前,应该理解本发明的应用不局限于下面的说明或附图中所示的结构的细节。本发明可采用其它的实施例,并且可以以各种方式被实施或被执行。基于本发明中的实施例,本领域普通技术人员在没有做出创造性改进前提下所获得的所有其它实施例,均属于本发明保护的范围。
为了描述具有知识非单调的密码协议,构建基于非单调的动态认知逻辑语言。
1.1非单调性密码协议语言
Figure GDA0002970000990000031
的语法:
构造一个非单调的认知逻辑语言
Figure GDA0002970000990000032
来描述密码协议,
Figure GDA0002970000990000033
表示非单调性(Non-monotone),C表示密码学(Cryptography)。动态认知行为增加到该语言里。
基于非单调性动态认知逻辑语言分析密码协议时,所述逻辑语言
Figure GDA0002970000990000034
包括其语法和相应的语义;
其中逻辑语言
Figure GDA0002970000990000035
的语法具体如下:
令P为基本命题集或寄存器的集合,A为主体集,具有知识非单调性的密码协议的语言
Figure GDA0002970000990000041
的语法归纳定义如下:
Figure GDA0002970000990000042
α::=Sam|Forgetam|α∨α|α;α
这里,p∈P,a∈A,
Figure GDA0002970000990000043
p是命题也是寄存器,N是自然数,α是认知行为,Sam表示a发送消息m,Forgetam表示a忘记消息m。(α∨α)表示行为的选择,(α;α)表示行为的顺序执行。
所述消息m包括但不限于主体拥有的消息,还包括所述消息m是主体从信息集中的信息构造的消息,构造规则如下:
Figure GDA0002970000990000044
所述构造规则中,分子表示构造条件,分母表示依据所述构造条件得到的结果。
当所述主体拥有mk和k,所述主体解密mk得到m;
当所述主体拥有两个消息m和m′,所述主体将两个消息m和m′串联起来;
当所述主体拥有一个级联消息,所述主体得到级联消息中的任何一个消息。
1.2非单调性密码协议语言
Figure GDA0002970000990000045
的语义
基于非单调性动态认知逻辑语言分析密码协议时,所述逻辑语言
Figure GDA0002970000990000046
包括描述密码协议的语义;
给出语义之前,需要知道认知行为的前提条件(Precondition)和后置条件(Postcondition)。一个动作的完成是需要前提条件的,本协议中动作的前提条件如下:
Pre(Sam)=Ka(m=N)
Pre(Forgetam)=Ka(m=N)
Pre(α;α′)=Pre(α)∧[α]Pre(α′)
Pre(α∨α′)=Pre(α)∨Pre(α′)
动作Sam,Forgetam要执行的前提都是该主体先得有m,就是主体得知道m的值,Ka(m=N)表示a知道m的值。一个消息m也可以看作一个寄存器,它的值就是这个寄存器存放的内容。
在不安全的网络中,动作Sam执行后,协议所有参与者包括窃听者都能得到这个消息m。所有主体都知道所有主体都知道了m的值,所以m的值成为了公共知识。执行Forgetam,意味着主体a在这个世界删除了m,这时候a在这个世界的信息集就没有m的值了,这个动作执行后的世界就不满足a知道m=N了。
因为这里用了寄存器模型,涉及到寄存器内容的问题,这个问题用寄存器真值指派来表示。根据猜数游戏,定义寄存器模型。
(寄存器模型)一个寄存器模型
Figure GDA0002970000990000051
中,(W,R)是一个多主体的
Figure GDA0002970000990000052
框架。V是一个值函数,它指派给每一个世界的值是一个元组(Pw,fw)。
·
Figure GDA0002970000990000053
在世界w为真的基本命题集。
·fw是在Q上的一个函数,指派每一个q∈Q(
Figure GDA0002970000990000054
变量的全局集)是一个元组(I,J,X),其中:I,J∈Z,I≤J,
Figure GDA0002970000990000055
(这里Z表示整数集合)表示以下意思:fw(q)通过fw 0(q),fw 1(q),fw 2(q)来表示q在w的取值范围。这个范围有一个下界I,上界J,一个排除值的集合X,即:fw(q)=(I,J,X)表示在世界w,q的可能值是I和J之间的数除了X,即:
Figure GDA0002970000990000056
(指派函数h)在寄存器模型中,值函数是指派命题(或寄存器)到整数的一个映射。在一个世界w的一个指派h记作:
Figure GDA0002970000990000057
(非单调性密码协议语言
Figure GDA0002970000990000058
的语义)给定原子命题集或寄存器集P和主体集A,令模型
Figure GDA0002970000990000059
状态w∈W,h是w上的一个指派。语言
Figure GDA00029700009900000510
的语义定义如下:
Figure GDA00029700009900000511
当且仅当
Figure GDA00029700009900000512
Figure GDA00029700009900000513
当且仅当p∈Pw
Figure GDA00029700009900000514
当且仅当h(p)=N;
Figure GDA00029700009900000515
当且仅当
Figure GDA00029700009900000516
Figure GDA00029700009900000517
当且仅当
Figure GDA00029700009900000518
或者
Figure GDA00029700009900000519
Figure GDA00029700009900000520
当且仅当对任一w′∈W,如果w~aw′,那么,对任一
Figure GDA00029700009900000521
Figure GDA00029700009900000522
当且仅当对任一w′∈W,如果w~Bw′,那么,对任一
Figure GDA00029700009900000523
Figure GDA00029700009900000524
当且仅当如果
Figure GDA00029700009900000525
和对所有的
Figure GDA00029700009900000526
Figure GDA0002970000990000061
那么
Figure GDA0002970000990000062
Figure GDA0002970000990000063
当且仅当对所有的
Figure GDA0002970000990000064
Figure GDA0002970000990000065
如果
Figure GDA0002970000990000066
Figure GDA0002970000990000067
Figure GDA0002970000990000068
那么(m=N)∈Pw′并且
Figure GDA0002970000990000069
Figure GDA00029700009900000610
当且仅当对所有的
Figure GDA00029700009900000611
Figure GDA00029700009900000612
如果
Figure GDA00029700009900000613
Figure GDA00029700009900000614
那么
Figure GDA00029700009900000615
并且
Figure GDA00029700009900000616
Figure GDA00029700009900000617
|α∨α′|=|α|∨|α′|
在一个不安全的网络中,执行后Sam后,网络中所有主体都会得到这个信息,等于公开宣告了m的值,所以执行这个动作后m的值成了公共知识,把模型限制到m=N的世界。主体a执行Forgetam后,就不再拥有m的值,所以该动作执行后的模型中,就不再满足主体a知道m的值。(α;α′)表示这两个行为顺序执行,(α∨α′)表示这两个行为选择执行。
实施例1:
khat协议要求用户要有一个有效的票据来保持有生命周期的认证环境下某一作业的长时间运行。在这个环境中,假设服务器是可信的,由它来发布票据,这个根据类似于kerberos协议[127]中的票据,当用户想要访问某服务器的资源时,必须先有该服务器的票据,并且这个票据没有过期。如果作业运行需要很长时间,用户需要对该作业未来的运行时间作出规划并预约,必要时更新票据,直到工作完成。作业保存在安全的服务器端,发送和接收都以加密的形式。服务器为请求访问的用户生成票据并以加密的形式和作业一起发送给用户。然后客户端运行作业。
协议具体过程是:当用户提交一个作业时,khat协议的客户端会创建一个文件,这个文件包含了后面运行该作业所需要的所有信息,如环境变量,然后将文件发送给服务器。Khat服务器保存该文件,而客户端从内存中删除该文件。Khat服务器和客户端拥有一个会话密钥k以便在工作运行时使用。客户端生成一个新的密钥n以加密k。它保留kn,然后再用k加密n,并将加密结果nk发送给服务器。同样服务器保存n而客户端删除n。这个过程主要是为了保护密钥k。协议过程描述如下:
第一阶段:
客户端(Client)和服务器(Server)都有会话密钥k。客户端生成文件(SpoolFile),生成n。
第一步c→s:(SF,n)k
这一步客户端(c)将文件SF和n联结并加密后发送给服务器(s)。然后客户端用n加密k并保留kn。(SF,n)表示SF和n的联结。服务器收到(SF,n)k后解密得到SF和n。
第二步c:删除k,SF,n。
这一步客户端将文件SF和n以及k删除。这主要是防止客户端被攻击从而泄露k。
第二阶段:
服务器生成票据TGT。
第三步s→c:n,(SF,TGT)k
服务器将新生成的票据与SF一起加密后的文件和n发送给客户端。
客户端收到后用n解密kn得到k,再解密(SF,TGT)k,得到SF,TGT(文件和票据)。客户端得到票据TGT才能运行作业。这个票据是有期限的,如果作业运行时间超过票据期限,作业运行会被中断,客户端需要请求新的票据来运行它。
应用于实施例1中非单调性密码协议的分析的实施例2:
从上节的描述可见,这个协议与其它协议不同的是,其中所涉及的知道的非单调性。在第二步,客户端删除一些信息后就不再拥有它们了。所以这类分析就不能使用原来的办法。应用动态认知逻辑,分析这个协议。
协议中有三个主体:客户端(c)、服务器(s)和攻击者(a)。即主体集A={c,s,a}。这里的攻击者(attacker)是一个积极的攻击者,他可以窃听这个信道传输的所有消息,而且会转发和响应消息,但是他没有密钥k。
首先,c和s有密钥k,而a没有。
在这里,认为某个主体拥有某个信息就是知道它的值。
c生成SF和n,也就是c知道它们的值。这个系统中把主体生成的数据看成是他已知的,正如初始分配的一样。所以,在协议运行的初始状态,各个主体的信息集为:
Figure GDA0002970000990000071
Is={k},
Ic={k,(SF,n)}(这里的I表示信息集,Ic表示主体c的信息集)。初始状态,攻击者a的信息集为空。为了书写简便,在信息集里存放寄存器的名称,表示该主体知道它们相应的值。为了分析的方便,这里把(SF,n)看成一个数据,因为它们总是联结出现,当然也可以分开的。根据寄存器模型,把一个数据看成一个寄存器,这里有两个寄存器k和(SF,n)数据名称就作为寄存器名称,它们的值用N来表示,即:k=N1,(SF,n)=N2,两个寄存器有4种可能的情况。协议的初始模型为图1。
把这个协议模型用Crypto来表示,同样地,真实状态用双椭圆来标明。从图1来看,以下公式成立
Figure GDA0002970000990000081
(注意这里的K和k是不同的,不同的含义用不同的字体表明,从一开始K表示算子知道,k表示密钥。)
根据构造规则,c有k和(SF,n),它可以构造(SF,n)k。于是c的信息集变为:Ic={k,(SF,n),(SF,n)k}。这时新的寄存器产生。假定(SF,n)k=N3,c将它发送给s,模型变化为图2。图2中省略了(SF,n),因为它不会被发送。在这个不安全的网络中,信息的发送等于是宣告了信息的值,那些(SF,n)k≠N3的情况就不存在了。所以这两个寄存器的值有两种可能的情况。可以看到c、s、a的知识变化。这时,他们的信息集为Ia={(SF,n)k},Is={k,(SF,n)k},Ic={k,(SF,n),(SF,n)k}。
由图2,可以得到
Figure GDA0002970000990000082
因为是在一个开放的网络中,发送一个数据就相当于是公开宣告了,所有的主体都知道所有的主体都知道这个信息了。从图2来看,s发送了(SF,n)k后,它就变成了公共知识。攻击者a得到了它,可以进行重放攻击。重放攻击的意思是说,攻击者可以把在网络中已经获得的信息不加改动地重新发送给接收方。往往在网络中传输的是加密数据即密文,即使攻击者不知道相应的明文,只要他明白这些密文的功能,就可以无限次地发送这些密文,使得接收者一直处理这个密文的任务。例如,在网上存取款系统中,假如这条消息是用户支取了一款项,窃听者完全可以多次发送这条消息欺骗银行而偷窃存款。这里,如果a多次发送这条消息,导致服务器端有多个作业文件需要处理,服务器端因为繁忙或引发网络拥塞。后面真正需要处理的文件被延长等待时间。协议分析到这就发现了这个严重缺陷。应对重放攻击常用的办法是在消息中加入新鲜纳时,当用户调度一作业时,会在消息中加入一个从未使用过的纳时,以表消息的新鲜性,这个纳时只能使用一次,如果服务器再收到含有这个纳时的消息,他就不再相信而忽略这条消息,从而有效地防止了重放攻击。因此,c增加一个新鲜纳时ni在加密数据里。这个协议改进为:
第一阶段:
客户端(Client)和服务器(Server)都有会话密钥k。客户端生成文件(SpoolFile),生成n。
第一步c→s:(SF,n,ni)k
客户端(c)将文件SF和n以及新鲜纳时ni联结并加密后发送给服务器(s)。客户端加密kn并保留。(SF,n,ni)表示SF和n以及新鲜纳时ni的联结。
第二步c:删除k,SF,n。
客户端将文件SF和n以及k删除。服务器收到(SF,n,ni)k后解密得到SF,n和ni
第二阶段:
服务器生成票据TGT。
第三步s→c:n,(SF,TGT)k
客户端收到后用n解密kn得到k,再解密(SF,TGT)k,得到SF,TGT(文件和票据)。
把改进后的模型用Crypto′来表示,不再重复前面的分析。s发送带新鲜纳时的加密文件后,所有主体的信息集被更新为:Ia={(SF,n,ni)k},Is={k,(SF,n,ni)k},Ic={k,(SF,n),(SF,n,ni)k}。令(SF,n,ni)k=N3,模型更新为图3。
图3满足
Figure GDA0002970000990000091
如果这时a再将这个消息进行重放,s将忽略它,因为s已经收到过含有ni的消息了。因此,这个安全缺陷消除。根据协议,c用n加密k,保留{k}n忘记其它所有的信息。假定kn=N4这时模型变为图4。
图4满足
Figure GDA0002970000990000092
这时,他们的信息集变为:Ia={(SF,n,ni)k},Is={k,(SF,n,ni)k,{k}n},
Ic={kn}。根据构造规则,s解密(SF,n,ni)k,得到SF和n,他有n和k所以他是知道kn的。这时候,c只有kn了。没有n和k,a也不能计算得到SF,即使他暴力控制客户端c,他也只有N3和N4这两个加密数据。所以这时候协议还是安全的。通常情况下,认为服务器s是安全的,不会遭受攻击。SF和n存储在服务器,因此,这一阶段密钥k得到了保护。
第二阶段,在生成票据TGT后,s发送n和(SF,TGT)k给c。c收到的同时a也窃听到了,所以所有主体的信息集被更新为:Ia={(SF,n,ni)k,n,(SF,TGT)k},Is={k,(SF,n,ni)k,kn,n,(SF,TGT)k},Ic={kn,n,(SF,TGT)k}。假定n=N5,(SF,TGT)k=N6。因为n,(SF,TGT)k成为了公共知识,所以n≠N5,(SF,TGT)k≠N6那些情况就不存在了。模型图变化为图5。
这时图5满足
Ks(k=N1)∧Ks,a((SF,n,ni)k=N3)∧CA((n=N5)∧((SF,TGT)k=N6))∧
Figure GDA0002970000990000093
上面的公式表明了目前各主体所有的知识。N5和N6变成了公共知识。因此,主密钥n被泄露。存储在客户端c的kn如果被暴力攻击,攻击者a就能得到k,从而作业SF和票据TGT被暴露。这个协议是不安全的。应该更换协议。在第二阶段,应用构建的非单调认知逻辑语言检测出了一个新的缺陷。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.基于非单调性动态认知逻辑的密码协议分析方法,其特征在于,包括如下步骤:
S1、对给定的一个具有知识非单调性的密码协议,建立用于描述所述密码协议的具有非单调性用Forget扩展的动态认知逻辑语言
Figure FDA0003116738160000011
包括该语言的语法和相应的语义;
S2、基于所述动态认知逻辑语言
Figure FDA0003116738160000012
结合克里普克模型和寄存器模型来描述及分析所述密码协议中各主体拥有的知识和协议执行过程中其知识的变化,描述过程为协议分析过程,描述结束得出该密码协议是否具有安全性;
在客户端和服务器都有会话密钥的前提下,描述及分析所述密码协议详细为:
S21、客户端生成文件以及主密钥;
S22、客户端对文件与主密钥联结加密并加入新鲜纳时后发送至服务器,新鲜纳时用于表示文件消息的新鲜性,所述新鲜纳时仅使用一次,当如果服务器再收到含有这个新鲜纳时的消息,服务器忽略这条消息;
S23、客户端用主密钥加密会话密钥并保留后删除文件、主密钥和会话密匙,服务器解密后得到文件和主密钥;
S31、服务器生成票据;
S32、服务器发送主密钥、用会话密钥加密的票据与文件至客户端,客户端收到后解密最终得到文件和票据;
服务器忽略攻击者发送的带有新鲜纳时的文件消息,带有新鲜纳时的消息在主体的信息集内更新,主体包括服务器和客户端;
S23中,攻击者获得客户端中主密钥加密会话密钥后的数据,即攻击者获取加密后的数据为寄存器的值,攻击者无法得到主密钥和会话密钥,攻击者无法计算得到文件消息和票据,此时协议为安全的,密钥受到保护;
S32中,攻击者窃听在服务器至客户端的发送数据路径,如果攻击者控制客户端,窃听到客户端知道的主密钥,攻击者解密获得会话密钥,从而获得票据和文件消息,票据和文件消息暴露,协议不安全;
基于非单调性动态认知逻辑语言分析密码协议时,所述逻辑语言
Figure FDA0003116738160000013
包括其语法和相应的语义;
其中逻辑语言
Figure FDA0003116738160000014
的语法具体如下:
P为基本命题集或寄存器的集合,A为主体集,具有知识非单调性的密码协议的语言
Figure FDA0003116738160000015
的语法归纳定义如下:
Figure FDA0003116738160000021
α::=Sam|Forgetam|α∨α|α;α
这里,p∈P,a∈A,
Figure FDA0003116738160000022
p是命题也是寄存器,N是自然数,α是认知行为,Sam表示a发送消息m,Forgetam表示a忘记消息m,(α∨α)表示认知行为的选择,(α;α)表示认知行为的顺序执行;
所述消息m包括但不限于主体拥有的消息,还包括所述消息m是主体从信息集中的信息构造的消息,构造规则如下:
Figure FDA0003116738160000023
所述构造规则中,分子表示构造条件,分母表示依据所述构造条件得到的结果;
基于非单调性动态认知逻辑语言分析密码协议时,所述逻辑语言
Figure FDA0003116738160000024
包括描述密码协议的语义;
语义包括认知行为的前提条件(Precondition)和后置条件(Postcondition)
认知行为动作的前提条件如下:
Pre(Sam)=Ka(m=N)
Pre(Forgetam)=Ka(m=N)
Pre(α;α′)=Pre(α)∧[α]Pre(α′)
Pre(α∨α′)=Pre(α)∨Pre(α′)
动作Sam,Forgetam要执行的前提是该主体先得有m,就是主体得知道m的值,Ka(m=N)表示a知道m的值;
给定原子命题集或寄存器集P和主体集A,令模型
Figure FDA0003116738160000025
状态
Figure FDA0003116738160000026
h是
Figure FDA0003116738160000027
上的一个指派;
语言
Figure FDA0003116738160000028
的语义定义如下:
Figure FDA0003116738160000029
当且仅当
Figure FDA00031167381600000210
Figure FDA00031167381600000211
当且仅当p∈Pw
Figure FDA00031167381600000212
当且仅当h(p)=N;
Figure FDA00031167381600000213
当且仅当
Figure FDA00031167381600000214
Figure FDA0003116738160000031
当且仅当
Figure FDA0003116738160000032
或者
Figure FDA0003116738160000033
Figure FDA0003116738160000034
当且仅当对任一
Figure FDA0003116738160000035
如果
Figure FDA0003116738160000036
那么,对任一
Figure FDA0003116738160000037
Figure FDA0003116738160000038
当且仅当对任一
Figure FDA0003116738160000039
如果
Figure FDA00031167381600000310
那么,对任一
Figure FDA00031167381600000311
Figure FDA00031167381600000312
当且仅当如果
Figure FDA00031167381600000313
和对所有的
Figure FDA00031167381600000314
Figure FDA00031167381600000315
Figure FDA00031167381600000316
那么
Figure FDA00031167381600000317
Figure FDA00031167381600000318
当且仅当对所有的
Figure FDA00031167381600000319
Figure FDA00031167381600000320
如果
Figure FDA00031167381600000321
Figure FDA00031167381600000322
Figure FDA00031167381600000323
那么(m=N)∈Pw′并且
Figure FDA00031167381600000324
Figure FDA00031167381600000325
当且仅当对所有的
Figure FDA00031167381600000326
Figure FDA00031167381600000327
如果
Figure FDA00031167381600000328
Figure FDA00031167381600000329
那么
Figure FDA00031167381600000330
并且
Figure FDA00031167381600000331
Figure FDA00031167381600000332
|α∨α′|=|α|∨|α′|。
2.根据权利要求1所述的基于非单调性动态认知逻辑的密码协议分析方法,其特征在于,所述描述的过程中,用表示动态认知逻辑语言的模型——克里普克模型来描述所述密码协议中各参与方的知识。
3.根据权利要求2所述的基于非单调性动态认知逻辑的密码协议分析方法,其特征在于,所述Forget扩展动态认知逻辑语言,所述主体包括协议中各参与方,所述Forget行为是用于表示主体忘记已经拥有的部分知识。
4.根据权利要求1所述的基于非单调性动态认知逻辑的密码协议分析方法,其特征在于,所述寄存器模型如下:
一个寄存器模型
Figure FDA00031167381600000333
中,(W,R)是一个多主体的
Figure FDA00031167381600000334
框架,V是一个值函数,它指派给每一个世界的值是一个元组(Pw,fw);
Figure FDA00031167381600000335
在世界w为真的基本命题集;
fw是在Q上的一个函数,指派每一个q∈Q(
Figure FDA00031167381600000336
变量的全局集)是一个元组(I,J,X),其中:I,J∈Z,I≤J,
Figure FDA0003116738160000041
(这里Z表示整数集合)表示以下意思:fw(q)通过fw 0(q),fw 1(q),fw 2(q)来表示q在w的取值范围;所述范围有一个下界I,上界J,一个排除值的集合X,即:fw(q)=(I,J,X)表示在世界w,q的可能值是I和J之间的数除了X,即:
Figure FDA0003116738160000042
CN202010631083.XA 2020-07-03 2020-07-03 基于非单调性动态认知逻辑的密码协议分析方法 Active CN111800416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010631083.XA CN111800416B (zh) 2020-07-03 2020-07-03 基于非单调性动态认知逻辑的密码协议分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010631083.XA CN111800416B (zh) 2020-07-03 2020-07-03 基于非单调性动态认知逻辑的密码协议分析方法

Publications (2)

Publication Number Publication Date
CN111800416A CN111800416A (zh) 2020-10-20
CN111800416B true CN111800416B (zh) 2021-07-27

Family

ID=72809956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010631083.XA Active CN111800416B (zh) 2020-07-03 2020-07-03 基于非单调性动态认知逻辑的密码协议分析方法

Country Status (1)

Country Link
CN (1) CN111800416B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104871477A (zh) * 2013-01-16 2015-08-26 三菱电机株式会社 加密系统、重加密密钥生成装置、重加密装置、加密方法和加密程序
CN105049420A (zh) * 2015-06-23 2015-11-11 天津大学 基于扩展uml的轻量级安全协议形式化验证方法
CN108229106A (zh) * 2017-12-26 2018-06-29 深圳数字太和科技有限公司 一种基于交互协议的动态库加解密及动态加载方法
CN110598443A (zh) * 2019-09-12 2019-12-20 卓尔智联(武汉)研究院有限公司 基于隐私保护的数据处理装置、方法及可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180337709A1 (en) * 2017-05-19 2018-11-22 Qualcomm Incorporated Techniques for grouping in mu-mimo systems based on limited probing
CN107528687B (zh) * 2017-09-29 2019-08-13 西安电子科技大学 基于物理层信道互相关性的动态密钥量化协商方法
US11392570B2 (en) * 2018-03-09 2022-07-19 Microsoft Technology Licensing, Llc Key-value store system
CN109600226B (zh) * 2019-01-25 2020-05-05 中国人民解放军国防科技大学 基于随机数隐式协商的tls协议会话密钥还原方法
CN110944012B (zh) * 2019-12-16 2021-09-10 西安电子科技大学 抗协议分析数据安全传输方法、系统、信息数据处理终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104871477A (zh) * 2013-01-16 2015-08-26 三菱电机株式会社 加密系统、重加密密钥生成装置、重加密装置、加密方法和加密程序
CN105049420A (zh) * 2015-06-23 2015-11-11 天津大学 基于扩展uml的轻量级安全协议形式化验证方法
CN108229106A (zh) * 2017-12-26 2018-06-29 深圳数字太和科技有限公司 一种基于交互协议的动态库加解密及动态加载方法
CN110598443A (zh) * 2019-09-12 2019-12-20 卓尔智联(武汉)研究院有限公司 基于隐私保护的数据处理装置、方法及可读存储介质

Also Published As

Publication number Publication date
CN111800416A (zh) 2020-10-20

Similar Documents

Publication Publication Date Title
Jaeger et al. Optimal channel security against fine-grained state compromise: The safety of messaging
Lincoln et al. A probabilistic poly-time framework for protocol analysis
Ganzinger et al. Towards an automatic analysis of security protocols in first-order logic
Abadi et al. A calculus for cryptographic protocols: The spi calculus
Roscoe et al. Proving security protocols with model checkers by data independence techniques
JP2020187375A (ja) ネットワーク内に分散データベースを効率的に実装するための方法及び機器
Lin et al. OBFP: Optimized blockchain-based fair payment for outsourcing computations in cloud computing
Gürgens et al. Security analysis of (un-) fair non-repudiation protocols
Guttman et al. The faithfulness of abstract protocol analysis: Message authentication
Okumura et al. Formal analysis of RFC 8120 authentication protocol for HTTP under different assumptions
Balbás et al. WhatsUpp with sender keys? Analysis, improvements and security proofs
CN111800416B (zh) 基于非单调性动态认知逻辑的密码协议分析方法
Durgin et al. Analysis of security protocols
Kähler et al. Constraint solving for contract-signing protocols
Bouroulet et al. Modeling and analysis of security protocols using role based specifications and Petri nets
Gauthier et al. Topos: A Secure, Trustless, and Decentralized Interoperability Protocol
Toussaint A new method for analyzing the security of cryptographic protocols
Fidge A survey of verification techniques for security protocols
Geihs Long-Term Protection of Integrity and Confidentiality–Security Foundations and System Constructions
Gürgens et al. Security analysis of efficient (Un-) fair non-repudiation protocols
Compton et al. Proof techniques for cryptographic protocols
Dojen et al. Establishing and fixing a freshness flaw in a key-distribution and authentication protocol
Beguinet et al. Formal Verification of a Post-Quantum Signal Protocol with Tamarin
Tjaden A method for examining cryptographic protocols
Chen et al. Secure transaction protocol analysis: models and applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant