CN113078997B - 一种基于轻量级密码算法的终端保护方法 - Google Patents

一种基于轻量级密码算法的终端保护方法 Download PDF

Info

Publication number
CN113078997B
CN113078997B CN202110316995.2A CN202110316995A CN113078997B CN 113078997 B CN113078997 B CN 113078997B CN 202110316995 A CN202110316995 A CN 202110316995A CN 113078997 B CN113078997 B CN 113078997B
Authority
CN
China
Prior art keywords
key
algorithm
terminal
encryption
lightweight
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
CN202110316995.2A
Other languages
English (en)
Other versions
CN113078997A (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.)
State Grid Corp of China SGCC
North China Electric Power University
Global Energy Interconnection Research Institute
Electric Power Research Institute of State Grid Zhejiang Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
North China Electric Power University
Global Energy Interconnection Research Institute
Electric Power Research Institute of State Grid Zhejiang Electric Power Co Ltd
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 State Grid Corp of China SGCC, North China Electric Power University, Global Energy Interconnection Research Institute, Electric Power Research Institute of State Grid Zhejiang Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN202110316995.2A priority Critical patent/CN113078997B/zh
Publication of CN113078997A publication Critical patent/CN113078997A/zh
Application granted granted Critical
Publication of CN113078997B publication Critical patent/CN113078997B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于轻量级密码算法的终端保护方法,用ECC算法来进行终端身份信息的加密,采用Feistel结构来设计轻量级分组密码算法。本申请采用基于轻量级密码算法的终端身份隐私保护技术,对密码算法中的密钥长度进行了适量的缩减,降低了算法实现时的运算复杂度和占用的内存空间;轻量级密码算法减少了密码算法过程中对明文的加密轮次,降低了能耗;提高了终端身份隐私的保护强。本申请采用的方法将公钥加密技术引入到了终端数据加密中,使得其即便在传输中被攻击者截取,仍然会因无法获得与之相匹配的私钥,导致截取的公钥失去意义;不需要专门设计解密算法,能够减小内存需求并提高硬件实现效率,满足终端组件完整性保护对算法的轻量化要求。

Description

一种基于轻量级密码算法的终端保护方法
技术领域
本发明涉及一种基于轻量级密码算法的终端保护方法,属于物联网终端防护技术领域。
背景技术
随着坚强智能电网的建设,物联网技术已广泛应用于智能电网发、输、变、配、用及调度等各环节。在智能电网中引入物联网技术将有效整合电力系统基础设施资源和通信设施资源,促进先进信息通信系统服务于电力系统运行,提高电网信息化水平,提高现有电力系统基础设施的利用效率,有效为电网中发、输、变、配、用等环节提供重要技术支撑。
随着设备智能化、无线通信等领域的新设备、新技术不断涌现,物联网技术被逐步广泛应用到电力物联网环境下信息通信网络的建设中,给智能电网业务系统建设提供便利,但同时也带来了严重的安全问题,例如针对物联网终端的隐私信息泄露问题、终端组件完整性保护问题等,都严重影响电力系统的安全运行。目前物联网终端防护技术主要有终端身份隐私保护技术以及终端组件完整性保护技术。
1.终端身份隐私保护技术
物联网中的终端设备大多都是布置在无人看守的区域,一般利用传感器等设备获取信息,并使用无线或者有线网络进行传送,攻击者通过一定手段进行干扰,可以使正常信息无法获取和传输,从而对信息进行篡改和伪造。
隐私信息泄露可能会给终端用户产生直接危害。比如在电力系统中,如果电表信息被攻击者获取,通过对这些信息的详细计量,可以较为准确地推断出某处住房是否有人,攻击者根据这些信息完全可以做到“远程踩点”。此外,由于电力系统十分庞大,一旦发生隐私信息的篡改和伪造,很容易导致整个系统的瘫痪,将会给用户甚至国家带来很大的损失。
为了尽量减少隐私信息泄露的可能性,需要采用数据加密、数据校验及完整性保护等方面的安全措施,避免在隐私信息传输过程中使用明文形式发送隐私信息,从而实现对隐私信息的保护。
(1)现有密码算法保护技术
物联网终端的身份信息决定了终端的操作权限以及操作范围,一旦攻击者获取到终端的身份信息,就会对物联网发起攻击,影响整个网络的安全,为了防止终端身份信息的泄露,必须对身份信息进行保护。常规的身份信息安全防护手段多采用加密算法对信息进行加密。
现有的密码算法体制大致分为两种:对称密码算法和非对称密码算法。
对称密码算法的特征为通信双方使用相同的密钥进行加解密,但密钥分发困难,有被截取的风险,适用于大量数据的加密;非对称密码算法仅公开公钥,不公开私钥,避免了因共享密钥产生的泄露风险,但计算效率较对称密码算法低,且存在中间人攻击的可能性。
随着制造业的发展,终端的存储和计算能力也不断提高,越来越多的研究人员考虑将非对称密码算法中的公钥加密技术引入终端数据加密中,其中,以RSA公钥密码体制和ECC公钥密码体制最为经典。
RSA算法在公钥密码体制中较为经典,技术相对完善,被广泛应用在现代安全协议中。但是由于RSA密钥位数过于庞大,一般都在1024bits以上,不适合在终端中使用。
而ECC算法相对于其他公钥密码算法(如DSA),具有美比特数最高的安全强度。与此同时,其对存储空间需求较小,密钥长度和系统参数比一般的公钥密码算法如RSA也小得多。这一优势使得ECC算法对带宽和资源的要求大大降低,从而在终端数据加密中受到诸多亲睐。
(2)现有技术存在的问题及缺点
由于大部分泛在电力物联网终端的微处理器处理性能较弱,而使用密码算法需要大量的线性和非线性运算,对处理性能和存储资源的要求较高,传统加密算法并不合适,因此必须选择安全性能有保障、资源占用率较少的轻量级加密算法。
2.终端组件完整性保护技术
近年,随着物联网应用领域扩大,物联网系统安全问题愈发严重。例如,2016年,爆发的现今最大规模的“IoT僵尸网络Mirai”,其控制物联网设备的方法除了利用默认的用户名口令,还主要利用了物联网设备中的系统漏洞如缓冲区溢出等,从而控制了大量的物联网设备。
随着物联网设备与应用逐渐增多,物联网操作系统面临的安全风险也逐渐增大。任何一个存在系统漏洞的物联网设备,都会给整个物联网系统带来潜在的安全威胁,现有研究主要通过平台组件完整性验证来及时发现被恶意修改的平台组件,从而保护系统安全。因此,保证物联网终端操作系统的完整性成为当前研究的重点。
(1)现有保护技术
由于电力物联网存在设备的异构性、设备间的互用性以及部署环境的复杂性等因素,物联网应用普遍安全性较低、不便于移植、成本较高。随着物联网设备与应用逐渐增多,作为物联网系统架构核心的物联网操作系统面临的安全风险也逐渐增大。任何一个存在系统漏洞的物联网设备,都会给整个物联网系统带来潜在的安全威胁。现有研究主要通过平台组件完整性验证来及时发现被恶意修改的平台组件,从而保护系统安全。因此,保护物联网终端操作系统的完整性成为当前研究的重点。
在现有的研究中,一般采用哈希算法来保证终端操作系统的完整性。在Hash函数构造方法上,一般根据迭代压缩函数的不同设计原理可以分为基于特定设计(DedicatedHash Function)、基于分组密码构造(Block-cipher-based Hash Function)和机遇可证明安全理论(Provable Security)三大类。基于特定设计构造的Hash函数一般在性能上具有优势。而基于分组密码构造的Hash函数一般可由用户自行选择安全分组密码将迭代函数实例化,从而具有比较好的自主性和灵活性。基于可证明安全理论的Hash函数通常仅作为上述两类构造方法的补充,其安全性可归约到计算复杂性问题,但实现开销往往较高并且性能较差。
(2)现有技术存在的问题及缺点
由于电力物联网终端资源受限,所以要考虑采用轻量化哈希算法来保证终端操作系统的完整性。对于电力物联网应用而言,要在保证一定性能的情况下尽量降低受限环境下的软硬件实现开销。
根据函数设计所采用的不同构造方式,目前已公开发表的轻量级Hash函数的设计原理主要可分为基于置换函数、基于分组密码和基于数学困难性问题三大类。
在基于置换函数的轻量级Hash函数方向上,由于Sponge结构与传统的MD结构在迭代方式上有本质的不同,同时置换函数的设计也不在需要考虑压缩的性质,这对相应的Hash函数的安全性分析提出了新的要求。
在基于分组密码构造的轻量级Hash函数上,尽管分组密码能直接用于构造Hash函数来实现数据完整性和认证性,但由于轻量级分组密码的分组长度大都只有64比特,而采用基于分组密码构造实现抗碰撞的Hash函数需要至少128–160比特以上的分组长度,如何直接或间接通过轻量级分组密码来设计轻量级Hash函数也需要进一步研究。
虽然在已有研究中也往往将多变量Hash函数归类为基于数学困难性问题的轻量级Hash函数,但其在性能和实现代价上仍远远高于基于特定设计或分组密码的构造,难以在实际中得到应用。
发明内容
本发明提供一种基于轻量级密码算法的终端保护方法,本申请致力于解决泛在电力物联网中的终端保护方法,针对泛在电力物联网终端这种资源极端有限的环境,对密码算法进行轻量化来适应其特殊的应用环境,考虑到安全强度以及存储空间的综合需求,本申请选择ECC算法来进行终端身份信息的加密以及采用Feistel结构来设计轻量级分组密码算法。
为解决上述技术问题,本发明所采用的技术方案如下:
一种基于轻量级密码算法的终端保护方法,用ECC算法来进行终端身份信息的加密,采用Feistel结构来设计轻量级分组密码算法。
.基于ECC算法的终端身份隐私保护技术
现有的密码算法体制大致分为两种:对称密码算法和非对称密码算法。
对于对称密码算法,主要是通过以下两种方式进行轻量化:
(1)对密码算法中的密钥长度进行适量缩减,从而降低算法实现时的运算复杂度和占用的内存空间。对于对称密码而言,其加解密过程中的密钥是相同的,所以密钥长度与算法的安全强度有直接的关系。对于某些算法而言,减少部分密钥长度既保证了一定的安全强度,又可以达到轻量化的目的。如DESL算法以及A2U2算法均是通过改变密钥长度来达到轻量化的目的。
(2)减少密码算法过程中的加密轮次,从而降低能耗。对于对称密码算法中的分组密码算法,其安全强度主要是依靠对明文的多次反复加密来保证的。每迭代加密一次则称为一轮,通过减少加密轮次可以使算法达到轻量级水平。如ITUbee算法及MIBS算法。
非对称密码算法是在数据的加密和解密中采用不同的密钥:在解密时采用的密钥是私钥,只有解密方知晓,而在加密是采用的密钥时任何人都可以获得的公开密钥。所以可以将公钥加密技术引入终端数据加密中,使得其即便在传输中被攻击者截取,仍然会因无法获得与之相匹配的私钥,导致截取的公钥失去意义。
本申请考虑到安全强度以及存储空间的综合需求,选择ECC算法(椭圆曲线密码算法)来进行终端身份信息的加密。
ECC算法是以一种加密公开密钥的方法为基础的椭圆曲线。在椭圆曲线密码学中,通常采用一种典型的安全曲线来确定其中椭圆曲线的曲线方程,这种安全曲线被称为Weierstrass曲线,表达式如式(1-1)。
y2+axy+by=x3+cx2+dx+e (1-1)
曾有著名的椭圆曲线密码的研究很早就通过研究椭圆曲线的计算分解,指出在素数域上的椭圆曲线软件实现要优于二元域上的曲线。由式(1-2)给出的定义,若有限域上存在两个椭圆曲线
Figure GDA0003665793880000051
E2:y2+axy+by=x3+cx2+dx+e (1-2)
则称E1和E2是同构的;a、b、c、e等皆为常数,无特殊含义。在有限域上若存在u1,u2,u3,u4(u1≠0),使得变量变换成立,如式(1-3),可以把方程E1变成E2。则称式(1-3)中的变换为变量的相容性变换。同样,式(1-1)也能够用变量的相容性进行变换。
Figure GDA0003665793880000052
在ECC算法中,假设p>3是素数域上的一个奇素数,定义有限域位Fp。则根据变量的相容性变换,有
Figure GDA0003665793880000053
把E变换为曲线:
y2=x3+ax+b (1-5)
其中,x.y,a,b∈Fp,Δ≠0。并且满足一下数学关系:
(4a3+27b2)modp≠0
Fp={0,1,2,...,p-1} (1-6)
根据上述对椭圆曲线的定义和对椭圆曲线离散对数问题(ECDLP)的定义,可以知道,在有限域上给定点P和点Q,很难使其通过满足以下关系Q=lP,(l∈[0,n-1])来确定整数l。椭圆曲线离散对数问题的困难性是所有椭圆曲线密码方案安全性的基础,同时,这也是ECC椭圆曲线加密算法的核心。
在IEEE P1363标准中,定义了一个七元参数组:D=(q,FR,a,b,G,n,h),其中q是一个任意的宿舍,表示有限域GF(q)的类型;FR为域表示法,用于指明有限域中元素使用的表现方式;a,b是椭圆曲线方程中的系数;G为曲线上的基点;n是大整数且等于点G的阶,h为余数因子。在上述确定椭圆曲线的参数中,主要体现其安全性参数是n。因此,在ECC椭圆曲线密码算法中ECC的密钥长度为n的长度。
图1给出了ECC加密通信的过程示意图。在加密过程中,若要对数据进行加密,首先需要确定椭圆曲线参数,然后通过系统产生的随机大整数k(k<n)作为私钥,求出公钥K=kG。结合前文对椭圆曲线加密的原理分析,可以知道,如果出现攻击者发起非法攻击H想在在上述通信过程中获取信息内容,那么他只能得到Ep(a,b),K,G,C1,C2等参数,但是要想通过K,G求得k或是通过C2和G求得r都将面对椭圆曲线中的离散对数问题,而其求解至今都是非常困难的。因此攻击者最终无法由H得到通信双方A和B的通信内容,从而保证了隐私信息的安全。
基于Feistel结构的轻量级哈希算法:
目前,设计轻量级分组密码的方法主要有两种:
(1)在现有密码算法的基础上,对密码算法的组件进行轻量化的改进;
(2)从零开始,设计一种新的轻量级密码算法。
其中,第一种方法是借助已有算法的安全+性和健壮性,在尽可能不降低安全性甚至是提高安全性的前提下使算法轻量化。这种方法的有点是设计工作量小,安全性分析也因急于原有算法的分析而相对容易。但由于改进算法实现所需要的资源时受到原有算法结构的限制且在原有算法上所做的修改可能会使算法出现一些新的弱点,所以采用设计的轻量级算法存在遭遇新型攻击的可能。第二种方法没有固定算法的限制,设计比较灵活,设计者可以我很好地利用可行的方式使算法满足资源受限的要求,只是使用这种方法设计出的算法要进行很多安全性分析。
分组密码算法的设计结构主要有SP,Feistel和广义Feistel结构等。轻量级分组密码国际标准PRESENT算法的设计采用SP结构。Feistel结构本身是可逆的,不需要专门设计解密算法,这样可以减小内存需求并提高硬件实现效率,一般更适合轻量级分组密码算法设计。
因此,本申请采用Feistel结构来设计轻量级分组密码算法。
由于Feistel结构本身是可逆的,不需要专门设计解密算法,能够减小内存需求并提高硬件实现效率,满足终端组件完整性保护时对哈希算法的轻量化要求。采用Feistel结构,借鉴PRESENT算法,并修改扩散层的P置换,可以得到基于Feistel结构的一种轻量级Hash算法——PFP算法。PFP算法的分组长度为64比特,密钥长度为80比特(密钥长度为128比特时方法和过程与此相似),迭代轮数选择为34,加密时64比特的分组数据分为左、右两个分支Li和Ri。每轮加密更新一个分支,轮函数由线性置换、非线性置换和子密钥加组成,其中轮函数的设计借鉴PRESENT算法。
采用Feistel结构来设计轻量级分组密码算法,包括:
首先,通过一种使用伪随机序列的子密钥扩展生成算法获得子密钥,能够在避免针对子密钥攻击的基础上保证算法的高效性、随机性,从而使得初始密钥对明文和密文具有扩散的效果,此外,线性探测再散列能够防止弱密钥的出现,以免破坏初始密钥之间在位置上的相互关系,从而有效预防利用初始密钥位置规律性从而对终端发起的攻击,实现终端保护;
其次,本申请在传统的8*8S盒的基础上进行优化改进,设计4输入4输出的S盒来实现轻量级分组密码的设计,兼顾硬件实现效率的同时提高算法效率;
再次,为了使算法具有更好的硬件实现性能,本申请采取位排列置换来进行置换层设计;
通过测试,本申请采取的终端保护方法在硬件实现资源小的条件下达到了已知最优的差分均匀度和非线性度,能够有效降低针对终端的抵抗差分攻击与线性攻击的安全界轮数。
进一步,采用Feistel结构来设计轻量级分组密码算法,包括:
步骤1:针对子密钥的加密处理:
通过产生伪随机序列,将随机数对应的初始密钥位加入到子密钥中,如果初始密钥位事先已经在子密钥序列中,则将执行线性探测再散列操作,其算法得到的直接结果便是按顺序成功提取子密钥Yi=yi 31yi 30i 0(0≤i≤34);
子密钥加密则为:通过单比特或运算、单比特取反运算以及单比特异或运算,将子密钥变换到另一边的右分支Ri上,其过程如下公式所示:
Figure GDA0003665793880000071
其中,Ri表示输入的64bit分组明文的右分支;Ki指取自扩展密钥中的子密钥。
首先,当采集终端需要发送监测数据DATA1到平台时,通过使用密钥协商过程中获得的会话密钥K进行加密运算产生密文E1=EK(DATA1),将E1发送到平台;
其次,平台通过使用密钥协商过程中获得的会话密钥K进行解密运算产生明文D1=Dk(Ek(DATA1)),从而获得远程监测数据DATA1;
然后,当平台需要发送控制数据DATA2到平台时,通过使用密钥协商过程中获得的会话密钥K进行加密运算产生密文E2=EK(DATA2),将E2发送给终端;
最后,终端通过使用密钥协商过程中获得的会话密钥K进行解密运算产生明文D2=Dk(Ek(DATA2)),获得平台控制数据DATA2;
步骤2:4输入4输出S盒设计:
由8个4*4S盒构成非线性层,从而将加密过程中的每个字节以非线性的方式转化为另一字节,加密时8个相同的S盒并行使用,其具有如下所示的输入输出关系:
f:GF(232)→GF(232)
(b1,b2,b3,b4,b5,b6,b7,b8)=f(a1,a2,a3,a4,a5,a6,a7,a8)
bi=S(ai)(1≤i≤8);
其中,f:GF(232)→GF(232)代表一个包含一系列成员布尔函数f1,…,m的映射f,即一个(32,32)S盒;ai、bi指扩展密钥中的子密钥;S()表示通过S盒执行变换操作。
步骤3:置换层P盒设计:
置换层设计原则:
A、四输入四输出:一个S盒的输入取自于四个完全各异的S盒,反之亦然,一个S盒的输出也能够作为四个独立S盒的输入源;
C、输出差异:当输入仅具有一位的异变时,将始终导致两位及以上的输出差异;
C、扩散模式:当四轮SP变换进行的过程中存在一个非零差分,活动S盒在保证数量最小的前提下进行扩散,即活动S盒最少为6;
置换层用公式为:
Figure GDA0003665793880000081
P(i)表示数据经过位排列置换后的位置。
步骤4:密钥扩展算法:
首先,将原始密钥的前80bit经由一个密钥寄存器Y进行存储操作,在此可以将其定义为Y=y79y78…y0,取初始密钥的前32bit为第一轮子密钥,即当前寄存器Y最左边的32bit,记作Yi=yi 31yi 30i 0,而第i轮的子密钥(32bit)也是通过分析判断当前寄存器Y最左边的32bit形成的,在第i轮的子密钥中,有
Yi=yi 31yi 30…yi 0=y79y7848
而当对子密钥Yi取值之后,密钥寄存器Y随之进行密钥移位的操作,从而更新寄存器Y=y79y780,更新的具体步骤如下所示:
(1)[y7+y78…y0]=[y18y17…y20y1+](将初始密钥循环右移18位);
(2)[y79y78y77y76]=S[y79y78y77y76];
(3)[y19y18y17y16y15]=[y19y18y17y16y15]⊕rc,其中,ui表示原始密钥前80bit中的第i bit,rc(0≤rc≤34)代表轮换次数;S[y]表示的是通过S盒执行变换操作。
本发明未提及的技术均参照现有技术。
与现有技术相比,本申请的有益效果是:
1)本申请采用基于轻量级密码算法的终端身份隐私保护技术,对密码算法中的密钥长度进行了适量的缩减,降低了算法实现时的运算复杂度和占用的内存空间;
2)轻量级密码算法减少了密码算法过程中对明文的加密轮次,降低了能耗;
3)提高了终端身份隐私的保护强,。本申请采用的方法将公钥加密技术引入到了终端数据加密中,使得其即便在传输中被攻击者截取,仍然会因无法获得与之相匹配的私钥,导致截取的公钥失去意义;
4)本申请采用Feistel结构,其结构本身是可逆的,不需要专门设计解密算法,能够减小内存需求并提高硬件实现效率,满足终端组件完整性保护对算法的轻量化要求。
附图说明
图1为ECC加密通信过程示意图;
图2为PFP算法加密流程。
具体实施方式
为了更好地理解本发明,下面结合实施例进一步阐明本发明的内容,但本发明的内容不仅仅局限于下面的实施例。
本申请采用一种基于ECC算法的终端身份隐私保护技术以及基于Feistel结构的轻量级哈希算法,来实现一种基于轻量级密码算法的终端保护方法。具体实施方式如下所示。
如图2所示,算法加密流程中,输入的64比特分组明文分为左、右两半及L0||R0,L0和R0长度都是32比特,算法通过式(2-1)计算输出密文L34||R34。
Figure GDA0003665793880000091
步骤1:针对子密钥的加密处理
本申请根据子密钥扩展算法来提取子密钥,具体步骤即为通过产生伪随机序列,从而将随机数对应的初始密钥位加入到子密钥中(如果初始密钥位事先已经在子密钥序列中,则将执行线性探测再散列操作)。其算法得到的直接结果便是按顺序成功提取子密钥Yi=yi 31yi 30i 0(0≤i≤34)。
而子密钥加密则是指通过一些简单的操作,如单比特或运算、单比特取反运算以及单比特异或运算,将子密钥变换到另一边的右分支Ri上,其过程如下公式所示:
Figure GDA0003665793880000101
首先,当采集终端需要发送监测数据DATA1到平台时,通过使用密钥协商过程中获得的会话密钥K进行加密运算产生密文E1=EK(DATA1),将E1发送到平台;
其次,平台通过使用密钥协商过程中获得的会话密钥K进行解密运算产生明文D1=Dk(Ek(DATA1)),从而获得远程监测数据DATA1;
然后,当平台需要发送控制数据DATA2到平台时,通过使用密钥协商过程中获得的会话密钥K进行加密运算产生密文E2=EK(DATA2),将E2发送给终端;
最后,终端通过使用密钥协商过程中获得的会话密钥K进行解密运算产生明文D2=Dk(Ek(DATA2)),获得平台控制数据DATA2。
步骤2:4输入4输出S盒设计
为了提高算法的效率,同时在兼顾硬件实现效率的基础上,本申请通过设计一个4输入4输出S盒来实现轻量级分组密码的设计,其相较于较大尺寸的8*8S盒,当在硬件资源受限的条件下,4*4S盒显得更为紧凑而简洁。
S盒是一个非线性变换,其需要满足非线性度、正交性、差分均匀与鲁棒性、强严格雪崩特性、强扩散特性等,一个S盒设计仅仅只符合一条设计准则的最优化,往往无法最优化其它设计准则,因此在分析S盒的过程中,本申请从全局的角度分析,综合整个终端保护方法想要都达到的安全保护预期,均衡设计每个设计准则强度。
本申请轮函数中由8个4*4S盒构成非线性层,从而将加密过程中的每个字节以非线性的方式转化为另一字节,加密时8个相同的S盒并行使用,其具有如2-3所示的输入输出关系:
f:GF(232)→GF(232)
(b1,b2,b3,b4,b5,b6,b7,b8)=f(a1,a2,a3,a4,a5,a6,a7,a8)
bi=S(ai)(1≤i≤8) (2-3)
本申请轮函数中由8个4*4S盒构成非线性层,从而将加密过程中的每个字节以非线性的方式转化为另一字节,加密时8个相同的S盒并行使用,其具有如2-3所示的输入输出关系:
步骤3:置换层P盒设计
本申请采用位排列置换,来进行置换层P盒的设计,以求算法能够拥有更加优良的硬件资源实现性能。
置换层设计原则如下所示:
a、四输入四输出:一个S盒的输入取自于四个完全各异的S盒,反之亦然,一个S盒的输出也能够作为四个独立S盒的输入源。
b、输出差异:当输入仅具有一位的异变时,将始终导致两位及以上的输出差异。
c、扩散模式:当四轮SP变换进行的过程中存在一个非零差分,活动S盒在保证数量最小的前提下进行扩散,即活动S盒最少为6。
PFP算法中的P置换表如表2-1所列,即数据经过P置换后第i位移动到第P(i)位,而执行轮函数时,每一轮轮函数输入的16bit数据分组经过S盒非线性变换转化为16bit数据,然后经过置换层P盒线性变换转换为16bit数据。置换层用公式如下所示:
Figure GDA0003665793880000111
表2-1PFP算法的P置换表
I 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
P(i) 0 8 16 24 1 9 17 25 2 10 18 26 3 11 19 27
i 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
P(i) 4 12 20 28 5 13 21 29 6 14 22 30 7 15 23 31
步骤4:密钥扩展算法
本申请,是通过对初始密钥采用子密钥扩展算法来获得子密钥的。首先,将原始密钥的前80bit经由一个密钥寄存器Y进行存储操作,在此可以将其定义为Y=y79y780。取初始密钥的前32bit为第一轮子密钥,即当前寄存器Y最左边的32bit,记作Yi=yi 31yi 30i 0,而第i轮的子密钥(32bit)也是通过分析判断当前寄存器Y最左边的32bit,从而构成的。
因而,我们可以得到,在第i轮的子密钥中,有
Yi=yi 31yi 30…yi 0=y79y7848
而当对子密钥Yi取值之后,密钥寄存器Y随之进行密钥移位的操作,从而更新寄存器Y=y79y780,更新的具体步骤如下所示:
(1)[y79y78…y0]=[y18y17…y20y19](将初始密钥循环右移18位);
(2)[y79y78y77y76]=S[y79y78y77y76];
(3)
Figure GDA0003665793880000121
其中,rc(0≤rc≤34)代表轮换次数;S[y]表示的是通过S盒执行变换操作。

Claims (1)

1.一种基于轻量级密码算法的终端保护方法,其特征在于:用ECC算法来进行终端身份信息的加密,采用Feistel结构来设计轻量级分组密码算法;
采用Feistel结构来设计轻量级分组密码算法为:
首先,通过使用伪随机序列的子密钥扩展生成算法获得子密钥;
其次,设计4输入4输出的S盒来实现轻量级分组密码的设计;
再次,采取位排列置换来进行置换层设计;
采用Feistel结构来设计轻量级分组密码算法,包括:
步骤1:针对子密钥的加密处理:
通过产生伪随机序列,将随机数对应的初始密钥位加入到子密钥中,如果初始密钥位事先已经在子密钥序列中,则将执行线性探测再散列操作,其算法得到的直接结果便是按顺序成功提取子密钥Yi=yi 31 yi 30 …yi 0,0≤i≤34,其中,Yi表示轮密钥,yi j表示轮次密钥扩展变换时的bit密钥;
子密钥加密则为:通过单比特或运算、单比特取反运算以及单比特异或运算,将子密钥变换到另一边的右分支Ri上,其过程如下公式所示:
Figure DEST_PATH_IMAGE002
,其中,Ri表示输入的64bit分组明文的右分支;Ki指取自扩展密钥中的子密钥;
首先,当采集终端需要发送监测数据DATA1到平台时,通过使用密钥协商过程中获得的会话密钥K进行加密运算产生密文E1=EK(DATA1),将E1发送到平台;
其次,平台通过使用密钥协商过程中获得的会话密钥K进行解密运算产生明文D1=Dk(Ek(DATA1)),从而获得远程监测数据DATA1;
然后,当平台需要发送控制数据DATA2到平台时,通过使用密钥协商过程中获得的会话密钥K进行加密运算产生密文E2=EK(DATA2),将E2发送给终端;
最后,终端通过使用密钥协商过程中获得的会话密钥K进行解密运算产生明文D2=Dk(Ek(DATA2)),获得平台控制数据DATA2;
步骤2:4输入4输出S盒设计:
由8个4*4S盒构成非线性层,从而将加密过程中的每个字节以非线性的方式转化为另一字节,加密时8个相同的S盒并行使用,其具有如下所示的输入输出关系:
f:GF(232)→GF(232)
(b1,b2,b3,b4,b5,b6,b7,b8)=f(a1,a2,a3,a4,a5,a6,a7,a8)
bi=S(ai),1≤i≤8,
其中,f:GF(232)→GF(232)代表一个包含一系列成员布尔函数f1,...,fm的映射f,即一个(32,32)S盒;ai、bi指扩展密钥中的子密钥;S( )表示通过S盒执行变换操作;
步骤3:置换层P盒设计:
置换层设计原则:
A、四输入四输出:一个S盒的输入取自于四个完全各异的S盒,反之亦然,一个S盒的输出也能够作为四个独立S盒的输入源;
B、输出差异:当输入仅具有一位的异变时,将始终导致两位及以上的输出差异;
C、扩散模式:当四轮SP变换进行的过程中存在一个非零差分,活动S盒在保证数量最小的前提下进行扩散,即活动S盒最少为6;
置换层用公式为:
Figure DEST_PATH_IMAGE004
P(i)表示数据经过位排列置换后的位置;
步骤4:密钥扩展算法:
首先,将原始密钥的前80bit经由一个密钥寄存器Y进行存储操作,在此可以将其定义为Y=y79y78…y0,取初始密钥的前32bit为第一轮子密钥,即当前寄存器Y最左边的32bit,记作Yi=yi 31yi 30…yi 0,而第i轮的子密钥32bit也是通过分析判断当前寄存器Y最左边的32bit形成的,在第i轮的子密钥中,有
Yi=yi 31yi 30…yi 0=y79y78…y48
而当对子密钥Yi取值之后,密钥寄存器Y随之进行密钥移位的操作,从而更新寄存器Y=y79y78…y0,更新的具体步骤如下所示:
(1)[ y79y78…y0]=[y18y17…y20y19],将初始密钥循环右移18位;
(2)[y79y78y77y76]=S[y79y78y77y76];
(3)其中,
Figure DEST_PATH_IMAGE006
,其中,yi表示原始密钥前80bit中的第ibit,rc代表轮换次数,0≤rc≤34;S[y]表示的是通过S盒执行变换操作。
CN202110316995.2A 2021-03-24 2021-03-24 一种基于轻量级密码算法的终端保护方法 Active CN113078997B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110316995.2A CN113078997B (zh) 2021-03-24 2021-03-24 一种基于轻量级密码算法的终端保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110316995.2A CN113078997B (zh) 2021-03-24 2021-03-24 一种基于轻量级密码算法的终端保护方法

Publications (2)

Publication Number Publication Date
CN113078997A CN113078997A (zh) 2021-07-06
CN113078997B true CN113078997B (zh) 2022-09-20

Family

ID=76611693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110316995.2A Active CN113078997B (zh) 2021-03-24 2021-03-24 一种基于轻量级密码算法的终端保护方法

Country Status (1)

Country Link
CN (1) CN113078997B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806770A (zh) * 2021-09-01 2021-12-17 上海兆芯集成电路有限公司 具备椭圆曲线密码算法的处理器及其处理方法
CN114143051B (zh) * 2021-11-19 2024-02-23 江苏林洋能源股份有限公司 一种智能电表基于性能调整tls协议选择的方法
CN116108471B (zh) * 2023-04-07 2023-06-13 江阴市华明电力发展集团有限公司 一种综合售电平台的数据加密方法
CN116192389B (zh) * 2023-04-26 2023-07-25 杭州海康威视数字技术股份有限公司 轻量级设备通信密钥协商方法、装置、设备及系统
CN117155546B (zh) * 2023-10-27 2024-02-09 苏州元脑智能科技有限公司 分组密码类立方攻击的搜索方法、装置、电子设备及介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2080314A2 (en) * 2006-10-25 2009-07-22 Spyrus, Inc. Method and system for deploying advanced cryptographic algorithms
US8130946B2 (en) * 2007-03-20 2012-03-06 Michael De Mare Iterative symmetric key ciphers with keyed S-boxes using modular exponentiation
CN105391546A (zh) * 2015-12-16 2016-03-09 南京航空航天大学 基于双伪随机变换和Feistel结构的轻量级分组密码技术VHF
CN105763316A (zh) * 2016-02-01 2016-07-13 苏州中科启慧软件技术有限公司 基于分组密码vhf和ctr模式的轻量级流密码技术cvhf
CN110505050A (zh) * 2019-08-27 2019-11-26 北京电子科技学院 一种基于国密算法的安卓信息加密系统及方法
CN111314054B (zh) * 2020-01-21 2020-12-15 衡阳师范学院 一种轻量级eceg分组密码实现方法、系统及存储介质
CN111431697B (zh) * 2020-03-31 2022-06-21 衡阳师范学院 一种新型轻量级分组密码corl的实现方法

Also Published As

Publication number Publication date
CN113078997A (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN113078997B (zh) 一种基于轻量级密码算法的终端保护方法
Potlapally et al. A study of the energy consumption characteristics of cryptographic algorithms and security protocols
Thambiraja et al. A survey on various most common encryption techniques
Noura et al. A new efficient lightweight and secure image cipher scheme
Biswas et al. An encryption scheme using chaotic map and genetic operations for wireless sensor networks
Orobosade et al. Cloud application security using hybrid encryption
CN102025505A (zh) 一种基于aes算法的加密、解密方法及装置
CN114364062B (zh) 一种车联网安全接入网关的方法
WO2013056502A1 (zh) 一种智能家庭系统的分级混合加密方法及装置
Noura et al. A physical encryption scheme for low-power wireless M2M devices: a dynamic key approach
Widiasari Combining advanced encryption standard (AES) and one time pad (OTP) encryption for data security
Arshad et al. New extension of data encryption standard over 128-bit key for digital images
Melki et al. Message authentication algorithm for OFDM communication systems
Srivastava et al. Review on quantum safe algorithms based on Symmetric Key and Asymmetric Key Encryption methods
Santhanalakshmi et al. Enhanced AES-256 cipher round algorithm for IoT applications
Abujoodeh et al. Toward lightweight cryptography: A survey
Khan et al. Elliptic curve cryptography for the security of insecure Internet of Things
CN113795023A (zh) 一种基于混沌序列和分组加密的蓝牙数据传输加密方法
CN116980194A (zh) 一种基于云边端协同的安全高效数据传输方法及其系统
Noura et al. Efficient and secure message authentication algorithm at the physical layer
Gaur et al. A comparative study and analysis of cryptographic algorithms: RSA, DES, AES, BLOWFISH, 3-DES, and TWOFISH
Misra et al. A new encryption/decryption approach using AES
McGregor et al. Performance impact of data compression on virtual private network transactions
CN112367159B (zh) 一种面向医疗数据安全存储的混合加、解密方法及系统
Goyal et al. A Cryptographic Approach for Securing IoT Devices

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wu Kehe

Inventor after: Wang Haomin

Inventor after: Han Jiajia

Inventor after: Sun Xin

Inventor after: Li Qinyuan

Inventor after: Shao Zhipeng

Inventor after: Li Nige

Inventor after: Gao Xue

Inventor after: Yang Chengchun

Inventor after: Xiao Zhuo

Inventor after: Zhao Tong

Inventor after: Cheng Xiangxin

Inventor after: Li Wei

Inventor after: Jiang Yuan

Inventor after: Fan Qi

Inventor before: Wu Kehe

Inventor before: Wang Haomin

Inventor before: Han Jiajia

Inventor before: Sun Xin

Inventor before: Li Qinyuan

Inventor before: Shao Zhipeng

Inventor before: Li Nige

Inventor before: Yang Chengchun

Inventor before: Gao Xue

Inventor before: Xiao Zhuo

Inventor before: Zhao Tong

Inventor before: Cheng Xiangxin

Inventor before: Li Wei

Inventor before: Jiang Yuan

Inventor before: Fan Qi

GR01 Patent grant
GR01 Patent grant