CN111639350B - 密码服务系统及加密方法 - Google Patents

密码服务系统及加密方法 Download PDF

Info

Publication number
CN111639350B
CN111639350B CN202010416075.3A CN202010416075A CN111639350B CN 111639350 B CN111639350 B CN 111639350B CN 202010416075 A CN202010416075 A CN 202010416075A CN 111639350 B CN111639350 B CN 111639350B
Authority
CN
China
Prior art keywords
server
key
request message
sdk
operation type
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
Application number
CN202010416075.3A
Other languages
English (en)
Other versions
CN111639350A (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.)
China Citic Bank Corp Ltd
Original Assignee
China Citic Bank Corp Ltd
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 China Citic Bank Corp Ltd filed Critical China Citic Bank Corp Ltd
Priority to CN202010416075.3A priority Critical patent/CN111639350B/zh
Publication of CN111639350A publication Critical patent/CN111639350A/zh
Application granted granted Critical
Publication of CN111639350B publication Critical patent/CN111639350B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]

Abstract

本发明提供一种密码服务系统及加密方法,涉及网络通信技术领域。本发明提供的密码服务系统包括:SDK端、服务端、管理端、以及后台密码服务器。服务端分别与SDK端、管理端、以及后台密码服务器通信连接。SDK端集成于应用系统中,且SDK端设置有符合标准的连接器架构JCA规范的串行外设SPI接口。该密码服务系统可以实现应用系统对应的密码服务。相对于现有的密码服务方式而言,该密码服务系统无需针对每一项密码服务分别嵌入不同的SDK并配置配置文件,实现了不同安全服务接口的规范统一,简化了调用过程的复杂度。

Description

密码服务系统及加密方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种密码服务系统及加密方法。
背景技术
现有的密码服务,如:报文签名验签、报文加解密、PDF文件签名验签等功能,均分散在不同系统中,业务对应的应用系统实现任何一项密码服务时,都需要分别嵌入不同的软件开发工具包(Software Development Kit,SDK),并配置不同的配置文件。
而上述应用系统会涉及到多种密码服务时,分别嵌入不同的SDK的方式,会由于各密码服务的SDK接口实现差异大,而导致调用过程较为复杂。
发明内容
本发明提供一种密码服务系统及加密方法,可以简化密码服务的调用过程。
本发明实施例的技术方案如下:
第一方面,本发明实施例提供一种密码服务系统,包括:软件开发工具包SDK端、服务端、管理端、以及后台密码服务器;服务端分别与SDK端、管理端、以及后台密码服务器通信连接;管理端用于在服务端中配置应用系统的应用标识和授权码,并开通对后台密码服务器的访问权限;SDK端集成于应用系统中,且SDK端设置有符合标准的连接器架构JCA规范的串行外设SPI接口;SDK端用于通过SPI接口接收应用系统发送的密钥;密钥为应用系统对操作类型、密钥名称、应用标识、以及授权码进行拼接,根据拼接结果生成数字序列,并根据数字序列所生成;SDK端还用于对接收到的密钥进行解析,得到操作类型、密钥名称、应用标识、以及授权码;根据解析密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文,并将请求报文发送给服务端;请求报文中包含有SDK端解析得到的操作类型、密钥名称、应用标识、以及授权码;服务端用于根据请求报文和后台密码服务器,对请求报文的报文体进行加密处理,并将加密结果通过SDK端发送给应用系统。
可选地,SDK端具体用于根据解析密钥得到的密钥名称,生成报文体;根据解析密钥得到的操作类型、应用标识、以及授权码,生成报文头;根据报文体和报文头,生成请求报文。
可选地,服务端具体用于解析请求报文的报文头,得到操作类型、应用标识、以及授权码;根据解析请求报文得到的应用标识和授权码,判断应用系统是否符合认证和授权要求;若应用系统符合认证和授权要求,则根据解析请求报文得到的操作类型,通过后台密码服务器对请求报文的报文体进行加密处理,并将加密结果通过SDK端发送给应用系统。
可选地,服务端具体还用于若应用系统不符合认证或授权要求,则通过SDK端向应用系统返回失败响应码及响应报文。
可选地,服务端还用于根据时间戳、应用系统的认证和授权结果、应用标识、以及操作类型,记录日志信息。
可选地,后台密码服务器包括:签名服务器和加密服务器;当服务端解析请求报文得到的操作类型为数字信封时:服务端具体用于生成随机密钥,通过加密服务器的对称加密接口对请求报文的报文体进行对称加密处理;通过签名服务器对随机密钥进行非对称加密处理;将对称加密处理结果和非对称加密处理结果组合,并通过SDK端发送给应用系统。
第二方面,本发明实施例提供一种加密方法,所述方法应用于密码服务系统中的SDK端。所述密码服务系统包括:SDK端、服务端、管理端、以及后台密码服务器。服务端分别与SDK端、管理端、以及后台密码服务器通信连接;管理端在服务端中配置有应用系统的应用标识和授权码,并开通了对后台密码服务器的访问权限;SDK端集成于应用系统中,且SDK端设置有符合标准的连接器架构JCA规范的串行外设SPI接口。所述方法包括:
通过SPI接口接收应用系统发送的密钥;密钥为应用系统对操作类型、密钥名称、应用标识、以及授权码进行拼接,根据拼接结果生成数字序列,并根据数字序列所生成;对接收到的密钥进行解析,得到操作类型、密钥名称、应用标识、以及授权码;根据解析密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文;将请求报文发送给服务端;请求报文中包含有SDK端解析得到的操作类型、密钥名称、应用标识、以及授权码;接收服务端返回的对请求报文的报文体进行加密处理的加密结果,并发送给应用系统;其中,加密结果为服务端根据请求报文和后台密码服务器,对请求报文的报文体进行加密处理所得到。
可选地,所述根据解析密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文的步骤,包括:
根据解析密钥得到的密钥名称,生成报文体;根据解析密钥得到的操作类型、应用标识、以及授权码,生成报文头;根据报文体和报文头,生成请求报文。
可选地,所述后台密码服务器包括:签名服务器和加密服务器;当服务端解析请求报文得到的操作类型为数字信封时:服务端返回的对请求报文的报文体进行加密处理的加密结果包括:通过加密服务器的对称加密接口对请求报文的报文体进行对称加密处理的对称加密处理结果、以及通过签名服务器对随机密钥进行非对称加密处理的非对称加密处理结果。
可选地,若应用系统不符合所述服务端的认证或授权要求,所述方法还包括:
接收所述服务端返回的失败响应码及响应报文,并发送给应用系统。
第三方面,本发明实施例提供一种加密装置,所述装置应用于第一方面所述的密码服务系统中的SDK端。所述装置包括:接收模块,用于通过SPI接口接收应用系统发送的密钥;密钥为应用系统对操作类型、密钥名称、应用标识、以及授权码进行拼接,根据拼接结果生成数字序列,并根据数字序列所生成。解析模块,用于对接收到的密钥进行解析,得到操作类型、密钥名称、应用标识、以及授权码。生成模块,用于根据解析密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文。发送模块,用于将请求报文发送给服务端;请求报文中包含有SDK端解析得到的操作类型、密钥名称、应用标识、以及授权码。处理模块,用于接收服务端返回的对请求报文的报文体进行加密处理的加密结果,并发送给应用系统。其中,加密结果为服务端根据请求报文和后台密码服务器,对请求报文的报文体进行加密处理所得到。
可选地,所述生成模块,具体用于根据解析密钥得到的密钥名称,生成报文体;根据解析密钥得到的操作类型、应用标识、以及授权码,生成报文头;根据报文体和报文头,生成请求报文。
可选地,所述后台密码服务器包括:签名服务器和加密服务器;当服务端解析请求报文得到的操作类型为数字信封时:服务端返回的对请求报文的报文体进行加密处理的加密结果包括:通过加密服务器的对称加密接口对请求报文的报文体进行对称加密处理的对称加密处理结果、以及通过签名服务器对随机密钥进行非对称加密处理的非对称加密处理结果。
可选地,所述处理模块,还用于接收所述服务端返回的失败响应码及响应报文,并发送给应用系统。
第四方面,本发明实施例提供一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如第二方面所述的加密方法的步骤。
第五方面,本发明实施例提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行如第二方面所述的加密方法的步骤。
本发明的实施例提供的技术方案至少带来以下有益效果:
本发明实施例中,管理端可以在服务端中配置应用系统的应用标识和授权码,并开通对后台密码服务器的访问权限。SDK端集成于应用系统中,且SDK端设置有符合标准的连接器架构JCA规范的串行外设SPI接口。SDK端可以通过SPI接口接收应用系统发送的密钥,密钥为应用系统对操作类型、密钥名称、应用标识、以及授权码进行拼接,根据拼接结果生成数字序列,并根据数字序列所生成。SDK端还可以对接收到的密钥进行解析,得到操作类型、密钥名称、应用标识、以及授权码;根据解析所述密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文,并将所述请求报文发送给服务端。服务端可以根据请求报文和后台密码服务器,对请求报文的报文体进行加密处理,并将加密结果通过SDK端发送给应用系统。从而,实现应用系统对应的密码服务。相对于现有的密码服务方式而言,该密码服务系统无需针对每一项密码服务分别嵌入不同的SDK并配置配置文件,实现了不同安全服务接口的规范统一,简化了调用过程的复杂度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。
图1示出了本发明实施例提供的密码服务系统的结构示意图;
图2示出了本发明实施例提供的加密方法的流程示意图;
图3示出了本发明实施例提供的加密方法的另一流程示意图;
图4示出了本发明实施例提供的加密装置的结构示意图;
图5示出了本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本发明的技术方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
现有技术中,应用系统实现任何一项密码服务时,都需要分别嵌入不同的软件开发工具包(Software Development Kit,SDK)包,并配置不同的配置文件。而应用系统会涉及到多种密码服务时,分别嵌入不同的SDK的方式,会由于各密码服务的SDK接口实现差异大,而导致调用过程较为复杂。
基于此,本发明实施例提供一种密码服务系统,可以统一密码服务SDK接口规范,利用JCA标准规范,实现应用与具体安全实现解耦。该密码服务系统中,可以通过组合JCA规范、密钥封装参数、字节码植入、Nginx代理等技术,基于JCA标准实现基于远程过程调用(Remote Procedure Call,RPC)的安全服务提供者。通过密钥封装参数,实现安全服务接口规范统一。基于字节码植入技术实现对安全服务原生SDK进行改造。基于Nginx代理实现统一认证授权和原子服务组合。
下面对本发明实施例提供的密码服务系统进行示例性说明:
图1示出了本发明实施例提供的密码服务系统的结构示意图。
如图1所示,该密码服务系统可以包括:SDK端110、服务端120、管理端130、以及后台密码服务器140。服务端120分别与SDK端110、管理端130、以及后台密码服务器140通信连接。
其中,管理端130可以用于在服务端120中配置应用系统的应用标识和授权码,并开通对后台密码服务器140的访问权限。
SDK端110集成于应用系统中,可以利用标准的连接器架构(Java ConnectorArchitecture,JCA)规范提供的方法实现串行外设(Serial Peripheral Interface,SPI)接口,如签名(Signature)SPI接口。操作时要求传入密钥参数,而根据国家规范要求,密钥需要存储在安全的密码设备,所以签名时应传入密钥名称而不是密钥值。为了解决这一冲突,应用系统可以对操作类型、密钥名称、应用标识、以及授权码进行拼接,根据拼接结果生成数字序列,并根据数字序列生成密钥。
例如,可以拼接操作类型、密钥名称、应用标识、授权码等字符串,并按照64进制转为10进制的方式生成数字序列,并将其作为模量(modulus)值的一部分生成密钥。
SDK端110可以通过SPI接口接收应用系统发送的密钥。然后,可以对接收到的密钥进行解析,得到操作类型、密钥名称、应用标识、以及授权码。根据解析密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文,并将请求报文发送给服务端120。请求报文中包含有SDK端110解析得到的操作类型、密钥名称、应用标识、以及授权码。
例如,SDK端110可以在SPI实现类内部对密钥按上述过程,解析出操作类型、密钥名称、应用标识、授权码等字段,利用字节码植入技术改造供应商提供的SDK主类,去除TCP连接的相关逻辑。调用供应商提供的原生SDK类传入上述密钥名称等参数后,将得到的字符串作为HTTP报文体,将操作类型、应用标识、授权码作为HTTP报文头进行拼接,最后将拼接后的HTTP报文提交到服务端120。
服务端120可以根据接收到的请求报文和后台密码服务器140,对请求报文的报文体进行加密处理,并将加密结果通过SDK端110发送给应用系统。
例如,服务端120可以从请求报文的报文头中解析应用标识和授权码,调用第三方认证系统(如认证服务器)根据解析所述请求报文得到的应用标识和授权码,判断应用系统是否符合认证和授权要求;若应用系统符合认证和授权要求,则根据解析所述请求报文得到的操作类型,通过后台密码服务器140对请求报文的报文体进行加密处理,并将加密结果通过SDK端110发送给应用系统。若应用系统不符合认证或授权要求,则通过SDK端110向应用系统返回失败响应码及响应报文。
可选地,服务端还可以根据时间戳、应用系统的认证和授权结果、应用标识、以及操作类型,记录日志信息,以备后续审计。
请继续参照图1所示:
可选地,后台密码服务器140可以包括:签名服务器141和加密服务器142。当服务端120解析请求报文得到的操作类型为数字信封时:
服务端120可以生成随机密钥,通过加密服务器142的对称加密接口对请求报文的报文体进行对称加密处理;通过签名服务器141对随机密钥进行非对称加密处理;并将对称加密处理结果和非对称加密处理结果组合,通过SDK端110发送给应用系统。
也即,如果涉及以密码信封方式加密的功能,该密码服务系统还可以组合多个后台密码服务,将组合结果统一处理后返回给前端调用方系统(应用系统)。
举例说明:
假设某应用系统A计划接入密码服务,使用数字信封加密某字段,数字信封会使用随机密钥对称加密报文,同时使用对手方公钥非对称加密该随机密钥。但由于目前加密服务器仅支持对称加密,签名服务器仅支持非对称加密,所以需要通过服务端整合这2项服务为调用方统一提供服务。具体接入流程如下:
1)通过管理端在服务端中配置应用系统A的应用系统标识和授权码,并开通对密码服务器和签名服务器的访问权限。
2)应用系统A集成服务端提供的SDK,修改JDK目录下的java.security文件,追加security.provider属性的对应值为服务端的类名。也即,应用系统A集成有SDK端。
3)应用系统A按约定协议拼接操作类型为数字信封加密、密钥名称为签名服务器配置的密钥名称、应用标识为服务端分配的应用标识,授权码为服务端分配的授权码。拼接完成后,利用64进制转10进制方法生成数字序列并拼接到modulus参数中。然后,利用modulus参数生成公钥对象传入到SDK端的加密方法中。
4)SDK端按照前述实施例所述的方式进行一系列处理后,将请求报文发送到服务端。
5)服务端解析报文头得到操作类型、应用标识和授权码。其中,操作类型为数字信封。然后,服务端经过认证和授权判断后,首先生成随机对称密钥后调用加密服务器的对称加密接口加密报文,然后将随机对称密码发送到签名服务器利用指定证书名称进行非对称加密,最后由服务单按标准组合后返回给SDK端。
6)应用系统A可以将加密结果发送给对手方系统。
由上所述,本发明实施例提供的密码服务系统中,管理端可以在服务端中配置应用系统的应用标识和授权码,并开通对后台密码服务器的访问权限。SDK端集成于应用系统中,且SDK端设置有符合标准的连接器架构JCA规范的串行外设SPI接口。SDK端可以通过SPI接口接收应用系统发送的密钥,密钥为应用系统对操作类型、密钥名称、应用标识、以及授权码进行拼接,根据拼接结果生成数字序列,并根据数字序列所生成。SDK端还可以对接收到的密钥进行解析,得到操作类型、密钥名称、应用标识、以及授权码;根据解析所述密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文,并将所述请求报文发送给服务端。服务端可以根据请求报文和后台密码服务器,对请求报文的报文体进行加密处理,并将加密结果通过SDK端发送给应用系统。从而,实现应用系统对应的密码服务。相对于现有的密码服务方式而言,该密码服务系统无需针对每一项密码服务分别嵌入不同的SDK并配置配置文件,实现了不同安全服务接口的规范统一,简化了调用过程的复杂度。
另外,该密码服务系统还可以确保不同安全服务实现统一认证、授权、安全审计等功能,实现了易用性和安全性的统一。一些场景下,还可以由封装多个密码服务为前端应用系统提供统一服务,提升了密码服务易用性,并最大程度利用了密码服务系统的现有功能,减少了生产变更风险。
可选地,服务端可以为Nginx代理服务器,管理端可以为管理服务器,在此不作限制。
基于前述实施例所述的密码服务系统,本发明实施例还提供一种加密方法。该方法可以应用于前述实施例所述的密码服务系统中的SDK端。
图2示出了本发明实施例提供的加密方法的流程示意图。
如图2所示,该加密方法可以包括:
S201、通过SPI接口接收应用系统发送的密钥。
密钥为应用系统对操作类型、密钥名称、应用标识、以及授权码进行拼接,根据拼接结果生成数字序列,并根据数字序列所生成。
S202、对接收到的密钥进行解析,得到操作类型、密钥名称、应用标识、以及授权码。
S203、根据解析密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文。
S204、将请求报文发送给服务端。
请求报文中包含有SDK端解析得到的操作类型、密钥名称、应用标识、以及授权码。
S205、接收服务端返回的对请求报文的报文体进行加密处理的加密结果,并发送给应用系统。
其中,加密结果为服务端根据请求报文和后台密码服务器,对请求报文的报文体进行加密处理所得到。
图3示出了本发明实施例提供的加密方法的另一流程示意图。
可选地,如图3所示,所述根据解析密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文的步骤,可以包括:
S301、根据解析密钥得到的密钥名称,生成报文体。
S302、根据解析密钥得到的操作类型、应用标识、以及授权码,生成报文头。
S303、根据报文体和报文头,生成请求报文。
可选地,若应用系统不符合服务端的认证或授权要求,所述方法还包括:接收服务端返回的失败响应码及响应报文,并发送给应用系统。
该加密方法所具备的有益效果,均已在前述关于密码服务系统的实施例中进行描述,在此不再赘述。
对应的,本发明实施例还提供一种加密装置,可以应用于前述实施例所述的密码服务系统中的SDK端。
图4示出了本发明实施例提供的加密装置的结构示意图。
如图4所示,该加密装置可以包括:接收模块11,用于通过SPI接口接收应用系统发送的密钥;密钥为应用系统对操作类型、密钥名称、应用标识、以及授权码进行拼接,根据拼接结果生成数字序列,并根据数字序列所生成。解析模块12,用于对接收到的密钥进行解析,得到操作类型、密钥名称、应用标识、以及授权码。生成模块13,用于根据解析密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文。发送模块14,用于将请求报文发送给服务端;请求报文中包含有SDK端解析得到的操作类型、密钥名称、应用标识、以及授权码。处理模块15,用于接收服务端返回的对请求报文的报文体进行加密处理的加密结果,并发送给应用系统。其中,加密结果为服务端根据请求报文和后台密码服务器,对请求报文的报文体进行加密处理所得到。
可选地,所述生成模块12,具体用于根据解析密钥得到的密钥名称,生成报文体;根据解析密钥得到的操作类型、应用标识、以及授权码,生成报文头;根据报文体和报文头,生成请求报文。
可选地,所述后台密码服务器包括:签名服务器和加密服务器;当服务端解析请求报文得到的操作类型为数字信封时:服务端返回的对请求报文的报文体进行加密处理的加密结果包括:通过加密服务器的对称加密接口对请求报文的报文体进行对称加密处理的对称加密处理结果、以及通过签名服务器对随机密钥进行非对称加密处理的非对称加密处理结果。
可选地,所述处理模块15,还用于接收所述服务端返回的失败响应码及响应报文,并发送给应用系统。
如上所述,本发明实施例可以根据上述方法示例对SDK端进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,导流入口确定装置可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
关于上述实施例中的加密装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述实施例中进行了详细描述,此处不再赘述。
本发明实施例还提供一种电子设备,该电子设备用于集成前述SDK端。图5示出了本发明实施例提供的电子设备的结构示意图。
如图5所示,该电子设备可以包括:处理器21、存储介质22和总线(图中未标出),存储介质22存储有处理器21可执行的机器可读指令,当电子设备运行时,处理器21与存储介质22之间通过总线通信,处理器21执行机器可读指令,以执行时执行如前述实施例所述的加密方法的步骤。
在示例性实施例中,本发明还提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行如前述实施例所述的加密方法的步骤。
可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种密码服务系统,其特征在于,包括:软件开发工具包SDK端、服务端、管理端、以及后台密码服务器;所述服务端分别与所述SDK端、所述管理端、以及所述后台密码服务器通信连接;
所述管理端用于在所述服务端中配置应用系统的应用标识和授权码,并开通对所述后台密码服务器的访问权限;
所述SDK端集成于应用系统中,且所述SDK端设置有符合标准的连接器架构JCA规范的串行外设SPI接口;所述SDK端用于通过所述SPI接口接收应用系统发送的密钥;所述密钥为所述应用系统对操作类型、密钥名称、应用标识、以及授权码进行拼接,根据拼接结果生成数字序列,并根据所述数字序列所生成;
所述SDK端还用于对接收到的密钥进行解析,得到操作类型、密钥名称、应用标识、以及授权码;根据解析所述密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文,并将所述请求报文发送给服务端;所述请求报文中包含有所述SDK端解析得到的操作类型、密钥名称、应用标识、以及授权码;
所述服务端用于根据所述请求报文和所述后台密码服务器,对所述请求报文的报文体进行加密处理,并将加密结果通过所述SDK端发送给应用系统。
2.根据权利要求1所述的密码服务系统,其特征在于,所述SDK端具体用于根据解析所述密钥得到的密钥名称,生成报文体;根据解析所述密钥得到的操作类型、应用标识、以及授权码,生成报文头;根据所述报文体和所述报文头,生成请求报文。
3.根据权利要求2所述的密码服务系统,其特征在于,所述服务端具体用于解析所述请求报文的报文头,得到操作类型、应用标识、以及授权码;根据解析所述请求报文得到的应用标识和授权码,判断应用系统是否符合认证和授权要求;若应用系统符合认证和授权要求,则根据解析所述请求报文得到的操作类型,通过所述后台密码服务器对所述请求报文的报文体进行加密处理,并将加密结果通过所述SDK端发送给应用系统。
4.根据权利要求3所述的密码服务系统,其特征在于,所述服务端具体还用于若应用系统不符合认证或授权要求,则通过所述SDK端向应用系统返回失败响应码及响应报文。
5.根据权利要求4所述的密码服务系统,其特征在于,所述服务端还用于根据时间戳、应用系统的认证和授权结果、应用标识、以及操作类型,记录日志信息。
6.根据权利要求3-5任一项所述的密码服务系统,其特征在于,所述后台密码服务器包括:签名服务器和加密服务器;当所述服务端解析所述请求报文得到的操作类型为数字信封时:
所述服务端具体用于生成随机密钥,通过所述加密服务器的对称加密接口对所述请求报文的报文体进行对称加密处理;通过所述签名服务器对所述随机密钥进行非对称加密处理;将对称加密处理结果和非对称加密处理结果组合,并通过所述SDK端发送给应用系统。
7.一种加密方法,其特征在于,所述方法应用于密码服务系统中的SDK端;所述密码服务系统包括:SDK端、服务端、管理端、以及后台密码服务器;所述服务端分别与所述SDK端、所述管理端、以及所述后台密码服务器通信连接;所述管理端在所述服务端中配置有应用系统的应用标识和授权码,并开通了对所述后台密码服务器的访问权限;所述SDK端集成于应用系统中,且所述SDK端设置有符合标准的连接器架构JCA规范的串行外设SPI接口;所述方法包括:
通过所述SPI接口接收应用系统发送的密钥;所述密钥为所述应用系统对操作类型、密钥名称、应用标识、以及授权码进行拼接,根据拼接结果生成数字序列,并根据所述数字序列所生成;
对接收到的密钥进行解析,得到操作类型、密钥名称、应用标识、以及授权码;
根据解析所述密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文;
将所述请求报文发送给服务端;所述请求报文中包含有所述SDK端解析得到的操作类型、密钥名称、应用标识、以及授权码;
接收所述服务端返回的对所述请求报文的报文体进行加密处理的加密结果,并发送给应用系统;其中,所述加密结果为所述服务端根据所述请求报文和所述后台密码服务器,对所述请求报文的报文体进行加密处理所得到。
8.根据权利要求7所述的方法,其特征在于,所述根据解析所述密钥得到的操作类型、密钥名称、应用标识、以及授权码,生成请求报文的步骤,包括:
根据解析所述密钥得到的密钥名称,生成报文体;
根据解析所述密钥得到的操作类型、应用标识、以及授权码,生成报文头;
根据所述报文体和所述报文头,生成请求报文。
9.根据权利要求8所述的方法,其特征在于,所述后台密码服务器包括:签名服务器和加密服务器;当所述服务端解析所述请求报文得到的操作类型为数字信封时:
所述服务端返回的对所述请求报文的报文体进行加密处理的加密结果包括:通过所述加密服务器的对称加密接口对所述请求报文的报文体进行对称加密处理的对称加密处理结果、以及通过所述签名服务器对随机密钥进行非对称加密处理的非对称加密处理结果。
10.根据权利要求7-9任一项所述的方法,其特征在于,若应用系统不符合所述服务端的认证或授权要求,所述方法还包括:
接收所述服务端返回的失败响应码及响应报文,并发送给应用系统。
CN202010416075.3A 2020-05-16 2020-05-16 密码服务系统及加密方法 Active CN111639350B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010416075.3A CN111639350B (zh) 2020-05-16 2020-05-16 密码服务系统及加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010416075.3A CN111639350B (zh) 2020-05-16 2020-05-16 密码服务系统及加密方法

Publications (2)

Publication Number Publication Date
CN111639350A CN111639350A (zh) 2020-09-08
CN111639350B true CN111639350B (zh) 2023-01-31

Family

ID=72331942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010416075.3A Active CN111639350B (zh) 2020-05-16 2020-05-16 密码服务系统及加密方法

Country Status (1)

Country Link
CN (1) CN111639350B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256411B (zh) * 2020-10-15 2024-02-27 上海昀层信息技术有限公司 一种密码智能调度系统及方法
CN113722726B (zh) * 2021-02-09 2024-04-05 京东科技控股股份有限公司 基于软硬件协同的加解密方法及系统
CN113656109B (zh) * 2021-09-01 2023-07-04 中国农业银行股份有限公司 安全控件调用方法、装置、设备及存储介质

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304525A (zh) * 2008-06-06 2008-11-12 南京邮电大学 基于高级加密标准的视频加密方法
CN101957759A (zh) * 2010-10-21 2011-01-26 江苏科技大学 一种sdk接口转换系统及其实现方法
CN102647809A (zh) * 2011-02-16 2012-08-22 深圳市证通金信科技有限公司 在移动通信终端内植入pboc数据处理模块的方法
CN103812871A (zh) * 2014-02-24 2014-05-21 北京明朝万达科技有限公司 一种基于移动终端应用程序安全应用的开发方法及系统
CN103970517A (zh) * 2013-01-30 2014-08-06 中兴通讯股份有限公司 Iptv游戏的接入处理方法及装置
CN104836782A (zh) * 2014-04-03 2015-08-12 腾讯科技(北京)有限公司 服务器、客户端以及数据访问方法和系统
EP3067818A1 (en) * 2015-03-09 2016-09-14 Samsung Electronics Co., Ltd. User information processing method and electronic device supporting the same
CN106330462A (zh) * 2016-09-05 2017-01-11 广东省电子商务认证有限公司 一种支持多算法的pdf签名方法及系统
CN106452749A (zh) * 2016-10-18 2017-02-22 北京骏逸通达信息服务有限公司 一种通过卫星通信进行密钥和数据分离传输的方法及系统
CN106888183A (zh) * 2015-12-15 2017-06-23 阿里巴巴集团控股有限公司 数据加密、解密、密钥请求处理的方法和装置及系统
EP3185168A1 (en) * 2015-12-24 2017-06-28 Gemalto Sa Method and system for enhancing the security of a transaction
CN107070925A (zh) * 2017-04-18 2017-08-18 上海赛付网络科技有限公司 一种终端应用与后台服务通讯报文防篡改的方法
CN107979590A (zh) * 2017-11-02 2018-05-01 财付通支付科技有限公司 数据共享方法、客户端、服务器、计算设备及存储介质
CN108062221A (zh) * 2017-12-11 2018-05-22 网易(杭州)网络有限公司 软件开发工具包的处理方法、装置、存储介质及处理器
CN108847942A (zh) * 2018-06-03 2018-11-20 李维刚 一种基于标识公钥的认证方法及系统
CN108959908A (zh) * 2018-08-03 2018-12-07 深圳市思迪信息技术股份有限公司 一种与接入sdk的移动平台进行认证的方法、计算机设备及存储介质
CN109348293A (zh) * 2018-12-03 2019-02-15 南京森林警察学院 基于hls技术的app端密钥混淆错序视频加密方法
CN109922089A (zh) * 2019-04-28 2019-06-21 广东电网有限责任公司 一种基于sdk包的协议转换方法及系统
CN110138765A (zh) * 2019-05-10 2019-08-16 腾讯科技(深圳)有限公司 数据处理方法和装置
CN110868416A (zh) * 2019-11-15 2020-03-06 北京握奇智能科技有限公司 基于可信执行环境的密码功能服务实现方法和设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5447030B2 (ja) * 2010-03-12 2014-03-19 株式会社リコー 電子機器、情報処理方法、及び情報処理プログラム
CN103197951B (zh) * 2012-01-04 2017-11-03 腾讯科技(深圳)有限公司 一种搭建应用运行环境的方法及装置
US9766861B2 (en) * 2014-09-23 2017-09-19 Quixey, Inc. State-specific external functionality for software developers

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304525A (zh) * 2008-06-06 2008-11-12 南京邮电大学 基于高级加密标准的视频加密方法
CN101957759A (zh) * 2010-10-21 2011-01-26 江苏科技大学 一种sdk接口转换系统及其实现方法
CN102647809A (zh) * 2011-02-16 2012-08-22 深圳市证通金信科技有限公司 在移动通信终端内植入pboc数据处理模块的方法
CN103970517A (zh) * 2013-01-30 2014-08-06 中兴通讯股份有限公司 Iptv游戏的接入处理方法及装置
WO2014117494A1 (zh) * 2013-01-30 2014-08-07 中兴通讯股份有限公司 Iptv游戏的接入处理方法及装置
CN103812871A (zh) * 2014-02-24 2014-05-21 北京明朝万达科技有限公司 一种基于移动终端应用程序安全应用的开发方法及系统
CN104836782A (zh) * 2014-04-03 2015-08-12 腾讯科技(北京)有限公司 服务器、客户端以及数据访问方法和系统
EP3067818A1 (en) * 2015-03-09 2016-09-14 Samsung Electronics Co., Ltd. User information processing method and electronic device supporting the same
CN106888183A (zh) * 2015-12-15 2017-06-23 阿里巴巴集团控股有限公司 数据加密、解密、密钥请求处理的方法和装置及系统
EP3185168A1 (en) * 2015-12-24 2017-06-28 Gemalto Sa Method and system for enhancing the security of a transaction
CN106330462A (zh) * 2016-09-05 2017-01-11 广东省电子商务认证有限公司 一种支持多算法的pdf签名方法及系统
CN106452749A (zh) * 2016-10-18 2017-02-22 北京骏逸通达信息服务有限公司 一种通过卫星通信进行密钥和数据分离传输的方法及系统
CN107070925A (zh) * 2017-04-18 2017-08-18 上海赛付网络科技有限公司 一种终端应用与后台服务通讯报文防篡改的方法
CN107979590A (zh) * 2017-11-02 2018-05-01 财付通支付科技有限公司 数据共享方法、客户端、服务器、计算设备及存储介质
CN108062221A (zh) * 2017-12-11 2018-05-22 网易(杭州)网络有限公司 软件开发工具包的处理方法、装置、存储介质及处理器
CN108847942A (zh) * 2018-06-03 2018-11-20 李维刚 一种基于标识公钥的认证方法及系统
CN108959908A (zh) * 2018-08-03 2018-12-07 深圳市思迪信息技术股份有限公司 一种与接入sdk的移动平台进行认证的方法、计算机设备及存储介质
CN109348293A (zh) * 2018-12-03 2019-02-15 南京森林警察学院 基于hls技术的app端密钥混淆错序视频加密方法
CN109922089A (zh) * 2019-04-28 2019-06-21 广东电网有限责任公司 一种基于sdk包的协议转换方法及系统
CN110138765A (zh) * 2019-05-10 2019-08-16 腾讯科技(深圳)有限公司 数据处理方法和装置
CN110868416A (zh) * 2019-11-15 2020-03-06 北京握奇智能科技有限公司 基于可信执行环境的密码功能服务实现方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"大数据时代虚拟化网络安全架构与机制建设";王照;《信息安全》;20171231;全文 *

Also Published As

Publication number Publication date
CN111639350A (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
US11601809B2 (en) Method and system for updating certificate issuer public key, and related device
CN111639350B (zh) 密码服务系统及加密方法
US9946884B2 (en) System and method for cryptographic suite management
CN107294916B (zh) 单点登录方法、单点登录终端及单点登录系统
EP2095288B1 (en) Method for the secure storing of program state data in an electronic device
US8995663B2 (en) Method for implementing an encryption engine by smart key device
CN110621014B (zh) 一种车载设备及其程序升级方法、服务器
US20110035582A1 (en) Network authentication service system and method
Bhargavan et al. Verified cryptographic implementations for TLS
CN113179240B (zh) 密钥保护方法、装置、设备及存储介质
CN113872932B (zh) 基于sgx的微服务间接口鉴权方法、系统、终端及存储介质
CN112671705A (zh) 报文的处理方法、装置、电子设备及计算机可读存储介质
CN113204772A (zh) 数据处理方法、装置、系统、终端、服务器和存储介质
CN115225672A (zh) 端到端的数据传输方法、设备和介质
WO2021170049A1 (zh) 一种访问行为的记录方法、装置
CN112637124B (zh) 报文的处理方法、装置、电子设备及计算机可读存储介质
CN113992734A (zh) 会话连接方法及装置、设备
CN114048513A (zh) 一种一次性数字证书申请及签名系统及方法
CN109902515B (zh) 一种真实数据验证方法及系统
CN111127014A (zh) 交易信息处理方法、服务器、用户终端、系统及存储介质
CN112637122B (zh) 用于通信单元主站访问控制的测试方法、响应方法及其系统
CN114928756B (zh) 视频数据保护、加密、校验方法及系统、设备
CN115001701B (zh) 用于授权认证的方法及装置、存储介质及电子设备
CN116896444B (zh) 文件包管理方法和装置
CN114978888B (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