CN113420309B - 基于国密算法的轻量化数据保护系统 - Google Patents
基于国密算法的轻量化数据保护系统 Download PDFInfo
- Publication number
- CN113420309B CN113420309B CN202110747218.3A CN202110747218A CN113420309B CN 113420309 B CN113420309 B CN 113420309B CN 202110747218 A CN202110747218 A CN 202110747218A CN 113420309 B CN113420309 B CN 113420309B
- Authority
- CN
- China
- Prior art keywords
- key
- encryption
- 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.)
- Active
Links
- 238000012795 verification Methods 0.000 claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 17
- 238000007726 management method Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 9
- 230000001133 acceleration Effects 0.000 claims description 6
- 238000013461 design Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- Y—GENERAL 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
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS 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/00—Systems 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/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (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运算,然后对运算结果再执行一次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所述的基于国密算法的轻量化数据保护系统,其特征在于,所述嵌入式固件程序还包括板级支持包,板级支持包用于提供固件运行的环境。
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 CN113420309A (zh) | 2021-09-21 |
CN113420309B true 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) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114154185B (zh) * | 2021-12-06 | 2025-03-21 | 浪潮云信息技术股份公司 | 一种基于国密算法实现的数据加密存储方法 |
CN114640510B (zh) * | 2022-03-02 | 2023-07-04 | 宁波三星医疗电气股份有限公司 | 一种采用分离的加密服务器进行通信的方法 |
CN114996724B (zh) * | 2022-04-25 | 2024-05-03 | 麒麟软件有限公司 | 一种基于国密算法模块的安全操作系统 |
CN114978714B (zh) * | 2022-05-24 | 2023-11-10 | 中国科学院大学 | 基于risc-v的轻量级数据总线加密安全传输方法 |
CN115550042B (zh) * | 2022-10-08 | 2023-06-20 | 江南信安(北京)科技有限公司 | 基于安全芯片实现国密算法的签名验签服务器 |
CN116886356B (zh) * | 2023-07-04 | 2024-02-02 | 广州链融信息技术有限公司 | 一种芯片级透明文件加密存储系统、方法及设备 |
CN117077220B (zh) * | 2023-10-18 | 2024-01-23 | 北京金科联信数据科技有限公司 | 一种多物理接口和多芯片嵌入式密码模块装置 |
CN119051846A (zh) * | 2024-07-11 | 2024-11-29 | 浙江大学 | 一种基于后量子密码的u盾设备 |
CN119167408B (zh) * | 2024-11-22 | 2025-03-04 | 芯昇科技有限公司 | 固件明文的加密方法、芯片、设备、介质及产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 | 佛山芯珠微电子有限公司 | 基于云服务器的嵌入式安全加密芯片 |
CN112865969A (zh) * | 2021-02-07 | 2021-05-28 | 广东工业大学 | 一种数据加密卡的加密方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080148057A1 (en) * | 2006-12-19 | 2008-06-19 | Ohanae, Inc. | Security token |
CN110414244B (zh) * | 2018-04-28 | 2023-07-21 | 阿里巴巴集团控股有限公司 | 加密卡、电子设备及加密服务方法 |
SG11201908938PA (en) * | 2019-03-29 | 2019-10-30 | Alibaba Group Holding Ltd | Cryptography chip with identity verification |
CN110879880B (zh) * | 2019-10-24 | 2021-09-28 | 南京东科优信网络安全技术研究院有限公司 | 一种用户自主控制数据安全等级保护的密码装置 |
-
2021
- 2021-07-01 CN CN202110747218.3A patent/CN113420309B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107358110A (zh) * | 2017-07-24 | 2017-11-17 | 山东华芯半导体有限公司 | 基于国密安全芯片的移动端U盘及其与Android设备的通信方法 |
CN109726598A (zh) * | 2018-12-10 | 2019-05-07 | 佛山芯珠微电子有限公司 | 基于云服务器的嵌入式安全加密芯片 |
CN109672521A (zh) * | 2018-12-26 | 2019-04-23 | 贵州华芯通半导体技术有限公司 | 基于国密加密引擎实现的安全存储系统和方法 |
CN112865969A (zh) * | 2021-02-07 | 2021-05-28 | 广东工业大学 | 一种数据加密卡的加密方法及装置 |
Non-Patent Citations (3)
Title |
---|
The Software/Hardware Co-design and Implementation of SM2/3/4 Encryption/Decryption and Digital Signature System;Xin Zheng et.al;《 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 》;20201031;全文 * |
基于FPGA的高速加密卡设计与实现;彭阳等;《电子科技》;20130615(第06期);全文 * |
用SM2算法芯片实现嵌入式系统的安全设计;王振;《单片机与嵌入式系统应用》;20120401(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113420309A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113420309B (zh) | 基于国密算法的轻量化数据保护系统 | |
US10491379B2 (en) | System, device, and method of secure entry and handling of passwords | |
CN102646077B (zh) | 一种基于可信密码模块的全盘加密的方法 | |
US8683232B2 (en) | Secure user/host authentication | |
CN101551784B (zh) | 一种usb接口的ata类存储设备中数据的加密方法及装置 | |
CN112560058B (zh) | 基于智能密码钥匙的ssd分区加密存储系统及其实现方法 | |
WO2017041603A1 (zh) | 数据加密方法、装置及移动终端、计算机存储介质 | |
CN105426775B (zh) | 一种保护智能手机信息安全的方法和系统 | |
CN102419805B (zh) | 一种终端设备及其用户信息加密方法 | |
CN112651036B (zh) | 基于协同签名的身份认证方法及计算机可读存储介质 | |
CN107908574B (zh) | 固态盘数据存储的安全保护方法 | |
CN109951295B (zh) | 密钥处理和使用方法、装置、设备及介质 | |
CN102163267A (zh) | 固态硬盘安全访问控制方法、装置和固态硬盘 | |
US20220100865A1 (en) | Platform security mechanism | |
CN102768716A (zh) | 记忆卡及其读取、数据加密、金钥产生及密码变更方法 | |
CN110233729B (zh) | 一种基于puf的加密固态盘密钥管理方法 | |
WO2023240866A1 (zh) | 密码卡及其根密钥保护方法、计算机可读存储介质 | |
CN116886356B (zh) | 一种芯片级透明文件加密存储系统、方法及设备 | |
CN115455497A (zh) | 一种计算机硬盘数据加密系统及方法 | |
TWI476629B (zh) | Data security and security systems and methods | |
CN107911221A (zh) | 固态盘数据安全存储的密钥管理方法 | |
CN102270182A (zh) | 基于同步用户和主机认证的加密可移动存储设备 | |
CN116881945B (zh) | 一种基于tpcm的固态硬盘加解密方法、系统及电子设备 | |
CN201498001U (zh) | 一种基于对称密钥密码的可信计算平台 | |
CN114866228B (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 |