可信数字身份CTID网证数据的国密安全存取方法与流程

文档序号:32218342发布日期:2022-11-16 08:13阅读:96来源:国知局
可信数字身份CTID网证数据的国密安全存取方法与流程
可信数字身份ctid网证数据的国密安全存取方法
技术领域
1.本发明涉及数据的安全存取,尤其涉及可信数字身份ctid网证数据的安全存取。


背景技术:

2.可信数字身份ctid网证是公安部推出的身份证网上应用凭证,可信数字身份ctid网证以身份证制证数据为基础,是公安部认可的国家法定证件及身份凭证。可信数字身份ctid网证是将公民个人身份,通过人脸识别的生物技术手段比对后,于手机上生成的电子证件,用于用户身份识别。
3.可信数字身份ctid网证具有易保管、易携带、有多重密码保障,使用非常安全,能大大降低证件丢失的概率和被人冒用的可能性。验证过程中,可信数字身份ctid网证的电子文件不会在互联网空间传输或存储公民隐私信息。
4.二维码的信息包括:定位信息:具体包括位置探测图形、位置探测图形分隔符和定位图形;校正信息:具体包括校正图形;格式信息:表示二维码的纠错级别,分为l、m、q、h;版本信息:目前,二维码符号共有40种规格的矩阵(一般为黑白色),从21x21(版本1),到177x177(版本40);以及数据和纠错码。
5.可信数字身份ctid网证通常是带时间戳的二维码。其上的数据和纠错码进一步区划为:通用数据(也称码词)和安全数据(也称水印)。通用数据进一步包括:中心段a、bas段b和签名段s。水印是一种具有防伪作用的,嵌于二维码图底层的一种图形码。
6.现有技术,通常是借助于计算能力强大的处理器及其上运行的相关加解密算法,来对可信数字身份ctid网证数据进行安全存取。这种可信数字身份ctid网证数据安全存取的实现有相当的局限性,实有必要予以改进。


技术实现要素:

7.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提出一种可信数字身份ctid网证数据的国密安全存取方法,有利于实现可信数字身份ctid网证数据的安全存取,进而有利于可信数字身份ctid网证的应用推广。
8.本发明解决其技术问题所采用的技术方案是:提供一种可信数字身份ctid网证数据的国密安全存取方法,该方法是由mcu、安全加密芯片和外部连接接口配合实现的;其中,该安全加密芯片选用支持sm4的国密芯片,国密sm4算法的密钥存在该安全加密芯片里;该方法包括以下措施:采用国密sm4算法,对ctid码的数据进行分段加密;采用国密sm4算法,对已进行分段加密的数据进行混合加密;采用安全保护电路,对安全加密芯片进行保护。
9.其中,该安全加密芯片中的数据和密钥有自毁机制。
10.其中,借由该mcu和该外部连接接口,能够对保存在该安全加密芯片中的密钥进行远程更新。
11.其中,该安全保护电路是一个具有防拆和防物理入侵的装置,该装置将该安全加密芯片罩起来。
12.其中,该ctid码的数据分段为:码词a、码词b、版本信息、纠错码、水印数据、确认码和签名码。
13.本发明的有益效果在于,通过mcu、安全加密芯片和外部连接接口配合,采用国密sm4算法进行ctid码的码字的分段加密以及混合加密,有利于实现可信数字身份ctid网证数据的安全存取,进而有利于可信数字身份ctid网证的应用推广。
附图说明
14.下面将结合附图及实施例对本发明作进一步说明,附图中:图1示意出本发明的可信数字身份ctid网证数据获取的硬件实现方法。
15.图2示意出本发明的可信数字身份ctid网证数据获取的硬件装置。
16.图3示意出本发明的可信数字身份ctid网证解码芯片的设计方法。
17.图4示意出本发明的可信数字身份ctid网证解码芯片的电原理。
18.图5示意出本发明的可信数字身份ctid网证解码芯片实施的原理。
19.图6示意出本发明的可信数字身份ctid网证解码芯片实施的封装。
20.图7示意出本发明的mcu 运行的解码算法的函数构成。
21.图8示意出本发明的可信数字身份ctid网证数据的国密安全存取方法。
22.其中,附图标记说明如下:10 装置 1 镜头 2 可信数字身份ctid网证解码芯片 201 图像信号处理器单元 202 中央处理器单元 211 数据码词输出单元 231 格式信息输出单元 232 版本信息输出单元 233 纠错码输出单元 241 选择开关单元 203 外围接口部分 204 系统时钟部分 205 系统资源部分 206 调试接口部分 207 外部设备控制器部分 208 安全系统部分 209 内存控制器部分 3 mcu 4 安全加密芯片 5 可信数字身份ctid网证水印鉴定芯片 6 外部连接接口。
具体实施方式
23.现结合附图,对本发明的较佳实施例作详细说明。
24.参见图1,图1示意出本发明的可信数字身份ctid网证数据获取的硬件实现方法。本发明提出一种可信数字身份ctid网证数据获取的硬件实现方法,其包括以下措施。
25.101、采用一镜头,获取可信数字身份ctid网证的图形,得到数字表达的图形数据。
26.102、采用一可信数字身份ctid网证解码芯片,对图形数据进行处理,得到原初数据。原初数据(rawdata)由码词和暗码两部分组成,水印数据包含在暗码当中。
27.103、采用一mcu,对原初数据进行组织。mcu运行有解码算法,通过该算法,能够利用前述的暗码得到水印数据;通过该算法,能够把码词加密输出。
28.104、采用一可信数字身份ctid网证水印鉴定芯片,配合mcu提供的组织过后的数据,达成水印数据的鉴定。
29.105、采用一安全加密芯片,配合mcu提供的组织过后的数据,达成设定数据的加密。
30.106、采用一外部连接接口,配合mcu,达成水印鉴定结果、码词和/或水印数据的输
出。
31.参见图2,图2示意出本发明的可信数字身份ctid网证数据获取的硬件装置。本发明提出一种可信数字身份ctid网证数据获取的硬件装置10,其包括以下组成。
32.一镜头1,用于获取可信数字身份ctid网证的图形,得到数字表达的图形数据。
33.一可信数字身份ctid网证解码芯片2,用于对镜头1提供的图形数据进行处理,得到原初数据。
34.一mcu 3,用于对可信数字身份ctid网证解码芯片2提供的原初数据进行组织。
35.一可信数字身份ctid网证水印鉴定芯片4,用于配合mcu 3提供的组织过后的数据,达成水印数据的鉴定。
36.一安全加密芯片5,用于配合mcu 3提供的组织过后的数据,达成设定数据的加密。可以理解的是,根据实际应用的需要,设定数据可以是码词和/或水印数据,也就是说,设定数据可以是码词以及水印数据的任意组合。举例而言,在最严厉的情形下,设定数据可以是码词和水印数据;在最宽松的情形下,设定数据既不包含码词也不包含水印数据,码词和水印数据均不需要进行加密处理。值得一提的是,由于码词本身是分段的,前述设定数据可以是码词的这些分段的任意组合。
37.一外部连接接口6,用于配合mcu 3,达成水印鉴定结果、码词和/或水印数据的输出。可以理解的是,根据实际应用的需要,码词和/或水印数据的输出可以经过加密处理的,也可以是没有经过加密处理的。值得一提的是,由于码词本身是分段的,码词的输出是指码词的分段的任意组合的输出。
38.具体地,外部连接接口6包括连接器和与连接器相配合的接口电路。举例而言,外部连接接口6是网口,具体包括网络连接器和网络连接芯片;外部连接接口6是串口,具体包括串口连接器和串口连接芯片;外部连接接口6是usb,具体包括usb连接器和usb连接芯片。
39.参见图3,图3示意出本发明的可信数字身份ctid网证解码芯片的设计方法。本发明提出一种可信数字身份ctid网证解码芯片的设计方法,其包括以下措施。
40.301、设置一单元,用于识别深/浅模块;302、设置一单元,用于格式信息译码;303、设置一单元,用于格式信息输出(若选择开关处于闭合状态);304、设置一单元,用于确定版本;305、设置一单元,用于版本信息输出(若选择开关处于闭合状态);306、设置一单元,用于消除掩模;307、设置一单元,用于恢复数据和纠错码;308、设置一单元,用于纠错码输出(若选择开关处于闭合状态);309、设置一单元,用于用纠错码进行错误检查,有错的话,采取措施310继续;没错的话,采取措施311继续;310、设置一单元,用于纠错;311、设置一单元,用于数据码词译码;312、设置一单元,用于数据码词输出。
41.可以理解的是,对应于前述的原初数据,纠错码、格式信息和版本信息共同构成了暗码。在选择开关处于闭合状态,也即可信数字身份ctid网证解码芯片2处于专门针对可信
数字身份ctid网证进行解码时,输出数据码词、纠错码、格式信息和版本信息。其中,水印数据实际是包含在纠错码中。在选择开关处于断开状态,也即可信数字身份ctid网证解码芯片2处于针对一般二维码进行解码时,只输出数据码词。
42.对应于前述的设计方法,本发明提出一种可信数字身份ctid网证解码芯片,其包括十二个单元。具体地,有:第一单元,用于识别深/浅模块;第二单元,用于格式信息译码;第三单元,用于格式信息输出(若选择开关处于闭合状态);第四单元,用于确定版本;第五单元,用于版本信息输出(若选择开关处于闭合状态);第六单元,用于消除掩模;第七单元,用于恢复数据和纠错码;第八单元,用于纠错码输出(若选择开关处于闭合状态);第九单元,用于用纠错码进行错误检查,有错的话,转第十单元;没错的话,转第十一单元;第十单元,用于纠错;第十一单元,用于数据码词译码;第十二单元,用于数据码词输出。
43.取决于实际应用的需要,上述每个单元,均可以完全用芯片上的硬件电路予以实现,均可以完全用芯片上处理器运行的软件予以实现,也可以是部分单元由硬件电路实现、另部分单元由软件实现。
44.参见图4,图4示意出本发明的可信数字身份ctid网证解码芯片的电原理。该可信数字身份ctid网证解码芯片2包括以下组成。
45.一图像信号处理器单元201,用于对图形数据进行预处理。
46.一中央处理器单元202,用于对图像信号处理器单元201提供的预处理过后的数据进行解码处理,其处理流程参见前述的图3。
47.一数据码词输出单元211,用于将中央处理器单元202处理得到的数据码词输出。举例而言,其包括可信数字身份ctid网证解码芯片2上的一组端口及于该组端口配合的相应电路。
48.一格式信息输出单元231,用于将中央处理器单元202处理得到的格式信息输出。举例而言,其包括可信数字身份ctid网证解码芯片2上的一组端口及于该组端口配合的相应电路。
49.一版本信息输出单元232,用于将中央处理器单元202处理得到的版本信息输出。举例而言,其包括可信数字身份ctid网证解码芯片2上的一组端口及于该组端口配合的相应电路。
50.一纠错码输出单元233,用于将中央处理器单元202处理得到的纠错码输出。举例而言,其包括可信数字身份ctid网证解码芯片2上的一组端口及于该组端口配合的相应电路。
51.一选择开关单元241,用于与中央处理器单元202配合,控制中央处理器单元202处
理得到的暗码(格式信息、版本信息以及纠错码)的输出。
52.举例而言,通过一选择开关设置码来控制选择开关单元241,也即在中央处理器单元202识别到选择开关设置码时,控制选择开关单元241的状态切换,比如:选择开关单元241默认处于闭合状态,在第一次识别到选择开关设置码之后,选择开关单元241翻转到处于断开状态,在第二次识别到选择开关设置码之后,选择开关单元241翻转到处于闭合状态。
53.可以理解的是,这里的选择开关设置码与前述的软开关设置码,可以是同一个码,也可以是不同的码。另外,选择开关单元241在可信数字身份ctid网证解码芯片2中,可以是硬件电路实现的硬开关,也可以是中央处理器单元202运行的软件实现的软开关。
54.参见图5,图5示意出本发明的可信数字身份ctid网证解码芯片实施的原理。在一个示例性的可信数字身份ctid网证解码芯片2中,其内部电路包括:图像信号处理器单元201、中央处理器单元202、外围接口单元203、 系统时钟单元204、系统资源单元205、调试接口单元206、外部设备控制器单元207、安全系统单元208以及内存控制器单元209。
55.图像信号处理器单元201包括mipi (mobile industry processor interface)模块和dvp(digital video port)模块。
56.中央处理器单元202包括arm内核的处理器模块。
57.外围接口单元203包括i2c(inter-integrated circuit)模块、i2s(interic sound bus)模块、ssi(synchronous serial interface)模块、uart(universal asynchronous receiver-transmitter)模块、adc(analog-to-digital converter)模块、pwm(pulse width modulation)模块以及gpio(general purpose input output)模块。
58.系统时钟单元204包括16mhz时钟模块、32.768mhz时钟模块以及pll(phase locked loop)模块。
59.系统资源单元205包括timer/rtc(real-time clock)模块、wdg(watchdog)模块、scanacc模块、dma(direct memory access)模块、rom(read only memory)模块以及sram(static random access memory)模块。
60.调试接口单元206包括jtag((joint test action group)模块。
61.外部设备控制器单元207包括usb otg(usb on-the-go)模块、lcdc(lcd controller)模块以及qspi(quad serial peripheral interface) flash controller模块。
62.安全系统单元208包括efuse(electronic fuse)/chid(chip id)模块、tamper模块、uac(user account control)/aes(advanced encryption standard)模块以及tpz(数据访问防越权)模块。
63.内存控制器单元209包括lpddr(low power double data rate) controller模块。
64.可以理解的是,前述的数据码词输出单元211采用外围接口单元203的一个或若干个接口管脚,与外部设备相连。前述的格式信息输出单元231采用外围接口单元203的一个或若干个接口管脚,与外部设备相连。前述的版本信息输出单元232采用外围接口单元203的一个或若干个接口管脚,与外部设备相连。前述的纠错码输出单元233采用外围接口单元203的一个或若干个接口管脚,与外部设备相连。前述的选择开关单元241采用外围接口单
元203的一个或若干个接口管脚,与外部设备相连。
65.参见图6,图6示意出本发明的可信数字身份ctid网证解码芯片实施的封装。举例而言,芯片2采用一个输入管脚uart0_rx与外部相连,接收待解码信号。数据码词输出单元211采用了一个输出管脚uart0_tx与外部相连,输出数据码词。格式信息输出单元231采用了一个输出管脚uart0_tx与外部相连,输出格式信息。版本信息输出单元232采用了一个输出管脚uart0_tx与外部相连,输出版本信息。纠错码输出单元233采用了一个输出管脚uart0_tx与外部相连,输出纠错码。选择开关单元241采用了一个输入管脚i2s0_sclk与外部相连。也即,格式信息、版本信息、纠错码与数据码词是复用同一个输出管脚予以输出。
66.举例而言,芯片2采用一个输入管脚uart0_rx与外部相连,接收待解码信号。数据码词输出单元211采用了一个输出管脚uart0_tx与外部相连,输出数据码词。格式信息输出单元231采用了一个输出管脚uart1_tx与外部相连,输出格式信息。版本信息输出单元232采用了一个输出管脚uart2_tx与外部相连,输出版本信息。纠错码输出单元233采用了一个输出管脚i2s0_sdout与外部相连,输出纠错码。选择开关单元241采用了一个输入管脚i2s0_sclk与外部相连。也即,格式信息、版本信息、纠错码与数据码词是各自单独用一个输出管脚予以输出。
67.举例而言,芯片2采用一个输入管脚uart0_rx与外部相连,接收待解码信号。数据码词输出单元211采用了一个输出管脚uart0_tx与外部相连,输出数据码词。格式信息输出单元231采用了一个输出管脚uart1_tx与外部相连,输出格式信息。版本信息输出单元232采用了一个输出管脚uart1_tx与外部相连,输出版本信息。纠错码输出单元233采用了一个输出管脚uart1_tx与外部相连,输出纠错码。选择开关单元241采用了一个输入管脚i2s0_sclk与外部相连。也即,格式信息、版本信息与纠错码是复用同一个输出管脚予以输出,数据码词用一个输出管脚予以输出。
68.参见图7,图7示意出本发明的mcu 运行的解码算法的函数构成。本发明的mcu运行有解码算法,通过该算法,能够利用前述的暗码得到水印数据;通过该算法,能够把设定数据加密输出。
69.为了使该算法兼容可信数字身份ctid网证解码和一般码解码(一般码指普通二维码或一维码),可以通过mcu运行的软件实现一个软开关,软开关处于闭合时,该算法针对可信数字身份ctid网证解码;软开关处于断开时,该算法针对一般码。举例而言,软开关可以借助一软开关设置码来控制,也即在mcu识别到软开关设置码时,软开关的状态切换,比如:软开关默认处于闭合状态,在第一次识别到软开关设置码之后,软开关翻转到处于断开状态,在第二次识别到软开关设置码之后,软开关翻转到处于闭合状态。
70.该算法解码得到的数据包括:码词a,码词b,签名码,格式信息,版本信息,纠错码,水印数据以及确认码。这些数据可以分别通过与之相关的函数进行处理。
71.具体而言,该算法包括:码词获取函数701,用于得到码词a和/或码词b;版本信息函数702,用于得到版本信息;纠错码获取函数703,用于得到纠错码;水印数据获取函数704,用于得到水印数据;ctid确认函数705,用于得到当前二维码是否为ctid的确认码;签名码获取函数706,用于得到签名码。
72.为了实现码词的加密输出,该算法还包括:码词加密函数707,用于对码词进行加密;码词解密函数708,用于对加密过的码词进行解密。
73.为了实现水印数据的加密输出,该算法还包括:水印数据加密函数709,用于对水印数据进行加密;水印数据解密函数710,用于对加密过的水印数据进行解密。
74.可以理解的是,为了使该算法的码词和/或水印数据能够选择加密或者明码输出,可以通过mcu运行的软件实现一个共用的软开关或者两个独立的软开关,软开关处于闭合时,该算法输出加密的数据,软开关处于断开时,该算法输出明码。举例而言,软开关可以借助一软开关设置码来控制。
75.结合参见图1和图2,mcu 3运行的解码算法,是借助可信数字身份ctid网证水印鉴定芯片4来得到水印数据的。具体地,mcu 3读取原初数据,对原初数据进行诸如分段处理之类的组织,以及命令可信数字身份ctid网证水印鉴定芯片4。
76.可信数字身份ctid网证水印鉴定芯片4上存有可信数字身份ctid网证水印相关算法:首先、mcu 3通过水印数据获取函数704,将水印获取数据提交可信数字身份ctid网证水印鉴定芯片4确定水印位置;然后、mcu 3通过水印数据获取函数704,根据分段出来的数据及水印位置数据,分解出ctid的水印数据,并通过ctid确认函数705,提交给可信数字身份ctid网证水印鉴定芯片4确认与验证,得到鉴定结果。
77.结合参见图1和图2,mcu 3运行的解码算法,是借助安全加密芯片5来达成码词和/或水印数据的加密处理。具体地,mcu 3将诸如码词和/或水印数据之类的设定数据(也称敏感信息)提交给安全加密芯片5处理,安全加密芯片5返回加密过的数据给到mcu 3进行存取。
78.可以理解的是,加密过的数据的存取可以是内置于mcu 3的存储器,可以是外接于mcu 3的存储器,比如:在板上与mcu 3电连接的存储芯片,又比如:通过外部连接接口6与mcu 3电连接的诸如u盘之类的存储装置。
79.可见,mcu 3上运行的解码算法,通过水印数据获取函数704及ctid确认函数705与可信数字身份ctid网证水印鉴定芯片4的配合,可以从可信数字身份ctid网证解码芯片2提供的暗码中得到水印数据。
80.另外,通过码词加密函数707与安全加密芯片5的配合,可以通过外部连接接口6将码词加密输出;类似地,通过水印数据加密函数709与安全加密芯片5的配合,可以通过外部连接接口6将水印数据加密输出。
81.参见图8,图8示意出本发明的可信数字身份ctid网证数据的国密安全存取方法。本发明的方法主要包括以下措施。
82.801、采用国密sm4算法,对ctid码的数据进行分段加密。
83.802、采用国密sm4算法,对已进行分段加密的数据进行混合加密。
84.803、采用安全保护电路,对安全加密芯片进行保护。
85.以下,对上述措施予以详细说明。
86.前面已经说过,mcu 3运行的解码算法可以得到:码词a、码词b、签名码、格式信息、版本信息、纠错码、水印数据和确认码。可以理解的是,mcu 3运行的程序可以这些分段数据分别通过函数,进行存取处理。
87.国密sm4密码算法是一个分组算法。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。数据解密和数据加密的算法结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
88.值得一提的是,国密sm4密码算法是由国家密码管理部门制订规范,不存在不可公开的密码,保证无国外可利用的后门,将其应用于可信数字身份ctid网证有利于保护中国和中国公民的数据安全。
89.选择国密sm4对上述的分段数据进行加解密,有利于对每一个ctid数据段的存取进行加密。由于各段数据本身具有自身的数据结构,为了进一步防护这些数据结构可能遭受的安全攻击,本发明进一步采取了对已进行分段加密的数据进行混合加密的措施,来对这些数据结构本身进行加密。
90.结合参见图1和图2,本发明的可信数字身份ctid网证数据的国密安全存取方法是由mcu 3、安全加密芯片4和外部连接接口6配合实现。
91.安全加密芯片4选用支持sm4的国密安全芯片,国密sm4算法的密钥存在安全加密芯片4里。为了防护保存在安全加密芯片4中的密钥被窃取,安全加密芯片4中的数据和密钥必须有自毁机制。借由mcu 3和外部连接接口6,可以对保存在安全加密芯片4中的密钥进行远程更新。
92.可以理解的是,用来对安全加密芯片4进行保护的安全保护电路是一个具有防拆和防物理入侵的装置,该装置将安全加密芯片4罩起来。
93.应当理解的是,以上实施例仅用以说明本发明的技术方案,而非对其限制,对本领域技术人员来说,可以对上述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改和替换,都应属于本发明所附权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1