时间相关密码协议逻辑及其形式化语义

合集下载

密码技术及其应用

密码技术及其应用
密码是为网络与信息安全服务的。网络系统安 全机制的简单模型一般可分为两步:
1)身份认证与密钥交换 2)保密通信 身份认证的作用:消息的接收者能够确认消息
的来源;入侵者不可能伪装成他人。身份认证 可分为两类: (1)对称认证(即常用的口令认证) (2)非对称认证(基于数字签名算法)
3.1.2 A5算法
A5算法是由法国人设计的、欧洲数字蜂窝移 动电话系统GSM采用的加密标准。该算法由3 个稀疏本原多项式构成的LFSR组成,寄存器 级数分别为19、22和23,其输出由3个LFSR的 输出相异或产生。
(3)数据认证算法(分组密码算法的认证模式,单向 Hash函数,数字签名算法)保证完整性(消息真实 性)。
2 密码技术标准
国际标准(ISO/IEC *****) 美国国家标准(ANSI X*.**) 美国联邦标准(FIPS ***) 互联网标准(RFC ****) 国际电信标准(ITU-T X.***) RSA实验室标准(PKCS **) 美国电气电子工程师协会标准(IEEE *****) 中国国家标准(GB *****)
(1)校验值ICV = AA (P, Ka, IV); (2)密文C = EA (K, IV, P || ICV)
初始向量
IV 加密密钥K 明文P
IV 认证密钥Ka
校验值 数据认证算法 ICV
IV

加密套件

密文C

法 加密ICV
Message
1.2 保密通信 ——加密过程(续)
{ j = ( j + s[i] + k[i]) mod 256; i0 = (i0+s[i]) mod 256; j0 = ( j0+s[j]) mod 256;

【江苏省自然科学基金】_密码分析_期刊发文热词逐年推荐_20140820

【江苏省自然科学基金】_密码分析_期刊发文热词逐年推荐_20140820

科研热词 推荐指数 门限密码 1 遗传差异 1 辅助定位按需路由 1 认证 1 线粒体基因组 1 移动自组织网络 1 最大秩距离码 1 智能电网 1 密钥管理 1 密码系统 1 安全路由 1 安全接入 1 头足纲 1 复合混沌 1 基因特征 1 哈希函数 1 双公钥 1 卫星网络 1 协调优化 1 信息安全 1 串空间 1 niederreiter公钥密码体制 1
2012年 序号 1 2 3 4 5 6 7 8 9
科研热词 隐私保护 空间有效பைடு நூலகம்密分享 秘密分享 秘密信道 离散对数 模型 攻击 协议 rfid
推荐指数 1 1 1 1 1 1 1 1 1
2013年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
2011年 科研热词 无证书公钥密码体制 双线性对 代理签名 随机预言模型 迭代算法 路由策略 负载传输 谓词模态逻辑 耦合映像格子 签密 秘密仿射变换 生日攻击 混沌密码 时间相关 无证书签名 无证书密钥协商 无证书加密 抗量子攻击 彩虹表 形式化语义 密码协议 安全模型 安全分析 多变量同构问题 多变量公钥密码体制 复杂网络 基于身份 可证明安全 可证安全 公钥密码系统 rainbow niederreiter公钥体静 md5散列算法 f-度量 推荐指数 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2008年 序号 1 2 3 4 5
科研热词 密钥协商 安全组播 基于身份的密码系统 双线性对 bilinear pairing
推荐指数 2 2 2 1 1
2009年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

逻辑学训练的过程与步骤从基础到高级的逻辑学习路径

逻辑学训练的过程与步骤从基础到高级的逻辑学习路径

逻辑学训练的过程与步骤从基础到高级的逻辑学习路径逻辑学是一门旨在培养思维严谨性和逻辑分析能力的学科。

通过逻辑学的学习与训练,我们能够提高我们的思考和推理能力,并能更好地应对各种问题。

本文将介绍逻辑学的训练过程和阶段,以及从基础到高级的逻辑学习路径。

一、基础阶段:逻辑学入门与基本概念的学习在逻辑学的学习过程中,我们首先需要了解基本概念和基本原理。

基础阶段主要包括以下几个方面的内容:1. 逻辑学的定义和范畴:介绍逻辑学的基本概念、研究对象和研究方法。

2. 命题逻辑:学习命题逻辑中的基本概念,如命题、逻辑联结词和真值表等,以及命题逻辑的推理规则和证明方法。

3. 谬误与论证:学习如何识别谬误和进行有效的论证,掌握常见的谬误类型和修辞手段。

4. 概念与判断:学习概念的形成和分类,以及判断的合法性和有效性。

二、中级阶段:逻辑学的深入研究与论证能力的培养在基础阶段的学习基础上,我们可以进一步深入研究逻辑学的相关领域,培养更高级的论证能力。

中级阶段主要包括以下几个方面的内容:1. 谓词逻辑:学习谓词逻辑的基本概念和形式化推理方法,进一步扩展命题逻辑的表达和推理能力。

2. 形式化推理:学习如何进行形式化推理,包括假设、推导和证明等步骤,培养严密的逻辑思维。

3. 逻辑学的应用:学习逻辑学在实际问题中的应用,如科学推理、法律论证和伦理分析等。

4. 因果关系与逻辑推理:学习因果关系的逻辑分析和推理,包括因果关系的判定和因果关系推理的方法。

三、高级阶段:逻辑学的专业研究与批判性思维的培养在中级阶段的学习之后,我们可以进一步深入研究逻辑学的专业领域,并培养批判性思维和逻辑分析的能力。

高级阶段主要包括以下几个方面的内容:1. 非经典逻辑:学习非经典逻辑的基本概念和表达方法,如模态逻辑和离散数学逻辑等。

2. 形式语义学:学习逻辑学的形式语义学,包括逻辑演算的语义模型和语义推导的方法。

3. 形式化语言学:学习逻辑学在自然语言处理和语义解释中的应用,进一步提高语言表达和分析的能力。

基于计算语义的安全协议验证逻辑

基于计算语义的安全协议验证逻辑

基于计算语义的安全协议验证逻辑唐朝京;鲁智勇;冯超【摘要】This paper proposes a logic for verifying security protocols in the computational model ,which can describe the computation and communication actions precisely .We present a cryptographically sound proof system on the logic and can formalize the various security properties for encryption algorithms directly .During the research ,several unsoundness of the formalization with the computational protocol compositional logic in prior work is discovered ,and corresponding solutions are proposed .By proving the security properties for the Needham-Schroeder-Lowe protocol ,the power of the logic is demonstrated .Being different from most of the current verification approaches ,this logic reasons about the security of protocols from the security of cryptographic algorithms forwardly ,and is both easy to use and cryptographically sound .%提出了一个基于计算语义的安全协议验证逻辑,能准确描述安全协议中的各种计算行为和通信行为。

BAN逻辑及其在协议认证中的缺陷

BAN逻辑及其在协议认证中的缺陷

BAN逻辑及其在协议认证中的缺陷作者:尚华,赵亮来源:《电脑知识与技术》2011年第10期摘要:BAN 逻辑可以证明协议是否能够达到预期目标,还能够发现协议中存在的一些缺陷。

论文在分析了BAN 逻辑的主要规则和分析步骤之后,着重研究了BAN 逻辑存在的各类缺陷,并对BAN 类逻辑需要改进的方面进行了讨论。

关键词:密码协议;BAN逻辑;形式化分析中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)10-2266-03在复杂的网络环境下,通信安全是人们首要关注的问题。

攻击者通过各种手段非法获得想要得到的有用信息。

为此,人们设计了诸多密码协议,如Nssk协议、Kerberos协议等等。

利用密码协议可以实现密钥的分配和交换、身份认证等,其目标不仅仅是实现通信的加密传输,更主要的是解决通信中的安全问题。

但是,现有的密码协议并非像设计者想象的那样安全。

很多情况下,密码协议仍然存在漏洞可能被攻击者利用,这并非是由于密码算法不够安全,而是由于协议本身的结构存在问题。

密码协议的安全分析是揭示密码协议是否存在缺陷和漏洞的重要途径。

通过对协议的形式化分析,可以发现其中的未知缺陷,进而可以针对这些缺陷对密码协议进行改进,提高其安全性。

认证协议是否正确,常用的方法:1) 采用逐个对协议进行攻击的检验方法;2) 应用形式化的分析工具,其中最典型的是BAN 逻辑。

BAN 逻辑是1989年由Burrows,Abadi和Needham提出的[1],它是一种基于信仰的模态逻辑。

在BAN逻辑的推理过程中,参加协议的主体的信仰随消息交换的发展而不断变化和发展。

应用BAN逻辑进行协议分析时,首先需要将协议的消息转换为BAN逻辑中的公式,即进行协议的“理想化步骤”,再根据具体情况进行合理的假设,然后利用逻辑的推理规则根据理想化协议和假设进行推理,推断协议能否达到预期的目标。

1 BAN逻辑的基本概念BAN逻辑在认证协议的形式化分析中发挥了积极有效的作用。

一种基于问题求解理论的密码协议形式模型

一种基于问题求解理论的密码协议形式模型
w ih i r a o a l d S u d c l d f e t e s c r y p p r e pe i l d r a o a l ; i e y t e lz u o t h c s e n e a o n ; al ei h e u i r et s rc s y a e n y s a o r a e a t mai s b n n t o i e n s b s i c
h o rp r e ol w : C ie a c r t r a p cf a in r c y tg a h c p o o o s h r v b e s ma t s s a s me p o t s a f l s a gv c u ae f m l s e i c t s f r p o r p i r tc l ; a p a l e n i e i s o n o i o o s o c
Fo m a o e o r pt g a h c p o o os b s d o r blm -ov n h o y r lm d lf r c y o r p i r t c l a e n p o e s l i g t e r
Z A u H O Y ,WA G Y ・i A i o g A ud n H O Q N ad,H N j h n ,F N Y —a ,Z A i —
种 基 于 问题 求 解 理 论 的 密 码 协 议 形 式 模 型
赵 宇 , 亚弟 , 继红 , 王 韩 范钰 丹 , 赵
( ho n 3 h t i c n zay 8 @ o l o ) ma .

( 息工 程 大学 电子技 术 学院 , 南 郑 州 4 00 信 河 504)
摘 要 : 出 了一种 基 于 问题 求解理 论 的 密码 协议 模 型 , 出 了模 型 了模型推理过程中涉及到的一些关键性的概念和命题。该模型具有以下特点 : 能够 对密码协议进行精确的形式化描述; 具有合理可靠的可证 明语 义; 密码协议安 全性 的定义精确合 对 理 ; 于 实现 自动 化推 理 。所 有这 些均 确保 了基 于该 模 型的 密码 协议 安全 性 分析 的合 理性 和有 效性 , 便 为 正确 的 分析 密码 协 议 的安 全性提 供 了可靠依 据 。 关 键词 : 密码协 议 ; 式模 型 ; 形 问题 求解理 论 ; 算 ; 算语 义 P演 运 中 图分类 号 : P 0 文 献标 识码 : T 39 A

基于CPN的安全协议形式化建模及安全分析方法

2021年9月Journal on Communications September 2021 第42卷第9期通信学报V ol.42No.9基于CPN的安全协议形式化建模及安全分析方法龚翔,冯涛,杜谨泽(兰州理工大学计算机与通信学院,甘肃兰州 730050)摘 要:为了解决有色Petri网(CPN)对安全协议进行形式化建模分析时,仅能判断协议是否存在漏洞而无法找出漏洞具体位置和攻击路径的问题,以及CPN建模时随着攻击者模型引入,安全协议的形式化模型可能的消息路径数量激增,状态空间容易发生爆炸导致难以提取准确攻击路径的问题,改进了基于CPN的安全协议形式化建模方法,验证并提取攻击路径的同时,采用更细粒度的协议建模及控制。

在状态空间收敛方面提出了CPN模型不同进程在各分层模型中等待−同步的方法控制状态空间规模。

通过针对TMN协议的安全评估分析,成功提取出该协议25条攻击路径,评估了该协议安全性的同时证明了所述方法的有效性。

关键词:有色Petri网;安全协议;形式化分析;状态空间;攻击路径中图分类号:TP393.06文献标识码:ADOI: 10.11959/j.issn.1000−436x.2021175Formal modeling and security analysis method ofsecurity protocol based on CPNGONG Xiang, FENG Tao, DU JinzeSchool of Computer and Communication, Lanzhou University of Technology, Lanzhou 730050, China Abstract: To solve the problem of modeling and analyzing with colored Petri net (CPN), which was determining vulne-rabilities in hole location but couldn’t identify any attack path, and the problem of when the introduction of the attacker model, the number of possible message paths in the CPN formal model of security protocol surges the state space prone to explosion, which made it difficult to extract accurate attack paths, the formal modeling method of security protocol was improved base on CPN, the attack paths were verified and extracted, further the fine-grained protocol modeling and control were adopted. As well as in the aspect of state-space convergence, and a waiting-sync method for different processes of CPN model in each hierarchy model was proposed, which effectively controlled the state-space scale of the model. Through the security evaluation and analysis of TMN protocol, 25 attack paths of the protocol are extracted suc-cessfully, the security of the protocol is evaluated, and the effectiveness of the proposed method is proved.Keywords: colored Petri net, security protocol, formal analysis, state space, attack path1 引言安全协议已成为现代计算机网络正常运转的基础,但由于其设计阶段的规范缺失和不可避免的逻辑缺陷,常会带来潜在的安全隐患,使各种协议的开发和安全性验证成为一项艰巨的任务[1]。

【计算机科学】_形式化研究_期刊发文热词逐年推荐_20140723


53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
107 linux 108 jena
1 1
推荐指数 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2010年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
推荐指数 3 3 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
科研热词 形式化验证 形式化分析 安全协议 web服务组合 风险过程 静态数据流图 重复序列的依赖性 逻辑一致性 逆向工程 进程隔离 软件架构 软件分析 语义 访问控制 设计模式 设计原则 认证性 计算机应用 角色 规划渗透图模型 规划域定义语言 花指令 联动代理 群体建模 网络安全 算法 知识表示 知识库 生命周期 消息通信 正则图 模型检测 模型 概念格 概念分数维 标记矩阵 架构描述语言 权利描述语言 本体 有限自动机 有qos保证 智能规划 普适计算 时间模型 时间戳 时序逻辑程序 无线ad hoc网络 数字权利管理 描述逻辑 执行语义 性能评价函数 性能分析模型

数理逻辑与形式逻辑的区别比较

数理逻辑与形式逻辑的区别比较数理逻辑和形式逻辑是逻辑学的两个重要分支,它们在研究对象、方法和应用方面存在一些明显的区别。

本文将就这些方面进行比较,以便更好地理解数理逻辑和形式逻辑的不同之处。

一、研究对象数理逻辑主要研究形式系统的语言结构和推理规则,以及这些系统的性质和应用。

它关注的是逻辑系统的数学表达和形式化,通过符号和公式的运算来研究逻辑问题。

数理逻辑通常以代数、集合论和模型论等数学工具为基础,以形式系统和证明论为核心内容。

形式逻辑则更注重于自然语言中的推理和论证。

它关注的是人类日常思维和语言表达中的逻辑规则和方法,以及如何通过推理来判断真假、合理与否。

形式逻辑研究的对象包括命题逻辑、谓词逻辑和模态逻辑等,通过语法和语义的分析来研究逻辑问题。

二、研究方法数理逻辑主要采用数学的方法来研究逻辑问题。

它通过公理和推理规则构建形式系统,通过符号和公式的运算来进行推理和证明。

数理逻辑强调精确性和形式化,通过严密的数学推导来研究逻辑问题。

它的研究方法更加抽象和理论化,注重逻辑系统的形式结构和性质。

形式逻辑则更注重于语言和语义的分析。

它通过对自然语言中的逻辑表达和推理规则的研究,来揭示人类思维和语言运作的规律。

形式逻辑的研究方法更加具体和实证,注重逻辑规则的应用和实际问题的解决。

它的研究方法更加接近日常思维和语言使用的方式。

三、应用领域数理逻辑主要应用于计算机科学、人工智能和数学等领域。

它在计算机程序设计、自动推理和证明、人工智能算法等方面有广泛的应用。

数理逻辑的形式化和精确性使得它在这些领域中具有重要的作用,可以帮助人们设计和分析复杂的逻辑系统和算法。

形式逻辑则主要应用于哲学、语言学和认知科学等领域。

它在逻辑学、语义学和认知科学的研究中发挥着重要的作用。

形式逻辑的研究可以帮助人们理解和分析自然语言中的逻辑结构和推理规则,揭示人类思维和语言运作的规律。

综上所述,数理逻辑和形式逻辑在研究对象、方法和应用方面存在一些明显的区别。

古典密码学 形式化验证

古典密码学是指在计算机出现之前使用的一些加密技术,包括凯撒密码、替换密码、移位密码等。

这些加密技术都是基于一定的数学原理和算法,但是随着计算机技术的发展,这些加密技术已经逐渐被现代密码学所取代。

而在现代密码学中,形式化验证是一种重要的技术手段,用于验证密码算法的正确性和安全性。

以下是形式化验证的详细阐述:
一、形式化验证的概念
形式化验证是一种通过数学方法和计算机技术来验证密码算法正确性和安全性的技术手段。

它可以通过数学证明和计算机模拟,检验密码算法的正确性和安全性,从而保证密码算法的可靠性。

二、形式化验证的方法
形式化验证的方法主要包括以下几种:
形式化规约:将密码算法的规范和要求形式化地描述出来,以便于后续的形式化验证。

形式化证明:通过数学方法和逻辑推理,证明密码算法的正确性和安全性。

模型检测:通过计算机模拟,对密码算法进行检测和验证。

符号执行:通过对密码算法进行符号计算,检验算法的正确性和安全性。

三、形式化验证的应用
形式化验证在密码学领域中得到了广泛的应用,例如对称加密算法、非对称加密算法、哈希算法等都可以通过形式化验证来保证其正确性和安全性。

同时,形式化验证也可以用于验证密码协议、安全协议等。

总之,形式化验证是一种重要的技术手段,可以有效地保证密码算法的正确性和安全性,提高密码算法的可靠性和安全性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件学报ISSN 1000-9825, CODEN RUXUEW E-mail: jos@Journal of Software,2011,22(3):534−557 [doi: 10.3724/SP.J.1001.2011.03732] +86-10-62562563 ©中国科学院软件研究所版权所有. Tel/Fax:∗时间相关密码协议逻辑及其形式化语义雷新锋1,2+, 刘军2, 肖军模21(中国科学院软件研究所信息安全国家重点实验室,北京 100190)2(解放军理工大学通信工程学院,江苏南京 210007)Time-Dependent Cryptographic Protocol Logic and Its Formal SemanticsLEI Xin-Feng1,2+, LIU Jun2, XIAO Jun-Mo21(State Key Laboratory of Information Security, Institute of Software, The Chinese Academy of Sciences, Beijing 100190, China)2(Institute of Communications Engineering, PLA University of Science and Technology, Nanjing 210007, China)+ Corresponding author: E-mail: leixinfeng@Lei XF, Liu J, Xiao JM. Time-Dependent cryptographic protocol logic and its formal semantics. Journal ofSoftware, 2011,22(3):534−557. /1000-9825/3732.htmAbstract: In cryptographic protocols, the agent’s epistemic and doxastic states are changeable over time. Tomodel these dynamics, a time-dependent cryptographic protocol logic is proposed. Our logic is based on thepredicate modal logic and the time factor can be expressed in it by invoking a time variable as a parameter ofpredicates and modal operators. This makes it possible to model every agent’s actions, knowledges and beliefs atdifferent time points. We also give the formal semantics of our logic to avoid the ambiguity of its language andmake the logic sound. The semantics is based on the kripke structure and the possible world in it is built both on thelocal world of agent and the specific world of time. This makes every possible world can give a global view of eachpoint of the protocol. Our logic provides a flexible method for analyzing the cryptographic protocols, especially thetime-dependent cryptographic protocols, and increases the power of the logical method for analyzing protocols.Key words: cryptographic protocol; time-dependent; predicate modal logic; formal semantics摘要: 在密码协议中,主体的认知与信仰状态是随时间推移而不断变化的.为了在协议分析中体现这种动态性,提出一种时间相关密码协议逻辑.该逻辑基于谓词模态逻辑,通过在谓词及模态词中引入时间参数以体现时间因素,使得逻辑可表达各个主体在协议不同时间点的行为、知识及信仰.给出该逻辑的形式化语义,在避免逻辑语言二义性的同时保证了逻辑的可靠性.该语义基于Kripke结构,将可能世界建立在主体局部世界与时间局部世界的基础上,使得任一可能世界能够反映协议的一个可能的全过程.该逻辑为密码协议,特别是时间相关密码协议提供了灵活的分析方法,增强了基于逻辑方法的协议分析能力.关键词: 密码协议;时间相关;谓词模态逻辑;形式化语义中图法分类号: TP309文献标识码: A∗基金项目: 国家自然科学基金(60873260, 60903210); 国家高技术研究发展计划(863)(2009AA01Z414); 国家重点基础研究发展计划(973)(2007CB311202); 江苏省自然科学基金(BK2008090)收稿时间: 2008-06-23; 修改时间: 2009-03-30; 定稿时间: 2009-07-06雷新锋等:时间相关密码协议逻辑及其形式化语义535在密码协议中,时间是影响其安全性的一个重要因素.一方面,任何协议都是对符合一定时序关系的行为序列的规定;另一方面,一些协议本身对时间关系有着严格的规定.如从保密性来说,要求消息在特定时间之前保密[1,2];从认证性来说,主体的信任状态是随时间的推移而变化的[3];从不可否认性来说,缺乏时限性可能导致公平性无法真正满足[4].因此,在分析密码协议的安全属性时,有必要将时间纳入考虑.为了分析密码协议,人们提出了各种方法.1989年,Burrows等人提出的BAN逻辑[5]是分析安全协议的一个里程碑,它将逻辑的方法引入了安全协议验证中,极大地激发了一大批研究者投入到安全协议的形式化分析中.然而随着研究的深入,人们发现BAN逻辑还存在一些不足,如语义不清晰,理想化过程受人为因素影响较大;另外,BAN逻辑注重对协议认证性的分析,但对保密性的分析能力有限[6].鉴于此,人们对BAN逻辑进行了各种改进,形成BAN类逻辑[7−9].其中,Abadi等人提出的AT逻辑[8]和Paul等人提出的SVO逻辑[9]给出了逻辑语义,使得逻辑的可靠性可以得到验证,也减少了逻辑的二义性.但其逻辑语言本身未包含时间因素,只是在语义模型中使用了时间.语义中使用了时间对逻辑进行解释这一点,说明了时间在密码协议中几乎是一个不可回避的因素.语言的语法中未出现时间表明它还是无法直接描述协议中的时间特性.另外,在这些语义模型中均利用了Kripke语义对认知逻辑进行了解释,即定义各种可能世界间的可达关系,并基于这种可达关系对认知算子做出解释.但由于所构造的可达关系只依赖于特定的主体,而与时间无关,其实质是在一个相对固定的时间点讨论可达关系,从而没有反映出基于时间的动态特性.Coffey等人提出一种CS逻辑[10],与以上BAN类逻辑不同的是,它将时间因素引入了逻辑中,体现出了时间在协议中的重要性.然而,CS逻辑只针对公钥密码协议,主要用于分析一般密码协议,分析的协议范围有限,使其对安全属性的分析受限.另外,CS逻辑也缺乏形式化语义,无法保证该逻辑的可靠性.文献[11]对CS逻辑进行了改进,但只是针对在分析特定协议时的改进,缺乏系统性.由于其语义不明确,导致逻辑的一致性难以保证.文献[12]针对文献[10,11]存在的问题作了进一步改进,但同样因为形式化语义的缺乏,未能完全避免其存在的问题.Zhang等人针对密码协议中的动态信仰提出一种分析密码协议的逻辑[3],并给出形式化语义,其动态性的反映不是直接建立在时间概念上,而是建立在情景(situation)上.在其所给出的逻辑语义中,可能世界之间的可达关系未明确定义.文献[13,14]采用时序逻辑与认知逻辑相结合的方法研究协议中主体的动态信仰,即同时使用了时序算子与认知模态算子.这类方法可在一定程度上反映主体信仰的变化,但时序算子对时间的反映是隐式的、相对的、概略的,对时间特性的表达力弱于使用谓词模态逻辑,如无法反映某特定时间的安全属性.其他方法中也有将时间引入密码协议分析中的,如文献[15]在Spi演算中加入时间因素对密码协议进行验证,但与本文的意图有所不同,它主要针对密码的破解而言.最近两年,有关时间相关协议的研究有逐渐增加的趋势[16−18],体现了人们对时间相关密码协议的重视.国内在时间相关密码协议逻辑方面的研究不多.2002年,梁坚等人通过对可证明性逻辑的扩展,引入基本的时态公式“x At t”及“timestamp”对密码协议的时限责任进行了分析[19].随后,范红、冯登国基于CS逻辑提出了一种分析Timed-release公钥协议的扩展逻辑[20].赵华伟等人针对文献[20]做了进一步的改进[21],其主要目的是将CS逻辑扩展到对称密码系统中,并对NS协议进行了分析,但未体现对时间相关安全属性的分析.以上研究均未对协议分析逻辑提出严格的逻辑语义.黎波涛、罗军舟针对Zhou-Gollmann协议[22]及其存在的时限性问题[4]对SVO逻辑进行了扩展[23],并据此分析了其公平性方面的缺陷,拓宽了协议的使用范围.但其扩展是专门针对分析不可否认协议的时限性需要而提出来的,它只考虑到了对信息发送与接收行为的描述,而对逻辑中的其他公式的时间没有进行描述[23].同时,由于SVO逻辑语义中可达关系的定义基于固定的时间点,因此,用扩展SVO 的方法无法真正反映认知状态的动态变化.本文的研究基于以下几方面的考虑:(1) 在密码协议的分析中,显式引入时间因素,使其可以分析时间相关的保密性以及与认证性相关的主体信仰的动态性.(2) 扩展密码协议逻辑的分析范畴.包括对对称和非对称密码协议(特别是时间相关密码协议)的支持.(3) 进一步形式化密码协议逻辑的语法,减少逻辑符号使用的随意性,为协议验证提供精确的数学描述[24].536 Journal of Software 软件学报 V ol.22, No.3, March 2011(4) 给出协议逻辑基于可能世界的形式化语义,其中,改变目前协议逻辑中对可能世界的定义,使其能够真正地代表整个协议运行过程的全局(目前,协议逻辑中的可能世界只能看成特定于某时间点的可能世界),可能世界间的可达关系不仅特定于主体,而且特定于时间.(5) 严格定义消息的析出与构造,以反映主体对消息的隐式处理能力.区分一个消息所包含的消息与主体可从一消息中获取的消息,使得逻辑系统对消息的表达更为合理. (6) 在形式化语义模型的基础上研究逻辑公理,确保逻辑的可靠性.从以上考虑出发,本文基于多类型变量的谓词模态逻辑提出一种时间相关密码协议逻辑(time-dependent cryptographic protocol logic,简称TCPL),给出其形式化语义及可靠性证明,并分析了协议实例.1 TCPL 的定义1.1 语法部分定义1. TCPL 的形式语言(记为L TCPL )由以下符号组成. (1) 常元:A 型常元e ;T 型常元τ0.(2) 变元:T 型变元:τ,τ′,τ″,…;A 型变元:i ,j ,…,i ′,j ′,…;K 型变元:k ,k ′,k ″,…;M 型变元:m ,m ′,m ″,….(3) 函词:一元〈A ,K 〉型函词AgentPublic ,AgentPrivate ;一元〈T ,K 〉型函词TimePublic ,TimePrivate ;一元〈K ,K 〉型函词Reverse ;二元〈T ,T ,T 〉型函词Plus ;二元〈A ,A ,K 〉型函词SharedKey ;二元〈M ,M ,M 〉型函词Combine ;二元〈M ,K ,M 〉型函词EnOrDec .(4) 谓词:一元〈M 〉型谓词#,二元〈T ,T 〉型谓词≤;二元〈M ,M 〉型谓词C ;三元〈A ,T ,M 〉型谓词R ,S ,H ;四元〈A ,T ,M , M 〉型谓词G .(5) 等词:〈T ,T 〉型等词=τ;〈A ,A 〉型等词=a ;〈K ,K 〉型等词=k ;〈M ,M 〉型等词=m . (6) 量词:∀τ,∀a ,∀k ,∀m . (7) 连接词:¬,→. (8) 模态词:B i ,τ.(9) 标点符号:,,(,)(逗号与括号). 定义2. 函词缩写. • ()i def k AgentPublic i +=. • ()i def k AgentPrivate i −=. • k τ+=def TimePublic (τ). • k τ−=def TimePrivate (τ). • k ij =def SharedKey (i ,j ). • [m 1,m 2]=def Combine (m 1,m 2). • [m ]k =def EnOrDec (m ,k ).• ()defkReverse k =%. • τ+τ′=def Plus (τ,τ′).定义3. L TCPL 的项分为T 型项、A 型项、K 型项和M 型项,分别用Backus Naur 范式定义. (1) T 型项:t τ::=τ0|τ|t τ+t τ. (2) A 型项:t a ::=i |e .(3) K 型项:i ::||||||a a a a k t t t t t t k t k k k k k k t ττ+−+−=. (4) M 型项:::||||[,]|[]k m a k m m m t t m t t t t t t τ=.定义4. L TCPL 的公式分为原子公式ϕA 和公式ϕ,分别用Backus Naur 范式定义.• ϕA ::=(t τ≤t τ)|C (t m ,t m )|G (t a ,t τ,t m ,t m )|R (t a ,t τ,t m )|S (t a ,t τ,t m )|H (t a ,t τ,t m )|#(t m )|(t a =a t a )|(t τ=τt τ)|(t k =k t k )|(t m =m t m ).雷新锋等:时间相关密码协议逻辑及其形式化语义537• ϕ::=ϕA|(¬ϕ)|(ϕ→ϕ)|∀ττϕ|∀a iϕ|∀k kϕ|∀m mϕ|B i,τϕ.定义5. 设ϕ,ψ为公式,定义连接词缩写.• (ϕ∨ψ)=def((¬ϕ)→ψ).• (ϕ∧ψ)=def(¬(ϕ→(¬ψ))).• (ϕ↔ψ)=def((ϕ→ψ)∧(ψ→ϕ)).定义6. 等词缩写.• (τ≠ττ′)=def(¬(τ=ττ′)).• (k≠k k′)=def(¬(k=k k′)).• (i≠a j)=def(¬(i=a j)).• (m≠m m′)=def(¬(m=m m′)).定义7. 谓词缩写.• (τ<τ′)=def((τ≤τ′)∧(τ≠ττ′)).• (τ>τ′)=def(¬(τ≤τ′)).• (τ≥τ′)=def((τ>τ′)∨(τ=ττ′)).• (τ1*τ2*…*τn)=def((τ1*τ2)∧(τ2*τ3)∧…∧(τn−1*τn))(其中,*∈{<,>,≤,≥,=τ}).• O(m)=def∀m m1∀m m2∀m m3(m≠m[m1]k∧m≠m[m2,m3]).• H!(i,τ,m)=def H(i,τ,m)∧∀a j(j≠a i→¬H(j,τ,m)).定义8. 量词缩写.• ∃ττϕ=def¬∀ττ¬ϕ.• ∃a iϕ=def¬∀a i¬ϕ.• ∃k kϕ=def¬∀k k¬ϕ.• ∃m mϕ=def¬∀m m¬ϕ.约定1. 优先级(括号省略原则).(1) 公式最外面的括号可以省略.(2) 公式所含的联结符的优先级由高到低排列如下:¬,=,∧,∨,→,↔(其中,=包括=τ,=a,=k,=m).(3)B i,τ的优先级与¬相同.(4) 同类联结词满足右向结合律.1.2 公理系统TCPL的公理系统由公理模式和推理规则及其全称化组成.A1. 所有多型变元谓词逻辑的公理模式(含等词)以及算术系统的公理.A2. 巴肯(Barcan)公式.(a) ∀xB i,τϕ↔B i,τ∀xϕ.(b) ∃xB i,τϕ↔B i,τ∃xϕ.其中,x为任一类型的变量,∀,∃为与x的型相应的量词,并且当x为A型变量或T型变量时,要求x不在模态词B i,τ中出现.A3. 单调性公理.(a) H(i,τ,m)→∀ττ′((τ′≥τ)→H(i,τ′,m)).(b) B i,τϕ→∀ττ′((τ′≥τ)→B i,τ′ϕ).在有时限性要求的协议中,以上公理仅在协议所给定的时间限制内成立.A4. 时间公理.(a) τ≤τ;(b) τ≤τ′∧τ′≤τ″→τ≤τ″.538 Journal of Software 软件学报 V ol.22, No.3, March 2011A5. 密钥公理.(a) τ<τ′∧j ≠a i ∧H (i ,τ,k τ′−)→¬H (j ,τ,k τ′−). (b) (,,)((,,))i a i H i k j i H j k ττ−−∧≠→¬.(c) H (i ,τ,k ij )∧H (j ,τ,k ij )∧((i ′≠a i )∧(i ′≠a j )→¬H (i ′,τ,k ij )).(d) j j ()()ikiikik k k k +−−+=∧=;(e) k j ()()k k k k ττττττ+−−+=∧=; (f) i ij a ijk k =. A6. 获取公理.(a) G (i ,τ,m ,m ).(b) (,,)(,,[],)k H i k G i m m ττ→%. (c) G (i ,τ,[m ,m ′],m )∧G (i ,τ,[m ,m ′],m ′). (d) G (i ,τ,m ,m ′)∧G (i ,τ,m ′,m ″)→G (i ,τ,m ,m ″). A7. 包含公理.(a) ∃a i ∃ττG (i ,τ,m ,m ′)→C (m ,m ′). (b) C (m ,m ′)∧C (m ′,m ″)→C (m ,m ″). A8. 主体行为公理.(a) R (i ,τ,m )∧C (m ,m ′)→∃a j ∃ττ′∃m m ″((τ′<τ)∧C (m ″,m ′)∧S (j ,τ′,m ″)∧H (j ,τ′,m ′)).(b) (,,)(,[])([],)(()(,)(,,)(,,))jjm k k R i m C m m C m m m C m m S j m H j m τττττττ−−′′′′′′′′′′′′′′′∧∧→∃∃<∧∧∧. (c) (,,)(,[])([],)ij ij k k R i m C m m C m m τ′′′′∧∧→(()(,)((,,)(,,)((,,)(,,)))m m C m m S i m H i m S j m H j m ττττττττ′′′′′′′′′′′′′′′′′∃∃<∧∧∧∨∧.(d) O (m )∧(j ≠a i )∧H !(j ,τ,m )∧H (j ,τ′,m )→∃m m ′∃ττ″((τ<τ″≤τ′)∧R (j ,τ″,m ′)∧G (j ,τ″,m ′,m ))∧∃m m ′∃ττ″((τ<τ″≤τ′)∧S (j ,τ″,m ′)∧C (m ′,m )). (e) ¬H (i ,τ,k )∧H (i ,τ,[m ]k )→∃ττ′∃m m ′((τ′<τ)∧R (i ,τ′,m ′)∧G (i ,τ,m ′,[m ]k )). A9. 拥有公理.(a) R (i ,τ,m )→H (i ,τ,m ). (b) S (i ,τ,m )→H (i ,τ,m ).(c) H (i ,τ,m )∧G (i ,τ,m ,m ′)→H (i ,τ,m ′). (d) H (i ,τ,m )∧H (i ,τ,m ′)→H (i ,τ,[m ,m ′]). (e) H (i ,τ,m )∧H (i ,τ,k )→H (i ,τ,[m ]k ). A10. 新鲜性公理.(a) #(m )∧S (i ,τ,m )→(τ0≤τ). (b) C (m ,m ′)∧#(m ′)→#(m ). A11. 信任公理.(a) B i ,τ(ϕ→ψ)∧B i ,τϕ→B i ,τψ. (b) S (i ,τ,m )→B i ,τS (i ,τ,m ). (c) R (i ,τ,m )→B i ,τR (i ,τ,m ). (d) H (i ,τ,m )→B i ,τH (i ,τ,m ). IR . 推理规则(inference rule). (a),ϕψϕψ→.雷新锋 等:时间相关密码协议逻辑及其形式化语义 539(b),i B τϕϕA A .2 TCPL 的语义2.1 TCPL 的模型直观上说,协议就是由一组主体按照规定的行为序列及消息格式进行信息交流的过程.协议的参与者 组成协议的主体集合A .每个主体有其初始状态,我们用0i q τ表示主体i 的初始状态,它反映了主体i 在协议执行 之前所拥有消息,它是一个静态的概念.在一个给定时间,每个主体都有其行为历史,行为历史常用主体自协议 开始执行以来的行为序列i τσ表示.我们用初始状态和行为历史来定义可能世界,并通过定义可能世界间的可达 关系对模态词进行解释.以下给出详细定义.定义9. TCPL 的论域D =A ∪T ∪K ∪M ,其中:(1) A 为主体集合,即密码协议的所有参与者或可能的参与者.(2) T 为时间集合,为整数的有限子集.≤为T 上的小于等于关系,τ0表示0,为协议运行的起始时间.这里,我们用离散时间对协议中的时间因素进行建模.(3) K 为密钥集合.密钥分为主体相关公钥及私钥、时间相关公钥及私钥、共享密钥以及其他一些密钥(如临时会话密钥)等.主体相关私钥在任何时候只能由其所相关的主体拥有,时间相关私钥在其所相关的时间之前只能由其生成者拥有.共享密钥在任何时候只能由共享该密钥的主体拥有.如果用一个密钥加密的消息可用另一密钥解密,则称这两个密钥互逆,记密钥k 的逆为k%.规定主体相关的公钥与同一主体相关的私钥互逆,时间相关的公钥与同一时间相关的私钥互逆,共享密钥与其自身互逆. (4) M 为消息集合,包括原子消息、加密消息和组合消息.其中,原子消息包括主体、时间、密钥、随机数及单个明文消息等未经组合或加密的消息.设任意m ∈M ,k ∈K ,则加密消息为利用k 对m 加密后形成的消息,记为[m ]k .设任意m ∈M ,m ′∈M ,则组合消息为m 和m ′的并置,记为[m ,m ′].定义10. 给定消息m ,称contain (m )为m 中所包含的消息的集合.形式化地,递归定义contain (m )如下:(1) m ∈contain (m ).(2) 如果[m ′,m ″]∈contain K (m ),则m ′∈contain (m )且m ″∈contain (m ). (3) 如果[m ′]k ∈contain K (m ),则m ′∈contain (m ).定义11. 给定密钥集合K 及消息集合M ,称extract K (M )为利用K 中的密钥可从M 中析出的消息集合.形式化地,递归定义extract K (M )如下:(1) 如果m ∈M ,则m ∈extract K (M ).(2) 如果[m ,m ′]∈extract K (M ),则m ∈extract K (M )且m ′∈extract K (M ).(3) 如果[m ]k ∈extract K (M ),且有kK ∈%或()Kk extract M ∈%,则m ∈extract K (M ). 当M 只包含单个消息m 时,extract K (M )为extract K ({m }),简记为extract K (m ).定义12. 给定密钥集合K 及消息集合M ,称construct K (M )为利用K 中的密钥和M 中的消息可构造出的消息集合.形式化地,递归定义construct K (M )如下:(1) 如果m ∈M ,则m ∈construct K (m ).(2) 如果[m ,m ′]∈construct K (M ),则m ∈construct K (M )且m ′∈construct K (M ).(3) 如果[m ]k ∈construct K (M ),且有kK ∈%或()Kk extract M ∈%,则m ∈construct K (M ). (4) 如果m ∈construct K (M ),m ′∈construct K (M ),则[m ,m ′]∈construct K (M ). (5) 如果m ∈construct K (M ),且有k ∈K 或k ∈extract K (M ),则[m ]k ∈construct K (M ). 当M 只包含单个消息m 时,construct K (M )为construct K ({m }),简记为construct K (m ). 定义13. 协议状态机是一个四元组(Q ,E ,δ,q 0),其中:540 Journal of Software 软件学报 V ol.22, No.3, March 2011(1) Q 为主体状态集.主体i 在τ时刻的状态为(,)i i i q M K τττ=,其中:i M τ为i 在τ时所生成的或收到的原始消息集合,即主体i 未对其进行过析出或构造;i K τ为主体i 在τ时所拥有的密钥集合.特别地,q 0为协议的初始状态,初 始状态可看作是由主体在τ0之前生成或收到的消息集合及密钥集合组成.(2) E 为主体行为集合.一个主体在协议中可执行的行为有3种:发送消息(send (m ))、接收消息(receive (m )) 以及生成消息(generate (m )).规定,主体可同时执行多种行为.用e ,e 1,e 2,…表示单个行为,用i τα表示主体i 在τ时的行为集合,则e ∈{send (m ),receive (m ),generate (m )},{(),(),()}i send m receive m generate m τα⊆.主体在协议中的所有 行为按照时间先后顺序的排列形成主体的行为序列.对于生成消息有如下限制:(i) 主体只能生成原子消息;(ii) 任何时候某主体生成了一个消息,则其他任何主体在任何时候都不能生成该消息;(iii) 在一个消息被生成之前,任何人都不拥有该消息.发送消息可分为首次发送和转发,其形式化定义在定义15中给出.(3) δ:Q ×2E →Q 为状态转换函数,表示主体i 的行为对其状态的改变.具体来说,设(,)i i i q M K τττ=且i 的下一 行为的发生时间为τ′(τ<τ′),则(,), {()}(,)(,)({},(())), {()}({},({})), {ii i i i i i i i i i i K i i i M K send m q M K q M m K key extract m receive m M m K key m gene ττττττττττττττταδααα′′′′′′′====∪∪=∪∪=当当当,()}rate m ⎧⎪⎪⎨⎪⎪⎩其中,key 为密钥选择函数.给定一个消息集合M ,如果k ∈M 且k ∈K ,则k ∈key (M ).由于协议本身规定了消息的格式,因此,协议的参与者有足够的能力做出这种选择.由上式可见,发送消息对主体的状态并无影响.而协议均是从单个发送消息的行为开始的,即主体在τ0时的 行为并未改变其初始状态.因此,下文直接用000(,)i i i q M K τττ=表示主体i 的初始状态.当主体i 在τ时的行为不止一个时,设12{,,...,}i n e e e τα=,则(,)(,{})ii i i e q q e τττταδαδ′′∈=U .其中,将状态的并定义如下:设q ′=(M ′,K ′),q ″=(M ″,K ″),则q ′∪q ″=(M ′∪M ″,K ′∪K ″).定义13中所涉及的状态,实际上可以看作主体在协议中的局部状态.由定义可见,主体局部状态的改变是由其一定的行为引起的,但从状态本身无法知道该状态是如何形成的.另外,某一行为的执行并不必然导致状态的改变(如发送消息).因此,为了更加全面地反映协议,在考虑状态因素的同时必须考虑其行为历史.定义14. Σ为行为历史集合,表示主体自协议执行以来的行为序列.一般地,用01...i i i i ττττσααα=表示主体i 在τ时的行为历史.扩展定义13中的状态转换函数为:Q Q δΣ×→,则对主体i 在τ时的状态i q τ,有0012(,)(...((,),),...,)i i i i i i i q q q τττττττδσδδδααα==.有了行为历史的概念,我们可以形式化地定义消息的首次发送和转发的概念.定义15. 称主体i 在τ时通过m ′首次发送了消息m (简称主体i 在τ时首发了消息m ),是指m ∈contain (m ′),()i send m τσ′∈且不存在i ′,τ′,m ″,使得i ′≠i ,τ′<τ,m ∈contain (m ″)且()i send m τσ′′′′∈.否则,称主体i 在τ时通过m ′转发了 消息m .定义16. 主体i 在τ时的局部世界0(,)i i i q τττωσ=,其中,0i q τ表示主体i 的初始状态,i τσ表示主体i 在τ时的行为历史.在此,我们区分了局部世界和局部状态.通过局部世界(包括初始状态和行为历史),使用状态转换函数可以很方便地得到主体的各种局部状态,但反之却不行.可见,局部世界的概念与局部状态的概念相比,能更为充分地描述协议,它体现了静态状态与动态行为的结合.定义17. 特定于时间τ的局部世界由所有主体在τ时的局部世界组成,以向量方式记为(,,...,)i j e ττττωωωω=;特定于主体i 的局部世界由主体i 在所有时间的局部世界组成,以向量方式记为01(,,...,)n T i i i i τττωωωω=.定义18. 协议的全局世界由所有局部世界组成,用矩阵表示为雷新锋 等:时间相关密码协议逻辑及其形式化语义 54100001111......(...)....n nn n i j e ij e i je i j e ττττττττττττωωωωωωωωωωωωωωωω⎛⎞⎛⎞⎜⎟⎜⎟⎜⎟⎜⎟===⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎝⎠⎝⎠MMM M MW 为协议的所有可能的全局世界的集合,简称可能世界.下文中,,()i i q ττωω分别表示在可能世界ω中,主体i 在τ时的局部世界及局部状态;用(),()i i τταωσω分别表示在可能世界ω中,主体i 在τ时的行为及行为历史;用(),()i i M K ττωω分别表示在可能世界ω中,主体i 在τ时所拥有的原始消息集合及密钥集合.任一ω∈W 应满足如下条件:(1) 存在主体收到某消息,则一定存在主体在此之前发送过该消息.即,如果有()()i receive m ταω∈则一定存在τ′<τ,j ∈A ,使得()()j send m ταω′∈.特别地,存在主体收到包含消息m 的消息,则一定存在主体在此之前通过某消息首发了消息m ;(2) 主体只能发送自己拥有的信息.即,如果存在i ,τ使得()()i send m ταω∈,则一定有()(()).ii K m construct M ττωω∈特别地,如果主体通过某消息首发了消息m ,则该主体一定拥有消息m .定义19(行为历史的相等). 设001111112222()()()...(),()()()...()i i i i i i i i ττττττττσωαωαωαωσωαωαωαω==,称1()i τσω=2()i τσω,当且仅当对任意的τ′,τ0≤τ′≤τ有12()()i i τταωαω′′=.定义20(可达关系). 可能世界间的可达关系被定义为i R W W τ⊆×.设ω,ω′∈W ,称i R τωω′当且仅当i i ττωω′=. 定义21. TCPL 的模型(,)(,(),,)i i A T W R D I ττ∈∈=M 由以下4部分组成:(1) 集合W ,具体见定义18,其元素为可能世界,常用ω′,ω″,ω1,ω2,…表示. (2) 集合D ,具体见定义9.约定对于同一协议来说,D 为各可能世界的公用论域. (3)i R W W τ⊆×为可能世界间的可达关系,具体见定义20.与一般模态逻辑不同的是,i R τ并非单个关系,而是一个关系的集合,对于任意i ∈A ,τ∈T 均有一个相应的可达关系i R τ.(4) I 为一解释,它指称L TCPL 中的常元、函词、谓词、等词和模态词.对任一常元c ,I (c )为与c 相应的论域中的一个元素,简记为c .对每一函词f (n ),I (f (n ))为与f (n )的型相应的论域上的n 元函数,记为()n f .对每一谓词P (n ),I (P (n ))为与P (n )的型相应的论域上的n 元关系,记为()n P (将等词和模态词看作特殊的谓词). 为描述方便,在不产生混淆的情况下,我们在模型内将一些语法符号解释给其自身.例如,如果c 为常元,f 为函词,则I (c )=c ,I (f )=f ,下文将给出其具体含义.该约定仅仅是从符号表示的方便考虑的,根据上下文,不难判定其是语法表示还是语义表示. 2.2 TCPL 的基本语义TCPL 的语义包括对变元取值的指派、对项的指称、对公式真值条件的规定.我们在TCPL 的模型中对其进行讨论,并由以下定义给出:定义22. 指派是指映射s :{v 1,v 2,v 3,…}→D ,其中,v i 表示变量(包括各型变量).即,对任一i =1,2,3…,s (v i )∈D .即,s 对各型变元指派其相应论域中的个体作为其取值.为表述方便,未对D 中各子论域进行区分,但应该明确,某一型的变量只能被映射到D 中与该型变量相应的子论域中(下文默认这一约定).定义23. 项的指称是指从项到论域D 的映射,可通过对s 的扩展得来[25].定义s 为项集合到论域的映射,对 任意项t ,有()()11(), (), .((),...,()), (,...,)n n n n s v t v s t c t c f s t s t t n f t t ⎧⎪=⎨⎪⎩当为变元时当为常元时当为元函数时542 Journal of Software 软件学报 V ol.22, No.3, March 2011定义24. 解释I 的具体定义如下(本定义中谓词的表示式指谓词命名式):• I (e )为攻击者,它抽象了所有可能的攻击者以及各种环境因素. • I (τ0)为协议执行的起始时间.• I (AgentPublic (i )),即()i I k +,表示主体()s i 的公钥. • I (AgentPrivate (i )),即()i I k −,表示主体()s i 的私钥. • I (TimePublic (i )),即I (k τ+)表示与时间()s τ相关联的公钥,称为时间()s τ的公钥. • I (TimePrivate (i )),即I (k τ−)表示与时间()s τ相关联的私钥,称为时间()s τ的私钥. • I (SharedKey (i ,j )),即I (k ij ),表示主体()s i 和()s j 的共享密钥.•I (Combine (m 1,m 2)),即I ([m 1,m 2]),表示消息1()s m 与2()s m 的组合消息.• I (EnOrDed (m ,k )),即I ([m ]k ),表示用密钥1()s k 对消息()s m 进行的加密或解密.• I (Reverse (k )),即()I k %,表示密钥()s k 的逆,表示为k ()s k .• I (Plus (τ,τ′)),即I (τ+τ′),表示时间()s τ与()s τ′之和.• I (C (m ,m ′))表示消息()s m 包含消息()s m ′.• I (τ1≤τ2)表示时间τ1先于时间τ2,即12()()s s ττ≤.此处为表述的方便,直接将≤解释为T 上的≤关系; •I (S (i ,τ,m ))表示主体()s i 在时间()s τ时发送消息()s m . • I (R (i ,τ,m ))表示主体()s i 在时间()s τ时接收消息()s m . • I (H (i ,τ,m ))表示主体()s i 在时间()s τ时拥有消息()s m . • I (#(m ))表示消息()s m 是新鲜的.• I (G (i ,τ,m ,m ′))表示在时间()s τ时,主体()s i 可从消息()s m 中获取消息()s m ′. •I (i =a j )表示()()a s i s j =,其中,=a 表示集合A 上的相等关系.• I (τ=ττ′)表示()()s s τττ′=,其中,=τ表示集合T 上的相等关系. • I (k 1=k k 2)表示12()()k s k s k =,其中,=k 表示集合K 上的相等关系. • I (m 1=m m 2)表示12()()m s m s m =,其中,=m 表示集合M 上的相等关系. • I (B i ,τϕ)表示主体()s i 在时间()s τ相信命题I (ϕ).根据以上解释,我们也可以给出一些缩写谓词的解释,如O (m )被解释为m 为原子消息;H !(i ,τ,m )被解释为主体i 在τ时单独拥有消息m .定义25(公式的真值条件). 用ωϕB M [s](简记为ωϕB M )表示公式ϕ在模型M 的可能世界ω中对指派s 真,“iff”表示“当且仅当”,则公式(1)() iff ()()t t s t s t ωττττ′′≤≤B M .(2) (,) iff ()(())m m m m C t t s t contain s t ω′′∈B M . (3) ()()()(,,,) iff ()(())s t s t aa m m m m K G t t t t s t extract s t τωτω′′∈B M.(4) ()()()()()(,,) iff ()(())s t as t as t a m m s t K H t t t s t construct M ττωτωω∈B M.(5) ()()(,,) iff (())()a s t a m m s t S t t t send s t τωταω∈B M . (6) ()()(,,) iff (())()a s t a m m s t R t t t receive s t τωταω∈B M .(7) #()m t ωB M iff 存在m ∈M 使得(())m m contain s t ∈,且对任意i ∈A ,τ∈T ,如果τ<τ0,则(())()i send s m ταω∉. (8) ()((),(),()) iff a a a k k k m m m t t t t t t t t ωωωωτττ′′′′====或B B B B M M M M()()(()(),()(),()())a a ak k k m m m s t s t s t s t s t s t s t s t τττ′′′′====或. (9) () iff ωωϕϕ¬B H M M .(10) () iff ωωωϕψϕψ→或B H B M M M .(11) (())((()),(()),(()))a k m i i k k m m ωωωωτϕτϕτϕϕ∀∀∀∀或B B B B M MM M iff 对任意的θ∈A (或ι∈T ,κ∈K ,μ∈M ),有 []([],[],[]),ωωωωϕθϕιϕκϕμ或B B B B M M M M雷新锋 等:时间相关密码协议逻辑及其形式化语义 543其中,对ϕ[θ](或ϕ[ι],ϕ[κ],ϕ[μ])说明如下[26]:考虑在L TCPL 中额外定义A 型常量c a (或T 型常量c τ,K 型常 量c k ,M 型常量c m ),形成扩展语言L TCPL ∪{c a }(或L TCPL ∪{c τ},L TCPL ∪{c k },L TCPL ∪{c m }),并将其模型扩展为(,,)a k m c c c c τθικμ或M M M M ,在(,,)a k mc c c c τθικμ或M M M M 中,将c a (或c τ,c k ,c m )解释为A (或T ,K ,M )中的θ(或ι,χ,μ),其余解释与模型M 保持相同,则[]([],[],[]) iff ()((),(),()).c c c c a k m a k m c c c c τικμθωωωωωωωωτϕθϕιϕκϕμϕϕϕϕ或或B B B B B B B B M M M M M M M M(12) ,i B ωτϕB M iff 对所有ω′∈W ,如果((s s i R τωω′)),则有ωϕ′B M .基于TCPL 的语义,可以证明该逻辑的可靠性(soundness).基本方法是:首先证明各公理及其全称式的有效性、推理规则的保有效性;然后,通过对证明序列长度使用归纳法来证明逻辑的可靠性.对TCPL 可靠性的形式化描述与证明见附录.3 协议分析TCPL 可用于多种密码协议的分析与验证.通常密码协议的验证目标有多种,最重要的如保密性和认证性;在电子商务协议中,人们还关心不可否认性及公平性等属性.保密性表明一个主体是否拥有一消息,在TCPL 中通常用H (i ,τ,m )或¬H (i ,τ,m )来表达.对前者的证明可直接证明,对后者的证明通常使用反证法.认证性表明一个主体对某一行为的信任状态,在TCPL 中通常用模态词B i ,τϕ来表达认证性.不可否认性表明一个主体对自己的行为不可否认,通常以是否能够让仲裁者相信相关事实来表达不可否认性;也用模态词B i ,τϕ来表达,这时的i 表示仲裁者.公平性表明协议任何一步执行后的中止将不会破坏通信双方主体的地位的公平性,即在协议中的每个时间点要么双方都拥有期望消息,要么都不拥有期望消息.可见,公平性在事实上与时间密切相关,可利用TCPL 具有时间因素的公式组合来表达. 3.1 基于TCPL 分析密码协议的一般过程在给出协议分析一般过程之前,先给出如下几个定义.定义26. 协议是协议语句的序列,协议语句是对一次信息交换的描述.协议语句具有i →j :m 或i ←j :m (一般用在电子商务协议中)的形式,其中,i →j :m 表示主体i 向主体j 发送消息m ,i ←j :m 表示主体i 从主体j 处主动获取消息m .通常,用ˆP表示一个协议. 定义27. 时间关联是指按照协议所设计的执行顺序给每个协议语句分别关联上消息项被发送及接收时间的过程.关联时间后的协议语句具有τn (i →j :m )τn +1或τn +1(j ←i :m )τn 的形式,前者表示主体i 在τn 时发送消息m ,主体j 在τn +1时收到消息m ;后者表示i 在τn 时发布消息m ,主体j 在τn +1时获取消息m .常用P t 表示经过时间关联的协议.定义28. 协议的形式化是指将协议转换为TCPL 中的逻辑公式的过程,并将这些逻辑公式的集合称为形式化协议,在不致引起混淆的情况下也简称协议,记为P .这里的协议形式化与BAN 逻辑中协议的理想化过程相比有比较确定的模式,一般来说,协议语句τ(i →j :m )τ′可形式化为S (i ,τ,m )及R (j ,τ′,m ).注意,形式化后的逻辑语句仅说明i 在τ时发送了消息m ,j 在τ′时收到m ,但并没有对j 所收到的m 是否是i 发送的作任何假设.定义29. 协议的初始化假设是指在分析协议之前所假设成立的前提条件,常用S 表示协议初始假设公式集.基于以上定义,可给出协议分析的一般过程.给定协议ˆP ,在TCPL 中分析并验证其安全性的过程如下: (1) 对ˆP进行时间关联得到P t . (2) 对P t 进行形式化,得到P . (3) 给出初始假设公式集S . (4) 列出协议验证目标公式集G .(5) 根据TCPL 中的公理、定理及推理规则证明协议验证目标G 是否满足,即证明P ∪A A TCPL G .。

相关文档
最新文档