CN113378195A - 一种进行加密通信的方法、设备、介质及程序产品 - Google Patents
一种进行加密通信的方法、设备、介质及程序产品 Download PDFInfo
- Publication number
- CN113378195A CN113378195A CN202110685868.XA CN202110685868A CN113378195A CN 113378195 A CN113378195 A CN 113378195A CN 202110685868 A CN202110685868 A CN 202110685868A CN 113378195 A CN113378195 A CN 113378195A
- Authority
- CN
- China
- Prior art keywords
- information
- sub
- ciphertext
- input
- random
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000004891 communication Methods 0.000 title claims abstract description 36
- 238000012795 verification Methods 0.000 claims abstract description 141
- 238000013507 mapping Methods 0.000 claims abstract description 113
- 230000015654 memory Effects 0.000 claims description 40
- 150000003839 salts Chemical class 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 31
- 238000009938 salting Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 abstract description 12
- 238000004422 calculation algorithm Methods 0.000 description 52
- 238000013478 data encryption standard Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000005291 magnetic effect Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000005764 inhibitory process Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 208000008918 voyeurism Diseases 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请的目的是提供一种进行加密通信的方法、设备、介质及程序产品,该方法包括:响应于用户在用户设备的输入页面发起的验证请求触发操作,用户设备实时生成随机键盘,以及随机键盘中字符键与随机串的映射关系,并呈现该随机键盘;响应于用户在随机键盘中的字符输入操作,基于该映射关系,确定字符输入操作对应的输入信息;生成输入信息对应的报文数据信息;根据报文数据信息生成输入信息对应的请求报文信息;将所述请求报文信息发送至所述输入页面对应的网络设备,并接收网络设备基于上述请求报文信息返回的验证结果信息,使得用户输入信息难以被反编译和篡改,提升用户信息在输入和传输过程中的安全性,保护用户隐私安全。
Description
技术领域
本申请涉及通信领域,尤其涉及一种进行加密通信的技术。
背景技术
随着互联网技术的发展,移动终端应用也越来越多,人们使用手机等移动终端随时随地的工作、购物、娱乐,极大丰富了人们的生活。同时,针对移动应用的安全问题也越来越多,盗取用户账号、虚拟财产的行为也大肆猖獗,用户的各种网络资产受到越来越严峻的威胁。
发明内容
本申请的一个目的是提供一种进行加密通信的方法、设备、介质及程序产品。
根据本申请的一个方面,提供了一种在用户设备端进行加密通信的方法,该方法包括:
响应于用户在用户设备的输入页面发起的验证请求触发操作,实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘;
响应于所述用户在所述随机键盘中的字符输入操作,基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串;
生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系;
根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息;
将所述请求报文信息发送至所述输入页面对应的网络设备,并接收所述网络设备基于上述请求报文信息返回的验证结果信息。
根据本申请的另一个方面,提供了一种在网络设备端进行加密通信的方法,该方法包括:
接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息;
根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息;
若所述验签结果信息为验签通过,根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串;
根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备。
根据本申请的又一个方面,提供了一种进行加密通信的方法,该方法包括:
用户设备响应于用户在用户设备的输入页面发起的验证请求触发操作,实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘;响应于所述用户在所述随机键盘中的字符输入操作,基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串;生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系;根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息;将所述请求报文信息发送至所述输入页面对应的网络设备;
所述网络设备接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息;根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息;若所述验签结果信息为验签通过,根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串;根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备;
所述用户设备接收所述网络设备基于上述请求报文信息返回的验证结果信息。
根据本申请的一个方面,提供了一种进行加密通信的计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如下方法的步骤:
响应于用户在用户设备的输入页面发起的验证请求触发操作,实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘;
响应于所述用户在所述随机键盘中的字符输入操作,基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串;
生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系;
根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息;
将所述请求报文信息发送至所述输入页面对应的网络设备,并接收所述网络设备基于上述请求报文信息返回的验证结果信息。
根据本申请的另一个方面,提供了一种进行加密通信的计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如下方法的步骤:
接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息;
根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息;
若所述验签结果信息为验签通过,根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串;
根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备。
根据本申请的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如下方法的步骤:
响应于用户在用户设备的输入页面发起的验证请求触发操作,实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘;
响应于所述用户在所述随机键盘中的字符输入操作,基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串;
生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系;
根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息;
将所述请求报文信息发送至所述输入页面对应的网络设备,并接收所述网络设备基于上述请求报文信息返回的验证结果信息。
根据本申请的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如下方法的步骤:
接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息;
根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息;
若所述验签结果信息为验签通过,根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串;
根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备。
根据本申请的一个方面,提供了一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如下方法的步骤:
响应于用户在用户设备的输入页面发起的验证请求触发操作,实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘;
响应于所述用户在所述随机键盘中的字符输入操作,基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串;
生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系;
根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息;
将所述请求报文信息发送至所述输入页面对应的网络设备,并接收所述网络设备基于上述请求报文信息返回的验证结果信息。
根据本申请的另一个方面,提供了一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如下方法的步骤:
接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息;
根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息;
若所述验签结果信息为验签通过,根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串;
根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备。
根据本申请的一个方面,提供了一种进行加密通信的用户设备,该用户设备包括:
一一模块,用于响应于用户在用户设备的输入页面发起的验证请求触发操作,实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘;
一二模块,用于响应于所述用户在所述随机键盘中的字符输入操作,基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串;
一三模块,用于生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系;
一四模块,用于根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息;
一五模块,用于将所述请求报文信息发送至所述输入页面对应的网络设备,并接收所述网络设备基于上述请求报文信息返回的验证结果信息。
根据本申请的另一个方面,提供了一种进行加密通信的网络设备,该网络设备包括:
二一模块,用于接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息;
二二模块,用于根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息;
二三模块,用于若所述验签结果信息为验签通过,根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串;
二四模块,用于根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备。
与现有技术相比,本申请基于用户发起的验证请求,通过用户设备实时生成随机键盘,并基于用户在随机键盘中的字符输入操作确定对应的输入信息,对该输入信息进行加密生成对应的报文数据信息,根据该报文数据信息生成对应的请求报文信息,将该请求报文信息发送至网络设备,由网络设备基于该请求报文信息进行验证,并返回相应的验证结果信息。本申请通过在用户设备端对用户输入信息进行层层加密,使得用户输入信息难以被反编译和篡改,提升用户信息在输入和传输过程中的安全性,保护用户隐私安全。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个实施例的一个系统拓扑图;
图2示出根据本申请一个实施例的一种在用户设备端进行加密通信的方法流程图;
图3示出根据本申请一个实施例的一种随机键盘示例图;
图4示出根据本申请一个实施例的一种在网络设备端进行加密通信的方法流程图;
图5示出根据本申请一个实施例的一种进行加密通信的方法流程图;
图6示出根据本申请一个实施例的一种进行加密通信的用户设备结构图;
图7示出根据本申请一个实施例的一种进行加密通信的网络设备结构图;
图8示出可被用于实施本申请中所述的各个实施例的示例性系统。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read OnlyMemory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如Android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable GateArray,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出了根据本申请一个实施例的一种进行加密通信的系统拓扑图。该系统拓扑图包括用户设备及网络设备。当用户在该用户设备的输入页面发起验证请求时,用户设备实时生成随机键盘以及随机键盘中各字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘。该随机键盘可以是数字键盘也可以是字母键盘。该随机串为固定长度且唯一的随机数。以数字键盘为例,用户设备可生成与数字0、1、2、3、4、5、6、7、8、9一一对应的随机串,例如,64、BA、56、63、5A、9A、42、5D、6B、9E(设定生成两位十六进制随机数)。用户设备利用洗牌算法,例如,费希尔-叶茨洗牌算法(Fisher-Yates Shuffle)、克努特-杜斯滕菲尔德洗牌算法(Knuth-Durstenfeld Shuffle)等,对这些随机串进行随机排序,再渲染随机键盘界面(参考图3所示数字随机键盘示例图)。响应于用户在所述随机键盘中的字符输入操作,用户设备基于随机键盘中各字符键与随机串的映射关系,确定所述字符输入操作对应的输入信息。以数字键盘为例,用户点击键盘中数字键“3”,根据该映射关系确定其对应的第一随机串为“63”。用户设备根据该输入信息生成相应的报文数据信息,其中,该报文数据信息包括与输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及该映射关系,第一子密文信息是利用第一密钥信息对对应第一随机串加密计算所得,第二子密文信息是利用第一加盐值对第一密钥信息加密计算所得,第三子密文信息是对第一加盐值加密计算所得。用户设备再根据该报文数据信息生成该输入信息对应的请求报文信息,并将该请求报文信息发送至输入页面对应的网络设备,其中,该请求报文信息包括该映射关系、报文数据信息、签名信息及第四子密文信息,签名信息是对报文数据信息及第二加盐值执行拼接与签名计算所得,第四子密文信息是利用签名信息作为密钥对所述第二加盐值执行加密计算所得。并且,本方案部分或全部步骤对应的计算机程序可以转换成本地代码(native code),以使本方案难以被反编译,保障用户信息安全。网络设备根据第四子密文信息与签名信息进行验签,若验签通过,则进一步确定该请求报文信息对应的输入字符串,并基于该输入字符串确定该请求报文信息对应的验证结果信息,将该验证结果信息发送至用户设备。本系统通过在用户设备端对用户输入信息进行层层加密,使得用户输入信息难以被反编译和篡改,提升用户信息在输入和传输过程中的安全性,保护用户隐私安全。
参考图1所示的系统,图2示出根据本申请一个实施例的一种在用户设备端进行加密通信的方法流程图,该方法包括步骤S11、步骤S12、步骤S13、步骤S14和步骤S15。在步骤S11中,响应于用户在用户设备的输入页面发起的验证请求触发操作,用户设备实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘;在步骤S12中,响应于所述用户在所述随机键盘中的字符输入操作,用户设备基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串;在步骤S13中,用户设备生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系;在步骤S14中,用户设备根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息;在步骤S15中,用户设备将所述请求报文信息发送至所述输入页面对应的网络设备,并接收所述网络设备基于上述请求报文信息返回的验证结果信息。
在步骤S11中,响应于用户在用户设备的输入页面发起的验证请求触发操作,用户设备实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘。
在一些实施例中,所述随机键盘包括但不限于数字键盘、字母键盘、符号键盘或其中两种或多种组合的键盘。在以下实施例中,除非特别说明,本申请将以数字键盘为例阐述各实施例。本领域技术人员应能理解,其他类型键盘也适用于以下实施例。
在一些实施例中,所述随机串为与随机键盘中各字符键一一对应的固定长度且唯一的随机数。例如,对于数字字符键0、1、2、3、4、5、6、7、8、9,用户设备可随机生成10个两位十六进制随机数64、BA、56、63、5A、9A、42、5D、6B、9E与之对应,并随之确定随机键盘中字符键与随机串的映射关系。在一些实施例中,用户设备对这些随机串进行随机排序确定重排序顺序,基于该重排序顺序生成随机键盘,使得每次验证请求触发操作所呈现的随机键盘均不同,以避免旁人偷窥而造成的信息泄露。例如,用户设备利用洗牌算法,例如,费希尔-叶茨洗牌算法(Fisher-Yates Shuffle)、克努特-杜斯滕菲尔德洗牌算法(Knuth-Durstenfeld Shuffle)等,对这些随机串进行随机排序,确定重排序顺序为5D、BA、6B、9A、64、9E、63、5A、56、42,即对应的字符键的顺序为7185093426。用户设备基于该顺序生成如图3所示随机键盘示例图。在一些实施例中,所述用户设备通过调用当前应用的界面生成工具来渲染并呈现该随机键盘,从而可防止黑客通过调用系统接口窃取用户输入信息。
在此,本领域技术人员应能理解,上述随机数的长度与计数要求仅为举例,其他长度或计数方式的随机数也适用于该实施例。并且,本领域技术人员也应能理解,上述洗牌算法仅为举例,其他现有的或后续可能出现的可用于随机排序的算法如可适用该实施例,也应包含在该实施例保护范围以内,并在此以引用方式包含于此。
在步骤S12中,响应于所述用户在所述随机键盘中的字符输入操作,用户设备基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串。
在一些实施例中,若用户输入字符数量等于预定的字符输入数量或者用户点击随机键盘中确认按钮,用户设备可判定用户结束字符输入操作。用户设备基于该映射关系,确定字符输入操作中所作用的每个字符键对应的随机串,将这些随机串作为第一随机串,并确定字符输入操作对应的输入信息。例如,若用户某账号密码为“123456”,用户通过点击随机键盘中与其密码数字对应的字符键进行字符输入。用户设备可根据映射关系确定用户的字符输入操作所作用的各字符键对应的第一随机串为BA、56、63、5A、9A、42。在此过程中,用户设备并未获取用户账号密码明文“123456”,而是获取与字符输入操作对应的输入信息“BA56635A9A42”,从而可避免用户密码的泄露,保证用户信息的安全。
在步骤S13中,用户设备生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系。
在一些实施例中,对于输入信息中每个第一随机串,用户设备生成一随机数作为该第一随机串的第一密钥信息,并利用该第一密钥信息对该第一随机串进行加密计算获得第一子密文信息。用户设备再随机生成一字符串作为第一加盐值,并利用该第一加盐值对第一密钥信息进行加密计算获得第二子密文信息。用户设备还对第一加盐值进行加密计算以获得第三子密文信息。该第一子密文信息及第二子密文信息都可通过对称加密算法计算获得,该第三子密文信息可通过公钥加密算法计算获得。该用户设备对该第一子密文信息、第二子密文信息及第三子密文信息进行封装生成该输入信息对应的报文数据信息。
在步骤S14中,用户设备根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息。
在一些实施例中,用户设备随机生成一字符串作为第二加盐值,将该第二加盐值与该报文数据信息进行拼接,并计算拼接后的报文数据信息的签名信息。用户设备还基于对称加密算法,利用该签名信息作为密钥对所述第二加盐值进行加密计算以获得第四子密文信息。用户设备根据映射关系、报文数据信息、签名信息及第四子密文信息生成关于输入信息的请求报文信息。
在此,本领域技术人员应能理解,上述加密算法仅为举例,其他现有的或后续可能出现的可用于信息加密的算法如可适用该实施例,也应包含在该实施例保护范围以内,并在此以引用方式包含于此。
在一些实施例中,为了防止上述方法被反编译,造成用户信息泄露,用户设备可将上述一个或多个方法步骤对应的计算机程序转换成本地代码(native code)。在一些实施例中,为了保证所述本地代码不被篡改,用户设备还基于所述本地代码生成签名信息,在每次使用所述本地代码前进行签名验证,签名验证通过后,才继续使用所述本地代码。
在步骤S15中,用户设备将所述请求报文信息发送至所述输入页面对应的网络设备,并接收所述网络设备基于所述请求报文信息返回的验证结果信息。例如,若用户在某金融应用的支付密码输入页面中发起该请求,用户设备将该请求报文信息发送至该金融应用对应的网络设备,由该网络设备根据该请求报文信息进行解密及支付密码验证,并向用户设备返回相应的验证结果信息。若该验证结果信息为验证通过,则用户设备中该金融应用继续进行支付操作,否则,用户设备呈现验证失败提示信息。
在一些实施例中,所述步骤S13包括:步骤S131(未示出),用户设备对于所述输入信息中每个第一随机串,利用第一密钥信息对该第一随机串加密计算获得该第一随机串对应的第一子密文信息,利用第一加盐值对所述第一密钥信息加密计算获得该第一随机串对应的第二子密文信息,并对所述第一加盐值加密计算获得该第一随机串对应的第三子密文信息;步骤S132(未示出),用户设备根据所述输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系,生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系。
在一些实施例中,用户设备根据第一随机串的字符串长度,从输入信息中提取各第一随机串。例如,若与随机键盘中各字符键一一对应的随机串为两位十六进制随机数,对于输入信息“BA56635A9A42”,用户设备可根据字符串长度2,从输入信息中提取各第一随机串:BA、56、63、5A、9A、42。在一些实施例中,对于每个第一随机串,用户设备生成一随机数作为该第一随机串的第一密钥信息,并利用该第一密钥信息对第一随机串进行加密。例如,用户设备将该第一密钥信息作为密钥对第一随机串进行对称加密获得第一子密文信息。该对称加密的算法包括但不限于数据加密标准(Data Encryption Standard,DES)、三重数据加密标准(Triple Data Encryption Standard,3DES)、高级加密标准(Advanced EncryptionStandard,AES)等。该第一密钥信息可以同时用来加密和解密,为了保证该第一密钥信息在信息传递过程中的安全,用户设备利用第一加盐值对第一密钥信息进行加密获得第二子密文信息。在此,对第一密钥信息加密的方式与前述加密第一随机串的方式相同或相近,故不再赘述,并以引用方式包含于此。对于作为密钥的第一加盐值,用户设备基于非对称加密算法对该第一加盐值进行加密计算获得第三子密文信息,其中非对称加密算法包括但不限于RSA算法、ElGamal加密算法或椭圆曲线加密算法(Elliptic Curve Cryptography,ECC)等。
在此,本领域技术人员应能理解,上述对称加密算法及非对称加密算法仅为举例,其他现有的或后续可能出现的可用于对称加密或非对称加密的算法如可适用该实施例,也应包含在该实施例保护范围以内,并在此以引用方式包含于此。
在一些实施例中,用户设备根据预设的报文格式(例如,TLV格式)对输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及随机键盘中字符键与随机串的映射关系进行组装,生成该输入信息对应的报文数据信息。在一些实施例中,用户设备根据各第一随机串在所述输入信息中相对其他第一随机串的顺序关系,对输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息进行组装,并结合随机键盘中字符键与随机串的映射关系生成该输入信息对应的报文数据信息。例如,对于输入信息“BA56635A9A42”,其中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息如下表1所示。用户设备可根据各第一随机串在输入信息中的顺序信息以顺序生成报文数据信息(如下表2所示报文数据信息示例表)。
表1第一随机串对应的子密文信息示例表
第一随机串 | BA | 56 | 63 | 5A | 9A | 42 |
第一子密文信息 | C<sub>11</sub> | C<sub>21</sub> | C<sub>31</sub> | C<sub>41</sub> | C<sub>51</sub> | C<sub>61</sub> |
第二子密文信息 | C<sub>12</sub> | C<sub>22</sub> | C<sub>32</sub> | C<sub>42</sub> | C<sub>52</sub> | C<sub>62</sub> |
第三子密文信息 | C<sub>13</sub> | C<sub>23</sub> | C<sub>33</sub> | C<sub>43</sub> | C<sub>53</sub> | C<sub>63</sub> |
表2报文数据信息示例表
… | C<sub>11</sub> | C<sub>12</sub> | C<sub>13</sub> | C<sub>21</sub> | C<sub>22</sub> | C<sub>23</sub> | … | C<sub>61</sub> | C<sub>62</sub> | C<sub>63</sub> | … | 映射关系 | … |
在此,本领域技术人员应能理解,上述报文格式和子密文信息的组装方式及顺序仅为举例,其他现有的或后续可能出现的报文格式和子密文信息的组装方式及顺序如可适用该实施例,也应包含在该实施例保护范围以内,并在此以引用方式包含于此。
在一些实施例中,步骤S132包括:用户设备根据所述输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,分别生成所述输入信息对应的第一子密文序列、第二子密文序列和第三子密文序列,其中,所述第一子密文序列、第二子密文序列和第三子密文序列分别包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息;生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述第一子密文序列、所述第二子密文序列和所述第三子密文序列。
在一些实施例中,用户设备可基于输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系,根据所述输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,分别生成所述输入信息对应的第一子密文序列、第二子密文序列和第三子密文序列。例如,用户设备可基于输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系以顺序、逆序或其他排序方式来生成第一子密文序列、第二子密文序列和第三子密文序列。第一子密文序列、第二子密文序列和第三子密文序列可以以相同的顺序关系生成,也可以以不同的顺序关系生成。例如,用户设备基于输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系以顺序方式分别生成第一子密文序列S1:{C11,C21,C31,C41,C51,C61}、第二子密文序列S2:{C12,C22,C32,C42,C52,C62}、第三子密文序列S3:{C13,C23,C33,C43,C53,C63}。又例如,用户设备根据各第一随机串对应的第一子密文信息,基于输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系以顺序方式生成第一子密文序列S1:{C11,C21,C31,C41,C51,C61};用户设备根据各第一随机串对应的第二子密文信息,基于输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系以逆序方式生成第二子密文序列S2:{C62,C52,C42,C32,C22,C12};用户设备根据各第一随机串对应的第三子密文信息,基于输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系以自定义的其他排序方式(例如,先奇数顺序后偶数顺序)生成第三子密文序列S3:{C13,C33,C53,C23,C43,C63}。在一些实施例中,用户设备对所述第一子密文序列、所述第二子密文序列和所述第三子密文序列进行组装,生成所述输入信息对应的报文数据信息。
在此,本领域技术人员应能理解,上述子密文序列中子密文信息的顺序仅为举例,其他现有的或后续可能出现的子密文信息的顺序如可适用该实施例,也应包含在该实施例保护范围以内,并在此以引用方式包含于此。
在一些实施例中,所述输入信息中各第一随机串对应的第一子密文信息在所述第一子密文序列中相对其他第一子密文信息的顺序关系,与该第一随机串在所述输入信息中相对其他第一随机串的顺序关系相匹配;所述输入信息中各第一随机串对应的第二子密文信息在所述第二子密文序列中相对其他第二子密文信息的顺序关系,与该第一随机串在所述输入信息中相对其他第一随机串的顺序关系相匹配;或者,所述输入信息中各第一随机串对应的第三子密文信息在所述第三子密文序列中相对其他第三子密文信息的顺序关系,与该第一随机串在所述输入信息中相对其他第一随机串的顺序关系相匹配。在一些实施例中,所述与该第一随机串在所述输入信息中相对其他第一随机串的顺序关系相适应包括与该第一随机串在所述输入信息中相对其他第一随机串的顺序关系相同、相反或者存在其他排序规律。第一子密文序列中各第一子密文信息的顺序关系、第二子密文序列中各第二子密文信息的顺序关系与第三子密文序列中各第三子密文信息的顺序关系相互独立,不受其他子密文序列中各子密文信息的顺序关系的影响。例如,第一子密文序列S1:{C11,C21,C31,C41,C51,C61}中各第一随机串对应的第一子密文信息在所述第一子密文序列中相对其他第一子密文信息的顺序关系与该第一随机串在所述输入信息中相对其他第一随机串的顺序关系相同。又例如,第二子密文序列S2:{C62,C52,C42,C32,C22,C12}中各第一随机串对应的第二子密文信息在所述第二子密文序列中相对其他第二子密文信息的顺序关系与该第一随机串在所述输入信息中相对其他第一随机串的顺序关系相反。
在此,本领域技术人员应能理解,上述子密文序列中子密文信息的顺序仅为举例,其他现有的或后续可能出现的子密文信息的顺序如可适用该实施例,也应包含在该实施例保护范围以内,并在此以引用方式包含于此。
在一些实施例中,所述方法还包括:步骤S16(未示出),响应于所述字符输入操作,用户设备生成所述第一加盐值及所述第二加盐值,以用于生成所述请求报文信息。在一些实施例中,响应于所述字符输入操作,用户设备生成与所述字符输入操作所作用的一个或多个字符键一一对应的第一加盐值,以及第二加盐值。所述第一加盐值与所述第二加盐值为用户设备随机生成的字符串。各第一加盐值分别作为密钥用于对输入信息中相应第一随机串对应的第一密钥信息进行加密。该第二加盐值用于在生成签名信息时插入报文数据信息中,以增强签名信息的安全性,降低信息泄露风险。
在一些实施例中,所述步骤S11还包括:用户设备设置所述随机键盘所在窗口的属性,以使所述窗口作为当前主窗口被显示时禁止对所述窗口执行截屏操作。例如,在安卓平台中,WindowManager.LayoutParams用于向WindowManager描述窗口的管理策略。其主要成员常量Window flag系列主要用于对窗口的flag进行设置。例如,用户设备可通过设置FLAG_SECURE,禁止在随机键盘显示时进行截屏。
在此,本领域技术人员应能理解,上述禁止截屏的设置方式仅为举例,其他现有的或后续可能出现的禁止截屏的设置方式如可适用该实施例,也应包含在该实施例保护范围以内,并在此以引用方式包含于此。
在一些实施例中,所述步骤S14包括:步骤S141(未示出),用户设备生成所述报文数据信息对应的签名信息及第四子密文信息;步骤S142(未示出),用户设备生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、所述签名信息及所述第四子密文信息。
在一些实施例中,为了确保信息传输的一致,用户设备可对报文数据信息及第二加盐值执行拼接,并通过MD5信息摘要算法(MD5Message-Digest Algorithm)或安全散列算法(Secure Hash Algorithm,SHA)等签名算法对拼接后的报文数据信息执行签名计算获得报文数据信息对应的签名信息。网络设备接收到请求报文信息后可对所述签名信息进行验证。若验证通过,则在信息传输过程中,报文数据信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系并未被篡改,进一步保障用户信息在传输过程中的安全。所述对报文数据信息及第二加盐值执行拼接包括在所述报文数据信息中任意位置插入所述第二加盐值。为了确保第二加盐值在信息传输过程中的安全,用户设备可将前述签名信息作为密钥对该第二加盐值进行加密计算获得第四子密文信息。在此,所述加密计算的方式与前述步骤S13中加密第一随机串的方式相同或相近,故不再赘述,并以引用方式包含于此。在一些实施例中,用户设备根据所述映射关系、所述报文数据信息、所述签名信息及所述第四子密文信息生成所述输入信息对应的请求报文信息。
在一些实施例中,所述步骤S141包括:用户设备在所述报文数据信息上拼接第二加盐值,并计算拼接后的所述报文数据信息对应的签名信息;利用所述签名信息作为密钥对所述第二加盐值执行加密计算获得第四子密文信息。在一些实施例中,所述在所述报文数据信息上拼接第二加盐值包括在所述报文数据信息中任意位置插入所述第二加盐值。在一些实施例中,用户设备基于签名算法计算确定拼接后的所述报文数据信息对应的签名信息。该签名算法包括但不限于MD5信息摘要算法(MD5Message-Digest Algorithm)或安全散列算法(Secure Hash Algorithm,SHA)等。在一些实施例中,为了确保第二加盐值在信息传输过程中的安全,用户设备可将前述签名信息作为密钥对该第二加盐值进行加密计算获得第四子密文信息。在此,所述加密计算的方式与前述步骤S13中加密第一随机串的方式相同或相近,故不再赘述,并以引用方式包含于此。
在此,本领域技术人员应能理解,上述签名算法仅为举例,其他现有的或后续可能出现的签名算法如可适用该实施例,也应包含在该实施例保护范围以内,并在此以引用方式包含于此。
参考图1所示的系统,图4示出根据本申请一个实施例的一种在网络设备端进行加密通信的方法流程图,该方法包括步骤S21、步骤S22、步骤S23和步骤S24。在步骤S21中,网络设备接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息;在步骤S22中,网络设备根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息;在步骤S23中,若所述验签结果信息为验签通过,网络设备根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串;在步骤S24中,网络设备根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备。
在步骤S21中,网络设备接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息。在一些实施例中,网络设备根据可根据该请求报文信息对应的报文格式信息,从所述请求报文信息中提取所述映射关系、所述报文数据信息、所述签名信息及所述第四子密文信息。
在步骤S22中,网络设备根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息。在一些实施例中,网络设备根据所述签名信息对所述第四子密文信息进行解密计算获得第二加盐值,再根据所述第二加盐值及所述报文数据信息对所述签名信息进行验证。网络设备对所述第二加盐值及所述报文数据信息执行拼接与签名计算获得验证签名信息,若该验证签名信息与所述签名信息相同,则验签通过,该请求报文信息未被篡改;否则,验签不通过,该请求报文信息遭受篡改。若验签结果信息为验签不通过,网络设备可直接将验证结果信息返回至用户设备,该验证结果信息包括验签失败提示信息。
在步骤S23中,若所述验签结果信息为验签通过,网络设备根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串。在一些实施例中,若所述验签结果信息为验签通过,网络设备根据报文数据信息确定确定所述用户设备对应的输入信息,其中,所述输入信息包括一个或多个第一随机串。网络设备根据所述映射关系确定所述输入信息中每个第一随机串对应的字符信息,并根据每个第一随机串对应的字符信息确定所述请求报文信息对应的输入字符串。例如,随机键盘中数字0-9与随机串的映射关系如下表3。网络设备确定的输入信息为“BA56635A9A42”,则根据该映射关系可确定用户输入信息明文为“123456”。
表3随机键盘中数字与随机串的映射关系表
数字 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
字符串 | 64 | BA | 56 | 63 | 5A | 9A | 42 | 5D | 6B | 9E |
在步骤S24中,网络设备根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备。在一些实施例中,所述请求报文信息还包括所述用户设备对应用户的标识信息,其中所述用户的标识信息包括用户的姓名、昵称、手机号、社交账号或者用户设备标识等可用于区分该用户与其他用户的标识信息。网络设备基于该用户的标识信息在其数据库中查询确定与该标识信息对应的验证信息。若该验证信息与该输入字符串相同,则网络设备可确定该请求报文信息对应的验证结果信息包括验证成功信息;否则,该请求报文信息对应的验证结果信息包括验证失败信息。
在一些实施例中,所述步骤S22包括:步骤S221(未示出),网络设备利用所述签名信息对所述第四子密文信息解密计算获得第二加盐值;步骤S222(未示出),网络设备对所述第二加盐值及所述报文数据信息执行拼接与签名计算获得验证签名信息;步骤S223(未示出),网络设备根据所述验证签名信息与所述签名信息确定所述请求报文信息的验签结果信息。
在一些实施例中,网络设备基于对称加密算法,利用所述签名信息对所述第四子密文信息进行解密计算获得第二加盐值。所述对称加密算法包括但不限于数据加密标准(Data Encryption Standard,DES)、三重数据加密标准(Triple Data EncryptionStandard,3DES)、高级加密标准(Advanced Encryption Standard,AES)等。所述对所述第二加盐值及所述报文数据信息执行拼接包括在所述报文数据信息中任意位置插入所述第二加盐值,该第二加盐值插入位置与用户设备拼接报文数据信息与第二加盐值时的插入位置相同。网络设备基于签名算法计算确定拼接后的所述报文数据信息对应的验证签名信息。该签名算法包括但不限于MD5信息摘要算法(MD5Message-Digest Algorithm)或安全散列算法(Secure Hash Algorithm,SHA)等。网络设备判断所述验证签名信息是否与所述签名信息相匹配,若相匹配,则验签通过,该请求报文信息未被篡改;否则,验签不通过,该请求报文信息遭受篡改。
在此,本领域技术人员应能理解,上述对称加密算法及签名算法仅为举例,其他现有的或后续可能出现的对称加密算法与签名算法如可适用该实施例,也应包含在该实施例保护范围以内,并在此以引用方式包含于此。
在一些实施例中,所述步骤S22还包括步骤S224(未示出),网络设备根据所述签名信息确定所述请求报文信息的验重结果信息;所述步骤S221包括:若所述验重结果信息为验重通过,网络设备利用所述签名信息对所述第四子密文信息解密计算获得第二加盐值。在一些实施例中,为了识别重放攻击,网络设备可将每次接收的请求报文信息中的签名信息缓存一段时间。若在缓存时间内,网络设备接收到的请求报文信息对应的签名信息与其缓存的签名信息相匹配,则可确定该请求报文信息为重复信息,该请求报文信息对应的验重结果信息为验重不通过,网络设备可直接将验证结果信息返回至用户设备,该验证结果信息包括验重失败提示信息;否则,该验重结果信息为验重通过,网络设备继续对该请求报文信息进行验签。
在一些实施例中,所述步骤S224包括网络设备根据所述签名信息是否与所述网络设备缓存的缓存信息相匹配确定所述请求报文信息的验重结果信息,其中,所述缓存信息的缓存时间小于缓存时间阈值。在一些实施例中,网络设备根据所述签名信息是否与所述网络设备缓存的缓存信息相匹配确定所述请求报文信息的验重结果信息,若两者相匹配,则验重结果信息为验重不通过;否则,验重结果信息为验重通过,网络设备将该签名信息作为缓存信息缓存。若网络设备缓存的缓存信息中存在缓存信息的缓存时间大于或等于缓存时间阈值(例如,3分钟),网络设备删除该缓存信息。
在一些实施例中,所述步骤S23包括:步骤S231(未示出),若所述验签结果信息为验签通过,网络设备根据所述报文数据信息确定所述用户设备的输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息;步骤S232(未示出),网络设备对所述第三子密文信息解密计算获得第一加盐值,利用所述第一加盐值对所述第二子密文信息解密计算获得第一密钥信息,再利用所述第一密钥信息对所述第一子密文信息解密计算获得所述第一随机串;步骤S233(未示出),网络设备根据所述输入信息中每个第一随机串、所述输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系及所述映射关系确定所述请求报文信息对应的输入字符串。
在一些实施例中,若所述验签结果信息为验签通过,网络设备可根据该报文数据信息对应的报文格式信息,从该报文数据信息中提取所述用户设备的输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息。网络设备先基于非对称加密算法对该第三子密文信息进行解密计算获得第一加盐值,其中非对称加密算法包括但不限于RSA算法、ElGamal加密算法或椭圆曲线加密算法(Elliptic CurveCryptography,ECC)等。网络设备利用该第一加盐值,根据对称加密算法对该第二子密文信息进行解密计算获得第一密钥信息;再利用该第一密钥信息,通过对称加密算法对该第一子密文信息进行解密计算获得第一随机串。该对称加密的算法包括但不限于数据加密标准(Data Encryption Standard,DES)、三重数据加密标准(Triple Data EncryptionStandard,3DES)、高级加密标准(Advanced Encryption Standard,AES)等。网络设备根据各第一子密文信息进行解密计算获得的第一随机串及输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系确定用户设备的输入信息,进而根据映射关系确定所述请求报文信息对应的输入字符串。在一些实施例中,网络设备也可根据各第一子密文信息进行解密计算获得的第一随机串及映射关系确定各第一随机串对应的字符信息,进而根据各第一随机串在所述输入信息中相对其他第一随机串的顺序关系确定所述请求报文信息对应的输入字符串。
在此,本领域技术人员应能理解,上述对称加密算法及非对称加密算法仅为举例,其他现有的或后续可能出现的对称加密算法及非对称加密算法如可适用该实施例,也应包含在该实施例保护范围以内,并在此以引用方式包含于此。
在一些实施例中,所述报文数据信息包括所述输入信息对应的第一子密文序列、第二子密文序列和第三子密文序列;所述步骤S231包括:若所述验签结果信息为验签通过,根据所述输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系,分别从所述第一子密文序列、第二子密文序列和第三子密文序列中提取与所述第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息。
在一些实施例中,所述输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系分别与该第一随机串对应的第一子密文信息在所述第一子密文序列中相对其他第一子密文信息的顺序关系、该第一随机串对应的第二子密文信息在所述第二子密文序列中相对其他第二子密文信息的顺序关系、该第一随机串对应的第三子密文信息在所述第三子密文序列中相对其他第三子密文信息的顺序关系相匹配。所述相匹配包括与该第一随机串在所述输入信息中相对其他第一随机串的顺序关系相同、相反或者存在其他排序规律。网络设备可基于该顺序关系从第一子密文序列、第二子密文序列和第三子密文序列中分别提取与第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息。例如,对于如前表1的输入信息,其对应的第一子密文序列为S1:{C11,C21,C31,C41,C51,C61},第二子密文序列为S2:{C62,C52,C42,C32,C22,C12},第三子密文序列为S3:{C13,C23,C33,C43,C53,C63},其中,第一子密文序列及第三子密文序列中顺序关系与输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系相同,第二子密文序列中顺序关系与输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系相反。若要提取输入信息中第一个第一随机串“BA”对应的子密文信息,网络设备提取第一子密文序列、第三子密文序列中第一个数据C11、C13,与第二子密文序列中第六个数据C12即可。
图5示出根据本申请一个实施例的一种进行加密通信的方法流程图,该方法包括:步骤S11’,响应于用户在用户设备的输入页面发起的验证请求触发操作,用户设备实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘;步骤S12’,响应于所述用户在所述随机键盘中的字符输入操作,用户设备基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串;步骤S13’,用户设备生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系;步骤S14’,用户设备根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息;步骤S15’,用户设备将所述请求报文信息发送至所述输入页面对应的网络设备;步骤S21’,所述网络设备接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息;步骤S22’,所述网络设备根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息;步骤S23’,若所述验签结果信息为验签通过,所述网络设备根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串;步骤S24’,所述网络设备根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备;步骤S15’,所述用户设备接收所述网络设备基于上述请求报文信息返回的验证结果信息。
在此,步骤S11’、S12’、S13’、S14’、S15’、S21’、S22’、S23’、S24’的具体实现方式,分别与前述实施例中步骤S11、S12、S13、S14、S15、S21、S22、S23、S24相同或基本相同,故不再赘述,并在此以引用方式包含于此。
图6示出根据本申请一个实施例的一种进行加密通信的用户设备结构图,所述用户设备包括一一模块11、一二模块12、一三模块13、一四模块14和一五模块15。一一模块11响应于用户在用户设备的输入页面发起的验证请求触发操作,实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘;一二模块12响应于所述用户在所述随机键盘中的字符输入操作,基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串;一三模块13生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系;一四模块14根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息;一五模块15将所述请求报文信息发送至所述输入页面对应的网络设备,并接收所述网络设备基于所述请求报文信息返回的验证结果信息。在此,所述图6示出的一一模块11、一二模块12、一三模块13、一四模块14和一五模块15对应的具体实施方式分别与前述步骤S11、步骤S12、步骤S13、步骤S14和步骤S15的具体实施例相同或相近,故不再赘述,以引用方式包含于此。
在一些实施例中,所述一三模块13包括一三一单元131(未示出)、一三二单元132(未示出)。一三一单元131对于所述输入信息中每个第一随机串,利用第一密钥信息对该第一随机串加密计算获得该第一随机串对应的第一子密文信息,利用第一加盐值对所述第一密钥信息加密计算获得该第一随机串对应的第二子密文信息,并对所述第一加盐值加密计算获得该第一随机串对应的第三子密文信息;一三二单元132根据所述输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系,生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系。在此,该一三一单元131、一三二单元132的具体实现方式分别与前述步骤S131、步骤S132相同或相近,故不再赘述,以引用方式包含于此。
在一些实施例中,所述用户设备还包括一六模块16(未示出)。所述一六模块16响应于所述字符输入操作,生成所述第一加盐值及所述第二加盐值,以用于生成所述请求报文信息。在此,该一六模块16的具体实现方式与前述步骤S16相同或相近,故不再赘述,以引用方式包含于此。
在一些实施例中,所述一四模块14包括一四一单元141(未示出)、一四二单元142(未示出)。一四一单元141生成所述报文数据信息对应的签名信息及第四子密文信息;一四二单元142生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、所述签名信息及所述第四子密文信息。在此,该一四一单元141、一四二单元142的具体实现方式分别与前述步骤S141、步骤S142相同或相近,故不再赘述,以引用方式包含于此。
图7示出根据本申请一个实施例的一种进行加密通信的网络设备结构图,所述网络设备包括二一模块21、二二模块22、二三模块23和二四模块24。二一模块21接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息;二二模块22根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息;二三模块23若所述验签结果信息为验签通过,根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串;二四模块24根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备。在此,所述图7示出的二一模块21、二二模块22、二三模块23和二四模块24对应的具体实施方式分别与前述步骤S21、步骤S22、步骤S23和步骤S24的具体实施例相同或相近,故不再赘述,以引用方式包含于此。
在一些实施例中,所述二二模块22包括二二一单元221(未示出)、二二二单元222(未示出)、二二三单元223(未示出)。二二一单元221利用所述签名信息对所述第四子密文信息解密计算获得第二加盐值;二二二单元222对所述第二加盐值及所述报文数据信息执行拼接与签名计算获得验证签名信息;二二三单元223根据所述验证签名信息与所述签名信息确定所述请求报文信息的验签结果信息。在此,该二二一单元221、二二二单元222、二二三单元223的具体实现方式分别与前述步骤S221、步骤S222、步骤S223相同或相近,故不再赘述,以引用方式包含于此。
在一些实施例中,所述二二模块22还包括二二四单元224(未示出)。二二四单元224根据所述签名信息确定所述请求报文信息的验重结果信息。在此,该二二四单元224的具体实现方式与前述步骤S224相同或相近,故不再赘述,以引用方式包含于此。
在一些实施例中,所述二三模块23包括二三一单元231(未示出)、二三二单元232(未示出)和二三三单元233(未示出)。二三一单元231若所述验签结果信息为验签通过,根据所述报文数据信息确定所述用户设备的输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息;二三二单元232对所述第三子密文信息解密计算获得第一加盐值,利用所述第一加盐值对所述第二子密文信息解密计算获得第一密钥信息,再利用所述第一密钥信息对所述第一子密文信息解密计算获得所述第一随机串;二三三单元233根据所述输入信息中每个第一随机串、所述输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系及所述映射关系确定所述请求报文信息对应的输入字符串。在此,该二三一单元231、二三二单元232和二三三单元233的具体实现方式分别与前述步骤S231、步骤S232、步骤S233相同或相近,故不再赘述,以引用方式包含于此。
图8示出了可被用于实施本申请中所述的各个实施例的示例性系统;
如图8所示在一些实施例中,系统300能够作为各所述实施例中的任意一个设备。在一些实施例中,系统300可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,系统控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与系统控制模块310通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块310可包括存储器控制器模块330,以向系统存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
系统存储器315可被用于例如为系统300加载和存储数据和/或指令。对于一个实施例,系统存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为系统300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为系统300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
除上述各实施例介绍的方法和设备外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
1.一种在用户设备端进行加密通信的方法,其中,所述方法包括:
响应于用户在用户设备的输入页面发起的验证请求触发操作,实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘;
响应于所述用户在所述随机键盘中的字符输入操作,基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串;
生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系;
根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息;
将所述请求报文信息发送至所述输入页面对应的网络设备,并接收所述网络设备基于所述请求报文信息返回的验证结果信息。
2.根据权利要求1所述的方法,其中,所述生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系包括:
对于所述输入信息中每个第一随机串,利用第一密钥信息对该第一随机串加密计算获得该第一随机串对应的第一子密文信息,利用第一加盐值对所述第一密钥信息加密计算获得该第一随机串对应的第二子密文信息,并对所述第一加盐值加密计算获得该第一随机串对应的第三子密文信息;
根据所述输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系,生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系。
3.根据权利要求2所述的方法,其中,所述根据所述输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系,生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系包括:
根据所述输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,分别生成所述输入信息对应的第一子密文序列、第二子密文序列和第三子密文序列,其中,所述第一子密文序列、第二子密文序列和第三子密文序列分别包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息;
生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述第一子密文序列、所述第二子密文序列和所述第三子密文序列。
4.根据权利要求3所述的方法,其中,所述输入信息中各第一随机串对应的第一子密文信息在所述第一子密文序列中相对其他第一子密文信息的顺序关系,与该第一随机串在所述输入信息中相对其他第一随机串的顺序关系相匹配;
所述输入信息中各第一随机串对应的第二子密文信息在所述第二子密文序列中相对其他第二子密文信息的顺序关系,与该第一随机串在所述输入信息中相对其他第一随机串的顺序关系相匹配;或者,
所述输入信息中各第一随机串对应的第三子密文信息在所述第三子密文序列中相对其他第三子密文信息的顺序关系,与该第一随机串在所述输入信息中相对其他第一随机串的顺序关系相匹配。
5.根据权利要求1至4中任一项所述的方法,其中,所述方法还包括:
响应于所述字符输入操作,生成所述第一加盐值及所述第二加盐值,以用于生成所述请求报文信息。
6.根据权利要求1至5中任一项所述的方法,其中,所述响应于用户在用户设备的输入页面发起的验证请求触发操作,实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘还包括:
设置所述随机键盘所在窗口的属性,以使所述窗口作为当前主窗口被显示时禁止对所述窗口执行截屏操作。
7.根据权利要求1至6中任一项所述的方法,其中,所述根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息包括:
生成所述报文数据信息对应的签名信息及第四子密文信息;
生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、所述签名信息及所述第四子密文信息。
8.根据权利要求7所述的方法,其中,所述生成所述报文数据信息对应的签名信息及第四子密文信息包括:
在所述报文数据信息上拼接第二加盐值,并计算拼接后的所述报文数据信息对应的签名信息;
利用所述签名信息作为密钥对所述第二加盐值执行加密计算获得第四子密文信息。
9.一种在网络设备端进行加密通信的方法,其中,所述方法包括:
接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息;
根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息;
若所述验签结果信息为验签通过,根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串;
根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备。
10.根据权利要求9所述的方法,其中,所述根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息包括:
利用所述签名信息对所述第四子密文信息解密计算获得第二加盐值;
对所述第二加盐值及所述报文数据信息执行拼接与签名计算获得验证签名信息;
根据所述验证签名信息与所述签名信息确定所述请求报文信息的验签结果信息。
11.根据权利要求10所述的方法,其中,所述根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息还包括:
根据所述签名信息确定所述请求报文信息的验重结果信息;
所述利用所述签名信息对所述第四子密文信息解密计算获得第二加盐值包括:
若所述验重结果信息为验重通过,利用所述签名信息对所述第四子密文信息解密计算获得第二加盐值。
12.根据权利要求11所述的方法,其中,所述根据所述签名信息确定所述请求报文信息的验重结果信息包括:
根据所述签名信息是否与所述网络设备缓存的缓存信息相匹配确定所述请求报文信息的验重结果信息,其中,所述缓存信息的缓存时间小于缓存时间阈值。
13.根据权利要求9至12中任一项所述的方法,其中,所述若所述验签结果信息为验签通过,根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串包括:
若所述验签结果信息为验签通过,根据所述报文数据信息确定所述用户设备的输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息;
对所述第三子密文信息解密计算获得第一加盐值,利用所述第一加盐值对所述第二子密文信息解密计算获得第一密钥信息,再利用所述第一密钥信息对所述第一子密文信息解密计算获得所述第一随机串;
根据所述输入信息中每个第一随机串、所述输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系及所述映射关系确定所述请求报文信息对应的输入字符串。
14.根据权利要求13所述的方法,其中,所述报文数据信息包括所述输入信息对应的第一子密文序列、第二子密文序列和第三子密文序列;
所述若所述验签结果信息为验签通过,根据所述报文数据信息确定所述用户设备的输入信息中每个第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息包括:
若所述验签结果信息为验签通过,根据所述输入信息中各第一随机串在所述输入信息中相对其他第一随机串的顺序关系,分别从所述第一子密文序列、第二子密文序列和第三子密文序列中提取与所述第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息。
15.一种进行加密通信的方法,其中,所述方法包括:
用户设备响应于用户在用户设备的输入页面发起的验证请求触发操作,实时生成随机键盘,以及所述随机键盘中字符键与随机串的映射关系,并在所述用户设备中呈现所述随机键盘;响应于所述用户在所述随机键盘中的字符输入操作,基于所述映射关系,确定所述字符输入操作对应的输入信息,其中,所述输入信息包括一个或多个第一随机串;生成所述输入信息对应的报文数据信息,其中,所述报文数据信息包括所述输入信息中各第一随机串对应的第一子密文信息、第二子密文信息和第三子密文信息,以及所述映射关系;根据所述报文数据信息生成所述输入信息对应的请求报文信息,其中,所述请求报文信息包括所述映射关系、所述报文数据信息、签名信息及第四子密文信息;将所述请求报文信息发送至所述输入页面对应的网络设备;
所述网络设备接收用户设备发送的请求报文信息,其中,所述请求报文信息包括随机键盘中字符键与随机串的映射关系、报文数据信息、签名信息及第四子密文信息;根据所述第四子密文信息与所述签名信息确定所述请求报文信息的验签结果信息;若所述验签结果信息为验签通过,根据所述报文数据信息及所述映射关系确定所述请求报文信息对应的输入字符串;根据所述输入字符串确定所述请求报文信息对应的验证结果信息,并将所述验证结果信息发送至所述用户设备;
所述用户设备接收所述网络设备基于所述请求报文信息返回的验证结果信息。
16.一种进行加密通信的计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1至14中任一项所述方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至14中任一项所述方法的步骤。
18.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至14中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110685868.XA CN113378195A (zh) | 2021-06-21 | 2021-06-21 | 一种进行加密通信的方法、设备、介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110685868.XA CN113378195A (zh) | 2021-06-21 | 2021-06-21 | 一种进行加密通信的方法、设备、介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113378195A true CN113378195A (zh) | 2021-09-10 |
Family
ID=77578095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110685868.XA Pending CN113378195A (zh) | 2021-06-21 | 2021-06-21 | 一种进行加密通信的方法、设备、介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113378195A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210377048A1 (en) * | 2020-12-17 | 2021-12-02 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Digital Signature Method, Signature Information Verification Method, Related Apparatus and Electronic Device |
CN115529152A (zh) * | 2022-06-17 | 2022-12-27 | 上海健交科技服务有限责任公司 | 保持信息隐私的脚本执行结果传输及校验方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942506A (zh) * | 2014-04-11 | 2014-07-23 | 芜湖航飞科技股份有限公司 | 一种密码加密输入装置及方法 |
CN104463040A (zh) * | 2014-12-18 | 2015-03-25 | 恒宝股份有限公司 | 一种密码安全输入方法及系统 |
CN105245328A (zh) * | 2015-09-09 | 2016-01-13 | 西安电子科技大学 | 一种基于第三方的用户及文件的密钥产生管理方法 |
CN106101131A (zh) * | 2016-07-06 | 2016-11-09 | 杨炳 | 一种实现支持细粒度访问控制的加密系统 |
CN106295314A (zh) * | 2015-05-22 | 2017-01-04 | 中兴通讯股份有限公司 | 基于虚拟键盘的加密方法及装置 |
CN108763972A (zh) * | 2018-05-18 | 2018-11-06 | 北京智游网安科技有限公司 | 一种基于网页的自绘随机键盘系统 |
CN109361511A (zh) * | 2018-11-08 | 2019-02-19 | 华为技术有限公司 | 数据传输方法、网络设备及计算机存储介质 |
CN109977703A (zh) * | 2019-03-26 | 2019-07-05 | 北京智游网安科技有限公司 | 一种安全键盘的加密方法、存储介质及终端设备 |
CN112866237A (zh) * | 2021-01-15 | 2021-05-28 | 广州Tcl互联网小额贷款有限公司 | 数据通讯方法、装置、设备和存储介质 |
-
2021
- 2021-06-21 CN CN202110685868.XA patent/CN113378195A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942506A (zh) * | 2014-04-11 | 2014-07-23 | 芜湖航飞科技股份有限公司 | 一种密码加密输入装置及方法 |
CN104463040A (zh) * | 2014-12-18 | 2015-03-25 | 恒宝股份有限公司 | 一种密码安全输入方法及系统 |
CN106295314A (zh) * | 2015-05-22 | 2017-01-04 | 中兴通讯股份有限公司 | 基于虚拟键盘的加密方法及装置 |
CN105245328A (zh) * | 2015-09-09 | 2016-01-13 | 西安电子科技大学 | 一种基于第三方的用户及文件的密钥产生管理方法 |
CN106101131A (zh) * | 2016-07-06 | 2016-11-09 | 杨炳 | 一种实现支持细粒度访问控制的加密系统 |
CN108763972A (zh) * | 2018-05-18 | 2018-11-06 | 北京智游网安科技有限公司 | 一种基于网页的自绘随机键盘系统 |
CN109361511A (zh) * | 2018-11-08 | 2019-02-19 | 华为技术有限公司 | 数据传输方法、网络设备及计算机存储介质 |
CN109977703A (zh) * | 2019-03-26 | 2019-07-05 | 北京智游网安科技有限公司 | 一种安全键盘的加密方法、存储介质及终端设备 |
CN112866237A (zh) * | 2021-01-15 | 2021-05-28 | 广州Tcl互联网小额贷款有限公司 | 数据通讯方法、装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
韩景倜等: "计算机网络安全关键技术研究", 北京工业大学出版社, pages: 189 - 190 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210377048A1 (en) * | 2020-12-17 | 2021-12-02 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Digital Signature Method, Signature Information Verification Method, Related Apparatus and Electronic Device |
CN115529152A (zh) * | 2022-06-17 | 2022-12-27 | 上海健交科技服务有限责任公司 | 保持信息隐私的脚本执行结果传输及校验方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hao et al. | Deleting secret data with public verifiability | |
US20220006617A1 (en) | Method and apparatus for data storage and verification | |
CN110008745B (zh) | 一种加密方法、计算机设备和计算机存储介质 | |
CN104217327A (zh) | 一种金融ic卡互联网终端及其交易方法 | |
CN110688662A (zh) | 一种敏感数据脱敏及逆脱敏方法、电子设备 | |
CN105515783A (zh) | 身份认证方法、服务器及认证终端 | |
CN111047314A (zh) | 基于区块链的金融数据处理方法及系统 | |
CN107995200B (zh) | 一种基于智能卡的证书签发方法、身份认证方法以及系统 | |
CN113378195A (zh) | 一种进行加密通信的方法、设备、介质及程序产品 | |
WO2021137769A1 (en) | Method and apparatus for sending and verifying request, and device thereof | |
CN111339201A (zh) | 基于区块链的测评方法及系统 | |
CN112968899B (zh) | 一种加密通信的方法与设备 | |
CN111585995A (zh) | 安全风控信息传输、处理方法、装置、计算机设备及存储介质 | |
CN109818965B (zh) | 个人身份验证装置及方法 | |
CN104426657A (zh) | 一种业务认证方法、系统及服务器 | |
CN111210217A (zh) | 数据处理的方法、装置及存储介质 | |
CN114143312A (zh) | 基于区块链的边缘计算终端认证方法、系统及设备 | |
CN113794706A (zh) | 数据的处理方法、装置、电子设备及可读存储介质 | |
US8750520B2 (en) | Appraising systems with zero knowledge proofs | |
CN112202794A (zh) | 交易数据的保护方法、装置、电子设备和介质 | |
CN114553557B (zh) | 密钥调用方法、装置、计算机设备和存储介质 | |
US20220086003A1 (en) | Continuous space-bounded non-malleable codes from stronger proofs-of-space | |
CN114692124A (zh) | 一种数据读取、写入方法、装置和电子设备 | |
CN204066182U (zh) | 一种金融ic卡互联网终端 | |
CN110750303B (zh) | 基于fpga的流水线式指令读取方法及装置 |
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 |