CN114389803A - Spa密钥分发方法及装置 - Google Patents

Spa密钥分发方法及装置 Download PDF

Info

Publication number
CN114389803A
CN114389803A CN202111597852.XA CN202111597852A CN114389803A CN 114389803 A CN114389803 A CN 114389803A CN 202111597852 A CN202111597852 A CN 202111597852A CN 114389803 A CN114389803 A CN 114389803A
Authority
CN
China
Prior art keywords
key
spa
client
address
preset
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
CN202111597852.XA
Other languages
English (en)
Other versions
CN114389803B (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.)
Qax Technology Group Inc
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qax Technology Group Inc
Secworld Information Technology Beijing Co 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 Qax Technology Group Inc, Secworld Information Technology Beijing Co Ltd filed Critical Qax Technology Group Inc
Priority to CN202111597852.XA priority Critical patent/CN114389803B/zh
Publication of CN114389803A publication Critical patent/CN114389803A/zh
Application granted granted Critical
Publication of CN114389803B publication Critical patent/CN114389803B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种SPA密钥分发方法及装置。其中,该方法包括:通过预设的密钥派生算法,根据预设的密钥种子、生成时间和客户端的IP地址确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间;通过预设的加密算法,根据SPA密钥对客户端要发送的目标报文进行加密,得到加密报文;向服务端发送加密报文、客户端的IP地址和生成时间。解决了SPA服务端在网络隐身的情况下,客户端发送SPA报文时没有完全实现关闭端口和网络隐身的问题,以及解决了SPA服务端存在端口被扫描到并被攻击的安全隐患。

Description

SPA密钥分发方法及装置
技术领域
本发明涉及信息安全领域,尤其涉及一种SPA密钥分发方法及装置。
背景技术
在服务端网络隐身的情况下,服务端默认是关闭服务端口,无法连接的,那么,客户端发送SPA报文所需的密钥则无法通过服务端在线分发到客户端。
当前,常见的分发方式是服务端通过发送短信或者邮件的方式分发客户端所需的SPA报文密钥,然后再由用户手工填写或导入到客户端,并由客户端使用该密钥进行后续业务。在这个过程中,短信或邮箱发送的往往是SPA密钥的明文,容易泄露而引发安全问题。同时,由于SPA密钥往往是一系列无规则的字符串,用户在手工操作过程,也很容易出错。最后,由于要发送短信或者邮件,那么就必然要求SPA服务端开放端口并能够网络链接到短信网关或邮箱网关,这就导致SPA服务端并没有完全实现关闭端口和网络隐身,所以这也必然导致SPA服务端存在端口被扫描到并被攻击的安全隐患。
发明内容
针对现有技术中的问题,本发明实施例提供一种SPA密钥分发方法及装置。SPA密钥分发的方法,解决了SPA服务端在网络隐身的情况下,客户端发送SPA报文时没有完全实现关闭端口和网络隐身的问题,以及解决了SPA服务端存在端口被扫描到并被攻击的安全隐患。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种SPA密钥分发方法,应用于客户端,包括:通过预设的密钥派生算法,根据预设的密钥种子、生成时间和所述客户端的IP地址确定SPA密钥,所述生成时间用于表征所述客户端生成所述SPA密钥的时间;通过预设的加密算法,根据所述SPA密钥对所述客户端要发送的目标报文进行加密,得到加密报文;向服务端发送所述加密报文、所述客户端的IP地址和所述生成时间。
进一步地,所述向服务端发送所述加密报文、所述客户端的IP地址和所述生成时间之后,还包括:接收所述服务端发出的加密结果集,通过预设的解密算法,根据所述SPA密钥对所述加密结果集进行解密,得到目标结果集。
第二方面,本发明实施例提供了一种SPA密钥分发方法,应用于服务端,包括:接收客户端发出的加密报文、所述客户端的IP地址和生成时间,通过预设的密钥派生算法,根据预设的密钥种子、所述客户端的IP地址和所述生成时间确定SPA密钥,所述生成时间用于表征所述客户端生成所述SPA密钥的时间;通过预设的解密算法,根据所述SPA密钥对所述加密报文进行解密,得到目标报文。
进一步地,所述接收客户端发出的加密报文、所述客户端的IP地址和生成时间之前,还包括:建立可信信息表,所述可信信息表包括所述服务端可以信任的至少一个客户端的IP地址;以及所述通过预设的密钥派生算法,根据预设的密钥种子、所述客户端的IP地址和所述生成时间确定SPA密钥,包括:查询所述可信信息表中是否存在所述客户端的IP地址,若存在所述客户端的IP地址,则通过预设的密钥派生算法,根据预设的密钥种子、所述客户端的IP地址和所述生成时间确定所述SPA密钥。
进一步地,所述得到目标报文之后,还包括:根据所述目标报文执行业务操作,得到目标结果集;通过预设的加密算法,根据所述SPA密钥对所述目标结果集进行加密,得到加密结果集,并向所述客户端发送所述加密结果集。
第三方面,本发明实施例还提供了一种SPA密钥分发装置,应用于客户端,包括:第一处理模块,用于通过预设的密钥派生算法,根据预设的密钥种子、生成时间和所述客户端的IP地址确定SPA密钥,所述生成时间用于表征所述客户端生成所述SPA密钥的时间;第二处理模块,用于通过预设的加密算法,根据所述SPA密钥对所述客户端要发送的目标报文进行加密,得到加密报文;第三处理模块,用于向服务端发送所述加密报文、所述客户端的IP地址和所述生成时间。
第四方面,本发明实施例还提供了一种SPA密钥分发装置,应用于服务端,包括:第四处理模块,用于接收客户端发出的加密报文、所述客户端的IP地址和生成时间,通过预设的密钥派生算法,根据预设的密钥种子、所述客户端的IP地址和所述生成时间确定SPA密钥,所述生成时间用于表征所述客户端生成所述SPA密钥的时间;第五处理模块,用于通过预设的解密算法,根据所述SPA密钥对所述加密报文进行解密,得到目标报文。
第五方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面或如第二方面所述SPA密钥分发方法的步骤。
第六方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面或如第二方面所述SPA密钥分发方法的步骤。
第七方面,本发明实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现如第一方面或如第二方面所述SPA密钥分发方法的步骤。
本发明实施例提供的SPA密钥分发方法及装置,应用于客户端,通过预设的密钥派生算法,根据预设的密钥种子、生成时间和所述客户端的IP地址确定SPA密钥,所述生成时间用于表征所述客户端生成所述SPA密钥的时间;通过预设的加密算法,根据所述SPA密钥对所述客户端要发送的目标报文进行加密,得到加密报文;向服务端发送加密报文、客户端的IP地址和生成时间。通过预设的密钥种子、生成时间和客户端的IP地址确定SPA密钥,能够实现SPA密钥的动态更新,进而不需要服务端向客户端下发更新的SPA密钥、也不需要服务端与客户端在线交换密钥方式进行更新。实现了SPA服务端完全关闭端口和网络隐身,避免了SPA服务端存在端口被扫描到并被攻击的安全隐患。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明SPA密钥分发方法的一些实施例流程图;
图2为本发明SPA密钥分发方法的另一些实施例流程图;
图3为客户端向服务端发送加密报文的一个应用场景的示意图;
图4为派生SPA密钥的一个应用场景的示意图;
图5为本发明SPA密钥分发装置的一些实施例结构示意图;
图6为本发明SPA密钥分发装置的另一些实施例结构示意图;
图7为本发明电子设备实体实施例结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明SPA密钥分发方法的一些实施例流程图。如图1所示,本发明实施例的SPA密钥分发方法包括:
S101,通过预设的密钥派生算法,根据预设的密钥种子、生成时间和客户端的IP地址确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间。
单包授权(Single Packet Authorization,简称SPA)是软件定义边界(SoftwareDefined Perimeter,简称SDP)的核心功能,主要作用是通过默认关闭服务端口,使服务实现网络隐身,从网络上无法连接、无法扫描。如果需要使用服务,则通过特定客户端发送相应的SPA报文信息给服务器,服务器认证该报文后,将对特定客户端的IP地址打开相关的服务。此时,客户端发送的SPA报文信息将采用与服务端相同SPA密钥(例如S101中的SPA密钥)进行签名和加密等,从而确保SPA报文的安全。
密钥派生算法的作用是从一个共享的秘密比特串中派生出秘密数据。在密钥协商过程中,密钥派生算法作用在密钥交换所获取共享的秘密比特串上,从中产生所需的会话密钥或进一步加密所需的密钥数据。
在一些实施例中,密钥种子是客户端和服务端预制的一个串随机数(参考图3),用于派生初始密钥(即S101中的SPA密钥)。服务端预制密钥种子由服务端程序通过数据库进行存储。客户端预制的密钥种子在客户端程序打包时一并制作到客户端程序安装包内。当用户安装客户端程序时,该客户端就已拥有预制的密钥种子。
作为示例,密钥派生算法可以是国家密码局认定的国产密码算法,例如SM1,SM2,SM3或SM4。
作为示例,可以将预设的密钥种子、生成时间和客户端的IP地址分别转换为比特串,并将预设的密钥种子、生成时间和客户端的IP地址的比特串拼接,然后利用预设的密钥派生算法确定SPA密钥。
作为示例,预设的密钥种子可以是一串随机数字,也可以是根据客户端的地理位置、IP地址等生成的具有一定规律的数字串或字符串。
在SDP网络环境下,由于SPA密钥加入了生成时间和客户端计算机的IP等这些动态因子,在每次通信时使得SPA密钥能够做到“一次一密”,即:由于时间是变化的、客户端计算机IP也可能是变化的,所以客户端每一次发起通信时,计算出来SPA密钥均能够保持其唯一性,能够保证SPA密钥不会与之前使用过的发生重复;同理,服务端也是能够计算得到“一次一密”的SPA密钥,对加密报文进行解密和验证等。因此,基于此种机制,能够实现密钥的动态更新,进而不需要服务端向客户端下发更新的SPA密钥、也不需要服务端与客户端在线交换密钥方式进行更新。
S102,通过预设的加密算法,根据SPA密钥对客户端要发送的目标报文进行加密,得到加密报文。
数据加密的过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”。通过这样的途径,来达到保护数据不被非法人窃取、阅读的目的。
作为示例,预设的加密算法可以为AES算法、DES算法或者3DES算法等的对称加密算法,对称加密算法使用一个密钥完成加密的解密操作。
S103,向服务端发送加密报文、客户端的IP地址和生成时间。
在SDP网络环境下,向服务端发送客户端的IP地址和生成时间是为了提供生成密钥的数据给服务端,使得服务端的预设的密钥种子能结合客户端的IP地址和生成时间生成密钥,并解密加密报文。客户端和服务端生成的密钥可以是一样的。
向服务端发送加密报文、客户端的IP地址和生成时间。实现了不用服务端额外开放端口给客户端分发密钥,也不需要通过短信或者邮件形式发送密钥,而且也不需要用户在客户端进行手工操作,即可完成客户端的SPA相关密钥的产生和分发。
在一些可选的实现方式中,向服务端发送加密报文、客户端的IP地址和生成时间之后,还包括:接收服务端发出的加密结果集,通过预设的解密算法,根据SPA密钥对加密结果集进行解密,得到目标结果集。
数据解密过程:数据接收方收到密文后,若想读取原数据,则需要使用加密使用的密钥及相同算法的逆算法对加密的密文进行解密,才能使其恢复成可读明文。
作为示例,客户端预设的解密算法与客户端预设的加密算法相互可逆,用于加密或解密的密钥可以是一样的。
以图3为例,在客户端安装后,向客户端向服务端发送SPA报文(即目标报文)时,客户端使用密钥种子,再加生成时间和客户端计算机的IP地址等因子按照既定的组合方式组合在一起,作为密钥派生算法的输入参数,派生出SPA密钥K1(即SPA密钥)。并使用SPA密钥K1对发送的SPA报文进行签名和加密等安全保护。其中,可参与密钥派生的因子包括但不限于:生成时间、客户端计算机IP等;组合方式包括但不限于直接拼接、按位异或等方式,密钥的组合方式可以参考图4。
本发明实施例提供的SPA密钥分发方法,应用于客户端,通过预设的密钥派生算法,根据预设的密钥种子、生成时间和客户端的IP地址确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间;通过预设的加密算法,根据SPA密钥对客户端要发送的目标报文进行加密,得到加密报文;向服务端发送加密报文、客户端的IP地址和生成时间。通过预设的密钥种子、生成时间和客户端的IP地址确定SPA密钥,能够实现SPA密钥的动态更新,进而不需要服务端向客户端下发更新的SPA密钥、也不需要服务端与客户端在线交换密钥方式进行更新。实现了SPA服务端完全关闭端口和网络隐身,避免了SPA服务端存在端口被扫描到并被攻击的安全隐患。
图2为本发明SPA密钥分发方法的另一些实施例流程图。如图2所示,本发明实施例的SPA密钥分发方法,应用于服务端,包括:
S201,接收客户端发出的加密报文、客户端的IP地址和生成时间,通过预设的密钥派生算法,根据预设的密钥种子、客户端的IP地址和生成时间确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间。
作为示例,服务端预设的密钥派生算法与客户端预设的密钥派生算法可以一样。
作为示例,服务端预设的密钥种子与客户端预设的密钥种子可以一样。
在一些可选的实现方式中,接收客户端发出的加密报文、客户端的IP地址和生成时间之前,还包括:建立可信信息表,可信信息表包括服务端可以信任的至少一个客户端的IP地址;以及通过预设的密钥派生算法,根据预设的密钥种子、客户端的IP地址和生成时间确定SPA密钥,包括:查询可信信息表中是否存在客户端的IP地址,若存在客户端的IP地址,则通过预设的密钥派生算法,根据预设的密钥种子、客户端的IP地址和生成时间确定SPA密钥。
作为示例,可以信任的至少一个客户端的IP地址还可以通过写入文档、结构型数据库、非结构型数据库等存储方式存储。
作为示例,可信信息表可以存储在本地内存中,或者云服务器中。本发明对存储可信信息表的位置不做限定。
接收客户端发出的加密报文、客户端的IP地址和生成时间,通过预设的密钥派生算法,根据预设的密钥种子、客户端的IP地址和生成时间确定SPA密钥。实现了不用服务端额外开放端口给客户端分发密钥,也不需要通过短信或者邮件形式发送密钥,而且也不需要用户在客户端进行手工操作,即可完成服务端的SPA相关密钥的产生。
作为示例,服务端校验时,也可以维护一张可信的客户端IP、设备ID等信息表,只要在表内的IP或者设备ID,都认为是可信的、安全的。判断客户端IP/设备ID是不是在可信信息表内,如果不在可信信息表,那么认为是不安全的设备。也可以通过接收客户端发出的用户名和密码,判断可信信息表中是否存在用户名和密码的方式判断客户端是否可信。
S202,通过预设的解密算法,根据SPA密钥对加密报文进行解密,得到目标报文。
作为示例,服务端预设的解密算法与服务端预设的加密算法相互可逆,用于加密或解密的密钥可以是一样的。
在一些可选的实现方式中,得到目标报文之后,还包括:根据目标报文执行业务操作,得到目标结果集;通过预设的加密算法,根据SPA密钥对目标结果集进行加密,得到加密结果集,并向客户端发送加密结果集。
仍以图3为例,服务端在接收到SPA报文(即加密报文)时,先读取服务端本地预制的密钥种子,并叠加客户端发出的生成时间、客户端计算机的IP等因子,也使用相同的密钥派生算法计算出SPA密钥K1(即SPA密钥),然后使用SPA密钥K1对SPA报文进行解密和验证等安全性校验。按照上述方式,客户端和服务端是分别各自计算得出SPA密钥K1,而不并需要客户端在线连接到服务端获取,或者服务端在线下发给客户端。
本发明实施例提供的SPA密钥分发的方法,通过接收客户端发出的加密报文、客户端的IP地址和生成时间,通过预设的密钥派生算法,根据预设的密钥种子、客户端的IP地址和生成时间确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间;通过预设的解密算法,根据SPA密钥对加密报文进行解密,得到目标报文。通过接收客户端发出的IP地址和生成时间,生成SPA密钥,用SPA密钥解密加密报文,若解密成功,则进一步说明客户端是可以信任的,即完成了客户端的验证,也获得了目标报文。实现了SPA服务端完全实现关闭端口和网络隐身,避免了SPA服务端存在端口被扫描到并被攻击的安全隐患。
关于SPA密钥分发和产生的一个应用场景:
(1)首先,服务端和客户端采用相同的密钥产生方式,客户端内置密钥种子,再把客户端给交给用户,用户进行安装。
(2)然后,用户打开客户端,填写需要链接的服务端和端口,并输入用户名和密码,并点击链接/登录。
作为示例,SPA数据包可以是:
{sendtime:10:31,ip:192.168.10.01,data:data,userid:abcd,password:hmdfacdfersdfbcdf=}
其中,
sendtime是发送的时间,由客户端程序自动填写时间,上述十示例为10点31分。
ip:是客户端的IP,上述示例为192.168.001;
Data:是数据密文。是被密钥加密过后的数据,上述示例为data;
Userid:是用户的账户名,上述示例为abcd;
Password:是账户名对应的密码,密码通常是加密过后的密文,上述示例为hmdfacdfersdfbcdf=。
按照上述SPA数据包,首先客户端根据预制的密钥种子,加上时间和IP作为输入,进行派生计算得到加密密钥K1(即S101中的SPA密钥),计算方式例如:
密钥K1=密钥派生算法(时间time,ip,密钥种子)
其中,时间time:
(1)可以是某个具体时间,比如10:00,那么此时,就要求发送的sendtime与此时间填写一样的值,此时服务端解密时,就采用sendtime的值就可以计算出来解密密钥。
(2)也可以是某个时间窗口,例如:10:00-10:10,正向的10分钟时间窗口,也可以是9:50-10:00,负向的10分钟。此时,sendtime填写10:00,那么服务端解密时就可以根据sendtime,向前或后推移10分钟的时间,计算出正确的解密密钥。
(3)进一步的,也可以把时间窗口可以收缩到秒级,比如正/负向10秒,也可以再放大,比如正/负向12小时;也可以以用户初次时间为基准,在用户没有退出登录前,一直使用同一个密钥,那么就和用户会话是一致的,就能实现一个会话一次密钥。
由于时间可以按照上述的方式进行灵活的处理,那么服务端接收到SPA数据包后,处理方式参考如下:
(1)首先解析:sendtime,ip地址等字段。
(2)按照相同时间偏移,正向/负向偏移的计算出来参与运算的时间,然后再采用相同的密钥派生算法,计算出密钥K1来,再对SPA中的data进行解密,获取得到发送数据的明文。
如果服务端根据时间sendtime计算出的密钥是错的,那么会导致两种情况:
一种情况是服务端在进行解密运算时就出报错。因为很多标准的加密算法对密钥是有一定的校验机制的,比如校验长度、某些特定的位值等。
另一种情况是服务端解密出目标报文,此时,数据本身可能是乱码,也可能是上层业务无法识别的数据,这些也是会直接报错的。
在整个过程中:SPA的数据包的安全是依靠时间、密钥种子、客户端的IP地址,结合密钥派生算法得到的。因此具有一定安全性。
服务端是通过解密校验SPA包保障数据安全,如果能正常解密并获得正确的数据,那么服务端就向客户端开放端口,接收客户端后续的通信交互。否则,不向客户端打开端口,也不会向返回任何错误信息。
在网络隐身的场景下(或者零信任场景),无需直接在线分发密钥,也无需通过邮件或短信消息方式分发密钥。用户只需按照平常使用方式,登录并使用客户端,由客户端与服务端自动完成网络隐身情况下的密钥产生和分发,能够确保密钥的安全性,不改变用户的使用体验和方式,也不会对用户的使用造成困扰。
图5为本发明SPA密钥分发装置实施例结构示意图。如图5所示,该SPA密钥分发装置,应用于客户端,包括:
第一处理模块501,用于通过预设的密钥派生算法,根据预设的密钥种子、生成时间和客户端的IP地址确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间;
第二处理模块502,用于通过预设的加密算法,根据SPA密钥对客户端要发送的目标报文进行加密,得到加密报文;
第三处理模块503,用于向服务端发送加密报文、客户端的IP地址和生成时间。
可选地,装置还包括:
接收模块,用于接收服务端发出的加密结果集,通过预设的解密算法,根据SPA密钥对加密结果集进行解密,得到目标结果集。
图6为本发明SPA密钥分发装置实施例结构示意图。如图6所示,该SPA密钥分发装置,应用于服务端,包括:
第四处理模块601,用于接收客户端发出的加密报文、客户端的IP地址和生成时间,通过预设的密钥派生算法,根据预设的密钥种子、客户端的IP地址和生成时间确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间;
第五处理模块602,用于通过预设的解密算法,根据SPA密钥对加密报文进行解密,得到目标报文。
可选地,装置还包括:
建立可信信息表模块,用于建立可信信息表,可信信息表包括服务端可以信任的至少一个客户端的IP地址;以及
第四处理模块601还用于查询可信信息表中是否存在客户端的IP地址,若存在客户端的IP地址,则通过预设的密钥派生算法,根据预设的密钥种子、客户端的IP地址和生成时间确定SPA密钥。
可选地,装置还包括:
第六处理模块,用于根据目标报文执行业务操作,得到目标结果集;通过预设的加密算法,根据SPA密钥对目标结果集进行加密,得到加密结果集,并向客户端发送加密结果集。
举个例子如下:
图7示例了一种电子设备的实体结构示意图,如图7示,该电子设备可以包括:处理器(processor)701、通信接口(Communications Interface)702、存储器(memory)703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。处理器701可以调用存储器703中的逻辑指令,以执行如下方法:通过预设的密钥派生算法,根据预设的密钥种子、生成时间和客户端的IP地址确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间;通过预设的加密算法,根据SPA密钥对客户端要发送的目标报文进行加密,得到加密报文;向服务端发送加密报文、客户端的IP地址和生成时间。或执行如下方法:接收客户端发出的加密报文、客户端的IP地址和生成时间,通过预设的密钥派生算法,根据预设的密钥种子、客户端的IP地址和生成时间确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间;通过预设的解密算法,根据SPA密钥对加密报文进行解密,得到目标报文。
此外,上述的存储器703中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各实施例提供的SPA密钥分发方法,例如包括:通过预设的密钥派生算法,根据预设的密钥种子、生成时间和客户端的IP地址确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间;通过预设的加密算法,根据SPA密钥对客户端要发送的目标报文进行加密,得到加密报文;向服务端发送加密报文、客户端的IP地址和生成时间。或执行如下方法:接收客户端发出的加密报文、客户端的IP地址和生成时间,通过预设的密钥派生算法,根据预设的密钥种子、客户端的IP地址和生成时间确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间;通过预设的解密算法,根据SPA密钥对加密报文进行解密,得到目标报文。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的SPA密钥分发方法,例如包括:通过预设的密钥派生算法,根据预设的密钥种子、生成时间和客户端的IP地址确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间;通过预设的加密算法,根据SPA密钥对客户端要发送的目标报文进行加密,得到加密报文;向服务端发送加密报文、客户端的IP地址和生成时间。或执行如下方法:接收客户端发出的加密报文、客户端的IP地址和生成时间,通过预设的密钥派生算法,根据预设的密钥种子、客户端的IP地址和生成时间确定SPA密钥,生成时间用于表征客户端生成SPA密钥的时间;通过预设的解密算法,根据SPA密钥对加密报文进行解密,得到目标报文。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种SPA密钥分发方法,其特征在于,应用于客户端,所述方法包括:
通过预设的密钥派生算法,根据预设的密钥种子、生成时间和所述客户端的IP地址确定SPA密钥,所述生成时间用于表征所述客户端生成所述SPA密钥的时间;
通过预设的加密算法,根据所述SPA密钥对所述客户端要发送的目标报文进行加密,得到加密报文;
向服务端发送所述加密报文、所述客户端的IP地址和所述生成时间。
2.根据权利要求1所述的SPA密钥分发方法,其特征在于,所述向服务端发送所述加密报文、所述客户端的IP地址和所述生成时间之后,还包括:
接收所述服务端发出的加密结果集,通过预设的解密算法,根据所述SPA密钥对所述加密结果集进行解密,得到目标结果集。
3.一种SPA密钥分发方法,其特征在于,应用于服务端,所述方法包括:
接收客户端发出的加密报文、所述客户端的IP地址和生成时间,通过预设的密钥派生算法,根据预设的密钥种子、所述客户端的IP地址和所述生成时间确定SPA密钥,所述生成时间用于表征所述客户端生成所述SPA密钥的时间;
通过预设的解密算法,根据所述SPA密钥对所述加密报文进行解密,得到目标报文。
4.根据权利要求3所述的SPA密钥分发方法,其特征在于,所述接收客户端发出的加密报文、所述客户端的IP地址和生成时间之前,还包括:
建立可信信息表,所述可信信息表包括所述服务端可以信任的至少一个客户端的IP地址;以及
所述通过预设的密钥派生算法,根据预设的密钥种子、所述客户端的IP地址和所述生成时间确定SPA密钥,包括:
查询所述可信信息表中是否存在所述客户端的IP地址,若存在所述客户端的IP地址,则通过预设的密钥派生算法,根据预设的密钥种子、所述客户端的IP地址和所述生成时间确定所述SPA密钥。
5.根据权利要求3-4所述的任一SPA密钥分发方法,其特征在于,所述得到目标报文之后,还包括:
根据所述目标报文执行业务操作,得到目标结果集;
通过预设的加密算法,根据所述SPA密钥对所述目标结果集进行加密,得到加密结果集,并向所述客户端发送所述加密结果集。
6.一种SPA密钥分发装置,其特征在于,应用于客户端,所述方法包括:
第一处理模块,用于通过预设的密钥派生算法,根据预设的密钥种子、生成时间和所述客户端的IP地址确定SPA密钥,所述生成时间用于表征所述客户端生成所述SPA密钥的时间;
第二处理模块,用于通过预设的加密算法,根据所述SPA密钥对所述客户端要发送的目标报文进行加密,得到加密报文;
第三处理模块,用于向服务端发送所述加密报文、所述客户端的IP地址和所述生成时间。
7.一种SPA密钥分发装置,其特征在于,应用于服务端,所述方法包括:
第四处理模块,用于接收客户端发出的加密报文、所述客户端的IP地址和生成时间,通过预设的密钥派生算法,根据预设的密钥种子、所述客户端的IP地址和所述生成时间确定SPA密钥,所述生成时间用于表征所述客户端生成所述SPA密钥的时间;
第五处理模块,用于通过预设的解密算法,根据所述SPA密钥对所述加密报文进行解密,得到目标报文。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至2或如权利要求3至5任一项所述的SPA密钥分发方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至2或如权利要求3至5任一项所述的SPA密钥分发方法的步骤。
10.一种计算机程序产品,其上存储有可执行指令,其特征在于,该指令被处理器执行时使处理器实现如权利要求1至2或如权利要求3至5中任一项所述SPA密钥分发方法的步骤。
CN202111597852.XA 2021-12-24 2021-12-24 Spa密钥分发方法及装置 Active CN114389803B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111597852.XA CN114389803B (zh) 2021-12-24 2021-12-24 Spa密钥分发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111597852.XA CN114389803B (zh) 2021-12-24 2021-12-24 Spa密钥分发方法及装置

Publications (2)

Publication Number Publication Date
CN114389803A true CN114389803A (zh) 2022-04-22
CN114389803B CN114389803B (zh) 2024-08-20

Family

ID=81197097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111597852.XA Active CN114389803B (zh) 2021-12-24 2021-12-24 Spa密钥分发方法及装置

Country Status (1)

Country Link
CN (1) CN114389803B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211790A1 (en) * 2009-02-13 2010-08-19 Ning Zhang Authentication
CN103354498A (zh) * 2013-05-31 2013-10-16 北京鹏宇成软件技术有限公司 一种基于身份的文件加密传输方法
CN110138772A (zh) * 2019-05-13 2019-08-16 上海英恒电子有限公司 一种通信方法、装置、系统、设备和存储介质
CN111770071A (zh) * 2020-06-23 2020-10-13 江苏易安联网络技术有限公司 一种网络隐身场景下网关认证可信设备的方法和装置
CN113067828A (zh) * 2021-03-25 2021-07-02 中国建设银行股份有限公司 报文处理方法、装置、服务器、计算机设备及存储介质
CN113259133A (zh) * 2021-07-02 2021-08-13 深圳市深圳通有限公司 基于http协议的加密通讯方法、设备及存储介质
CN113411345A (zh) * 2021-06-29 2021-09-17 中国农业银行股份有限公司 一种安全会话的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211790A1 (en) * 2009-02-13 2010-08-19 Ning Zhang Authentication
CN103354498A (zh) * 2013-05-31 2013-10-16 北京鹏宇成软件技术有限公司 一种基于身份的文件加密传输方法
CN110138772A (zh) * 2019-05-13 2019-08-16 上海英恒电子有限公司 一种通信方法、装置、系统、设备和存储介质
CN111770071A (zh) * 2020-06-23 2020-10-13 江苏易安联网络技术有限公司 一种网络隐身场景下网关认证可信设备的方法和装置
CN113067828A (zh) * 2021-03-25 2021-07-02 中国建设银行股份有限公司 报文处理方法、装置、服务器、计算机设备及存储介质
CN113411345A (zh) * 2021-06-29 2021-09-17 中国农业银行股份有限公司 一种安全会话的方法和装置
CN113259133A (zh) * 2021-07-02 2021-08-13 深圳市深圳通有限公司 基于http协议的加密通讯方法、设备及存储介质

Also Published As

Publication number Publication date
CN114389803B (zh) 2024-08-20

Similar Documents

Publication Publication Date Title
US9425957B2 (en) System and method for remote reset of password and encryption key
US9197411B2 (en) Protocol and method for client-server mutual authentication using event-based OTP
US7688975B2 (en) Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
CN108650210A (zh) 一种认证系统和方法
Uymatiao et al. Time-based OTP authentication via secure tunnel (TOAST): A mobile TOTP scheme using TLS seed exchange and encrypted offline keystore
US20080120504A1 (en) System and method for protecting a password against brute force attacks
CN110493367B (zh) 无地址的IPv6非公开服务器、客户机与通信方法
JP2010522488A (ja) 復号鍵を配布するために鍵の取り出しを要求する安全な電子メッセージングシステム
CN107918731A (zh) 用于控制对开放接口进行访问的权限的方法和装置
EP4133685A1 (en) Secure online issuance of customer-specific certificates with offline key generation
CN113992702B (zh) 一种ceph分布式文件系统存储国密加固方法及系统
CN107453880A (zh) 一种云数据安全存储方法和系统
CN106549858A (zh) 一种基于标识密码的即时通信加密方法
WO2024158886A1 (en) Non-custodial techniques for data encryption and decryption
US20230269066A1 (en) Method and apparatus for provisioning node-locking confidential data
US11979491B2 (en) Transmission of secure information in a content distribution network
CN108768958B (zh) 基于第三方不泄露被验信息的数据完整性和来源的验证方法
WO2023116266A1 (zh) 通信加密方法、系统和装置
CN114389803B (zh) Spa密钥分发方法及装置
CN106411953A (zh) 一种种植箱登录方法及装置
CA3210990C (en) End to end encryption with roaming capabilities
CN116506120B (zh) 密钥加载方法、密钥系统以及可读存储介质
CN114760053B (zh) 一种对称密钥的分发方法、装置、设备及介质
US20230353548A1 (en) Hybrid Content Protection Architecture for Email
Pérez Working from Home and Data Protection

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
CB02 Change of applicant information

Country or region after: China

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant after: QAX Technology Group Inc.

Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant before: QAX Technology Group Inc.

Country or region before: China

Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant