CN106789078A - 一种基于ahb总线的数字签名认证*** - Google Patents
一种基于ahb总线的数字签名认证*** Download PDFInfo
- Publication number
- CN106789078A CN106789078A CN201611249700.XA CN201611249700A CN106789078A CN 106789078 A CN106789078 A CN 106789078A CN 201611249700 A CN201611249700 A CN 201611249700A CN 106789078 A CN106789078 A CN 106789078A
- Authority
- CN
- China
- Prior art keywords
- cpu
- module
- algorithms
- safety caculation
- data
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
- H04L9/3247—Cryptographic 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 involving digital signatures
- H04L9/3249—Cryptographic 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 involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于AHB总线的数字签名认证***,其特征在于在AHB总线上加挂了安全计算模块和DMA模块,所述安全计算模块包括由硬件实现的SHA256算法和RSA1024算法,CPU可通过AHB访问和控制安全计算模块;所述DMA模块由CPU控制,实现将SRAM上的数据通过DMA通道搬移到安全计算模块;SHA256算法和\或RSA1024算法完成对搬移到安全计算模块的数据进行数字签名或签名校验,并将结果回传给到CPU。本发明通过在AHB总线中设置硬件实现的数字签名认证模块,快速完成签名认证,在保证数据通讯的实时性的同时保证了数据安全性,提高了SOC***的集成灵活性。
Description
技术领域
本发明涉及数据通讯安全领域,尤其涉及一种基于AHB总线的数字签名认证***。
背景技术
信息的真实性和完整性对信息安全至关重要,对自主可控的SOC***设计也尤为重要。数字签名和签名认证是一种被广泛应用的认证技术,用于确认信息在传送或存储过程中未被篡改过,确保信息的真实性。其实现方式是把散列函数和公开密钥算法结合起来,发送方从报文文本中生成一个散列值,并用自己的私钥对这个散列值进行加密,形成发送方的数字签名;然后,将这个数字签名作为报文的附件和报文一起发送给报文的接收方;报文的接收方首先从接收到的原始报文中计算出散列值,接着再用发送方的公开密钥来对报文附加的数字签名进行解密,通过比较计算出的散列值和解密结果,确认信息的真实性。
图1是现有SOC***签名认证***框图,内部存储器SRAM用于存储需要做签名认证的数据内容,其内容包括消息Message,RSA公钥Public Key和数字签名Signature。中央处理器CPU负责执行签名认证算法:首先需要从SRAM中读取原始数据并执行SHA256算法获得原始数据的摘要Digest_M。然后从SRAM中读取RSA公钥和数字签名并执行RSA1024算法获得签名的解密结果Digest_S,最后通过比较Digest_M和Digest_S判断原始数据的真实性。CPU需要频繁地访问SRAM获取数据,同时还要顺序执行复杂的SHA256和RSA1024算法,由于SHA256和RSA1024算法的复杂性,使得软件设计难度很大,而且CPU过于频繁地访问SRAM使得认证方案的实时性差。
发明内容
针对以上缺陷,本发明目的在于如何降低CPU的负担,在保证数据安全的同时实现实时的数据传送。
为了实现上述目的,本发明提供了一种基于AHB总线的数字签名认证***,其特征在于在AHB总线上加挂了安全计算模块和DMA模块,所述安全计算模块包括由硬件实现的SHA256算法和RSA1024算法,CPU可通过AHB访问和控制安全计算模块;所述DMA模块由CPU控制,实现将SRAM上的数据通过DMA通道搬移到安全计算模块;SHA256算法和\或RSA1024算法完成对搬移到安全计算模块的数据进行数字签名或签名校验,并将结果回传给到CPU。
所述的AHB总线的数字签名认证***,其特征在于SHA256算法和RSA1024算法顺序执行完成数字签名,并行执行完成签名校验。
所述的AHB总线的数字签名认证***,其特征在于AHB总线签名总线认证流程如下:
步骤3.1:CPU完成对安全计算模块初始化,安全计算模块处于准备接收数据状态;
步骤3.2:CPU将消息长度配置到安全计算模块内部寄存器中;
步骤3.3:CPU使能DMA模块,将SRAM中的待签名认证的数据搬移到安全计算模块;CPU通过中断方式或主动查询方式判断数据搬移是否完成;
步骤3.4DMA在搬运过程中,安全计算模块在收到数据的同时即开始RSA1024运算和SHA256运算。
步骤3.5:CPU通过中断方式或主动查询方式判断签名认证是否完成;签名认证完成后,CPU获取签名认证结果,CPU可选择是否读取RSA1024算法和SHA算法运算结果。
4.根据权利要求2或3所述的AHB总线的数字签名认证***,其特征在于AHB总线数字签名流程如下:
步骤4.1:CPU将需要签名的数据加载到SRAM中;
步骤4.2:CPU完成对安全计算模块初始化,使能安全计算模块的SHA256算法运算功能,安全计算模块处于准备接收数据状态;
步骤4.3:CPU将消息长度配置到安全计算模块中的内部寄存器中,供SHA256运算使用;
步骤4.4:CPU使能DMA将SRAM中的需要签名的数据搬移到安全计算模块中;
步骤4.5:CPU通过中断方式或主动查询方式判断数据搬移是否完成;
步骤4.6:当数据搬移完成后,安全计算模块启动SHA256算法的运算;CPU通过中断方式或主动查询方式判断运算是否完成;
步骤4.7:当SHA256算法的运算完成后,将运算结果返回给CPU;
步骤4.8:CPU将需要做数字签名的私钥配置到安全计算模块的内部寄存器,使能RSA1024算法的运算,CPU通过中断方式或主动查询方式判断运算是否完成;
步骤4.9:RSA1024算法的运算完成后,将计数获得的签名发送给CPU,完成数字签名。
本发明通过在AHB总线中设置硬件实现的数字签名认证模块,快速完成签名认证,在保证数据通讯的实时性的同上保证了数据安全性,提高了SOC***的集成灵活性。
附图说明
图1是现有SOC***签名认证***框图;
图2是基于AHB总线的签名认证***框图;
图3是基于AHB总线的签名认证流程图;
图4是基于AHB总线的数字签名的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2是基于AHB总线的签名认证***框图;在AHB总线上加挂了安全计算模块和DMA模块,所述安全计算模块包括由硬件实现的SHA256算法和RSA1024算法,CPU可通过AHB访问和控制安全计算模块;所述DMA模块由CPU控制,实现将SRAM上的数据通过DMA通道搬移到安全计算模块;SHA256算法和\或RSA1024算法完成对搬移到安全计算模块的数据进行数字签名或签名校验,并将结果回传给到CPU。其中SHA256算法和RSA1024算法顺序执行完成数字签名,并行执行完成签名校验。
图3是基于AHB总线的签名认证流程图;AHB总线签名总线认证流程如下:
步骤3.1:CPU完成对安全计算模块初始化,安全计算模块处于准备接收数据状态;
步骤3.2:CPU将消息长度配置到安全计算模块内部寄存器中;
步骤3.3:CPU使能DMA模块,将SRAM中的待签名认证的数据搬移到安全计算模块;CPU通过中断方式或主动查询方式判断数据搬移是否完成;
步骤3.4DMA在搬运过程中,安全计算模块在收到数据的同时即开始RSA1024运算和SHA256运算。
步骤3.5:CPU通过中断方式或主动查询方式判断签名认证是否完成;签名认证完成后,CPU获取签名认证结果,CPU可选择是否读取RSA1024算法和SHA算法运算结果。
图4是基于AHB总线的数字签名的流程图,AHB总线数字签名流程如下:
步骤4.1:CPU将需要签名的数据加载到SRAM中;
步骤4.2:CPU完成对安全计算模块初始化,使能安全计算模块的SHA256算法运算功能,安全计算模块处于准备接收数据状态;
步骤4.3:CPU将消息长度配置到安全计算模块中的内部寄存器中,供SHA256运算使用;
步骤4.4:CPU使能DMA将SRAM中的需要签名的数据搬移到安全计算模块中;
步骤4.5:CPU通过中断方式或主动查询方式判断数据搬移是否完成;
步骤4.6:当数据搬移完成后,安全计算模块启动SHA256算法的运算;CPU通过中断方式或主动查询方式判断运算是否完成;
步骤4.7:当SHA256算法的运算完成后,将运算结果返回给CPU;
步骤4.8:CPU将需要做数字签名的私钥配置到安全计算模块的内部寄存器,使能RSA1024算法的运算,CPU通过中断方式或主动查询方式判断运算是否完成;
步骤4.9:RSA1024算法的运算完成后,将计数获得的签名发送给CPU,完成数字签名
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (4)
1.一种基于AHB总线的数字签名认证***,其特征在于在AHB总线上加挂了安全计算模块和DMA模块,所述安全计算模块包括由硬件实现的SHA256算法和RSA1024算法,CPU可通过AHB访问和控制安全计算模块;所述DMA模块由CPU控制,实现将SRAM上的数据通过DMA通道搬移到安全计算模块;SHA256算法和\或RSA1024算法完成对搬移到安全计算模块的数据进行数字签名或签名校验,并将结果回传给到CPU。
2.根据权利要求1所述的AHB总线的数字签名认证***,其特征在于SHA256算法和RSA1024算法顺序执行完成数字签名,并行执行完成签名校验。
3.根据权利要求2所述的AHB总线的数字签名认证***,其特征在于AHB总线签名总线认证流程如下:
步骤3.1:CPU完成对安全计算模块初始化,安全计算模块处于准备接收数据状态;
步骤3.2:CPU将消息长度配置到安全计算模块内部寄存器中;
步骤3.3:CPU使能DMA模块,将SRAM中的待签名认证的数据搬移到安全计算模块;CPU通过中断方式或主动查询方式判断数据搬移是否完成;
步骤3.4 DMA在搬运过程中,安全计算模块在收到数据的同时即开始RSA1024运算和SHA256运算。
步骤3.5:CPU通过中断方式或主动查询方式判断签名认证是否完成;签名认证完成后,CPU获取签名认证结果,CPU可选择是否读取RSA1024算法和SHA算法运算结果。
4.根据权利要求2或3所述的AHB总线的数字签名认证***,其特征在于AHB总线数字签名流程如下:
步骤4.1:CPU将需要签名的数据加载到SRAM中;
步骤4.2:CPU完成对安全计算模块初始化,使能安全计算模块的SHA256算法运算功能,安全计算模块处于准备接收数据状态;
步骤4.3:CPU将消息长度配置到安全计算模块中的内部寄存器中,供SHA256运算使用;
步骤4.4:CPU使能DMA将SRAM中的需要签名的数据搬移到安全计算模块中;
步骤4.5:CPU通过中断方式或主动查询方式判断数据搬移是否完成;
步骤4.6:当数据搬移完成后,安全计算模块启动SHA256算法的运算;CPU通过中断方式或主动查询方式判断运算是否完成;
步骤4.7:当SHA256算法的运算完成后,将运算结果返回给CPU;
步骤4.8:CPU将需要做数字签名的私钥配置到安全计算模块的内部寄存器,使能RSA1024算法的运算,CPU通过中断方式或主动查询方式判断运算是否完成;
步骤4.9:RSA1024算法的运算完成后,将计数获得的签名发送给CPU,完成数字签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611249700.XA CN106789078A (zh) | 2016-12-29 | 2016-12-29 | 一种基于ahb总线的数字签名认证*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611249700.XA CN106789078A (zh) | 2016-12-29 | 2016-12-29 | 一种基于ahb总线的数字签名认证*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106789078A true CN106789078A (zh) | 2017-05-31 |
Family
ID=58928289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611249700.XA Pending CN106789078A (zh) | 2016-12-29 | 2016-12-29 | 一种基于ahb总线的数字签名认证*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106789078A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241784A (zh) * | 2018-08-16 | 2019-01-18 | 深圳忆联信息***有限公司 | 一种ssd的国密sm2签名验证方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049710A (zh) * | 2012-12-13 | 2013-04-17 | 国家广播电影电视总局广播科学研究院 | 用于sm2数字签名验证算法的fpga芯片 |
CN103336920A (zh) * | 2013-05-29 | 2013-10-02 | 东南大学 | 用于无线传感网络soc芯片的安全*** |
CN104750639A (zh) * | 2015-04-09 | 2015-07-01 | 东南大学 | 基于amba总线的增强型dma控制器 |
-
2016
- 2016-12-29 CN CN201611249700.XA patent/CN106789078A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049710A (zh) * | 2012-12-13 | 2013-04-17 | 国家广播电影电视总局广播科学研究院 | 用于sm2数字签名验证算法的fpga芯片 |
CN103336920A (zh) * | 2013-05-29 | 2013-10-02 | 东南大学 | 用于无线传感网络soc芯片的安全*** |
CN104750639A (zh) * | 2015-04-09 | 2015-07-01 | 东南大学 | 基于amba总线的增强型dma控制器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241784A (zh) * | 2018-08-16 | 2019-01-18 | 深圳忆联信息***有限公司 | 一种ssd的国密sm2签名验证方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107079034B (zh) | 一种身份认证的方法、终端设备、认证服务器及电子设备 | |
EP3319292A1 (en) | Method for checking security based on biological features, client and server | |
CN104008351B (zh) | Windows应用程序完整性校验***、方法及装置 | |
CN107844946A (zh) | 一种电子合同签署的方法、装置及服务器 | |
CN107683489A (zh) | 用于在受信任执行环境中执行加密操作的***、装置和方法 | |
CN109190362B (zh) | 安全通信方法及相关设备 | |
WO2020038137A1 (zh) | 二维码生成方法、数据处理方法、装置及服务器 | |
CN105227319A (zh) | 一种验证服务器的方法及装置 | |
CN101789067A (zh) | 电子文档签名保护方法和*** | |
US9280650B2 (en) | Authenticate a fingerprint image | |
CN108540457B (zh) | 一种安全设备及其生物认证控制方法和装置 | |
CN110955918A (zh) | 一种基于RSA加密sha-256数字签名的合同文本保护方法 | |
CN104052606A (zh) | 数字签名、签名认证装置以及数字签名方法 | |
US20200233947A1 (en) | System and method for facilitating authentication via a short-range wireless token | |
CN109586920A (zh) | 一种可信验证方法及装置 | |
CN108985409B (zh) | 身份证信息读取方法、装置及电子设备 | |
US20170257213A1 (en) | Method and Apparatus for Managing Application Identifier | |
CN102752306B (zh) | 基于标识的数字媒体管理方法及*** | |
CN104077511B (zh) | 一种基于组合公钥认证的非接触式处理器卡及使用方法 | |
CN103220146A (zh) | 基于多变量公钥密码体制的零知识数字签名方法 | |
CN106953731B (zh) | 一种终端管理员的认证方法及*** | |
CN101667255B (zh) | 一种射频识别的安全认证方法、装置及*** | |
CN111479265A (zh) | 信息传播方法、装置、计算机设备和存储介质 | |
CN106982214A (zh) | 一种采用nfc技术的云桌面安全登录身份卡及云桌面安全登录方法 | |
CN107026730A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |