CN113420309A - 基于国密算法的轻量化数据保护*** - Google Patents

基于国密算法的轻量化数据保护*** Download PDF

Info

Publication number
CN113420309A
CN113420309A CN202110747218.3A CN202110747218A CN113420309A CN 113420309 A CN113420309 A CN 113420309A CN 202110747218 A CN202110747218 A CN 202110747218A CN 113420309 A CN113420309 A CN 113420309A
Authority
CN
China
Prior art keywords
encryption
key
ciphertext
decryption
encryption card
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.)
Granted
Application number
CN202110747218.3A
Other languages
English (en)
Other versions
CN113420309B (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.)
Chipeye Microelectronics Foshan Ltd
Guangdong University of Technology
Original Assignee
Chipeye Microelectronics Foshan Ltd
Guangdong 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 Chipeye Microelectronics Foshan Ltd, Guangdong University of Technology filed Critical Chipeye Microelectronics Foshan Ltd
Priority to CN202110747218.3A priority Critical patent/CN113420309B/zh
Publication of CN113420309A publication Critical patent/CN113420309A/zh
Application granted granted Critical
Publication of CN113420309B publication Critical patent/CN113420309B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于国密算法的轻量化数据保护***,包括硬件部分的加密卡以及软件部分的嵌入式固件程序以及上位机软件,其中:所述加密卡采用安全芯片作为主控芯片,同时承担加解密的运算任务,加密卡的数据通信与电路供电都依靠USB接口实现;所述嵌入式固件程序的二进制文件存储到加密卡的Flash中,供安全芯片执行;而上位机软件是在上位机中运行,通过USB转串口的方式来实现与加密卡的通信。本发明设计的两级密钥管理方案,既保证了密钥的安全,防止因密钥被盗取而带来安全威胁,也为用户的使用带来便利;在低成本的条件下,达到明显的使用上的简便性与安全性,提供计算机本地的文件进行加解密、数字签名与验证的轻量化的服务。

Description

基于国密算法的轻量化数据保护***
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于国密算法的轻量化数据保护***。
背景技术
目前,数据保护可以由软件或硬件构成的加密***实现。通过软件实现的加密***,是指利用软件程序来实现对数据的加解密保护。虽然其开发成本较低、维护方便,但占用较多的计算机资源,加密程序易被监测和篡改,密钥管理困难,因此安全性并不高。而且,用硬件实现的加密运算速度比软件的要快数倍。
举例说明,软件加密的实现方式可以是在Windows***下基于文件过滤驱动的个人数据安全保护***,其加解密运算均由软件实现。也有一些是通过软硬件结合实现的文件加密***,由USB Key对密钥进行管理和加密会话密钥,但实际上也是通过软件对文件进行加解密。
通过硬件实现的加密***,是指利用能执行密码算法的专用硬件设备来对数据进行保护。外界难以干预硬件设备的运算过程,也不能直接访问其中的敏感信息,只能通过预先定义好的接口来调用硬件设备的功能。与软件相比,硬件的加密***在抵抗外部攻击、保护密钥的安全、加解密运算速度等方面有着更大的优势。硬件实现的加密***有以下常见的实例。
(1)针对硬盘中的数据进行加密,提供数据的完整性验证与身份认证。(2)基于USBKey的加密***,利用USB Key内置的安全芯片进行身份验证、数据加解密运算和完整性验证。
现有技术的缺点:
首先,用软件实现加密的技术。它的缺点是占用较多的计算机CPU资源,这是因为加密算法是很复杂的运算,需要CPU的大量参与,尤其是当加密需求爆发的时候会出问题。另外,它的加密程序易被监测和篡改,因为它没有一个相对隔离的安全环境,会有计算机病毒侵犯的危险,安全性并不高。再者,软件实现的加密,它的速度相对而言是很慢的,这是因为它是用CPU来运算的,相对于专门用硬件芯片电路实现的加密算法而言,它相当慢,要慢几个数量级。
然后,用硬件实现的加密技术。它的安全性是很高的,也有很多的应用方式,就像我在背景介绍里面提到的,有用FPGA的,有用安全芯片的,形式上也有很多变化。不过,能够纯粹地加密计算机本地的文件的实现方案,目前是挺少的,而且它的成本、简便程度,通常还是个问题。
发明内容
本发明的目的是提供一种基于国密算法的轻量化数据保护***,在低成本的条件下,达到明显的使用上的简便性与安全性。
为了实现上述任务,本发明采用以下技术方案:
一种基于国密算法的轻量化数据保护***,包括硬件部分的加密卡以及软件部分的嵌入式固件程序以及上位机软件,其中:
所述加密卡采用安全芯片作为主控芯片,同时承担加解密的运算任务,加密卡的数据通信与电路供电都依靠USB接口实现;加密卡包括:
安全芯片,该芯片中集成了CPU与国密SM2、SM3、SM4算法的运算加速核,具有真随机数发生器,以及串口、SPI通信接口;电源管理模块,用于对外部输入的电压进行转换,以供给安全芯片和其他模块、接口使用;USB转串口模块,用于实现上位机与安全芯片之间的通信,而USB也作为供电接口;EEPROM模块,是用户的账户与密钥数据的存储器;Flash模块,是嵌入式固件程序的存储器;JTAG接口,是调试接口,用于下载固件与调试程序;
所述嵌入式固件程序的二进制文件存储到加密卡的Flash中,供安全芯片执行;而上位机软件是在上位机中运行,通过USB转串口的方式来实现与加密卡的通信,其中:
嵌入式固件程序包括顶层模块与底层模块,顶层模块包含加密卡工作函数;加密卡工作函数用于实现保护***的连接与断开、为用户提供注册、登录、重置、加解密服务;底层模块包含多种驱动程序,包括SM2、SM3、SM4运算加速核的驱动、串口与GPIO驱动、随机数发生器驱动和利用IIC读写EEPROM模块的驱动;顶层模块通过不断地调用底层模块,来实现完整的工作流程;
密钥管理方法包括:
用户需先在加密卡上注册账户,并自定义一个数字范围在0~9之间的8位数的PIN码,该PIN码既作为用户的登录密码,也用于身份验证与密钥管理;
加密卡将所述PIN码连续进行两次SM3运算,分别得到256位的第一次运算的消息摘要与第二次运算的消息摘要;之后,先把第二次的消息摘要存放进EEPROM模块中,作为以后用户登录时的PIN码比对标准;
加密卡生成一对随机的SM2的公私钥,接着,用PIN码的第一次SM3运算得到的消息摘要的前128位作为对称密钥来对SM2的私钥进行SM4算法加密,而SM2的公钥不做加密处理;再将SM2的公钥明文以及加密得到的SM2私钥密文存放进EEPROM模块中;
加密卡随机生成一个SM4的对称密钥,利用PIN码第一次SM3运算得到的消息摘要的前128位对该SM4对称密钥进行SM4算法加密,最后,将加密得到的SM4对称密钥的密文存放进EEPROM模块中。
进一步地,所述上位机软件分为五个面板:控制面板、登录面板、加密面板、解密面板与文件展示面板,其中:
所述控制面板用于配置通信端口、选择连接/断开设备以及进入/退出加密模式;登录面板用于提供用户登录界面并显示登录状态;加密面板用于选择明文文件的路径、保存密文的路径、保存SM2公钥的路径以及保存SM2数字签名的路径,同时控制加密的开始;解密面板用于选择密文文件的路径、SM2数字签名的路径、SM2公钥的路径以及保存明文文件的路径,同时控制解密的开始;文件展示面板用于展示加密前的明文/加密后的密文以及解密前的密文/解密后的明文。
进一步地,密钥的管理分为两级,PIN码的第一次SM3运算得到的消息摘要的前128位,即是第一级密钥;而随机生成的SM2私钥、SM4对称密钥,即是第二级密钥;一级密钥对二级密钥进行加密,再对密钥的密文进行保存;而在需要使用二级密钥的时候,就要先将密钥的密文取出,用一级密钥进行解密后才能使用。
进一步地,加解密和数字签名与验证的流程为:
在加密卡中,明文先通过SM4加密生成密文,然后由SM3算法产生密文的消息摘要,再对消息摘要进行SM2数字签名,最后将数字签名与密文一并发送到上位机;
在验证签名时,先对数字签名通过SM2签名验证算法得到原始密文的消息摘要,然后对接收到的密文通过SM3算法得到消息摘要,再对上述两个消息摘要进行对比,如果相同则验证成功,并对密文进行SM4解密而得到明文,将明文发送给上位机;反之则验证失败,不进行后续解密。
进一步地,上位机运行之初只显示控制面板,用户必须连接设备、注册(首次使用需要或者重置之后首次使用需要)、成功登录,才能进行加解密;用户可使用重置功能来清除加密卡的所有账户与密钥数据。
进一步地,所述安全芯片采用佛山芯珠微电子有限公司的物联网安全芯片CE2343P7。
进一步地,所述嵌入式固件程序还包括板级支持包,板级支持包用于提供固件运行的环境。
与现有技术相比,本发明具有以下技术特点:
1.本发明***首先是一个硬件的加密方案,包含了软件、硬件两部分的设计,硬件加密的优点它都有,它的最大的目的就是要在低成本的条件下,达到明显的使用上的简便性与安全性,它专注于只为计算机本地的文件进行加解密、数字签名与验证的轻量化的服务。并且,本发明是完全基于中国的商用密码算法SM2、SM3与SM4来设计的,它没有用到国外的加密算法,在国家安全上具有意义,毕竟密码算法不是外国的,而是中国自己的,而对于支持我们中国国产的加密算法的推广上也具有意义,而且现在的同类产品的设计,很少、几乎没有是完全基于国密算法来设计的。
2.本发明基于中国商用密码算法SM2、SM3、SM4,设计了非常简单有效的两级密钥管理方案,既保证了密钥的安全,防止因密钥被盗取而带来安全威胁,也为用户的使用带来便利。设计了非常实用,安全的文件加解密、数字签名与验证的流程方案;设计了加密卡的完整的硬件电路,以及与加密卡一同配合工作的软件,以轻量化作为目标,实现了简单有效的双因子身份认证方案(加密卡本身、PIN码,这两者构成双因子身份认证的方案),确保了用户身份的唯一性,方便使用和管理。
附图说明
图1为本发明的整体设计框架图;
图2为加密卡硬件电路的原理图;
图3为加密卡的PCB图;
图4为软件的总体设计框架图;
图5为上位机软件的界面图;
图6为密钥管理流程图;
图7为加密和数字签名生成的流程图;
图8为数字签名验证和解密的流程图。
具体实施方式
本发明提供的基于国密算法的轻量化数据保护***的功能性需求有以下四点:
(1)加解密的需求。基于国密算法对计算机中的文件数据利用专用的硬件进行加解密运算,保证数据的安全。
(2)数字签名与验证。在用户对文件数据加密之后,生成对应的数字签名。在用户对数据进行解密之前,需要对相应的数字签名进行验证,确认数据的来源与完整性,从而确保该数据是由用户自己加密得到的,并且没有被篡改或破坏。
(3)用户身份验证。需要对操作该***的用户进行身份验证,只有通过了验证的用户才能正常使用***对数据进行加解密、数字签名等操作。
(4)密钥管理功能。该文件加解密***需要有密钥存储、管理的功能,用户的SM2私钥、SM4对称密钥只能存储于加密硬件设备内,不可导出,确保密钥的安全。而且用户的账户信息也需要进行管理,并保存于加密硬件设备中。
该***还需要实现以下2点非功能性需求:
(1)容易操作。需要实现一个简洁、易操作的用户界面,且运行稳定,提高用户的使用体验。
(2)低成本、轻量化。在保证***安全性与实用性的情况下,降低设计的成本与复杂性。
整体设计划分:
为了满足上述的设计需求,确定本***由加密硬件设备(后文简称为加密卡)、嵌入式固件程序,还有上位机软件共同组成。本***利用SM4算法实现对文件数据的加解密;利用SM2算法并配合SM3算法实现数字签名与验证,满足对数据的来源与完整性验证的需求;通过设置用户的个人识别密码(Personal Identification Number,PIN)实现对用户的身份认证;通过设计两级的密钥管理机制,并将密钥加密后存储于加密卡的存储器EEPROM中,实现密钥管理的功能;通过设计合理流畅的图形用户界面,实现操作的简便性。
具体设计的划分如下:
(1)设计加密卡的硬件电路。
(2)设计加密卡的嵌入式固件程序,根据所选的主控安全芯片的硬件资源和板级开发包来编写加密卡的程序,实现对数据的加解密、数字签名与验证、密钥管理、身份认证等功能。
(3)设计具有图形用户界面的上位机软件,以配合加密卡的工作,方便用户操作。
按上述的整体设计划分,确定本***由硬件与软件共同组成,具体的设计框架如图1所示。
加密卡的硬件电路设计:
结合低成本、轻量化的设计目标,加密卡由安全芯片作为主控芯片,同时该芯片承担加解密的运算任务。数据通信与电路供电都依靠USB接口实现。加密卡的硬件电路具体包括以下六个部分:
(1)主控安全芯片,选用佛山芯珠微电子有限公司的物联网安全芯片CE2343P7。该芯片中集成了CPU与国密SM2、SM3、SM4算法的运算加速核,具有真随机数发生器,以及串口、SPI等通信接口。
(2)电源管理模块,对外部输入的电压进行转换,以供给其他模块使用。
(3)USB转串口模块,实现上位机与安全芯片之间的通信,而USB也作为供电接口。
(4)EEPROM模块,是用户的账户与密钥数据的存储器。
(5)Flash模块,是嵌入式固件程序的存储器。
(6)JTAG接口,是调试接口,用于下载固件与调试程序。
加密卡硬件电路的原理图设计如图2所示:
根据上述电路,生成PCB图并进行布局布线等设计,最终的PCB图(正面)如图3所示;加密卡PCB的长宽约为52mm与28mm,小体积,方便携带。
软件设计:
软件的总体设计:
本***的软件由嵌入式固件程序和上位机软件组成,在实际应用时将嵌入式固件程序的二进制文件存储到加密卡的Flash中,供安全芯片执行;而上位机软件是在上位机中运行,通过USB转串口的方式来实现与加密卡的通信。软件的总体设计框架如图4所示。
在嵌入式固件程序中分为顶层模块与底层模块,顶层模块是主要包含了加密卡工作函数的Main函数。加密卡工作函数能够实现设备的连接与断开、为用户提供注册、登录、重置、加解密(包含数字签名与验证)服务。底层模块主要是各种驱动程序,包括SM2、SM3、SM4运算加速核的驱动、串口与GPIO驱动、随机数发生器驱动和利用IIC读写EEPROM的驱动等。板级支持包提供了固件运行的环境。顶层模块通过不断地调用底层模块,来实现完整的工作流程。
上位机软件基于MATLAB的GUIDE工具实现,具有简洁的图形用户界面,分为五个面板:控制面板、登录面板、加密面板、解密面板与文件展示面板,如图5所示的是运行时的控制面板、加密面板与文件展示面板:
所述控制面板用于配置通信端口、选择连接/断开设备以及进入/退出加密模式;登录面板用于提供用户登录界面并显示登录状态;加密面板用于选择明文文件的路径、保存密文的路径、保存SM2公钥的路径以及保存SM2数字签名的路径,同时控制加密的开始;解密面板用于选择密文文件的路径、SM2数字签名的路径、SM2公钥的路径以及保存明文文件的路径,同时控制解密的开始;文件展示面板用于展示加密前的明文/加密后的密文以及解密前的密文/解密后的明文。
上位机运行之初只显示控制面板,用户必须连接设备、注册(首次使用需要或者重置之后首次使用需要)、成功登录,才能进行加解密。另外,用户可使用重置功能来清除加密卡的所有账户与密钥数据。文件展示面板可以查看加密前后与解密前后的文本数据。
密钥管理与身份认证方案:
本***基于SM4算法对数据进行加解密以及基于SM2算法进行数字签名与验证。那么必然会产生一个SM4对称密钥与一对SM2公私钥。密钥由加密卡的安全芯片中的真随机数发生器生成,保证了密钥的不可预测性。为了保护***与密钥的安全,设计了巧妙简单的两级密钥管理方案,并采用双因子身份认证的方法。具体的密钥管理流程如图6所示。
密钥管理流程描述如下:
步骤1,用户需先在加密卡上注册账户,并自定义一个数字范围在0~9之间的8位数的个人识别密码(PIN码)。该PIN码既作为用户的登录密码,也用于身份验证与密钥管理。
步骤2,加密卡将该PIN码连续进行两次SM3运算,分别得到256位的第一次运算的消息摘要与第二次运算的消息摘要。在这之后,先把第二次的消息摘要存放进EEPROM中,作为以后用户登录时的PIN码比对标准。
步骤3,加密卡生成一对随机的SM2的公私钥。接着,用PIN码的第一次SM3运算得到的消息摘要的前128位作为对称密钥来对SM2的私钥进行SM4算法加密。而SM2的公钥不做加密处理。再将SM2的公钥明文以及加密得到的SM2私钥密文存放进EEPROM中。
步骤4,加密卡随机生成一个SM4的对称密钥。利用PIN码第一次SM3运算得到的消息摘要的前128位对该SM4对称密钥进行SM4算法加密。最后,将加密得到的SM4对称密钥的密文存放进EEPROM中。
总体来说,密钥的管理分为两级,PIN码的第一次SM3运算得到的消息摘要的前128位,即是第一级密钥;而随机生成的SM2私钥、SM4对称密钥,即是第二级密钥。一级密钥对二级密钥进行加密,再对密钥的密文进行保存;而在需要使用二级密钥的时候,就要先将密钥的密文取出,用一级密钥进行解密后才能使用。
这种方案有以下三个优点:
(1)在轻量化前提下,保证了所有密钥的安全。基于SM3算法的单向特性,无法从PIN码的第二次的消息摘要反向推导得到第一次的消息摘要或者PIN码。
(2)双因子身份认证,有效保证***的安全。用户必须同时拥有加密卡、PIN码,才能正常使用该***。
(3)提供了良好的用户使用体验。用户只需记忆一个8位的PIN码,并保管好加密卡硬件设备,简单方便。
加解密和数字签名与验证的流程:
本设计综合运用国密SM2、SM3、SM4算法。在加密卡中,明文先通过SM4加密生成密文,然后由SM3算法产生密文的消息摘要,再对消息摘要进行SM2数字签名,最后将数字签名与密文一并发送到上位机。整个流程如图7所示。
在验证签名时,先对数字签名通过SM2签名验证算法得到原始密文的消息摘要,然后对接收到的密文通过SM3算法得到消息摘要,再对上述两个消息摘要进行对比,如果相同则验证成功,并对密文进行SM4解密而得到明文,将明文发送给上位机;反之则验证失败,不进行后续解密。整个流程如图8所示。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (7)

1.一种基于国密算法的轻量化数据保护***,其特征在于,包括硬件部分的加密卡以及软件部分的嵌入式固件程序以及上位机软件,其中:
所述加密卡采用安全芯片作为主控芯片,同时承担加解密的运算任务,加密卡的数据通信与电路供电都依靠USB接口实现;加密卡包括:
安全芯片,该芯片中集成了CPU与国密SM2、SM3、SM4算法的运算加速核,具有真随机数发生器,以及串口、SPI通信接口;电源管理模块,用于对外部输入的电压进行转换,以供给安全芯片和其他模块、接口使用;USB转串口模块,用于实现上位机与安全芯片之间的通信,而USB也作为供电接口;EEPROM模块,是用户的账户与密钥数据的存储器;Flash模块,是嵌入式固件程序的存储器;JTAG接口,是调试接口,用于下载固件与调试程序;
所述嵌入式固件程序的二进制文件存储到加密卡的Flash中,供安全芯片执行;而上位机软件是在上位机中运行,通过USB转串口的方式来实现与加密卡的通信,其中:
嵌入式固件程序包括顶层模块与底层模块,顶层模块包含加密卡工作函数;加密卡工作函数用于实现保护***的连接与断开、为用户提供注册、登录、重置、加解密服务;底层模块包含多种驱动程序,包括SM2、SM3、SM4运算加速核的驱动、串口与GPIO驱动、随机数发生器驱动和利用IIC读写EEPROM模块的驱动;顶层模块通过不断地调用底层模块,来实现完整的工作流程;
密钥管理方法包括:
用户需先在加密卡上注册账户,并自定义一个数字范围在0~9之间的8位数的PIN码,该PIN码既作为用户的登录密码,也用于身份验证与密钥管理;
加密卡将所述PIN码连续进行两次SM3运算,分别得到256位的第一次运算的消息摘要与第二次运算的消息摘要;之后,先把第二次的消息摘要存放进EEPROM模块中,作为以后用户登录时的PIN码比对标准;
加密卡生成一对随机的SM2的公私钥,接着,用PIN码的第一次SM3运算得到的消息摘要的前128位作为对称密钥来对SM2的私钥进行SM4算法加密,而SM2的公钥不做加密处理;再将SM2的公钥明文以及加密得到的SM2私钥密文存放进EEPROM模块中;
加密卡随机生成一个SM4的对称密钥,利用PIN码第一次SM3运算得到的消息摘要的前128位对该SM4对称密钥进行SM4算法加密,最后,将加密得到的SM4对称密钥的密文存放进EEPROM模块中。
2.根据权利要求1所述的基于国密算法的轻量化数据保护***,其特征在于,所述上位机软件分为五个面板:控制面板、登录面板、加密面板、解密面板与文件展示面板,其中:
所述控制面板用于配置通信端口、选择连接/断开设备以及进入/退出加密模式;登录面板用于提供用户登录界面并显示登录状态;加密面板用于选择明文文件的路径、保存密文的路径、保存SM2公钥的路径以及保存SM2数字签名的路径,同时控制加密的开始;解密面板用于选择密文文件的路径、SM2数字签名的路径、SM2公钥的路径以及保存明文文件的路径,同时控制解密的开始;文件展示面板用于展示加密前的明文/加密后的密文以及解密前的密文/解密后的明文。
3.根据权利要求1所述的基于国密算法的轻量化数据保护***,其特征在于,密钥的管理分为两级,PIN码的第一次SM3运算得到的消息摘要的前128位,即是第一级密钥;而随机生成的SM2私钥、SM4对称密钥,即是第二级密钥;一级密钥对二级密钥进行加密,再对密钥的密文进行保存;而在需要使用二级密钥的时候,就要先将密钥的密文取出,用一级密钥进行解密后才能使用。
4.根据权利要求1所述的基于国密算法的轻量化数据保护***,其特征在于,加解密和数字签名与验证的流程为:
在加密卡中,明文先通过SM4加密生成密文,然后由SM3算法产生密文的消息摘要,再对消息摘要进行SM2数字签名,最后将数字签名与密文一并发送到上位机;
在验证签名时,先对数字签名通过SM2签名验证算法得到原始密文的消息摘要,然后对接收到的密文通过SM3算法得到消息摘要,再对上述两个消息摘要进行对比,如果相同则验证成功,并对密文进行SM4解密而得到明文,将明文发送给上位机;反之则验证失败,不进行后续解密。
5.根据权利要求1所述的基于国密算法的轻量化数据保护***,其特征在于,上位机运行之初只显示控制面板,用户必须连接设备、注册、成功登录,才能进行加解密;用户可使用重置功能来清除加密卡的所有账户与密钥数据;其中,首次使用需要或者重置之后首次使用需要进行注册。
6.根据权利要求1所述的基于国密算法的轻量化数据保护***,其特征在于,所述安全芯片采用佛山芯珠微电子有限公司的物联网安全芯片CE2343P7。
7.根据权利要求1所述的基于国密算法的轻量化数据保护***,其特征在于,所述嵌入式固件程序还包括板级支持包,板级支持包用于提供固件运行的环境。
CN202110747218.3A 2021-07-01 2021-07-01 基于国密算法的轻量化数据保护*** Active CN113420309B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110747218.3A CN113420309B (zh) 2021-07-01 2021-07-01 基于国密算法的轻量化数据保护***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110747218.3A CN113420309B (zh) 2021-07-01 2021-07-01 基于国密算法的轻量化数据保护***

Publications (2)

Publication Number Publication Date
CN113420309A true CN113420309A (zh) 2021-09-21
CN113420309B CN113420309B (zh) 2022-05-17

Family

ID=77720043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110747218.3A Active CN113420309B (zh) 2021-07-01 2021-07-01 基于国密算法的轻量化数据保护***

Country Status (1)

Country Link
CN (1) CN113420309B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640510A (zh) * 2022-03-02 2022-06-17 宁波三星医疗电气股份有限公司 一种采用分离的加密服务器进行通信的方法
CN114978714A (zh) * 2022-05-24 2022-08-30 中国科学院大学 基于risc-v的轻量级数据总线加密安全传输方法
CN114996724A (zh) * 2022-04-25 2022-09-02 麒麟软件有限公司 一种基于国密算法模块的安全操作***
CN115550042A (zh) * 2022-10-08 2022-12-30 江南信安(北京)科技有限公司 基于安全芯片实现国密算法的签名验签服务器
CN116886356A (zh) * 2023-07-04 2023-10-13 广州链融信息技术有限公司 一种芯片级透明文件加密存储***、方法及设备
CN117077220A (zh) * 2023-10-18 2023-11-17 北京金科联信数据科技有限公司 一种多物理接口和多芯片嵌入式密码模块装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080148057A1 (en) * 2006-12-19 2008-06-19 Ohanae, Inc. Security token
CN107358110A (zh) * 2017-07-24 2017-11-17 山东华芯半导体有限公司 基于国密安全芯片的移动端U盘及其与Android设备的通信方法
CN109672521A (zh) * 2018-12-26 2019-04-23 贵州华芯通半导体技术有限公司 基于国密加密引擎实现的安全存储***和方法
CN109726598A (zh) * 2018-12-10 2019-05-07 佛山芯珠微电子有限公司 基于云服务器的嵌入式安全加密芯片
US20190334713A1 (en) * 2018-04-28 2019-10-31 Alibaba Group Holding Limited Encryption Card, Electronic Device, and Encryption Service Method
CN110879880A (zh) * 2019-10-24 2020-03-13 南京东科优信网络安全技术研究院有限公司 一种用户自主控制数据安全等级保护的密码装置
US20200311315A1 (en) * 2019-03-29 2020-10-01 Alibaba Group Holding Limited Cryptography chip with identity verification
CN112865969A (zh) * 2021-02-07 2021-05-28 广东工业大学 一种数据加密卡的加密方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080148057A1 (en) * 2006-12-19 2008-06-19 Ohanae, Inc. Security token
CN107358110A (zh) * 2017-07-24 2017-11-17 山东华芯半导体有限公司 基于国密安全芯片的移动端U盘及其与Android设备的通信方法
US20190334713A1 (en) * 2018-04-28 2019-10-31 Alibaba Group Holding Limited Encryption Card, Electronic Device, and Encryption Service Method
CN109726598A (zh) * 2018-12-10 2019-05-07 佛山芯珠微电子有限公司 基于云服务器的嵌入式安全加密芯片
CN109672521A (zh) * 2018-12-26 2019-04-23 贵州华芯通半导体技术有限公司 基于国密加密引擎实现的安全存储***和方法
US20200311315A1 (en) * 2019-03-29 2020-10-01 Alibaba Group Holding Limited Cryptography chip with identity verification
CN110879880A (zh) * 2019-10-24 2020-03-13 南京东科优信网络安全技术研究院有限公司 一种用户自主控制数据安全等级保护的密码装置
CN112865969A (zh) * 2021-02-07 2021-05-28 广东工业大学 一种数据加密卡的加密方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
XIN ZHENG ET.AL: "The Software/Hardware Co-design and Implementation of SM2/3/4 Encryption/Decryption and Digital Signature System", 《 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 》 *
彭阳等: "基于FPGA的高速加密卡设计与实现", 《电子科技》 *
王振: "用SM2算法芯片实现嵌入式***的安全设计", 《单片机与嵌入式***应用》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640510A (zh) * 2022-03-02 2022-06-17 宁波三星医疗电气股份有限公司 一种采用分离的加密服务器进行通信的方法
CN114996724A (zh) * 2022-04-25 2022-09-02 麒麟软件有限公司 一种基于国密算法模块的安全操作***
CN114996724B (zh) * 2022-04-25 2024-05-03 麒麟软件有限公司 一种基于国密算法模块的安全操作***
CN114978714A (zh) * 2022-05-24 2022-08-30 中国科学院大学 基于risc-v的轻量级数据总线加密安全传输方法
CN114978714B (zh) * 2022-05-24 2023-11-10 中国科学院大学 基于risc-v的轻量级数据总线加密安全传输方法
CN115550042A (zh) * 2022-10-08 2022-12-30 江南信安(北京)科技有限公司 基于安全芯片实现国密算法的签名验签服务器
CN116886356A (zh) * 2023-07-04 2023-10-13 广州链融信息技术有限公司 一种芯片级透明文件加密存储***、方法及设备
CN116886356B (zh) * 2023-07-04 2024-02-02 广州链融信息技术有限公司 一种芯片级透明文件加密存储***、方法及设备
CN117077220A (zh) * 2023-10-18 2023-11-17 北京金科联信数据科技有限公司 一种多物理接口和多芯片嵌入式密码模块装置
CN117077220B (zh) * 2023-10-18 2024-01-23 北京金科联信数据科技有限公司 一种多物理接口和多芯片嵌入式密码模块装置

Also Published As

Publication number Publication date
CN113420309B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
CN113420309B (zh) 基于国密算法的轻量化数据保护***
US9760721B2 (en) Secure transaction method from a non-secure terminal
US10009173B2 (en) System, device, and method of secure entry and handling of passwords
CN102646077B (zh) 一种基于可信密码模块的全盘加密的方法
US8966269B2 (en) Integrity protected smart card transaction
US10693641B2 (en) Secure container based protection of password accessible master encryption keys
US20140156989A1 (en) Credential Recovery
CN106611310B (zh) 数据处理的方法、穿戴式电子设备和***
CN109951295B (zh) 密钥处理和使用方法、装置、设备及介质
CN111464297B (zh) 基于区块链的事务处理方法、装置、电子设备和介质
CN108769027A (zh) 安全通信方法、装置、移动终端和存储介质
CN110245466B (zh) 软件完整性保护和验证方法、***、设备及存储介质
CN109460639A (zh) 一种license授权控制方法、装置、终端及存储介质
CN106452771A (zh) Jce调用密码卡实现内置rsa密钥运算的方法及装置
CN114499859A (zh) 密码验证方法、装置、设备及存储介质
CN112865965B (zh) 一种基于量子密钥的列车业务数据处理方法及***
CN113032753A (zh) 身份验证的方法及装置
CN102270182B (zh) 基于同步用户和主机认证的加密可移动存储设备
CN113055157A (zh) 生物特征验证方法、装置、存储介质与电子设备
CN202978979U (zh) 一种密码安全键盘装置及***
CN114866228A (zh) 一种实现软密码模块的方法、***、存储介质及终端
CN112054890B (zh) 屏体配置文件导出、导入方法及其装置和播控设备
CN112449143B (zh) 一种安全视频的实现方法及实现***
CN105933112B (zh) 无人值守终端的密钥更新方法及装置
CN117592065A (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