CN105721500B - 一种基于TPM的Modbus/TCP协议的安全增强方法 - Google Patents
一种基于TPM的Modbus/TCP协议的安全增强方法 Download PDFInfo
- Publication number
- CN105721500B CN105721500B CN201610218409.XA CN201610218409A CN105721500B CN 105721500 B CN105721500 B CN 105721500B CN 201610218409 A CN201610218409 A CN 201610218409A CN 105721500 B CN105721500 B CN 105721500B
- Authority
- CN
- China
- Prior art keywords
- client computer
- key
- server
- credible
- credible equipment
- 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
Links
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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
一种基于TPM的Modbus/TCP协议的安全增强方法属于工业控制领域和信息技术领域。工业控制系统的安全关系到国家安全。现有的安全方案中,并没有从根本上解决通信的安全认证问题,存在客户机、服务器被冒充及密钥窃取的问题。本发明引入可信计算思想,为设备增加可信计算模块(TPM),用TPM的身份认证密钥保证设备身份可信,设备操作系统及组态软件的度量信息保证设备的状态可信性。在可信服务器的参与下,完成双方的身份和状态认证。在协议格式上增加了Hash Item,保证报文的完整性。TPM的绑定密钥及授权数据PCR保证密钥Kms生成过程中的安全性,用HMAC及密钥Kms保证通信过程中双方身份的认证性。
Description
技术领域
本发明属于工业控制领域和信息技术领域,涉及一种工控系统中常用的通信协议Modbus/TCP的安全增强方法。
背景技术
工业控制系统广泛应用于电力、化工、油气开采、交通运输等国家关键基础设施领域,因而工业控制系统的安全关系到国家安全。近年来,随着工业以太网技术的快速发展,TCP/IP等互联网技术被引入到工业控制系统中。在将TCP/IP技术的安全威胁引入到工业控制系统中的同时,破坏了工业控制系统的封闭性。将工业控制系统中广泛使用的私有协议的设计和实现中的漏洞暴露给攻击者,给工业控制系统带来了巨大的威胁。
工业控制网络与我们的传统IT网络存在着巨大差异。工业控制系统一般情况下拥有固定数量的设备,可预测的通信流及私有通信协议,最重要的是高可用性需求。由于工业控制系统网络的特殊性,传统的IT安全保护机制是无效的。广泛部署的工业控制系统私有协议如:DNP3、Modbus、Modbus/TCP中没有提供安全控制,给攻击者提供了较多可以利用的漏洞,如Modbus/TCP中无认证性,则攻击者只要接入网络就可以发送合法的Modbus报文,进而篡改控制器中寄存器中的参数或者线圈状态,造成系统故障。协议缺乏完整性,攻击者可以篡改报文。协议缺乏新鲜性,攻击者可以将窃听到的报文重新发送到网络中引起系统故障。协议缺乏加密,地址和命令信息明文传输容易被攻击者窃听。当前针对Modbus/TCP协议安全增强的研究主要有两个方向:一是将安全增强机制部署在网关,二是将安全增强机制部署在终端设备上。现有的安全方案中,并没有从根本上解决通信中的安全认证问题,存在客户机、服务器被冒充及密钥窃取的问题。
发明内容
为了解决上述问题,发明了一种安全增强的Modbus/TCP协议。此协议引入可信计算思想,为设备增加可信计算模块(TPM),用TPM的身份认证密钥保证设备身份可信,设备操作系统及组态软件的度量信息保证设备的状态可信性。在可信服务器的参与下,完成双方的身份和状态认证。在协议格式上增加了Hash Item,保证报文的完整性。TPM的绑定密钥及授权数据PCR保证密钥Kms生成过程中的安全性,用HMAC及密钥Kms保证通信过程中双方身份的认证性。
本发明的技术方案如下:
本安全方案中,设备中均增加可信平台模块(TPM),增加了TPM的设备称为可信设备,设备在TPM基础上能够进行可信存储、组态软件和OS关键信息的可信度量。利用TCG软件栈的相关函数获取设备状态信息相关的PCR值,PCR值的安全是由TPM负责的。TPM提供进行身份认证和状态认证的基础,工业控制系统中增加了可信服务器(AS)为通信双方提供认证基础。可信服务器(AS)的作用是对客户机、服务器(可信设备)终端身份和状态进行验证,然后定期轮询工业控制系统中各可信设备,获取其身份和系统状态信息,维护可信设备信息白名单。
在本文的安全模型中,应用可信计算的思想保证设备的认证性,包括两方面的认证:设备身份认证和设备状态认证。
身份认证由TPM的身份认证密钥提供,身份认证密钥是TPM唯一的背书密钥的代替物,是不可迁移的。即身份认证密钥是与TPM绑定的,可保证TPM不被冒充。因此身份认证密钥可以代表TPM的终端身份,并且保证可信设备不被冒充。
设备状态认证利用远程证明的方式,远程证明包括:可信度量及可信报告。可信度量是对平台及组件的完整性进行度量,可信平台在启动时以TPM和CRTM(Core Root ofTrust for Measurement)为信任根,由BIOS、操作系统加载模块、操作系统、应用程序等构建信任链,沿着信任链由下向上层层度量。组件度量的结果写入到平台配置寄存器PCR中。可信报告是将平台及应用组件的度量值即PCR值签名后报告给验证方,验证方通过验证签名和PCR值来判断平台和应用程序的状态是否可信。
本安全方案中将可信度量对象选定为操作系统关键内核模块及工控组态软件。可信度量产生的度量信息存储在设备TPM指定的PCR中,利用TSS相应函数取得该PCR的值,作为该设备的状态信息。状态信息能够动态反应该系统是否遭到破坏从而保证设备状态可信。
本安全方案中利用HMAC算法保证报文传输中的完整性。
本协议分为可信更新验证、身份认证及Modbus/TCP安全通信三个子过程,身份认证子过程完成通信双方身份及状态可信的认证,生成Modbus/TCP安全通信中HMAC计算使用的密钥Kms。密钥Kms用绑定密钥传输,绑定密钥的授权数据设置为绑定密钥生成时某PCR的值,保证在密钥传输过程中若系统遭受攻击,系统状态发生变化(PCR值发生变化),则绑定密钥的授权数据与现在PCR的值不一致,则绑定密钥无法使用,进而身份认证过程结束。需要可信更新验证过程中发现可信设备的变化,重新启动身份认证过程。
本协议运行之前协议参与者应当具备的知识如下:
1)可信设备(客户机和服务器)中存储可信服务器AS的公钥Ks_Pub。
2)AS中存储所有可信设备的可信状态信息即存储工控软件度量值的PCR值、身份认证密钥的公钥、绑定密钥的公钥构成白名单。可信服务器AS用其私钥Ks_Pri签名客户机相关的PCR值、身份认证密钥的公钥、绑定密钥公钥生成可信服务器的签名,可信服务器向工业控制系统中所有服务器推送客户机的信息及可信服务器的签名,可信服务器的签名可让服务器认证可信服务器AS。服务器中存储工业控制系统中所有客户机的相关信息。
协议运行过程如下:
(1).身份验证过程
身份验证过程的目标为用身份认证密钥的私钥对存储在PCR中的状态值进行签名,保证双方身份和状态的可信。通信双方在可信服务器AS的参与下完成双方身份和状态的认证。用绑定密钥加密传输对称密钥Kms及随机数,绑定密钥的授权数据指定为某个PCR值,绑定密钥只有在指定的PCR值与授权数据一致情况下才可使用,可保证只有该TPM平台且TPM系统状态与TPM生成该绑定密钥时状态一致时才能够使用该绑定密钥。从而保证对称密钥Kms协商过程中通信设备双方的状态的可信性。该通信过程中,A代表Modbus通信中的客户机,B代表服务器。身份验证过程通信步骤如下:
步骤1.1:A→B:req,Na;
req,Na分别是客户机A向服务器B发出的通信请求、随机数。
步骤1.2:服务器B收到客户机A的请求req和随机数Na后,将PCR值与随机数Na串联后计算摘要值,调用TPM_Quote计算PCR的签名值QuoteB。
步骤1.3:B→A:QuoteB,Nb;
QuoteB,Nb分别为服务器B发送给客户机A的PCR签名和随机数。
步骤1.4:A→AS:ReqB,Ns;
ReqB,Ns分别为客户机A向可信服务器AS发送要求服务器B相关信息的请求和随机数。
步骤1.5:可信服务器AS查找白名单后将服务器B的信息Kb_Pub,Pcrb,BAIK_Pub与Ns串联后用Ks_Pri签名,签名值为SIGNS。用Kb_Pub,Pcrb,BAIK_Pub与SIGNS构建报文Bdata。式中Kb_Pub为服务器B的绑定密钥的公钥,Pcrb为服务器B相应的PCR值,BAIK_Pub为服务器B的身份认证密钥的公钥,Ks_Pri为AS的私钥,其中SIGNS=Sign(Ks_Pri,Kb_Pub,Pcrb,BAIK_Pub)。
步骤1.6:AS→A:Bdata;
可信服务器AS向客户机A发送服务器B的相关信息报文Bdata。
步骤1.7:客户机A用可信服务器AS的公钥Ks_Pub验证AS的签名SIGNS及随机数Ns;客户机A从报文Bdata中得到服务器B的PCR值、服务器B身份认证密钥的公钥BAIK_Pub及服务器B的绑定密钥的公钥Kb_Pub后,验证服务器B的签名QuoteB;上述验证操作均成功后,客户机A生成随机数Nc,将客户机A的PCR值用身份认证密钥的私钥AAIK_Pri签名生成QuoteA,QuoteA=TPM_Quote(AAIK_Pub,Pcra,Nc)。
步骤1.8:A→B:QuoteA,Nc;
QuoteA,Nc分别是客户机A向服务器B发送的PCR签名和随机数。
步骤1.9:服务器B调用verifyQuote()验证客户机A的签名QuoteA,若返回值为success,则服务器B生成随机数Nd,并利用客户机A的绑定密钥的公钥Ka_Pub加密Nc,Nd。Bok=TSS_Bind(Ka_Pub,Nc||Nd)。
步骤1.10:B→A:Bok;
Bok为服务器B向客户机A发送的确认客户机A可信的报文。
步骤1.11:客户机A用绑定密钥的私钥Ka_Pri解密Bok,即调用TPM_UnBind(Ka_Pri,Bok,keyAuth),keyAuth为创建绑定密钥时的授权数据,在此选用客户机A的PCR值.在该函数执行过程中,首先验证该授权数据keyAuth是否与现在客户机A中相应PCR的值一致,一致才可使用绑定密钥的私钥Ka_Pri。解密后,验证随机数Nc是否与步骤1.7中发送给服务器B的随机数Nc相等。若相等,则客户机A生成HMAC运算中使用的对称密钥Kms,同时生成随机数Ne,将Kms,Nd,Ne用服务器B的绑定密钥的公钥Kb_Pub加密,生成Keys,Keys=TSS_Bind(Kb_Pub,Kms||Nd||Ne)。
步骤1.12:A→B:Keys;
Keys是客户机包含对称密钥Kms的报文。
步骤1.13:服务器B用绑定密钥的私钥Kb_Pri解密报文Keys。之后验证随机数Nd是否与步骤1.9中生成的Nd一致,若一致,则接收客户机A发送的对称密钥Kms。然后用客户机A的绑定密钥的公钥Ka_Pub加密报文Keys中客户机A的随机数Ne,Brekeys=TSS_Bind(Ka_Pub,Ne)。
步骤1.14:B→A:Brekeys;
服务器B告诉客户机A确实收到了对称密钥Kms。
步骤1.15:客户机A用绑定密钥的私钥Ka_Pri将Brekeys解密。验证随机数Ne是否与步骤1.11中生成的随机数一致,一致则客户机A确定服务器B收到了对称密钥Kms。
安全目标分析:用身份认证密钥对设备状态值PCR进行签名,保证双方身份和状态的可信。步骤1.10-1.15用绑定密钥的公钥Ka_Pub,Kb_Pub来加密传输对称密钥Kms。
(2)在Modbus/TCP通信中用HMAC保证通信报文的完整性,HMAC计算中Kms只有通信双方(客户机与服务器)知道,该Kms可以保证双方的身份认证。
Modbus/TCP安全通信过程步骤如下:
步骤2.1:客户机A根据实际工控环境中PLC的计算能力选择Hash算法,记为hashAlg。sdata为hashAlg,HMAC(Kms,data),data。data为Modbus/TCP请求报文sdata中的Modbus/TCP PDU字段数据。
步骤2.2:A→B:sdata;
sdata为客户机A的Modbus/TCP请求报文。
步骤2.3:用HMAC计算sdata的数据域,即HMAC(Kms,data)与sdata中的Hash Item值比较,若不相等,则A不可信;若相等,说明请求报文真实可信,服务器B向客户机A发送回复报文redata,redata为hashAlg,HMAC(Kms,responsedata),responsedata。responsedata为Modbus/TCP回复报文中Modbus/TCP PDU字段数据。
步骤2.4:A→B:redata;
redata是服务器B向客户机A发送的Modbus/TCP回复报文。
步骤2.5:客户机A用HMAC和密钥Kms计算回复报文redata的数据域responsedata,将HMAC(Kms,responsedata)值与redata中的Hash Item值比较,两者相等则客户机A接收回复报文redata,否则客户机A认为服务器B是冒充的。
(3)可信更新验证过程
可信服务器(AS)与可信设备利用远程证明方式定时获取各可信设备的相关信息。因为绑定密钥的安全性由TPM保证,身份认证密钥是不可迁移的并与TPM绑定,对于同一个TPM来说均是不可改变的。因此在可信服务器AS定期轮询可信设备时,只获取各可信设备的运行状态信息即PCR值。可信更新协议将保证AS中的白名单是可信的并且最新的,并能够及时发现系统中的不可信设备,保证系统安全。
在可信更新协议中,客户机A和服务器B因为均安装了TPM芯片,且流程一样,在可信更新协议中统称为可信设备A。在具体的流程中根据可信设备的不同类型(服务器或客户机)执行不同的操作。
可信更新验证过程具体步骤如下:
步骤3.1:AS→A::Nonce,reqAuth(A);
其中AS代表可信服务器,A代表可信设备,Nonce,reqAuth(A)分别表示可信服务器AS向可信设备A发送的随机数和验证请求。
步骤3.2:可信设备A将可信服务器AS请求的PCR值(Pcra)与随机数
Nonce,调用TPM_Quote接口签名,即Quote=TPM_Quote(AAIK_Pri,Pcra,Nonce),AAIK_Pri代表可信设备A的身份认证密钥的私钥,Pcra代表可信服务器AS请求的可信设备A的PCR值。
步骤3.3:可信设备A用可信设备A的PCR值(Pcra)和可信设备A的
签名Quote构建回复报文resp即resp=Pcra,Quote。
步骤3.4:A→AS:resp;
可信设备A向可信服务器AS发送回复报文resp。
步骤3.5:可信服务器AS用verifyQuote(AAIK_Pub,Pcra,Quote,Nonce)验
证可信设备A的签名Quote及随机数Nonce。AAIK_Pub为可信设备A的身份认证密钥的公钥,Pcra为A的PCR值,Quote为步骤3.2中可信设备A生成的PCR签名,Nonce是步骤3.1中可信服务器生成的随机数。verifyQuote()返回success,则可确认A的PCR值Pcra及随机数Nonce在传输过程中未被篡改。
步骤3.6:可信服务器AS将接收到的可信设备的PCR值Pcra与AS白名单中可信设备A的PCR值Pcra比较。若相等,则说明可信设备A的状态是可信的,可信服务器AS中可信设备A的白名单条目不发生改变。若不相等,可信服务器AS需要向可信设备A的admin用户发送请求报文。请求报文中询问是否发生了系统主动更新操作。若admin用户的回复报文中指明没有发生主动更新操作,可信服务器AS向可信设备A的admin用户发出警告,同时切断A平台与其他设备的通信。若可信设备A的admin用户的回复报文中指明发生了更新操作,同时发送了可信设备A的TPM新生成的绑定密钥的公钥ka_Pub,可信则服务器AS更新白名单库中可信设备A的PCR值和绑定密钥的公钥Ka_Pub。
若可信服务器AS更新了白名单库中可信设备A的信息,需进行以下操作:若可信设备A的设备类型为客户机,则可信服务器AS将可信设备A的白名单信息推送到工业控制系统所有的服务器中。之后可信服务器AS向可信设备A发送启动身份验证的消息,可信设备A将重新发起与服务器的身份认证过程。若可信设备A的设备类型为服务器,则可信服务器AS向所有的客户机广播消息,消息内容为:与可信设备A通信应重新发起进行身份验证过程。
切断通信的方式为:若可信设备A的设备类型为服务器,可信服务器AS将可信设备A的设备IP地址发送给客户机,客户机与可信设备A通信时将重新发起身份认证过程;若可信设备A的设备类型为客户机,可信服务器AS则向所有服务器推送可信设备A的设备状态不可信的消息,服务器接收到可信设备A不可信的消息时,将可信设备A的对称密钥Kms置为无效,此时可信设备A与服务器无法正常通信。
本发明与现有技术比,有以下优势:
本发明提出一种Modbus/TCP协议的安全增强方法,在可信服务器参与下,对通信双方的身份及状态是否可信进行认证,在验证过程中生成通信密钥,该密钥只有通信双方知道,利用HMAC计算保证双方的可认证性及通信报文的完整性。
附图说明
图1:通信系统整体图
图2:可信更新协议通信过程
图3:身份认证协议通信过程
图4:Modbus/TCP通信过程
具体实施方式
可信设备中操作系统关键内核模块、工控组态软件等关键信息的任何改变都会改变可信度量值,即发生设备状态信息的改变。
为了使本领域人员更好地了解本发明,下面结合附图对本发明做进一步的说明。
可信Modbus/TCP协议格式如表1
表1:可信Modbus/TCP格式
MBAP:Modbus/TCP的报头。
Hash Algorithm:1个字节,根据设备计算能力选择hash算法,双方对可使用的hash算法进行协商。通信双方设备存hash算法表,若该字段为1说明使用SHA-1,为2使用MD5等。
Hash Item:此项根据选择hash算法的不同字节数不同;Hash Item=HMAC(Kms,Modbus/TCP PDU),其中对称密钥Kms是在身份认证过程中生成的。
Modbus/TCP PDU:为Modbus/TCP除MBAP报头的所有字段数据。
1.设备状态信息
可信设备中操作系统关键内核模块、工控组态软件等关键信息的任何改变都会改变可信度量值,即发生设备状态信息的改变。
因而本文中度量对象选定为操作系统关键内核模块及工控组态软件。可信度量产生的度量信息存储在其TPM指定的PCR中,利用TSS相应函数取得该PCR的值,作为该设备的状态信息。状态信息能够动态反应该系统是否遭到破坏。
2.可信白名单
在工业控制系统中增加了可信服务器验证通信双方设备身份的真实性和运行状态的可信性,需要在可信服务器中保存可信设备的白名单,白名单的格式如表2:
表2:白名单格式
设备IP地址标识设备,设备类型标识是客户机或服务器,设备AIK公钥是身份认证密钥的公钥,用来唯一验证设备身份,绑定密钥BK的公钥用于加密传输客户机和服务器间的通信密钥,设备状态信息的PCR值用来验证设备的状态是否可信。
本协议运行之前协议参与者应当具备的知识如下:
1)可信设备(客户机和服务器)中存储可信服务器AS的公钥Ks_Pub。
2)AS中存储所有可信设备的可信状态信息即存储工控软件度量值的PCR值、身份认证密钥的公钥、绑定密钥的公钥构成白名单。可信服务器AS用其私钥Ks_Pri签名客户机相关的PCR值、身份认证密钥的公钥、绑定密钥公钥生成可信服务器的签名,可信服务器向工业控制系统中所有服务器推送客户机的信息及可信服务器的签名,可信服务器的签名可让服务器认证可信服务器AS。服务器中存储工业控制系统中所有客户机的相关信息。
协议运行过程如下:
(1).身份验证过程
身份验证的目标为用身份认证密钥的私钥对存储在PCR中的状态值进行签名,保证双方身份和状态的可信。通信双方在可信服务器AS的参与下完成双方身份和状态的认证。用绑定密钥加密传输对称密钥Kms及随机数,绑定密钥的授权数据指定为某个PCR值,绑定密钥只有在指定的PCR值与授权数据一致情况下才可使用,可保证只有该TPM平台且TPM系统状态与TPM生成该绑定密钥时状态一致时才能够使用该绑定密钥。从而保证对称密钥Kms协商过程中通信设备双方的状态的可信性。该通信过程中,A代表Modbus通信中的客户机,B代表服务器。身份验证过程如图2,通信步骤如下:
步骤1.1:A→B:req,Na;
req,Na分别是客户机A向服务器B发出的通信请求、随机数。
步骤1.2:服务器B收到客户机A的请求req和随机数Na后,将PCR值与随机数Na串联后计算摘要值,调用TPM_Quote计算PCR的签名值QuoteB。
步骤1.3:B→A:QuoteB,Nb;
QuoteB,Nb分别为服务器B发送给客户机A的PCR签名和随机数。
步骤1.4:A→AS:ReqB,Ns;
ReqB,Ns分别为客户机A向可信服务器AS发送要求服务器B相关信息的请求和随机数。
步骤1.5:可信服务器AS查找白名单后将服务器B的信息Kb_Pub,Pcrb,BAIK_Pub与Ns串联后用Ks_Pri签名,签名值为SIGNS。用Kb_Pub,Pcrb,BAIK_Pub与SIGNS构建报文Bdata。式中Kb_Pub为服务器B的绑定密钥的公钥,Pcrb为服务器B相应的PCR值,BAIK_Pub为服务器B的身份认证密钥的公钥,Ks_Pri为AS的私钥,其中SIGNS=Sign(Ks_Pri,Kb_Pub,Pcrb,BAIK_Pub)。
步骤1.6:AS→A:Bdata;
可信服务器AS向客户机A发送服务器B的相关信息报文Bdata。
步骤1.7:客户机A用可信服务器AS的公钥Ks_Pub验证AS的签名SIGNS及随机数Ns,调用TSS_VerifySHA1RSASignature(Ks_Pub,SIGNS,Kb_Pub||Pcrb||Ns)。客户机A从报文Bdata中得到服务器B的PCR值、身份认证密钥的公钥及绑定密钥的公钥Kb_Pub后,验证服务器B的签名QuoteB,调用verifyQuote()。上述验证操作均成功后,客户机A生成随机数Nc,将客户机A的PCR值用身份认证密钥的私钥AAIK_Pri签名生成QuoteA,QuoteA=TPM_Quote(AAIK_Pub,Pcra,Nc)。
步骤1.8:A→B:QuoteA,Nc;
QuoteA,Nc分别是客户机A向服务器B发送的PCR签名和随机数。
步骤1.9:服务器B调用verifyQuote()验证客户机A的签名QuoteA,若返回值为success,则服务器B生成随机数Nd,并利用客户机A的绑定密钥的公钥Ka_Pub加密Nc,Nd。Bok=TSS_Bind(Ka_Pub,Nc|||Nd)。
步骤1.10:B→A:Bok;
Bok为服务器B向客户机A发送的确认客户机A可信的报文。
步骤1.11:客户机A用绑定密钥的私钥Ka_Pri解密Bok,即调用TPM_UnBind(Ka_Pri,Bok,keyAuth),keyAuth为创建绑定密钥时的授权数据,在此选用客户机A的PCR值.在该函数执行过程中,首先验证该授权数据keyAuth是否与现在客户机A中相应PCR的值一致,一致才可使用绑定密钥的私钥Ka_Pri。解密后,验证随机数Nc是否与步骤1.7中发送给服务器B的随机数Nc相等。若相等,则客户机A生成HMAC运算中使用的对称密钥Kms,同时生成随机数Ne,将Kms,Nd,Ne用服务器B的绑定密钥的公钥Kb_Pub加密,生成Keys,Keys=TSS_Bind(Kb_Pub,Kms||Nd||Ne)。
步骤1.12:A→B:Keys;
Keys是客户机包含对称密钥Kms的报文。
步骤1.13:服务器B用绑定密钥的私钥Kb_Pri解密报文Keys。之后验证随机数Nd是否与步骤1.9中生成的Nd一致,若一致,则接收客户机A发送的对称密钥Kms。然后用客户机A的绑定密钥的公钥Ka_Pub加密报文Keys中客户机A的随机数Ne,Brekey=TSS_Bind(Ka_Pub,Ne)。
步骤1.14:B→A:Brekeys;
服务器B告诉客户机A确实收到了对称密钥Kms。
步骤1.15:客户机A用绑定密钥的私钥Ka_Pri将Brekeys解密。验证随机数Ne是否与步骤1.11中生成的随机数一致,一致则客户机A确定服务器B收到了对称密钥Kms。
(2)在Modbus/TCP通信中用HMAC保证通信报文的完整性,HMAC计算中Kms只有通信双方(客户机与服务器)知道,该Kms可以保证双方的身份认证。
Modbus/TCP安全通信过程如图3,步骤如下:
步骤2.1:客户机A根据实际工控环境中PLC的计算能力选择Hash算法,记为hashAlg。sdata为hashAlg,HMAC(Kms,data),data。data为Modbus/TCP请求报文sdata中的Modbus/TCP PDU字段数据。
步骤2.2:A→B:sdata;
sdata为客户机A的Modbus/TCP请求报文。
步骤2.3:用HMAC计算sdata的数据域,即HMAC(Kms,data)与sdata中的Hash Item值比较,若不相等,则A不可信;若相等,说明请求报文真实可信,服务器B向客户机A发送回复报文redata,redata为hashAlg,HMAC(Kms,responsedata),responsedata。responsedata为Modbus/TCP回复报文中Modbus/TCP PDU字段数据。
步骤2.4:A→B:redata;
redata是服务器B向客户机A发送的Modbus/TCP回复报文。
步骤2.5:客户机A用HMAC和密钥Kms计算回复报文redata的数据域responsedata,将HMAC(Kms,responsedata)值与redata中的Hash Item值比较,两者相等则客户机A接收回复报文redata,否则客户机A认为服务器B是冒充的。
(3)可信更新验证过程
可信服务器(AS)与可信设备利用远程证明方式定时获取各可信设备的相关信息。因为绑定密钥的安全性由TPM保证,身份认证密钥是不可迁移的并与TPM绑定,对于同一个TPM来说均是不可改变的。因此在可信服务器AS定期轮询可信设备时,只获取各可信设备的运行状态信息即PCR值。可信更新协议将保证AS中的白名单是可信的并且最新的,并能够及时发现系统中的不可信设备,保证系统安全。
在可信更新验证过程中,客户机和服务器因为均安装了TPM芯片,在可信更新协议中统称为可信设备。在具体的流程中根据可信设备的不同类型(服务器或客户机)执行不同的操作。
可信更新验证的具体通信流程如图4,具体步骤如下:
可信更新验证过程具体步骤如下:
步骤3.1:AS→A:Nonce,reqAuth(A);
其中AS代表可信服务器,A代表可信设备,Nonce,reqAuth(A)分别表示可信服务器AS向可信设备A发送的随机数和验证请求。
步骤3.2:可信设备A将可信服务器AS请求的PCR值(Pcra)与随机数
Nonce,调用TPM_Quote接口签名,即Quote=TPM_Quote(AAIK_Pri,Pcra,Nonce),AAIK_Pri代表可信设备A的身份认证密钥的私钥,Pcra代表可信服务器AS请求的可信设备A的PCR值。
步骤3.3:可信设备A用可信设备A的PCR值(Pcra)和可信设备A的
签名Quote构建回复报文resp即resp=Pcra,Quote。
步骤3.4:A→AS:resp;
可信设备A向可信服务器AS发送回复报文resp。
步骤3.5:可信服务器AS用verlfyQuote(AAIK_Pub,Pcra,Quote,Nonce)验
证可信设备A的签名Quote及随机数Nonce。AAIK_Pub为可信设备A的身份认证密钥的公钥,Pcra为A的PCR值,Quote为步骤3.2中可信设备A生成的PCR签名,Nonce是步骤3.1中可信服务器生成的随机数。verifyQuote()返回success,则可确认A的PCR值Pcra及随机数Nonce在传输过程中未被篡改。
步骤3.6:可信服务器AS将接收到的可信设备的PCR值Pcra与AS白名单中可信设备A的PCR值Pcra比较。若相等,则说明可信设备A的状态是可信的,可信服务器AS中可信设备A的白名单条目不发生改变。若不相等,可信服务器AS需要向可信设备A的admin用户发送请求报文。请求报文中询问是否发生了系统主动更新操作。若admin用户的回复报文中指明没有发生主动更新操作,可信服务器AS向可信设备A的admin用户发出警告,同时切断A平台与其他设备的通信。若可信设备A的admin用户的回复报文中指明发生了更新操作,同时发送了可信设备A的TPM新生成的绑定密钥的公钥ka_Pub,可信则服务器AS更新白名单库中可信设备A的PCR值和绑定密钥的公钥Ka_Pub。
若可信服务器AS更新了白名单库中可信设备A的信息,需进行以下操作:若可信设备A的设备类型为客户机,则可信服务器AS将可信设备A的白名单信息推送到工业控制系统所有的服务器中。之后可信服务器AS向可信设备A发送启动身份验证的消息,可信设备A将重新发起与服务器的身份认证过程。若可信设备A的设备类型为服务器,则可信服务器AS向所有的客户机广播消息,消息内容为:与可信设备A通信应重新发起进行身份验证过程。
切断通信的方式为:若可信设备A的设备类型为服务器,可信服务器AS将可信设备A的设备IP地址发送给客户机,客户机与可信设备A通信时将重新发起身份认证过程;若可信设备A的设备类型为客户机,可信服务器AS则向所有服务器推送可信设备A的设备状态不可信的消息,服务器接收到可信设备A不可信的消息时,将可信设备A的对称密钥Kms置为无效,此时可信设备A与服务器无法正常通信。
Claims (1)
1.一种基于TPM的Modbus/TCP协议的安全增强方法,其特征在于:
本协议运行之前,可信设备即客户机A和服务器B中存储可信服务器AS的公钥Ks_Pub;AS中存储所有可信设备的可信状态信息,即存储工控软件度量值的PCR值、身份认证密钥的公钥、绑定密钥的公钥构成白名单;
协议运行包括以下三个过程:
(1)身份验证过程
该过程中,A代表Modbus通信中的客户机,B代表服务器;身份验证过程通信步骤如下:
步骤1.1:A→B:req,Na;
req,Na分别是客户机A向服务器B发出的通信请求、随机数;
步骤1.2:服务器B收到客户机A的请求req和随机数Na后,将PCR值与随机数Na串联后计算摘要值,调用TPM_Quote计算PCR的签名值QuoteB;
步骤1.3:B→A:QuoteB,Nb;
QuoteB,Nb分别为服务器B发送给客户机A的PCR签名和随机数;
步骤1.4:A→AS:ReqB,Ns;
ReqB,Ns分别为客户机A向可信服务器AS发送要求服务器B相关信息的请求和随机数;
步骤1.5:可信服务器AS查找白名单后将服务器B的信息Kb_Pub,Pcrb,BAIK_Pub与Ns串联后用Ks_Pri签名,签名值为SIGNS;用Kb_Pub,Pcrb,BAIK_Pub与SIGNS构建报文Bdata;式中Kb_Pub为服务器B的绑定密钥的公钥,Pcrb为服务器B相应的PCR值,BAIK_Pub为服务器B的身份认证密钥的公钥,Ks_Pri为AS的私钥,其中SIGNS=Sign(Ks_Pri,Kb_Pub,Pcrb,BAIK_Pub);
步骤1.6:AS→A:Bdata;
可信服务器AS向客户机A发送服务器B的相关信息报文Bdata;
步骤1.7:客户机A用可信服务器AS的公钥Ks_Pub验证AS的签名SIGNS及随机数Ns;客户机A从报文Bdata中得到服务器B的PCR值、服务器B身份认证密钥的公钥BAIK_Pub及服务器B的绑定密钥的公钥Kb_Pub后,验证服务器B的签名QuoteB;上述验证操作均成功后,客户机A生成随机数Nc,将客户机A的PCR值用身份认证密钥的私钥AAIK_Pri签名生成QuoteA,QuoteA=TPM_Quote(AAIK_Pri,Pcra,Nc);
步骤1.8:A→B:QuoteA,Nc;
QuoteA,Nc分别是客户机A向服务器B发送的PCR签名和随机数;
步骤1.9:服务器B调用verifyQuote()验证客户机A的签名QuoteA,若返回值为success,则服务器B生成随机数Nd,并利用客户机A的绑定密钥的公钥Ka_Pub加密Nc,Nd;Bok=TSS_Bind(Ka_Pub,Nc||Nd);
步骤1.10:B→A:Bok;
Bok为服务器B向客户机A发送的确认客户机A可信的报文;
步骤1.11:客户机A用绑定密钥的私钥Ka_Pri解密Bok,即调用TPM_UnBind(Ka_Pri,Bok,keyAuth),keyAuth为创建绑定密钥时的授权数据,在此选用客户机A的PCR值,在该函数执行过程中,首先验证该授权数据keyAuth是否与现在客户机A中相应PCR的值一致,一致才可使用绑定密钥的私钥Ka_Pri;解密后,验证随机数Nc是否与步骤1.8中发送给服务器B的随机数Nc相等;若相等,则客户机A生成HMAC运算中使用的对称密钥Kms,同时生成随机数Ne,将Kms,Nd,Ne用服务器B的绑定密钥的公钥Kb_Pub加密,生成Keys,Keys=TSS_Bind(Kb_Pub,Kms||Nd||Ne);
步骤1.12:A→B:Keys;
Keys是客户机包含对称密钥Kms的报文;
步骤1.13:服务器B用绑定密钥的私钥Kb_Pri解密报文Keys;之后验证随机数Nd是否与步骤1.9中生成的Nd一致,若一致,则接收客户机A发送的对称密钥Kms;然后用客户机A的绑定密钥的公钥Ka_Pub加密报文Keys中客户机A的随机数Ne,Brekeys=TSS_Bind(Ka_Pub,Ne);
步骤1.14:B→A:Brekeys;
服务器B告诉客户机A确实收到了对称密钥Kms;
步骤1.15:客户机A用绑定密钥的私钥Ka_Pri将Brekeys解密;验证随机数Ne是否与步骤1.11中生成的随机数一致,一致则客户机A确定服务器B收到了对称密钥Kms;
(2)安全通信过程:
步骤2.1:客户机A根据实际工控环境中PLC的计算能力选择Hash算法,记为hashAlg;sdata为hashAlg,HMAC(Kms,data),data;data为Modbus/TCP请求报文sdata中的Modbus/TCP PDU字段数据;
步骤2.2:A→B:sdata;
sdata为客户机A的Modbus/TCP请求报文;
步骤2.3:用HMAC计算sdata的数据域,即HMAC(Kms,data)与sdata中的Hash Item值比较,若不相等,则A不可信;若相等,说明请求报文真实可信,服务器B向客户机A发送回复报文redata,redata为hashAlg,HMAC(Kms,responsedata),responsedata;responseda ta为Modbus/TCP回复报文中Modbus/TCP PDU字段数据;
步骤2.4:A→B:redata;
redata是服务器B向客户机A发送的Modbus/TCP回复报文;
步骤2.5:客户机A用HMAC和密钥Kms计算回复报文redata的数据域responsedata,将HMAC(Kms,responsedata)值与redata中的Hash Item值比较,两者相等则客户机A接收回复报文redata,否则客户机A认为服务器B是冒充的;
(3)可信更新验证过程
客户机A和服务器B因为均安装了TPM芯片,且流程一样,在可信更新协议中统称为可信设备T;
可信更新验证过程具体步骤如下:
步骤3.1:AS→T:Nonce,reqAuth(T);
其中AS代表可信服务器,T代表可信设备,Nonce,reqAuth(T)分别表示可信服务器AS向可信设备T发送的随机数和验证请求;
步骤3.2:可信设备T将可信服务器AS请求的PCR值(Pcrt)与随机数Nonce,调用TPM_Quote接口签名,即Quote=TPM_Quote(TAIK_Pri,Pcrt,Nonce),TAIK_Pri代表可信设备T的身份认证密钥的私钥,Pcrt代表可信服务器AS请求的可信设备T的PCR值;
步骤3.3:可信设备T用可信设备T的PCR值(Pcrt)和可信设备T的签名Quote构建回复报文resp,即resp=Pcrt,Quote;
步骤3.4:T→AS:resp;
可信设备T向可信服务器AS发送回复报文resp;
步骤3.5:可信服务器AS用verifyQuote(TAIK_Pub,Pcrt,Quote,Nonce)验证可信设备T的签名Quote及随机数Nonce;TAIK_Pub为可信设备T的身份认证密钥的公钥,Pcrt为T的PCR值,Quote为步骤3.2中可信设备T生成的PCR签名,Nonce 是步骤3.1中可信服务器生成的随机数;verifyQuote()返回success,则可确认T的PCR值Pcrt及随机数Nonce在传输过程中未被篡改;
步骤3.6:可信服务器AS将接收到的可信设备的PCR值Pcrt与AS白名单中可信设备T的PCR值Pcrt比较;若相等,则说明可信设备T的状态是可信的,可信服务器AS中可信设备T的白名单条目不发生改变;若不相等,可信服务器AS需要向可信设备T的admin用户发送请求报文;请求报文中询问是否发生了系统主动更新操作;若admin用户的回复报文中指明没有发生主动更新操作,可信服务器AS向可信设备T的admin用户发出警告,同时切断T平台与其他设备的通信;若可信设备T的admin用户的回复报文中指明发生了更新操作,同时发送了可信设备T的TPM新生成的绑定密钥的公钥Kt_Pub,可信则服务器AS更新白名单库中可信设备T的PCR值和绑定密钥的公钥Kt_Pub;
若可信服务器AS更新了白名单库中可信设备T的信息,需进行以下操作:若可信设备T的设备类型为客户机,则可信服务器AS将可信设备T的白名单信息推送到工业控制系统所有的服务器中;之后可信服务器AS向可信设备T发送启动身份验证的消息,可信设备T将重新发起与服务器的身份认证过程;若可信设备T的设备类型为服务器,则可信服务器AS向所有的客户机广播消息,消息内容为:与可信设备T通信应重新发起进行身份验证过程;
切断通信的方式为:若可信设备T的设备类型为服务器,可信服务器AS将可信设备T的设备IP地址发送给客户机,客户机与可信设备T通信时将重新发起身份认证过程;若可信设备T的设备类型为客户机,可信服务器AS则向所有服务器推送可信设备T的设备状态不可信的消息,服务器接收到可信设备T不可信的消息时,将可信设备T的对称密钥Kms置为无效,此时可信设备T与服务器无法正常通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610218409.XA CN105721500B (zh) | 2016-04-10 | 2016-04-10 | 一种基于TPM的Modbus/TCP协议的安全增强方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610218409.XA CN105721500B (zh) | 2016-04-10 | 2016-04-10 | 一种基于TPM的Modbus/TCP协议的安全增强方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105721500A CN105721500A (zh) | 2016-06-29 |
CN105721500B true CN105721500B (zh) | 2019-01-15 |
Family
ID=56159753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610218409.XA Active CN105721500B (zh) | 2016-04-10 | 2016-04-10 | 一种基于TPM的Modbus/TCP协议的安全增强方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105721500B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106230595B (zh) * | 2016-07-21 | 2019-09-03 | 北京可信华泰信息技术有限公司 | 一种可信平台控制模块的授权协议 |
CN106709354B (zh) * | 2016-10-24 | 2018-07-06 | 北京亚控科技发展有限公司 | 一种可组态管控一体化平台的安全空间构造方法及系统 |
CN107070857A (zh) * | 2016-12-15 | 2017-08-18 | 中国电子技术标准化研究院((工业和信息化部电子工业标准化研究院)(工业和信息化部电子第四研究院)) | 一种基于tcp/ip的dnp3协议网络保护框架 |
CN110545226B (zh) * | 2018-05-28 | 2021-12-17 | 中国石油天然气集团有限公司 | 设备通信方法和通信系统 |
CN110688638B (zh) * | 2018-07-04 | 2021-07-06 | 中国移动通信有限公司研究院 | 一种业务认证方法、装置、介质和设备 |
CN109391618B (zh) * | 2018-10-18 | 2021-09-03 | 平安科技(深圳)有限公司 | 一种通信链路的建立方法及系统 |
CN109547451B (zh) * | 2018-11-30 | 2021-05-25 | 四川长虹电器股份有限公司 | 基于tee的可信认证服务认证的方法 |
CN111726325B (zh) * | 2019-03-20 | 2021-12-03 | 华为技术有限公司 | 一种确定网络设备状态的方法、相关设备及系统 |
CN110138772B (zh) * | 2019-05-13 | 2022-02-25 | 上海英恒电子有限公司 | 一种通信方法、装置、系统、设备和存储介质 |
CN111245616B (zh) * | 2020-03-10 | 2023-03-24 | 阿波罗智联(北京)科技有限公司 | 网络通信的认证方法、装置、设备及存储介质 |
CN112199682B (zh) * | 2020-11-03 | 2022-08-02 | 上海思赞博微信息科技有限公司 | 一种基于可信计算的白名单库文件保护方法 |
CN112637124B (zh) * | 2020-11-23 | 2022-11-18 | 中信银行股份有限公司 | 报文的处理方法、装置、电子设备及计算机可读存储介质 |
CN113472520B (zh) * | 2021-08-07 | 2022-06-03 | 山东省计算中心(国家超级计算济南中心) | 一种ModbusTCP协议安全增强方法及系统 |
CN113824705B (zh) * | 2021-09-10 | 2022-05-10 | 浙江大学 | 一种Modbus TCP协议的安全加固方法 |
CN113890844B (zh) * | 2021-09-17 | 2023-05-09 | 济南浪潮数据技术有限公司 | 一种ping命令优化的方法、装置、设备及可读介质 |
CN115085966B (zh) * | 2022-04-28 | 2024-04-05 | 麒麟软件有限公司 | 一种建立openpts远程可信连接的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2866169A1 (fr) * | 2004-02-10 | 2005-08-12 | Schneider Electric Ind Sas | Systeme de communication securise. |
FR2924239A1 (fr) * | 2007-11-26 | 2009-05-29 | Damon Parsy | Dispositif de diagnostic de defauts intelligent |
CN102984170A (zh) * | 2012-12-11 | 2013-03-20 | 清华大学 | 一种工业控制网络安全过滤系统及方法 |
CN103581173A (zh) * | 2013-09-11 | 2014-02-12 | 北京东土科技股份有限公司 | 一种基于工业以太网的数据安全传输方法、系统及装置 |
CN105429963A (zh) * | 2015-11-04 | 2016-03-23 | 北京工业大学 | 基于Modbus/Tcp的入侵检测分析方法 |
-
2016
- 2016-04-10 CN CN201610218409.XA patent/CN105721500B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2866169A1 (fr) * | 2004-02-10 | 2005-08-12 | Schneider Electric Ind Sas | Systeme de communication securise. |
FR2924239A1 (fr) * | 2007-11-26 | 2009-05-29 | Damon Parsy | Dispositif de diagnostic de defauts intelligent |
CN102984170A (zh) * | 2012-12-11 | 2013-03-20 | 清华大学 | 一种工业控制网络安全过滤系统及方法 |
CN103581173A (zh) * | 2013-09-11 | 2014-02-12 | 北京东土科技股份有限公司 | 一种基于工业以太网的数据安全传输方法、系统及装置 |
CN105429963A (zh) * | 2015-11-04 | 2016-03-23 | 北京工业大学 | 基于Modbus/Tcp的入侵检测分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105721500A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105721500B (zh) | 一种基于TPM的Modbus/TCP协议的安全增强方法 | |
Bera et al. | Designing blockchain-based access control protocol in IoT-enabled smart-grid system | |
KR102392420B1 (ko) | 다중키 쌍 시그너처를 사용한 프로그램 실행 및 데이터 증명 체계 | |
CN111066286B (zh) | 使用高可用性的可信执行环境检索区块链网络的公共数据 | |
US10516662B2 (en) | System and method for authenticating the legitimacy of a request for a resource by a user | |
CN106878318B (zh) | 一种区块链实时轮询云端系统 | |
EP2080142B1 (en) | Attestation of computing platforms | |
CN110832519A (zh) | 提高区块链网络与外部数据源之间的通信的完整性 | |
CN108768652B (zh) | 一种可抗量子攻击的联盟区块链底层加密方法 | |
US7165179B2 (en) | Digital signature verification and program transmission | |
JP2022545627A (ja) | 分散化されたデータ認証 | |
CN109995776A (zh) | 一种互联网数据验证方法及系统 | |
CN113626802A (zh) | 一种设备密码的登录验证系统及方法 | |
JP6780771B2 (ja) | 検証情報付与装置、検証装置、情報管理システム、方法およびプログラム | |
Cui et al. | Efficient blockchain-based mutual authentication and session key agreement for cross-domain IIoT | |
CN115834149A (zh) | 一种基于国密算法的数控系统安全防护方法及装置 | |
CN111651740B (zh) | 一种面向分布式智能嵌入式系统的可信平台共享系统 | |
Benton et al. | Signaturecheck: a protocol to detect man-in-the-middle attack in ssl | |
Feng et al. | A fair non-repudiation framework for data integrity in cloud storage services | |
CN113556365B (zh) | 认证结果数据传输系统、方法及装置 | |
JP6364957B2 (ja) | 情報処理システム、情報処理方法、及びプログラム | |
CN115694790B (zh) | 基于量子安全的数字资产存证方法、装置、设备及介质 | |
Bukovetskyi et al. | Developing the algorithm and software for access token protection using request signing with temporary secret | |
CN117061127A (zh) | 数字签名的生成方法及系统、装置、电子设备、存储介质 | |
Feng et al. | A new method of formalizing anonymity based on protocol composition logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |