掌桥专利:专业的专利平台
掌桥专利
首页

一种国密软加密模式秘钥获取方法、系统、终端和可读存储介质

文献发布时间:2024-04-18 19:52:40


一种国密软加密模式秘钥获取方法、系统、终端和可读存储介质

技术领域

本申请涉及秘钥安全技术领域,尤其是涉及一种国密软加密模式秘钥获取方法、系统、终端和可读存储介质。

背景技术

加密秘钥是任何安全系统的重要组成部分。他们完成从数据加密和解密到用户身份验证的所有工作。任何加密秘钥的泄露都可能导致组织的整个安全基础设施崩溃,从而使攻击者能够解密敏感数据,将自己验证为特权用户,或让自己访问其他机密信息来源。正确管理秘钥及其相关组件可以确保机密信息的安全。

目前传统的秘钥基本都是通过下载的方式或者下线传输的方式发送到商户接入方,这样就大幅度增加了秘钥在传输过程中丢失和泄露的风险,当秘钥泄露后,一方面商户的账户安全得不到保障,另一方面当秘钥丢失后,需要在重新申请流程,这样就极大的影响了商户的正常业务开展。

发明内容

为了提高秘钥的安全性,本申请提供一种国密软加密模式秘秘钥获取方法、系统、终端和可读存储介质。

第一方面,本申请提供一种国密软加密模式秘钥获取方法,应用于支付系统,采用如下的技术方案:

一种国密软加密模式秘钥获取的方法,包括:

生成商户传输秘钥对,其中,所述商户传输秘钥对包括商户私钥和商户公钥;

生成用于线下传输给商户终端的商户秘钥文件,其中,所述商户秘钥文件包括商户私钥;

在接收到所述商户终端发送的工作秘钥申请信息后,使用所述商户公钥对所述工作秘钥申请信息中的第一签名进行验证;

若对所述第一签名验证通过,则生成工作秘钥MAK;

通过所述商户公钥对所述工作秘钥MAK进行加密,生成工作秘钥密文;

将第一信息发送给所述商户终端,其中,所述第一信息包括所述工作秘钥密文。

可选的,所述工作秘钥申请信息包括商户号和秘钥文根信息;所述方法还包括:

若对所述第一签名验证通过,则向商户门户发送对所述秘钥文根信息的状态查询请求;

若接收到所述商户门户返回的所述秘钥文根信息的状态为正常,则执行所述生成工作秘钥MAK的步骤。

可选的,在所述生成工作秘钥MAK之前,所述方法还包括:

生成商户对称秘钥;

所述生成工作秘钥MAK,包括:

将所述商户号、所述秘钥文根信息和所述商户对称秘钥进行拼接,得到拼接字符串;

对所述拼接字符串进行散列;

对散列结果进行异或操作,得到所述工作秘钥MAK。

第二方面,本申请提供一种国密软加密模式获取的系统,采用如下的技术方案:

商户传输秘钥对生成模块,用于生成用于线下传输给商户终端的商户秘钥文件,其中,所述商户秘钥文件包括商户私钥;

验证模块,用于在接收到所述商户终端发送的工作秘钥申请信息后,使用所述商户公钥对所述工作秘钥申请信息中的第一签名进行验证;

工作秘钥生成模块,用于若对所述第一签名验证通过,则生成工作秘钥MAK;

加密模块,用于通过所述商户公钥对所述工作秘钥MAK进行加密,生成工作秘钥密文;

第一信息发送模块,用于将第一信息发送给所述商户终端,其中,所述第一信息包括所述工作秘钥密文。

第三方面,本申请提供的一种国密软加密模式秘钥获取的方法,应用于商户终端,采用如下的技术方案:

读取并导入支付系统线下传输的商户秘钥文件中的商户私钥;

生成工作秘钥申请信息,其中,所述工作秘钥申请信息包括商户号;

通过所述商户私钥对所述工作秘钥申请信息进行签名,生成第一签名,将所述工作秘钥申请信息和所述第一签名发送给支付系统;

在接收到所述支付系统发送的第一信息之后,对所述第一信息中的工作秘钥密文进行解密,得到工作秘钥MAK。

可选的,所述工作秘钥申请信息还包括秘钥文根信息;在所述生成工作秘钥申请信息之前,所述方法还包括:

获取秘钥文根信息。

第四方面,本申请提供一种国密软加密模式秘钥获取的系统,应用于商户终端,采用如下的技术方案:

读取模块,用于读取并导入支付系统线下传输的商户秘钥文件中的商户私钥;

工作秘钥申请信息生成模块,用于生成工作秘钥申请信息,其中,所述工作秘钥申请信息包括商户号;

签名模块,用于通过所述商户私钥对所述工作秘钥申请信息进行签名,生成第一签名,将所述工作秘钥申请信息和所述第一签名发送给支付系统;

解密模块,用于在接收到所述支付系统发送的第一信息之后,对所述第一信息中的工作秘钥密文进行解密,得到工作秘钥MAK。

第五方面,本申请提供一种智能终端,采用如下的技术方案:

一种智能终端,其特征在于,包括处理器,所述处理器与存储器耦合;

所述处理器用于执行所述存储器中存储的计算机程序,以使得所述智能终端执行第一方面任一项所述的国密软加密模式秘钥获取方法的计算机程序。

第六方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:

一种计算机可读存储介质,存储有能够被处理器加载并执行第一方面任一项所述的国密软加密模式秘钥获取的方法的计算机程序。

通过采用上述技术方案,在工作秘钥生成过程中,支付系统首先生成商户秘钥对和平台秘钥对,并将商户私钥和平台公钥通过线下的方式发送给商户终端,与此同时商户终端生成工作秘钥申请信息,并通过商户私钥对工作秘钥申请信息进行签名,然后商户终端生成工作秘钥申请信息发送给支付系统,支付系统接收到商户终端发送的工作秘钥申请信息后,第一时间通过商户公钥对工作秘钥申请信息进行签名验证,验证通过后生成工作秘钥MAK,并通过商户公钥对其进行加密,而后由商户终端利用商户私钥对其进行解密,通过层层的加密解密,提高了工作秘钥的安全性;并通过多层的签名和验签过程,提高了商户终端和支付系统的识别能力,进而提高了工作秘钥的安全性。

附图说明

图1是本申请实施例提供的一种国密软加密模式秘钥获取系统的结构框图。

图2是本申请实施例提供的一种应用于支付系统的国密软加密模式秘钥获取方法的流程示意图。

图3是本申请实施例提供的一种应用于商户终端的国密软加密模式秘钥获取的方法的流程示意图。

图4是本申请实施例提供的一种应用于支付系统的国密软加密模式秘钥获取的系统的结构框图。

图5是本申请实施例提供的一种应用于商户终端的国密软加密模式秘钥获取的系统的结构框图。

图6是本申请实施例提供的可读存储介质的结构框图。

具体实施方式

以下结合附图对本申请作进一步详细说明。

本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。

图1为本申请实施例提供的一种国密软加密模式秘钥获取系统的结构框图。如图1所示,该系统包括支付系统和商户终端。

其中,支付系统是由提供支付清算服务和实现支付指令传送及资金清算的专业技术手段共同组成,支付系统用以实现债权债务清偿及资金转移的一种金融安排,支付系统也称清算系统,本实施例中支付系统为商户所使用的本平台的可以实现支付功能的操作系统。

商户终端为可以为商户提供登录支付系统、进行支付操作、验证支付等操作的智能终端设备,其中商户终端可以为台式计算机、平板电脑、智能手机等,但不局限于此。

基于上述系统,本实施例提供一种国密软加密模式秘钥获取方法,图2为该方法的流程示意图,该方法可由支付系统执行。该支付系统为本申请中平台提供的支付系统,也可以为其他能够实现支付功能的操作系统。

如图2所示,该方法主要流程描述如下(步骤S201~S205):

步骤S201,生成商户传输秘钥对,其中,商户传输秘钥对包括商户公钥和商户私钥。

在本实施例中,商户传输秘钥对采用国密算法SM2算法生成,其中,SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。

值得说明的是,SM2为非对称秘钥对,包括公钥和私钥,其中公钥可以对外公开,私钥为私人持有,用其中一个秘钥加密后,另一个秘钥可以进行解密。例如利用SM2私钥进行加密后,只能用SM2公钥进行解密。

步骤S202,生成用于线下传输给商户终端的商户秘钥文件,其中商户秘钥文件包括商户私钥。

在本实施例中,商户私钥为SM2私钥,支付系统通过线下方式(如聊天软件、面对面传输等方式)将商户私钥发送给商户终端。

步骤S203,在接收到商户终端发送的工作秘钥申请信息后,使用商户公钥对工作秘钥申请信息中的第一签名进行验证。

在本实施例中,工作秘钥申请信息包括商户号和秘钥文根信息;其中秘钥文根信息可对工作秘钥申请信息起到加密效果,若对第一签名验证通过,则向商户门户发送对秘钥文根信息的状态查询请求;若接收到商户门户返回的秘钥文根信息的状态为正常,则执行生成工作秘钥MAK的步骤。

值得说明的是,商户门户指的是用于互联网的商户门户网站,是指集成了多样化内容的Web站点,又称为网络门户。通常认为网络门户就是网上游览者的出发地点,商户可经由这个途径进入网络世界,完成网上操作。

另外,文根状态正常是指商户门户存储了商户号和秘钥文跟信息的对应关系,支付系统将工作秘钥申请信息中的商户号和秘钥文根信息发送给商户门户,如果与存储的对应关系一致,则秘钥文根状态正常;相反若对应关系不一致、秘钥文根本身存在问题以及秘钥文根由支付系统作废等情况都属于秘钥文跟状态不正常。

步骤S203,若对第一签名验证通过,则生成工作秘钥MAK。

在本实施例中,在生成工作秘钥MAK之前还需要生成商户对称秘钥,其中生成商户对称秘钥采用国密SM4算法,用SM4算法生成的秘钥对都为对称秘钥对。

值得说明的是,在生成工作秘钥MAK的过程中,首先将商户号、秘钥文根信息和商户对称秘钥进行拼接,得到拼接字符串,然后对拼接字符串进行散列,最后对散列结果进行异或操作,从而得到工作秘钥MAK。

需要说明的是,异或操作是一种二进制的运算方法,散列结果自身通过异或操作得到工作秘钥MAK。

步骤S204,通过商户公钥对工作秘钥MAK进行加密,生成工作秘钥密文。

在本实施例中,加密为将明文变成密文的过程;密文即明文被加密算法加密之后会变成密文,从而确保数据安全。

步骤S205,将第一信息发送给商户终端,其中,第一信息包括工作秘钥密文。

在本实施例中,第一信息还包括第二签名,商户秘钥文件还包括平台公钥;在此之前支付平台首先通过SM2算法生成平台秘钥对,其中,平台秘钥对包括平台公钥和平台私钥,支付系统通过线上方式将平台公钥发送给商户终端;在生成工作秘钥密文之后,支付平台通过平台私钥对工作秘钥密文进行签名,得到第二签名。

值得说明的是,在将工作秘钥密文发送给商户终端后,支付系统接收到商户终端发送的第二信息后,通过商户公钥对第二信息中的第三签名进行验证,若对第三签名验证通过,则通过工作秘钥MAK对第二信息中的请求报文密文进行解密,从而得到请求报文,得到请求报文后对请求报文进行逻辑处理,生成响应报文,然后支付系统通过商户对称秘钥对对响应报文进行加密,生成响应报文密文。

得到响应报文密文之后,支付系统通过平台私钥对响应报文密文进行签名,从而得到第四签名,通过第四签名和响应报文密文生成第三信息,最后将第三信息发送给商户终端。

图3为本实施例提供的一种应用与商户终端的国密软加密模式秘钥获取方法的流程示意图。如图3所述,该方法的主要流程描述如下(步骤S301~S305):

步骤S301,读取并导入支付系统线下传输的商户秘钥文件中的商户私钥。

在本实施例中,商户终端读取商户秘钥并导入SM2商户私钥,商户终端通过特定的指令操作将商户私钥导入到支付平台上的商户门户上。

步骤S302,生成工作秘钥申请信息,其中,工作秘钥申请信息包括商户号。

在本实施例中,工作秘钥申请信息还包括秘钥文根信息,在生成工作秘钥申请信息之前还需要获取秘钥文根信息。

值得说明的是,秘钥文根信息为商户终端设定的随机字符串,商户终端设定秘钥文根信息后,并将秘钥文根信息报备到支付系统上;其中秘钥文根信息用于生成工作秘钥,通过秘钥文根生成的工作秘钥安全级别更高。

步骤S303,通过商户私钥对工作秘钥申请信息进行签名,生成第一签名,将工作秘钥申请信息和第一签名发送给支付系统。

在本实施例中,通过商户是要对工作秘钥申请信息进行签名,从而使得工作秘钥申请信息在传输过程中更加保密,使得工作秘钥申请信息的保密效果更好。

步骤S304,在接收到支付系统发送的第一信息之后,对第一信息中的工作秘钥密文进行解密,得到工作秘钥MAK。

在本实施例中,商户终端接收到第一信息后,通过商户私钥对工作秘钥密文进行解密。其中第一信息还包括第二签名,在对第一信息中的工作秘钥密文解密得到工作秘钥MAK之前,商户终端首先通过平台公钥对第二签名进行验证,如果第二签名验证通过,则对第一信息中的工作秘钥密文进行解密,从而得到工作秘钥MAK,其中,工作秘钥MAK为通过国密SM4算法得到的对称秘钥对。

若第二签名验证不通过,则向支付平台发送验证失败信息,并重新提交工作秘钥申请信息。

需要说明的是,在第二签名验证成功对工作秘钥密文进行解密得到工作秘钥MAK后,通过工作秘钥MAK对请求报文进行加密,生成请求报文密文,然后商户终端通过商户私钥对请求报文密文进行签名,从而生成第三签名,商户终端通过第三签名生成第二信息,其中第二信息包括请求报文密文和第三签名,商户终端将第二信息发送给支付系统后,接收到支付系统返回的第三信息之后,通过平台公钥对第三信息中的第四签名进行验证;

若对第四签名验证通过,则商户终端通过商户对称秘钥对第三信息中的响应报文密文进行解密,从而生成响应报文,其中,商户对称秘钥对为通过国密SM4算法生成的对称秘钥对。

图4为本申请实施例提供的一种应用于支付系统的国密软加密模式秘钥获取系统400的结构框图。如图4所示,该国密软加密模式秘钥获取的系统400主要包括:

商户传输秘钥对生成模块401,用于生成用于线下传输给商户终端的商户秘钥文件,其中,商户秘钥文件包括商户私钥;

验证模块402,用于在接收到商户终端发送的工作秘钥申请信息后,使用商户公钥对工作秘钥申请信息中的第一签名进行验证;

工作秘钥生成模块403,用于若述第一签名验证通过,则生成工作秘钥MAK;

加密模块404,用于通过商户公钥对工作秘钥MAK进行加密,生成工作秘钥密文;

第一信息发送模块405,用于将第一信息发送给商户终端,其中,第一信息包括所述工作秘钥密文。

该系统400还包括:

第三签名验证模块,用于在接收到商户终端发送的第二信息之后,通过商户公钥对第二信息中的第三签名进行验证;

请求报文生成模块,用于若对第三签名验证通过,则通过工作秘钥MAK对所述第二信息中的请求报文密文进行解密,得到请求报文;

响应报文生成模块,用于将请求报文进行逻辑处理,生成响应报文;

响应报文密文生成模块,用于通过商户对称秘钥对响应报文进行加密,生成响应报文密文;

第四签名生成模块,用于通过平台私钥对所述响应报文密文进行签名,生成第四签名;

第三信息发送模块,用于将第三信息发送给商户终端,其中,所述第三信息包括响应报文密文和第四签名。

图5为本申请实施例提供的一种应用于商户终端的国密软加密模式秘钥获取的系统500的结构框图。如图5所示,该国密软加密模式秘钥获取的系统500主要包括:

读取模块501,用于读取并导入支付系统线下传输的商户秘钥文件中的商户私钥;

工作秘钥申请信息生成模块502,用于生成工作秘钥申请信息,其中,工作秘钥申请信息包括商户号;

签名模块503,用于通过商户私钥对工作秘钥申请信息进行签名,生成第一签名,将工作秘钥申请信息和第一签名发送给支付系统;

解密模块504,用于在接收到支付系统发送的第一信息之后,对第一信息中的工作秘钥密文进行解密,得到工作秘钥MAK。

该系统500还包括:

请求报文密文生成模块,用于通过工作秘钥MAK对请求报文进行加密,生成请求报文密文;

第三签名生成模块,用于通过商户私钥对请求报文密文进行签名,生成第三签名;

第二信息发送模块,用于将第二信息发送给支付系统,其中第二信息包括请求报文密文和第三签名;

第四签名验证模块,用于在接收到支付系统返回的第三信息之后,通过平台公钥对第三信息中的第四签名进行验证;

响应报文生成模块,用于若对所述第四签名验证通过,则通过商户对称秘钥对第三信息中的响应报文密文进行解密,生成响应报文。

本申请实施例中的各功能模块可以集成在一起形成一个独立的单元,例如集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成形成一个独立的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台智能终端(可以是个人计算机、服务器或者网络设备等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例提供的方法中的各种变化方式和具体实例同样适用于本实施例提供的一种国密软加密模式秘钥获取的系统,通过前述对一种可自动修复BIOS的方法的详细描述,本领域技术人员可以清楚的知道本实施例中的一种国密软加密模式秘钥获取的系统的实施方法,为了说明书的简洁,在此不再详述。

图6为本申请实施例提供的一种智能终端600的结构框图。如图6所示,智能终端600包括处理器601、存储器602、I/O接口603、通信组件604、通信总线605;处理器601、存储器602、I/O接口603、通信组件604通过通信总线605相连。

存储器602可用于存储指令、程序、代码、代码集或指令集。存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令以及用于实现上述实施例提供的人体生物信号数据处理方法的指令等;存储数据区可存储上述实施例提供的人体生物信号数据处理方法中涉及到的数据等。

处理器601可以包括一个或者多个处理核心。处理器602通过运行或执行存储在存储器602内的指令、程序、代码集或指令集,调用存储在存储器602内的数据,执行本申请的各种功能和处理数据。处理器601可以为特定用途集成电路(Application SpecificIntegrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器和微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器601功能的电子器件还可以为其它,本申请实施例不作具体限定。

通信总线605可包括一通路,在上述组件之间传送信息。通信总线605可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA (ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。通信总线605可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个粗实线表示,但并不表示仅有一根总线或一种类型的总线。且图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

本申请实施例提供一种计算机可读存储介质,存储有能够被处理器加载并执行如上述实施例提供的人体生物信号数据处理方法的计算机程序。

本实施例中,计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。具体的,计算机可读存储介质可以是便携式计算机盘、硬盘、U盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、讲台随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、光盘、磁碟、机械编码设备以及上述任意组合。

本实施例中的计算机程序包含用于执行图2、图3所示的方法的程序代码,程序代码可包括对应执行上述实施例提供的方法步骤对应的指令。计算机程序可从计算机可读存储介质下载到各个计算/处理设备,或者通过网络(例如因特网、局域网、广域网和/或无线网)下载到外部计算机或外部存储设备。计算机程序可完全地在用户计算机上执行、作为一个独立的软件包执行。

在本申请所提供的实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,需要理解的是,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

技术分类

06120116331064