CN111740819B - 一种适用于plc的时间基一次性密码方法及系统 - Google Patents

一种适用于plc的时间基一次性密码方法及系统 Download PDF

Info

Publication number
CN111740819B
CN111740819B CN202010638135.6A CN202010638135A CN111740819B CN 111740819 B CN111740819 B CN 111740819B CN 202010638135 A CN202010638135 A CN 202010638135A CN 111740819 B CN111740819 B CN 111740819B
Authority
CN
China
Prior art keywords
time
password
verification
value
chain
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
CN202010638135.6A
Other languages
English (en)
Other versions
CN111740819A (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.)
Chongqing University of Technology
Original Assignee
Chongqing University of Technology
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 Chongqing University of Technology filed Critical Chongqing University of Technology
Priority to CN202010638135.6A priority Critical patent/CN111740819B/zh
Publication of CN111740819A publication Critical patent/CN111740819A/zh
Application granted granted Critical
Publication of CN111740819B publication Critical patent/CN111740819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms

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)
  • Programmable Controllers (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种适用于PLC的时间基一次性密码方法、待验证设备、验证设备及身份验证系统。包括:证明方执行:A1,获取验证密钥;A2,建立包含多个节点的密码链,存储头节点的密码值并将尾节点的密码值发送验证方;A3,利用验证密钥、密码链的结束时间,以及当前时间生成第一一次性密码并发送至验证方;验证方执行:B1,设置动态的验证点和记录最近一次身份验证时间;B2,接收第一一次性密码并记录接收时间,若时间验证通过,且第二一次性密码与当前的验证点的值相等,验证成功,更新验证点和最近一次身份验证时间。本方法实现了PLC身份的高效率和高安全性验证,无需改动PLC固件,减少了内存占用。

Description

一种适用于PLC的时间基一次性密码方法及系统
技术领域
本发明涉及信息安全领域,特别是涉及一种适用于PLC的时间基一次性密 码方法、待验证设备、验证设备及身份验证系统。
背景技术
由于传统的信息物理系统(cyber physical systems,简称CPS)本身没有安 全措施,导致近年来CPS受到了一些大型攻击。CPS作为计算进程和物理进程的 统一体,是集成计算、通信与控制于一体的下一代智能系统,可编程逻辑控制 器(Programmable LogicController,简称PLC)作为CPS中控制物理进程的核心 架构,成为了攻击者攻击的主要目标。
CPS中可以用防火墙保证数据采集与监视控制系统(Supervisory Control AndData Acquisition,简称SCADA)和PLC之间的安全通信和访问控制,但防 火墙并不能针对具体某个PLC进行直接身份认证,而现有的PLC没有任何身份相 关机密信息,因此数据采集与监视控制系统也不能确定被监控PLC的身份真实 性。
在IEC-61131-3规定的PLC四种标准编程语言之中,结构化文本/结构式文 件编程语言(Structured text,简称ST)更接近计算机其它高级编程语言(如 Python),因此适合用于实现密码算法。但由于ST并没有提供底层优化之类, 并且许多商业PLC(例如罗克韦尔)并没有提供密码算法实现需要的移位功能, 因此基于ST实现的程序相比其它语言要慢。所以一些在其它嵌入平台下能高速 运行的轻量级密码算法,并不一定能在PLC上实现类似的高效性。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种 适用于PLC的时间基一次性密码方法、待验证设备、验证设备及身份验证系统。
为了实现本发明的上述目的,根据本发明的第一个方面,本发明提供了一 种适用于PLC的时间基一次性密码方法,包括:证明方执行以下全部或部分步 骤:步骤A1,获取安全参数,基于安全参数利用分组加密的密钥生成算法获取验 证密钥;步骤A2,建立包含多个节点的密码链,所述密码链的头节点的密码值为 验证密钥,以前一节点的密码值作为加密密钥利用分组加密的加密算法对消息 进行加密获得后一节点的密码值,完成密码链上所有节点的密码值获取;存储 头节点的密码值并将尾节点的密码值发送至验证方;所述验证密钥的位长小于 等于消息的位长;步骤A3,利用验证密钥、密码链的结束时间,以及当前时间通 过分组加密的加密算法生成第一一次性密码,将第一一次性密码发送至验证方;验证方执行以下全部或部分步骤:步骤B1,设置动态的验证点和记录最近一次 身份验证时间,所述验证点的初始值为密码链的尾节点的密码值;步骤B1,接 收第一一次性密码并记录接收时间,进行时间验证,若时间验证通过,验证方 利用最近一次身份验证时间和第一一次性密码通过分组加密的加密算法生成第 二一次性密码,若第二一次性密码与当前的验证点的值相等,认为证明方身份验 证成功,将验证点的值更新为第一一次性密码,将最近一次身份验证时间更新 为所述第一一次性密码的接收时间;若第二一次性密码与当前的验证点的值不 相等或者时间验证失败,则认为证明方身份验证失败。
上述技术方案:提出了一种基于分组加密的时间基一次性密码方法,为PLC 引入时间基一次性密码作为身份认证凭证,通过分组加密算法获得第一一次性 密码,而非传统的哈希加密算法,解决了哈希加密算法在PLC上效率不高的问 题,实现PLC身份高效率和高安全性验证;证明方PLC仅需存储验证密钥,验 证方仅需存储密码链的尾节点的密码值,无需改动PLC固件,验证方无需存储 验证密钥,增强了安全性,对双方的正常运行影响较小,证明方可以高效地在 相应的时间向验证方证明其身份;验证方验证通过时间验证,能够快速剔除超 时的异常验证申请,加快了身份验证速度和可靠性。
为了实现本发明的上述目的,根据本发明的第二个方面,本发明提供了一 种待验证设备,包括可编程逻辑控制器和发送模块,所述可编程逻辑控制器包 括:验证密钥生成模块,获取安全参数,基于安全参数利用分组加密的密钥生 成算法获取验证密钥;密码链建立模块,建立包含多个节点的密码链,所述密 码链的头节点的密码值为验证密钥,以前一节点的密码值作为加密密钥利用分 组加密的加密算法对消息进行加密获得后一节点的密码值,完成密码链上所有 节点的密码值获取;存储头节点的密码值;所述验证密钥的位长小于等于消息 的位长;第一一次性密码生成模块,利用验证密钥、密码链的结束时间,以及 当前时间通过分组加密的加密算法生成第一一次性密码;所述发送模块将密码 链中的尾节点的密码值和第一一次性密码发送至验证设备。
上述技术方案:该设备引入时间基一次性密码作为身份认证凭证,通过分 组加密算法获得第一一次性密码,而非传统的哈希加密算法,解决了哈希加密 算法在PLC上效率不高的问题,实现PLC身份高效率和高安全性验证;待验证 设备仅需存储验证密钥,无需改动PLC固件,极大地减少了内存占用,对双方 的正常运行影响较小,待验证设备可以高效地在相应的时间向验证设备证明其 身份。
为了实现本发明的上述目的,根据本发明的第三个方面,本发明提供了一 种验证设备,包括:接收单元,接收待验证设备发送的密码链的尾节点的密码 值和第一一次性密码;参数设置单元,设置动态的验证点和记录最近一次身份 验证时间,所述验证点的初始值为密码链的尾节点的密码值;第二一次性密码 生成单元,利用最近一次身份验证时间和第一一次性密码通过分组加密的加密 算法生成第二一次性密码;验证单元,记录接收第一一次性密码的接收时间, 进行时间验证,若时间验证通过,若第二一次性密码与当前的验证点的值相等, 则认为证明方身份验证成功,将验证点的值更新为第一一次性密码,将最近一 次身份验证时间更新为所述第一一次性密码的接收时间;若第二一次性密码与 当前的验证点的值不相等或者时间验证失败,则认为证明方身份验证失败。
上述技术方案:提出了一种基于分组加密的时间基一次性密码方法,实现 PLC身份高效率和高安全性验证,验证设备仅需存储密码链的尾节点的密码值, 无需存储验证密钥,安全性增强了,对正常运行影响较小,验证设备验证通过 时间验证处理能够快速剔除超时的异常验证申请,加快了身份验证速度和可靠 性。
为了实现本发明的上述目的,根据本发明的第四个方面,本发明提供了一 种身份验证系统,包括至少一个本发明所述的待验证设备和本发明所述的验证 设备,所述待验证设备均与验证设备建立有通信链路。
上述技术方案:为PLC引入时间基一次性密码作为身份认证凭证,通过分 组加密算法获得第一一次性密码,而非传统的哈希加密算法,解决了哈希加密 算法在PLC上效率不高的问题,实现PLC身份高效率和高安全性验证;待验证 设备仅需存储验证密钥,验证设备仅需存储密码链的尾节点的密码值,无需改 动PLC固件,验证设备无需存储验证密钥,增强了安全性,对双方的正常运行 影响较小,验证设备可以高效地在相应的时间向验证方证明其身份;验证设备 验证通过时间验证,能够快速剔除超时的异常验证申请,加快了身份验证速度 和可靠性。
具体实施方式
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、 “相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是 两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于 本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
发明人发现因为英特尔的CPU集成了AES指令集,所以基于AES优化的 PHOTON及SPONGENT哈希算法在PC上效率表现较高,而PLC上没有AES指令集, 因此PHOTON及SPONGENT哈希算法等轻量级密码算法在PLC上运行效率较低。 在表1中,总结了哈希算法与分组加密算法的性能,解释了时间基一次性密码 若基于哈希会效率低的原因,通过比较原子操作的个数得到:256/32/32版本的 PHOTON哈希算法主要做10万个赋值,2万个加法,1.5万个异或,256/256/128 版本的SPONGENT哈希算法主要做42万个赋值,3千个加法,6千个异或,而满 足128位安全性的PRESENT分组加密算法主要做5千个赋值,60个异或,SPECK 分组加密算法主要做3千个赋值,80个加法,100个异或。在Allen-Bradley 的PLC上,一个赋值、加法和逻辑运算的时间分别为1.17、1.51和2.3微秒。 由于赋值操作时间和其他开销近似,并且这几种算法的赋值语句的数量最多, 因此以赋值操作时间为参考,PHOTON、SPONGENT哈希算法分别为SPECK分组加 密算法的99796/2760≈36倍、415838/2760≈151倍,相比于分组加密算法,可见哈 希加密算法在PLC上效率不高。
表1
算法 赋值 加法 异或
PHOTON 99796 21175 15248
SPONGENT 415838 3256 6290
PRESENT 4885 - 64
SPECK 2760 81 108
本申请提出的上述适用于PLC的时间基一次性密码方法,证明方可以在相 应的时间向验证方证明其身份,且在罗克韦尔自动化的真实商业PLC进行了分 组加密算法为PRESENT和SPECK的验证,验证结果表明本申请的身份验证方法 具有极高的高效性、实用性和安全性。
本发明公开了一种适用于PLC的时间基一次性密码方法,在一种优选实施 方式中,该方法包括:
证明方执行以下全部或部分步骤:
步骤A1,获取安全参数,基于安全参数利用分组加密的密钥生成算法获取验 证密钥。
步骤A2,建立包含多个节点的密码链,密码链的头节点的密码值为验证密 钥,以前一节点的密码值作为加密密钥利用分组加密的加密算法对消息进行加 密获得后一节点的密码值,完成密码链上所有节点的密码值获取;密码链上的 每个节点,可以是一个验证密码;优选的,密码链包含N+1个节点,
Figure BDA0002564529350000071
Figure BDA0002564529350000072
表示向下取整;ΔTL表示密码链的使用周期;ΔI表示密码链上每个密码的验证有 效期,优选但不限于为30秒。存储头节点的密码值并将尾节点的密码值发送至 验证方;验证密钥的位长小于等于消息的位长,消息的位长优选但不限于为64 位,验证密钥的位长优选但不限于为128位。
步骤A3,利用验证密钥、密码链的结束时间,以及当前时间通过分组加密的 加密算法生成第一一次性密码,将第一一次性密码发送至验证方。
验证方执行以下全部或部分步骤:
步骤B1,设置动态的验证点和记录最近一次身份验证时间,验证点的初始 值为密码链的尾节点的密码值,优选的,最近一次身份验证时间的初始值为0。
步骤B2,接收第一一次性密码并记录接收时间,进行时间验证,若时间验 证通过,验证方利用最近一次身份验证时间和第一一次性密码通过分组加密的 加密算法生成第二一次性密码,若第二一次性密码与当前的验证点的值相等,认 为证明方身份验证成功,将验证点的值更新为第一一次性密码,将最近一次身 份验证时间更新为第一一次性密码的接收时间;若第二一次性密码与当前的验 证点的值不相等或者时间验证失败,则认为证明方身份验证失败。
在本实施方式中,优选的,当证明方首次开始身份认证时,证明方可执行 步骤A1、A2、A3,且当证明方内部存储有安全参数无需从外部获取时,可执行 步骤A2、A3。当证明方非首次开始身份认证时,可仅执行步骤A3。优选的,当 验证方首次执行验证时,可执行步骤B1、B2,当验证方非首次执行验证时,可 执行仅步骤B2。
在本实施方式中,分组加密算法优选但不限于选择PRESENT算法和SPECK 算法,分组加密算法可定义为BC:(BC.Gen,BC.Enc,BC.Dec),整个分组加密算 法包含了三个算法,其中,BC.Gen是分组密码的密钥生成算法,BC.Enc是分组 密码的加密算法,BC.Dec为分组密码的解密算法。
在本实施方式中,优选的,安全参数为1κ,1κ表示κ个连续的1,κ为正整 数,优选但不限于通过外部设备输入。
在本实施方式中,优选的,将安全参数1κ输入分组加密的密钥生成算法, 并从密钥生成算法的处理结果中随机选取一个元素作为证明方的验证密钥k, 即:
Figure BDA0002564529350000081
BC.Gen()表示分组加密的密钥生成算法的函数。用公 式
Figure BDA0002564529350000082
来表示从集合S中随机的选取一个元素a。
在本实施方式中,优选的,将证明方的状态信息表示为: stidp=(k,tend,BC.Enc),tend表示密码链的结束时间,括号里的BC.Enc表示证明方 利用分组加密的加密算法;将验证方的状态信息表示为:stidv=(πidp,tack,BC.Enc); πidp表示验证点;tack表示最近一次身份验证时间,括号里的BC.Enc表示验证方 利用分组加密的加密算法。
在一种优选实施方式中,在步骤A3中,生成第一一次性密码xt的过程包括:
步骤A31,令x0=k;i∈[M],[M]={0,1...,M-1},[M]表示0到M-1的所有正 整数,
Figure BDA0002564529350000091
令i的初始值为1;tend表示密码链的结束时间,ΔI表示每个 密码的验证有效期,k表示验证密钥,t表示当前时间。
步骤A32,计算
Figure BDA0002564529350000092
m为消息,将m分 组为m0、m1两个部分;||表示两个位串的连接,即将
Figure BDA0002564529350000093
Figure BDA0002564529350000094
位 串连接;
Figure BDA0002564529350000095
表示利用分组加密的加密算法函数以A为加密密钥对B进行加 密处理,
Figure BDA0002564529350000096
代表具体的分组密码的加密算法实例且
Figure BDA0002564529350000097
Figure BDA0002564529350000098
可为分组加密算法RESENT的加密算法 PRESENT.Enc或者分组加密算法SPECK的加密算法SPECK.Enc。
步骤A33,判断i<M是否成立,若i<M不成立,令xt=xi,若i<M成立,令i=i+1, 返回步骤A32。
在一种优选实施方式中,在步骤B1中,时间验证的方法为:
验证方判断第一一次性密码的接收时间t'和最近一次身份验证时间tack的差 值是否小于容忍时间ttol,如果差值小于容忍时间,即(t'-tack)<ttol,则认为时间验 证成功,如果差值大于等于容忍时间,即(t'-tack)≥ttol,则认为时间验证失败。
在一种优选实施方式中,在步骤B1中,生成第二一次性密码yZ的过程包括:
步骤B11,令y0=xt;j∈[Z],[Z]={0,1...,Z-1},[Z]表示0到Z-1的所有 正整数,
Figure BDA0002564529350000099
令j的初始值为1;t'表示第一一次性密码的接收时间,tack表示最近一次身份验证时间,ΔI表示每个密码的验证有效期。
步骤B12,计算
Figure BDA00025645293500000910
m为消息,将消息m分组为m0、m1两个部分;||表示两个位串的连接;
Figure BDA0002564529350000102
表示以A为加密 密钥对B进行加密处理。
步骤B13,判断j<Z是否成立,若j<Z不成立,令yz=yj,若j<Z成立,令 j=j+1,返回步骤B12。
本申请提出了高效的适用于PLC的时间基一次性密码方法,该方法提出了 基于分组密码的时间基一次性密码协议BC-TOTP,使用分组密码来实例化加密函 数,并使用该函数密码链上所有节点的密码值,用于证明方可以在相应的时间 向验证方证明其身份,并且使用分组密码进行实例化,从而达到在PLC上高效 实现的同时实现身份验证目的。上述身份验证方法在罗克韦尔自动化的真实商 业PLC上进行了测试,同时,本申请的验证方法可以进一步和其它工控设备进 行结合,例如关键架构的活性检测等,实现具体身份验证应用。
本发明还公开了一种待验证设备,在一种优选实施方式中,该待验证设备 包括可编程逻辑控制器和发送模块,可编程逻辑控制器包括:
验证密钥生成模块,获取安全参数,基于安全参数利用分组加密的密钥生 成算法获取验证密钥。具体为:获取安全参数1κ,1κ表示κ个连续的1,所述κ为 正整数,基于安全参数1κ利用分组加密的密钥生成算法获取证明方的密钥k,密 钥k的位长为lk
密码链建立模块,建立包含多个节点的密码链,密码链的头节点的密码值 为验证密钥,以前一节点的密码值作为加密密钥利用分组加密的加密算法对消 息进行加密获得后一节点的密码值,完成密码链上所有节点的密码值获取;存 储头节点的密码值;验证密钥的位长小于等于消息的位长。具体为:建立包含N+1 个节点的密码链,
Figure BDA0002564529350000101
密码链的头节点x'0为:x'0=k,根据公式x'i'=BC.Enc(x'i'-1,m)获得x'1、x'2、……、x'N的值,1≤i'≤N,i'表示密码链中节点 索引,m表示消息,m∈[N],消息m的位长为lm,lk≤lm;ΔTL表示单链的使用周 期;ΔI表示每个密码的验证有效期;BC.Enc(x'i'-1,m)表示按照分组加密的加密算 法以x'i'-1作为密钥对消息m进行加密获得x'i'
第一一次性密码生成模块,利用验证密钥、密码链的结束时间,以及当前 时间通过分组加密的加密算法生成第一一次性密码;将待验证设备的状态信息 表示为:stidp=(k,tend,BC.Enc),tend表示密码链的结束时间;利用k、tend,以及 当前时间t生成第一一次性密码xt
发送模块将密码链中的尾节点的密码值x'N和第一一次性密码xt发送至验证 设备。
本发明还公开了一种验证设备,在一种优选实施方式中,该验证设备包括:
接收单元,接收待验证设备发送的密码链的尾节点的密码值x'N和第一一次 性密码xt
参数设置单元,设置动态的验证点和记录最近一次身份验证时间,验证点 的初始值为密码链的尾节点的密码值;将验证设备的状态信息表示为: stidv=(πidp,tack,BC.Enc);πidp表示验证点值,πidp的初始值为xN;tack表示最近一 次身份验证时间。
第二一次性密码生成单元,利用最近一次身份验证时间tack和第一一次性密 码xt通过分组加密的加密算法生成第二一次性密码yZ
验证单元,记录接收第一一次性密码的接收时间,进行时间验证,若时间 验证通过,若第二一次性密码与当前的验证点的值相等,则认为证明方身份验 证成功,将验证点的值更新为第一一次性密码,将最近一次身份验证时间更新 为第一一次性密码的接收时间;若第二一次性密码与当前的验证点的值不相等 或者时间验证失败,则认为证明方身份验证失败。具体的:记录接收第一一次 性密码xt的接收时间t',进行时间验证,若时间验证通过,若yZ与πidp相等或相 近,认为待验证设备身份验证成功,将验证点πidp更新为第一一次性密码xt,将 tack更新为t';若yZ与πidp不相等也不相近,或者时间验证失败,认为待验证设备 身份验证失败。
本发明还公开了一种身份验证系统,在一种优选实施方式中,该系统包括 至少一个上述待验证设备和上述验证设备,待验证设备均与验证设备建立有通 信链路,待验证设备均与验证设备可有线或无线连接通信。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、 “具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特 征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明 书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描 述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中 以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解: 在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、 替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (6)

1.一种适用于PLC的时间基一次性密码方法,其特征在于,包括:
当证明方首次开始身份认证时,证明方执行以下步骤A1、A2、A3;
当证明方内部存储有安全参数无需从外部获取时,证明方执行以下步骤A2、A3;
当证明书非首次开始身份认证时,证明方执行以下步骤A3;
步骤A1,获取安全参数,基于安全参数利用分组加密的密钥生成算法获取验证密钥;
步骤A2,建立包含多个节点的密码链,所述密码链的头节点的密码值为验证密钥,以前一节点的密码值作为加密密钥利用分组加密的加密算法对消息进行加密获得后一节点的密码值,完成密码链上所有节点的密码值获取;存储头节点的密码值并将尾节点的密码值发送至验证方;所述验证密钥的位长小于等于消息的位长;
步骤A3,利用验证密钥、密码链的结束时间,以及当前时间通过分组加密的加密算法生成第一一次性密码,将第一一次性密码发送至验证方;
所述步骤A3中,生成第一一次性密码xt的过程包括:
步骤A31,令x0=k;i∈[M],
Figure FDA0003829163440000011
令i=1;tend表示密码链的结束时间,ΔI表示每个密码的验证有效期,k表示验证密钥,t表示当前时间;
步骤A32,计算
Figure FDA0003829163440000012
m为消息,将m分组为m0、m1两个部分;||表示两个位串的连接;
Figure FDA0003829163440000013
表示以A为加密密钥对B进行加密处理,
Figure FDA0003829163440000014
代表具体的分组密码实例且
Figure FDA0003829163440000015
步骤A33,判断i<M是否成立,若i<M不成立,令xt=xi,若i<M成立,令i=i+1,返回步骤A32;
当验证方首次执行验证时,验证方执行以下步骤B1、B2;当验证方非首次执行验证时,验证方执行以下步骤B2;
步骤B1,设置动态的验证点和记录最近一次身份验证时间,所述验证点的初始值为密码链的尾节点的密码值;
步骤B2,接收第一一次性密码并记录接收时间,进行时间验证;
时间验证的方法为:
验证方判断第一一次性密码的接收时间和最近一次身份验证时间的差值是否小于容忍时间,如果所述差值小于容忍时间,则认为时间验证成功,如果所述差值大于等于容忍时间,则认为时间验证失败;
若时间验证通过,验证方利用最近一次身份验证时间和第一一次性密码通过分组加密的加密算法生成第二一次性密码,
生成第二一次性密码yZ的过程包括:
步骤B21,令y0=xt;j∈[Z],
Figure FDA0003829163440000021
令j=1;t'表示第一一次性密码的接收时间,tack表示最近一次身份验证时间,ΔI表示每个密码的验证有效期;
步骤B22,计算
Figure FDA0003829163440000022
m为消息,将消息m分组为m0、m1两个部分;||表示两个位串的连接;
Figure FDA0003829163440000023
表示以A为加密密钥对B进行加密处理,
Figure FDA0003829163440000024
代表具体的分组密码的加密算法实例且
Figure FDA0003829163440000025
步骤B23,判断j<Z是否成立,若j<Z不成立,令yz=yj,若j<Z成立,令j=j+1,返回步骤B22;
若第二一次性密码与当前的验证点的值相等,认为证明方身份验证成功,将验证点的值更新为第一一次性密码,将最近一次身份验证时间更新为所述第一一次性密码的接收时间;若第二一次性密码与当前的验证点的值不相等或者时间验证失败,则认为证明方身份验证失败。
2.如权利要求1所述的适用于PLC的时间基一次性密码方法,其特征在于,所述密码链包含N+1个节点,所述
Figure FDA0003829163440000031
ΔTL表示密码链的使用周期;ΔI表示密码链上每个密码的验证有效期。
3.如权利要求1所述的适用于PLC的时间基一次性密码方法,其特征在于,所述安全参数为1κ,1κ表示κ个连续的1,所述κ为正整数;
基于安全参数1κ利用分组加密的密钥生成算法获取证明方的验证密钥k的具体过程为:
将安全参数1κ输入分组加密的密钥生成算法,并从密钥生成算法的处理结果中随机选取一个元素作为证明方的验证密钥k,即:
Figure FDA0003829163440000032
BC.Gen()表示分组加密的密钥生成算法函数。
4.一种待验证设备,其特征在于,包括可编程逻辑控制器和发送模块,所述可编程逻辑控制器包括:
验证密钥生成模块,获取安全参数,基于安全参数利用分组加密的密钥生成算法获取验证密钥;
密码链建立模块,建立包含多个节点的密码链,所述密码链的头节点的密码值为验证密钥,以前一节点的密码值作为加密密钥利用分组加密的加密算法对消息进行加密获得后一节点的密码值,完成密码链上所有节点的密码值获取;存储头节点的密码值;所述验证密钥的位长小于等于消息的位长;
第一一次性密码生成模块,利用验证密钥、密码链的结束时间,以及当前时间通过分组加密的加密算法生成第一一次性密码;生成第一一次性密码xt的过程包括:
步骤A31,令x0=k;i∈[M],
Figure FDA0003829163440000041
令i=1;tend表示密码链的结束时间,ΔI表示每个密码的验证有效期,k表示验证密钥,t表示当前时间;
步骤A32,计算
Figure FDA0003829163440000042
m为消息,将m分组为m0、m1两个部分;||表示两个位串的连接;
Figure FDA0003829163440000043
表示以A为加密密钥对B进行加密处理,
Figure FDA0003829163440000044
代表具体的分组密码实例且
Figure FDA0003829163440000045
步骤A33,判断i<M是否成立,若i<M不成立,令xt=xi,若i<M成立,令i=i+1,返回步骤A32;
所述发送模块将密码链中的尾节点的密码值和第一一次性密码发送至验证设备。
5.一种验证设备,其特征在于,包括:
接收单元,接收待验证设备发送的密码链的尾节点的密码值和第一一次性密码;
参数设置单元,设置动态的验证点和记录最近一次身份验证时间,所述验证点的初始值为密码链的尾节点的密码值;
第二一次性密码生成单元,利用最近一次身份验证时间和第一一次性密码通过分组加密的加密算法生成第二一次性密码;
生成第二一次性密码yZ的过程包括:
步骤B21,令y0=xt;j∈[Z],
Figure FDA0003829163440000046
令j=1;t'表示第一一次性密码的接收时间,tack表示最近一次身份验证时间,ΔI表示每个密码的验证有效期;
步骤B22,计算
Figure FDA0003829163440000051
m为消息,将消息m分组为m0、m1两个部分;||表示两个位串的连接;
Figure FDA0003829163440000052
表示以A为加密密钥对B进行加密处理,
Figure FDA0003829163440000053
代表具体的分组密码的加密算法实例且
Figure FDA0003829163440000054
步骤B23,判断j<Z是否成立,若j<Z不成立,令yz=yj,若j<Z成立,令j=j+1,返回步骤B22;
验证单元,记录接收第一一次性密码的接收时间,进行时间验证,
时间验证的方法为:
验证方判断第一一次性密码的接收时间和最近一次身份验证时间的差值是否小于容忍时间,如果所述差值小于容忍时间,则认为时间验证成功,如果所述差值大于等于容忍时间,则认为时间验证失败;
若时间验证通过,若第二一次性密码与当前的验证点的值相等,则认为证明方身份验证成功,将验证点的值更新为第一一次性密码,将最近一次身份验证时间更新为所述第一一次性密码的接收时间;若第二一次性密码与当前的验证点的值不相等或者时间验证失败,则认为证明方身份验证失败。
6.一种身份验证系统,其特征在于,包括至少一个如权利要求4所述的待验证设备和如权利要求5所述的验证设备,所述待验证设备均与验证设备建立有通信链路。
CN202010638135.6A 2020-07-01 2020-07-01 一种适用于plc的时间基一次性密码方法及系统 Active CN111740819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010638135.6A CN111740819B (zh) 2020-07-01 2020-07-01 一种适用于plc的时间基一次性密码方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010638135.6A CN111740819B (zh) 2020-07-01 2020-07-01 一种适用于plc的时间基一次性密码方法及系统

Publications (2)

Publication Number Publication Date
CN111740819A CN111740819A (zh) 2020-10-02
CN111740819B true CN111740819B (zh) 2022-10-25

Family

ID=72653274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010638135.6A Active CN111740819B (zh) 2020-07-01 2020-07-01 一种适用于plc的时间基一次性密码方法及系统

Country Status (1)

Country Link
CN (1) CN111740819B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917270A (zh) * 2010-08-03 2010-12-15 中国科学院软件研究所 一种基于对称密码的弱认证和密钥协商方法
CN103081397A (zh) * 2010-08-24 2013-05-01 三菱电机株式会社 加密装置、加密系统、加密方法以及加密程序
CN103548300A (zh) * 2011-07-25 2014-01-29 三菱电机株式会社 加密装置、加密方法以及加密程序
CN103560879A (zh) * 2013-10-09 2014-02-05 中国科学院信息工程研究所 一种轻量级认证与密钥协商的实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966268B2 (en) * 2011-12-30 2015-02-24 Vasco Data Security, Inc. Strong authentication token with visual output of PKI signatures

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917270A (zh) * 2010-08-03 2010-12-15 中国科学院软件研究所 一种基于对称密码的弱认证和密钥协商方法
CN103081397A (zh) * 2010-08-24 2013-05-01 三菱电机株式会社 加密装置、加密系统、加密方法以及加密程序
CN103548300A (zh) * 2011-07-25 2014-01-29 三菱电机株式会社 加密装置、加密方法以及加密程序
CN103560879A (zh) * 2013-10-09 2014-02-05 中国科学院信息工程研究所 一种轻量级认证与密钥协商的实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Design and implementation of RVJCS security model;M. R. Vijaykumar;《2015 International Conference on Circuits, Power and Computing Technologies [ICCPCT-2015]》;20150716;全文 *
分组密码的NOTP工作模式;张玉安等;《信息安全与通信保密》;20050710(第07期);全文 *

Also Published As

Publication number Publication date
CN111740819A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN109600350B (zh) 用于车辆网络中的控制器间的安全通信的系统和方法
CN105049401B (zh) 一种基于智能车的安全通信方法
US20210367753A1 (en) Trusted measurement and control network authentication method based on double cryptographic values and chaotic encryption
CN110377002B (zh) 一种自适应的车内can总线安全控制方法及系统
US8245039B2 (en) Extensible authentication protocol authentication and key agreement (EAP-AKA) optimization
US9225526B2 (en) Multifactor username based authentication
CN102098157A (zh) 一种基于无证书公共密钥基础结构用于加强客户/服务器通讯协议安全性的系统和方法
CN109359464B (zh) 一种基于区块链技术的无线安全认证方法
CN111614621B (zh) 物联网通信方法和系统
KR101608815B1 (ko) 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법
CN114826656A (zh) 一种数据链路可信传输方法和系统
Labrado et al. Fortifying vehicular security through low overhead physically unclonable functions
CN111490874B (zh) 一种配网安全防护方法、系统、装置及存储介质
Agosta et al. Cyber-security analysis and evaluation for smart home management solutions
CN109714362B (zh) 一种轻量级的工业无线网络安全数据融合方法
CN111740819B (zh) 一种适用于plc的时间基一次性密码方法及系统
WO2022110688A1 (zh) 基于现场总线的数据传输方法、身份识别方法及系统
CN112423295B (zh) 一种基于区块链技术的轻量级安全认证方法及系统
Groza et al. On the use of one-way chain based authentication protocols in secure control systems
Yang et al. Lightweight delegated authentication with identity fraud detection for cyber-physical systems
CN115242392B (zh) 基于安全传输协议实现工业信息安全传输的方法及系统
TWI571086B (zh) 智慧型電表基礎建設網路系統及其訊息廣播方法
TWI511509B (zh) 智慧型電表基礎建設網路系統及其訊息廣播方法
Yevseiev et al. Development of an improved SSL/TLS protocol using post-quantum algorithms
Xu et al. Research of security protocol and data compression method for in-vehicle flexray network

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