CN111885039A - 一种基于IPv6下的安全协议的形式化验证方法 - Google Patents
一种基于IPv6下的安全协议的形式化验证方法 Download PDFInfo
- Publication number
- CN111885039A CN111885039A CN202010693695.1A CN202010693695A CN111885039A CN 111885039 A CN111885039 A CN 111885039A CN 202010693695 A CN202010693695 A CN 202010693695A CN 111885039 A CN111885039 A CN 111885039A
- Authority
- CN
- China
- Prior art keywords
- protocol
- security
- formal
- verification
- communication
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/164—Implementing security features at a particular protocol layer at the network layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于IPv6下的安全协议的形式化验证方法,涉及Ipv6网络安全领域,具体为一种针对安全协议的形式化验证方法,包括如下步骤:1)安全协议分析阶段提取安全协议所涉及的数据;2)安全协议简化阶段对提取的安全协议数据进行简化;3)安全协议形式化建模阶段使用Pi演算语法表示安全协议数据,进行形式化建模;4)自动化工具验证阶段使用Prolog编程语言描述形式化模型,使用ProVerif工具进行自动化验证,得到ProVerif工具输出的验证结果;5)可视化结果阶段对输出验证结果进行可视化显示,显示是否满足相应的安全目标。本发明主要应用于信息交换安全场合,针对IPv6网络环境安全,以SPFP协议为例进行形式化验证,有利于提高IPv6的移动网络环境的安全性。
Description
技术领域
本发明属于Ipv6网络安全领域,特别涉及一种基于IPv6下的安全协议的形式化验证方法。
背景技术
计算机网络中,安全协议为通信双方的信息交互提供安全保证,是计算机网络安全的基础。而当安全协议中存在安全漏洞时,会对信息安全产生重大威胁, 造成数据泄露、身份被冒用等危害。因此,对于安全协议安全性的研究,历来都属于安全领域的重要研究方向。互联网经过几十年的飞速发展,IPv4的地址已经耗尽,我国在2014年至2015年也逐步停止了向新用户和应用分配IPv4地址,同时全面开始商用部署IPv6。
IPv6的引进带来了更大的地址空间,同时也带来了新的风险。因为部分协议新特性未配备适当的安全机制,可能引发扩展头攻击、NDP攻击、DAD攻击、前缀欺骗攻击、MLD攻击甚至新型网络攻击。在IPv4向IPv6的过渡期,还需要考虑各种过渡技术与方案的安全隐患。过渡期IPv4网络与IPv6网络同时存在且需要互通,需要满足来自两种不同IP协议网络的威胁不能够交叉感染。IPv6建设中将和IPv4长期并存,通常采用双栈机制、隧道机制、翻译机制等过渡机制实现IPv4向IPv6网络的平稳升级。但部分过渡机制自身存在安全缺陷或将引入新的安全隐患。所以IPv6的安全协议是否存在问题也就需要进行形式化验证的分析。
IPv6安全协议类型三大类型:
(1)密钥交换协议:该类协议一般为通信双方或多方之间协商一个会话密钥。该会话密钥一般通过主密钥来产生。
(2)认证协议:该类协议主要目的是确定通信过程中某些信息,这些信息包括通信对方的身份、消息的目的等。主要用来防止伪造、篡改和否认等攻击。
(3)认证及密钥交换协议:该协议结合了上述两种协议的目的,首先进行认证确定身份等信息,通过认证后进行密钥交换来确定会话密钥。目前互联网中的安全协议大部分是该类协议。
验证协议是否存在安全漏洞,对协议的安全性进行形式化分析是一种重要途径。形式化分析方法的理论体系大致可分为三类:模态逻辑技术、模型检测技术和定理证明技术。模态逻辑分析方法主要包括信仰逻辑方法和知识逻辑方法,用于分析协议执行过程中主体知识和信念的演化过程,比较有名的就是BAN逻辑,但BAN自身的缺陷决定了BAN发现的漏洞一定是漏洞,但是BAN证明是安全的协议未必是安全的。定理证明与模态逻辑技术很相似,其基本思想是将协议过程用公理系统来描述,同样,也用目标定理表示安全目标,然后借助于数学方法对公理系统进行证明,看能否推出目标定理。
模型检验是并发系统验证的主要形式化方法之一,与前两种相比,其最大的优势在于实现系统的自动化验证。模型检测技术分析有三个步骤:定义系统有限状态机模型、定义系统属性、系统模型验证。这类方法本身都是从协议的初始状态开始,对合法主体和一个攻击者的所有可能的执行路径进行穷尽搜索以期找到协议可能存在的错误。ProVerif工具是由法国人Bruno Blanchet提出并开发的,基于Dolev-Yao模型的主要用于安全密码协议的自动形式化验证分析工具,其基本原理是利Horn子句抽象相应的密码协议并实施分析。相比较BAN逻辑,Proverif工具给出的结论无论是明确的true还是明确的false都是可以保证的结论的正确性的。
发明内容
本发明的目的在于克服现有技术的不足,使用形式化验证的办法发现IPv6下的安全协议本身存在的缺陷,从而尽快修复安全协议的缺陷并再次验证,直至安全协议的安全属性得以满足,该方法有效降低IPv6下安全协议方案中存在的风险。
实现本发明目的的具体技术方案是:
一种基于IPv6下的安全协议的形式化验证方法,该方法包括如下步骤:
步骤S1,安全协议分析阶段
提取安全协议所涉及的数据,包括安全协议的通信主体、通信信道、通信交互消息、通信交互过程和协议安全目标;
步骤S2,安全协议简化阶段
对步骤S1提取的安全协议所涉及的数据进行简化;
步骤S3,安全协议形式化建模阶段
对步骤S2简化的安全协议所涉及的数据进行形式化建模得到形式化模型,该形式化模型能被自动化工具进行自动化验证;
步骤S4,自动化工具验证阶段
使用自动化工具提供的语法规则描述形式化模型,然后使用自动化工具进行自动化验证,得到自动化工具输出的验证结果;
步骤S5,可视化结果阶段
对步骤S4输出的验证结果进行判断,对每一个要验证的安全目标自动化验证工具会输出唯一的验证结果并进行可视化输出。
本发明的所述步骤S1通信交互过程是指通信主体在通信信道上发送或接收通信交互消息的过程。
本发明的所述步骤S2的数据进行简化为删除数据中起中转作用的通信主体及与该通信主体对应的所有的通信交互消息和通信交互过程。
本发明的所述步骤S3对步骤S2简化后的安全协议所涉及的数据进行建模是使用Pi演算语法对安全协议所涉及的数据进行形式化建模。
本发明的所述步骤S4的自动化工具为ProVerif工具;所述语法规则为Prolog编程语言规则;所述描述形式化模型为使用Prolog编程语言描述步骤S3得到的形式化模型。
本发明的所述步骤S5的验证结果进行判断,具体为:对每一个要验证的安全目标ProVerif工具会输出唯一的验证结果并进行可视化输出,其中,唯一的验证结果为下述的A或B:
A.所验证安全目标得到true的结果,则证明该安全目标成立,即协议满足该安全目标;
B.所验证的安全目标得到false的结果,则证明该安全目标不成立,即协议不满足该安全目标,即该协议存在该安全目标对应的漏洞。
本发明的有益效果:
使用形式化验证的办法发现IPv6下的安全协议本身存在的缺陷,从而提高了IPv6下的安全协议的安全性,保证了IPv6下的安全协议的可用性,有效降低IPv6下安全协议方案中存在的风险。
附图说明
图1是本发明流程图;
图2是简化前的SPFP协议示意图;
图3是简化后的SPFP协议示意图。
具体实施方式
下面结合附图和具体的实施例对本发明技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
参阅图1,本发明的基于IPv6下的安全协议的形式化验证方法,包括如下步骤:
步骤S1,安全协议分析阶段,提取协议所涉及的数据,数据包括通信主体、通信信道、通信交互消息、通信交互过程和协议安全目标;
步骤S2,安全协议简化阶段,对步骤S1提取的安全协议涉及的数据进行简化,删除数据中起中转作用的通信主体及与该通信主体对应的所有的通信交互消息和通信交互过程;
步骤S3,安全协议形式化建模阶段,对步骤S2得到的协议简化后的数据使用Pi演算语法进行形式化建模得到形式化模型,该形式化模型能被ProVerif工具进行自动化验证;
步骤S4,自动化工具验证阶段,所述自动化工具包括但不限于ProVerif工具,使用ProVerif工具基于Prolog编程语言规则描述形式化模型,所述描述形式化模型为使用Prolog编程语言描述步骤S3得到的形式化模型;所述描述形式化内容包括通信主体、通信信道、通信交互消息、通信交互过程、协议安全目标;然后使用ProVerif工具进行自动化验证,得到ProVerif工具输出的验证结果;
步骤S5,可视化结果阶段,对步骤S4输出的验证结果进行判断,对每一个要验证的安全目标ProVerif工具会输出唯一的验证结果并进行可视化输出。
实施例
本实施例分析的对象是Ilsun You和Jong-Hyouk Lee在《Computer networks》上提出了一种称为SPFP的用于快速PMIPv6的安全协议,该协议为移动节点MN提供基于票证的安全切换认证。
本发明中有关的技术术语代表的含义如下:
MN,pAP,pMAG,nMAG,nAP,LMA表示通信主体
c1,c2,c3,c4,c5,c6表示通信信道
HOI、HOI’、HI、HaCK、DeReg、PBA、ATT、ATT’、PBU、PBA、RA’、RA表示通信交互消息
RS表示路由请求报文
RA表示路由通告报文
KAS-LMA表示预先确定好的AS-LMA间密钥
KMN-LMA表示会话密钥MN-LMA
KMN-MAG表示会话密钥MN-MAG
IDX表示X的公共身份标识
Seqi表示第i个由MN,pMAG,nMAG,LMA之间共享的序列数
SKi表示MN与pMAG,nMAG间的第i个会话密钥
HM i 表示基于哈希函数的消息认证码
AID j 表示用密钥K MN-MAG 加密MN与nMAG间第j个会话,AID j ={ID MN ,Seq j }K MN-MAG
n i 表示随机数
h()表示单向hash函数
{X} K 表示使用密钥K加密X
P bel X 表示P 相信 X
P sees X 表示P 看到过 X
P said X 表示P 曾说过 X
参阅图1,本实施例包括如下步骤:
下面详细描述步骤S1,如图2所示,提取到的SPFP协议所涉及的数据具体包括:通信主体为6个,通信信道为6条,通信交互消息为12条,通信交互过程为12个,协议安全目标为4个;所述通信主体为SPFP协议进行通信的独立发送接收方;所述通信信道为通信主体直接进行通信的通道;所述通信交换消息为通信主体进行交换的消息;所述通信交换过程通信主体通过通信信道进行交换消息的过程,所述协议安全目标为验证SPFP协议安全需要满足的目标;
步骤S1所述6个通信主体为:MN,pAP,pMAG,nAP,nMAG,LMA,其中通信主体初始状态:1)LMA持有KMN-LMA,Seqj;2) pMAG持有KMN-MAG,IDMN,Seqj,SKi-1;3)MN持有KMN-LMA,KMN-MAG,IDMN,Seqj,SKi-1;
步骤S1所述6条通信信道为c1,c2,c3,c4,c5,c6;
步骤S1所述12条通信交互消息为:
1) HOI{AIDj,IDnAP,Seqj,HM1,HM2},HM1 = {h(IDMN,IDnAP,Seqj)}KMN-LMA HM2 = {h(SKi-1,HOI)
2) HOI’{AIDj,IDnAP,Seqj,HM1}
3) HI{IDMN,KMN-MAG,IDnAP,Seqj}
4) HaCK
5) DeReg{IDMN,IDnAP,Seqj,HM1}
6) DeReg PBA
7)ATT{AIDj+1,IDnAP,Seqj+1,n1,HM3,HM4},HM3 = {h(IDMN,IDnAP,Seqj+1,n1)}KMN-LMA,HM4 = {h(KMN-MAG,ATT)}
8) ATT’{AIDj+1,IDnAP,Seqj+1,n1,HM3}
9) PBU{IDnAP,Seqj+1,n1,HM3}
10) PBA{n1,n2,SKi}
11) RA’{n1,n2,h(SKi,RA)}
12) RA{n1,n2,h(SKi,RA)};
步骤S1所述12个通信交互过程:
1) MN在信道c1给pAP发送HOI,包括AIDj,IDnAP,Seqj,以及计算得出的HM1,HM2;
2) pAP检查收到的HOI中的HM1和Seqj是否正确,然后通过信道c2给pMAG转发HOI’;
3) pMAG检查收到的HOI中HM2和Seqj是否正确,然后通过信道c3给nMAG发送HI,包括IDMN,KMN-MAG,IDnAP,Seqj;
4) nMAG通过信道c3给pMAG返回HaCK;
5) pMAG通过信道c4给LMA发送DeReg,包括IDMN,IDnAP,Seqj,HM1;
6) LMA检查收到的DeReg中的HM1以及Seqj,然后通过信道c4给pMAG返回DeReg PBA;
7) MN在c1上给nAP发送ATT,包括AIDj+1,IDnAP,Seqj+1,n1,HM3,HM4;
8) nAP检查收到的ATT中的HM3以及Seqj+1以及IDMN是否正确,然后通过信道c6给nMAG转发ATT’;
9) nMAG检查收到的ATT中的HM4以及Seqj+1以及IDMN是否正确,然后在信道c5上给LMA发送PBU,包括IDnAP,Seqj+1,随机数n1,HM;
10) LMA检查收到的PBU中的HM3是否正确,然后通过信道c6给nMAG返回PBA,包括随机数n1,新随机数n2,SKi;
11) nMAG通过信道c6上给nAP发送RA,包括n1,n2,h(SKi,RA);
12) nAP通过信道c1给MN转发RA’,包括n1,n2,h(SKi,RA);
步骤S1所述4个需要满足的安全目标:
1) pMAG和LMA确认MN将到达nMAG处;
2) MN和nMAG相互认证对方身份;
3) LMA认证MN以及nMAG;
4) SKi是秘密的。
下面详细描述步骤S2,如图2和图3所示,删除数据中起中转作用的通信主体及与该通信主体对应的所有的通信交互消息,要删除的数据包括2个通信主体pAP和nAP,2条通信信道c2和c6,3个通信交换消息为(2)(8)(11),3个通信交换过程(2)(8)(11)。如图3对所提取到的数据简化后具体包括:通信主体为4个,通信信道为4条,通信交互消息为9条,通信交互过程为9个,协议安全目标为4个。
步骤S2所述4个通信主体为:MN,pMAG,nMAG,LMA,其中通信主体初始状态:1) LMA持有KMN-LMA,Seqj;2) pMAG持有KMN-MAG,IDMN,Seqj,SKi-1;3)MN持有KMN-LMA,KMN-MAG,IDMN,Seqj,SKi-1;
步骤S2所述4条通信信道为c1,c2,c3,c4;
步骤S1所述9条通信交互消息为:
1) HOI{AIDj,IDnAP,Seqj,HM1},HM1 = {h(IDMN,IDnAP,Seqj)}KMN-LMA;
2) HI{IDMN,KMN-MAG,IDnAP,Seqj};
3) HaCK;
4) DeReg{IDMN,IDnAP,Seqj,HM1};
5) DeReg PBA;
6) ATT{AIDj+1,IDnAP,Seqj+1,n1,HM3},HM3 = {h(IDMN,IDnAP,Seqj+1,n1)}KMN-LMA;
7) PBU{IDnAP,Seqj+1,n1,HM3};
8) PBA{n1,n2,SKi};
9) RA{n1,n2,h(SKi,RA)};
步骤S2所述9个通信交互过程:
1) MN在信道c1给pMAG发送HOI,包括AIDj,IDnAP,Seqj,以及计算得出的HM1;
2) pMAG检查收到的HOI中的HM2和Seqj是否正确,之后通过信道c2给nMAG发送HI,包括IDMN,KMN-MAG,IDnAP,Seqj;
3) nMAG给pMAG返回HaCK;
4) pMAG通过信道c3给LMA发送DeReg ,包括IDMN,IDnAP,Seqj,HM1;
5) LMA检查收到的DeReg中的HM1以及Seqj,之后给pMAG返回DeReg PBA;
6) MN在c1上给nMAG发送ATT,包括AIDj+1,IDnAP,Seqj+1,n1,HM3;
7) nMAG检查收到的ATT中的HM3以及Seqj+1以及IDMN是否正确,之后在安全信道c4上给LMA发送PBU,包括IDnAP,Seqj+1,随机数n1,HM3;
8) LMA检查收到的PBU中的HM3后给nMAG返回PBA,包括随机数n1,新随机数n2,SKi;
9) nMAG在公开信道c1上给MN发送RA,包括n1,n2,h(SKi,RA) ;
步骤S2所述4个需要满足的安全目标:
1) pMAG和LMA确认MN将到达nMAG处;
2) MN和nMAG相互认证对方身份;
3) LMA认证MN以及nMAG;
4) SKi是秘密的。
下面详细描述步骤S3,使用PI演算语法描述步骤S2简化后的安全协议数据建立形式化模型。
Message(1): {AIDj,IDnAP,Seqj,HM1}SKi-1 from MN,where AIDj = {IDMN,Seqj}KMN-MAG,HM1 = {h(IDMN,IDnAP,Seqj)}KMN-LMA
Message(4): {IDMN,IDnAP,Seqj}KMN-LMA from pMAG
Message(6): {AIDj+1,IDnAP,Seqj+1,n1,HM3}KMN-MAG from MN,where AIDj+1 = {IDMN,Seqj+1}KMN-MAG,HM3 = {h(IDMN,IDnAP,Seqj+1,n1)}KMN-LMA
Message(7): {IDMN,IDnAP,Seqj+1,n1}KMN-LMA from nMAG
Message(9): {n1,n2,{SK(SKi,MN,nMAG)}KMN-LMA , nMAG bel SK(SKi,MN,nMAG)}SKifrom nMAG
From Message (1)
pMAG sees {AIDj,IDnAP,Seqj,HM1}SKi-1
pMAG bel MN said {AIDj,IDnAP,Seqj,HM1}
pMAG bel MN bel {AIDj,IDnAP,Seqj,HM1}
pMAG bel MN bel AIDj = {IDMN,Seqj}KMN-MAG
pMAG bel MN bel {IDMN,Seqj}
pMAG bel MN bel IDMN
pMAG bel MN bel {IDpAP, IDnAP}
From Message (4)
LMA sees {IDMN,IDnAP,Seqj}KMN-LMA
LMA bel MN said {IDMN,IDnAP,Seqj}
LMA bel MN bel {IDMN,IDnAP,Seqj}
LMA bel MN bel {IDMN,IDnAP }
From Message (6)
nMAG sees {AIDj+1,IDnAP,Seqj+1,n1,HM3}KMN-MAG
nMAG bel MN bel {AIDj+1,IDnAP,Seqj+1,n1,HM3}
nMAG bel MN bel AIDj+1 = {IDMN,Seqj+1}KMN-MAG
nMAG bel MN bel IDMN
nMAG bel MN bel IDnAP
From Message (7)
LMA sees {IDMN,IDnAP,Seqj+1,n1}KMN-LMA
LMA bel MN bel {IDMN,IDnAP,Seqj+1,n1}
LMA bel MN bel {IDMN,IDnAP }
From Message (9)
MN sees {n1,n2,{SK(SKi,MN,nMAG)}KMN-LMA , nMAG bel SK(SKi,MN,nMAG)}SKi fromnMAG
MN bel LMA bel SK(SKi,MN,nMAG)
MN bel SK(SKi,MN,nMAG)
MN bel nMAG bel {n1,n2}
MN bel nMAG bel nMAG bel SK(SKi,MN,nMAG)
MN bel nMAG bel SK(SKi,MN,nMAG)
下面详细描述步骤S4,步骤S4使用ProVerif工具,使用Prolog编程语言的语法规则根据步骤S3得到的形式化模型进行描述,描述的形式化模型内容包括通信主体、通信信道、通信交互消息、通信交互过程、协议安全目标;所述ProVerif工具验证是把使用Prolog编程语言描述的形式化模型进行自动化验证,然后输出ProVerif工具进行验证后的输出结果。
步骤S4所述的通信主体及初始状态为:
1)let processMN(Kmnlma:mkey,Kmnmag: mkey,SKi_1:mkey,Seqj:SEQ,IDmn:bitstring);
2)let processpMAG(Kmnmag: mkey,SKi_1:mkey,IDmn:bitstring,Seqj:SEQ);
3)let processnMAG(IDnap: IDap);
4)let processLMA(Kmnlma:mkey,Seqj:SEQ);
步骤S4所述的通信信道为:
1)free c1: channel.
2)free c2: channel [private].
3)free c3: channel [private].
4)free c4: channel [private].
步骤S4所述的通信交互消息为:
1)HOI:out(c1,(HOI,AIDj,IDnap,Seqj,mac(c(c(IDmn,tc2(IDnap)),tc1(Seqj)),Kmnlma),mac(HOI,SKi_1)));(*msg1*);
2)HI:out(c2,(Kmnmag,IDmn,px3,px4));(*msg2*);
3)HaCK:out(c2,HAck);(*msg3*);
4)DeReg:out(c3,(IDmn,px3,px4,hm1));(*msg4*);
5)DeReg PBA:out(c3,DeReg);(*msg5*);
6)ATT:out(c1,(ATT,AIDj1,IDnap,Seqj1,n1,mac(c(c(c(IDmn,tc2(IDnap)),tc1(Seqj1)),n1),Kmnlma),mac(ATT,Kmnmag)));(*msg6*);
7)PBU:out(c4,(nx2,IDnap,nx8,nx9,hm3));(*msg7*);
8)PBA:out(c4,(lx8,n2,mac(c(lx8,n2),Kmnlma)));(*msg8*);
9)RA:out(c1,(RA,nx10,nx11,mac(RA,tc0(nx12))));(*msg9*);
步骤S4所述的通信交互过程为:
(* MN *)
let processMN(Kmnlma: mkey, Kmnmag: mkey, SKi_1: mkey, Seqj: SEQ, IDmn:bitstring) =
in(c1, (IDpap: IDap, IDnap: IDap));
new HOI: bitstring;
let AIDj: bitstring = xor(IDmn, h(c(tc(Kmnmag), tc1(Seqj)))) in
out(c1, (HOI, AIDj, IDnap, Seqj, mac(c(c(IDmn, tc2(IDnap)), tc1(Seqj)), Kmnlma), mac(HOI, SKi_1)));(*msg1*)
in(c1, d: bitstring); (*msg5.5*)
let Seqj1: SEQ = addone(Seqj) in
let AIDj1: bitstring = xor(IDmn, h(c(tc(Kmnmag), tc1(Seqj1)))) in
new ATT: bitstring;
new n1: bitstring;
event beginnMAGMN(IDnap);
out(c1, (ATT, AIDj1, IDnap, Seqj1, n1, mac(c(c(c(IDmn, tc2(IDnap)),tc1(Seqj1)), n1), Kmnlma), mac(ATT, Kmnmag))); (*msg6*)
in(c1, (m1: bitstring, m2: bitstring, m3: bitstring, m4: HM));
if (m4 = mac(m1, tc0(mac(c(m2,m3), Kmnlma)))) then
event endMNnMAG(IDmn);
let SKi: HM = mac(c(m2,m3), Kmnlma) in
out(c1, senc(secretTest, SKi)).
(* pMAG *)
……
let processLMA(Kmnlma: mkey, Seqj: SEQ) =
in(c3, (lx1: bitstring, lx2: IDap, lx3: SEQ, lx4: HM)); (*msg4*)
if (lx3 = Seqj && lx4 = mac(c(c(lx1, tc2(lx2)), tc1(lx3)), Kmnlma))then
event confLMAnMAG(lx1, lx2);
new DeReg: bitstring;
out(c3, DeReg); (*msg5*)
in(c4, (lx5: bitstring, lx6: IDap, lx7: SEQ, lx8: bitstring, lx9:HM)); (*msg7*)
if (lx9 = mac(c(c(c(lx5, tc2(lx6)), tc1(lx7)), lx8), Kmnlma)) then
new n2: bitstring;
out(c4, (lx8, n2, mac(c(lx8, n2), Kmnlma))); (*msg8*)
event endLMA(lx5, lx6).
步骤S4所述的协议安全目标为:
1)pMAG和LMA确认MN将到达nMAG处:
1.1)query x:bitstring,y:IDap;inj-event(confpMAGnMAG(x,y))==>inj-event(MN2nMAG(x,y)).
1.2)query x:bitstring,y:IDap;inj-event(confLMAnMAG(x,y))==>inj-event(MN2nMAG(x,y)).
2)MN和nMAG相互认证对方身份:
2.1)MN对nMAG进行认证:query x:bitstring;inj-event(endMNnMAG(x))==>inj-event(beginMNnMAG(x)).
2.2)nMAG对MN进行认证:query x:IDap;inj-event(endnMAGMN(x))==>inj-event(beginnMAGMN(x)).
3)LMA认证MN以及nMAG:query x:bitstring,y:IDap;inj-event(endLMA(x,y))==>inj-event(beginMNnMAG(x))&&inj-event(beginnMAGMN(y)).
4)SKi是秘密的:query attacker(secretTest).
下面详细描述步骤S5,步骤S5所述的验证结果的判断具体为,对SPFP协议4个要验证的安全目标,ProVerif工具会输出唯一的验证结果并进行可视化输出,其中唯一的验证结果为下述的A或B:A.所验证安全目标得到true的结果,则证明该安全目标成立,即协议满足该安全目标;B.所验证的安全目标得到false的结果,则证明该安全目标不成立,即协议不满足该安全目标,即该协议存在该安全目标对应的漏洞。所述可视化显示内容为安全目标满足结果的个数统计、每一个安全目标的结果显示以及整个SPFP协议安全结果验证。所述可视化方案可以为文本显示和图表显示。
Claims (6)
1.一种基于IPv6下的安全协议的形式化验证方法,其特征在于,该方法包括如下步骤:
步骤S1,安全协议分析阶段
提取安全协议所涉及的数据,包括安全协议的通信主体、通信信道、通信交互消息、通信交互过程和协议安全目标;
步骤S2,安全协议简化阶段
对步骤S1提取的安全协议所涉及的数据进行简化;
步骤S3,安全协议形式化建模阶段
对步骤S2简化后的安全协议所涉及的数据进行形式化建模得到形式化模型,该形式化模型能被自动化工具进行自动化验证;
步骤S4,自动化工具验证阶段
使用自动化工具提供的语法规则描述形式化模型,然后使用自动化工具进行自动化验证,得到自动化工具输出的验证结果;
步骤S5,可视化结果阶段
对步骤S4输出的验证结果进行判断,对每一个要验证的安全目标自动化验证工具会输出唯一的验证结果并进行可视化输出。
2.根据权利要求1所述的基于IPv6下的安全协议的形式化验证方法,其特征在于,步骤S1所述通信交互过程是指通信主体在通信信道上发送或接收通信交互消息的过程。
3.根据权利要求1所述的基于IPv6下的安全协议的形式化验证方法,其特征在于,步骤S2所述的数据进行简化为删除数据中起中转作用的通信主体及与该通信主体对应的所有的通信交互消息和通信交互过程。
4.根据权利要求1所述的基于IPv6下的安全协议的形式化验证方法,其特征在于,步骤S3所述对步骤S2简化后的安全协议所涉及的数据进行建模是使用Pi演算语法对安全协议所涉及的数据进行形式化建模。
5.根据权利要求1所述的基于IPv6下的安全协议的形式化验证方法,其特征在于,步骤S4所述的自动化工具为ProVerif工具;所述语法规则为Prolog编程语言规则;所述描述形式化模型为使用Prolog编程语言描述步骤S3得到的形式化模型。
6.根据权利要求1所述的基于IPv6下的安全协议的形式化验证方法,其特征在于:步骤S5所述的验证结果进行判断,具体为:对每一个要验证的安全目标ProVerif工具会输出唯一的验证结果并进行可视化输出,其中,唯一的验证结果为下述的A或B:
A.所验证安全目标得到true的结果,则证明该安全目标成立,即协议满足该安全目标;
B.所验证的安全目标得到false的结果,则证明该安全目标不成立,即协议不满足该安全目标,即该协议存在该安全目标对应的漏洞。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010693695.1A CN111885039A (zh) | 2020-07-17 | 2020-07-17 | 一种基于IPv6下的安全协议的形式化验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010693695.1A CN111885039A (zh) | 2020-07-17 | 2020-07-17 | 一种基于IPv6下的安全协议的形式化验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111885039A true CN111885039A (zh) | 2020-11-03 |
Family
ID=73154849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010693695.1A Pending CN111885039A (zh) | 2020-07-17 | 2020-07-17 | 一种基于IPv6下的安全协议的形式化验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111885039A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259788A (zh) * | 2013-04-27 | 2013-08-21 | 天津大学 | 针对安全协议的形式化建模及验证方法 |
CN104104587A (zh) * | 2014-04-18 | 2014-10-15 | 天津大学 | 一种认证邮件协议的后一致性分析方法 |
CN105049283A (zh) * | 2015-07-07 | 2015-11-11 | 天津大学 | 安全交换协议模型检测方法 |
CN108985073A (zh) * | 2018-07-18 | 2018-12-11 | 成都链安科技有限公司 | 一种高度自动化的智能合约形式化验证系统及方法 |
CN109150833A (zh) * | 2018-07-19 | 2019-01-04 | 华东交通大学 | 一种基于模型检测的安全协议形式化验证方法 |
CN109947403A (zh) * | 2017-12-20 | 2019-06-28 | 华为技术有限公司 | 一种安全目标的分解与建模方法及相关设备 |
-
2020
- 2020-07-17 CN CN202010693695.1A patent/CN111885039A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259788A (zh) * | 2013-04-27 | 2013-08-21 | 天津大学 | 针对安全协议的形式化建模及验证方法 |
CN104104587A (zh) * | 2014-04-18 | 2014-10-15 | 天津大学 | 一种认证邮件协议的后一致性分析方法 |
CN105049283A (zh) * | 2015-07-07 | 2015-11-11 | 天津大学 | 安全交换协议模型检测方法 |
CN109947403A (zh) * | 2017-12-20 | 2019-06-28 | 华为技术有限公司 | 一种安全目标的分解与建模方法及相关设备 |
CN108985073A (zh) * | 2018-07-18 | 2018-12-11 | 成都链安科技有限公司 | 一种高度自动化的智能合约形式化验证系统及方法 |
CN109150833A (zh) * | 2018-07-19 | 2019-01-04 | 华东交通大学 | 一种基于模型检测的安全协议形式化验证方法 |
Non-Patent Citations (1)
Title |
---|
叶新铭,郝松侠: "IPv6邻居发现协议的形式化验证", 《软件学报》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Blockchain-based mobility management for 5G | |
CN110035033A (zh) | 密钥分发方法、装置及系统 | |
CN110832824B (zh) | 节点路径上的双向数据包交换的方法 | |
KR20160138057A (ko) | 소셜 wi-fi 메쉬 네트워크에 조인하기 위한 안전하고 간략화된 절차 | |
CN111314056A (zh) | 基于身份加密体制的天地一体化网络匿名接入认证方法 | |
Aura et al. | Analysis of the HIP base exchange protocol | |
Meng et al. | Low-latency authentication against satellite compromising for space information network | |
CN108260102A (zh) | 基于代理签名的lte-r车-地通信非接入层认证方法 | |
CN101637004B (zh) | 用于通信系统中的前缀可达性的方法 | |
Guo et al. | A provably secure ECC-based access and handover authentication protocol for space information networks | |
Basin et al. | Improving the security of cryptographic protocol standards | |
CN109194669A (zh) | 一种轻量级节点的数据传输方法、装置、设备和介质 | |
Liu et al. | A new authentication and key agreement protocol for 5G wireless networks | |
Zhang et al. | A privacy preserving authentication scheme for roaming services in global mobility networks | |
Indushree et al. | Mobile-Chain: Secure blockchain based decentralized authentication system for global roaming in mobility networks | |
Roy et al. | Desynchronization resistant privacy preserving user authentication protocol for location based services | |
Coffey et al. | Formal verification: an imperative step in the design of security protocols | |
CN111464538B (zh) | 资产交易方法和系统、存储介质、资产交易后台 | |
CN101087261A (zh) | 基于通用引导构架实现推送功能的方法、设备和系统 | |
Liu et al. | TR‐AKA: A two‐phased, registered authentication and key agreement protocol for 5G mobile networks | |
CN114297678A (zh) | 一种联盟链系统运行方法、装置、设备及存储介质 | |
Truong et al. | Improved Chebyshev Polynomials‐Based Authentication Scheme in Client‐Server Environment | |
CN111885039A (zh) | 一种基于IPv6下的安全协议的形式化验证方法 | |
Ben Henda et al. | Formal analysis of security procedures in LTE-a feasibility study | |
Claycomb et al. | Extending Formal Analysis of Mobile Device Authentication. |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201103 |
|
RJ01 | Rejection of invention patent application after publication |