CN112131564B - 加密数据通信方法、装置、设备以及介质 - Google Patents
加密数据通信方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN112131564B CN112131564B CN202011061064.4A CN202011061064A CN112131564B CN 112131564 B CN112131564 B CN 112131564B CN 202011061064 A CN202011061064 A CN 202011061064A CN 112131564 B CN112131564 B CN 112131564B
- Authority
- CN
- China
- Prior art keywords
- encryption
- key
- service
- dynamic
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000006854 communication Effects 0.000 title claims abstract description 74
- 238000004891 communication Methods 0.000 title claims abstract description 68
- 230000004044 response Effects 0.000 claims abstract description 104
- 238000001514 detection method Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims description 35
- 238000003860 storage Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 17
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 20
- 230000008569 process Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 8
- 208000003443 Unconsciousness Diseases 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供了一种加密数据通信方法、装置、设备以及介质,该方法包括:在获取到用户终端发送的页面进入请求时,向所述用户终端返回所述页面进入请求对应的加密响应参数;接收所述用户终端通过环境检测时所检测到的浏览器发送的业务加密请求;基于所述业务加密请求获取所述业务请求参数中的数据库标识信息,在查询到所述数据库标识信息所映射的业务数据库时,将所述业务数据库中的第一动态密钥作为待解密密钥;基于所述待解密密钥和所述业务请求参数中所携带的第二动态加密数据,对所述加密关键数据进行解密处理。采用本申请实施例,可以提高数据传输的安全性。
Description
技术领域
本申请涉及通信安全技术领域,尤其涉及一种加密数据通信方法、装置、设备以及介质。
背景技术
随着互联网技术的快速发展,浏览器/服务器架构的使用变得越来越广泛。对于浏览器与服务器之间的通信,现有的通信加密方案通常将加密算法以及密钥直接置于前端代码中,由于浏览器端代码的透明性,任何人都可以通过分析浏览器端代码破解前后端通信协议,从而滥用服务器端接口。
这意味着在现有的技术方案中,某些黑产用户能够非法调试浏览器内运行的代码,以对请求协议和加密密钥进行逆向及破解,进而通过模仿浏览器的行为伪造非法请求,以非法对后台接口进行滥用,例如,以在日常生活中被大家所熟知的支付类服务为例,服务器端接口的滥用将会导致一系列的刷单、代充和诈骗等非法行为,以至于降低了数据传输时的安全性。
发明内容
本申请实施例提供一种加密数据通信方法、装置、设备以及介质,可以增强数据传输的安全性。
本申请实施例一方面提供了一种加密数据通信方法,包括:
在获取到用户终端发送的页面进入请求时,向用户终端返回页面进入请求对应的加密响应参数;加密响应参数中包含针对用户终端所构建的加密内核库和第一动态加密数据;加密内核库用于指示用户终端在进行环境检测后,得到用于对第一动态加密数据进行解密的第一动态密钥;
接收用户终端通过环境检测时所检测到的浏览器发送的业务加密请求;业务加密请求中包含业务请求参数;业务请求参数中包含加密关键数据;加密关键数据是由第二动态密钥所确定的;第二动态密钥为通过第一动态密钥对第一动态加密数据进行解密后所得到的;
基于业务加密请求获取业务请求参数中的数据库标识信息,在查询到数据库标识信息所映射的业务数据库时,将业务数据库中的第一动态密钥作为待解密密钥;
基于待解密密钥和业务请求参数中所携带的第二动态加密数据,对加密关键数据进行解密处理。
本申请实施例一方面提供了一种加密数据通信装置,包括:
请求获取模块,用于在获取到用户终端发送的页面进入请求时,向用户终端返回页面进入请求对应的加密响应参数;加密响应参数中包含针对用户终端所构建的加密内核库和第一动态加密数据;加密内核库用于指示用户终端在进行环境检测后,得到用于对第一动态加密数据进行解密的第一动态密钥;
请求接收模块,用于接收用户终端通过环境检测时所检测到的浏览器发送的业务加密请求;业务加密请求中包含业务请求参数;业务请求参数中包含加密关键数据;加密关键数据是由第二动态密钥所确定的;第二动态密钥为通过第一动态密钥对第一动态加密数据进行解密后所得到的;
密钥查询模块,用于基于业务加密请求获取业务请求参数中的数据库标识信息,在查询到数据库标识信息所映射的业务数据库时,将业务数据库中的第一动态密钥作为待解密密钥;
数据解密模块,用于基于待解密密钥和业务请求参数中所携带的第二动态加密数据,对加密关键数据进行解密处理。
其中,请求获取模块包括:
参数查询单元,用于在获取到用户终端发送的页面进入请求时,从页面进入请求中获取待访问的业务服务器对应的业务域名,在业务数据库中查询与业务域名相关联的请求响应参数;请求响应参数中包含第一动态密钥、数据库标识信息以及加密内核库;第一动态密钥是由第一加密规则所生成的;
密钥加密单元,用于在通过第二加密规则生成第二动态密钥的情况下,使用第一动态密钥对第二动态密钥进行加密处理,得到第一动态加密数据;
参数返回单元,用于将页面进入请求对应的页面请求数据、第一动态加密数据、数据库标识信息以及加密内核库,作为加密响应参数,将加密响应参数返回给用户终端。
其中,请求获取模块还包括:
第一处理单元,用于获取针对业务服务器对应的业务域名,在通过第一加密规则生成第一动态密钥时,对业务域名和第一动态密钥进行第一加密处理;
第一确定单元,用于获取与环境检测规则相关联的目标业务类型,将加密后的业务域名和加密后的第一动态密钥以及目标业务类型作为待组合参数;目标业务类型为浏览器对应的业务类型;
第二确定单元,用于获取与浏览器相关联的组合加密规则,将组合加密规则与待组合参数进行组合处理,得到目标组合参数;
数据库生成单元,用于获取与组合加密规则相关联的指令集,基于指令集、指令集所指向的虚拟机以及目标组合参数,生成与业务域名相关联的加密内核库,基于加密内核库、业务域名以及第一动态密钥,生成与数据库标识信息具有映射关系的业务数据库。
其中,数据解密模块包括:
动态数据解密单元,用于当待解密密钥与第一动态密钥相同时,通过待解密密钥对业务请求参数中所携带的第二动态加密数据进行解密处理,得到第二动态加密数据对应的解密处理结果;
密钥获取单元,用于当第二动态加密数据与用户终端从加密响应参数中所获得的第一动态加密数据保持一致时,获取解密处理结果中的第二动态密钥;
数据确定单元,用于通过第二动态密钥对加密关键数据进行解密处理。
其中,待解密密钥包括有效时间段;
动态数据解密单元包括:
时间戳获取子单元,用于当待解密密钥与第一动态密钥相同时,获取业务加密请求对应的业务加密时间戳;
结果确定子单元,用于若业务加密时间戳属于有效时间段,则通过待解密密钥对业务请求参数中所携带的第二动态加密数据进行解密处理,得到第二动态加密数据对应的解密处理结果;
第一返回子单元,用于若业务加密时间戳不属于有效时间段,则拒绝业务加密请求,并向发起业务加密请求的用户终端返回第一拒绝提示信息。
其中,动态数据解密单元还包括:
第二返回子单元,用于将获取到第一动态加密数据的次数,作为用户终端发起业务加密请求的次数,在用户终端发起业务加密请求的次数超过业务加密请求对应的请求阈值时,拒绝业务加密请求,并向发起业务加密请求的用户终端返回第二拒绝提示信息。
其中,数据解密模块还包括:
第三返回单元,用于当第二动态加密数据与用户终端从加密响应参数中所获得的第一动态加密数据未保持一致时,则解密处理结果用于表征待解密密钥与第一动态密钥不相同,拒绝业务加密请求,并向发起业务加密请求的用户终端返回第三拒绝提示信息。
本申请实施例一方面提供了一种加密数据通信方法,包括:
响应针对业务客户端的触发操作,向服务器发送页面进入请求,接收服务器基于页面进入请求返回的加密响应参数;加密响应参数中包含加密内核库和第一动态加密数据;
基于加密内核库对业务客户端的业务类型进行环境检测,在检测到业务客户端属于浏览器时,得到加密内核库中的第一动态密钥;
通过第一动态密钥对第一动态加密数据进行解密处理,得到第二动态密钥,在获取到浏览器对应的关键数据时,基于第二动态密钥确定关键数据对应的加密关键数据;
基于加密关键数据确定业务请求参数,将携带业务请求参数的业务加密请求发送给服务器;业务加密请求用于指示服务器基于从业务数据库中获取到的待解密密钥,对业务请求参数中的加密关键数据进行解密处理。
本申请实施例一方面提供了一种加密数据通信装置,包括:
参数接收模块,用于响应针对业务客户端的触发操作,向服务器发送页面进入请求,接收服务器基于页面进入请求返回的加密响应参数;加密响应参数中包含加密内核库和第一动态加密数据;
环境检测模块,用于基于加密内核库对业务客户端的业务类型进行环境检测,在检测到业务客户端属于浏览器时,得到加密内核库中的第一动态密钥;
加密数据确定模块,用于通过第一动态密钥对第一动态加密数据进行解密处理,得到第二动态密钥,在获取到浏览器对应的关键数据时,基于第二动态密钥确定关键数据对应的加密关键数据;
请求发送模块,用于基于加密关键数据确定业务请求参数,将携带业务请求参数的业务加密请求发送给服务器;业务加密请求用于指示服务器基于从业务数据库中获取到的待解密密钥,对业务请求参数中的加密关键数据进行解密处理。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中一方面中方法的步骤。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行如本申请实施例中一方面中方法的步骤。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面的各种可选方式中提供的方法。
在本申请实施例中,服务器在获取到用户终端发送的页面进入请求时,可以向用户终端返回页面进入请求对应的加密响应参数。其中,加密响应参数中可以包含针对用户终端所构建的加密内核库和第一动态加密数据;其中,加密内核库可以用于指示用户终端在进行环境检测后,得到用于对第一动态加密数据进行解密的第一动态密钥。进一步的,服务器可以接收用户终端通过环境检测时所检测到的浏览器发送的业务加密请求。其中,业务加密请求中可以包含业务请求参数;业务请求参数中可以包含加密关键数据;加密关键数据是可以由第二动态密钥所确定的;第二动态密钥可以为通过第一动态密钥对第一动态加密数据进行解密后所得到的。所以,本申请实施例可以基于业务加密请求获取业务请求参数中的数据库标识信息,在查询到数据库标识信息所映射的业务数据库时,将业务数据库中的第一动态密钥作为待解密密钥,并基于待解密密钥和业务请求参数中所携带的第二动态加密数据,对加密关键数据进行解密处理。由此可见,本申请实施例可以在用户终端与服务器的数据通信场景中,通过加密的动态密钥(即前述使用第一动态密钥对第二动态密钥进行加密后所得到的第一动态加密数据),建立前后端之间的安全通信信道。此外,通过使用在服务器侧所生成并返回的加密内核库,可以在用户终端侧触发执行环境检测代码,以校验出当前运行环境是否为真实的浏览器,并可以在校验通过时,进一步执行该加密内核库的代码,以通过解码得到的动态密钥(即前述通过第一动态密钥对第一动态加密数据进行解密后所得到的第二动态密钥),对当前需要传输的关键数据进行动态加密处理,得到加密关键数据,以防止该关键数据在数据传输过程中被非法窃取或非法篡改,进而可以提高用户终端和服务器之间进行数据传输的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请实施例提供的一种加密数据交互的场景示意图;
图3是本申请实施例提供的一种加密数据通信方法的流程示意图;
图4是本申请实施例提供的一种返回加密响应参数的场景示意图;
图5是本申请实施例提供的一种业务数据库生成的流程示意图;
图6是本申请实施例提供的一种生成抽象语法树的场景示意图;
图7a是本申请实施例提供的一种返回第一提示信息的场景示意图;
图7b是本申请实施例提供的一种返回第二提示信息的场景示意图;
图7c是本申请实施例提供的一种返回第三提示信息的场景示意图;
图8是本申请实施例提供的一种加密数据通信方法的流程示意图;
图9a是本申请实施例提供的一种通过地址栏的触发操作的场景示意图;
图9b是本申请实施例提供的一种通过历史记录的触发操作的场景示意图;
图10是本申请实施例提供的一种加密数据通信的流程示意图;
图11是本申请实施例提供的一种加密数据通信装置的流程示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图;
图13是本申请实施例提供的一种加密数据通信装置的流程示意图;
图14是本申请实施例提供的一种计算机设备的结构示意图;
图15是本申请实施例提供的一种加密数据通信系统。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构可以包括服务器2000和用户终端集群。其中,用户终端集群具体可以包括一个或者多个用户终端,这里将不对用户终端集群中的用户终端的数量进行限制。如图1所示,多个用户终端具体可以包括用户终端3000a、用户终端3000b、用户终端3000c、…、用户终端3000n。其中,用户终端3000a、用户终端3000b、用户终端3000c、…、用户终端3000n可以分别与服务器2000通过有线或无线通信方式进行直接或间接地网络连接,以便于每个用户终端可以通过该网络连接与服务器2000之间进行数据交互。
其中,如图1所示的服务器2000可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
应当理解,如图1所示的用户终端集群中的每个用户终端均可以安装有业务客户端,当该业务客户端为浏览器时,该用户终端可以基于浏览器/服务器(Browser/Server,B/S)架构与上述图1所示的服务器2000之间进行数据交互。其中,为便于理解,本申请实施例可以在图1所示的多个用户终端中选择一个用户终端作为目标用户终端,该目标用户终端可以包括:智能手机、平板电脑、笔记本电脑等具有数据通信功能的智能终端。例如,本申请实施例可以将图1所示的用户终端3000a作为目标用户终端。
可以理解的是,本申请实施例提供的加密数据通信方法可以涉及云技术领域,所谓云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。其中,云技术(Cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,以能通过云计算来实现。
其中,可以理解的是,在本申请实施例中,该目标用户终端可以用于作为执行加密数据通信方法的前端,且该服务器2000可以用于作为后台,这样,在集成有浏览器的目标用户终端访问业务服务器时,服务器2000可以在获取到目标用户终端发送的页面进入请求之后,向目标用户终端返回加密响应参数,目标用户终端在环境检测通过后,对关键数据进行加密处理,并向服务器2000发送业务加密请求,进而服务器2000可以基于业务数据库中查询到的第一动态密钥和业务加密请求携带的业务请求参数中的第二动态加密数据,对加密关键数据进行解密处理。因此,当前端与后台在数据通信场景中进行加密数据通信时,可以对通信过程中传输的关键数据进行有效加密,提高了数据传输的安全性。其中,数据通信过程中传输的关键数据可以为各类对安全性有较高要求的数据,比如,用户注册的数据、支付计费的数据、用户鉴权的数据等。
为便于理解,进一步的,请参见图2,图2是本申请实施例提供的一种加密数据交互的场景示意图。如图2所示的服务器可以为上述图1所对应实施例中的服务器2000,如图2所示的目标用户终端可以为上述图1所对应实施例中的任意一个用户终端,为便于理解,本申请实施例以上述图1的用户终端3000a作为该目标用户终端为例,以阐述图2所示的服务器与该目标用户终端进行数据交互的具体过程。
可以理解的是,如图2所示的业务数据库10(Database)可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“业务数据库10”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。其中,该业务数据库10中具体可以包括多个数据库,多个数据库具体可以包含图2所示的数据库10a、10b、…、10n。这意味着该业务数据库可以用于存储数据库标识信息对应的数据库数据,比如,数据库10a可以用于存储图2所示数据库标识信息A1对应的数据库数据,数据库10b可以用于存储图2所示数据库标识信息A2对应的数据库数据,…,数据库10n可以用于存储图2所示数据库标识信息An对应的数据库数据。
为便于理解,本申请实施例以图2所示的目标用户终端上安装的业务客户端为业务客户端X为例,如图2所示,服务器在获取到目标用户终端发送的页面进入请求后,可以向目标用户终端返回图2所示的加密响应参数。进一步的,业务客户端X在接收加密响应参数后,可以根据加密响应参数中的页面请求数据跳转到客户端界面A,并可以对环境检测时所检测到的业务客户端X(即浏览器)的客户端界面A中录入的关键数据进行加密处理,进而向服务器发送图2所示的业务加密请求,以便后续服务器可以对业务加密请求携带的业务请求参数中的加密关键数据进行解密处理,进而可以增强数据传输的安全性。
其中,可以理解的是,在某些业务场景(例如,图2所示的邮箱登录场景)中,如果以明文的方式传输该邮箱登录场景中的关键数据(例如,邮箱地址和密码),一旦在传输过程中存在关键数据的非法窃取,则对该邮箱的所有者造成严重的损失,因此,鉴于邮箱地址和密码的重要性,本申请提出需要对某些具有较高安全传输特性的业务场景下的关键数据(例如,图2中的关键数据为邮箱地址和密码)进行加密处理后,再进一步将其进行传输,以解决关键数据被非法窃取的风险。
其中,在目标用户终端侧,对需要传输的关键数据进行数据加密处理和传输的过程可以描述为:图2所述的目标用户终端可以在获取到服务器返回的加密响应参数时,将其存储至该业务客户端X的本地内存中,以便于后续可以在该目标用户终端的本地对该业务客户端X中所录入的域名进行校验。其中,为便于理解,本申请实施例可以将在该业务客户端X中所录入的域名统称为当前域名,进而可以在该业务客户端X的当前运行环境为真实的浏览器时,从该业务客户端X(即浏览器)的本地内存中获取到真实的第一动态密钥。此时,该目标用户终端可以继续从本地内存中获取加密响应参数中的加密内核库的代码,并执行该加密内核库的代码,以通过第一动态密钥对图2所示的服务器返回的加密响应参数中的第一动态加密数据进行解密处理,以得到第二动态密钥,以将该第二动态密钥添加至该业务客户端X(即浏览器)的本地内存中进行存储。
进一步的,如图2所示,当该目标用户终端对应的用户在该邮箱登录场景所对应的客户端界面A中录入图2所示的关键数据(即图2所示的邮箱地址和登录密码)之后,可以进一步使用该第二动态密钥对该关键数据进行加密处理,以得到加密关键数据。进一步的,如图2所示的目标用户终端可以将该加密关键数据添加至图2所示的业务加密请求中,以将该业务加密请求发送给图2所示的服务器。
可以理解的是,如图2所示的服务器在获取到业务加密请求之后,可以进一步获取该业务请求参数中所携带的数据库标识信息,以在数据库映射列表中查询到该数据库标识信息所映射的业务数据库(例如,图2所示的数据库10a),此时,图2所示的服务器可以将在数据库10a中所查询到的第一动态密钥作为待解密密钥,并可以基于该待解密密钥对图2所示的业务加密请求中所携带的第二动态加密数据进行解密处理,以便于可以在待解密密钥与第一动态密钥相同,且第一动态加密数据与第二动态加密数据保持一致时,进一步通过解密得到的第二动态密钥对前述加密关键数据进行解密处理,以通过前后端的加密处理,增强图2所示的关键数据在数据传输过程中的安全性。
应当理解,在本申请实施例中,通过引入加密内核库,可以对加密密钥(即对第二动态密钥进行加密处理的第一动态密钥)和加密算法进行有效加密,这样,在目标用户终端将关键数据发送给服务器时,可以使用动态密钥(即被第一动态密钥加密的第二动态密钥)对关键数据进行加密处理,进而可以提高关键数据在传输过程中的安全性。由此可见,本申请实施例可以结合该目标用户终端在本地对业务客户端的当前域名和业务类型进行的检测,对关键数据进行加密处理,从而服务器可以对正常通信过程下接收的加密关键数据进行解密处理,进而完成前后端加密的通信过程。
其中,服务器返回加密响应参数、接收业务加密请求以及解密关键数据的具体过程可以参见如下图3至图10所对应的实施例。
进一步的,请参见图3,图3是本申请实施例提供的一种加密数据通信方法的流程示意图。如图3所示,该方法可以由计算机设备执行,该计算机设备可以为运行有上述业务客户端的目标用户终端;可选的,该计算机设备还可以为该目标用户终端对应的后台服务器,该后台服务器可以为上述图2所对应实施例中的服务器。换言之,本申请实施例所涉及的方法可以由目标用户终端执行,也可以由服务器执行,还可以由目标用户终端和服务器共同执行。为便于理解,本实施例以该方法由服务器(比如,上述图2所对应实施例中的服务器)执行为例进行说明,以阐述服务器获取关键数据的具体过程。其中,该方法可以包含以下步骤:
步骤S101,在获取到用户终端发送的页面进入请求时,向用户终端返回页面进入请求对应的加密响应参数;
具体的,服务器在获取到用户终端发送的页面进入请求时,可以从页面进入请求中获取待访问的业务服务器对应的业务域名,并可以在业务数据库中查询与业务域名相关联的请求响应参数;其中,请求响应参数中包含第一动态密钥、数据库标识信息以及加密内核库;第一动态密钥是由第一加密规则所生成的;进一步的,服务器在通过第二加密规则生成第二动态密钥的情况下,可以使用第一动态密钥对第二动态密钥进行加密处理,得到第一动态加密数据;进一步的,服务器可以将页面进入请求对应的页面请求数据、第一动态加密数据、数据库标识信息以及加密内核库,作为加密响应参数,并可以将加密响应参数返回给用户终端。
其中,可以理解的是,这里的用户终端可以为上述图2所对应实施例中的目标用户终端,目标用户终端上安装有业务客户端,该业务客户端可以为上述图2所对应实施例中的业务客户端X,为便于理解,本申请实施例以该业务客户端的界面为客户端界面B为例进行阐述。应当理解,在本申请实施例中,该服务器可以为该用户终端的后台服务器,该后台服务器可以为上述图2所对应实施例中的服务器。此外,在本申请实施例中,该业务服务器可以为业务域名对应的业务服务器。
其中,可以理解的是,这里的业务数据库可以为上述图2所对应实施例中的业务数据库10,该服务器可以从该业务数据库中查询页面进入请求对应的请求响应参数。为便于理解,本申请实施例以该服务器从业务数据库中查询到请求响应参数时的业务数据库为上述图2所对应实施例中的数据库10a为例,以阐述从请求响应参数确定加密响应参数的具体过程。进一步的,请参见图4,图4是本申请实施例提供的一种返回加密响应参数的场景示意图。
其中,如图4所示的用户终端可以通过客户端界面B向服务器发送页面进入请求。其中,页面进入请求的发送可以为不同的方式,为便于理解,本申请实施例以URL地址(Uniform Resource Locator,统一资源定位符)为例进行说明,URL地址是互联网上用于描述资源的字符串,采用URL地址可以以一种统一的格式来唯一地描述网络上各种资源的位置和访问方法,资源可以包括文件、服务器的地址和目录等。在如图4所示的地址栏中输入URL地址,从URL地址中可以获取待访问的业务服务器的业务域名,例如,在图4所示客户端界面B的地址栏中输入的URL地址为:“https://new.qq.com/ch/finance/”,则可以从URL地址中获取其对应的业务域名为:“qq.com”。
如图4所示,当该服务器在获取到页面进入请求对应的业务域名之后,可以在图4所示业务数据库中查询与业务域名相关联的请求响应参数,这里的请求响应参数具体可以包括但不限于:第一动态密钥、数据库标识信息以及加密内核库。例如,当业务域名为图4所示的D1时,服务器可以在业务数据库中查询与业务域名D1相关联的请求响应参数为:第一动态密钥B1、数据库标识信息A1以及加密内核库E1。
其中,为便于理解,请参见图5,图5是本申请实施例提供的一种业务数据库生成的流程示意图。其中,服务器可以获取针对业务服务器对应的业务域名,在通过第一加密规则生成第一动态密钥时,可以对业务域名和第一动态密钥进行第一加密处理;进一步的,服务器可以获取与环境检测规则相关联的目标业务类型,并可以将加密后的业务域名和加密后的第一动态密钥以及目标业务类型作为待组合参数;其中,目标业务类型为浏览器对应的业务类型;进一步的,服务器可以获取与浏览器相关联的组合加密规则,并可以将组合加密规则与待组合参数进行组合处理,得到目标组合参数;进一步的,服务器可以获取与组合加密规则相关联的指令集,并可以基于指令集、指令集所指向的虚拟机以及目标组合参数,生成与业务域名相关联的加密内核库,进而可以基于加密内核库、业务域名以及第一动态密钥,生成与数据库标识信息具有映射关系的业务数据库。
其中,可以理解的是,服务器可以在更新时间周期内,对业务数据库中的数据进行更新操作,例如,该业务数据库的首次生成时间为T1时刻,在T2时刻可以对业务数据库进行更新操作,在T3时刻可以对业务数据库进行更新操作,同理,在Tn时刻可以对业务数据库进行更新操作,此外,该业务数据库的更新时间周期可以为定期更新或非定期更新,在此不做限制(即T1时刻和T2时刻之间的时间间隔(T2-T1)与T2时刻和T3时刻之间的时间间隔(T3-T2)可以相同、也可以不同)。具体的,业务数据库的更新操作可以为删除业务数据库中的所有内容,并在Tx时刻生成业务数据库中的全部内容,此时,时刻Tx对业务数据库进行的操作与时刻T1对业务数据库进行的操作是相同的。可选的,业务数据库的更新操作可以为仅对部分内容进行更新,例如,保持如图4所示的数据库标识信息A1不变,对其他内容进行更新操作,其他内容的更新操作可以包括:将第一动态密钥B1更新为F1,将第一动态密钥有效时间段C1更新为G1,将业务域名D1更新为H1,将加密内核库E1更新为I1。其中,对其他内容进行更新操作时,可以更新其中的一项或多项,这里将不对更新业务数据库中内容的数量进行限定。
其中,可以理解的是,与浏览器相关联的组合加密规则用于加密处理与解密处理中,是加密处理与解密处理使用的一种算法,将其与密钥(密钥是在加密处理与解密处理的算法中输入的一种参数)一起使用可以直接决定处理的结果是否成功。其中,数据加密处理的基本过程是使用组合加密规则将数据从明文处理为密文,使其只能在输入相应的密钥之后才能从密文得到明文,从密文得到明文即为解密处理的过程,相应的,数据解密处理的基本过程是使用组合加密规则将数据从密文处理为明文,通过这样的方式可以达到保护数据不被他人非法窃取、阅读的目的。
其中,可以理解的是,服务器在基于指令集、指令集所指向的虚拟机以及目标组合参数,生成与业务域名相关联的加密内核库时,可以将目标组合参数形成抽象语法树。其中,目标组合参数与抽象语法树可以相互转换,将目标组合参数转换为抽象语法树的过程可以描述为:通过词法分析按照从左到右的顺序对目标组合参数的字符流进行扫描,根据构词规则识别词法单元(最小单元),并在词法分析的基础上,将词法单元组合成各类语法短语,最终形成一棵表示词法单元之间组成关系的树状结构,即抽象语法树。
为便于理解,进一步的,请参见图6,图6是本申请实施例提供的一种生成抽象语法树的场景示意图。其中,目标组合参数实际上是由源代码组成,图6以源代码为四则运算表达式来说明抽象语法树的生成过程,具体的,将表达式“1+2*3”进行词法分析后识别出词法单元:“1”、“+”、“2”、“*”、“3”,将词法单元经语法分析得到语法短语,并形成图6所示的抽象语法树。此外,通过对抽象语法树进行从下到上的分析,可以得到抽象语法树对应的表达式“1+(2*3)”。
其中,可以理解的是,混淆技术是在无法阻止他人获取代码的情况下,通过使用一些技术手段(例如压缩等)对代码进行变换,从而使得代码变得复杂且难于理解,进而降低代码的可读性,且他人无法对代码进行修改和重新利用,从而达到保护代码的目的,这样可以有效保护代码的逻辑不被他人理解。其中,对代码进行变换的技术手段包含许多方式,例如,将代码中的各种元素的名称改写成无意义的名字,使得阅读的人无法根据名字猜测其用途;重写代码中的部分逻辑,将其重写为更加难以理解的形式;更改或删除代码的布局,使其变得毫无规律且不符合常规使用习惯。因此,在对业务域名和第一动态密钥进行第一加密处理时,可以使用混淆技术作为第一加密处理。可选的,为进一步增强加密内核库内数据的安全性,可以对目标组合参数进行第二加密处理,同理,可以使用混淆技术作为第二加密处理。其中,对目标组合参数的混淆可以为对目标组合参数对应的抽象语法树进行混淆,对抽象语法树进行混淆处理之后,可以生成具有不同结构的抽象语法树,此时,将混淆后的抽象语法树可以转换为目标组合参数,可以得到混淆后的目标组合参数,这与直接对目标组合参数进行混淆处理的结果是相同的。
其中,可以理解的是,服务器在基于指令集、指令集指向的虚拟机以及抽象语法树,生成加密内核库代码时,还需要对抽象语法树进行语义分析,语义分析是对结构上正确的源程序进行上下文有关性质的审查、进行类型审查,例如,语义分析可以对赋值语句左右端的类型不匹配报告错误,语义分析可以在语法分析所得到的语法树上增加一语义处理结点等。其中,服务基于指令集、指令集指向的虚拟机以及抽象语法树,生成加密内核库代码的具体过程可以描述为:将进行语义分析后的抽象语法树与指令集结合,使目标组合参数成为只能在指令集指向的虚拟机中执行的字节流,因此,将该字节流与虚拟机组合后即形成加密内核库。
进一步的,如图4所示的服务器在获取到图4所示的请求响应参数之后,可以通过第二加密规则生成第二动态密钥,并使用请求响应参数中的第一动态密钥对第二动态密钥进行加密处理,得到第一动态加密数据。
其中,可以理解的是,在本申请实施例中,第一动态密钥是由第一加密规则所生成的,第二动态密钥是由第二加密规则所生成的。应当理解,第一加密规则以及第二加密规则可以为不同的随机密钥生成方法,也可以为相同的随机密钥生成方法,这里的随机密钥生成方法是指能够用于随机生成不同的动态密钥。为便于理解,本申请实施例可以将用于随机生成第一动态密钥的随机密钥生成方法确定为密钥生成方法1,例如,该密钥生成方法1可以为openssl(一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,同时确认另一端连接者的身份),同理,本申请实施例可以将用于随机生成第二动态密钥的随机密钥生成方法确定为密钥生成方法2,例如,该密钥生成方法2可以为gpg(GNU PrivacyGuard,一个混合加密软件程序),这里将不对第一加密规则、第二加密规则具体使用的随机密钥生成方法进行限定。
进一步的,可以理解的是,业务服务器在得到第一动态加密数据后,可以将页面进入请求对应的页面请求数据(例如,这里的页面请求数据可以为图2所示实施例中的客户端界面A)、第一动态加密数据、数据库标识信息(例如,这里的数据库标识信息可以为图4所述实施例的服务器从请求响应参数中获取的A1)以及加密内核库(例如,这里的加密内核库可以为图4所述实施例的服务器从请求响应参数中获取的E1)作为加密响应参数,返回给如图4所示的用户终端。
步骤S102,接收用户终端通过环境检测时所检测到的浏览器发送的业务加密请求;
其中,业务加密请求中包含业务请求参数;业务请求参数中包含加密关键数据;加密关键数据是由第二动态密钥所确定的;第二动态密钥为通过第一动态密钥对第一动态加密数据进行解密后所得到的。
其中,可以理解的是,在步骤S102之前,用户终端在接收服务器返回的加密响应参数后,可以执行环境检测代码对当前环境进行检测,具体的,环境检测可以对用户终端上的业务客户端中所录入的当前域名进行校验,若当前域名与加密内核库中存储的业务域名保持一致,则可以进一步检测当前业务客户端的业务类型是否为目标业务类型。为便于理解,本申请实施例将环境检测规则相关联的目标业务类型设置为浏览器所属的类型,若当前业务客户端的业务类型为浏览器所属的类型,则进一步获取加密内核库中真实的第一动态密钥,使用真实的第一动态密钥对加密响应参数中的第一动态加密数据进行解密处理,得到真实的第二动态密钥。进一步的,用户终端获取业务客户端中所录入的关键数据,使用真实的第二动态密钥对该关键数据进行加密处理,以得到加密关键数据,并将第一动态加密数据作为第二动态加密数据,进而将加密关键数据、第二动态加密数据以及从加密响应参数中获取的数据库标识信息作为业务请求参数,通过环境检测时所检测到的浏览器向服务器发送业务加密请求。应当理解,业务请求参数中的第二动态加密数据与用户终端从加密响应参数中获得的第一动态加密数据保持一致。
其中,可以理解的是,用户终端在进行环境检测时,如果环境检测不通过,则会将基于加密内核库得到的真实的第一动态密钥替换为假的第一动态密钥,由于加密响应参数中的第一动态加密数据是由服务器通过真实的第一动态密钥进行加密后得到的,所以使用假的第一动态密钥无法对加密响应参数中的第一动态加密数据进行解密处理,因此用户终端无法获取真实的第二动态密钥。可选的,当用户终端无法使用假的第一动态密钥对第一动态加密数据进行解密处理时,可以随机生成假的第二动态密钥,使用假的第二动态密钥对关键数据进行加密处理,并可以通过假的第一动态密钥和假的第二动态密钥生成假的第一动态加密数据,将假的第一动态加密数据作为第二动态加密数据,进而将加密关键数据(即通过假的第二动态密钥加密得到的)、第二动态加密数据(即通过假的第一动态密钥对假的第二动态密钥进行加密处理得到的)以及从加密响应参数中获取的数据库标识信息作为业务请求参数,通过未通过环境检测的业务客户端向服务器发送业务加密请求。应当理解,业务请求参数中的第二动态加密数据与用户终端从加密响应参数中获得的第一动态加密数据未保持一致。
步骤S103,基于业务加密请求获取业务请求参数中的数据库标识信息,在查询到数据库标识信息所映射的业务数据库时,将业务数据库中的第一动态密钥作为待解密密钥;
其中,服务器基于数据库标识信息在业务数据库中获取的第一动态密钥真实的第一动态密钥,进而可以根据当前得到的真实的第一动态密钥作为待解密密钥,以便于后续可以继续执行下述步骤S104。
步骤S104,基于待解密密钥和业务请求参数中所携带的第二动态加密数据,对加密关键数据进行解密处理。
具体的,当待解密密钥与第一动态密钥相同时,服务器可以通过待解密密钥对业务请求参数中所携带的第二动态加密数据进行解密处理,得到第二动态加密数据对应的解密处理结果;进一步的,当第二动态加密数据与用户终端从加密响应参数中所获得的第一动态加密数据保持一致时,服务器可以获取解密处理结果中的第二动态密钥;进一步的,服务器可以通过第二动态密钥对加密关键数据进行解密处理。
其中,密钥对于数据加密而言起着重要的作用,黑产用户会想方设法地对同一个密钥加密的多个密文进行分析,从而对加密密文使用的密钥进行破解,所以密钥使用的时间越长,则被破解的可能性越大,如果密钥已经被破解,则密钥使用的时间越长,对用户终端或服务器造成的损失就越大,因此,密钥不能无限期使用,可以为密钥设置有效时间段来确保密钥的安全性。其中,可以理解的是,待解密密钥包括有效时间段,当待解密密钥与第一动态密钥相同时,服务器可以获取业务加密请求对应的业务加密时间戳;进一步的,若业务加密时间戳属于有效时间段,服务器则可以通过待解密密钥对业务请求参数中所携带的第二动态加密数据进行解密处理,得到第二动态加密数据对应的解密处理结果;进一步的,若业务加密时间戳不属于有效时间段,服务器可以拒绝该业务加密请求,并向发起业务加密请求的用户终端返回第一拒绝提示信息。
其中,若黑产用户掌握了用户终端与服务器之间的交互流程,并可以通过逆向的手段获取到第一动态密钥,则可以模仿用户终端的行为,通过第一动态密钥对第一动态加密数据进行解密处理,得到第二动态密钥,进而持续不断地生成关键数据,并使用第二动态密钥对关键数据进行加密处理,随后可以持续地向服务器发送业务加密请求,从而滥用业务服务器的接口,黑产用户的该行为严重影响了业务服务器接口的安全性。其中,为降低业务服务器被黑产用户恶意利用的难度,可以逐渐减小第一动态密钥的有效时间段,此时,当黑产用户对服务器发送的业务加密请求对应的业务加密时间戳属于有效时间段时,服务器可以对业务请求参数中的加密关键数据进行解密处理,这样,黑产用户必须在第一动态密钥的有效时间段内破解第一动态密钥。因此,减小第一动态密钥的有效时间段可以增加黑产用户攻击的难度,进而保护业务服务器接口的安全性。进一步的,应当理解,为防止黑产用户对组成加密内核库的字节流进行逆向破解,以获取第一动态密钥等信息,还可以使用动态化指令集、动态代码生成等技术,提高虚拟机的逆向难度,直到逆向的成本不可接受,进而可以有效保证业务服务器接口的安全性。
其中,可以理解的是,第一动态加密数据包括使用次数,当第二动态加密数据与用户终端从加密响应参数中所获得的第一动态加密数据保持一致时,服务器可以将获取到第一动态加密数据的次数,作为用户终端发起业务加密请求的次数;进一步的,若用户终端发起业务加密请求的次数未超过业务加密请求对应的请求阈值,服务器可以获取解密处理结果中的第二动态密钥;进一步的,若用户终端发起业务加密请求的次数超过业务加密请求对应的请求阈值,服务器可以拒绝该业务加密请求,并向发起业务加密请求的用户终端返回第二拒绝提示信息。
其中,若黑产用户对组成加密内核库的字节流以及虚拟机进行逆向分析,破解对关键数据进行加密处理的第二动态密钥,则可以模仿用户终端的行为,持续不断地生成关键数据,并使用第二动态密钥对关键数据进行加密处理,随后可以持续地向服务器发送业务加密请求,从而滥用业务服务器的接口。其中,服务器可以对接收业务加密请求的次数设置请求阈值,若服务器接收业务加密请求的次数超过了请求阈值,则服务器可以拒绝业务加密请求,这样,黑产用户需要重新向服务器发送页面进入请求,并重新对组成加密内核库的字节流以及虚拟机进行逆向分析,以重新破解对关键数据进行加密处理的第二动态密钥,这需要人工介入,成本不可接受。因此,第一动态加密数据的使用次数可以有效保护业务服务器接口的安全性,降低服务器被黑产用户恶意利用的难度。
可选的,当第二动态加密数据与用户终端从加密响应参数中获得的第一动态加密数据未保持一致时,则无法从解密处理结果中获取第二动态密钥,且解密处理结果可以用于表征待解密密钥与第一动态密钥不相同;进一步的,服务器可以拒绝该业务加密请求,并向发起业务加密请求的用户终端返回第三拒绝提示信息。其中,可以理解的是,若第二动态加密数据与用户终端从加密响应参数中获得的第一动态加密数据未保持一致,则服务器从业务请求参数中获取的第二动态加密数据为用户终端通过假的第一动态密钥和假的第二动态密钥生成假的第一动态加密数据。
其中,钓鱼网站是指欺骗用户的虚假网站,与真实网站界面基本一致,用于欺骗消费者或者窃取访问者提交的账号和密码等信息。若钓鱼网站通过对用户终端与服务器之间传输的数据进行分析,获取到加密内核库、数据库标识信息以及第一动态加密数据,则用户终端与钓鱼网站进行数据通信时,用户终端在进行环境检测时会由于域名校验不通过而将第一动态密钥替换为假的第一动态密钥,进而无法正常访问服务器接口。可选的,用户终端可以随机生成假的第二动态密钥,使用假的第二动态密钥对关键数据进行加密处理,并可以通过假的第一动态密钥和假的第二动态密钥生成假的第一动态加密数据,将假的第一动态加密数据作为第二动态加密数据。进一步的,服务器无法使用待解密密钥对第二动态加密数据进行解密处理,得到第二动态密钥,进而无法得到通过第二动态密钥进行加密处理的关键数据,进而无法正常访问业务服务器接口。其中,域名校验逻辑位于虚拟机内,只有对虚拟机进行逆向破解后,才能跳过域名校验逻辑。
其中,应当理解,服务器可以根据业务加密请求对用户终端返回拒绝提示信息,该拒绝提示信息可以为第一拒绝提示信息、第二拒绝提示信息、第三拒绝提示信息或服务器发出的其它拒绝提示信息。当用户终端接收服务器发送的拒绝提示信息后,用户终端可以重新向服务器发送业务加密请求,此时服务器会再次返回拒绝提示信息。可选的,用户终端可以重新向服务器发送页面进入请求,此时用户终端可以接收服务器返回的最新的加密响应参数,以在环境检测后重新向服务器发送业务加密请求。
为便于理解,请参见图7a-图7c,图7a-图7c是服务器向用户终端返回的不同提示信息的场景示意图。当用户终端对应的用户在图7a-图7c所示的业务客户端的界面中录入关键数据(关键数据可以为邮箱登陆场景中的邮箱账号和密码)后,用户点击登录按钮可以对关键数据进行加密处理,得到加密关键数据,并可以向服务器发送业务加密请求,如果服务器无法对加密关键数据进行解密处理,则可以根据原因的不同,向用户终端返回如图7a-图7c所示不同的拒绝提示信息。进一步的,如图7a所示,图7a是本申请实施例提供的一种返回第一提示信息的场景示意图,第一拒绝提示信息表示业务加密时间戳不属于待解密密钥的有效时间段,例如,第一动态密钥可以为在T1时刻生成的,假设其有效时间段为(T2-T1),则第一动态密钥在T2时刻后无法继续使用,若用户终端在T2时刻后向服务器发送业务加密请求,此时,服务器可以向用户终端返回图7a所示提示信息:“密钥已过期”。其中,客户端界面70d为独立于客户端界面70a的子界面,因此,服务器向用户终端返回第一拒绝提示信息可以为在客户端界面70a上弹出客户端界面70d。进一步的,如图7b所示,图7b是本申请实施例提供的一种返回第二提示信息的场景示意图,第二拒绝提示信息表示第一动态加密数据的使用次数达到请求阈值,例如,第一动态加密数据的使用次数可以为P1,服务器获取到第一动态加密数据的次数为P2,若服务器获取第一动态加密数据的次数P2超过第一动态加密数据的使用次数,即(P2>P1),此时,服务器可以向用户终端返回图7b所示提示信息:“请求次数已达上限”。其中,客户端界面70e为独立于客户端界面70b的子界面,因此,服务器向用户终端返回第二拒绝提示信息可以为在客户端界面70b上弹出客户端界面70e。进一步的,如图7c所示,图7c是本申请实施例提供的一种返回第三提示信息的场景示意图,第三拒绝提示信息表示第一动态密钥与待解密密钥不相同,即环境检测不通过,例如,服务器从业务请求参数中获取的第二动态加密数据为L1,用户终端从加密响应参数中获取的第一动态加密数据为L2,服务器从业务数据库中查询的待解密密钥的K1,业务客户端从加密内核库中获取的第一动态密钥为K2,假设L1与L2不相等,则可以说明K1与K2不相等,因此使用K1无法对L1进行解密处理,此时,服务器可以向用户终端返回图7c所示提示信息:“环境错误”。其中,客户端界面70f为独立于客户端界面70c的子界面,因此,服务器向用户终端返回第三拒绝提示信息可以为在客户端界面70c上弹出客户端界面70f。
在本申请实施例中,服务器在获取到用户终端发送的页面进入请求时,可以向用户终端返回页面进入请求对应的加密响应参数。其中,加密响应参数中可以包含针对用户终端所构建的加密内核库和第一动态加密数据;其中,加密内核库可以用于指示用户终端在进行环境检测后,得到用于对第一动态加密数据进行解密的第一动态密钥。进一步的,服务器可以接收用户终端通过环境检测时所检测到的浏览器发送的业务加密请求。其中,业务加密请求中可以包含业务请求参数;业务请求参数中可以包含加密关键数据;加密关键数据是可以由第二动态密钥所确定的;第二动态密钥可以为通过第一动态密钥对第一动态加密数据进行解密后所得到的。所以,本申请实施例可以基于业务加密请求获取业务请求参数中的数据库标识信息,在查询到数据库标识信息所映射的业务数据库时,将业务数据库中的第一动态密钥作为待解密密钥,并基于待解密密钥和业务请求参数中所携带的第二动态加密数据,对加密关键数据进行解密处理。由此可见,本申请实施例可以在用户终端与服务器的数据通信场景中,通过加密的动态密钥(即前述使用第一动态密钥对第二动态密钥进行加密后所得到的第一动态加密数据),建立前后端之间的安全通信信道。此外,通过使用在服务器侧所生成并返回的加密内核库,可以在用户终端侧触发执行环境检测代码,以校验出当前运行环境是否为真实的浏览器,并可以在校验通过时,进一步执行该加密内核库的代码,以通过解码得到的动态密钥(即前述通过第一动态密钥对第一动态加密数据进行解密后所得到的第二动态密钥),对当前需要传输的关键数据进行动态加密处理,得到加密关键数据,以防止该关键数据在数据传输过程中被非法窃取或非法篡改,进而可以提高用户终端和服务器之间进行数据传输的安全性。
进一步的,请参见图8,图8是本申请实施例提供的一种加密数据通信方法的流程示意图。如图8所示,该方法可以由计算机设备执行,该计算机设备可以为运行有上述业务客户端的目标用户终端;可选的,该计算机设备还可以为该目标用户终端对应的后台服务器,该后台服务器可以为上述图2所对应实施例中的服务器。换言之,本申请实施例所涉及的方法可以由目标用户终端执行,也可以由服务器执行,还可以由目标用户终端和服务器共同执行。为便于理解,本实施例以该方法由目标用户终端和服务器(比如,上述图2所对应实施例中的目标用户终端和服务器)共同执行为例进行说明。其中,该方法可以包含以下步骤:
步骤S201,用户终端响应针对业务客户端的触发操作,向服务器发送页面进入请求;
其中,可以理解的是,针对业务客户端的触发操作可以为不同的方式:输入URL的方式、通过历史记录的方式、使用收藏夹的方式以及点击超链接的方式等。为便于理解,请参见图9a,图9a是本申请实施例提供的一种通过地址栏的触发操作的场景示意图,其中,触发操作可以为在浏览器的地址栏输入URL(Uniform Resource Locator,统一资源定位符)地址,URL地址是互联网上用于描述资源的字符串,采用URL地址可以以一种统一的格式来唯一地描述网络上各种资源的位置和访问方法,资源可以包括文件、服务器的地址和目录等。可选的,请参见图9b,图9b是本申请实施例提供的一种通过历史记录的触发操作的场景示意图,其中,触发操作可以为通过历史记录的方式,业务客户端对业务服务器的业务加密请求会存储在历史记录中,因此,打开业务客户端的历史记录界面,可以通过选择历史访问过的页面,来向服务器发送页面进入请求。可选的,触发操作可以为点击超链接的方式,一个页面可以由许多超链接组成,例如,通过点击页面A中的超链接可以链接到页面B中,其中,页面B与页面A可以位于同一个业务服务器的不同位置(此时页面B为内部链接),页面B与页面A也可以位于不同的业务服务器(此时页面A为外部链接),当页面A与页面B位于不同业务服务器上时,可以针对不同的业务服务器向服务器发送页面进入请求。
步骤S202,服务器向用户终端返回页面进入请求对应的加密响应参数;
其中,加密响应参数中包含针对用户终端所构建的加密内核库和第一动态加密数据;加密内核库可以用于指示用户终端在进行环境检测后,得到用于对第一动态加密数据进行解密的第一动态密钥。
为便于理解,请参见图10,图10是本申请实施例提供的一种加密数据通信的流程示意图。其中,如图10所示,步骤S202的具体过程可以描述为:在用户终端对应的用户进入页面时(即服务器在接收到用户终端发送的页面进入请求时),服务器可以从业务数据库中获取最新的请求响应参数,其中,请求响应参数包含加密内核库代码、数据库标识信息和第一动态密钥,其中,数据库标识信息可以称为“BaseID”,第一动态密钥可以称为“BaseKey”。进一步的,服务器随机生成第二动态密钥,并使用“BaseKey”(即第一动态密钥)对第二动态密钥进行加密处理,得到第一动态加密数据,其中,第二动态密钥可以称为“RandomKey”,第一动态加密数据可以称为“EncryptedRandomKey”。进一步的,服务器把加密内核库代码、“BaseID”(即数据库标识信息)和“EncryptedRandomKey”(即第一动态加密数据)作为加密响应参数返回给用户终端。
其中,服务器向用户终端返回页面进入请求对应的加密响应参数的具体过程可以参见上述图3所对应的实施例中对步骤S101的描述,这里将不再进行赘述。
步骤S203,用户终端基于加密内核库对业务客户端的业务类型进行环境检测,在检测到业务客户端属于浏览器时,得到加密内核库中的第一动态密钥;
其中,如图10所示,步骤S203的具体过程可以描述为:用户终端包括加密内核库和浏览器,加密内核库存储在浏览器的本地内存中,加密内核库是从加密响应参数中获取的,则用户终端在接收到服务器返回的加密响应参数时,根据加密响应参数中的页面请求数据对业务客户端进行初始化,并对业务客户端中所录入的当前域名以及业务客户端的业务类型进行检测,当业务客户端中的当前域名与加密内核库代码中存储的域名保持一致,且业务客户端的业务类型为目标业务类型(即浏览器)时,业务客户端从本地内存中获取加密内核库中的“BaseKey”(即第一动态密钥)。
其中,用户终端基于加密内核库对业务客户端的业务类型进行环境检测的具体过程可以参见上述图3所对应的实施例中对步骤S102的描述,这里将不再进行赘述。
步骤S204,用户终端通过第一动态密钥对第一动态加密数据进行解密处理,得到第二动态密钥,在获取到浏览器对应的关键数据时,基于第二动态密钥确定关键数据对应的加密关键数据;
其中,如图10所示,步骤S204的具体过程可以描述为:用户终端从本地内存中获取加密内核库代码,并执行该加密内核库代码,通过“BaseKey”(即第一动态密钥)对“EncryptedRandomKey”(即第一动态加密数据)进行解密处理得到“RandomKey”(即第二动态密钥);进一步的,当用户终端对应的用户在初始化的业务客户端中录入关键数据之后,使用“RandomKey”对该录入的关键数据进行加密处理,得到关键数据对应的加密后的关键数据。
其中,可以理解的是,在许多业务场景中,均可以涉及用户终端与服务器的数据通信,如果以明文的方式对通信过程中的某些数据进行传输,一旦这些数据被非法窃取,则对用户终端或服务器造成严重的损失,因此,在具有较高安全传输特性的业务场景下,需要对这些关键数据进行加密处理后,再进一步将其进行传输。其中,具有较高安全传输特性的业务场景可以为用户登录,则关键数据可以为图2所述实施例中的邮箱账号和密码,同理,关键数据可以为用户注册场景下的账号和密码,在用户登录与用户注册时,账号与密码的泄露会给账号的所有者造成严重的损失。可选的,具有较高安全传输特性的业务场景可以为支付计费,则关键数据可以为支付的金额,若修改数据传输过程中支付的金额,则金额的差价会对服务器带来不小的经济损失。可选的,具有较高安全传输特性的业务场景可以为用户鉴权,用户鉴权用于验证用户是否有访问业务服务器的权利,若通过密码的方式来对用户进行验证,则关键数据可以为用户的密码,一旦密码被非法泄露,则服务器无法准确验证用户的合法性。
步骤S205,用户终端基于加密关键数据确定业务请求参数,将携带业务请求参数的业务加密请求发送给服务器;
其中,如图10所示,步骤S205的具体过程可以描述为:用户终端将“EncryptedRandomKey”(即第一动态加密数据)、“BaseID”(即数据库标识信息)以及加密后的关键数据作为业务请求参数,并将业务请求参数携带在业务加密请求中发送给服务器。
步骤S206,服务器基于业务加密请求获取业务请求参数中的数据库标识信息,在查询到数据库标识信息所映射的业务数据库时,将业务数据库中的第一动态密钥作为待解密密钥;
其中,如图10所示,步骤S206的具体过程可以描述为:服务器获取业务请求参数中所携带的“BaseID”(即数据标识信息),并基于“BaseID”在业务数据库中查询“BaseKey”(即第一动态密钥)。
步骤S207,服务器基于待解密密钥和业务请求参数中所携带的第二动态加密数据,对加密关键数据进行解密处理。
其中,可以理解的是,若待解密密钥与第一动态密钥相同,则第二动态加密数据与用户终端从加密响应参数中获得的第一动态加密数据保持一致,当业务加密请求对应的时间戳属于待解密密钥(即第一动态密钥)的有效时间段,且用户终端发起业务加密请求的次数未超过业务加密请求对应的请求阈值时,服务器可以基于待解密密钥对业务请求参数中所携带的第二动态加密数据(即第一动态加密数据),对加密关键数据进行解密处理,进而得到用户终端对应的用户在业务客户端录入的关键数据。
其中,如图10所示,步骤S207的具体过程可以描述为:服务器在业务数据库中查询到“BaseKey”(即第一动态密钥)之后,使用“BaseKey”对浏览器传入的业务请求参数中的“EncryptedRandomKey”(即第一动态加密数据)进行解密处理,得到“RandomKey”(即第二动态密钥),并进一步使用“RandomKey”对浏览器传入的加密后的关键数据进行解密处理,得到关键数据;进一步的,服务器在获取到浏览器中所录入的关键数据后,可以进一步将其发送到其他系统,以完成用户终端对业务服务器接口的调用;其中,其他系统可以是为用户终端提供不同服务的业务服务器。
其中,服务器对加密关键数据进行解密处理的具体过程可以参见上述图3所对应的实施例中对步骤S104的描述,这里将不再进行赘述。
由此可见,本申请实施例在用户终端与服务器的数据通信场景中,可以对通信过程中传输的关键数据进行加密处理,并可以对加密关键数据的动态密钥(这里指第二动态密钥)进行加密处理。服务器在获取到页面进入请求时,可以用第一动态密钥对第二动态密钥进行加密处理,以得到第一动态加密数据。其中,第一动态密钥是由在服务器侧所构建的加密内核库所得到的。所以,当用户终端在获取到包含第一动态加密数据的加密响应参数时,可以进行环境检测,以在环境检测通过后,准确地获取到该加密内核库中的第一动态密钥,进而可以通过第一动态密钥对第一动态加密数据进行解密得到第二动态密钥,以通过该第二动态密钥对待传输的关键数据进行加密处理,以增强关键数据在数据传输过程中的安全性。
进一步的,请参见图11,图11是本申请实施例提供的一种加密数据通信装置的结构示意图。加密数据通信装置1可以应用于上述服务器,该服务器可以为上述图1所对应实施例中的服务器2000。进一步的,该加密数据通信装置1可以包括:请求获取模块11,请求接收模块12,密钥查询模块13,数据解密模块14;
请求获取模块11,用于在获取到用户终端发送的页面进入请求时,向用户终端返回页面进入请求对应的加密响应参数;加密响应参数中包含针对用户终端所构建的加密内核库和第一动态加密数据;加密内核库用于指示用户终端在进行环境检测后,得到用于对第一动态加密数据进行解密的第一动态密钥;
其中,请求获取模块11包括:参数查询单元111,密钥加密单元112,参数返回单元113;可选的,请求获取模块11可以进一步包括:第一处理单元114,第一确定单元115,第二确定单元116,数据库生成单元117;
参数查询单元111,用于在获取到用户终端发送的页面进入请求时,从页面进入请求中获取待访问的业务服务器对应的业务域名,在业务数据库中查询与业务域名相关联的请求响应参数;请求响应参数中包含第一动态密钥、数据库标识信息以及加密内核库;第一动态密钥是由第一加密规则所生成的;
密钥加密单元112,用于在通过第二加密规则生成第二动态密钥的情况下,使用第一动态密钥对第二动态密钥进行加密处理,得到第一动态加密数据;
参数返回单元113,用于将页面进入请求对应的页面请求数据、第一动态加密数据、数据库标识信息以及加密内核库,作为加密响应参数,将加密响应参数返回给用户终端。
可选的,第一处理单元114,用于获取针对业务服务器对应的业务域名,在通过第一加密规则生成第一动态密钥时,对业务域名和第一动态密钥进行第一加密处理;
第一确定单元115,用于获取与环境检测规则相关联的目标业务类型,将加密后的业务域名和加密后的第一动态密钥以及目标业务类型作为待组合参数;目标业务类型为浏览器对应的业务类型;
第二确定单元116,用于获取与浏览器相关联的组合加密规则,将组合加密规则与待组合参数进行组合处理,得到目标组合参数;
数据库生成单元117,用于获取与组合加密规则相关联的指令集,基于指令集、指令集所指向的虚拟机以及目标组合参数,生成与业务域名相关联的加密内核库,基于加密内核库、业务域名以及第一动态密钥,生成与数据库标识信息具有映射关系的业务数据库。
其中,参数查询单元111,密钥加密单元112,参数返回单元113,第一处理单元114,第一确定单元115,第二确定单元116以及数据库生成单元117的具体实现方式可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再进行赘述。
请求接收模块12,用于接收用户终端通过环境检测时所检测到的浏览器发送的业务加密请求;业务加密请求中包含业务请求参数;业务请求参数中包含加密关键数据;加密关键数据是由第二动态密钥所确定的;第二动态密钥为通过第一动态密钥对第一动态加密数据进行解密后所得到的;
其中,请求接收模块12的具体实现方式可以参见上述图3所对应实施例中对步骤S102的描述,这里将不再进行赘述。
密钥查询模块13,用于基于业务加密请求获取业务请求参数中的数据库标识信息,在查询到数据库标识信息所映射的业务数据库时,将业务数据库中的第一动态密钥作为待解密密钥;
其中,密钥查询模块13的具体实现方式可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再进行赘述。
数据解密模块14,用于基于待解密密钥和业务请求参数中所携带的第二动态加密数据,对加密关键数据进行解密处理。
其中,数据解密模块14包括:动态数据解密单元141,密钥获取单元142,数据确定单元143;可选的,数据解密模块14可以进一步包括:第三返回单元144;
动态数据解密单元141,用于当待解密密钥与第一动态密钥相同时,通过待解密密钥对业务请求参数中所携带的第二动态加密数据进行解密处理,得到第二动态加密数据对应的解密处理结果;
其中,待解密密钥包括有效时间段;
动态数据解密单元141包括:时间戳获取子单元1411,结果确定子单元1412,第一返回子单元1413,第二返回子单元1414;
时间戳获取子单元1411,用于当待解密密钥与第一动态密钥相同时,获取业务加密请求对应的业务加密时间戳;
结果确定子单元1412,用于若业务加密时间戳属于有效时间段,则通过待解密密钥对业务请求参数中所携带的第二动态加密数据进行解密处理,得到第二动态加密数据对应的解密处理结果;
第一返回子单元1413,用于若业务加密时间戳不属于有效时间段,则拒绝业务加密请求,并向发起业务加密请求的用户终端返回第一拒绝提示信息。
可选的,第二返回子单元1414,用于将获取到第一动态加密数据的次数,作为用户终端发起业务加密请求的次数,在用户终端发起业务加密请求的次数超过业务加密请求对应的请求阈值时,拒绝业务加密请求,并向发起业务加密请求的用户终端返回第二拒绝提示信息。
其中,时间戳获取子单元1411,结果确定子单元1412,第一返回子单元1413以及第二返回子单元1414的具体实现方式可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再进行赘述。
密钥获取单元142,用于当第二动态加密数据与用户终端从加密响应参数中所获得的第一动态加密数据保持一致时,获取解密处理结果中的第二动态密钥;
数据确定单元143,用于通过第二动态密钥对加密关键数据进行解密处理。
可选的,第三返回单元144,用于当第二动态加密数据与用户终端从加密响应参数中所获得的第一动态加密数据未保持一致时,则解密处理结果用于表征待解密密钥与第一动态密钥不相同,拒绝业务加密请求,并向发起业务加密请求的用户终端返回第三拒绝提示信息。
其中,动态数据解密单元141,密钥获取单元142,数据确定单元143以及第三返回单元144的具体实现方式可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再进行赘述
请参见图12,图12是本申请实施例提供的一种计算机设备的结构示意图。如图12所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。可选的,网络接口1004可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器1005还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图12所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
在获取到用户终端发送的页面进入请求时,向用户终端返回页面进入请求对应的加密响应参数;加密响应参数中包含针对用户终端所构建的加密内核库和第一动态加密数据;加密内核库用于指示用户终端在进行环境检测后,得到用于对第一动态加密数据进行解密的第一动态密钥;
接收用户终端通过环境检测时所检测到的浏览器发送的业务加密请求;业务加密请求中包含业务请求参数;业务请求参数中包含加密关键数据;加密关键数据是由第二动态密钥所确定的;第二动态密钥为通过第一动态密钥对第一动态加密数据进行解密后所得到的;
基于业务加密请求获取业务请求参数中的数据库标识信息,在查询到数据库标识信息所映射的业务数据库时,将业务数据库中的第一动态密钥作为待解密密钥;
基于待解密密钥和业务请求参数中所携带的第二动态加密数据,对加密关键数据进行解密处理。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3或图8所对应实施例中对加密数据通信方法的描述,也可执行前文图11所对应实施例中对加密数据通信装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的加密数据通信装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3或图8所对应实施例中对加密数据通信方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步的,请参见图13,是本申请实施例提供的一种加密数据通信装置的结构示意图。加密数据通信装置2可以应用于上述用户终端,该用户终端可以为上述图1所对应实施例中的用户终端3000a。进一步的,该加密数据通信装置2可以包括:参数接收模块21,环境检测模块22,加密数据确定模块23,请求发送模块24;
参数接收模块21,用于响应针对业务客户端的触发操作,向服务器发送页面进入请求,接收服务器基于页面进入请求返回的加密响应参数;加密响应参数中包含加密内核库和第一动态加密数据;
环境检测模块22,用于基于加密内核库对业务客户端的业务类型进行环境检测,在检测到业务客户端属于浏览器时,得到加密内核库中的第一动态密钥;
加密数据确定模块23,用于通过第一动态密钥对第一动态加密数据进行解密处理,得到第二动态密钥,在获取到浏览器对应的关键数据时,基于第二动态密钥确定关键数据对应的加密关键数据;
请求发送模块24,用于基于加密关键数据确定业务请求参数,将携带业务请求参数的业务加密请求发送给服务器;业务加密请求用于指示服务器基于从业务数据库中获取到的待解密密钥,对业务请求参数中的加密关键数据进行解密处理。
其中,参数接收模块21,环境检测模块22,加密数据确定模块23以及请求发送模块24的具体实现方式可以参见上述图8所对应实施例中对用户终端的描述,这里将不再进行赘述。
请参见图14,图14是本申请实施例提供的一种计算机设备的结构示意图。如图14所示,该计算机设备2000可以包括:处理器2001,网络接口2004和存储器2005,此外,上述计算机设备2000还可以包括:用户接口2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口2003还可以包括标准的有线接口、无线接口。可选的,网络接口2004可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器2005还可以是至少一个位于远离前述处理器2001的存储装置。如图14所示,作为一种计算机可读存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图14所示的计算机设备2000中,网络接口2004可提供网络通讯功能;而用户接口2003主要用于为用户提供输入的接口;而处理器2001可以用于调用存储器2005中存储的设备控制应用程序,以实现:
响应针对业务客户端的触发操作,向服务器发送页面进入请求,接收服务器基于页面进入请求返回的加密响应参数;加密响应参数中包含加密内核库和第一动态加密数据;
基于加密内核库对业务客户端的业务类型进行环境检测,在检测到业务客户端属于浏览器时,得到加密内核库中的第一动态密钥;
通过第一动态密钥对第一动态加密数据进行解密处理,得到第二动态密钥,在获取到浏览器对应的关键数据时,基于第二动态密钥确定关键数据对应的加密关键数据;
基于加密关键数据确定业务请求参数,将携带业务请求参数的业务加密请求发送给服务器;业务加密请求用于指示服务器基于从业务数据库中获取到的待解密密钥,对业务请求参数中的加密关键数据进行解密处理。
应当理解,本申请实施例中所描述的计算机设备2000可执行前文图8所对应实施例中对加密数据通信方法的描述,也可执行前文图13所对应实施例中对加密数据通信装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的加密数据通信装置2所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图8所对应实施例中对加密数据通信方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步的,请参见图15,是本申请实施例还提供一种加密数据通信系统。该加密数据通信系统3中可以包含用户终端2和服务器1,用户终端2可以为前述图13所对应实施例中的加密数据通信装置2;服务器可以为前述图11所对应实施例中的加密数据通信装置1。可以理解的是,对采用相同方法的有益效果描述,也不再进行赘述。
此外,需要说明的是:本申请实施例还提供了一中计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行图3或图8所对应实施例中对加密数据通信方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储存储器(Read-Only Memory,ROM)或随机存储存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (11)
1.一种加密数据通信方法,所述方法应用于服务器,其特征在于,包括:
在获取到用户终端发送的页面进入请求时,向所述用户终端返回所述页面进入请求对应的加密响应参数;所述加密响应参数中包含针对所述用户终端所构建的加密内核库和第一动态加密数据;所述加密内核库用于指示所述用户终端在进行环境检测后,得到用于对所述第一动态加密数据进行解密的第一动态密钥;
接收所述用户终端通过环境检测时所检测到的浏览器发送的业务加密请求;所述业务加密请求中包含业务请求参数;所述业务请求参数中包含加密关键数据;所述加密关键数据是由第二动态密钥所确定的;所述第二动态密钥为通过所述第一动态密钥对所述第一动态加密数据进行解密后所得到的;
基于所述业务加密请求获取所述业务请求参数中的数据库标识信息,在查询到所述数据库标识信息所映射的业务数据库时,将所述业务数据库中的第一动态密钥作为待解密密钥;
基于所述待解密密钥和所述业务请求参数中所携带的第二动态加密数据,对所述加密关键数据进行解密处理;包括:当所述待解密密钥与所述第一动态密钥相同时,通过所述待解密密钥对所述业务请求参数中所携带的第二动态加密数据进行解密处理,得到所述第二动态加密数据对应的解密处理结果;当所述第二动态加密数据与所述用户终端从所述加密响应参数中所获得的所述第一动态加密数据保持一致时,获取所述解密处理结果中的第二动态密钥;通过所述第二动态密钥对所述加密关键数据进行解密处理。
2.根据权利要求1所述的方法,其特征在于,所述在获取到用户终端发送的页面进入请求时,向所述用户终端返回所述页面进入请求对应的加密响应参数,包括:
在获取到用户终端发送的页面进入请求时,从所述页面进入请求中获取待访问的业务服务器对应的业务域名,在所述业务数据库中查询与所述业务域名相关联的请求响应参数;所述请求响应参数中包含第一动态密钥、数据库标识信息以及加密内核库;所述第一动态密钥是由第一加密规则所生成的;
在通过第二加密规则生成第二动态密钥的情况下,使用所述第一动态密钥对所述第二动态密钥进行加密处理,得到第一动态加密数据;
将所述页面进入请求对应的页面请求数据、所述第一动态加密数据、所述数据库标识信息以及所述加密内核库,作为加密响应参数,将所述加密响应参数返回给所述用户终端。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取针对所述业务服务器对应的业务域名,在通过第一加密规则生成第一动态密钥时,对所述业务域名和所述第一动态密钥进行第一加密处理;
获取与环境检测规则相关联的目标业务类型,将加密后的业务域名和加密后的第一动态密钥以及所述目标业务类型作为待组合参数;所述目标业务类型为浏览器对应的业务类型;
获取与所述浏览器相关联的组合加密规则,将所述组合加密规则与所述待组合参数进行组合处理,得到目标组合参数;
获取与所述组合加密规则相关联的指令集,基于所述指令集、所述指令集所指向的虚拟机以及所述目标组合参数,生成与所述业务域名相关联的加密内核库,基于所述加密内核库、所述业务域名以及所述第一动态密钥,生成与数据库标识信息具有映射关系的业务数据库。
4.根据权利要求1所述的方法,其特征在于,所述待解密密钥包括有效时间段;
所述当所述待解密密钥与所述第一动态密钥相同时,通过所述待解密密钥对所述业务请求参数中所携带的第二动态加密数据进行解密处理,得到所述第二动态加密数据对应的解密处理结果,包括:
当所述待解密密钥与所述第一动态密钥相同时,获取所述业务加密请求对应的业务加密时间戳;
若所述业务加密时间戳属于所述有效时间段,则通过所述待解密密钥对所述业务请求参数中所携带的第二动态加密数据进行解密处理,得到所述第二动态加密数据对应的解密处理结果;
若所述业务加密时间戳不属于所述有效时间段,则拒绝所述业务加密请求,并向发起所述业务加密请求的用户终端返回第一拒绝提示信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将获取到所述第一动态加密数据的次数,作为所述用户终端发起所述业务加密请求的次数,在所述用户终端发起所述业务加密请求的次数超过所述业务加密请求对应的请求阈值时,拒绝所述业务加密请求,并向发起所述业务加密请求的用户终端返回第二拒绝提示信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第二动态加密数据与所述用户终端从所述加密响应参数中所获得的所述第一动态加密数据未保持一致时,则所述解密处理结果用于表征所述待解密密钥与所述第一动态密钥不相同,拒绝所述业务加密请求,并向发起所述业务加密请求的用户终端返回第三拒绝提示信息。
7.一种加密数据通信方法,所述方法应用于用户终端,其特征在于,包括:
响应针对业务客户端的触发操作,向服务器发送页面进入请求,接收所述服务器基于所述页面进入请求返回的加密响应参数;所述加密响应参数中包含加密内核库和第一动态加密数据;
基于所述加密内核库对所述业务客户端的业务类型进行环境检测,在检测到所述业务客户端属于浏览器时,得到所述加密内核库中的第一动态密钥;
通过所述第一动态密钥对所述第一动态加密数据进行解密处理,得到第二动态密钥,在获取到所述浏览器对应的关键数据时,基于所述第二动态密钥确定所述关键数据对应的加密关键数据;
基于所述加密关键数据确定业务请求参数,将携带所述业务请求参数的业务加密请求发送给所述服务器;所述业务加密请求用于指示所述服务器基于从业务数据库中获取到的待解密密钥,对所述业务请求参数中的所述加密关键数据进行解密处理,包括:当所述待解密密钥与所述第一动态密钥相同时,通过所述待解密密钥对所述业务请求参数中所携带的第二动态加密数据进行解密处理,得到所述第二动态加密数据对应的解密处理结果;当所述第二动态加密数据与所述用户终端从所述加密响应参数中所获得的所述第一动态加密数据保持一致时,获取所述解密处理结果中的第二动态密钥;通过所述第二动态密钥对所述加密关键数据进行解密处理。
8.一种加密数据通信装置,所述装置应用于服务器,其特征在于,包括:
请求获取模块,用于在获取到用户终端发送的页面进入请求时,向所述用户终端返回所述页面进入请求对应的加密响应参数;所述加密响应参数中包含针对所述用户终端所构建的加密内核库和第一动态加密数据;所述加密内核库用于指示所述用户终端在进行环境检测后,得到用于对所述第一动态加密数据进行解密的第一动态密钥;
请求接收模块,用于接收所述用户终端通过环境检测时所检测到的浏览器发送的业务加密请求;所述业务加密请求中包含业务请求参数;所述业务请求参数中包含加密关键数据;所述加密关键数据是由第二动态密钥所确定的;所述第二动态密钥为通过所述第一动态密钥对所述第一动态加密数据进行解密后所得到的;
密钥查询模块,用于基于所述业务加密请求获取所述业务请求参数中的数据库标识信息,在查询到所述数据库标识信息所映射的业务数据库时,将所述业务数据库中的第一动态密钥作为待解密密钥;
数据解密模块,用于基于所述待解密密钥和所述业务请求参数中所携带的第二动态加密数据,对所述加密关键数据进行解密处理;包括:当所述待解密密钥与所述第一动态密钥相同时,通过所述待解密密钥对所述业务请求参数中所携带的第二动态加密数据进行解密处理,得到所述第二动态加密数据对应的解密处理结果;当所述第二动态加密数据与所述用户终端从所述加密响应参数中所获得的所述第一动态加密数据保持一致时,获取所述解密处理结果中的第二动态密钥;通过所述第二动态密钥对所述加密关键数据进行解密处理。
9.一种加密数据通信装置,所述装置应用于用户终端,其特征在于,包括:
参数接收模块,用于响应针对业务客户端的触发操作,向服务器发送页面进入请求,接收所述服务器基于所述页面进入请求返回的加密响应参数;所述加密响应参数中包含加密内核库和第一动态加密数据;
环境检测模块,用于基于所述加密内核库对所述业务客户端的业务类型进行环境检测,在检测到所述业务客户端属于浏览器时,得到所述加密内核库中的第一动态密钥;
加密数据确定模块,用于通过所述第一动态密钥对所述第一动态加密数据进行解密处理,得到第二动态密钥,在获取到所述浏览器对应的关键数据时,基于所述第二动态密钥确定所述关键数据对应的加密关键数据;
请求发送模块,用于基于所述加密关键数据确定业务请求参数,将携带所述业务请求参数的业务加密请求发送给所述服务器;所述业务加密请求用于指示所述服务器基于从业务数据库中获取到的待解密密钥,对所述业务请求参数中的所述加密关键数据进行解密处理,包括:当所述待解密密钥与所述第一动态密钥相同时,通过所述待解密密钥对所述业务请求参数中所携带的第二动态加密数据进行解密处理,得到所述第二动态加密数据对应的解密处理结果;当所述第二动态加密数据与所述用户终端从所述加密响应参数中所获得的所述第一动态加密数据保持一致时,获取所述解密处理结果中的第二动态密钥;通过所述第二动态密钥对所述加密关键数据进行解密处理。
10.一种计算机设备,其特征在于,包括:处理器、存储器、网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以执行权利要求1-7任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011061064.4A CN112131564B (zh) | 2020-09-30 | 2020-09-30 | 加密数据通信方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011061064.4A CN112131564B (zh) | 2020-09-30 | 2020-09-30 | 加密数据通信方法、装置、设备以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131564A CN112131564A (zh) | 2020-12-25 |
CN112131564B true CN112131564B (zh) | 2024-08-20 |
Family
ID=73843527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011061064.4A Active CN112131564B (zh) | 2020-09-30 | 2020-09-30 | 加密数据通信方法、装置、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131564B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113297588A (zh) * | 2021-01-22 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 密码处理设备、以及密码处理设备的控制方法和装置 |
CN115130118A (zh) * | 2021-03-29 | 2022-09-30 | 华为技术有限公司 | 访问数据库的方法和装置 |
CN113676467B (zh) * | 2021-08-16 | 2024-01-05 | 北京全路通信信号研究设计院集团有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN114218322B (zh) * | 2021-12-13 | 2022-08-26 | 深圳市电子商务安全证书管理有限公司 | 基于密文传输的数据展示方法、装置、设备及介质 |
CN114285675B (zh) * | 2022-03-07 | 2022-07-12 | 杭州优云科技有限公司 | 一种报文转发方法及设备 |
CN114861207A (zh) * | 2022-05-12 | 2022-08-05 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN116132035B (zh) * | 2023-02-03 | 2024-04-12 | 广州万协通信息技术有限公司 | 基于多参量动态调节的高性能密码运算方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107026824A (zh) * | 2016-02-02 | 2017-08-08 | 腾讯科技(深圳)有限公司 | 一种消息加密、解密方法和装置 |
EP3629546A1 (en) * | 2018-09-28 | 2020-04-01 | Yokogawa Electric Corporation | System and method for providing cloud service |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666383B (zh) * | 2016-07-29 | 2021-06-18 | 阿里巴巴集团控股有限公司 | 基于https协议的报文处理方法以及装置 |
US10200194B2 (en) * | 2017-06-30 | 2019-02-05 | Microsoft Technology Licensing, Llc | Theft and tamper resistant data protection |
-
2020
- 2020-09-30 CN CN202011061064.4A patent/CN112131564B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107026824A (zh) * | 2016-02-02 | 2017-08-08 | 腾讯科技(深圳)有限公司 | 一种消息加密、解密方法和装置 |
EP3629546A1 (en) * | 2018-09-28 | 2020-04-01 | Yokogawa Electric Corporation | System and method for providing cloud service |
Also Published As
Publication number | Publication date |
---|---|
CN112131564A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131564B (zh) | 加密数据通信方法、装置、设备以及介质 | |
CN112333198B (zh) | 安全跨域登录方法、系统及服务器 | |
US9836612B2 (en) | Protecting data | |
CN112217835B (zh) | 报文数据的处理方法、装置、服务器和终端设备 | |
CN104735066B (zh) | 一种面向网页应用的单点登录方法、装置和系统 | |
CN110061967B (zh) | 业务数据提供方法、装置、设备及计算机可读存储介质 | |
CN109241484B (zh) | 一种基于加密技术的网页数据的发送方法及设备 | |
CN108075888B (zh) | 动态url生成方法及装置、存储介质、电子设备 | |
CN104009977A (zh) | 一种信息保护的方法和系统 | |
CN108322416B (zh) | 一种安全认证实现方法、装置及系统 | |
CN110708335A (zh) | 访问认证方法、装置及终端设备 | |
CN110958239B (zh) | 访问请求的校验方法和装置、存储介质及电子装置 | |
KR101452299B1 (ko) | 무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버 | |
CN110602051B (zh) | 基于共识协议的信息处理方法及相关装置 | |
CN106888200B (zh) | 标识关联方法、信息发送方法及装置 | |
CN112948857A (zh) | 一种文档处理方法及装置 | |
CN109145645B (zh) | 一种保护安卓手机中短信验证码的方法 | |
CN112804266A (zh) | 网页数据处理方法、装置、计算机设备和存储介质 | |
Hagalisletto et al. | Using the mobile phone in two-factor authentication | |
KR102534012B1 (ko) | 컨텐츠 제공자의 보안등급을 인증하는 시스템 및 그 방법 | |
CN114285815B (zh) | 应用跳转方法和应用跳转装置 | |
CN117040821A (zh) | 登录态生成和验证的方法、电子设备及介质 | |
CN115396116A (zh) | 接口鉴权方法、装置,存储介质及计算机终端 | |
CN118093653A (zh) | 证书吊销列表查询方法、相关装置、及计算机存储介质 | |
CN113609366A (zh) | 数据获取方法、装置、终端设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |