CN109672519A - 一种密码装置及其数据加解密方法 - Google Patents

一种密码装置及其数据加解密方法 Download PDF

Info

Publication number
CN109672519A
CN109672519A CN201811210192.3A CN201811210192A CN109672519A CN 109672519 A CN109672519 A CN 109672519A CN 201811210192 A CN201811210192 A CN 201811210192A CN 109672519 A CN109672519 A CN 109672519A
Authority
CN
China
Prior art keywords
cryptographic algorithm
cryptographic
algorithm
object code
memory
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
CN201811210192.3A
Other languages
English (en)
Other versions
CN109672519B (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.)
Wuhan Institute Of Ship Communication (china Shipbuilding Industry Corp No 722 Institute)
Original Assignee
Wuhan Institute Of Ship Communication (china Shipbuilding Industry Corp No 722 Institute)
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 Wuhan Institute Of Ship Communication (china Shipbuilding Industry Corp No 722 Institute) filed Critical Wuhan Institute Of Ship Communication (china Shipbuilding Industry Corp No 722 Institute)
Priority to CN201811210192.3A priority Critical patent/CN109672519B/zh
Publication of CN109672519A publication Critical patent/CN109672519A/zh
Application granted granted Critical
Publication of CN109672519B publication Critical patent/CN109672519B/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种密码装置及其数据加解密方法,属于信息安全技术领域。方法包括:密码装置的主控处理器接收移动终端发送的密码服务指令,密码服务指令包括密码算法标识,密码装置为硬件密码装置且安装在移动终端中;当密码装置的算法协处理器的内存中存储有密码算法的目标代码、且密码算法的目标代码的密码算法标识不为密码服务指令包括的密码算法标识时,从密码装置的外存中提取密码服务指令包括的密码算法标识指示的密码算法的目标代码,并将提取的密码算法的目标代码加载至内存,外存中存储有至少两套密码算法的目标代码;控制算法协处理器通过内存中的密码算法的目标代码对待解密数据进行解密或者对待加密数据进行加密。

Description

一种密码装置及其数据加解密方法
技术领域
本发明涉及信息安全技术领域,特别涉及一种密码装置及其数据加解密方法。
背景技术
在采用移动终端进行通信的过程中,用户个人身份信息、语音、图像、以及视频等数据存在泄露的风险。为提供通信安全保障,在移动终端中内置密码装置(也称加密装置)。密码装置是一种保密工具,用于通过密码算法实现数据加、解密的基本密码操作。常见的密码装置包括硬件密码装置。
硬件密码装置采用特定硬件电路或专用密码芯片实现数据加解密。常规的硬件密码装置所提供的数据加解密方法流程包括,硬件密码装置接收加密指令或者解密指令,加密指令包括待加密数据,解密指令包括待解密数据;在加密指令的指示下通过内存中密码算法代码对待加密数据进行加密,或者,在解密指令的指示下通过内存中密码算法代码对待解密数据进行解密。其中,密码算法代码是硬件密码装置在接收加密指令和解密指令之前加载至内存的。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
常规的硬件密码装置仅提供一种密码算法进行数据加解密,移动终端适用需要一种密码算法加解密的应用场景,而需要一种密码算法加解密的应用场景较少,这限制了移动终端应用到更多的场景。
发明内容
本发明实施例提供了一种密码装置及其数据加解密方法,能够提供多套密码算法的加解密,满足多安全等级的密码服务需求。所述技术方案如下:
一方面,提供了一种密码装置的数据加解密方法,所述方法包括:
密码装置的主控处理器接收移动终端发送的密码服务指令,所述密码服务指令包括待加密数据和密码算法标识,或者,所述密码服务指令包括待解密数据和密码算法标识,所述密码装置为硬件密码装置且安装在所述移动终端中;
当所述密码装置的算法协处理器的内存中存储有密码算法的目标代码、且所述密码算法的目标代码的密码算法标识不为所述密码服务指令包括的密码算法标识时,从所述密码装置的外存中提取所述密码服务指令包括的密码算法标识指示的密码算法的目标代码,并将提取的密码算法的目标代码加载至所述内存,所述外存中存储有至少两套密码算法的目标代码;
控制所述算法协处理器通过所述内存中的密码算法的目标代码对所述待解密数据进行解密或者对所述待加密数据进行加密。
可选地,所述方法还包括:
当所述密码装置的算法协处理器的内存中未存储所述密码算法的目标代码时,从所述外存中提取所述密码服务指令包括的密码算法标识指示的密码算法的目标代码,并将提取的密码算法的目标代码加载至所述内存;
控制所述算法协处理器通过所述内存中的密码算法的目标代码对所述待解密数据进行解密或者对所述待加密数据进行加密。
可选地,所述方法还包括:
在所述密码装置的算法协处理器的内存中未存储所述密码算法的目标代码时,控制所述算法协处理器的内存中的代码存储空间不被非密码算法的目标代码占用,所述代码存储空间用于存储加载的密码算法的目标代码。
可选地,所述代码存储空间包括至少一个子空间,所述子空间用于存储密码算法的目标代码,所述子空间的数量小于或者等于所述外存中存储的密码算法的数量;
所述将提取的密码算法的目标代码加载至所述内存,包括:
从子空间标识与密码算法标识的对应关系中,确定提取的密码算法的目标代码对应的子空间标识;
将所述提取的密码算法的目标代码加载至确定的子空间标识指示的子空间。
可选地,所述外存中存储的密码算法的目标代码是所述主控处理器通过密码算法的源代码生成的。
另一方面,提供了一种密码装置,所述密码装置包括:
主控处理器;
算法协处理器;
外存;
所述外存用于,存储至少两套密码算法的目标代码;
所述主控处理器用于,接收移动终端发送的密码服务指令,所述密码服务指令包括待加密数据和密码算法标识,或者,所述密码服务指令包括待解密数据和密码算法标识,所述密码装置为硬件密码装置且安装在所述移动终端中;当所述算法协处理器的内存中存储有密码算法的目标代码、且所述密码算法的目标代码的密码算法标识不为所述密码服务指令包括的密码算法标识时,从所述外存中提取所述密码服务指令包括的密码算法标识指示的密码算法的目标代码,并将提取的密码算法的目标代码加载至所述内存;
所述算法协处理器用于,在所述主控处理器将提取的密码算法的目标代码加载至所述内存之后,通过所述内存中的密码算法的目标代码对所述待解密数据进行解密或者对所述待加密数据进行加密。
可选地,所述主控处理器还用于,当所述算法协处理器的内存中未存储密码算法的目标代码时,从所述外存中提取所述密码服务指令包括的密码算法标识指示的密码算法的目标代码,并将提取的密码算法的目标代码加载至所述内存;
所述算法协处理器还用于,通过所述内存中的密码算法的目标代码对所述待解密数据进行解密或者对所述待加密数据进行加密。
可选地,所述主控处理器还用于,
在所述算法协处理器的内存中未存储密码算法的目标代码时,控制所述算法协处理器的内存中的代码存储空间不被非密码算法的目标代码占用,所述代码存储空间用于存储加载的密码算法的目标代码。
可选地,所述代码存储空间包括至少一个子空间,所述子空间用于存储密码算法的目标代码,所述子空间的数量小于或者等于所述外存中存储的密码算法的数量;
所述所述主控处理器用于,从子空间标识与密码算法标识的对应关系中,确定提取的密码算法的目标代码对应的子空间标识,将所述提取的密码算法的目标代码加载至确定的子空间标识指示的子空间。
可选地,所述外存中存储的密码算法的目标代码是所述主控处理器通过密码算法的源代码生成的。
本发明实施例提供的技术方案带来的有益效果是:
通过主控处理器接收移动终端发送的密码服务指令,当密码装置的算法协处理器的内存中存储有密码算法的目标代码、且密码算法的目标代码的密码算法标识不为密码服务指令包括的密码算法标识时,从密码装置的外存中提取密码服务指令包括的密码算法标识指示的密码算法的目标代码,主控处理器能够获得密码服务指令包括的密码算法标识指示的密码算法的目标代码;主控处理器将提取的密码算法的目标代码加载至内存,并控制算法协处理器通过内存中的密码算法的目标代码对待解密数据进行解密或者对待加密数据进行加密,从而实现了按照密码服务指令包括的密码算法标识指示的密码算法对数据进行加解密操作;由于外存中存储有至少两套密码算法的目标代码,当密码服务指令包括的密码算法标识得到更新,主控处理器能够从外存获得更新后的密码算法的目标代码,并按照更新后的密码算法对数据进行加解密操作,这样,密码装置可以提供多套密码算法的加解密,满足移动终端多安全等级的密码服务需求,移动终端可以适用一种或多种密码算法的应用场景,很大地扩展了移动终端的应用场景。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的硬件密码装置的结构示意图;
图2是本发明实施例提供的标准快闪存储卡的结构框图;
图3是图2示出的标准快闪存储卡的工作流程示意图;
图4是本发明实施例提供的硬件密码装置的工作原理示意图;
图5是本发明实施例提供的一种密码装置的数据加解密方法的流程图;
图6是本发明实施例提供的一种密码装置的数据加解密方法的流程图;
图7是本发明实施例提供的一种密码装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为便于理解本发明实施例提供的技术方案,首先对密码装置进行介绍。示例性地,密码装置可以为硬件密码装置,该硬件密码装置可以是专用密码芯片。图1为一示例性地的硬件密码装置的结构示意图。参见图1,该密码装置包括主控处理器1、算法协处理器2、外存3、以及通信接口4。
主控处理器1用于控制整个密码装置的所有事务运行。
算法协处理器2用于在主控处理器1的控制下,单独处理运行密码算法。
外存3可以是片内FLASH(闪存)。
通信接口4可以包括SPI(Serial Peripheral Interface,串行外设接口)主/从接口、USB(Universal Serial Bus,通用串行总线)3.0/2.0从设备接口、通用GPIO(GeneralPurpose Input Output,通用输入/输出)接口、UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)异步通信接口、以及JTAG(Joint Test Action Group,联合测试工作组)接口等。
参见图1,该密码装置还可以包括片内SRAM(Static Random Access Memory,静态随机存取存储器)5、DMA(Direct Memory Access,直接内存存取)控制器6、WDT(WatchdogTimer,看门狗)7、功耗管理模块8和随机数发生器9。
其中,该密码装置可以安装在移动终端中。示例性地,移动终端包括手机、卫星手持终端、以及平板等。受移动终端的安装空间、功耗、接口等条件限制,密码装置必须满足低功耗、小型化、芯片化、接口标准化等要求。基于此,密码装置可以封装在基于SoC(Systemon Chip,片上系统)架构的TF(Trans-flash,快闪存储)卡或者SD(Secure DigitalMemory,安全数字存储)卡中。当密码装置采用标准TF卡封装时,能够满足芯片化、低功耗、小型化要求。图2为标准TF卡的结构框图。如图2所示,标准TF卡80还包括多个引脚801(引脚PIN1-PIN8)。图3为图2示出的标准TF卡的工作流程示意图。参见图3,移动终端的上层应用90通过标准TF卡接口802和TF卡驱动程序803与标准TF卡80通信,其他通信遵循TF卡协议。在标准TF卡80内部,TF卡驱动程序803与主控芯片1之间的通信过程也遵循TF卡协议。
这样,密码装置内嵌安装于便携智能移动终端,在军队及党政移动通信领域得到了广泛应用。该类密码装置芯片化(SoC芯片)内置算法引擎,密码运算性能较高,封装严密,可以防篡改、防探测,安全保障性更高。但是,此类便携密码装置存在资源受限、计算能力受限的问题,且使用的密码算法引擎一般都已固化,不能支持多套密码算法的动态加载,不能满足智能移动终端用户集团内部域保密互通、跨集团域保密互通等多域多安全等级密码服务需求。为了解决该技术问题,本发明实施例提供了一种密码装置的数据加解密方法,该数据加解密方法不改变硬件密码装置的结构,基于硬件密码装置有限的硬件资源,能够设计并实现了密码算法动态加载功能,密码算法更换简单、便捷,提高了密码装置密码管理、综合维护保障能力;并且,在资源受限的平台上,设计按需加载机制,实现了域内互通密码算法、跨域互通密码算法等多套密码算法的动态重构,可为用户提供多域多安全等级密码服务能力。
图4为图1示出的硬件密码装置实现该数据加解密方法的工作原理示意图。如图4所示,外存3中存储有多套密码算法的目标代码,每套密码算法一般包括业务算法、管理算法、杂凑算法和公钥算法等。主控处理器1根据移动终端的上层应用90的密码服务需求,从外存3调度切换加载第1套或第N套密码算法至算法协处理器2中运行,完成密码算法的动态重构。针对每一套密码算法,算法协处理器2的内存中提供多个RAM(Random AccessMemory,随机存取存储器)单元,分别执行业务算法、管理算法、杂凑算法和公钥算法等。下面将详细介绍本发明实施例提供的技术方案。
图5示出了本发明实施例提供的一种密码装置的数据加解密方法。该密码装置可以是图1示出的密码装置,该方法由图1示出的密码装置的主控处理器执行。参见图5,该方法流程包括如下步骤。
步骤101、接收移动终端发送的密码服务指令。
其中,移动终端向密码装置发送的密码服务指令可以是加密指令,也可以是解密指令。当密码服务指令为加密指令时,密码服务指令包括待加密数据和密码算法标识,当密码服务指令为解密指令时,密码服务指令包括待解密数据和密码算法标识。密码装置为硬件密码装置且安装在移动终端中。
步骤102、确定密码装置的算法协处理器的内存中是否存储有密码算法的目标代码。
当密码装置的算法协处理器的内存中存储有密码算法的目标代码时,执行步骤103。当密码装置的算法协处理器的内存中未存储有密码算法的目标代码时,执行步骤104。
步骤103、确定存储的密码算法的目标代码的密码算法标识是否为密码服务指令包括的密码算法标识。
当存储的密码算法的目标代码的密码算法标识不为密码服务指令包括的密码算法标识时,执行步骤104。当存储的密码算法的目标代码的密码算法标识为密码服务指令包括的密码算法标识时,执行步骤106。
步骤104、从密码装置的外存中提取密码服务指令包括的密码算法标识指示的密码算法的目标代码。
其中,外存可以是图1示出的FLASH。
步骤105、将提取的密码算法的目标代码加载至内存。
其中,外存中存储有至少两套密码算法的目标代码。
步骤106、控制算法协处理器通过内存中的密码算法的目标代码对待解密数据进行解密或者对待加密数据进行加密。
通过主控处理器接收移动终端发送的密码服务指令,当密码装置的算法协处理器的内存中存储有密码算法的目标代码、且密码算法的目标代码的密码算法标识不为密码服务指令包括的密码算法标识时,从密码装置的外存中提取密码服务指令包括的密码算法标识指示的密码算法的目标代码,主控处理器能够获得密码服务指令包括的密码算法标识指示的密码算法的目标代码;主控处理器将提取的密码算法的目标代码加载至内存,并控制算法协处理器通过内存中的密码算法的目标代码对待解密数据进行解密或者对待加密数据进行加密,从而实现了按照密码服务指令包括的密码算法标识指示的密码算法对数据进行加解密操作;由于外存中存储有至少两套密码算法的目标代码,当密码服务指令包括的密码算法标识得到更新,主控处理器能够从外存获得更新后的密码算法的目标代码,并按照更新后的密码算法对数据进行加解密操作,这样,密码装置可以提供多套密码算法的加解密,满足移动终端多安全等级的密码服务需求,移动终端可以适用一种或多种密码算法的应用场景,很大地扩展了移动终端的应用场景。
在步骤102中,密码算法的目标代码存储在内存中的代码存储空间。示例性地,该代码存储空间的开始地址为算法协处理器的内存的起始地址。
其中,代码存储空间包括至少一个子空间。子空间用于存储密码算法的目标代码。子空间的长度与密码算法的复杂程度相关,一般应设为密码算法的目标代码长度的1.5倍左右。
其中,子空间的数量小于或者等于外存中存储的密码算法的数量。当子空间的数量小于密码算法的数量时,同一子空间对应多个密码算法的目标代码。
示例性地,在步骤102中,内存中存储的密码算法的目标代码是主控处理器通过密码算法的源代码生成的。主控处理器在步骤101之前通过密码算法的源代码生成密码算法的目标代码。具体地,主控处理器可以在密码装置开始提供密码服务之前生成密码算法的目标代码。其中,密码装置在安装到移动终端之后且移动终端上电启动后开始提供密码服务。
密码算法的目标代码的生成过程包括如下步骤。
第一步、主控处理器获取各个密码算法的源代码。
第二步、主控处理器分别将各个密码算法的源代码分配至各个密码算法对应的子空间,编译生成各个密码算法的目标代码。
第三步、主控处理器提取各个密码算法的目标代码至外存中。
其中,主控处理器可以根据调试平台的指令,从调试平台获取密码算法的源代码,并在调试平台的指令下将各个密码算法的源代码分配至各个密码算法对应的子空间,编译生成各个密码算法的目标代码。调试平台为密码装置制造商建立的硬件平台。主控处理器在提取各个密码算法的目标代码之后,分别按照各个密码算法对应的密码算法标识,对提取的各个密码算法的目标代码进行命名。在命名之后,将提取的各个密码算法的目标代码存储至FLASH中。
示例性地,在步骤102中,在密码装置的算法协处理器的内存中未存储密码算法的目标代码时,主控处理器控制算法协处理器的内存中的代码存储空间不被非密码算法的目标代码占用。其中,代码存储空间用于存储加载的密码算法的目标代码。具体地,在密码装置开始提供密码服务之后,主控处理器控制算法协处理器的内存中的代码存储空间不被非密码算法的目标代码占用。
由于算法协处理器的内存是暂时存放算法协处理器中的运算数据,而算法协处理器除了运行密码算法进行数据的加解密之外,还需要执行其他密码服务,因此,为了保证数据的加解密操作及时执行,在算法协处理器的内存中未存储密码算法的目标代码时,主控处理器控制算法协处理器的内存中的代码存储空间不被非密码算法的目标代码占用。具体地,主控处理器可以将空指令填充至代码存储空间,使得密码装置启动后不会主动分配该代码存储空间。只有密码装置执行数据加解密操作时,才会将密码算法加载到这一特定的内存中运行。
受密码芯片资源限制,算法协处理器一般可同时加载3或4个密码算法。也就是说,算法协处理器可以同时运行3或4个密码算法。为了保证各个密码算法能够准确的运行,各个密码算法对应固定的子空间。基于此,示例性地,步骤105包括:首先、主控处理器从子空间标识与密码算法标识的对应关系中,确定提取的密码算法的目标代码对应的子空间标识。其次、主控处理器将提取的密码算法的目标代码加载至确定的子空间标识指示的子空间。
示例性地,主控处理器中存储有一张算法加载图表,表中记录了子空间标识与密码算法标识的对应关系。
示例性地,参见图6,该方法还包括步骤107。
步骤107、向移动终端反馈加、解密后的数据。
本发明方法可以很好地实现同一密码装置上多套密码算法的的动态重构更新。比如,当移动终端在国内工作时,根据密码应用策略选择加载第一密码算法;当移动终端在国外工作时,则根据密码应用策略选择加载第二密码算法。这样,能够满足用户不同安全域、不同安全等级的密码服务需求。
以下结合一示例性应用场景对本发明实施例提供的方法做进一步说明。在该示例性场景中,该密码装置可以为TF卡密码模块。TF卡密码模块可以采用CK803芯片为主控处理器。
主控处理器通过配置算法协处理器,在算法协处理器的内存中单独指定一段缓冲区,其起始地址到结束地址为:0x00000000-0x00004000,作为密码算法的预留内存缓冲区(即代码存储空间)。具体可以在主控处理器的配置文件中编写预留内存缓冲区的关键代码。有多个密码算法时需标定每个密码算法在预留内存缓冲区的入口地址。例如,密码算法可以包括AES算法和3DES算法,可以分别标定AES算法和3DES算法的入口地址均为0x00000000。这时,代码存储空间仅包括一个子空间,即0x00000000-0x00004000。
密码算法由算法协处理器编译运行,算法协处理器通过预留内存缓冲区来编译生成密码算法的可执行代码(目标代码)。主控处理器在密码装置提供密码服务之前,依次将待实现的密码算法的程序源代码分配至预留内存缓冲区,编译生成密码算法的目标代码,提取出密码算法的目标代码并按算法名称予以标定,并保存在密码装置FLASH存储区。
算法协处理器通过接口函数来运行密码算法,以执行数据的加解密。预先编写调用预留内存缓冲区内存空间的密码算法的接口函数。示例性地,通过AesInit()、AesEnc()和AesDec()接口函数来实现对AES算法的调用。接口函数AesInit()、AesEnc()和AesDec()分别实现AES算法的初始化、加密和解密过程。通过3DesInit()、3DesEnc()和3DesDec()接口函数来实现对3DES算法的调用。接口函数3DesInit()、3DesEnc()和3DesDec()分别实现3DES算法的初始化、加密和解密过程。将预留内存缓冲区划分为三部分,第一部分、第二部分和第三部分。其中,接口函数AesInit()和3DesInit()分别与第一部分对应,接口函数AesEnc()和3DesEnc()分别与第二部分对应,接口函数AesDec()和3DesDec()分别与第三部分对应。
当任何一种密码算法均未加载时,主控处理器将空指令完全填充至预留内存缓冲区的第一部分、第二部分和第三部分中。
当该密码装置需调用AES算法提供加加、解密服务时,从FLASH中加载AES算法目标代码,填充至预留内存缓冲区中,这时,通过调用AesInit()、AesEnc()和AesDec(),将完成AES算法的动态加载。
当密码装置需更换新的密码算法如3DES算法时,从FLASH芯片中加载3DES算法目标代码,将3DES算法目标代码填充至预留内存缓冲区中,这时,通过调用3DesInit()、3DesEnc()和3DesDec(),将完成3DES算法的动态加载,从而实现了不同密码装置密码算法的动态重构。
图7示出了本发明实施例提供的一种密码装置,参见图7,密码装置70包括:主控处理器701、算法协处理器702和外存703。
外存703用于,存储至少两套密码算法的目标代码。
主控处理器701用于,接收移动终端发送的密码服务指令,密码服务指令包括待加密数据和密码算法标识,或者,密码服务指令包括待解密数据和密码算法标识,密码装置为硬件密码装置,密码装置安装在移动终端中;当算法协处理器702的内存中存储有密码算法的目标代码、且密码算法的目标代码的密码算法标识不为密码服务指令包括的密码算法标识时,从外存703中提取密码服务指令包括的密码算法标识指示的密码算法的目标代码,并将提取的密码算法的目标代码加载至内存。
算法协处理器702用于,在主控处理器701将提取的密码算法的目标代码加载至内存之后,通过内存中的密码算法的目标代码对待解密数据进行解密或者对待加密数据进行加密。
示例性地,算法协处理器702还用于,当算法协处理器702的内存中存储有密码算法的目标代码、且密码算法的目标代码的密码算法标识为密码服务指令包括的密码算法标识时,通过内存中的密码算法的目标代码对待解密数据进行解密或者对待加密数据进行加密。
示例性地,主控处理器701还用于,当算法协处理器702的内存中未存储密码算法的目标代码时,从外存703中提取密码服务指令包括的密码算法标识指示的密码算法的目标代码,并将提取的密码算法的目标代码加载至内存。
相应地,算法协处理器702还用于,通过内存中的密码算法的目标代码对待解密数据进行解密或者对待加密数据进行加密。
示例性地,主控处理器701还用于,在算法协处理器702的内存中未存储密码算法的目标代码时,控制算法协处理器702的内存中的代码存储空间不被非密码算法的目标代码占用,代码存储空间用于存储加载的密码算法的目标代码。
示例性地,代码存储空间包括至少一个子空间,子空间用于存储密码算法的目标代码,子空间的数量小于或者等于外存中存储的密码算法的数量。主控处理器701用于,从子空间标识与密码算法标识的对应关系中,确定提取的密码算法的目标代码对应的子空间标识;将提取的密码算法的目标代码加载至确定的子空间标识指示的子空间。
示例性地,外存703中存储的密码算法的目标代码是主控处理器701通过密码算法的源代码生成的。
需要说明的是:上述实施例提供的密码装置在进行数据加解密方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的密码装置与密码装置的数据加解密方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种密码装置的数据加解密方法,其特征在于,所述方法包括:
密码装置的主控处理器接收移动终端发送的密码服务指令,所述密码服务指令包括待加密数据和密码算法标识,或者,所述密码服务指令包括待解密数据和密码算法标识,所述密码装置为硬件密码装置且安装在所述移动终端中;
当所述密码装置的算法协处理器的内存中存储有密码算法的目标代码、且所述密码算法的目标代码的密码算法标识不为所述密码服务指令包括的密码算法标识时,从所述密码装置的外存中提取所述密码服务指令包括的密码算法标识指示的密码算法的目标代码,并将提取的密码算法的目标代码加载至所述内存,所述外存中存储有至少两套密码算法的目标代码;
控制所述算法协处理器通过所述内存中的密码算法的目标代码对所述待解密数据进行解密或者对所述待加密数据进行加密。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述密码装置的算法协处理器的内存中未存储所述密码算法的目标代码时,从所述外存中提取所述密码服务指令包括的密码算法标识指示的密码算法的目标代码,并将提取的密码算法的目标代码加载至所述内存;
控制所述算法协处理器通过所述内存中的密码算法的目标代码对所述待解密数据进行解密或者对所述待加密数据进行加密。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述密码装置的算法协处理器的内存中未存储所述密码算法的目标代码时,控制所述算法协处理器的内存中的代码存储空间不被非密码算法的目标代码占用,所述代码存储空间用于存储加载的密码算法的目标代码。
4.根据权利要求3所述的方法,其特征在于,所述代码存储空间包括至少一个子空间,所述子空间用于存储密码算法的目标代码,所述子空间的数量小于或者等于所述外存中存储的密码算法的数量;
所述将提取的密码算法的目标代码加载至所述内存,包括:
从子空间标识与密码算法标识的对应关系中,确定提取的密码算法的目标代码对应的子空间标识;
将所述提取的密码算法的目标代码加载至确定的子空间标识指示的子空间。
5.根据权利要求2所述的方法,其特征在于,所述外存中存储的密码算法的目标代码是所述主控处理器通过密码算法的源代码生成的。
6.一种密码装置,其特征在于,所述密码装置包括:
主控处理器;
算法协处理器;
外存;
所述外存用于,存储至少两套密码算法的目标代码;
所述主控处理器用于,接收移动终端发送的密码服务指令,所述密码服务指令包括待加密数据和密码算法标识,或者,所述密码服务指令包括待解密数据和密码算法标识,所述密码装置为硬件密码装置且安装在所述移动终端中;当所述算法协处理器的内存中存储有密码算法的目标代码、且所述密码算法的目标代码的密码算法标识不为所述密码服务指令包括的密码算法标识时,从所述外存中提取所述密码服务指令包括的密码算法标识指示的密码算法的目标代码,并将提取的密码算法的目标代码加载至所述内存;
所述算法协处理器用于,在所述主控处理器将提取的密码算法的目标代码加载至所述内存之后,通过所述内存中的密码算法的目标代码对所述待解密数据进行解密或者对所述待加密数据进行加密。
7.根据权利要求6所述的密码装置,其特征在于,
所述主控处理器还用于,当所述算法协处理器的内存中未存储密码算法的目标代码时,从所述外存中提取所述密码服务指令包括的密码算法标识指示的密码算法的目标代码,并将提取的密码算法的目标代码加载至所述内存;
所述算法协处理器还用于,通过所述内存中的密码算法的目标代码对所述待解密数据进行解密或者对所述待加密数据进行加密。
8.根据权利要求6所述的密码装置,其特征在于,所述主控处理器还用于,
在所述算法协处理器的内存中未存储密码算法的目标代码时,控制所述算法协处理器的内存中的代码存储空间不被非密码算法的目标代码占用,所述代码存储空间用于存储加载的密码算法的目标代码。
9.根据权利要求8所述的密码装置,其特征在于,所述代码存储空间包括至少一个子空间,所述子空间用于存储密码算法的目标代码,所述子空间的数量小于或者等于所述外存中存储的密码算法的数量;
所述所述主控处理器用于,从子空间标识与密码算法标识的对应关系中,确定提取的密码算法的目标代码对应的子空间标识,将所述提取的密码算法的目标代码加载至确定的子空间标识指示的子空间。
10.根据权利要求7所述的密码装置,其特征在于,所述外存中存储的密码算法的目标代码是所述主控处理器通过密码算法的源代码生成的。
CN201811210192.3A 2018-10-17 2018-10-17 一种密码装置及其数据加解密方法 Active CN109672519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811210192.3A CN109672519B (zh) 2018-10-17 2018-10-17 一种密码装置及其数据加解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811210192.3A CN109672519B (zh) 2018-10-17 2018-10-17 一种密码装置及其数据加解密方法

Publications (2)

Publication Number Publication Date
CN109672519A true CN109672519A (zh) 2019-04-23
CN109672519B CN109672519B (zh) 2022-06-24

Family

ID=66141680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811210192.3A Active CN109672519B (zh) 2018-10-17 2018-10-17 一种密码装置及其数据加解密方法

Country Status (1)

Country Link
CN (1) CN109672519B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111526016A (zh) * 2020-04-26 2020-08-11 南方电网科学研究院有限责任公司 一种密码算法的参数配置方法及装置
CN112270000A (zh) * 2020-09-18 2021-01-26 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 密码服务提供方法、装置和计算机可读存储介质
CN112636908A (zh) * 2020-12-21 2021-04-09 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 密钥查询方法及装置、加密设备及存储介质
CN113055165A (zh) * 2021-03-11 2021-06-29 湖南国科微电子股份有限公司 一种非对称密码算法装置、方法、设备及存储介质
WO2021128945A1 (zh) * 2019-12-27 2021-07-01 华为技术有限公司 用于进行rsa计算的计算资源调度方法及装置
CN114661656A (zh) * 2022-05-25 2022-06-24 广州万协通信息技术有限公司 一种可重构阵列配置方法、装置、设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770373A (zh) * 2008-12-31 2010-07-07 广州市鸿芯微电子有限公司 自启动串行引导程序加载与读取系统及其方法
CN101834608A (zh) * 2009-03-10 2010-09-15 华为技术有限公司 一种多通道编解码器运行方法及装置
CN202929632U (zh) * 2012-06-26 2013-05-08 深圳市振华微电子有限公司 一种加密卡
CN105678191A (zh) * 2016-03-02 2016-06-15 上海瓶钵信息科技有限公司 利用SoC内部存储提高系统安全性的方法、终端与系统
CN107798256A (zh) * 2017-11-21 2018-03-13 成都三零嘉微电子有限公司 一种基于密码算法分离存储的智能卡及设计方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770373A (zh) * 2008-12-31 2010-07-07 广州市鸿芯微电子有限公司 自启动串行引导程序加载与读取系统及其方法
CN101834608A (zh) * 2009-03-10 2010-09-15 华为技术有限公司 一种多通道编解码器运行方法及装置
CN202929632U (zh) * 2012-06-26 2013-05-08 深圳市振华微电子有限公司 一种加密卡
CN105678191A (zh) * 2016-03-02 2016-06-15 上海瓶钵信息科技有限公司 利用SoC内部存储提高系统安全性的方法、终端与系统
CN107798256A (zh) * 2017-11-21 2018-03-13 成都三零嘉微电子有限公司 一种基于密码算法分离存储的智能卡及设计方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021128945A1 (zh) * 2019-12-27 2021-07-01 华为技术有限公司 用于进行rsa计算的计算资源调度方法及装置
CN111526016A (zh) * 2020-04-26 2020-08-11 南方电网科学研究院有限责任公司 一种密码算法的参数配置方法及装置
CN111526016B (zh) * 2020-04-26 2022-12-23 南方电网科学研究院有限责任公司 一种密码算法的参数配置方法及装置
CN112270000A (zh) * 2020-09-18 2021-01-26 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 密码服务提供方法、装置和计算机可读存储介质
CN112270000B (zh) * 2020-09-18 2023-10-27 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 密码服务提供方法、装置和计算机可读存储介质
CN112636908A (zh) * 2020-12-21 2021-04-09 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 密钥查询方法及装置、加密设备及存储介质
CN112636908B (zh) * 2020-12-21 2022-08-05 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 密钥查询方法及装置、加密设备及存储介质
CN113055165A (zh) * 2021-03-11 2021-06-29 湖南国科微电子股份有限公司 一种非对称密码算法装置、方法、设备及存储介质
CN114661656A (zh) * 2022-05-25 2022-06-24 广州万协通信息技术有限公司 一种可重构阵列配置方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN109672519B (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN109672519A (zh) 一种密码装置及其数据加解密方法
EP3772700B1 (en) Method and device for encrypting model of neural network, and storage medium
CN111191286B (zh) Hyperledger Fabric区块链隐私数据存储与访问系统及其方法
US9590963B2 (en) System and method for key management for issuer security domain using global platform specifications
US9668127B2 (en) Method for allocating communication key based on android intelligent mobile terminal
US9135434B2 (en) System and method for third party creation of applications for mobile appliances
CN109840436A (zh) 数据处理方法、可信用户界面资源数据的应用方法及装置
TW201419031A (zh) 用可重新程式設計的密碼操作來管理對現場可程式設計閘陣列的使用
US20140281499A1 (en) Method and system for enabling communications between unrelated applications
CN111274611A (zh) 数据脱敏方法、装置及计算机可读存储介质
JP2004038394A (ja) 耐タンパプロセッサにおける共有ライブラリの使用方法およびそのプログラム
CN106254323A (zh) 一种ta和se的交互方法、ta、se及tsm平台
US20180063088A1 (en) Hypervisor network profiles to facilitate vpn tunnel
CN107066885A (zh) 跨平台可信中间件的实现系统及实现方法
CN112749812A (zh) 一种联合学习系统、训练结果聚合的方法及设备
CN112883388A (zh) 文件加密方法及装置、存储介质、电子装置
WO2017157006A1 (zh) 一种密钥处理方法及装置
CN108713200B (zh) 用于将订阅加载到移动终端设备的嵌入式安全元件中的方法
CN105912930B (zh) 移动终端及其系统资源安全控制方法
CN111386513B (zh) 数据处理的方法、装置和系统芯片
CN104732166A (zh) 一种数据存储、读取方法、装置及设备
CN116050537A (zh) 联邦学习方法、装置、可读存储介质及电子设备
JP2013045277A (ja) プログラム難読化方法およびリモートデバッグシステム
CN115544538A (zh) 一种数据传输方法、装置、设备及可读存储介质
Angin et al. Tamper-resistant autonomous agents-based mobile-cloud computing

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