CN114448624B - 基于白盒密码服务的透明化物联网安全传输方法及装置 - Google Patents

基于白盒密码服务的透明化物联网安全传输方法及装置 Download PDF

Info

Publication number
CN114448624B
CN114448624B CN202210099201.6A CN202210099201A CN114448624B CN 114448624 B CN114448624 B CN 114448624B CN 202210099201 A CN202210099201 A CN 202210099201A CN 114448624 B CN114448624 B CN 114448624B
Authority
CN
China
Prior art keywords
data
white
box
gateway
transmission
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
CN202210099201.6A
Other languages
English (en)
Other versions
CN114448624A (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.)
South China Normal University
Original Assignee
South China Normal University
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 South China Normal University filed Critical South China Normal University
Priority to CN202210099201.6A priority Critical patent/CN114448624B/zh
Publication of CN114448624A publication Critical patent/CN114448624A/zh
Application granted granted Critical
Publication of CN114448624B publication Critical patent/CN114448624B/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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
    • 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/32Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于白盒密码服务的透明化物联网安全传输方法及装置,方法包括:身份认证过程,网关客户端发送身份序列号至白盒密服系统,白盒密服系统进行身份验证并返回通行证;网关客户端使用获取的白盒密钥表对约定数据进行加密,并将加密后数据发至网关服务端;白盒密服系统对数据进行解密,并返回解密后的明文数据,网关服务端验证明文数据是否为约定数据,是则验证通过;安全数据传输过程,物联网设备发送明文数据至网关客户端;网关客户端和网关网服务端按设定的数据安全传输服务进行安全数据传输;网关服务端将数据发送至应用服务。本发明不仅解决了兼容不安全的物联网系统的问题,还解决了物联网设备在非受信环境下密钥泄露问题。

Description

基于白盒密码服务的透明化物联网安全传输方法及装置
技术领域
本发明属于物联网信息安全的技术领域,具体涉及一种基于白盒密码服务的透明化物联网安全传输方法及装置。
背景技术
随着物联网信息传输的广泛应用,如何保障物联网中数据传输的安全性越来越来越被重视。现有技术中,物联网数据安全传输方法包括将PUF芯片的若干挑战/响应对注册在数据平台上、感知终端与数据平台建立双向通信连接、通过请求与应答方式进行至少双向识别与认证过程、通过PUF芯片生成加密密钥和解密密钥用于数据的加密与解密。该种方法通过利用PUF芯片独有的挑战响应机制,既减少了控制模块的运算负荷,降低了系统功耗,又使双方建立了安全的双向通信链路,提升了双方数据传输的安全性,能够有效防止第三方入侵。但是也存在下述缺陷:
1、发送方客户端会存储大量的历史数据以计算信用值,这不适用于资源受限的物联网环境。
2、对于发送数据端向数据平台发送的过程中,只有对发送端数据可信度的判断,无法保证发送端至网络节点间数据传输的安全性。
3、可能存在白盒安全问题。例如,网络节点使用云服务器或其它第三方服务器,则存在密钥的泄露问题。
因此,在资源受限的物联网环境中,如何保障数据在传输过程中的安全性是本领域技术人员亟待解决的技术问题之一。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于白盒密码服务的透明化物联网安全传输方法及装置,不仅解决了兼容不安全的物联网系统的问题,还解决了物联网设备在非受信环境下密钥泄露问题。
为了达到上述目的,本发明采用以下技术方案:
本发明一方面提供了一种基于白盒密码服务的透明化物联网安全传输方法,包括下身份认证过程和安全数据传输过程;
所述身份认证过程具体为:
网关客户端发送身份序列号至白盒密服系统,白盒密服系统进行身份验证并返回通行证,网关客户端通过通行证获取白盒密钥表;
网关客户端使用获取的白盒密钥表对约定数据进行加密,并将加密后数据发至网关服务端;
网关服务端收到密文数据后,将数据发送给白盒密服系统,白盒密服系统对数据进行解密,并返回解密后的明文数据,网关服务端验证明文数据是否为约定数据,是则验证通过,不是则验证失败;
所述安全数据传输过程具体为:
物联网设备发送明文数据至网关客户端;
网关客户端将数据发送至网关网服务端前会使用上述获取白盒密钥表通过白盒密码算法对数据进行加密;网关服务端接收到数据后,调用白盒密码服务的解密接口对接收的数据进行解密;
网关服务端将解密后数据发送至应用服务。
作为优选的技术方案,在网关客户端和网关服务端建立安全传输隧道,所述安全传输隧道基于安全透传协议实现,所述安全透传协议通过对TCP/IP协议族增加白盒加解密安全层实现;在主机A的应用层数据发送至传输层时,使用白盒密码算法对数据进行加密,主机B收到数据后,数据经传输层发送至应用层前,使用白盒密码算法对数据进行解密;所述安全透传协议一方面用于身份认证,认证网关客户端的合法性,另一方面进行数据传输,实现网关客户端和网关服务端数据的透明传输。
作为优选的技术方案,所述白盒密服系统具体为:
密钥分发,利用白盒密钥库中封装接口,生成白盒加/解密密钥表文件,并分发白盒密钥表至网关客户端;
身份验证,验证接入的网关客户端身份,验证身份是否有效,有效方方可进行白盒密钥表获取操作;
密钥管理功能,对接入的白盒国密网关身份进行管理,对所有由白盒密服系统生成的密钥表进行管理;
白盒SM4加解密,对接入的网关服务端传输的加密数据和身份序列,查询云安全存储的相关白盒密钥表,对消息进行解密操作,并将解密数据返还至网关服务端。
作为优选的技术方案,所述设定的数据安全传输服务具体为:
应用A创建数据包,并将数据包由主机A的用户态发送至内核态网络协议栈A;
网络协议栈A对数据包添加传输层头部、IP头部操作,并将数据转发至虚拟网卡A;
VPN应用A监控虚拟网卡A,使用白盒SM4算法CBC模式或GCM模式对监控的数据包进行加密,使用CBCMAC或GCMMAC生成数据包认证码;
VPN应用A将加密后的数据再写回到虚拟网卡A;
虚拟网卡A将写入的数据发送至网络协议栈A;
网络协议栈A对数据包再次进行封包处理,之后将数据发送到物理网卡A;
物理网卡A通过互联网将数据包发送至物理网卡B;
物理网卡B收到数据后,将数据交由网络协议栈B处理;
网络协议栈B对数据包拆包,去掉IP头部和传输层头部后将数据发送给虚拟网卡B;
VPN应用B监控虚拟网卡B,使用相对应的白盒SM4算法CBC模式或GCM模式对监控的数据包进行解密;并通过CBC MAC或GCM MAC方式对数据包认证码进行验证,来验证数据包完整性;
VPN应用B将解密后的数据再写回到虚拟网卡B;
虚拟网卡B将数据转发至网络协议栈B;
网络协议栈B对数据包进行再次拆包处理,并将拆包后数据发送到用户态应用B。
作为优选的技术方案,所述使用白盒SM4算法CBC模式的加密过程如下:
将数据按照8个字节一组进行分组得到D1,D2,......,Dn,若数据不是8的整数倍,使用PKCS#7对数据进行填充;
第一组数据D1与初始化向量IV异或后的结果进行白盒SM4加密得到第一组密文C1;
第二组数据D2与第一组的加密结果C1异或以后的结果进行白盒SM4加密,得到第二组密文C2;
之后的数据以此类推,得到Cn;
按顺序连为C1,C2,C3,......,Cn即为加密结果。
作为优选的技术方案,白盒SM4算法CBC模式解密过程如下:
将数据按照8个字节一组进行分组得到C1,C2,......,Cn;
将第一组数据进行解密后与初始化向量I进行异或得到第一组明文D1;
将第二组数据C2进行解密后与第一组密文数据进行异或得到第二组数据D2;
之后依此类推,得到Dn;
按顺序连为D1,D2,......,Dn即为解密结果,如果加密前对数据进行PKCS#7填充,则需要去除填充数据。
作为优选的技术方案,使用CBC MAC和GCMMAC保护传输数据的完整性,具体为:
CBCMAC生成消息认证码过程:
首先将明文数据按照8个字节一组进行分组得到D1,D2,......,Dn,若数据不是8的整数倍,使用PKCS#7对数据进行填充;
第一组数据D1与初始化向量IV异或后的结果进行白盒SM4加密得到第一组密文H1;
第二组数据D2与第一组的加密结果H1异或以后的结果进行白盒SM4加密,得到第二组密文H2;
之后的数据以此类推,最后得到Hn即为消息认证码;
CBCMAC验证过程:
对密文数据按白盒SM4算法CBC模式解密过程进行解密得明文数据;
将所得明文数据按CBCMAC生成消息认证码过程生成消息认证码Ht;
对比消息认证码Hn与Ht,若相等则完整性认证成功;
如果数据完整性遭到破坏,即密文数据被修改,则通过白盒SM4算法解密后数据与原数据不符,继而通过CBCMAC生成的消息认证码Ht与Hn不相等。
本发明另一方面提供了一种基于白盒密码服务的透明化物联网安全传输系统,应用于所述的基于白盒密码服务的透明化物联网安全传输方法,包括身份认证模块和安全数据传输模块;
所述身份认证模块包括身份序列发送模块、加密模块以及解密模块;
所述身份序列发送模块,用于网关客户端发送身份序列号至白盒密服系统,白盒密服系统进行身份验证并返回通行证,网关客户端通过通行证获取白盒密钥表;
所述加密模块,用于网关客户端使用获取的白盒密钥表对约定数据进行加密,并将加密后数据发至网关服务端;
所述解密模块,用于网关服务端收到密文数据后,将数据发送给白盒密服系统,白盒密服系统对数据进行解密,并返回解密后的明文数据,网关服务端验证明文数据是否为约定数据,是则验证通过,不是则验证失败;
所述安全数据传输模块包括明文发送模块、传输模块以及数据发送模块;
所述明文发送模块,用于物联网设备发送明文数据至网关客户端;
所述传输模块,用于
网关客户端将数据发送至网关网服务端前会使用上述获取白盒密钥表通过白盒密码算法对数据进行加密;网关服务端接收到数据后,调用白盒密码服务的解密接口对接收的数据进行解密;
所述数据发送模块,用于网关服务端将解密后数据发送至应用服务。
本发明另一方面提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的基于白盒密码服务的透明化物联网安全传输方法。
本发明再一方面提供了一种存储介质,存储有程序,所述程序被处理器执行时,实现所述的基于白盒密码服务的透明化物联网安全传输方法。
本发明与现有技术相比,具有如下优点和有益效果:
1.数据透明化安全传输。本发明在传输层进行改造,使用加密模块对数据进行无感状态下的加密,采用第三方信任的白盒密服系统进行身份认证、密钥分发与数据解密,保证了数据在互联网上的透明化安全传输。
2.白盒密码。本发明在优化SM4算法白盒实现性能的基础上,基于白盒密码库中密钥生成模块,对白盒密钥表进行生成操作,并验证接入客户端身份,保证密码系统的软件实现在白盒攻击环境下的安全。
3.安全白盒密码服务。本发明使用CA机构在撤销证书时操作繁琐难以维护,使用安全白盒密码服务可高效管理白盒表的发放与回收。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是基于网关的物联网数据采集和传输系统示意图;
图2是本发明实施例基于白盒密码服务的透明化物联网安全传输系统认证示意图;
图3是本发明实施例基于白盒密码服务的透明化物联网安全传输系统数据传输示意图;
图4是本发明实施例基于白盒密码服务的透明化物联网安全传输方法整体流程图;
图5是本发明实施例基于白盒密码服务的透明化物联网安全传输的结构示意图;
图6是本发明实施例电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
物联网系统:典型的基于网关的物联网数据采集和传输系统如图1所示。网关和物联网设备通常放置在野外环境,由于资源限制,系统在数据传输过程中往往采用不安全的传输协议(如:HTTP 协议)。也有些系统使用对称加密算法对传输数据进行加密,但是在非受信的环境下,无法保证客户端密钥的安全性。
白盒密码:Chow等人在SAC 2002年会上提出了面向软件的密码算法抗密钥泄露的保护实现方法。它的主要思想是将针对密钥的操作,转换为一系列的查找表,通过混淆,仿射变换等技术将密钥隐藏在查找表中。客户端通过查找白盒表完成数据的加解密工作,在这一过程中除了白盒表,客户端无法获取到其它任何有关密钥的信息。随后学术界与工业界也对AES/SM4等各种标准密码算法提出了白盒实现。可见在移动互联网和物联网中白盒密码算法已经得到了广泛的使用。
透明传输:使用隧道技术在传输层完成对数据加解密、完整性校验等工作。设计并实现一个消息网关为客户端应用入口,在服务器端通过API层面实现消息解密+认证传输的定制化安全透传的软件方案,以实现数据透明化安全传输,该过程无需对原有系统进行改动。
本实施例提供的一种基于白盒密码服务的透明化物联网安全传输方法,通过白盒密码技术和隧道技术,在应用程序客户端和服务端建立安全传输隧道。网关客户端和服务端通过白盒密钥表完成身份认证工作,同时使用白盒对称密码算法对通道内传输数据进行加解密,通过在传输层建立隧道以实现基于网关的物联网系统数据的安全透明传输。
本实施例的技术方案中,主要包括了安全透传协议、数据加解密、白盒密钥表获取与白盒密服系统几个部分,下面做具体说明。
1安全透穿协议:
在应用程序客户端和服务端建立安全传输隧道该透传协议包含以下功能:
1)身份认证功能,认证网关客户端的合法性。
2)数据传输功能,在应用程序客户端和服务端建立传输隧道,实现应用程序客户端和服务端数据的透明传输。
2、数据加解密
使用白盒SM4对称加密算法CBC模式和GCM模式对隧道内的数据包进行加解密。并通过CBC MAC或GCM MAC等方式对数据包进行完整性校验。
3、白盒密钥表获取
从白盒密码服务系统获取白盒密钥表。白盒密钥表主要有两个作用:
1)使用白盒密钥表完成网关客户端和网关服务端身份认证工作。
2)使用白盒密钥表完成数据加解密工作。
4、白盒密服系统
1)密钥分发功能,利用白盒密钥库中封装接口,生成白盒加/解密密钥表文件,并分发白盒密钥表至网关客户端;
2)身份验证功能,验证接入的网关客户端身份,验证身份是否有效,有效方方可进行白盒密钥表获取操作;
3)密钥管理功能,对接入的白盒国密网关身份进行管理,对所有由白盒密服系统生成的密钥表进行管理;
4)SM4加解密功能,对接入的网关服务端传输的加密数据和身份序列,查询云安全存储的相关白盒密钥表,对消息进行解密操作,并将解密数据返还至网关服务端。
该方案提供身份验证与数据安全传输服务,如图2、3所示,具体说明如下:
1、身份验证服务,如图2所示,具体步骤如下:
步骤1,网关客户端发送身份序列号至白盒密服系统,白盒密服系统进行身份验证并返回通行证,网关客户端通过通行证获取白盒密钥表。
步骤2,网关客户端使用步骤1获取的白盒密钥表对约定数据进行加密,并将加密后数据发至网关服务端。
步骤3,网关服务端收到密文数据后,将数据发送给白盒密服系统,白盒密服系统对数据进行解密,并返回解密后的明文数据,网关服务端验证明文数据是否为约定数据,是则验证通过,不是则验证失败。
2、数据安全传输服务,如图3所示,具体步骤如下:
步骤1,应用A创建数据包,并将数据包由主机A的用户态发送至内核态网络协议栈A。
步骤2,网络协议栈A对数据包添加传输层头部、IP头部等操作,并将数据转发至虚拟网卡A。
步骤3,VPN应用A监控虚拟网卡A,使用白盒SM4算法CBC模式或GCM模式对监控的数据包进行加密,使用CBCMAC或GCMMAC生成数据包认证码。
步骤4,VPN应用A将加密后的数据再写回到虚拟网卡A。
步骤5,虚拟网卡A将写入的数据发送至网络协议栈A。
步骤6,网络协议栈A对数据包再次进行封包处理,之后将数据发送到物理网卡A。
步骤7,物理网卡A通过互联网将数据包发送至物理网卡B。
步骤8,物理网卡B收到数据后,将数据交由网络协议栈B处理。
步骤9,网络协议栈B对数据包拆包,去掉IP头部和传输层头部后将数据发送给虚拟网卡B。
步骤10,VPN应用B监控虚拟网卡B,使用相对应的白盒SM4算法CBC模式或GCM模式对监控的数据包进行解密。并通过CBC MAC或GCM MAC方式对数据包认证码进行验证,来验证数据包完整性。
步骤11,VPN应用B将解密后的数据再写回到虚拟网卡B。
步骤12,虚拟网卡B将数据转发至网络协议栈B。
步骤13,网络协议栈B对数据包进行再次拆包处理,并将拆包后数据发送到用户态应用B。
如图4所示,本申请实施例整体流程包括身份认证(如图4实线箭头所示)和安全数据传输(如图4虚线箭头所示)两部分,具体说明如下:
身份认证过程:
步骤1,网关客户端发送身份序列号至白盒密服系统,白盒密服系统进行身份验证并返回通行证,网关客户端通过通行证获取白盒密钥表。
步骤2,网关客户端使用步骤1获取的白盒密钥表对约定数据进行加密,并将加密后数据发至网关服务端。
步骤3,网关服务端收到密文数据后,将数据发送给白盒密服系统,白盒密服系统对数据进行解密,并返回解密后的明文数据,网关服务端验证明文数据是否为约定数据,是则验证通过,不是则验证失败。
进一步的,安全数据传输过程:
步骤4,物联网设备发送明文数据至网关客户端。
步骤5,网关客户端和网关网服务端按图3所示步骤(见数据安全传输服务)进行安全数据传输,具体为:网关客户端将数据发送至网关网服务端前会使用上述获取白盒密钥表通过白盒密码算法对数据进行加密;网关服务端接收到数据后,调用白盒密码服务的解密接口对接收的数据进行解密。
步骤6,网关服务端将解密后数据发送至应用服务。
进一步的,在网关客户端和网关服务端建立安全传输隧道,所述安全传输隧道基于安全透传协议实现,所述安全透传协议通过对TCP/IP协议族增加白盒加解密安全层实现;在主机A的应用层数据发送至传输层时,使用白盒密码算法对数据进行加密,主机B收到数据后,数据经传输层发送至应用层前,使用白盒密码算法对数据进行解密;所述安全透传协议一方面用于身份认证,认证网关客户端的合法性,另一方面进行数据传输,实现网关客户端和网关服务端数据的透明传输。
更进一步的,所述白盒密服系统具体为:
密钥分发,利用白盒密钥库中封装接口,生成白盒加/解密密钥表文件,并分发白盒密钥表至网关客户端;
身份验证,验证接入的网关客户端身份,验证身份是否有效,有效方方可进行白盒密钥表获取操作;
密钥管理功能,对接入的白盒国密网关身份进行管理,对所有由白盒密服系统生成的密钥表进行管理;
白盒SM4加解密,对接入的网关服务端传输的加密数据和身份序列,查询云安全存储的相关白盒密钥表,对消息进行解密操作,并将解密数据返还至网关服务端。
在本申请的一个实施例中,使用白盒SM4算法CBC模式的加密过程如下:
将数据按照8个字节一组进行分组得到D1,D2,......,Dn,若数据不是8的整数倍,使用PKCS#7对数据进行填充;
第一组数据D1与初始化向量IV异或后的结果进行白盒SM4加密得到第一组密文C1;
第二组数据D2与第一组的加密结果C1异或以后的结果进行白盒SM4加密,得到第二组密文C2;
之后的数据以此类推,得到Cn;
按顺序连为C1,C2,C3,......,Cn即为加密结果。
白盒SM4算法CBC模式解密过程如下:
将数据按照8个字节一组进行分组得到C1,C2,......,Cn;
将第一组数据进行解密后与初始化向量I进行异或得到第一组明文D1;
将第二组数据C2进行解密后与第一组密文数据进行异或得到第二组数据D2;
之后依此类推,得到Dn;
按顺序连为D1,D2,......,Dn即为解密结果,如果加密前对数据进行PKCS#7填充,则需要去除填充数据。
更进一步的,使用CBC MAC和GCMMAC保护传输数据的完整性,具体为:
CBCMAC生成消息认证码过程:
首先将明文数据按照8个字节一组进行分组得到D1,D2,......,Dn,若数据不是8的整数倍,使用PKCS#7对数据进行填充;
第一组数据D1与初始化向量IV异或后的结果进行白盒SM4加密得到第一组密文H1;
第二组数据D2与第一组的加密结果H1异或以后的结果进行白盒SM4加密,得到第二组密文H2;
之后的数据以此类推,最后得到Hn即为消息认证码;
CBCMAC验证过程:
对密文数据按白盒SM4算法CBC模式解密过程进行解密得明文数据;
将所得明文数据按CBCMAC生成消息认证码过程生成消息认证码Ht;
对比消息认证码Hn与Ht,若相等则完整性认证成功;
如果数据完整性遭到破坏,即密文数据被修改,则通过白盒SM4算法解密后数据与原数据不符,继而通过CBCMAC生成的消息认证码Ht与Hn不相等。
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
基于与上述实施例中的基于白盒密码服务的透明化物联网安全传输方法相同的思想,本发明还提供了基于白盒密码服务的透明化物联网安全传输系统,该系统可用于执行上述基于白盒密码服务的透明化物联网安全传输方法。为了便于说明,基于白盒密码服务的透明化物联网安全传输系统实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,在另一个实施例中,提供了一种基于白盒密码服务的透明化物联网安全传输系统100,该系统包括身份认证模块120和安全数据传输模块110;
进一步的,所述身份认证模块120包括身份序列发送模块121、加密模块122以及解密模块123;
所述身份序列发送模块121,用于网关客户端发送身份序列号至白盒密服系统,白盒密服系统进行身份验证并返回通行证,网关客户端通过通行证获取白盒密钥表;
所述加密模块122,用于网关客户端使用获取的白盒密钥表对约定数据进行加密,并将加密后数据发至网关服务端;
所述解密模块123,用于网关服务端收到密文数据后,将数据发送给白盒密服系统,白盒密服系统对数据进行解密,并返回解密后的明文数据,网关服务端验证明文数据是否为约定数据,是则验证通过,不是则验证失败;
更进一步的,所述安全数据传输模块110包括明文发送模块111、传输模块112以及数据发送模块113;
所述明文发送模块111,用于物联网设备发送明文数据至网关客户端;
所述传输模块112,用于网关客户端和网关网服务端按设定的数据安全传输服务进行安全数据传输;
所述数据发送模块113,用于网关服务端将数据发送至应用服务。
需要说明的是,本发明的基于白盒密码服务的透明化物联网安全传输系统与本发明的基于白盒密码服务的透明化物联网安全传输方法一一对应,在上述基于白盒密码服务的透明化物联网安全传输方法的实施例阐述的技术特征及其有益效果均适用于基于白盒密码服务的透明化物联网安全传输系统的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
此外,上述实施例的基于白盒密码服务的透明化物联网安全传输系统的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述基于白盒密码服务的透明化物联网安全传输系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
请参阅图6,在一个实施例中,提供了一种实现基于同态加密和可信硬件的多方隐私保护机器学习方法的电子设备,所述电子设备200可以包括第一处理器201、第一存储器202和总线,还可以包括存储在所述第一存储器202中并可在所述第一处理器201上运行的计算机程序,如多方隐私保护机器学习程序203。
其中,所述第一存储器202至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述第一存储器202在一些实施例中可以是电子设备200的内部存储单元,例如该电子设备200的移动硬盘。所述第一存储器202在另一些实施例中也可以是电子设备200的外部存储设备,例如电子设备200上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述第一存储器202还可以既包括电子设备200的内部存储单元也包括外部存储设备。所述第一存储器202不仅可以用于存储安装于电子设备200的应用软件及各类数据,例如多方隐私保护机器学习程序203的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述第一处理器201在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述第一处理器201是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述第一存储器202内的程序或者模块(例如联邦学习防御程序等),以及调用存储在所述第一存储器202内的数据,以执行电子设备200的各种功能和处理数据。
图6仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图6示出的结构并不构成对所述电子设备200的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
所述电子设备200中的所述第一存储器202存储的多方隐私保护机器学习程序203是多个指令的组合,在所述第一处理器201中运行时,可以实现:
所述身份认证过程具体为:
网关客户端发送身份序列号至白盒密服系统,白盒密服系统进行身份验证并返回通行证,网关客户端通过通行证获取白盒密钥表;
网关客户端使用获取的白盒密钥表对约定数据进行加密,并将加密后数据发至网关服务端;
网关服务端收到密文数据后,将数据发送给白盒密服系统,白盒密服系统对数据进行解密,并返回解密后的明文数据,网关服务端验证明文数据是否为约定数据,是则验证通过,不是则验证失败;
所述安全数据传输过程具体为:
物联网设备发送明文数据至网关客户端;
网关客户端和网关网服务端按设定的数据安全传输服务进行安全数据传输;
网关服务端将数据发送至应用服务。
进一步地,所述电子设备200集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM (DRAM)、同步DRAM (SDRAM)、双数据率SDRAM (DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (9)

1.基于白盒密码服务的透明化物联网安全传输方法,其特征在于,包括下身份认证过程和安全数据传输过程;
所述身份认证过程具体为:
网关客户端发送身份序列号至白盒密服系统,白盒密服系统进行身份验证并返回通行证,网关客户端通过通行证获取白盒密钥表;
网关客户端使用获取的白盒密钥表对约定数据进行加密,并将加密后数据发至网关服务端;
网关服务端收到密文数据后,将数据发送给白盒密服系统,白盒密服系统对数据进行解密,并返回解密后的明文数据,网关服务端验证明文数据是否为约定数据,是则验证通过,不是则验证失败;
所述安全数据传输过程具体为:
物联网设备发送明文数据至网关客户端;
网关客户端将数据发送至网关网服务端前会使用上述获取白盒密钥表通过白盒密码算法对数据进行加密;网关服务端接收到数据后,调用白盒密码服务的解密接口对接收的数据进行解密;
网关服务端将解密后数据发送至应用服务;
设定的数据安全传输服务具体为:
应用A创建数据包,并将数据包由主机A的用户态发送至内核态网络协议栈A;
网络协议栈A对数据包添加传输层头部、IP头部操作,并将数据转发至虚拟网卡A;
VPN应用A监控虚拟网卡A,使用白盒SM4算法CBC模式或GCM模式对监控的数据包进行加密,使用CBCMAC或GCMMAC生成数据包认证码;
VPN应用A将加密后的数据再写回到虚拟网卡A;
虚拟网卡A将写入的数据发送至网络协议栈A;
网络协议栈A对数据包再次进行封包处理,之后将数据发送到物理网卡A;
物理网卡A通过互联网将数据包发送至物理网卡B;
物理网卡B收到数据后,将数据交由网络协议栈B处理;
网络协议栈B对数据包拆包,去掉IP头部和传输层头部后将数据发送给虚拟网卡B;
VPN应用B监控虚拟网卡B,使用相对应的白盒SM4算法CBC模式或GCM模式对监控的数据包进行解密;并通过CBC MAC或GCM MAC方式对数据包认证码进行验证,来验证数据包完整性;
VPN应用B将解密后的数据再写回到虚拟网卡B;
虚拟网卡B将数据转发至网络协议栈B;
网络协议栈B对数据包进行再次拆包处理,并将拆包后数据发送到用户态应用B。
2.根据权利要求1所述基于白盒密码服务的透明化物联网安全传输方法,其特征在于,在网关客户端和网关服务端建立安全传输隧道,所述安全传输隧道基于安全透传协议实现,所述安全透传协议通过对TCP/IP协议族增加白盒加解密安全层实现;在主机A的应用层数据发送至传输层时,使用白盒密码算法对数据进行加密,主机B收到数据后,数据经传输层发送至应用层前,使用白盒密码算法对数据进行解密;所述安全透传协议一方面用于身份认证,认证网关客户端的合法性,另一方面进行数据传输,实现网关客户端和网关服务端数据的透明传输。
3.根据权利要求1所述基于白盒密码服务的透明化物联网安全传输方法,其特征在于,所述白盒密服系统具体为:
密钥分发,利用白盒密钥库中封装接口,生成白盒加/解密密钥表文件,并分发白盒密钥表至网关客户端;
身份验证,验证接入的网关客户端身份,验证身份是否有效,有效方方可进行白盒密钥表获取操作;
密钥管理功能,对接入的白盒国密网关身份进行管理,对所有由白盒密服系统生成的密钥表进行管理;
白盒SM4加解密,对接入的网关服务端传输的加密数据和身份序列,查询云安全存储的相关白盒密钥表,对消息进行解密操作,并将解密数据返还至网关服务端。
4.根据权利要求1所述基于白盒密码服务的透明化物联网安全传输方法,其特征在于,所述使用白盒SM4算法CBC模式的加密过程如下:
将数据按照8个字节一组进行分组得到D1,D2,......,Dn,若数据不是8的整数倍,使用PKCS#7对数据进行填充;
第一组数据D1与初始化向量IV异或后的结果进行白盒SM4加密得到第一组密文C1;
第二组数据D2与第一组的加密结果C1异或以后的结果进行白盒SM4加密,得到第二组密文C2;
之后的数据以此类推,得到Cn;
按顺序连为C1,C2,C3,......,Cn即为加密结果。
5.根据权利要求4所述基于白盒密码服务的透明化物联网安全传输方法,其特征在于,白盒SM4算法CBC模式解密过程如下:
将数据按照8个字节一组进行分组得到C1,C2,......,Cn;
将第一组数据进行解密后与初始化向量I进行异或得到第一组明文D1;
将第二组数据C2进行解密后与第一组密文数据进行异或得到第二组数据D2;
之后依此类推,得到Dn;
按顺序连为D1,D2,......,Dn即为解密结果,如果加密前对数据进行PKCS#7填充,则需要去除填充数据。
6.根据权利要求4所述基于白盒密码服务的透明化物联网安全传输方法,其特征在于,使用CBC MAC和GCMMAC保护传输数据的完整性,具体为:
CBCMAC生成消息认证码过程:
首先将明文数据按照8个字节一组进行分组得到D1,D2,......,Dn,若数据不是8的整数倍,使用PKCS#7对数据进行填充;
第一组数据D1与初始化向量IV异或后的结果进行白盒SM4加密得到第一组密文H1;
第二组数据D2与第一组的加密结果H1异或以后的结果进行白盒SM4加密,得到第二组密文H2;
之后的数据以此类推,最后得到Hn即为消息认证码;
CBCMAC验证过程:
对密文数据按白盒SM4算法CBC模式解密过程进行解密得明文数据;
将所得明文数据按CBCMAC生成消息认证码过程生成消息认证码Ht;
对比消息认证码Hn与Ht,若相等则完整性认证成功;
如果数据完整性遭到破坏,即密文数据被修改,则通过白盒SM4算法解密后数据与原数据不符,继而通过CBCMAC生成的消息认证码Ht与Hn不相等。
7.基于白盒密码服务的透明化物联网安全传输系统,其特征在于,应用于权利要求1-6中任一项所述的基于白盒密码服务的透明化物联网安全传输方法,包括身份认证模块和安全数据传输模块;
所述身份认证模块包括身份序列发送模块、加密模块以及解密模块;
所述身份序列发送模块,用于网关客户端发送身份序列号至白盒密服系统,白盒密服系统进行身份验证并返回通行证,网关客户端通过通行证获取白盒密钥表;
所述加密模块,用于网关客户端使用获取的白盒密钥表对约定数据进行加密,并将加密后数据发至网关服务端;
所述解密模块,用于网关服务端收到密文数据后,将数据发送给白盒密服系统,白盒密服系统对数据进行解密,并返回解密后的明文数据,网关服务端验证明文数据是否为约定数据,是则验证通过,不是则验证失败;
所述安全数据传输模块包括明文发送模块、传输模块以及数据发送模块;
所述明文发送模块,用于物联网设备发送明文数据至网关客户端;
所述传输模块,用于
网关客户端将数据发送至网关网服务端前会使用上述获取白盒密钥表通过白盒密码算法对数据进行加密;网关服务端接收到数据后,调用白盒密码服务的解密接口对接收的数据进行解密;
所述数据发送模块,用于网关服务端将解密后数据发送至应用服务。
8.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-6中任意一项所述的基于白盒密码服务的透明化物联网安全传输方法。
9.一种存储介质,存储有程序,其特征在于:所述程序被处理器执行时,实现权利要求1-6任一项所述的基于白盒密码服务的透明化物联网安全传输方法。
CN202210099201.6A 2022-01-27 2022-01-27 基于白盒密码服务的透明化物联网安全传输方法及装置 Active CN114448624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210099201.6A CN114448624B (zh) 2022-01-27 2022-01-27 基于白盒密码服务的透明化物联网安全传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210099201.6A CN114448624B (zh) 2022-01-27 2022-01-27 基于白盒密码服务的透明化物联网安全传输方法及装置

Publications (2)

Publication Number Publication Date
CN114448624A CN114448624A (zh) 2022-05-06
CN114448624B true CN114448624B (zh) 2023-07-18

Family

ID=81369525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210099201.6A Active CN114448624B (zh) 2022-01-27 2022-01-27 基于白盒密码服务的透明化物联网安全传输方法及装置

Country Status (1)

Country Link
CN (1) CN114448624B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114938304B (zh) * 2022-05-23 2023-04-28 贵州大学 一种工业物联网数据安全传输的方法和系统
CN115379008B (zh) * 2022-07-12 2024-05-07 南京隆远电气技术有限公司 一种基于网络服务器的数据中转站系统
CN116192419B (zh) * 2022-11-15 2023-09-26 中亿(深圳)信息科技有限公司 一种基于物联网卡的应用程序数据安全防护方法及装置
CN116543488A (zh) * 2023-07-06 2023-08-04 鼎铉商用密码测评技术(深圳)有限公司 门禁解锁方法、门禁系统以及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634113A (zh) * 2013-11-26 2014-03-12 成都卫士通信息产业股份有限公司 一种带用户/设备身份认证的加解密方法及装置
CN107682379A (zh) * 2017-11-22 2018-02-09 南京汽车集团有限公司 基于同态加密的信息安全传输装置、传输方法及存储方法
CN109698743A (zh) * 2019-03-05 2019-04-30 中国人民解放军32082部队 一种基于消息填充漏洞的分组密码加密密文数据恢复方法
CN112769551A (zh) * 2020-12-29 2021-05-07 杭州电子科技大学 基于fpga的sm4-gcm网络加密传输系统实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634113A (zh) * 2013-11-26 2014-03-12 成都卫士通信息产业股份有限公司 一种带用户/设备身份认证的加解密方法及装置
CN107682379A (zh) * 2017-11-22 2018-02-09 南京汽车集团有限公司 基于同态加密的信息安全传输装置、传输方法及存储方法
CN109698743A (zh) * 2019-03-05 2019-04-30 中国人民解放军32082部队 一种基于消息填充漏洞的分组密码加密密文数据恢复方法
CN112769551A (zh) * 2020-12-29 2021-05-07 杭州电子科技大学 基于fpga的sm4-gcm网络加密传输系统实现方法

Also Published As

Publication number Publication date
CN114448624A (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
CN114448624B (zh) 基于白盒密码服务的透明化物联网安全传输方法及装置
EP1387236B1 (en) Key management system and method for secure data transmission
CN110889696A (zh) 一种基于sgx技术的联盟区块链秘钥存储方法、装置、设备及介质
CN111614621B (zh) 物联网通信方法和系统
CN105610848A (zh) 具备源数据安全保障机制的集中式数据保全方法及系统
US20190268145A1 (en) Systems and Methods for Authenticating Communications Using a Single Message Exchange and Symmetric Key
CN109428867A (zh) 一种报文加解密方法、网路设备及系统
CN101409619A (zh) 闪存卡及虚拟专用网密钥交换的实现方法
CN103152322A (zh) 数据加密保护方法及系统
CN105991569A (zh) 一种tls通讯数据安全传输方法
US20180013832A1 (en) Health device, gateway device and method for securing protocol using the same
CN106878322B (zh) 一种基于属性的定长密文与密钥的加密、解密方法
CN105281910A (zh) 带ca数字证书作为入网身份识别的物联网锁及其入网身份识别方法
CN101997835B (zh) 网络安全通讯方法、数据安全处理装置和用于金融的系统
CN116567624B (zh) 一种5g馈线终端通信安全防护方法、装置及存储介质
CN111600948B (zh) 基于标识密码的云平台应用和数据安全处理方法、系统、存储介质、程序
CN113591109B (zh) 可信执行环境与云端通信的方法及系统
US11088835B1 (en) Cryptographic module to generate cryptographic keys from cryptographic key parts
US20060053288A1 (en) Interface method and device for the on-line exchange of content data in a secure manner
CN109302425A (zh) 身份认证方法及终端设备
CN113645235A (zh) 分布式数据加解密系统及加解密方法
Luring et al. Analysis of security features in DLMS/COSEM: Vulnerabilities and countermeasures
CN107534552B (zh) 在服务器设备、客户端设备处执行的方法及服务器设备
CN108111515B (zh) 一种适用于卫星通信的端到端安全通信加密方法
CN114866244A (zh) 基于密文分组链接加密的可控匿名认证方法、系统及装置

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