CN116055221A - 数据安全传输方法、装置、设备和介质 - Google Patents

数据安全传输方法、装置、设备和介质 Download PDF

Info

Publication number
CN116055221A
CN116055221A CN202310270492.5A CN202310270492A CN116055221A CN 116055221 A CN116055221 A CN 116055221A CN 202310270492 A CN202310270492 A CN 202310270492A CN 116055221 A CN116055221 A CN 116055221A
Authority
CN
China
Prior art keywords
data
client
random number
encrypted
server
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
Application number
CN202310270492.5A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310270492.5A priority Critical patent/CN116055221A/zh
Publication of CN116055221A publication Critical patent/CN116055221A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种数据安全传输方法,涉及信息安全领域。其中用于本地客户端的方法包括:接收浏览器发送的加密信息,所述加密信息由服务器响应于客户打开特定网页的操作而发送至所述浏览器,所述特定网页包括允许所述客户进行输入操作的网页;基于所述客户在所述特定网页的输入数据和所述加密信息得到加密传输数据;将所述加密传输数据发送至所述服务器,其中,所述服务器被配置为解密所述加密传输数据获得所述输入数据。能够利用本地客户端、浏览器和服务器三者相交互实现对客户数据在传输过程进行加密保护,防止数据窃取攻击和中间人劫持篡改攻击,提升敏感数据安全攻防对抗能力。

Description

数据安全传输方法、装置、设备和介质
技术领域
本公开涉及信息安全领域,更具体地,涉及数据安全传输方法、装置、设备、介质和程序产品。
背景技术
各种钓鱼网站层出不穷,使得客户数据遭受泄露,甚至资产蒙受巨大损失。钓鱼网站通过诱导客户使用正规网站的功能,窃取或者篡改传输数据达到中间人攻击的目的。
对于客户的敏感信息输入,大多数网站仅使用简单方式处理,例如采用特定的密码输入框进行简单的数据处理,但是极易被爆破或者解析,导致泄露敏感信息,造成客户数据泄露和资产损失。因此,如何提高客户数据的安全攻防对抗能力是当前亟待解决的问题。
发明内容
鉴于上述问题,本公开提供了数据安全传输方法、装置、设备、介质和程序产品。
本公开实施例的一个方面,提供了一种数据安全传输方法,用于本地客户端,包括:接收浏览器发送的加密信息,所述加密信息由服务器响应于客户打开特定网页的操作而发送至所述浏览器,所述特定网页包括允许所述客户进行输入操作的网页;基于所述客户在所述特定网页的输入数据和所述加密信息得到加密传输数据;将所述加密传输数据发送至所述服务器,其中,所述服务器被配置为解密所述加密传输数据获得所述输入数据。
在一些实施例中,所述加密信息包括N位第一随机数,在得到所述加密传输数据之前,还包括:生成N位第二随机数,N大于或等于2;分别拆分所述N位第一随机数和所述N位第二随机数,得到M个随机数列,其中每个随机数列包括至少一位随机数,M大于或等于2;根据所述M个随机数列得到第一加密密钥和/或第二加密密钥,其中,所述第一加密密钥和/或第二加密密钥被用于获得所述加密传输数据。
在一些实施例中,所述根据所述M个随机数列得到第一加密密钥包括:从所述M个随机数列中确定S个随机数列;将所述S个随机数列进行异或运算,所述S个随机数列中至少一个数列来自所述N位第一随机数,且至少一个数列来自所述N位第二随机数,S大于或等于2;以及根据所述S个随机数列的异或运算结果获得所述第一加密密钥。
在一些实施例中,所述加密传输数据包括第一密文数据,所述根据所述加密信息和所述输入数据得到加密传输数据包括:根据所述第一加密密钥、所述输入数据和所述M个随机数列中的任一随机数列得到所述第一密文数据。
在一些实施例中,所述根据所述M个随机数列得到第二加密密钥包括:从除所述S个随机数列之外的随机数列中确定K个随机数列;将所述K个随机数列进行异或运算,所述K个随机数列中至少一个数列来自所述N位第一随机数,且至少一个数列来自所述N位第二随机数,K大于或等于2;以及根据所述K个随机数列的异或运算结果获得所述第二加密密钥。
在一些实施例中,所述加密传输数据包括消息摘要,所述根据所述加密信息和所述输入数据得到加密传输数据包括:根据所述第二加密密钥和所述M个随机数列中的任一随机数列处理所述第一密文数据,得到所述消息摘要。
在一些实施例中,所述加密信息包括加密公钥,所述加密传输数据包括第二密文数据,还包括:利用所述加密公钥处理所述M个随机数列,得到所述第二密文数据。
在一些实施例中,所述本地客户端与所述服务器预先约定有数列确定规则,所述确定S个随机数列包括:根据所述数列确定规则确定所述S个随机数列;所述确定K个随机数列包括:根据所述数列确定规则确定所述K个随机数列;其中,所述服务器被配置为根据所述数列确定规则和所述第二密文数据获得所述第一加密密钥和所述第二加密密钥。
在一些实施例中,所述加密传输数据包括第三密文信息,还包括:获取所述本地客户端所在终端的Q个设备属性信息,Q大于或等于1;利用所述第一加密密钥处理所述Q个设备属性信息,得到所述第三密文信息,所述服务器被配置为根据所述第三密文信息获得所述终端的设备指纹信息。
在一些实施例中,所述输入数据包括R个文本,在得到所述加密传输数据之前,还包括:监听所述客户在本地输入的所述R个文本,R大于或等于1;响应于所述客户输入所述R个文本中任一个文本,随机生成第三加密密钥加密该文本。
在一些实施例中,在得到加密传输数据之前,还包括:接收所述浏览器的数据处理请求,所述浏览器被配置为响应于所述客户在所述特定网页的完成操作发送所述数据处理请求;响应于所述数据处理请求,对加密后的所述R个文本进行解密,获得所述输入数据。
在一些实施例中,所述加密信息包括所述服务器基于验签私钥得到的签名信息,在接收浏览器发送的加密信息之后,还包括:利用验签公钥对所述签名信息进行验证;在验证通过后,向所述浏览器发送通过消息,所述浏览器被配置为在接收到所述通过消息后允许所述客户在所述特定网页继续操作。
本公开实施例的另一方面提供了一种数据安全传输方法,用于服务器,包括:接收浏览器发送的请求报文,其中,所述浏览器被配置为响应于客户打开特定网页的操作发送所述请求报文,所述特定网页包括允许所述客户进行输入操作的网页;响应于所述请求报文,生成并发送所述加密信息给所述浏览器,所述浏览器被配置为将所述加密信息发送至本地客户端;接收所述本地客户端发送的加密传输数据,所述本地客户端被配置为执行如上任一项所述的方法获得所述加密传输数据;解密所述加密传输数据获得所述客户在所述特定网页的输入数据。
本公开实施例的另一方面提供了一种数据安全传输方法,用于浏览器,包括:响应于所述客户打开特定网页的操作,向服务器发送请求报文,所述特定网页包括允许所述客户进行输入操作的网页;接收所述服务器响应于所述请求报文发送的加密信息;将所述加密信息发送至本地客户端;其中,所述本地客户端被配置为执行如上任一项所述的方法获得加密传输数据,并将所述加密传输数据发送至所述服务器,所述服务器被配置为解密所述加密传输数据获得所述客户在所述特定网页的输入数据。
本公开实施例的另一方面提供了一种数据安全传输装置,用于本地客户端,包括:第一接收模块,用于接收浏览器发送的加密信息,所述加密信息由服务器响应于客户打开特定网页的操作而发送至所述浏览器,所述特定网页包括允许所述客户进行输入操作的网页;加密处理模块,用于基于所述客户在所述特定网页的输入数据和所述加密信息得到加密传输数据;第一发送模块,用于将所述加密传输数据发送至所述服务器,其中,所述服务器被配置为解密所述加密传输数据获得所述输入数据。
本公开实施例的另一方面提供了一种数据安全传输装置,用于服务器,包括:第二接收模块,用于接收浏览器发送的请求报文,其中,所述浏览器被配置为响应于客户打开特定网页的操作发送所述请求报文,所述特定网页包括允许所述客户进行输入操作的网页;第二发送模块,用于响应于所述请求报文,生成并发送所述加密信息给所述浏览器,所述浏览器被配置为将所述加密信息发送至本地客户端;第三接收模块,用于接收所述本地客户端发送的加密传输数据,所述本地客户端被配置为执行如上任一项所述的方法获得所述加密传输数据;数据解密模块,用于解密所述加密传输数据获得所述客户在所述特定网页的输入数据。
本公开实施例的另一方面提供了一种数据安全传输装置,用于浏览器,包括:第三发送模块,用于响应于所述客户打开特定网页的操作,向服务器发送请求报文,所述特定网页包括允许所述客户进行输入操作的网页;第四接收模块,用于接收所述服务器响应于所述请求报文发送的加密信息;第四发送模块,用于将所述加密信息发送至本地客户端;其中,所述本地客户端被配置为执行如上任一项所述的方法获得加密传输数据,并将所述加密传输数据发送至所述服务器,所述服务器被配置为解密所述加密传输数据获得所述客户在所述特定网页的输入数据。
本公开实施例的另一方面提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行如上任一项所述的方法。
本公开实施例的另一方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上任一项所述的方法。
本公开实施例的另一方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上任一项所述的方法。
上述一个或多个实施例具有如下有益效果:利用本地客户端相比于浏览器能够在本地实现更底层的数据处理,且相比浏览器能够调用更多的计算资源,实现较为复杂的加密处理操作,得到的加密传输数据不易被破解,利用本地客户端、浏览器和服务器三者相交互实现对客户数据在传输过程进行加密保护,防止数据窃取攻击和中间人劫持篡改攻击,提升敏感数据安全攻防对抗能力。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的数据安全传输的应用场景图;
图2示意性示出了根据本公开实施例的用于本地客户端的数据安全传输方法的流程图;
图3示意性示出了根据本公开实施例的得到第一加密密钥和/或第二加密密钥的流程图;
图4示意性示出了根据本公开实施例的得到第一加密密钥的流程图;
图5示意性示出了根据本公开实施例的得到第二加密密钥的流程图;
图6示意性示出了根据本公开实施例的得到第三密文信息的流程图;
图7示意性示出了根据本公开实施例的监听客户输入的流程图;
图8示意性示出了根据本公开实施例的获得输入数据的流程图;
图9示意性示出了根据本公开实施例的用于服务器的数据安全传输方法的流程图;
图10示意性示出了根据本公开实施例的用于浏览器的数据安全传输方法的流程图;
图11示意性示出了根据本公开实施例的客户端、浏览器和服务器三方交互的数据安全传输流程图;
图12示意性示出了根据本公开实施例的用于本地客户端的数据安全传输装置的结构框图;
图13示意性示出了根据本公开实施例的用于服务器的数据安全传输装置的结构框图;
图14示意性示出了根据本公开实施例的用于浏览器的数据安全传输装置的结构框图;以及
图15示意性示出了根据本公开实施例的适于实现数据安全传输方法的电子设备的方框图。
具体实施方式
为了便于理解本公开实施例的技术方案,首先对本公开涉及的一些技术术语进行介绍。
加密信息:由服务器生成并发送,用于本地客户端和服务器之间的加密和解密,包括第一随机数、加密公钥和签名信息;
输入数据:由客户在网页输入的数据;
第一加密密钥:由本地客户端基于第一随机数和第二随机数生成;
第二加密密钥:由本地客户端基于第一随机数和第二随机数生成;
第三加密密钥:由本地客户端基于加密算法生成;
验签公钥:由服务器生成,用于验证签名信息;
验签私钥:由服务器生成,用于服务器签名;
加密公钥:由服务器生成,用于加密一个或多个随机数列;
加密私钥:由服务器生成,用于解密由加密公钥加密的密文;
随机数列:包括至少一位随机数;
SM2算法:是椭圆曲线公钥密码算法;
SM4算法:是一种Feistel结构的分组密码算法。
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
图1示意性示出了根据本公开实施例的数据安全传输的应用场景图。但本公开并不限于此。
如图1所示,根据该实施例的应用场景100可以包括终端设备101、102,网络104,和服务器105。网络104用以在终端设备101、102和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
客户可以使用终端设备101、102通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对客户利用终端设备101、102所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的客户请求等数据进行分析等处理,并将处理结果(例如根据客户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图11对本公开实施例的数据安全传输方法进行详细描述。
图2示意性示出了根据本公开实施例的用于本地客户端的数据安全传输方法的流程图。
如图2所示,该实施例的数据安全传输方法包括操作S210~操作S230。
在操作S210,接收浏览器发送的加密信息,加密信息由服务器响应于客户打开特定网页的操作而发送至浏览器,特定网页包括允许客户进行输入操作的网页。
参照图1,本地客户端和浏览器安装在终端设备101、102中。客户通过终端设备101、102打开特定网页。特定网页可以是特定业务系统的网页、特定机构的网页或者需要填写敏感信息的网页等,可以预先在浏览器或服务器设置特定网页的范围,也可以由客户设置特定网页的范围。加密信息包括使得本地客户端可以进行加密处理的数据。
在一些实施例中,加密信息包括服务器基于验签私钥得到的签名信息,在接收浏览器发送的加密信息之后,本地客户端可以利用验签公钥对签名信息进行验证。在验证通过后,向浏览器发送通过消息,浏览器被配置为在接收到通过消息后允许客户在特定网页继续操作。
示例性地,验签私钥和验签共钥可以是服务器根据非对称算法生成的,例如SM2算法或RSA算法等。例如本地客户端为EXE(可执行程序)程序,在其安装包中预置了验签公钥。在另一些实施例中,本地客户端还可以从其他渠道与服务器通信拿到验签公钥。
在一些实施例中,本地客户端与浏览器的web页面可以直接通信。还可以编程定制浏览器,该本地客户端仅允许接受该定制浏览器的调用。在另一些实施例中,可以利用javascript语言编程js程序得到浏览器扩展程序,以扩展插件的形式安装到浏览器中,由该扩展插件与本地客户端通信。这样可以安装到多个浏览器中,对现有浏览器改造较小,具有较大的适用范围,可以在多个操作系统中实行数据安全传输,可直接安装扩展插件而无需单独开发,适配性较高。
示例性地,允许用户继续操作可以是在通过后向客户提供输入框允许客户输入信息,或者允许由本地设备向外界发送客户的输入数据。
相关技术中,大多网站通过header中Referer属性中记录的请求域名来源做判断上游请求来源的依据,当钓鱼网站清除Referer属性时,正规网站无法确定请求来源只能放行交易请求。
根据本公开的实施例,针对请求链路中无法确认上游请求来源的情况,可以通过验签是否通过判断请求来源是否为可信,并给通知浏览器,进一步提高客户敏感数据输入链路中的安全性。
在操作S220,基于客户在特定网页的输入数据和加密信息得到加密传输数据。
示例性地,输入数据可以包括客户在该网页输入的部分或全部数据,例如包括客户的基本信息、身份信息或财产信息等受到相关法规保护的信息,或者是客户自定义的有保护需求的信息。
例如客户在支付页面输入密码,则本地客户端调用所在终端设备的计算资源,基于该密码和加密信息得到加密传输数据,有效保护密码的安全。在一些实施例中,可以为本地客户端配置可信执行环境(Trusted Execution Environment,TEE),实现基于内存隔离的安全计算,提高防护能力。
在操作S230,将加密传输数据发送至服务器,其中,服务器被配置为解密加密传输数据获得输入数据。
示例性地,可以由本地客户端将加密传输数据发送至浏览器,接着浏览器或其上的扩展程序将加密传输数据发送至服务器。在另一些实施例中,可以由本地客户端直接将加密传输数据发送至服务器,可以节省数据传输环节,减小被窃取攻击的概率。
示例性地,加密传输数据可以被封装在HTTP/HTTPS请求报文中发送至服务器,能够在现有基于网络协议传输数据的基础上实现数据安全传输。
示例性地,服务器与本地客户端可以预先约定加密算法、加密密钥或处理规则,在传输过程中具有抗攻击能力,而在接收到加密传输数据后能够正常解密,进一步处理输入数据,不影响客户的业务办理。
根据本公开的实施例,利用本地客户端相比于浏览器能够在本地实现更底层的数据处理,且相比浏览器能够调用更多的计算资源,实现较为复杂的加密处理操作,得到的加密传输数据不易被破解,利用本地客户端、浏览器和服务器三者相交互实现对客户数据在传输过程进行加密保护,防止数据窃取攻击和中间人劫持篡改攻击,提升敏感数据安全攻防对抗能力。
图3示意性示出了根据本公开实施例的得到第一加密密钥和/或第二加密密钥的流程图。
在得到加密传输数据之前,如图3所示,该实施例包括操作S310~操作S330。其中加密信息包括N位第一随机数。
在操作S310,生成N位第二随机数,N大于或等于2。
示例性地,当客户打开特定网页时,服务器向浏览器下传64位随机数、SM2加密公钥和使用验签私钥对SM2加密公钥签名出的数据作为签名信息。浏览器将64位随机数传递给本地客户端,N位第一随机数即服务器下传的64位随机数,则本地客户端对应生成64位随机数,即N位第二随机数。
在操作S320,分别拆分N位第一随机数和N位第二随机数,得到M个随机数列,其中每个随机数列包括至少一位随机数,M大于或等于2。
本地客户端将服务器传来的64位随机数拆分4个16位数据rc1、rc2、rc3和rc4。将自身生成的64位随机数拆分成4个16位数据cr1、cr2、cr3、cr4。M个随机数列包括rc1、rc2、rc3、rc4、cr1、cr2、cr3和cr4。
在操作S330,根据M个随机数列得到第一加密密钥和/或第二加密密钥,其中,第一加密密钥和/或第二加密密钥被用于获得加密传输数据。
示例性地,可以使用一个加密密钥进行加密。也可以使用两个加密密钥进行加密,提高安全性。第一加密密钥和第二加密密钥可以用于相同或不同的加密算法。
可以理解,64位是由预先约定的加密算法的具体规则所决定的,例如可以使用现有的或未来开发的加密算法采用块加密方式或流式加密方式进行加密,其数据块的大小与密钥一样的长度。本公开并不将N限定于64,同样地,也不将M限定为8。
根据本公开的实施例,不仅使用来自服务器的第一随机数,还在本地生成了第二随机数,并相互结合得到加密密钥,即使加密信息在传输过程中被窃取,也难以进一步破解加密传输数据获得输入数据。
图4示意性示出了根据本公开实施例的得到第一加密密钥的流程图。
在得到加密传输数据之前,如图4所示,该实施例的根据M个随机数列得到第一加密密钥包括操作S410~操作S430。
在操作S410,从M个随机数列中确定S个随机数列。
在操作S420,将S个随机数列进行异或运算,S个随机数列中至少一个数列来自N位第一随机数,且至少一个数列来自N位第二随机数,S大于或等于2。
在操作S430,根据S个随机数列的异或运算结果获得第一加密密钥。
示例性地,异或运算是指两两数值相同为否,而数值不同时为真,可以对多个数列进行异或操作得到异或密码形式的加密密钥。
根据本公开的实施例,基于异或运算结果获得第一加密密钥,可以避免产生不断重复的密钥,克服利用频率分析就可以破解的缺陷。
在一些实施例中,加密传输数据包括第一密文数据,可以根据第一加密密钥、输入数据和M个随机数列中的任一随机数列得到第一密文数据。
根据本公开的实施例,在得到第一加密密钥的基础上,引入任一随机数列可以作为初始化向量,对输入数据加密,得到第一密文数据,即使让攻击者拿到第一加密密钥也难以破解。
图5示意性示出了根据本公开实施例的得到第二加密密钥的流程图。
在得到加密传输数据之前,如图5所示,该实施例的根据M个随机数列得到第二加密密钥包括操作S510~操作S530。
在操作S510,从M个随机数列,除S个随机数列之外的随机数列中确定K个随机数列。
在操作S520,将K个随机数列进行异或运算,K个随机数列中至少一个数列来自N位第一随机数,且至少一个数列来自N位第二随机数,K大于或等于2。以及
在操作S530,根据K个随机数列的异或运算结果获得第二加密密钥。
根据本公开的实施例,基于异或运算结果获得第二加密密钥同样可以避免产生不断重复的密钥,克服利用频率分析就可以破解的缺陷。另外,确定的K个随机数列与S个随机数列不同,使得第一加密密钥与第二加密密钥也不相同,进一步提高了同时破解两个密钥的难度。
在一些实施例中,加密传输数据包括消息摘要,根据加密信息和输入数据得到加密传输数据包括:根据第二加密密钥和M个随机数列中的任一随机数列处理第一密文数据,得到消息摘要。
示例性地,该实施例中第一加密密钥和第二加密密钥用于不同的加密算法中,第一加密密钥的作用为将明文数据(例如客户的输入数据)加密为密文数据,第二加密密钥的作用为基于第一密文数据生成消息摘要,可以在数据遭到篡改时检测出来。
例如第二加密密钥用于一般哈希算法或HMAC(Hash-Based MessageAuthentication Code,哈希运算消息认证码)算法等。以HMAC算法举例,可以将第一密文数据作为消息,第二加密密钥和M个随机数列中的任一随机数列作为密钥,消息和密钥作为输入,输出为消息摘要。
在一些实施例中,加密传输数据包括第二密文数据,可以利用加密公钥处理M个随机数列,得到第二密文数据。
根据本公开的实施例,可以令服务器在接收到加密传输数据后,根据第二密文数据确定第一加密密钥和/或第二加密密钥,从而实现后续解密。
在一些实施例中,本地客户端与服务器预先约定有数列确定规则,确定S个随机数列包括:根据数列确定规则确定S个随机数列。确定K个随机数列包括:根据数列确定规则确定K个随机数列。其中,服务器被配置为根据数列确定规则和第二密文数据获得第一加密密钥和第二加密密钥。
示例性地,数列确定规则可以包括拆分的随机数列数量、S个随机数列的确定规则、K个随机数列的确定规则以及参与得到第一密文数据和第二密文数据的随机数列确定规则。
举例说明,第一加密密钥为cr1^cr2^rc1^rc3,其中,“^”代表异或运算符号,cr1、cr2、rc1和rc3对应S个随机数列。第二加密密钥为cr3^cr4^rc2^rc4,cr3、cr4、rc2和rc4对应K个随机数列。而使得第一加密密钥结合rc3参与到获得第一密文数据的流程,使得第二加密密钥结合rc4参与到获得消息摘要的流程。
如上,服务器接收到第二密文数据,解析得到rc1、rc2、rc3、rc4、cr1、cr2、cr3和cr4,根据数列确定规则可以得到“cr1^cr2^rc1^rc3”以及“cr3^cr4^rc2^rc4”,还有第一加密密钥对应rc3,第二加密密钥对应rc4的关系。
根据本公开的实施例,通过预先确定数列确定规则,既能得到随机性较强的第一加密密钥和第二加密密钥,起到抗攻击作用,又能对消息摘要进行验签,并解密获得客户的输入数据,可以正常提供服务。
图6示意性示出了根据本公开实施例的得到第三密文信息的流程图。
如图6所示,该实施例的得到加密传输数据中终端指纹信息包括操作S610~操作S620。
在操作S610,获取本地客户端所在终端的Q个设备属性信息,Q大于或等于1。
在操作S620,利用第一加密密钥处理Q个设备属性信息,得到第三密文信息,服务器被配置为根据第三密文信息获得终端的设备指纹信息。
例如获取本地客户端所在终端设备的Q个设备属性信息包括IP、MAC(以太网物理地址)、CPU、主板、内存、可信执行环境属性等其中一个或多个信息通过第一加密密钥进行加密。一些实施例中,还可以对加密结果作base64处理,得到终端指纹信息。
根据本公开的实施例,服务器被配置为将本次传输的终端指纹信息与上次的终端指纹信息进行比对,可以通过判定是否是更换了新设备(若是旧设备则继续输入数据,若是新设备则进行其他操作)来进一步增强数据保护能力。
图7示意性示出了根据本公开实施例的监听客户输入的流程图。
在得到加密传输数据之前,如图7所示,该实施例的监听客户输入包括操作S710~操作S720。其中,输入数据包括R个文本。
在操作S710,监听客户在本地输入的R个文本,R大于或等于1。
例如本地客户端可以监听操作系统的物理键盘输入事件,实现监听识别到底层的键盘消息,也可以监听客户如利用鼠标输入、声控输入、触控输入或手势输入等方式生成的文本。
在操作S720,响应于客户输入R个文本中任一个文本,随机生成第三加密密钥加密该文本。
示例性地,本地客户端通过监听客户物理键盘输入。本地客户端监听到客户物理按键的输入后,每次随机生成一个SM4密钥,对本次输入数据进行加密。在一些实施例中,浏览器也可以监听用户输入,但是本地客户端拦截了输入,浏览器可以在监听到出现输入事件时在网页相应输入框(如密码框)内部展示“*”。在另一些实施例中,由客户端将加密后的文本发送至浏览器,浏览器接收到加密后的文本则在相应输入框(如密码框)内部展示“*”。
根据本公开的实施例,对客户每次输入的文本进行加密,提高了攻击者窃取输入数据的难度,保证了在本地客户端到浏览器之间输入链路中的安全性。
图8示意性示出了根据本公开实施例的获得输入数据的流程图。
如图8所示,该实施例的获得输入数据包括操作S810~操作S820。
在操作S810,接收浏览器的数据处理请求,浏览器被配置为响应于客户在特定网页的完成操作发送数据处理请求。
例如客户在网页输入密码后,点击支付按钮向后台发起交易请求,则点击行为则为完成操作。浏览器响应于点击行为调用本地客户端,发出数据处理请求。浏览器还可以将该笔交易的相关信息一并发给本地客户端,由本地客户端加密处理,形成加密传输数据,打包成请求报文。
在操作S820,响应于数据处理请求,对加密后的R个文本进行解密,获得输入数据。本地客户端对每次的加密数据分别解密得到输入数据。
可以理解的是,若网页中存在多个输入框,其中至少一个输入框为接收敏感信息输入,则浏览器和本地客户端可以实时交互,当客户在该至少一个输入框内输入信息时,本地客户端随机生成第三加密密钥进行加密,而其他输入框不涉及敏感信息则不加密。在另一实施例中,本地客户端也可以对所有输入框的数据皆加密。
根据本公开的实施例,在客户完成输入后,能够及时解密获得输入数据,即提高了在本地客户端和浏览器之间的传输安全性,又能够及时处理数据,以便快速提供服务,提高客户体验。
图9示意性示出了根据本公开实施例的用于服务器的数据安全传输方法的流程图。
如图9所示,该实施例的数据安全传输方法包括操作S910~操作S940。
在操作S910,接收浏览器发送的请求报文,其中,浏览器被配置为响应于客户打开特定网页的操作发送请求报文。
在操作S920,响应于请求报文,生成并发送加密信息给浏览器,浏览器被配置为将加密信息发送至本地客户端。
在操作S930,接收本地客户端发送的加密传输数据,本地客户端被配置为执行图2~图8对应的一个或多个实施例的方法获得加密传输数据。
在操作S940,解密加密传输数据获得客户在特定网页的输入数据。
可以理解,该实施例的特定网页、加密信息、加密传输数据和输入数据等术语与上文相同,在此不作赘述。
根据本公开的实施例,可以令服务器确认来自终端设备的传输数据的安全性,避免因中间人攻击行为导致的客户损失。
图10示意性示出了根据本公开实施例的用于浏览器的数据安全传输方法的流程图。
如图10所示,该实施例的数据安全传输方法包括操作S1010~操作S1030。
在操作S1010,响应于客户打开特定网页的操作,向服务器发送请求报文。
示例性地,客户可以输入特定网页的网址,或点击书签、网址超链接以打开网页,浏览器会向服务器发送HTTP/HTTPS请求报文获取数据加载网页。浏览器与服务器交互以提供网页为客户展示及提供服务的过程可以参照现有或未来将要实现的网页前端技术,在此不做赘述。
在操作S1020,接收服务器响应于请求报文发送的加密信息。
在客户操作过程中,浏览器也可以实时或异步地发送请求报文。例如打开网页时即请求加密信息,或者打开网页时仅请求网页数据,在客户将要输入敏感信息时再发送请求报文请求加密信息。因此可以预先令浏览器与服务器进行约定发送加密信息的时机。
在操作S1030,将加密信息发送至本地客户端。其中,本地客户端被配置为执行图2~图8对应的一个或多个实施例的方法获得加密传输数据,并将加密传输数据发送至服务器,服务器被配置为解密加密传输数据获得客户在特定网页的输入数据。
可以理解,该实施例的特定网页、加密信息、加密传输数据和输入数据等术语与上文相同,在此不作赘述。
根据本公开的实施例,在浏览器提供原有网页浏览服务的基础上,将加密处理过程由本地客户端执行,能够由本地客户端调用更多的计算资源实现较为复杂的加密处理操作,浏览器和本地客户端在终端设备相配合,对客户敏感数据输入链路和传输过程进行加密保护,防止数据窃取攻击和中间人劫持篡改攻击,提升敏感数据安全攻防对抗能力。
图11示意性示出了根据本公开实施例的客户端、浏览器和服务器三方交互的数据安全传输流程图。
如图11所示,该实施例的数据安全传输通过3个部分组成,包括本地客户端、浏览器和服务器。本地客户端负责对加密请求中需要加密及其验签的数据进行运算。浏览器或其扩展程序(如基于javascript语言编程的js程序,下述以js程序为例)负责将向本地客户端通信。服务器安装有对应后端程序,提供加密、签名、数据比对等功能实现。具体执行流程如下:
在操作S1101,客户在浏览器打开网上银行的网页。
在操作S1102,js程序检测本地是否安装客户端。若否,则执行操作S1103,若是,则执行操作S1104。
在操作S1103,下载安装客户端程序(预埋验签公钥)。继续执行操作S1104。
在操作S1104,服务器生成并发送加密信息,如N位第一随机数,SM2加密公钥和使用验签私钥对SM2加密公钥签名出的数据作为签名信息。
在操作S1105,js程序接收加密信息,并发送至本地客户端。
在操作S1106,本地客户端接收加密信息。
在操作S1107,生成交互密钥,验证密钥可信性。
参照图4和图5,交互密钥包括第一加密密钥和第二加密密钥。利用验签公钥验证签名信息。如验签不过,表示此请求非可信,阻断本次交易。如验签通过交易继续,按照控件相关展示参数在浏览器相应位置创建密码输入框体。
在操作S1108,客户在浏览器中输入密码完成后,提交请求。
在此过程中,参照图7和图8,对每个密码文本进行加密。
在操作S1109,本地客户端加密关键数据和组织报文。
例如第一加密密钥为cr1^cr2^rc1^rc3,第二加密密钥为cr3^cr4^rc2^rc4,客户端对每个密码文本的加密数据分别解密生成输入数据m。输入数据m通过已经协商好的第一加密密钥和rc3进行加密生成密文E(即第一密文数据)。密文E通过已经协商好的第二加密密钥(如Hmac密钥)和rc4计算出密文Erc(即消息摘要)。rcl、rc2、rc3、rc4、cr1、cr2、cr3、cr4通过服务器下传SM2密钥进行加密得到第二密文数据。获取客户端所在终端设备的IP、MAC(以太网物理地址)、CPU、信息、主板、内存、可信执行环境等其中一个或多个信息通过第一加密密钥进行加密并作base64处理。以上生成信息组合封装为上传服务器的json报文(如包括加密传输数据)。
在操作S1110,服务器解密json报文,并完成机密性和完整性验证。
例如服务器获取到客户端报文,先根据SM2加密私钥解析出rc1、rc2、rc3、rc4、cr1、cr2、cr3、cr4,通过算法对上传报文终端信息进行解密和Hmac验签。当完成完整性和机密性验证后进行后续步骤。
在操作S1111,跟进信息生成设备指纹。
解析报文里面的第三密文信息,获得终端IP、MAC(以太网物理地址)、CPU、信息、主板、内存等客户端环境参数,通过特定算法计算出唯一的设备指纹信息。特定算法可以包括simhash算法、hash算法或AES算法等,用于根据设备属性信息利用一定的算法规则计算得到一个输出结果来标识该设备。
在操作S1112,判断本次终端设备是否和上次登陆一致,若否,则执行操作S1113,若是,则执行操作S1114。
在操作S1113,如不一致则需要进行补充鉴权并进行设备绑定。若鉴权不通过,则结束。若鉴权通过,则执行操作S1114。
在操作S1114,继续后续交易。
需要说明的是,上述方法的一些步骤可以单独执行或组合执行,以及可以并行执行或顺序执行,并不局限于图中所示的具体操作顺序。
根据本公开的实施例,针对浏览器与服务器之间的请求链路,能够在敏感数据输入链路和传输过程进行加密保护,防止数据窃取攻击和中间人劫持篡改攻击,提升敏感数据安全攻防对抗能力。
基于上述数据安全传输方法,本公开还提供了分别用于本地客户端、浏览器和服务器的数据安全传输装置。以下将结合图12、图13和图14对该装置进行详细描述。
图12示意性示出了根据本公开实施例的用于本地客户端的数据安全传输装置的结构框图。
如图12所示,该实施例的数据安全传输装置1200包括第一接收模块1210、加密处理模块1220和第一发送模块1230。
第一接收模块1210可以执行操作S210,用于接收浏览器发送的加密信息,加密信息由服务器响应于客户打开特定网页的操作而发送至浏览器,特定网页包括允许客户进行输入操作的网页。
加密处理模块1220可以执行操作S220,用于基于客户在特定网页的输入数据和加密信息得到加密传输数据。
在一些实施例中,加密处理模块1220可以执行图3~图8中的一项或多项操作。
第一发送模块1230可以执行操作S230,用于将加密传输数据发送至服务器,其中,服务器被配置为解密加密传输数据获得输入数据。
图13示意性示出了根据本公开实施例的用于服务器的数据安全传输装置的结构框图。
如图13所示,该实施例的数据安全传输装置1300包括第二接收模块1310、第二发送模块1320、第三接收模块1330和数据解密模块1340。
第二接收模块1310可以执行操作S910,用于接收浏览器发送的请求报文,其中,浏览器被配置为响应于客户打开特定网页的操作发送请求报文,特定网页包括允许客户进行输入操作的网页。
第二发送模块1320可以执行操作S920,用于响应于请求报文,生成并发送加密信息给浏览器,浏览器被配置为将加密信息发送至本地客户端。
第三接收模块1330可以执行操作S930,用于接收本地客户端发送的加密传输数据,本地客户端被配置为执行图2~图8对应的一个或多个实施例的方法获得加密传输数据。
数据解密模块1340可以执行操作S940,用于解密加密传输数据获得客户在特定网页的输入数据。
图14示意性示出了根据本公开实施例的用于浏览器的数据安全传输装置的结构框图。
如图14所示,该实施例的数据安全传输装置1400包括第三发送模块1410、第四接收模块1420、第四发送模块1430。
第三发送模块1410可以执行操作S1010,用于响应于客户打开特定网页的操作,向服务器发送请求报文,特定网页包括允许客户进行输入操作的网页。
第四接收模块1420可以执行操作S1020,用于接收服务器响应于请求报文发送的加密信息。
第四发送模块1430可以执行操作S1030,用于将加密信息发送至本地客户端。
其中,本地客户端被配置为执行图2~图8对应的一个或多个实施例的方法获得加密传输数据,并将加密传输数据发送至服务器,服务器被配置为解密加密传输数据获得客户在特定网页的输入数据。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。例如数据安全传输装置1200中包括分别用于执行如上任意一项的方法的各个步骤的模块,数据安全传输装置1300或1400亦是如此。
根据本公开的实施例,数据安全传输装置1200、1300或1400中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
根据本公开的实施例,数据安全传输装置1200、1300或1400中的至少一个模块可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,数据安全传输装置1200、1300或1400中的至少一个模块可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图15示意性示出了根据本公开实施例的适于实现数据安全传输方法的电子设备的方框图。
如图15所示,根据本公开实施例的电子设备1500包括处理器1501,其可以根据存储在只读存储器(ROM)1502中的程序或者从存储部分1508加载到随机访问存储器(RAM)1503中的程序而执行各种适当的动作和处理。处理器1501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1501还可以包括用于缓存用途的板载存储器。处理器1501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1503中,存储有电子设备1500操作所需的各种程序和数据。处理器1501、ROM 1502以及RAM 1503通过总线1504彼此相连。处理器1501通过执行ROM 1502和/或RAM1503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1502和RAM 1503以外的一个或多个存储器中。处理器1501也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1500还可以包括输入/输出(I/O)接口1505,输入/输出(I/O)接口1505也连接至总线1504。电子设备1500还可以包括连接至I/O接口1505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1506。包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1507。包括硬盘等的存储部分1508。以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入存储部分1508。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的。也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1502和/或RAM 1503和/或ROM 1502和RAM 1503以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
在该计算机程序被处理器1501执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1509被下载和安装,和/或从可拆卸介质1 511被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程序被处理器1501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在客户计算设备上执行、部分地在客户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到客户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (20)

1.一种数据安全传输方法,用于本地客户端,包括:
接收浏览器发送的加密信息,所述加密信息由服务器响应于客户打开特定网页的操作而发送至所述浏览器,所述特定网页包括允许所述客户进行输入操作的网页;
基于所述客户在所述特定网页的输入数据和所述加密信息得到加密传输数据;
将所述加密传输数据发送至所述服务器,其中,所述服务器被配置为解密所述加密传输数据获得所述输入数据。
2.根据权利要求1所述的方法,其中,所述加密信息包括N位第一随机数,在得到所述加密传输数据之前,还包括:
生成N位第二随机数,N大于或等于2;
分别拆分所述N位第一随机数和所述N位第二随机数,得到M个随机数列,其中每个随机数列包括至少一位随机数,M大于或等于2;
根据所述M个随机数列得到第一加密密钥和/或第二加密密钥,其中,所述第一加密密钥和/或第二加密密钥被用于获得所述加密传输数据。
3.根据权利要求2所述的方法,其中,所述根据所述M个随机数列得到第一加密密钥包括:
从所述M个随机数列中确定S个随机数列;
将所述S个随机数列进行异或运算,所述S个随机数列中至少一个数列来自所述N位第一随机数,且至少一个数列来自所述N位第二随机数,S大于或等于2;以及
根据所述S个随机数列的异或运算结果获得所述第一加密密钥。
4.根据权利要求3所述的方法,其中,所述加密传输数据包括第一密文数据,所述根据所述加密信息和所述输入数据得到加密传输数据包括:
根据所述第一加密密钥、所述输入数据和所述M个随机数列中的任一随机数列得到所述第一密文数据。
5.根据权利要求4所述的方法,其中,所述根据所述M个随机数列得到第二加密密钥包括:
从除所述S个随机数列之外的随机数列中确定K个随机数列;
将所述K个随机数列进行异或运算,所述K个随机数列中至少一个数列来自所述N位第一随机数,且至少一个数列来自所述N位第二随机数,K大于或等于2;以及
根据所述K个随机数列的异或运算结果获得所述第二加密密钥。
6.根据权利要求5所述的方法,其中,所述加密传输数据包括消息摘要,所述根据所述加密信息和所述输入数据得到加密传输数据包括:
根据所述第二加密密钥和所述M个随机数列中的任一随机数列处理所述第一密文数据,得到所述消息摘要。
7.根据权利要求5所述的方法,其中,所述加密信息包括加密公钥,所述加密传输数据包括第二密文数据,还包括:
利用所述加密公钥处理所述M个随机数列,得到所述第二密文数据。
8.根据权利要求7所述的方法,其中,所述本地客户端与所述服务器预先约定有数列确定规则,
所述确定S个随机数列包括:根据所述数列确定规则确定所述S个随机数列;
所述确定K个随机数列包括:根据所述数列确定规则确定所述K个随机数列;
其中,所述服务器被配置为根据所述数列确定规则和所述第二密文数据获得所述第一加密密钥和所述第二加密密钥。
9.根据权利要求2所述的方法,其中,所述加密传输数据包括第三密文信息,还包括:
获取所述本地客户端所在终端的Q个设备属性信息,Q大于或等于1;
利用所述第一加密密钥处理所述Q个设备属性信息,得到所述第三密文信息,所述服务器被配置为根据所述第三密文信息获得所述终端的设备指纹信息。
10.根据权利要求1~7任一项所述的方法,其中,所述输入数据包括R个文本,在得到所述加密传输数据之前,还包括:
监听所述客户在本地输入的所述R个文本,R大于或等于1;
响应于所述客户输入所述R个文本中任一个文本,随机生成第三加密密钥加密该文本。
11.根据权利要求10所述的方法,其中,在得到加密传输数据之前,还包括:
接收所述浏览器的数据处理请求,所述浏览器被配置为响应于所述客户在所述特定网页的完成操作发送所述数据处理请求;
响应于所述数据处理请求,对加密后的所述R个文本进行解密,获得所述输入数据。
12.根据权利要求1所述的方法,其中,所述加密信息包括所述服务器基于验签私钥得到的签名信息,在接收浏览器发送的加密信息之后,还包括:
利用验签公钥对所述签名信息进行验证;
在验证通过后,向所述浏览器发送通过消息,所述浏览器被配置为在接收到所述通过消息后允许所述客户在所述特定网页继续操作。
13.一种数据安全传输方法,用于服务器,包括:
接收浏览器发送的请求报文,其中,所述浏览器被配置为响应于客户打开特定网页的操作发送所述请求报文,所述特定网页包括允许所述客户进行输入操作的网页;
响应于所述请求报文,生成并发送所述加密信息给所述浏览器,所述浏览器被配置为将所述加密信息发送至本地客户端;
接收所述本地客户端发送的加密传输数据,所述本地客户端被配置为执行权利要求1~12任一项所述的方法获得所述加密传输数据;
解密所述加密传输数据获得所述客户在所述特定网页的输入数据。
14.一种数据安全传输方法,用于浏览器,包括:
响应于所述客户打开特定网页的操作,向服务器发送请求报文,所述特定网页包括允许所述客户进行输入操作的网页;
接收所述服务器响应于所述请求报文发送的加密信息;
将所述加密信息发送至本地客户端;
其中,所述本地客户端被配置为执行权利要求1~12任一项所述的方法获得加密传输数据,并将所述加密传输数据发送至所述服务器,所述服务器被配置为解密所述加密传输数据获得所述客户在所述特定网页的输入数据。
15.一种数据安全传输装置,用于本地客户端,包括:
第一接收模块,用于接收浏览器发送的加密信息,所述加密信息由服务器响应于客户打开特定网页的操作而发送至所述浏览器,所述特定网页包括允许所述客户进行输入操作的网页;
加密处理模块,用于基于所述客户在所述特定网页的输入数据和所述加密信息得到加密传输数据;
第一发送模块,用于将所述加密传输数据发送至所述服务器,其中,所述服务器被配置为解密所述加密传输数据获得所述输入数据。
16.一种数据安全传输装置,用于服务器,包括:
第二接收模块,用于接收浏览器发送的请求报文,其中,所述浏览器被配置为响应于客户打开特定网页的操作发送所述请求报文,所述特定网页包括允许所述客户进行输入操作的网页;
第二发送模块,用于响应于所述请求报文,生成并发送所述加密信息给所述浏览器,所述浏览器被配置为将所述加密信息发送至本地客户端;
第三接收模块,用于接收所述本地客户端发送的加密传输数据,所述本地客户端被配置为执行权利要求1~12任一项所述的方法获得所述加密传输数据;
数据解密模块,用于解密所述加密传输数据获得所述客户在所述特定网页的输入数据。
17.一种数据安全传输装置,用于浏览器,包括:
第三发送模块,用于响应于所述客户打开特定网页的操作,向服务器发送请求报文,所述特定网页包括允许所述客户进行输入操作的网页;
第四接收模块,用于接收所述服务器响应于所述请求报文发送的加密信息;
第四发送模块,用于将所述加密信息发送至本地客户端;
其中,所述本地客户端被配置为执行权利要求1~12任一项所述的方法获得加密传输数据,并将所述加密传输数据发送至所述服务器,所述服务器被配置为解密所述加密传输数据获得所述客户在所述特定网页的输入数据。
18.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~14中任一项所述的方法。
19.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~14中任一项所述的方法。
20.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~14中任一项所述的方法。
CN202310270492.5A 2023-03-16 2023-03-16 数据安全传输方法、装置、设备和介质 Pending CN116055221A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310270492.5A CN116055221A (zh) 2023-03-16 2023-03-16 数据安全传输方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310270492.5A CN116055221A (zh) 2023-03-16 2023-03-16 数据安全传输方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN116055221A true CN116055221A (zh) 2023-05-02

Family

ID=86125868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310270492.5A Pending CN116055221A (zh) 2023-03-16 2023-03-16 数据安全传输方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN116055221A (zh)

Similar Documents

Publication Publication Date Title
CN110855671B (zh) 一种可信计算方法和系统
US9838205B2 (en) Network authentication method for secure electronic transactions
US9231925B1 (en) Network authentication method for secure electronic transactions
CN108512846B (zh) 一种终端与服务器之间的双向认证方法和装置
CN110492990B (zh) 区块链场景下的私钥管理方法、装置及系统
CN103763631B (zh) 认证方法、服务器和电视机
EP3324572B1 (en) Information transmission method and mobile device
CN106878245B (zh) 图形码信息提供、获取方法、装置及终端
WO2018025991A1 (ja) 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム
US20180062863A1 (en) Method and system for facilitating authentication
CN110011950B (zh) 一种视频流地址的鉴权方法及装置
CN111130799B (zh) 一种基于tee进行https协议传输的方法及系统
CN110708291B (zh) 分布式网络中数据授权访问方法、装置、介质及电子设备
CN113949566B (zh) 资源访问方法、装置、电子设备和介质
CN113204772B (zh) 数据处理方法、装置、系统、终端、服务器和存储介质
CN110868291A (zh) 一种数据加密传输方法、装置、系统及存储介质
CN109379345B (zh) 敏感信息传输方法及系统
CN104243452B (zh) 一种云计算访问控制方法及系统
CN106549757B (zh) Web服务的数据真伪识别方法、服务端和客户端
CN114338247A (zh) 数据传输方法和装置、电子设备、存储介质和程序产品
CN113630412B (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
CN116633582A (zh) 安全通信方法、装置、电子设备及存储介质
CN115276978A (zh) 一种数据处理方法以及相关装置
KR101388935B1 (ko) 2채널 기반의 사용자 인증 장치 및 방법
CN111786955A (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