CN115459929A - 安全验证方法、装置、电子设备、系统、介质和产品 - Google Patents
安全验证方法、装置、电子设备、系统、介质和产品 Download PDFInfo
- Publication number
- CN115459929A CN115459929A CN202211083309.2A CN202211083309A CN115459929A CN 115459929 A CN115459929 A CN 115459929A CN 202211083309 A CN202211083309 A CN 202211083309A CN 115459929 A CN115459929 A CN 115459929A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- access
- plaintext
- access party
- token
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012795 verification Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000032683 aging Effects 0.000 claims description 89
- 238000004422 calculation algorithm Methods 0.000 claims description 47
- 230000004044 response Effects 0.000 claims description 38
- 238000013475 authorization Methods 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 17
- 230000036962 time dependent Effects 0.000 claims description 17
- 238000000586 desensitisation Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000001550 time effect Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 150000003839 salts Chemical class 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009938 salting Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/045—Network 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 wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及访问控制技术领域,尤其涉及一种安全验证方法、装置、电子设备、系统、介质和产品。接收非本地设备发送的第一请求报文,获取第一密文的SM3和SM2时效性签名,第一密文的SM3和SM2时效性签名验证通过后,对第一密文进行SM2非对称解密获得第一明文并对第一明文进行验证,第一明文验证通过后向非本地设备发送接入方时效令牌。而后,接收非本地设备发送的第二请求报文,获取第二请求报文中的第二密文的SM3和SM2时效性签名,第二密文的SM3和SM2时效性签名验证通过后,对第二密文进行SM4对称解密获得第二明文并对第二明文进行验证,第二明文验证通过后允许非本地设备访问目标平台,从而提高接入目标平台的安全性。
Description
技术领域
本申请涉及访问控制技术领域,尤其涉及一种安全验证方法、装置、电子设备、系统、介质和产品。
背景技术
无状态服务(stateless service)对单次请求的处理,不依赖于其他请求,其处理一次请求所需的全部信息,包括在请求中或者可以从外部获取,服务器本身不存储任何信息。
随着互联网技术的发展,各个行业需要面对大量用户,大量用户通过无状态服务访问目标平台,大量无效异常请求被放行至目标平台时会导致目标平台数据出错或请求处理异常。
因而,如何实现无状态服务的安全控制,保证接入目标平台的安全性是极为重要的问题。
发明内容
本申请提供一种安全验证方法、装置、电子设备、系统、介质和产品,提供接入目标平台的安全性。
第一方面,本申请提供一种安全验证方法,所述方法包括:
接收非本地设备发送的第一请求报文,所述第一请求报文包括第一密文以及所述第一密文的SM3和SM2时效性签名,所述第一密文包括经SM2非对称加密的接入方标识和接入方密码;
获取所述第一密文的SM3和SM2时效性签名,所述第一密文的SM3和SM2时效性签名验证通过后,对所述第一密文进行SM2非对称解密获得第一明文并对所述第一明文进行验证,所述第一明文验证通过后向所述非本地设备发送接入方时效令牌;
接收所述非本地设备发送的第二请求报文,所述第二请求报文包括第二密文和所述第二密文的SM3和SM2时效性签名,所述第二密文包括经SM4对称加密的接入方时效令牌和安全网关服务交易码;
获取所述第二密文的SM3和SM2时效性签名,所述第二密文的SM3和SM2时效性签名验证通过后,对所述第二密文进行SM4对称解密获得第二明文并对所述第二明文进行验证,所述第二明文验证通过后允许所述非本地设备访问目标平台。
可选的,所述第一密文的SM3和SM2时效性签名验签通过后,对所述第一密文进行SM2非对称解密获得第一明文,包括:
对所述第一密文的SM3和SM2时效性签名进行SM2非对称解密获得第一时间戳,验证所述第一时间戳是否过期;
若否,将所述第一密文经SM3摘要算法生成的摘要与所述第一请求报文中的摘要进行比对,比对一致时,对所述第一密文进行SM2非对称解密获得第一明文。
可选的,所述对所述第一明文进行验证,所述第一明文验证通过后向所述非本地设备发送接入方时效令牌,包括:
利用安全组件对所述第一明文进行安全检测,所述安全检测通过后验证所述第一明文中的第二时间戳是否在有效时间内、所述第一明文中的接入方标识与接入方密码是否匹配,以及所述非本地设备的IP地址是否在白名单源IP地址中;
若所述第一明文中的第二时间戳在有效时间内,所述第一明文中的接入方标识与接入方密码匹配,且所述非本地设备的IP地址在白名单源IP地址中,向所述非本地设备发送接入方时效令牌。
可选的,所述第一明文验证通过后向所述非本地设备发送接入方时效令牌,包括:
查询与所述接入方标识对应的目标接入方时效令牌;
若未查询到与所述接入方标识对应的目标接入方时效令牌,为所述非本地设备分配接入方时效令牌,并向所述非本地设备发送分配的接入方时效令牌;
若查询到与所述接入方标识对应的目标接入方时效令牌,判断所述目标接入方时效令牌是否处于可刷新时间,若是,为所述非本地设备重新分配接入方时效令牌,并向所述非本地设备发送重新分配的接入方时效令牌,若否,将所述目标接入方时效令牌以及所述目标接入方时效令牌的剩余有效时间发送至所述非本地设备。
可选的,所述第二密文的SM3和SM2时效性签名验签通过后,对所述第二密文进行SM4对称解密获得第二明文,包括:
对所述第二密文的SM3和SM2时效性签名进行SM2非对称解密,获得第三时间戳,验证所述第三时间戳是否过期;
若否,将所述第二密文经SM3摘要算法生成的摘要与所述第二请求报文中的摘要进行比对,比对一致时,对所述第二密文进行SM2非对称解密获得第二明文。
可选的,所述对所述第二明文进行验证,所述第二明文验证通过后允许所述非本地设备访问目标平台,包括:
利用安全组件对所述第二明文进行安全检测,所述安全检测通过后验证所述非本地设备是否有调用所述安全网关服务交易码的权限;
若有,验证所述安全网关服务交易码对应的接入方关键要素是否需要推送,若否,允许所述非本地设备访问目标平台,若是,在所述接入方关键要素推送后允许所述接入方访问目标平台。
可选的,所述方法还包括:
接收本地设备发送的第三请求报文,所述第三请求报文包括经SM4对称加密的请求报文,所述请求报文用于请求调起所述电子设备中的安全网关服务,所述SM4对称加密的密钥为根据种子数据和密钥生成算法生成的隐式协商密钥;
比较所述第三请求报文中的访问来源信息与所述交易服务请求授权码对应的地址信息是否一致,若是,通过SM4对称解密对所述经SM4对称加密的请求报文进行SM4对称解密获得第三明文,所述SM4对称解密的密钥为采用所述种子数据和密钥生成算法产生的与所述隐式协商密钥相同的临时密钥;
对所述第三明文进行验证,验证通过后允许所述本地设备访问所述目标平台。
可选的,所述第三明文进行验证,验证通过后允许所述本地设备访问所述目标平台,包括:
利用安全组件对所述第三明文进行安全验证,所述安全验证通过后验证所述本地设备是否有调用所述安全网关服务交易码的权限;
若有,验证所述安全网关服务交易码对应的接入方关键要素是否需要推送,若否,允许所述非本地设备访问目标平台,若是,在所述接入方关键要素推送后允许所述本地设备访问目标平台。
第二方面,本申请提供一种安全验证装置,包括:
第一接收模块,用于接收非本地设备发送的第一请求报文,所述第一请求报文包括第一密文以及所述第一密文的SM3和SM2时效性签名,所述第一密文包括经SM2非对称加密的接入方标识和接入方密码、以及所述第一请求报文的SM3和SM2时效性签名;
第一获取模块,用于获取所述第一密文的SM3和SM2时效性签名,所述第一密文的SM3和SM2时效性签名验签通过后,对所述第一密文进行SM2非对称解密获得第一明文并对所述第一明文进行验证,所述第一明文验证通过后向所述非本地设备发送接入方时效令牌;
第二接收模块,用于接收所述非本地设备发送的第二请求报文,所述第二请求报文包括第二密文和所述第二密文的SM3和SM2时效性签名,所述第二密文包括经SM4对称加密的接入方时效令牌、安全网关服务交易码;
第二获取模块,用于获取所述第二密文的SM3和SM2时效性签名,所述第二密文的SM3和SM2时效性签名验签通过后,对所述第二密文进行SM4对称解密获得第二明文并对所述第二明文进行验证,所述第二明文验证通过后允许所述非本地设备访问目标平台。
第三方面,本申请提供一种电子设备,包括:存储器和处理器;
存储器用于存储指令;处理器用于调用存储器中的指令执行第一方面及第一方面任一种可能的设计中的安全验证方法。
第四方面,本申请提供一种安全验证系统,包括第三方面的电子设备、非本地设备和目标平台,所述电子设备用于对所述非本地设备进行验证,验证通过后允许所述非本地设备访问所述目标平台。
可选的,所述电子设备还用于在非本地设备验证通过后将所述非本地设备的访问请求发送至所述目标平台;
所述目标平台在接收到所述非本地设备的访问请求后,将响应信息发送至所述电子设备;
所述电子设备对所响应信息进行脱敏处理,并将脱敏处理后的响应信息发送至所述非本地设备。
可选的,所述系统还包括:本地设备,所述电子设备还用于对所述本地设备进行验证,验证通过后允许本地设备访问所述目标平台。
可选的,所述电子设备还用于在本地设备验证通过后将所述本地设备的访问请求发送至所述目标平台;
所述目标平台在接收到所述本地设备的访问请求后,将响应信息发送至所述电子设备;
所述电子设备对所响应信息进行脱敏处理,并将脱敏处理后的响应信息发送至所述本地设备。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当电子设备的至少一个处理器执行该计算机指令时,电子设备执行第一方面及第一方面任一种可能的设计中的安全验证方法。
第六方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机指令,当电子设备的至少一个处理器执行该计算机指令时,电子设备执行第一方面及第一方面任一种可能的设计中的安全验证方法。
本申请提供的安全验证方法,在非本地设备接入目标平台之前,对非本地设备进行验证,接收非本地设备发送的第一请求报文,第一请求报文包括第一密文和第一密文的SM3和SM2时效性签名,第一密文包括SM2非对称加密的接入方标识和接入方密码。获取第一密文的SM3和SM2时效性签名,第一密文的SM3和SM2时效性签名验证通过后,对第一密文进行SM2非对称解密获得第一明文并对第一明文进行验证,第一明文验证通过后向非本地设备发送接入方时效令牌,接入方时效令牌是用于请求安全网关服务的必需字段和唯一明文字段。而后,接收非本地设备发送的第二请求报文,第二请求报文包括第二密文和第二密文的SM3和SM2时效性签名,第二密文包括经SM4对称加密的接入方时效令牌和安全网关服务交易码,获取第二密文的SM3和SM2时效性签名,第二密文的SM3和SM2时效性签名验证通过后,对第二密文进行SM4对称解密获得第二明文并对第二明文进行验证,第二明文验证通过后允许非本地设备进行安全网关服务,即允许非本地设备访问目标平台。在将接入方时效令牌发送至非本地设备之前,对经SM2非对称加密的第一密文进行SM2非对称解密,在将接入方时效令牌发送至非本地设备后,对经SM4对称加密的第二密文进行SM4对称解密,SM2非对称加密的安全性高,SM4对称加密的速度快,从而提高接入目标平台的安全性以及效率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的一种安全验证方法的场景示意图;
图2为本申请一实施例提供的一种安全验证方法的流程图;
图3为本申请一实施例提供的一种安全验证方法的信令交互图;
图4为本申请一实施例提供的另一种安全验证方法的流程图;
图5为本申请一实施例提供的安全验证装置的结构示意图;
图6为本申请一实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解,首先对本申请实施例所涉及的相关技术术语进行解释和说明。
无状态服务:在任何时候服务都不存储数据(除缓存),可以根据需要创建或回收服务节点,用户数据不会发生丢失、用户服务不会收到影响;服务请求可以任意负载到任何一个节点处理,不影响用户获得一致的响应。无状态服务是高可用的、非单点的服务,在某些节点发生故障时,对用户造成最小的影响。
接入方:请求安全接入目标平台的服务接口调用方。例如接入方可以是分行的金科部,也可以是第三方合作公司,接入方安全接入目标平台后,可以调用报名、检查白名单客群、查达标、领奖等服务接口。
接入方信息:接入方的主体名称、唯一标识(例如,营业执照号、组件名)信息,接入方信息用于生成唯一的接入方标识(接入方AppKey)。
接入目标平台:接入方欲访问到的服务所归属的平台。
接入方AppKey:指为接入方分配的唯一标识。接入方与AppKey是一对一关系,系统不会再为同接入方信息分配新的AppKey。接入方AppKey在后端调用【接入方时效令牌AppAccessToken获取/刷新服务】时使用。
接入方AppSec:指为接入方分配AppKey时,系统分配的对应密码。AppSec与AppKey是一对一关系,在必要时可更新。AppSec用于:1、调用【接入方时效令牌AppAccessToken获取/刷新服务】时使用;2、调用【安全网关服务】时的SM4对称加密时使用。
接入方公钥PublicKey:指为接入方分配AppKey时,系统分配的对应公钥。接入方公钥PublicKey与AppKey是一对一关系,与接入方私钥PrivateKey是配套关系,在必要时可与私钥一起更新。接入方公钥PublicKey用于:1、调用【接入方时效令牌AppAccessToken获取/刷新服务】时的SM2非对称加密;2、调用【接入方时效令牌AppAccessToken获取/刷新服务】和【安全网关服务】时的【SM3WithSM2时效加签算法】中的SM3加盐和SM2加密。
接入方私钥PrivateKey:指为接入方分配AppKey时,系统分配的对应私钥。接入方私钥PrivateKey与AppKey是一对一关系,与接入方公钥PublicKey是配套关系,在必要时可与公钥一起更新。接入方私钥PrivateKey不会提供给接入方,主要用于:1、调用【接入方时效令牌AppAccessToken获取/刷新服务】时的SM2非对称解密;2、调用【接入方时效令牌AppAccessToken获取/刷新服务】和【安全网关服务】时的【SM3WithSM2时效加签算法】中的SM2解密。
接入方IP白名单:接入方能且只能通过IP白名单中的机器发起调用【接入方时效令牌AppAccessToken获取/刷新服务】,IP白名单可设置多个,但限定一个接入方不能超过3个。接入方IP白名单限定接入方只能通过指定IP的机器获取【接入方时效令牌AppAccessToken】。
接入方时效令牌AppAccessToken:接入方调用【接入方时效令牌AppAccessToken获取/刷新服务】接口,能获取到最新的【接入方时效令牌AppAccessToken】,该令牌AppAccessToken是用于请求【安全网关服务】的必须字段和唯一明文字段。该令牌AppAccessToken表示一个接入方AppKey在某个时间内被允许调用【安全网关服务】的交易接口。一个AppAccessToken新分配后,前n小时为不可刷新时间段,第n小时后为可刷新时间段,第n+m小时后过期不可用(这里的n和m都为正数。例如n=23,m=2,则一个AppAccessToken1新分配后,前n小时内,接入方调用【接入方时效令牌AppAccessToken获取/刷新服务】,返回的都是AppAccessToken1,在第n小时后,接入方调用【接入方时效令牌AppAccessToken获取/刷新服务】可刷新一个新的AppAccessToken2,此时AppAccessToken1仍有效;第n+m小时后,AppAccessToken1失效。AppAccessToken1和AppAccessToken2会共存有效一段时间,便于平滑切换)。
接入方时效令牌AppAccessToken获取/刷新服务:由【接入方】定期发起调用,以保证其缓存的【接入方时效令牌AppAccessToken】保持最新可用。接入方使用AppKey(明文)、AppSec和当前时间戳(AppSec和当前时间戳这两个字段加密加签处理,SM2非对称加密、SM3WithSM2时效加签),调用本服务的交易接口,可获取最新的【接入方时效令牌AppAccessToken】。对一个接入方,同一时间最多只有两个【接入方时效令牌AppAccessToken】可用(保证在新旧令牌AppAccessToken切换过程中,【安全网关服务】调用使用新旧令牌AppAccessToken都能成功)。
安全网关服务:由用户发起调用(经【接入方】)到达【接入目标平台】。接入方使用【接入方时效令牌AppAccessToken】(明文)、【安全网关服务交易码】和交易码对应请求报文(交易码和请求报文加密加签处理:SM4对称加密、SM3WithSM2时效加签),调用【安全网关服务交易码】对应的具体服务。
安全网关服务交易码:用于指定当前请求【安全网关服务】的具体交易,请求报文字段和数据需与交易说明对应。例如交易码有A00611037报名、A00611045查达标、A00611050检查是否在白名单客群等。
接入关键要素(如:信息推送):对于与接入关键要素相关的交易码调用,只有在接入关键要素经审核推送后,才能成功调用。调用【安全网关服务交易码】时,可以指定接入关键要素,也支持非关键交易码无需检查【接入关键要素即可调用。【接入目标平台】的交易可配置为与【接入关键要素】无关,则该交易的调用无需检查【接入关键要素】。
接入方交易权限:接入方能通过【安全网关服务】调用的交易码,需要申请并经审核后授权,才能正常调用。
SM2非对称加密:国密SM2非对称加密算法,接入方使用【接入方公钥PublicKey】加密,使用【接入方私钥PrivateKey】解密。与【SM4对称加密】相比,【SM2非对称加密】加密速度慢但更安全,适合低频且安全性要求高的交易。
SM4对称加密:国密SM4对称加密算法,接入方按文档截取【AppSec】中指定部分,作为SM4对称密钥,进行加密,使用同样截取【AppSec】得到的密钥,进行解密。与【SM2非对称加密】相比,【SM4对称加密】加密效率更高,适合高频调用。
SM3摘要算法:国密SM3摘要算法,在【SM3WithSM2时效加签算法】中使用,生成摘要。
SM3WithSM2时效加签算法:对已加密的报文,按固定规则排序字段和值后形成的字符串,先用【接入方公钥PublicKey】做【SM3摘要算法】的盐,再用【SM3摘要算法】生成摘要,并附加时间戳信息形成带时间戳的摘要,最后对整体摘要+时间戳使用【SM2非对称加密】(加密公钥为:【接入方公钥PublicKey】),最终生成带时效的加签算法。对应的,SM3WithSM2验签算法,需要先使用【SM2非对称解密】,再验证时效信息,最后验证【SM3摘要算法】生成的摘要。
前端隐式协商密钥:接入电子设备的前端页面,无需与电子设备通信交换密钥,即可与后端形成一致的密钥,用于前端请求加密和收到的响应数据解密。具体做法是前端引入【交易服务请求JSSDK】,并使用该JSSDK提供的隐藏API调用服务。
交易服务请求JSSDK:用于前端需直接向电子设备发起请求的场景,通过隐式协商的密钥,加密请求报文和解密响应报文,代码每个版本都会重新混淆加密,破解难度较大,发起请求的API为隐式API,非直接暴露,攻击者利用难度大。需要注意的是,通过JSSDK发起的交易服务请求,到达电子设备的后端,除了加解密方式与调用【安全网关服务】不同,在验证交易权限、接入关键要素推送等方面,是完全相同的。仅提供给本地设备使用,使用前需申请【交易服务请求JSSDK授权码】。
交易服务请求JSSDK授权码:使用【交易服务请求JSSDK】必须的初始化参数,隐含了本地设备的接入方AppKey(需授权【安全网关服务交易码】和推送【接入关键要素】)。因【接入方AppKey】只能在后端使用,不能暴露在前端,所以在前端需使用【交易服务请求JSSDK授权码】。
安全网关服务(明文报文):因请求报文加密,会导致WAF等无法检查真实的请求报文,无法拦截其中存在的风险。故电子设备将请求报文解密后的明文报文,用于外呼自己的另一支【安全网关服务(明文报文)】交易,以便利用WAF的能力,加强本装置的安全。该【安全网关服务(明文报文)】为限定白名单IP访问(只会开放给电子设备本身),且每次访问都会生成临时的Token。
自定义响应报文脱敏:针对单支交易的响应报文定制脱敏,对字段进行裁剪、加“*”等处理。
兜底响应报文脱敏:定制全局响应报文脱敏,对响应报文中符合条件的字段进行统一裁剪、加“*”等处理。
行内(前端+后端请求服务)模式:行内模式,允许仅前端通过【交易服务请求JSSDK】调用服务。
行外(仅允许后端请求服务)模式:行外模式,仅允许接入方通过后端请求服务。【接入方时效令牌AppAccessToken获取/刷新服务】和【安全网关服务】均未开跨域访问。
隐式协商密钥:通过客户端和服务端用相同的种子和算法,先产生相同的一次性密钥,然后使用【SM4对称加解密算法】来对请求和响应分别进行加解密。具体的种子和算法,【交易服务请求JSSDK】和【安全网关服务】是可以同步更新的,且同步更新对接入方透明,无需接入方做任何调整。因为前端加解密,始终有被破解的风险,可同步更新可以增加攻击破解成本。
正如背景技术的描述,随着互联网技术的发展,各个行业需要面对大量用户,大量用户通过无状态服务访问目标平台,大量无效异常请求被放行至目标平台时会导致目标平台数据出错或请求处理异常。如何实现无状态服务的安全控制,保证接入目标平台的安全性是极为重要的问题。
为此,本申请提供一种安全验证方法,在非本地设备接入目标平台之前,对非本地设备进行验证,接收非本地设备发送的第一请求报文,第一请求报文包括第一密文和第一密文的SM3和SM2时效性签名,第一密文包括SM2非对称加密的接入方标识和接入方密码。获取第一密文的SM3和SM2时效性签名,第一密文的SM3和SM2时效性签名验证通过后,对第一密文进行SM2非对称解密获得第一明文并对第一明文进行验证,第一明文验证通过后向非本地设备发送接入方时效令牌,接入方时效令牌是用于请求安全网关服务的必需字段和唯一明文字段。而后,接收非本地设备发送的第二请求报文,第二请求报文包括第二密文和第二密文的SM3和SM2时效性签名,第二密文包括经SM4对称加密的接入方时效令牌和安全网关服务交易码,获取第二密文的SM3和SM2时效性签名,第二密文的SM3和SM2时效性签名验证通过后,对第二密文进行SM4对称解密获得第二明文并对第二明文进行验证,第二明文验证通过后允许非本地设备进行安全网关服务,即允许非本地设备访问目标平台。在将接入方时效令牌发送至非本地设备之前,对经SM2非对称加密的第一密文进行SM2非对称解密,在将接入方时效令牌发送至非本地设备后,对经SM4对称加密的第二密文进行SM4对称解密,SM2非对称加密的安全性高,SM4对称加密的速度快,从而提高接入目标平台的安全性以及效率。
并且每个非本地设备具有对应的接入方标识、接入方密码、接入方公钥和接入方私钥,各个非本地设备具有独立密钥,若一个非本地设备失效,可快速阻止其访问目标平台,不影响其他非本地设备的访问,提高非本地设备的访问效率。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1示出了本申请一实施例提供的一种用于银行信息访问的安全验证方法的场景示意图。
外行接入方102向目标平台103申请接入方标识,目标平台103向接入方标识、接入方密码以及接入方公钥发送至外行接入方102。外行接入方102使用接入方公钥对接入方标识和接入方密码进行SM2非对称加密形成第一密文,并使用接入方公钥对第一密文进行SM3和SM2时效性加签形成第一密文的SM3和SM2时效性签名,将第一密文和第一密文的SM3和SM2时效性签名生成第一请求报文,并将第一请求报文发送至电子设备103。电子设备103获取第一请求报文中的第一密文和第一密文的SM3和SM2时效性签名,使用接入方私钥对第一密文的SM3和SM2时效性签名进行SM2非对称加密获得第一时间戳,验证第一时间戳是否过期,若未过期,使用接入方公钥将第一密文通过SM3摘要算法生成摘要,将SM3摘要算法生成的摘要与第一请求报文中的摘要进行比对,比对一致时,使用接入方私钥对第一密文进行SM2非对称解密获得第一明文。通过WAF、防火墙等外部安全组件对第一明文进行安全检测,安全检测通过后验证第一明文中的第二时间戳是否在有效时间内、第一明文中的接入方密码和接入方标识是否匹配以及外行接入方102的请求源IP地址是否在白名单源IP地址中,若第二时间戳在有效时间内,第一明文中的接入方密码和接入方标识匹配且外行接入方102的请求源IP地址在白名单源IP地址中,向非本地设备发送接入方时效令牌,接入方时效令牌表示外行接入方102在某一时间内被允许调用安全网关服务的交易接口。外行接入方102在接收到电子设备101发送的接入方时效令牌后,使用接入方密码生成SM4对称加密的密钥,将接入方时效令牌和安全网关服务交易码进行SM4对称加密生成第二密文,将第二密文进行SM3和SM2时效性加签获得第二密文的SM3和SM2时效性签名,将第二密文和第二密文的SM3和SM2时效性签名生成第二请求报文,并将第二请求报文发送至电子设备101。电子设备101接收外行接入方102发送的第二请求报文后,获取第二请求报文中的第二密文和第二密文的SM3和SM2时效性签名,使用接入方私钥对第二密文的SM3和SM2时效性签名进行SM2非对称解密获得第三时间戳,验证第三时间戳是否过期,若否,使用接入方公钥将第二密文通过SM3摘要算法生成摘要,将SM3摘要算法生成的摘要与第二请求报文中的摘要进行比对,比对一致时,使用接入方密码生成SM4对称解密的密钥,将第二密文进行SM4对称解密获得第二明文。通过WAF、防火墙等外部安全组件对第二明文进行安全检测,安全检测通过后验证外行接入方是否有调用安全网关服务交易码的权限。若有,验证安全网关服务交易码对应交易信息的接入方关键要素是否需要推送,接入方关键信息需要推送时,验证接入方关键信息是否已推送,已推送后,将第一请求报文中的访问请求发送至目标平台103,接入方关键信息不需要推送时,将第一请求报文中的访问请求发送至目标平台103。目标平台103接收到外行接入方的访问请求后,将访问请求的响应信息发送至电子设备101,电子设备101对响应信息进行脱敏处理,并将脱敏处理后的响应信息发送至外行接入方102,使得外行接入方102能够安全访问目标平台103,提供接入目标平台103的安全性。
本申请中,以电子设备为执行主体,执行如下实施例的安全验证方法。具体地,该执行主体可以为电子设备的硬件装置,或者为电子设备中实现下述实施例的软件应用,或者为安装有实现下述实施例的软件应用的计算机可读存储介质,或者为实现下述实施例的软件应用的代码。
图2示出了本申请一实施例提供的一种安全验证方法的流程图。在图1所示实施例的基础上,如图2所示,以电子设备为执行主体,本实施例的方法可以包括如下步骤:
S101、接收非本地设备发送的第一请求报文,第一请求报文包括第一密文以及第一密文的SM3和SM2时效性签名,第一密文包括经SM2非对称加密的接入方标识和接入方密码。
非本地设备在访问目标平台之前,需要对接安全网关服务,在对接安全网关服务之前,需要对接接入方时效令牌AppAccessToken获取/刷新服务获取到接入方失效令牌AppAccessToken。
非本地设备在需要访问目标平台时,向目标平台申请接入方标识(接入方AppKey),在接收到目标平台发送的接入方AppKey、接入方密码(接入方AppSec)以及接入方公钥(接入方PublicKey),并使用接入方公钥对接入方标识和接入方密码进行SM2非对称加密生成第一密文,使用接入方公钥对第一密文进行SM3WithSM2时效性加签生成第一密文的SM3和SM2时效性签名(SM3WithSM2时效性签名),将第一密文和第一密文的SM3和SM2时效性签名生成第一请求报文并将第一请求报文发送至电子设备。
通过SM3WithSM2时效加签算法对第一密文进行SM3WithSM2时效性加签,SM3WithSM2时效加签算法为组合算法,包括SM2非对称加密算法和SM3密码杂凑算法,SM2非对称加密算法只对定长的SM3摘要和时间戳进行加密,效率低于SM4分组加密算法,但整体可控,既保证签名不可篡改,又保证时效性不可重放,并且SM2非对称加密算法安全性高,提高对目标平台的访问安全性。
SM3WithSM2时效性加签方法的步骤可以包括:S1011、将待签名数据对象格式化为待签名字符串。例如,待签名数据对象为{“appAccessToken”:“myAppAccessToken1”,reqData:“[加密的请求数据]”。格式化为待签名字符串str2Sign为appAccessToken=myAppAccessToken1&reqData=[加密的请求数据]。字符串例如为appKey=[接入方申请到的AppKey]&reqData=[reqData请求数据包加密字符串],例如为appAccessToken=[接入方缓存的最新appAccessToken]&reqData=[reqData请求数据包加密字符串]。S1012、利用公钥作为SM3签名的盐值,对拼装号的待签名字符串进行签名,得到签名字符串。具体的,接入方公钥作为SM3摘要的盐值,对待签名字符串str2Sign做摘要,得到加盐SM3摘要,即签名字符串sm3SignSalt。S1013、对签名字符串附加时间信息,得到时效签名字符串。具体的,在加盐SM3摘要sm3SignSalt追加当前时间戳得到带时间戳的摘要信息sm3SignSaltDtTm,例如签名字符串sm3SignSalt+yyyyMMddHHmmss=带时效签名字符串sm3SignSaltDtTm。S1014、对带时效签名字符串使用公钥进行SM2非对称加密,得到最终的签名值。具体的,使用接入方公钥对带时间戳的摘要信息sm3SignDtTm进行SM2非对称加密得到Base64字符串pubEncBase64,为最终的签名sign值。
S102、获取第一密文的SM3和SM2时效性签名,第一密文的SM3和SM2时效性签名验证通过后,对第一密文进行SM2非对称解密获得第一明文并对第一明文进行验证,第一明文验证通过后向非本地设备发送接入方时效令牌。
接收到非本地设备发送的第一请求报文后,获取第一请求报文中的第一密文和第一密文的SM3和SM2时效性签名,对第一密文的SM3和SM2时效性签名进行SM2非对称解密获得第一时间戳,验证第一时间戳是否过期。第一时间戳过期时,直接返回错误信息给非本地设备,提示非本地设备验证失败,第一密文的SM3和SM2时效性签名已过期。第一时间戳未过期时,将第一密文经SM3摘要算法生成的摘要与第一请求报文中的摘要进行比对,比对一致时,使用接入方私钥(接入方PrivateKey)对第一密文进行SM2非对称解密获得第一明文,比对不一致时,返回错误信息给非本地设备,提示非本地设备验证失败。
获得第一明文后,利用安全组件对第一明文进行安全验证,安全验证通过后验证第一明文中的第二时间戳是否在有效时间内、第一明文中的接入方标识与接入方密码是否匹配,以及非本地设备的IP地址是否在白名单源IP地址中。若第一明文中的第二时间戳在有效时间内,第一明文中的接入方标识与接入方密码匹配,且非本地设备的IP地址在白名单源IP地址中,第一明文验证通过。
而后,查询与接入方标识对应的目标接入方时效令牌。若未查询到与接入方标识对应的目标接入方时效令牌,为非本地设备分配接入方时效令牌,并向非本地设备发送分配的接入方时效令牌。若查询到与接入方标识对应的目标接入方时效令牌,判断目标接入方时效令牌是否处于可刷新时间,若是,为非本地设备重新分配接入方时效令牌,并向非本地设备发送重新分配的接入方时效令牌,若否,将目标接入方时效令牌以及目标接入方时效令牌的剩余有效时间发送至非本地设备。
S103、接收非本地设备发送的第二请求报文,第二请求报文包括第二密文和第二密文的SM3和SM2时效性签名,第二密文包括经SM4对称加密的接入方时效令牌和安全网关服务交易码。
非本地设备在接收到接入方时效令牌后,可以调用安全网关服务。非本地设备在接收到接入方时效令牌后,使用接入方密码生成SM4对称加密的密钥,对接入方时效令牌和安全网关服务交易码进行SM4对称加密生成第二密文。安全网关服务中包括多个服务信息,安全网关服务交易码与安全网关服务中的服务信息对应,每一安全网关服务交易码具有对应服务信息。
在生成第二密文后,对第二密文进行SM3和SM2时效性加签获得第二密文的SM3和SM2时效性签名,将第二密文和第二密文的SM3和SM2时效性签名生成第二请求报文,并将第二请求报文发送至电子设备。
S104、获取第二密文的SM3和SM2时效性签名,第二密文的SM3和SM2时效性签名验证通过后,对第二密文进行SM4对称解密获得第二明文,并对第二明文进行验证,第二明文验证通过后允许非本地设备访问目标平台。
接收到非本地设备发送的第二请求报文后,获取第二请求报文中的第二密文和第二密文的SM3和SM2时效性签名,对第二密文的SM3和SM2时效性签名进行SM2非对称解密获得第三时间戳,验证第三时间戳是否过期。获取第二密文的SM3和SM2时效性签名,第二密文的SM3和SM2时效性签名验证通过后,对第二密文进行SM4对称解密获得第二明文,并对第二明文进行验证,第二明文验证通过后允许非本地设备访问目标平台第三时间戳过期时,直接返回错误信息给非本地设备,提示非本地设备验证失败,第二密文的SM3和SM2时效性签名已过期。第二时间戳未过期时,将第二密文经SM3摘要算法生成的摘要与第二请求报文中的摘要进行比对,比对一致时,使用接入方密码生成SM4对称解密的密钥,对第二密文进行SM4对称解密获得第二明文,比对不一致时,返回错误信息给非本地设备,提示非本地设备验证失败。
获得第二明文后,利用安全组件对第二明文进行安全验证,安全验证通过后验证非本地设备是否有调用安全网关服务交易码的权限。若无,返回无调用权限的信息至非本地设备。若有,验证安全网关服务交易码对应的接入方关键要素是否需要推送,若否,允许非本地设备访问目标平台,若是,在接入方关键要素推送后允许非本地设备访问目标平台。
本申请提供的安全验证方法,在将接入方时效令牌发送至非本地设备之前,对经SM2非对称加密的第一密文进行SM2非对称解密,在将接入方时效令牌发送至非本地设备后,对经SM4对称加密的第二密文进行SM4对称解密,SM2非对称加密的安全性高,SM4对称加密的速度快,从而提高接入目标平台的安全性以及效率。
图3示出了本申请一实施例提供的一种安全验证方法的信令交互图。如图3所示,本实施例的方法可以包括如下步骤:
S201、非本地设备向目标平台申请接入方标识。
S202、目标平台将接入方标识、接入方密码、接入方公钥发送至非本地设备。
S203、非本地设备对接入方标识和接入方密码进行SM2非对称加密生成第一密文,对第一密文进行SM3和SM2时效性加签生成第一密文的SM3和SM2时效性签名,将第一密文和第一密文的SM3和SM2时效性签名生成第一请求报文并将第一请求报文发送至电子设备。
S204、电子设备获取第一密文和第一密文的SM3和SM2时效性签名,对第一密文的SM3和SM2时效性签名进行SM2非对称解密获得第一时间戳,验证第一时间戳是否过期,若否,将第一密文经SM3摘要算法生成的摘要与第一请求报文中的摘要进行比对,比对一致时,对第一密文进行SM2非对称解密获得第一明文。
S205、电子设备利用安全组件对第一明文进行安全检测,安全检测通过后验证第一明文中的第二时间戳是否在有效时间内、第一明文中的接入方标识与接入方密码是否匹配,以及非本地设备的IP地址是否在白名单源IP地址中,若第一明文中的第二时间戳在有效时间内,第一明文中的接入方标识与接入方密码匹配,且非本地设备的IP地址在白名单源IP地址中,第一明文验证通过。
获得第一明文后,外呼接入方时效令牌获取/刷新服务,以利用WAF、防火墙等外部安全组件对第一明文进行安全检测,外部安全组件检测有风险时,外部安全组件直接返回错误信息至非本地设备,外部安全组件检测无风险时,验证第一明文中的第二时间戳是否在有效时间内、第一明文中的接入方密码和接入方标识是否匹配以及非本地设备的请求源IP地址是否在白名单源IP地址中。若第一明文中的第二时间戳未在有效时间内,返回错误信息至非本地设备,提示非本地设备请求已超时,若第一明文中的接入方密码和接入方标识不匹配,返回错误信息至非本地设备,提示非本地设备信息不匹配,若非本地设备的请求源IP地址不在白名单源IP地址中,返回错误信息至非本地设备,提示非本地设备必须以白名单源IP地址发起请求。若第一明文中的第二时间戳在有效时间内,第一明文中的接入方密码和接入方标识匹配,且非本地设备的请求源IP地址在白名单源IP地址中,第一明文验证通过。
S206、查询与接入方标识对应的目标接入方时效令牌,未查询到与接入方标识对应的目标接入方时效令牌,为非本地设备分配接入方时效令牌,并向非本地设备发送分配的接入方时效令牌,若查询到与接入方标识对应的目标接入方时效令牌,判断目标接入方时效令牌是否处于可刷新时间,若是,为非本地设备重新分配接入方时效令牌,并向非本地设备发送重新分配的接入方时效令牌,若否,将目标接入方时效令牌以及目标接入方时效令牌的剩余有效时间发送至非本地设备。
第一明文验证通过后,查询接入方标识当前最新的接入方时效令牌,若未查询到接入方时效令牌,或查询到当前最新的接入方时效令牌已到可刷新时间,为接入方标识重新分配一个接入方时效令牌并将接入方时效令牌发送至分本地设备。若查询到接入方标识当前最新的接入方时效令牌处于不可刷新时间段,将查询到的当前最新的接入方时效令牌发送非本地设备,并且还可以将当前最新的接入方时效令牌的剩余有效时间发送至非本地设备。
S207、非本地设备接收接入方时效令牌,对接入方时效令牌和安全网关服务交易码进行SM4对称加密生成第二密文,对第二密文进行SM3和SM2时效性加签获得第二密文的SM3和SM2时效性签名,将第二密文和第二密文的SM3和SM2时效性签名生成第二请求报文,并将第二请求报文发送至电子设备。
S208、电子设备获取第二密文和第二密文的SM3和SM2时效性签名,对第二密文的SM3和SM2时效性签名进行SM2非对称解密获得第三时间戳,验证第三时间戳是否过期,若否,将第二密文经SM3摘要算法生成的摘要与第二请求报文中的摘要进行比对,比对一致时,对第二密文进行SM对称解密获得第二明文。
S209、电子设备利用安全组件对第二明文进行安全检测,安全检测通过后验证非本地设备是否有调用安全网关服务交易码的权限,若有,验证安全网关服务交易码对应的接入方关键要素是否需要推送,若否,将非本地设备的访问请求发送至目标平台,若是,在接入方关键要素推送后将非本地设备的访问请求发送至目标平台。
电子设备在获得第二明文后,利用外部安全组件对第二明文进行检测,外部安全组件检测有风险时,外部安全组件直接返回错误信息至非本地设备,外部安全组件检测无风险时,验证非本地设备是否有安全网关服务交易码的权限。若无,将无调用权限的信息返回非本地设备。若有,验证安全网关服务交易码对应交易信息的接入方关键要素是否需要推送。若不需要,直接将安全网关服务交易码发送至目标平台,若需要,验证接入方关键要素是否已经推送,例如检测目标平台中是否有接入方关键要素,若有,验证接入方关键要素已推送,若无,验证接入方关键要素未推送。接入方关键要素已推送后,将安全网关服务交易码发送至目标平台,接入方关键要素未推送,返回错误信息至非本地设备,提示非本地设备接入方关键要素未推送。
S210、目标平台接收电子设备发送的非本地设备的访问请求后,将访问请求的响应信息发送至电子设备。
S211、电子设备将访问请求的响应信息发送至非本地设备。
电子设备可以在接收到访问请求的响应消息后,对响应消息进行脱敏处理后,将脱敏处理的响应信息发送至非本地设备。脱敏处理可以包括自定义响应报文脱敏或兜底响应报文脱敏。例如,将目标平台发送的响应信息转换为非本地设备能够识别的格式。
本申请提供的安全验证方法,电子设备对非本地设备进行安全验证,并在验证通过后将非本地设备的访问请求发送至目标平台,以使目标平台对访问请求做出响应,实现非本地设备对目标平台的访问,提高对目标平台访问的安全性。
图4示出了本申请一实施例提供的一种安全验证方法流程图。如图4所示,本实施例的方法可以包括如下步骤:
S301、接收非本地设备发送的第一请求报文,第一请求报文包括第一密文以及第一密文的SM2和SM3时效性签名,第一密文包括经SM2非对称加密的接入方标识和接入方密码。
S302、获取第一密文的SM3和SM2时效性签名,第一密文的SM3和SM2时效性签名验证通过后,对第一密文进行SM2非对称解密获得第一明文并对第一明文进行验证,第一明文验证通过后向非本地设备发送接入方时效令牌。
S303、接收非本地设备发送的第二请求报文,第二请求报文包括第二密文和第二密文的SM3和SM2时效性签名,第二密文包括经SM4对称加密的接入方时效令牌和安全网关服务交易码。
S304、获取第二密文的SM3和SM2时效性签名,第二密文的SM3和SM2时效性签名验证通过后,对第二密文进行SM4对称解密获得第二明文并对第二明文进行验证,第二明文验证通过允许非本地设备访问目标平台。
其中,步骤S301与图2实施例中的步骤S101实现方式类似,步骤S302与图2实施例中的步骤S102实现方式类似,步骤S303与图2实施例中的步骤S103实现方式类似,步骤S304与图2实施例中的步骤S104实现方式类似,本实施例此处不再赘述。
S305、接收本地设备发送的第三请求报文,第三请求报文包括经SM4对称加密的请求报文,请求报文用于请求调起电子设备中的安全网关服务,SM4对称加密的密钥为根据种子数据和密钥生成算法生成的隐式协商密钥。
本地设备向目标平台申请交易服务请求JSSDK授权码,在获取交易服务请求JSSDK授权码之后,通过script标签引入交易服务请求JSSDK,并利用交易服务请求JSSDK授权码对交易服务请求JSSDK初始化,在对交易服务请求JSSDK初始化之后,接收电子设备发送的初始化结果对象,初始化结果对象包括当前用户的用户信息,用户信息中包括加密请求API,加密请求API也为隐式API,还可以包括其他用于混淆加密请求API的其他API。而后本地设备根据预设规则,通过用户信息计算加密请求API的真实名称,即获得真实隐式API名称。例如,在对交易服务请求JSSDK初始化之后,初始化结果对象可以包括用户微信授权信息、手机银行授权信息等,根据初始化结果对象中的用户ID和登录平台等信息,经特定位置字符拼接运算,得到隐式API的真实名称。
本地设备在获取交易服务请求JSSDK后,根据种子数据和密钥生成算法生成SM4对称加密的密钥,SM4对称加密的密钥为隐式协商密钥。具体的,交易服务请求JSSDK使用http请求header中必带的字段和接入关键要素作为种子,经特定算法生成隐式协商密钥。对请求报文进行SM4对称加密,请求报文用于调起电子设备中的安全网关服务。
本实施例中步骤S305与步骤S301,并不受所描述的动作顺序的限制,步骤S305与步骤S301可以采用其他顺序或者同时进行。
S306、比较第三请求报文中的访问来源信息与交易服务请求授权码对应的地址信息是否一致,若是,通过SM4对称解密对经SM4对称加密的请求报文进行解密获得第三明文,SM4对称解密的密钥为采用种子数据和密钥生成算法产生的与隐式协商密钥相同的临时密钥。
安全网关服务在区分出请求报文为前端请求时,检查请求报文中的访问来源信息(referers),将请求报文中的访问来源信息与交易服务请求JSDDK授权码对应的本地设备的地址信息(url)进行比对,若不一致返回错误信息至本地设备,若一致,采用种子数据和密钥生成算法产生与隐式协商密钥相同的临时密钥,历史密钥作为SM4对称解密的密钥,对经SM4对称加密的请求报文进行SM4对称解密获得第三明文。
具体的,安全网关服务检查得出referer、host等访问来源信息与交易服务请求JSSDK授权码对应的地址信息相匹配后,使用http请求header中必带的字段和接入关键要素作为种子,经特定算法生成与隐式协商密钥相同的临时密钥。
S307、对第三明文进行验证,验证通过后允许本地设备访问目标平台。
获得第三明文后,利用安全组件对第三明文进行安全验证,安全验证通过后通过交易服务请求JSDDK授权码获取本地设备的接入方标识及相关信息。验证本地设备是否有调用安全网关服务交易码的权限。若无,返回无调用权限的信息至非本地设备。若有,验证安全网关服务交易码对应的接入方关键要素是否需要推送,若否,允许本地设备访问目标平台,若是,在接入方关键要素推送后允许本地设备访问目标平台。
本申请提供的安全验证方法,在本地设备需要访问目标平台时,通过隐式协商密钥进行加解密,各个密钥相互独立,提高访问目标平台的安全性。
图5示出了本申请一实施例提供的一种获取安全验证装置的结构示意图,如图5所示,本实施例的安全验证装置10用于实现上述任一方法实施例中对应于电子设备的操作,本实施例的安全验证装置10包括:
第一接收模块11,用于接收非本地设备发送的第一请求报文,第一请求报文包括第一密文以及第一密文的SM3和SM2时效性签名,第一密文包括经SM2非对称加密的接入方标识和接入方密码、以及第一请求报文的SM3和SM2时效性签名;
第一获取模块12,用于获取第一密文的SM3和SM2时效性签名,第一密文的SM3和SM2时效性签名验签通过后,对第一密文进行SM2非对称解密获得第一明文并对第一明文进行验证,第一明文验证通过后向非本地设备发送接入方时效令牌;
第二接收模块13,用于接收非本地设备发送的第二请求报文,第二请求报文包括第二密文和第二密文的SM3和SM2时效性签名,第二密文包括经SM4对称加密的接入方时效令牌、安全网关服务交易码;
第二获取模块14,用于获取第二密文的SM3和SM2时效性签名,第二密文的SM3和SM2时效性签名验签通过后,对第二密文进行SM4对称解密获得第二明文并对第二明文进行验证,第二明文验证通过后允许非本地设备访问目标平台。
本申请实施例提供的获取测试装置的装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图6示出了本申请实施例提供的一种电子设备的硬件结构示意图。如图6所示,该电子设备20,用于实现上述任一方法实施例中对应于电子设备的操作,本实施例的电子设备20可以包括:存储器21,处理器22和通信接口23。
存储器21,用于存储计算机指令。该存储器21可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储(Non-Volatile Memory,NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
处理器22,用于执行存储器存储的计算机指令,以实现上述实施例中的安全验证方法。具体可以参见前述方法实施例中的相关描述。该处理器22可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选地,存储器21既可以是独立的,也可以跟处理器22集成在一起。
通信接口23,可以与处理器22连接。处理器22可以控制通信接口23来实现信息的接收和发送的功能。
本实施例提供的电子设备可用于执行上述的安全验证方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请还提供一种安全验证系统,包括上述的电子设备、非本地设备和目标平台,电子设备用于对非本地设备进行验证,验证通过后允许非本地设备访问目标平台。
电子设备还可以用于当非本地设备验证通过后将非本地设备的访问请求发送至目标平台。目标平台在接收到非本地设备的访问请求后,向响应信息发送至电子设备,电子设备可以对响应信息进行脱敏处理,并将脱敏处理后的响应信息发送至非本地设备。
安全验证系统还可以包括本地设备,电子设备还用于对本地设备进行验证,在本地设备验证通过后允许本地设备访问目标平台。
非本地设备例如可以为外行接入方、本地设备例如可以为本行接入方。非本地设备需要在后端向电子设备发送第一请求报文和第二请求报文,本地设备可以在前端向电子设备发送第三请求报文。
电子设备还可以用于在本地设备验证通过后将本地设备的访问请求发送至目标平台,目标平台在接收到本地设备的访问请求后,将访问请求的响应信息发送至电子设备,电子设备对响应信息进行脱敏处理,并将脱敏处理后的响应信息发送至本地设备。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,计算机指令被处理器执行时用于实现上述的各种实施方式提供的方法。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质中读取该计算机指令,至少一个处理器执行该计算机指令使得设备实施上述的各种实施方式提供的方法。
本申请实施例还提供一种芯片,该芯片包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用并运行所述计算机指令,使得安装有所述芯片的设备执行如上各种可能的实施方式中所述的方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (16)
1.一种安全验证方法,其特征在于,所述方法包括:
接收非本地设备发送的第一请求报文,所述第一请求报文包括第一密文以及所述第一密文的SM3和SM2时效性签名,所述第一密文包括经SM2非对称加密的接入方标识和接入方密码;
获取所述第一密文的SM3和SM2时效性签名,所述第一密文的SM3和SM2时效性签名验证通过后,对所述第一密文进行SM2非对称解密获得第一明文并对所述第一明文进行验证,所述第一明文验证通过后向所述非本地设备发送接入方时效令牌;
接收所述非本地设备发送的第二请求报文,所述第二请求报文包括第二密文和所述第二密文的SM3和SM2时效性签名,所述第二密文包括经SM4对称加密的接入方时效令牌和安全网关服务交易码;
获取所述第二密文的SM3和SM2时效性签名,所述第二密文的SM3和SM2时效性签名验证通过后,对所述第二密文进行SM4对称解密获得第二明文并对所述第二明文进行验证,所述第二明文验证通过后允许所述非本地设备访问目标平台。
2.根据权利要求1所述的方法,其特征在于,所述第一密文的SM3和SM2时效性签名验签通过后,对所述第一密文进行SM2非对称解密获得第一明文,包括:
对所述第一密文的SM3和SM2时效性签名进行SM2非对称解密获得第一时间戳,验证所述第一时间戳是否过期;
若否,将所述第一密文经SM3摘要算法生成的摘要与所述第一请求报文中的摘要进行比对,比对一致时,对所述第一密文进行SM2非对称解密获得第一明文。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一明文进行验证,所述第一明文验证通过后向所述非本地设备发送接入方时效令牌,包括:
利用安全组件对所述第一明文进行安全检测,所述安全检测通过后验证所述第一明文中的第二时间戳是否在有效时间内、所述第一明文中的接入方标识与接入方密码是否匹配,以及所述非本地设备的IP地址是否在白名单源IP地址中;
若所述第一明文中的第二时间戳在有效时间内,所述第一明文中的接入方标识与接入方密码匹配,且所述非本地设备的IP地址在白名单源IP地址中,向所述非本地设备发送接入方时效令牌。
4.根据权利要求3所述的方法,其特征在于,所述第一明文验证通过后向所述非本地设备发送接入方时效令牌,包括:
查询与所述接入方标识对应的目标接入方时效令牌;
若未查询到与所述接入方标识对应的目标接入方时效令牌,为所述非本地设备分配接入方时效令牌,并向所述非本地设备发送分配的接入方时效令牌;
若查询到与所述接入方标识对应的目标接入方时效令牌,判断所述目标接入方时效令牌是否处于可刷新时间,若是,为所述非本地设备重新分配接入方时效令牌,并向所述非本地设备发送重新分配的接入方时效令牌,若否,将所述目标接入方时效令牌以及所述目标接入方时效令牌的剩余有效时间发送至所述非本地设备。
5.根据权利要求1所述的方法,其特征在于,所述第二密文的SM3和SM2时效性签名验签通过后,对所述第二密文进行SM4对称解密获得第二明文,包括:
对所述第二密文的SM3和SM2时效性签名进行SM2非对称解密,获得第三时间戳,验证所述第三时间戳是否过期;
若否,将所述第二密文经SM3摘要算法生成的摘要与所述第二请求报文中的摘要进行比对,比对一致时,对所述第二密文进行SM2非对称解密获得第二明文。
6.根据权利要求5所述的方法,其特征在于,所述对所述第二明文进行验证,所述第二明文验证通过后允许所述非本地设备访问目标平台,包括:
利用安全组件对所述第二明文进行安全检测,所述安全检测通过后验证所述非本地设备是否有调用所述安全网关交易码的权限;
若有,验证所述安全网关服务交易码对应的接入方关键要素是否需要推送,若否,允许所述非本地设备访问目标平台,若是,在所述接入方关键要素推送后允许所述接入方访问目标平台。
7.根据权利要求1-6中任意一项所述的方法,其特征在于,所述方法还包括:
接收本地设备发送的第三请求报文,所述第三请求报文包括经SM4对称加密的请求报文,所述请求报文用于请求调起电子设备中的安全网关服务,所述SM4对称加密的密钥为根据种子数据和密钥生成算法生成的隐式协商密钥;
比较所述第三请求报文中的访问来源信息与所述交易服务请求授权码对应的地址信息是否一致,若是,通过SM4对称解密对所述经SM4对称加密的请求报文进行SM4对称解密获得第三明文,所述SM4对称解密的密钥为采用所述种子数据和密钥生成算法产生的与所述隐式协商密钥相同的临时密钥;
对所述第三明文进行验证,验证通过后允许所述本地设备访问所述目标平台。
8.根据权利要求7所述的方法,其特征在于,所述第三明文进行验证,验证通过后允许所述本地设备访问所述目标平台,包括:
利用安全组件对所述第三明文进行安全验证,所述安全验证通过后验证所述本地设备是否有调用所述安全网关服务交易码的权限;
若有,验证所述安全网关服务交易码对应的接入方关键要素是否需要推送,若否,允许所述非本地设备访问目标平台,若是,在所述接入方关键要素推送后允许所述本地设备访问目标平台。
9.一种安全验证装置,其特征在于,所述装置,包括:
第一接收模块,用于接收非本地设备发送的第一请求报文,所述第一请求报文包括第一密文以及所述第一密文的SM3和SM2时效性签名,所述第一密文包括经SM2非对称加密的接入方标识和接入方密码、以及所述第一请求报文的SM3和SM2时效性签名;
第一获取模块,用于获取所述第一密文的SM3和SM2时效性签名,所述第一密文的SM3和SM2时效性签名验签通过后,对所述第一密文进行SM2非对称解密获得第一明文并对所述第一明文进行验证,所述第一明文验证通过后向所述非本地设备发送接入方时效令牌;
第二接收模块,用于接收所述非本地设备发送的第二请求报文,所述第二请求报文包括第二密文和所述第二密文的SM3和SM2时效性签名,所述第二密文包括经SM4对称加密的接入方时效令牌、安全网关服务交易码;
第二获取模块,用于获取所述第二密文的SM3和SM2时效性签名,所述第二密文的SM3和SM2时效性签名验签通过后,对所述第二密文进行SM4对称解密获得第二明文并对所述第二明文进行验证,所述第二明文验证通过后允许所述非本地设备访问目标平台。
10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至8中任意一项所述的安全验证方法。
11.一种安全验证系统,其特征在于,包括权利要求10所述的电子设备、非本地设备和目标平台,所述电子设备用于对所述非本地设备进行验证,验证通过后允许所述非本地设备访问所述目标平台。
12.根据权利要求11所述的系统,其特征在于,所述电子设备还用于在所述非本地设备验证通过后将所述非本地设备的访问请求发送至所述目标平台;
所述目标平台在接收到所述非本地设备的访问请求后,将响应信息发送至所述电子设备;
所述电子设备对所响应信息进行脱敏处理,并将脱敏处理后的响应信息发送至所述非本地设备。
13.根据权利要求11所述的系统,其特征在于,所述系统还包括:本地设备,所述电子设备还用于对所述本地设备进行验证,验证通过后允许所述本地设备访问所述目标平台。
14.根据权利要求13所述的系统,其特征在于,所述电子设备还用于在本地设备验证通过后将所述本地设备的访问请求发送至所述目标平台;
所述目标平台在接收到所述本地设备的访问请求后,将响应信息发送至所述电子设备;
所述电子设备对所响应信息进行脱敏处理,并将脱敏处理后的响应信息发送至所述本地设备。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如权利要求1至8中任一项所述的安全验证方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的安全验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211083309.2A CN115459929B (zh) | 2022-09-06 | 2022-09-06 | 安全验证方法、装置、电子设备、系统、介质和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211083309.2A CN115459929B (zh) | 2022-09-06 | 2022-09-06 | 安全验证方法、装置、电子设备、系统、介质和产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115459929A true CN115459929A (zh) | 2022-12-09 |
CN115459929B CN115459929B (zh) | 2024-05-10 |
Family
ID=84302542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211083309.2A Active CN115459929B (zh) | 2022-09-06 | 2022-09-06 | 安全验证方法、装置、电子设备、系统、介质和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115459929B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117331964A (zh) * | 2023-12-01 | 2024-01-02 | 成都明途科技有限公司 | 数据查询方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6839843B1 (en) * | 1998-12-23 | 2005-01-04 | International Business Machines Corporation | System for electronic repository of data enforcing access control on data retrieval |
WO2016030132A1 (en) * | 2014-08-29 | 2016-03-03 | Gemalto Sa | A method for signing data, corresponding first device and system |
WO2020102974A1 (zh) * | 2018-11-20 | 2020-05-28 | 深圳市欢太科技有限公司 | 一种数据访问方法、数据访问装置及移动终端 |
CN111538973A (zh) * | 2020-03-26 | 2020-08-14 | 成都云巢智联科技有限公司 | 基于国密算法的个人授权访问控制系统 |
WO2021168652A1 (zh) * | 2020-02-25 | 2021-09-02 | 深圳市欢太科技有限公司 | 终端设备信息传输方法、设备指纹生成方法及相关产品 |
CN113794721A (zh) * | 2021-09-15 | 2021-12-14 | 深圳市共治物联科技有限公司 | 一种政府机关及金融机构与企业安全直连方法 |
-
2022
- 2022-09-06 CN CN202211083309.2A patent/CN115459929B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6839843B1 (en) * | 1998-12-23 | 2005-01-04 | International Business Machines Corporation | System for electronic repository of data enforcing access control on data retrieval |
WO2016030132A1 (en) * | 2014-08-29 | 2016-03-03 | Gemalto Sa | A method for signing data, corresponding first device and system |
WO2020102974A1 (zh) * | 2018-11-20 | 2020-05-28 | 深圳市欢太科技有限公司 | 一种数据访问方法、数据访问装置及移动终端 |
WO2021168652A1 (zh) * | 2020-02-25 | 2021-09-02 | 深圳市欢太科技有限公司 | 终端设备信息传输方法、设备指纹生成方法及相关产品 |
CN111538973A (zh) * | 2020-03-26 | 2020-08-14 | 成都云巢智联科技有限公司 | 基于国密算法的个人授权访问控制系统 |
CN113794721A (zh) * | 2021-09-15 | 2021-12-14 | 深圳市共治物联科技有限公司 | 一种政府机关及金融机构与企业安全直连方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117331964A (zh) * | 2023-12-01 | 2024-01-02 | 成都明途科技有限公司 | 数据查询方法、装置、设备及存储介质 |
CN117331964B (zh) * | 2023-12-01 | 2024-02-27 | 成都明途科技有限公司 | 数据查询方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115459929B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9838205B2 (en) | Network authentication method for secure electronic transactions | |
US7689828B2 (en) | System and method for implementing digital signature using one time private keys | |
US9325708B2 (en) | Secure access to data in a device | |
US9231925B1 (en) | Network authentication method for secure electronic transactions | |
US20220394026A1 (en) | Network identity protection method and device, and electronic equipment and storage medium | |
KR101563828B1 (ko) | 신뢰성있는 인증 및 로그온을 위한 방법 및 장치 | |
CN104798083B (zh) | 用于验证访问请求的方法和系统 | |
WO2017020452A1 (zh) | 认证方法和认证系统 | |
US20090158033A1 (en) | Method and apparatus for performing secure communication using one time password | |
KR20190114434A (ko) | 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버 | |
CN109831311B (zh) | 一种服务器验证方法、系统、用户终端及可读存储介质 | |
CN111130798B (zh) | 一种请求鉴权方法及相关设备 | |
KR101817152B1 (ko) | 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법 | |
KR20190114432A (ko) | 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버 | |
CN111241492A (zh) | 一种产品多租户安全授信方法、系统及电子设备 | |
CN112765626A (zh) | 基于托管密钥授权签名方法、装置、系统及存储介质 | |
CN112448958A (zh) | 一种域策略下发方法、装置、电子设备和存储介质 | |
JP2015194879A (ja) | 認証システム、方法、及び提供装置 | |
CN114553480B (zh) | 跨域单点登录方法、装置、电子设备及可读存储介质 | |
CN108900595B (zh) | 访问云存储服务器数据的方法、装置、设备及计算介质 | |
CN115459929A (zh) | 安全验证方法、装置、电子设备、系统、介质和产品 | |
CN105577606B (zh) | 一种实现认证器注册的方法和装置 | |
KR20090054774A (ko) | 분산 네트워크 환경에서의 통합 보안 관리 방법 | |
KR101737925B1 (ko) | 도전-응답 기반의 사용자 인증 방법 및 시스템 | |
CN113037490A (zh) | Web访问验证、访问方法、计算机设备及存储介质 |
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 |