CN116074028A - 加密流量的访问控制方法、装置及系统 - Google Patents
加密流量的访问控制方法、装置及系统 Download PDFInfo
- Publication number
- CN116074028A CN116074028A CN202111289743.1A CN202111289743A CN116074028A CN 116074028 A CN116074028 A CN 116074028A CN 202111289743 A CN202111289743 A CN 202111289743A CN 116074028 A CN116074028 A CN 116074028A
- Authority
- CN
- China
- Prior art keywords
- information
- token
- request
- authorization
- request message
- 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
Images
Classifications
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
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
本申请提供一种加密流量的访问控制方法、装置及系统,能够能够高效、灵活地进行加密流量的访问控制,从而减少数据泄露。该方法包括:授权服务器基于客户端设备的申请向客户端设备返回第一令牌的令牌描述、目标混淆电路、初始向量对应的标签集合;令牌描述包括指示第一信息的授权向量,第一信息包括对第一子信息进行加密后得到的加密信息。客户端设备确定第一初始向量的标签,将其输入目标混淆电路得到第一令牌的第一授权码,从而得到第一令牌,并将第一令牌和第一信息携带在请求报文中发送。网关设备收到请求报文后,根据令牌描述、第一信息、和密码散列函数生成第二授权码,在第二授权码和第一授权码相同时,向数据服务器转发该请求报文。
Description
技术领域
本申请实施例涉及通信领域,尤其涉及加密流量的访问控制方法、装置及系统。
背景技术
随着网络的广泛普及,新的软件应用模式层出不穷,极大地影响和改变了人们工作和生活的方式,提高了人们对于网络信息的依赖程度。由于网络自身的复杂性、广泛可接入性等因素,网络面临日益增多的安全威胁,安全问题日益突出。为了防止信息被窃听、篡改、和劫持,目前广泛使用加密流量进行传输,例如,使用安全超文本传输协议(securehypertext transfer protocol,HTTPS)进行加密传输。
然而,在加密流量传输中,仍然存在由于越权访问导致的数据泄露。示例性的,如图1所示,在园区网的场景中,园区内部区域的正常雇员正常访问内部资料,而恶意雇员越权访问数据中心,从而导致数据泄露。此外,园区外部区域的正常用户正常访问公共数据,而恶意黑客越权访问内部资料,从而导致数据泄露。因此,有必要进行合理的访问控制以防止越权访问导致的数据泄露。
发明内容
本申请提供一种加密流量的访问控制方法、装置及系统,能够高效、灵活地进行加密流量的访问控制,从而减少数据泄露。
第一方面,提供了一种访问控制方法,该方法可以由授权服务器执行,也可以由授权服务器的部件,例如处理器、芯片、或芯片系统等执行,还可以由能实现全部或部分授权服务器功能的逻辑模块或软件实现。以该方法由授权服务器执行为例,该方法包括:
授权服务器接收来自客户端设备的用于申请令牌的令牌申请信息,根据该令牌申请信息确定第一令牌的令牌描述、目标混淆电路、和初始向量对应的标签集合,并向客户端设备发送令牌描述和指示信息,该指示信息用于指示初始向量对应的标签集合和目标混淆电路。其中,令牌描述包括授权向量,授权向量指示第一信息,第一信息包括对第一子信息进行加密后得到的加密信息;目标混淆电路用于根据初始向量的标签生成第一令牌的授权码,初始向量用于加密第一子信息。
基于该方案,授权服务器基于客户端设备的申请向客户端设备指示混淆电路和令牌描述,客户端设备在发送请求报文时使用混淆电路生成第一授权码得到令牌,并在请求报文中携带该令牌。该令牌的令牌描述中包括授权向量,该授权向量指示参与授权码计算的第一信息,使得网关设备或数据服务器侧收到请求报文后,可以基于授权向量获取参与授权码计算的信息,并生成第二授权码,根据比较第一授权码和第二授权码是否一致来进行访问控制,例如,在第二授权码和第一授权码一致时允许访问,在第二授权码和第一授权码不一致时拒绝访问,从而防止数据泄露。
结合第一方面,在第一方面的某些实施方式中,第一信息为待携带在客户端设备的请求报文中的信息。
基于该方案,第一信息为请求报文中的信息,即使用请求报文中的信息参与授权码计算,后续进行令牌验证时,可以防止使用第一令牌发送非法请求的发生。例如,非法用户利用第一令牌发送请求时,由于授权码的计算需要请求报文中的信息参与,若想通过令牌验证,需要同时对请求报文中的第一信息进行造假,然而对请求报文中的信息造假可能无法完成非法用户的非法请求,从而本申请的第一令牌可以在授权范围内随意使用而无需担心盗用,能够进一步提升安全性能。
结合第一方面,在第一方面的某些实施方式中,目标混淆电路由以下至少一项确定:令牌描述、第一子信息、第二子信息、目标秘钥、目标加密算法、或密码散列函数,第二子信息为第一信息中的明文信息。
结合第一方面,在第一方面的某些实施方式中,第一子信息包括目标资源对应的授权请求起始符和/或请求结束符;第一子信息的长度为目标加密算法的加密分组长度的整数倍;目标资源为客户端设备待访问的资源。
基于该实施方式,第一子信息的长度为目标加密算法的加密分组长度的整数倍时,可以使得目标混淆电路中只有初始向量一个变量,从而可以降低混淆电路的设计复杂度,提升计算效率。
结合第一方面,在第一方面的某些实施方式中,授权请求起始符包括请求信息和目标资源的部分或全部统一资源定位符URL前缀,请求信息指示与目标资源相关的操作。
结合第一方面,在第一方面的某些实施方式中,第二子信息包括以下至少一项:目标资源对应的网络层信息、传输层信息、安全传输记录层信息、请求方描述信息、或响应方描述信息。
基于该实施方式,可以按需调整授权向量指示的信息所包括的内容,从而灵活调整访问控制粒度,实现多层次精细化的访问控制。例如可以使该信息包括网络层的信息,实现网络层的访问控制,或者,使第一信息包括网络层、传输层、应用层信息,实现URL级别的精细控制,或者,使第一信息包括请求方或响应方描述信息,实现对安全等级、网络类型等的访问控制。例如:
在令牌申请信息包括的需求信息指示完整请求报文不分段时,第二子信息包括目标资源对应的网络层信息、传输层信息、和安全传输记录层信息;在需求信息指示完整请求报文分段时,完整请求报文的起始分段对应的第二子信息包括目标资源对应的网络层信息、传输层信息、和安全传输记录层信息;完整请求报文的末尾分段对应的第二子信息包括目标资源对应的网络层信息和传输层信息。
结合第一方面,在第一方面的某些实施方式中,网络层信息包括源互联网协议IP地址和目的IP地址;传输层信息包括目的端口,或者,包括目的端口和源端口;安全传输记录层信息指示负载的类型;请求方描述信息包括以下至少一项:请求方的身份信息、请求方的状态信息、请求方的组标识、请求方的安全等级、或请求方所处网络的网络类型;响应方描述信息包括以下至少一项:响应方的组标识、响应方的安全等级、或响应方所处网络的网络类型。
结合第一方面,在第一方面的某些实施方式中,授权向量包括偏移值和长度信息,偏移值指示第一信息的起始位置,长度信息指示第一信息的长度;或者,授权向量包括比特位图,比特位图指示承载第一信息的字段。
结合第一方面,在第一方面的某些实施方式中,令牌描述还包括有效期和以下至少一项:检查策略、颁发者标识、密码套件、或排除信息。其中,有效期指示第一令牌的有效期限;检查策略指示是否信任目标资源的请求方;颁发者标识指示授权服务器;密码套件指示目标混淆电路对应的密码散列函数的相关信息;排除信息指示客户端设备的请求报文中禁止携带的信息。
基于该实施方式的令牌描述,可以使得访问控制策略的执行点根据有效期限、检查策略、排除信息等进行进一步验证,进一步提高安全性能。
结合第一方面,在第一方面的某些实施方式中,请求报文为完整请求报文的起始分段时,禁止携带的信息为请求结束符;或者,请求报文为完整请求报文的末尾分段时,禁止携带的信息为请求信息;或者,请求报文为完整请求报文时,排除信息指示禁止携带多个请求信息和多个请求结束符。
结合第一方面,在第一方面的某些实施方式中,该方法还包括:授权服务器向客户端设备发送第二令牌和/或第三令牌;第二令牌用于客户端设备的传输控制协议TCP连接建立过程,第三令牌用于客户端设备的安全传输连接建立过程。
基于该实施方式,在访问控制策略的执行点为网关设备时,第二令牌的使用,使得未经授权的客户端设备在请求建立TCP连接时便被识别并过滤,实现客户端设备和数据服务器之间的首包拦截;第三令牌的使用,使得未经授权的客户端设备在请求建立安全传输连接时便被识别并过滤。
第二方面,提供了一种访问控制方法,该方法可以由网关设备执行,也可以由网关设备的部件,例如处理器、芯片、或芯片系统等执行,还可以由能实现全部或部分网关设备功能的逻辑模块或软件实现。以该方法由网关设备执行为例,该方法包括:
网关设备接收来自客户端设备的请求报文,该请求报文包括第一令牌和第一信息,第一令牌包括令牌描述和第一授权码,令牌描述包括授权向量,授权向量指示第一信息,第一信息包括对第一子信息进行加密后得到的加密信息;网关设备根据令牌描述、第一信息、以及密码散列函数生成第二授权码;在第二授权码与第一授权码相同时,向数据服务器转发该请求报文。
基于该方案,请求报文中包括第一令牌和第一信息,该令牌包括令牌描述和第一授权码,令牌描述中包括授权向量,该授权向量指示参与授权码计算的第一信息,从而网关设备在收到请求报文后,能够基于授权向量获取参与授权码计算的信息(即第一信息),并生成第二授权码,根据比较第一授权码和第二授权码是否一致来进行访问控制,在第二授权码和第一授权码一致时向数据服务器转发请求报文,从而防止数据泄露。另一方面,网关设备无需维护访问控制策略或访问控制列表,可以灵活部署,降低部署使用成本。再一方面,网关设备无需分析请求报文的应用层语义,无需查询访问控制策略、用户信息等,可无感知地傻瓜式计算授权码并验证,存储与计算复杂度与访问控制策略、以及用户规模解耦,从而实现高效率的访问控制。
结合第二方面,在第二方面的某些实施方式中,授权向量包括偏移值和长度信息,偏移值指示第一信息的起始位置,长度信息指示第一信息的长度;或者,授权向量包括比特位图,比特位图指示承载第一信息的字段。
结合第二方面,在第二方面的某些实施方式中,第一子信息包括目标资源对应的授权请求起始符和/或请求结束符;第一子信息的长度为目标加密算法的加密分组长度的整数倍,目标加密算法用于加密第一子信息;目标资源为客户端设备待访问的资源。
结合第二方面,在第二方面的某些实施方式中,授权请求起始符包括请求信息和目标资源的部分或全部统一资源定位符URL前缀,请求信息指示与目标资源相关的操作。
结合第二方面,在第二方面的某些实施方式中,第一信息还包括以下至少一项:目标资源对应的网络层信息、传输层信息、安全传输记录层信息、请求方描述信息、或响应方描述信息。
结合第二方面,在第二方面的某些实施方式中,网络层信息包括源互联网协议IP地址和目的IP地址;传输层信息包括目的端口,或者,包括目的端口和源端口;安全传输记录层信息指示负载的类型;请求方描述信息包括以下至少一项:请求方的身份信息、请求方的状态信息、请求方的组标识、请求方的安全等级、或请求方所处网络的网络类型;响应方描述信息包括以下至少一项:响应方的组标识、响应方的安全等级、或响应方所处网络的网络类型。
结合第二方面,在第二方面的某些实施方式中,令牌描述还包括有效期和以下至少一项:检查策略、颁发者标识、密码套件、或排除信息。其中,有效期指示第一令牌的有效期限;检查策略指示是否信任目标资源的请求方;颁发者标识指示授权服务器;密码套件指示密码散列函数的相关信息;排除信息指示请求报文中禁止携带的信息。
结合第二方面,在第二方面的某些实施方式中,该方法还包括:网关设备根据第一令牌的有效期限,确定第一令牌未过期。
结合第二方面,在第二方面的某些实施方式中,该方法还包括:网关设备根据检查策略确定信任目标资源的请求方;或者,网关设备根据检查策略确定不信任目标资源的请求方,并根据排除信息确定请求报文合法。
结合第二方面,在第二方面的某些实施方式中,根据排除信息确定请求报文合法,包括:请求报文不携带禁止携带的信息时,确定请求报文合法。基于该实施方式,根据排除信息的检查,能够防止非法用户使用合法的令牌发送非法请求,例如防止非法用户使用TCP连接令牌发送HTTPS请求,从而进行更为严格的访问控制,提高网络安全性。
结合第二方面,在第二方面的某些实施方式中,排除信息为第二数值时,禁止携带的信息为请求结束符;排除信息为第三数值时,禁止携带的信息为请求信息;排除信息为第五数值时,指示禁止携带多个请求信息和多个请求结束符。
其中,第二方面的各种实施方式所带来的技术效果,可参考上述第一方面中相应实施方式所带来的技术效果,在此不再赘述。
第三方面,提供了一种访问控制方法,该方法可以由客户端设备执行,也可以由客户端设备的部件,例如处理器、芯片、或芯片系统等执行,还可以由能实现全部或部分客户端设备功能的逻辑模块或软件实现。以该方法由客户端设备执行为例,该方法包括:
客户端设备向授权服务器发送用于申请令牌的令牌申请信息,并获取第一令牌的令牌描述、目标混淆电路、和初始向量对应的标签集合,该令牌描述包括授权向量,授权向量指示第一信息,第一信息包括对第一子信息进行加密后得到的加密信息,初始向量用于加密第一子信息;客户端设备根据初始向量对应的标签集合确定第一初始向量的标签,并将第一初始向量的标签输入目标混淆电路,得到第一令牌的第一授权码,并发送请求报文,该请求报文包括第一令牌和第一信息。
基于该方案,客户端设备根据目标混淆电路得到第一授权码,根据该第一授权码和令牌描述确定第一令牌,在发送请求报文时携带该第一令牌和第一信息。使得网关设备或数据服务器侧收到请求报文后,可以基于令牌描述中的授权向量获取参与授权码计算的第一信息,并生成第二授权码,根据比较第一授权码和第二授权码是否一致来进行访问控制,例如,在第二授权码和第一授权码一致时允许访问,在第二授权码和第一授权码不一致时拒绝访问,从而防止数据泄露。
结合第三方面,在第三方面的某些实施方式中,目标混淆电路由以下至少一项确定:令牌描述、第一子信息、第二子信息、目标秘钥、目标加密算法、或密码散列函数,第二子信息为第一信息中的明文信息。
结合第三方面,在第三方面的某些实施方式中,第一子信息包括目标资源对应的授权请求起始符和/或请求结束符;第一子信息的长度为目标加密算法的加密分组长度的整数倍;目标资源为客户端设备待访问的资源。
结合第三方面,在第三方面的某些实施方式中,授权请求起始符包括请求信息和目标资源的部分或全部统一资源定位符URL前缀,请求信息指示与目标资源相关的操作。
结合第三方面,在第三方面的某些实施方式中,第二子信息包括以下至少一项:目标资源对应的网络层信息、传输层信息、安全传输记录层信息、请求方描述信息、或响应方描述信息。
结合第三方面,在第三方面的某些实施方式中,网络层信息包括源互联网协议IP地址和目的IP地址;传输层信息包括目的端口,或者,包括目的端口和源端口;安全传输记录层信息指示负载的类型;请求方描述信息包括以下至少一项:请求方的身份信息、请求方的状态信息、请求方的组标识、请求方的安全等级、或请求方所处网络的网络类型;响应方描述信息包括以下至少一项:响应方的组标识、响应方的安全等级、或响应方所处网络的网络类型。
结合第三方面,在第三方面的某些实施方式中,授权向量包括偏移值和长度信息,偏移值指示第一信息的起始位置,长度信息指示第一信息的长度;或者,授权向量包括比特位图,比特位图指示承载第一信息的字段。
结合第三方面,在第三方面的某些实施方式中,客户端设备获取第一令牌的令牌描述和目标混淆电路,包括:客户端设备根据目标资源对应的授权请求起始符、以及授权请求起始符和令牌描述的对应关系,查找第一令牌的令牌描述;以及,客户端设备根据目标资源对应的授权请求起始符、以及授权请求起始符和混淆电路的对应关系,查找目标混淆电路。
结合第三方面,在第三方面的某些实施方式中,令牌描述还包括有效期和以下至少一项:检查策略、颁发者标识、密码套件、或排除信息。其中,有效期指示第一令牌的有效期限;检查策略指示是否信任目标资源的请求方;颁发者标识指示授权服务器;密码套件指示目标混淆电路对应的密码散列函数的相关信息;排除信息指示禁止请求报文携带的信息。
结合第三方面,在第三方面的某些实施方式中,请求报文为完整请求报文的起始分段时,禁止携带的信息为请求结束符;或者,请求报文为完整请求报文的末尾分段时,禁止携带的信息为请求信息;或者,请求报文为完整请求报文时,排除信息指示禁止携带多个请求信息和多个请求结束符。
结合第三方面,在第三方面的某些实施方式中,令牌申请信息包括以下至少一项:目标资源对应的网络层信息、传输层信息、应用层信息、请求方描述信息、目标秘钥、冗余信息、初始向量的长度、或需求信息。其中,冗余信息用于构造第一子信息;应用层信息包括以下至少一项:目标资源的URL、请求信息、或请求结束符;需求信息指示以下至少一项:期望的令牌使用时长、或完整请求报文是否分段。
其中,第三方面的各种实施方式所带来的技术效果,可参考上述第一方面中相应实施方式所带来的技术效果,在此不再赘述。
第四方面,提供了一种通信装置用于实现上述各种方法。该通信装置可以为第一方面的授权服务器,或者授权服务器中包含的装置,比如芯片或模块;或者,该通信装置可以为第二方面中的网关设备,或者网关设备中包含的装置,比如芯片或模块;或者,该通信装置可以为第三方面中的客户端设备,或者客户端设备中包含的装置,比如芯片。所述通信装置包括实现上述方法相应的模块、单元、或手段(means),该模块、单元、或means可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
在一些可能的设计中,该通信装置可以包括收发模块和处理模块。该收发模块,也可以称为收发单元,用以实现上述任一方面及其任意可能的实现方式中的发送和/或接收功能。该收发模块可以由收发电路,收发机,收发器或者通信接口构成。该处理模块,可以用于实现上述任一方面及其任意可能的实现方式中的处理功能。
在一些可能的设计中,收发模块包括发送模块和接收模块,分别用于实现上述任一方面及其任意可能的实现方式中的发送和接收功能。
第五方面,提供一种通信装置,包括:处理器和通信接口;该通信接口,用于与该通信装置之外的模块通信;所述处理器用于执行计算机程序或指令,以使该通信装置执行上述任一方面所述的方法。该通信装置可以为第一方面的授权服务器,或者授权服务器中包含的装置,比如芯片或模块;或者,该通信装置可以为第二方面中的网关设备,或者网关设备中包含的装置,比如芯片或模块;或者,该通信装置可以为第三方面中的客户端设备,或者客户端设备中包含的装置,比如芯片。
第六方面,提供了一种通信装置,包括:接口电路和处理器,该接口电路为代码/数据读写接口电路,该接口电路用于接收计算机执行指令(计算机执行指令存储在存储器中,可能直接从存储器读取,或可能经过其他器件)并传输至该处理器;处理器用于执行计算机执行指令以使该通信装置执行上述任一方面所述的方法。该通信装置可以为第一方面的授权服务器,或者授权服务器中包含的装置,比如芯片或模块;或者,该通信装置可以为第二方面中的网关设备,或者网关设备中包含的装置,比如芯片或模块;或者,该通信装置可以为第三方面中的客户端设备,或者客户端设备中包含的装置,比如芯片。
第七方面,提供了一种通信装置,包括:至少一个处理器;所述处理器用于执行计算机程序或指令,以使该通信装置执行上述任一方面所述的方法。该通信装置可以为第一方面的授权服务器,或者授权服务器中包含的装置,比如芯片或模块;或者,该通信装置可以为第二方面中的网关设备,或者网关设备中包含的装置,比如芯片或模块;或者,该通信装置可以为第三方面中的客户端设备,或者客户端设备中包含的装置,比如芯片。
在一些可能的设计中,该通信装置包括存储器,该存储器,用于保存必要的程序指令和数据。该存储器可以与处理器耦合,或者,也可以独立于该处理器。
在一些可能的设计中,该通信装置可以是芯片或芯片系统。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
第八方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在通信装置上运行时,使得上述任一方面所述的方法被执行。
第九方面,提供了一种包含指令的计算机程序产品,当其在通信装置上运行时,使得上述任一方面所述的方法被执行。
可以理解的是,第四方面至第九方面中任一方面提供的通信装置是芯片时,上述的发送动作/功能可以理解为输出信息,上述的接收动作/功能可以理解为输入信息。
其中,第四方面至第九方面中任一种设计方式所带来的技术效果可参见上述第一方面或第二方面或第三方面中不同设计方式所带来的技术效果,在此不再赘述。
第十方面,提供一种通信系统,该通信系统包括上述方面所述的授权服务器、网关设备、和客户端设备。
附图说明
图1为一种园区网中正常访问和越权访问的示意图;
图2为一种基于防火墙的访问控制示意图;
图3为一种基于密文检测的访问控制示意图;
图4a为本申请适用的一种通信系统的结构示意图;
图4b为本申请适用的另一种通信系统的结构示意图;
图5a为本申请提供的一种加密流量的访问控制的示意图;
图5b为本申请提供的另一种加密流量的访问控制的示意图;
图6为本申请提供的一种访问控制方法的流程示意图;
图7a为本申请提供的一种令牌的格式示意图;
图7b为本申请提供的另一种令牌的格式示意图;
图8为本申请提供的一种分组加密的输入输出示意图;
图9为本申请提供的另一种分组加密的输入输出示意图;
图10为本申请提供的一种第一信息包括的参数类型的示意图;
图11a为本申请提供的一种第一信息包括的参数类型的示意图;
图11b为本申请提供的一种第一信息包括的参数类型的示意图;
图12a为本申请提供的一种第二信息包括的参数类型的示意图;
图12b为本申请提供的一种第三信息包括的参数类型的示意图;
图12c为本申请提供的一种第四信息包括的参数类型的示意图;
图13a为本申请提供的一种IP报文负载的结构示意图;
图13b为本申请提供的一种IP报文负载的结构示意图;
图13c为本申请提供的一种IP报文负载的结构示意图;
图13d为本申请提供的一种IP报文负载的结构示意图;
图14a为本申请提供的一种令牌的格式示意图;
图14b为本申请提供的另一种令牌的格式示意图;
图15为本申请提供的一种令牌验证流程的示意图;
图16为本申请提供的一种令牌合法性检查子子流程的示意图;
图17为本申请提供的一种客户端部署方式示意图;
图18为本申请提供的一种部署请求代理中间件时的访问控制方法的流程示意图;
图19为本申请提供的一种授权服务器的结构示意图;
图20为本申请提供的一种网关设备的结构示意图;
图21为本申请提供的一种客户端设备的结构示意图;
图22为本申请提供的另一种通信装置的结构示意图。
具体实施方式
在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。
在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,a和b和c,其中a,b,c可以是单个,也可以是多个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
可以理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。可以理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
可以理解,在本申请中,“…时”、“若”均指在某种客观情况下会做出相应的处理,并非是限定时间,且也不要求实现时一定要有判断的动作,也不意味着存在其它限定。
可以理解,本申请实施例中的一些可选的特征,在某些场景下,可以不依赖于其他特征,比如其当前所基于的方案,而独立实施,解决相应的技术问题,达到相应的效果,也可以在某些场景下,依据需求与其他特征进行结合。相应的,本申请实施例中给出的装置也可以相应的实现这些特征或功能,在此不予赘述。
本申请中,除特殊说明外,各个实施例之间相同或相似的部分可以互相参考。在本申请中各个实施例、以及各实施例中的各个实施方式/实施方法/实现方法中,如果没有特殊说明以及逻辑冲突,不同的实施例之间、以及各实施例中的各个实施方式/实施方法/实现方法之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例、以及各实施例中的各个实施方式/实施方法/实现方法中的技术特征根据其内在的逻辑关系可以组合形成新的实施例、实施方式、实施方法、或实现方法。以下所述的本申请实施方式并不构成对本申请保护范围的限定。
安全超文本传输协议(secure hypertext transfer protocol,HTTPS)作为广泛应用的数据传输协议,是进行访问控制的关键。目前,进行HTTPS访问控制的方法主要分为以下三类:
第一类方案是基于防火墙的访问控制,主要通过部署防火墙来实现请求过滤和连接阻断,其基本原理如图2所示。主要通过部署在防火墙设备上的专用软件与硬件,对报文的各层信息进行分析,通过客户端证书植入与替换,可以实现HTTPS流量的解密与解析,进而实现访问策略执行、内容审计监控、有害流量过滤等许多功能。防火墙在收到客户端的请求时,可以执行访问策略,若请求合法则向数据服务器转发请求;若请求不合法则丢弃请求。
防火墙的访问控制粒度与范围均十分灵活,是当前园区网进行访问控制的主要方式之一。然而,基于防火墙的访问控制方案由数据面逻辑负责策略执行,需要部署专用的设备与软件,对网络各层信息进行解析,复杂度较高,通信开销与计算开销均较大。此外,该方案中必须获取HTTPS会话密钥与证书,对加密流量进行解密,随着HTTPS使用的传输层安全(transport layer security,TLS)的版本更新,新版本的TLS(TLS1.3)不支持长期植入证书从而获取会话密钥解密流量的方法。
第二类方案是非解密方式的访问控制,其原理是使用统一资源定位符(uniformresource locator,URL)过滤功能,对加密流量进行粗粒度过滤。该方案中,防火墙等中间件使用TLS握手过程中的明文信息进行过滤,该明文信息例如包括Client-Hello中的服务名称指示(server name indicate,SNI)和服务器证书中的通用名称(common name,CN)或主体备用名称(subject alternate name,SAN)。或者,防火墙等也可以根据握手过程中的版本、加密算法、证书有效性等进行过滤。即在该方案中严重依赖于SNI和证书字段。
然而,TLS1.3对证书进行了加密,在以后的版本中,SNI也可能被加密。因此,基于SNI和证书明文进行非解密流量过滤的方式难以适用未来的TLS协议。
第三类方案是密文检测方式的访问控制,其原理是通过特殊的密码算法实现在不解密的情况下对密文进行检索,从而确定报文是否访问了特定的资源从而进行访问控制。其中,效率最高且具有代表性的方案为BlindBox方案,其基本原理如图3所示。
参见图3,发送方对明文中的每个比特进行标记化和加密生成特定长度的明文令牌(Token),并对明文流量使用安全套接层(secure sockets layer,SSL)进行加密,将各个比特对应的token随加密流量发送至中间件。规则制定者确定检测规则关键字,中间件生成关键字token。收到来自发送方的请求后,若明文token与关键字token一致,根据过滤规则进行过滤,若过滤通过向接收端转发请求。接收端接收加密流量与明文token后,验证token的正确性,防止发送端恶意伪造明文token,并对加密流量进行解密。
上述密文检测方式的缺点是复杂度太高难以广泛使用。以BlindBox为例,在架构层面,中间件、规则制定者、发送方、接收方需要逐会话进行四方交互,通信开销与存储开销巨大,系统复杂度较高,难以部署。在性能层面,发送方逐比特生成明文token,由于token的长度至少为5,因此最终生成的明文token的总长度大于或等于明文比特的5倍,带宽开销巨大;此外由于token生成过程,导致发送时延加大、计算性能要求提高。中间件对明文token与关键字token的比对时间较长,转发时延较大,存储开销也较大。接收方进行明文token验证,导致接收时延增加。
由上可知,目前对加密流量的访问控制方法存在各种问题,基于此,本申请提供一种加密流量的访问控制方法,能够合理、高效、灵活地进行访问控制,从而减少数据泄露。
可以理解的,本申请提供的方法可以用于各种具有标准化格式的加密传输协议的访问控制,包括但不限于HTTPS,例如,还可以应用于安全文件传输协议(secure filetransfer protocol,FTP)等其他协议。
图4a是本申请的实施例应用的通信系统400的架构示意图。如图4a所示,该通信系统包括客户端设备401和授权服务器402。可选的,该通信系统还可以包括数据服务器403或网关设备404。
可选的,授权服务器为访问控制策略的制定点,例如用于进行访问授权等。数据服务器为数据或资源的响应者。网关设备为访问控制策略的执行点,例如用于令牌验证等;或者,访问控制策略的执行点也可以是数据服务器,即可以在数据服务器侧进行令牌验证。此外,网关设备可以具备或不具备解析加密流量的能力。
可选的,在网关设备不具备解析加密流量能力的情况下,如图4b所示,该通信系统还可以包括流量解密设备405。该流量解密设备405可以为TLS卸载点,用于对加密流量进行解密、对报文合法性进行检查等。
基于该通信系统400,如图5a所示,以网关设备为访问控制策略的执行点为例,本申请提供的访问控制方法中,客户端设备首先向授权服务器发送令牌申请信息,随后授权服务器向客户端设备返回令牌描述、目标混淆电路、和初始向量(initial vector,IV)对应的标签集合。客户端设备确定第一初始向量的标签并将其输入目标混淆电路得到第一令牌的第一授权码。如图5b所示,示例性的示出了授权服务器和客户端设备之间的交互以及实现。
如图5a所示,客户端设备在发送请求报文时,将包括令牌描述和第一授权码的第一令牌携带在请求报文中发送。网关设备收到请求报文后根据令牌描述、第一信息、以及密码散列函数生成第二授权码,通过判断第二授权码与第一授权码是否相同来验证令牌合法性,在令牌合法时向数据服务器转发该请求报文。后续,数据服务器可以发送请求报文的响应。
在数据服务器作为访问控制策略的执行点时,网关设备收到请求报文后可以直接转发给数据服务器,由数据服务器进行令牌验证,在令牌合法时可以向客户端设备发送请求报文的响应。上述方案的详细说明将在后续实施例进行描述,在此不予赘述。
可选的,授权服务器和数据服务器可以是应用服务器或个人计算机(personalcomputer,PC)等。网关设备可以是路由器、交换机等具备数据包转发能力的网络设备。流量解密设备可以为反向代理、数据服务器侧的防火墙设备等。
可选的,客户端设备可以为具有通信功能的终端设备。示例性的,客户端设备可以为:物联网(Internet of Things,IoT)设备(例如,传感器,电表,水表等)、车联网(vehicleto everything,V2X)设备、无线局域网(wireless local area networks,WLAN)中的站点(station,ST)、个人数字处理(personal digital assistant,PDA)设备、具有无线通信功能的手持设备(如手机)、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备(也可以称为穿戴式智能设备)、平板电脑或带无线收发功能的电脑等。
需要说明的是,本申请实施例描述的通信系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面将结合附图,对本申请实施例提供的方法进行展开说明。可以理解的,本申请实施例中,执行主体可以执行本申请实施例中的部分或全部步骤,这些步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部操作。
需要说明的是,本申请下述实施例中各个信息或参数的名称等只是一个示例,具体实现中也可以是其他的名称,本申请实施例对此不作具体限定。
如图6所示,为本申请提供的一种加密流量的访问控制方法,该加密流量的访问控制方法包括如下步骤:
S601、客户端设备向授权服务器发送令牌申请信息。相应的,授权服务器接收来自客户端设备的令牌申请信息。其中,该令牌申请信息用于申请令牌。
可选的,该令牌申请信息可以包括以下至少一项:目标资源对应的网络层信息、目标资源对应的传输层信息、目标资源对应的应用层信息、目标资源对应的请求方描述信息、目标秘钥、冗余信息、初始向量的长度、或需求信息。
可选的,目标资源为客户端设备待访问的资源,该目标资源可以为互联网中的任意资源,其在互联网中的位置可以用统一资源定位符(uniform resource locator,URL)标识,本申请以数据服务器提供(或响应)该目标资源为例进行说明。示例性的,一个具体的URL可以为w3.huawei.com/next/indexa.html。
网络层信息可以包括源互联网协议(internet protocol,IP)地址和目的IP地址。目标资源对应的源IP地址即为客户端设备的IP地址,目的IP地址为数据服务器的IP地址。
传输层信息可以包括目的端口(port),或者,可以包括目的端口和源端口。目标资源对应的目的端口为数据服务器的端口,源端口为客户端设备的端口。
应用层信息可以包括以下至少一项:目标资源的URL、请求信息、请求结束符。请求信息指示与目标资源相关的操作,通过URL和请求信息可以指示某个请求想要访问的资源和欲操作的元数据。示例性的,对于HTTPS协议,请求信息可以为方法(method),例如可以为Get、Post、Connect等;对于FTPS协议,请求信息可以为命令(command),例如可以为Put、Delete等。
示例性的,对于HTTPS协议,HTTPS请求中没有请求正文时,请求结束符可以为/r/n/r/n;HTTPS请求中有请求正文时,请求结束符可以为0/r/n/r/n。在HTTPS请求中有请求正文时,请求结束符的形式可以是授权服务器和客户端设备预先协商的,或者可以是授权服务器向客户端设备配置或通知的。
目标资源对应的请求方可以包括客户端设备和/或用户。用户可以为一个账号(即用户名),可以在客户端设备上登录,并请求访问目标资源。目标资源对应的请求方描述信息可以包括以下至少一项:请求方的身份信息(例如用户名和密码、客户端设备的证书等)、请求方的状态信息(例如客户端设备的运行态摘要)、请求方的组标识、请求方的安全等级、或请求方所处网络的网络类型(例如移动网络或固定网络)。
目标秘钥为客户端设备和数据服务器之间的会话秘钥(session key)。该会话秘钥可以是客户端设备和数据服务器在TLS握手过程中协商的。
冗余信息用于构造第一子信息,第一子信息以及冗余信息的使用将在后续实施例中进行说明,在此不予赘述。
初始向量用于对明文信息加密。示例性的,初始向量的长度可以为128比特,或者为96比特,当然还可以为其他长度,本申请对此不作具体限定。
需求信息指示以下至少一项:期望的令牌使用时长、完整请求报文是否分段、或是否建立传输控制协议(transmission control protocol,TCP)连接。TCP连接指目标资源对应的TCP连接,或者说指客户端设备和数据服务器之间的TCP连接。通常在某个请求之前,需要建立客户端设备与数据服务器之间的TCP连接。
可选的,在该步骤S601之前,客户端设备可以通过安全传输层TLS协议、带外配置等方式,与授权服务器建立安全可信通道,随后通过该安全可信通道向授权服务器发送令牌申请信息,以防止令牌申请信息被篡改或泄露。
S602、授权服务器根据令牌申请信息,确定第一令牌的令牌描述(TokenDescrption)、目标混淆电路(Garble circuit)、和初始向量对应的标签集合。
在一些实施例中,本申请设计的第一令牌包括令牌描述(TokenDescrption)和授权码(AuthCode)。令牌描述包括授权向量(AuthVector),授权向量指示第一信息。授权码是根据令牌描述、第一信息、以及密码散列函数生成的。
其中,该第一信息包括对第一子信息加密后得到的加密信息。可选的,第一信息还可以包括第二子信息,第二子信息为明文信息,也就是说,第二子信息为第一信息中的明文信息。
可选的,该第一子信息包括目标资源对应的授权请求起始符和/或请求结束符。授权请求起始符包括请求信息和目标资源的部分或全部URL前缀。授权请求起始符中目标资源的URL前缀部分即为授权服务器授予客户端设备的访问权限,通过调整授权请求起始符中目标资源的URL前缀部分,授权服务器可以灵活控制访问范围。
示例性的,以目标资源的URL为w3.huawei.com/next/indexa.html为例,若授权请求起始符中目标资源的URL前缀部分为w3.huawei.com,表示授权服务器为请求方授予主机下的相关操作权限;若授权请求起始符中目标资源的URL前缀部分为w3.huawei.com/next,表示授权服务器为请求方授予主机中的next目标下的相关操作权限,相比于授予主机下的相关操作权限,缩小了请求方的访问范围。
可选的,授权服务器可以根据令牌申请信息中的请求方描述信息,确定请求方的访问权限,再根据请求方的访问权限,确定授权请求起始符。示例性的,授权服务器中可以预先存储或配置访问权限与请求方的对应关系,收到客户端设备的请求方描述信息后,可以从中获知请求方的信息,再根据该对应关系,查找请求方的访问权限。
可选的,第一信息可以为待携带在客户端设备的请求报文中的信息,或者说,第一信息为请求报文中的部分字节承载的信息,即请求报文中的信息参与授权码的计算。
基于该方案,使用请求报文中的信息参与授权码计算,后续进行令牌验证时,可以防止使用第一令牌发送非法请求的发生。例如,非法用户利用第一令牌发送请求时,由于授权码的计算需要请求报文中的信息参与,若想通过令牌验证,需要同时对请求报文中的第一信息进行造假,然而对请求报文中的信息造假可能无法完成非法用户的非法请求,从而本申请的第一令牌可以在授权范围内随意使用而无需担心盗用,能够进一步提升安全性能。
可选的,关于授权向量指示第一信息的方式:
作为一种可能的实现,授权向量可以包括偏移值(offset)和长度(length)信息,偏移值指示第一信息的起始位置,长度信息指示第一信息的长度。示例性的,偏移值可以为第一的起始位置相对于请求报文的起始位置或结束位置的偏移量。长度信息指示从offset开始的长度。
可选的,在第一信息包括多个参数的情况下,授权向量可以包括多个偏移值和多个长度信息,分别指示该多个参数。例如,第一信息包括参数1和参数2,授权向量可以包括偏移值1和长度1用于指示参数1的起始位置和长度,还包括偏移值2和长度2用于指示参数2的起始位置和长度。该情况下,示例性的,第一令牌的格式可以如图7a所示。
作为另一种可能的实现,授权向量可以包括比特位图,该比特位图指示承载第一信息的字段。示例性的,该比特位图包括N个比特,N为请求报文包括的字段总数,每个比特对应请求报文中的一个字段,授权服务器可以将承载第一信息的字段所对应的比特设置为1。以N等于8为例,若第一信息包括第4-6个字段承载的信息,该比特位图可以为00011100。该情况下,示例性的,第一令牌的格式可以如图7b所示。
可以理解的,由于请求报文具有标准化格式,从而在客户端设备未发送请求报文的情况下,授权服务器也可以获知请求报文的格式,进而可以通过授权向量指示第一信息。
可选的,在第一信息不包括加密信息的情况下,授权码是由令牌描述和第一信息组成的字符串通过密码散列函数生成的。该密码散列函数可以为HMAC算法,该情况下,授权码的计算公式可以表示为如下公式(1):
AuthVector=HMAC(TokenDescrption||第一信息,MasterKey) (1)
其中,||表示连接;MasterKey为密码散列函数的密钥,MasterKey可以由授权服务器生成并定期更新。此外,授权服务器还可以将MasterKey发送给网关设备或数据服务器进行令牌验证。
在第一信息包括对第一子信息加密后得到的加密信息的情况下,假设该加密信息由初始向量、目标秘钥、以及目标加密算法对第一子信息加密后得到,以目标加密算法为高级加密标准(advanced encryption standard,AES)-GCM算法为例,将上述公式(1)展开,该情况下的授权码的计算公式可以表示为如下公式(2):
AuthVector=HMAC(TokenDescrption||AES-GCM(第一子信息,SK,IV)||第二子信息,MasterKey) (2)
在第一信息不包括第二子信息时,授权码的计算公式可以表示为如下公式(3):AuthVector=HMAC(TokenDescrption||AES-GCM(第一子信息,SK,IV),MasterKey) (3)
在上述公式(2)和公式(3)中,SK表示目标秘钥,IV表示初始向量。MasterKey为密码散列函数的密钥。
需要说明的是,在步骤S602中,授权服务器并未按照上述公式生成授权码,主要存在以下两种原因:
原因一、客户端设备在发送请求报文(例如HTTPS请求)时,请求报文携带的第一信息包括对第一子信息进行加密得到的加密信息。若授权服务器根据明文信息(即第一子信息,或第一子信息和第二子信息)按照上述公式(1)生成第一令牌的授权码,并将第一令牌返回给客户端设备,客户端设备将第一令牌携带在请求报文中发送。网关设备收到该请求报文后,根据授权向量的指示获取到的第一信息包括加密信息,并且根据包括加密信息的第一信息计算授权码,该场景下由于授权服务器和网关设备计算授权码的参数不同,必然会导致令牌验证出错,请求报文无法到达数据服务器。
原因二、即使客户端设备在令牌申请信息中向授权服务器发送目标秘钥,授权服务器根据该目标秘钥对第一子信息进行加密,得到加密信息后,根据加密信息生成授权码,也会导致后续的令牌验证出错。原因在于:
1)、通用的目标加密算法(如AES-GCM)使用分组加密,其加密分组长度固定。在两个URL前缀相同而后缀不同时,会生成不同的密文,使得授权服务器生成的密文和客户端设备生成的密文不同,导致网关设备在计算授权码时使用的密文和授权服务器不同,必然导致令牌验证失败。
示例性的,如图8所示,以客户端设备在令牌申请信息中上报的目标资源的URL为w3.huawei.com/next/indexa/MyAudio.mp3(记为URL1)为例,该URL1的前缀为w3.huawei.com/next/indexa,URL1的后缀为MyAudio.mp3。假设目标加密算法为AES-GCM,其加密分组长度为16字节(byte),客户端设备上报URL1后,授权服务器使用初始向量1、目标秘钥和AES-GCM算法对整个URL1进行分组加密,选择加密后的部分或全部URL前缀生成授权码。例如,选择加密后的全部URL前缀即w3.huawei.com/next/indexa生成授权码。
在该场景下,假设后续客户端设备请求访问的目标资源的URL为w3.huawei.com/next/indexa/MyVideo.mp4(记为URL2),该URL2的前缀为w3.huawei.com/next/indexa,URL2的后缀为MyVideo.mp4,即URL1和URL2的前缀相同,后缀不同。客户端设备发送请求报文时,在请求报文中携带授权服务器根据上述URL1生成的授权码和客户端设备加密后的URL2。其中,为了控制变量,可以假设客户端设备可以使用初始向量1、目标秘钥和AES-GCM算法对整个URL2进行分组加密。实际上授权服务器和客户端设备使用的初始向量很可能不同。
后续网关设备收到请求报文后,根据授权向量的指示获取请求报文中的加密后的URL2的全部URL前缀生成授权码,和请求报文中携带的授权码进行比较,二者必然会不同。其原因在于:在目标加密算法中,并不是对分组中的字节进行逐字节加密,而是将分组作为整体进行加密,即使授权服务器和网关设备选取的授权URL前缀均为w3.huawei.com/next/indexa。但是授权服务器将URL1的第二分组作为整体加密,客户端设备将URL2的第二分组作为整体加密,加密后xt/indexa/部分对应的密文也不相同,从而导致授权码的计算参数不同,最终生成的授权码也不同。
2)、对于同一URL,客户端设备和授权服务器可能使用不同的初始向量进行加密,从而导致授权码的计算参数不同,最终生成的授权码也不同。
示例性的,如图9所示,对于URL1,授权服务器可能使用初始向量1进行加密;客户端设备使用初始向量2进行加密,二者得到的密文不同。
基于上述原因,授权服务器可以生成目标混淆电路,该目标混淆电路用于根据初始向量的标签生成令牌的授权码。
可选的,该目标混淆电路可以由以下至少一项确定:令牌描述、第一子信息、第二子信息、目标秘钥、目标加密算法、或密码散列函数。
示例性的,授权服务器可以根据上述公式(2)或公式(3)生成目标混淆电路。在该场景下,第一子信息的长度可以为目标加密算法的加密分组长度的整数倍,例如目标加密算法为AES-GCM时,第一子信息的长度可以为16字节的整数倍。基于该方案,可以使得上述公式(2)或公式(3)中只有初始向量一个变量,从而可以降低混淆电路的设计复杂度,提升计算效率。
可选的,由于第一子信息包括授权请求起始符和/或请求结束符,在授权请求起始符和/或请求结束符的长度不是目标加密算法的加密分组长度的整数倍时,可以添加冗余信息,使得冗余信息和授权请求起始符和/或请求结束符构成第一子信息,使得第一子信息的长度满足目标加密算法的加密分组长度的整数倍。
示例性的,在授权请求起始符之前添加的冗余信息可以为无效的请求,例如get/get/get/get。在请求结束符之前添加的冗余信息可以为空格,或者无意义的字段。
可选的,客户端设备可以向授权服务器告知冗余信息的形式,由授权服务器确定冗余信息的长度。例如,客户端设备可以告知冗余信息为无效请求,由授权服务器确定长度。或者,客户端设备可以向授权服务器发送较长的冗余信息,由授权服务器对较长的冗余信息进行截断,以构成符合长度要求的第一子信息。
可选的,使用F表示公式(2)或公式(3)中的整个函数时,该函数的变量为初始向量,输出为授权码。基于此构造的目标混淆电路可以表示为下述公式(4):
AuthVector=F(IV)=Garble circuit(IV′) (4)
其中,IV为初始向量,IV′为初始向量对应的标签(label)。授权服务器在确定该目标混淆电路时,需要确定初始向量对应的标签集合。
可选的,该初始向量对应的标签集合和该目标混淆电路是绑定的,即不同的混淆电路具有不同的初始向量对应的标签集合。
可选的,授权服务器可以针对初始向量的每个比特生成两个长度为K的标签,其中一个标签对应“0”,另一个标签对应“1”。也就是说,该初始向量对应的标签集合可以包括2L个标签,L为初始向量的长度。例如,若初始向量的长度为128比特,该初始向量对应的标签集合包括256个标签。
示例性的,以初始向量的长度为2比特,该初始向量对应的标签集合可以包括4个标签,其中,标签1对应初始向量的第1个比特的“0”,标签2对应初始向量的第1个比特的“1”;标签3对应初始向量的第2个比特的“0”,标签4对应初始向量的第2个比特的“1”。
可选的,第二子信息可以包括以下至少一项:目标资源对应的网络层信息、传输层信息、安全传输记录层信息、请求方描述信息、或响应方描述信息。
可选的,网络层信息中的目的IP地址可以是数据服务器的完整IP地址,或者可以是数据服务器的IP地址前缀。在目的IP为数据服务器的IP地址前缀时,使得第一令牌可以在访问该IP地址前缀下的多个数据服务器时使用。
可选的,安全传输记录层信息指示负载的类型。安全传输记录层位于应用层之下,传输层之上。负载的类型可以包括握手、应用层数据等。示例性的,安全传输记录层可以为TLS记录层。
可选的,响应方为数据服务器,响应方描述信息可以包括以下至少一项:响应方的组标识、响应方的安全等级、或响应方所处网络的网络类型。第二子信息包括的其他参数的说明可参考上述步骤S601中的相关描述,在此不再赘述。
可选的,授权服务器可以根据令牌申请信息中的需求信息确定第一子信息和第二子信息包括的参数。示例性的:
需求信息指示完整请求报文不分段时,如图10所示,第一子信息包括授权请求起始符和请求结束符;第二子信息包括目标资源对应的网络层信息、传输层信息、以及记录层头信息。此时,第一令牌可以记为A_Token。其中,图10中以安全传输记录层头为TLS记录层头为例进行说明。
需求信息指示完整请求报文分段时,完整请求报文的分段可以包括起始分段、中间分段、和末尾分段。
可选的,如图11a所示,完整请求报文的起始分段包括IP头、TCP头、安全传输记录层、和负载(payload),负载包括请求信息、URL、以及部分请求字节。完整请求报文的起始分段对应的第一子信息包括授权请求起始符;起始分段对应的第二子信息包括网络层信息、传输层信息、和安全传输记录层信息。其中,图11a中以安全传输记录层头为TLS记录层头为例进行说明。此时,第一令牌可以记为S_Token。
可选的,如图11b所示,完整请求报文的末尾分段包括IP头、TCP头、和负载(payload),负载包括部分请求字节和请求结束符。完整请求报文的末尾分段对应的第一子信息包括请求结束符;末尾分段对应的第二子信息包括网络层信息、和传输层信息。此时,第一令牌可以记为E_Token。
需要说明的是,图10、图11a、图11b中授权请求起始符(即请求方法+部分或全部URL前缀)和/或请求结束符之前可以包括上述冗余信息(图10、图11a、图11b中未示出),以使第一子信息的长度为目标加密算法的加密分组长度的整数倍。
可选的,授权服务器可以生成以下令牌中的至少一个:第二令牌、第三令牌、或第四令牌。第二令牌用于客户端设备的TCP连接建立过程,记为TCP连接token;第三令牌用于客户端设备的安全传输连接建立过程,记为SE_Token;第四令牌用于完整请求报文的中间分段,记为M_Token。完整请求报文的中间分段包括IP头、TCP头、和负载(payload),负载包括部分请求字节。
可选的,第二令牌包括令牌描述和授权码。令牌描述包括授权向量,该授权向量指示第二信息,如图12a所示,第二信息可以包括目标资源对应的网络层信息和传输层信息。授权码可以是根据令牌描述、第二信息、和密码散列函数生成的。
可选的,第三令牌包括令牌描述和授权码。令牌描述包括授权向量,该授权向量指示第三信息,如图12b所示,第三信息可以包括目标资源对应的网络层信息、传输层信息、和安全传输记录层信息。授权码可以是根据令牌描述、第三信息、和密码散列函数生成的。此时,安全传输记录层指示的负载的类型可以为握手。
可选的,第四令牌包括令牌描述和授权码。令牌描述包括授权向量,该授权向量指示第四信息,如图12c所示,第四信息可以包括目标资源对应的网络层信息和传输层信息。授权码可以是根据令牌描述、第四信息、和密码散列函数生成的。
基于该方案,可以按需调整授权向量指示的信息所包括的内容,从而灵活调整访问控制粒度,实现多层次精细化的访问控制。例如可以使该信息包括网络层的信息,实现网络层的访问控制,或者,使第一信息包括网络层、传输层、应用层信息,实现URL级别的精细控制,或者,使第一信息包括请求方或响应方描述信息,实现对安全等级、网络类型等的访问控制。
S603、授权服务器向客户端设备发送第一令牌的令牌描述和指示信息。相应的,客户端设备接收来自授权服务器的令牌描述和指示信息。其中,该指示信息用于指示初始向量对应的标签集合和目标混淆电路。
可选的,授权服务器还可以向客户端设备发送第二令牌、第三令牌、和第四令牌中的至少一个。
可选的,授权服务器可以通过与客户端设备之间的安全可信通道向客户端设备发送上述各个令牌和信息。
可选的,客户端设备可以建立目标资源对应的授权请求起始符和令牌描述、混淆电路、初始向量对应的标签集合的对应关系。进一步的,客户端设备还可以建立目标资源对应的授权请求起始符和令牌的对应关系。其中,目标资源对应的授权请求起始符可以是授权服务器向客户端设备发送的,也就是说,授权服务器还向客户端设备返回目标资源对应的授权请求起始符。
之后,可以继续执行上述步骤S601-S603,获取其他资源对应的令牌描述、混淆电路、初始向量对应的标签集合、令牌,从而建立对应关系表。后续,在客户端设备请求访问目标资源时,执行下述步骤。示例性的,该对应关系表可以如下表1所示。
表1
S604、客户端设备获取第一令牌的令牌描述、目标混淆电路、和初始向量对应的标签集合。
可选的,在客户端设备建立了授权请求起始符和、混淆电路、初始向量对应的标签集合的对应关系表的情况下,上述参数的接收和使用解耦,即客户端设备可以预先向授权服务器请求令牌,并存储授权服务器返回的令牌描述、混淆电路、和初始向量对应的标签集合,在需要发送请求报文时再进行查找。该场景下,该步骤S604可以包括:
客户端设备根据目标资源对应的授权请求起始符、以及授权请求起始符和令牌描述的对应关系,查找第一令牌的令牌描述;根据目标资源对应的授权请求起始符、以及授权请求起始符和混淆电路的对应关系,查找目标混淆电路;以及根据授权请求起始符和标签集合的对应关系,查找该初始向量对应的标签集合。
可选的,在客户端设备未建立上述对应关系的情况下,该步骤S604可以理解为上述:客户端设备接收来自授权服务器的第一令牌的令牌描述、目标混淆电路、和初始向量对应的标签集合。
S605、客户端设备根据初始向量对应的标签集合确定第一初始向量的标签,将第一初始向量的标签输入目标混淆电路,得到第一令牌的第一授权码。
可选的,客户端设备可以首先确定第一初始向量,再从初始向量对应的标签集合中选取第一初始向量的每个比特对应的标签,从而确定第一初始向量的标签。
可选的,客户端设备得到第一授权码后,可以将第一授权码拼接在令牌描述后,得到完整的第一令牌。
S606、客户端设备发送请求报文。网关设备接收来自客户端设备的请求报文。其中,该请求报文包括第一令牌和第一信息。
可选的,该请求报文可以用于请求访问目标资源,例如请求报文可以为HTTPS请求报文或FTPS请求报文。
可选的,第一令牌可以携带在请求报文的网络层头部。第一令牌在网络层头部的具体位置可以根据具体的网络层协议确定。示例性的,网络层协议为IPv6时,第一令牌可以携带在网络层头部的目的地选项(destination option)等选项字段中;网络层协议为新IP(NewIP)时,第一令牌可以携带者网络层头部的安全(security)选项字段中。或者,第一令牌可以携带在请求报文的应用层中。
可选的,第一令牌携带在请求报文的网络层头部时,访问控制策略的执行点可以为网关设备,即由网关设备进行令牌验证。第一令牌携带在请求报文的应用层中时,访问控制策略的执行点可以为数据服务器,即由数据服务器进行令牌验证。
可选的,以第一令牌携带在请求报文的网络层头部为例,客户端设备的应用层可以生成完整的请求报文,用于请求访问目标资源。随后,应用层将完整请求报文交付至传输层,由传输层确定是否对完整请求报文进行TCP分段,在进行TCP分段的情况下,标记各个分段的类型交付至网络层。网络层收到来自传输层的报文后,识别分段类型,并在网络层头部添加相应的第一令牌。
示例性的,以HTTPS请求报文为例,如图13a所示,HTTP分段(HTTPSeg)等于0时,表示无需对HTTPS请求报文分段,IP报文的负载包括完整的HTTPS请求,对应的第一令牌为A_Token。
如图13b所示,HTTPSeg等于1时,表示完整请求报文的起始分段,IP报文的负载包括HTTPS请求起始符(即method+URL)和剩余HTTPS请求部分,对应的第一令牌为S_Token。
如图13c所示,HTTPSeg等于2时,表示完整请求报文的中间分段,IP报文的负载包括剩余HTTPS请求部分,对应的第一令牌为M_Token。
如图13d所示,HTTPSeg等于3时,表示完整请求报文的末尾分段,IP报文的负载包括剩余HTTPS请求部分和请求结束符,对应的第一令牌为E_Token。
可选的,在步骤S606之前,客户端设备向数据服务器发送报文,以请求建立目标资源对应的TCP连接时,可以在该报文中携带第二令牌(即TCP连接token)。在访问控制策略的执行点为网关设备时,TCP连接token的使用,使得未经授权的客户端设备在请求建立TCP连接时便被识别并过滤,实现客户端设备和数据服务器之间的首包拦截。
可选的,在步骤S606之前,客户端设备向数据服务器发送报文,以请求建立目标资源对应的安全传输连接(例如TLS连接)时,可以在该报文中携带第三令牌。在访问控制策略的执行点为网关设备时,第三令牌的使用,使得未经授权的客户端设备在请求建立安全传输连接时便被识别并过滤。
S607、网关设备或数据服务器根据第一令牌的令牌描述、第一信息、以及密码散列函数生成第二授权码。
可选的,访问控制策略的执行点为网关设备时,该步骤S607由网关设备执行。访问控制策略的执行点为数据服务器时,该步骤S607由数据服务器执行,此时,在步骤S607之前,网关设备需要将请求报文转发给数据服务器。图6中以网关设备执行该步骤S607为例进行说明。
可选的,网关设备或数据服务器可以根据前述公式(2)或公式(3)生成第二授权码,其中使用的MasterKey是由授权服务器颁发的。
可选的,第一信息可以是网关设备或数据服务器根据令牌描述中的授权向量从请求报文中提取的。
可选的,在第二授权码与第一授权码相同(或一致)时,若步骤S607由网关设备执行,可以继续执行下述步骤S608;若步骤S607由数据服务器执行,可以继续执行下述步骤S609。
可选的,在第二授权码与第一授权码不同(或不一致)时,网关设备或数据服务器可以丢弃该请求报文。或者,若步骤S607由网关设备执行,网关设备可以通过第一路径向数据服务器转发该请求报文;或者,网关设备可以在请求报文中添加标签,将带有标签的请求报文转发给数据服务器。数据服务器在通过第一路径接收到请求报文或者接收到带有标签的请求报文时,可以获知该请求报文为令牌验证未通过的报文,从而进行相应处理,例如,丢弃请求报文或响应部分请求。
S608、网关设备向数据服务器转发请求报文。相应的,数据服务器接收来自网关设备的请求报文。
可选的,网关设备可以通过第二路径向数据服务器转发请求报文。数据服务器在通过第二路径接收到请求报文时,可以获知该请求报文为令牌验证通过的报文,从而执行下述步骤S609。
S609、数据服务器向客户端设备发送响应报文。相应的,客户端设备接收来自数据服务器的响应报文。其中,该响应报文为上述请求报文的响应。
可选的,客户端设备接收来自响应报文后,即可根据该响应报文进行相关处理,本申请对此不作具体限定。
本申请中,一方面,授权服务器基于客户端设备的申请向客户端设备指示混淆电路和令牌描述,客户端设备在发送请求报文时使用混淆电路生成第一授权码得到令牌,并在请求报文中携带该令牌。该令牌的令牌描述中包括授权向量,该授权向量指示参与授权码计算的第一信息,使得网关设备或数据服务器侧收到请求报文后,可以基于授权向量获取参与授权码计算的信息,并生成第二授权码,根据比较第一授权码和第二授权码是否一致来进行访问控制,例如,在第二授权码和第一授权码一致时允许访问,在第二授权码和第一授权码不一致时拒绝访问,从而防止数据泄露。
另一方面,授权服务器可以灵活制定访问控制策略,即可以灵活制定令牌,无需向网关设备同步访问控制策略,从而网关设备无需维护访问控制策略或访问控制列表,相比于现有防火墙和blindBox的方案可以灵活部署,降低部署使用成本。
再一方面,访问控制策略的执行点无需分析请求报文的应用层语义,无需查询访问控制策略、用户信息等,可无感知地傻瓜式计算授权码并验证,存储与计算复杂度与访问控制策略、以及用户规模解耦,从而实现高效率的访问控制。此外,本申请提供的方案不受限于TLS版本,可以广泛应用,适用性较高。
在一些实施例中,第一令牌的令牌描述中除授权向量外,还可以包括有效期(ExpiredTime)和以下至少一项:检查策略(CheckPolicy)、颁发者标识(IssuerID)、密码套件(CypherSuit)、或排除信息(Exclude)。该场景下,第一令牌的格式可以如图14a或图14b所示。
可选的,有效期指示第一令牌的有效期限。该有效期限可以是授权服务器根据需求信息指示的期望的令牌使用时长确定的。
可选的,检查策略指示是否信任目标资源的请求方,或者说指示是否信任第一令牌的使用者。示例性的,当CheckPolicy设置为0时,表示信任目标资源的请求方,当CheckPolicy设置为1时,表示不信任目标资源的请求方。在全局的检查策略唯一时,即信任或不信任网络中的全部请求方时,检查策略可以省略。
在上述步骤S602中,授权服务器可以根据请求方描述信息确定是否信任该目标资源的请求方,从而设置检查策略。例如,当客户端设备为经过授权服务器认证的客户端设备且用户为可信用户时,确定信任目标资源的请求方,将CheckPolicy设置为0。当客户端设备未经授权服务器认证或者用户不可信时,确定不信任目标资源的请求方,将CheckPolicy设置为1。
可选的,颁发者标识指示颁发第一令牌的相关信息的设备(称为令牌颁发设备),即指示授权服务器。访问控制策略的执行点可以通过该标识查找令牌颁发设备的相关信息。在令牌颁发设备全局唯一时,颁发者标识可以省略。
可选的,密码套件指示目标混淆电路对应的密码散列函数的相关信息。目标混淆电路对应的密码散列函数可以理解为:构造目标混淆电路时使用的密码散列函数。访问控制策略的执行点可以根据密码套件确定令牌验证所需的密码学信息。例如密码套件可以包括MasterKey的标识,使得访问控制策略的执行点根据该标识确定MasterKey;或者,访问控制策略的执行点还可以根据密码套件确定密码散列函数对应的类型、长度等。
可选的,排除信息指示禁止携带的信息,该禁止携带的信息为客户端设备的请求报文中禁止携带的信息。或者说,排除信息指示请求报文中不能出现的信息。在检查策略指示信任目标资源的请求方时,排除信息可以省略。
可选的,请求报文为完整请求报文的起始分段时,禁止携带的信息为请求结束符。此时,排除信息可以设置为第二数值,示例性的,第二数值可以1。
请求报文为完整请求报文的末尾分段时,禁止携带的信息为请求信息。此时,排除信息可以设置为第三数值,示例性的,第三数值可以2。
请求报文为完整请求报文时,排除信息指示禁止携带多个请求信息和多个请求结束符。此时,排除信息可以设置为第五数值,示例性的,第五数值可以4。
在上述步骤S602中,授权服务器可以根据来自客户端设备的需求信息确定请求报文的相关信息,从而设置排除信息。例如需求信息指示完整请求报文分段时,起始分段对应的排除信息可以设置为第二数值等。
可选的,第二令牌、第三令牌、或第四令牌的令牌描述中也可以包括有效期(ExpiredTime)和检查策略(CheckPolicy)、颁发者标识(IssuerID)、密码套件(CypherSuit)、或排除信息(Exclude)中的至少一项,类似于第一令牌中的说明,区别在于:
第二令牌的排除信息指示禁止携带的信息为负载,此时,排除信息可以设置为第一数值。示例性的,第一数值可以为0。第四令牌的排除信息指示禁止携带的信息为请求信息和请求结束符,此时,排除信息可以设置为第四数值,示例性的,第四数值可以为3。
可选的,基于上述令牌描述,访问控制策略的执行点还可以根据有效期限、检查策略、排除信息等进行进一步验证。示例性的,以访问控制策略的执行点为网关设备为例,图15为一种网关设备的验证流程,如图15所示,该验证流程包括如下步骤:
S1501、确定请求报文中的目的端口是否为目标协议对应的端口。
其中,目标协议为当前正在进行访问控制的协议,例如可以为HTTPS协议或FTPS协议,当然也可以为其他传输协议,本申请对此不作具体限定。
可选的,若目的端口为目标协议对应的端口,执行下述步骤S1502;若目的端口不是目标协议对应的端口,执行其他访问控制流程,对于其他访问控制流程,本申请不予限制,在此不予赘述。
S1502、确定请求报文中是否携带第一令牌。
可选的,若请求报文中携带第一令牌,执行下述步骤S1503;若请求报文中不携带令牌,丢弃该请求报文。
S1503、确定第一令牌是否过期。
可选的,网关设备可以从令牌描述中获取第一令牌的有效期限,从而根据第一令牌的有效期限,确定第一令牌是否过期。本申请以第一令牌未过期进行说明。
可选的,若第一令牌未过期,且网关设备具备解析加密流量的能力,可以执行图16所示的令牌合法性检查子流程以及下述步骤S1504;在网关设备不具备解析加密流量的能力时,执行上述步骤S607,在第二授权码和第一授权码相同时,向下一节点转发请求报文,该下一节点可以为流量解密设备或数据服务器;若第一令牌已过期,丢弃该请求报文。
S1504、根据令牌合法性检查子流程的输出,确定第一令牌是否合法。
可选的,令牌合法性检查子流程的输出第一结果时,第一令牌合法;令牌合法性检查子流程的输出第二结果时,第一令牌不合法。示例性的,第一结果可以表示为Y,第二结果可以表示为N。
可选的,若第一令牌合法,执行下述步骤S1505;若第一令牌不合法,丢弃该请求报文,或者通过第一路径向数据服务器转发请求报文,或者在请求报文中添加标签后向数据服务器转发,可参考上述步骤S607中的相关说明,在此不再赘述。
S1505、向数据服务器转发请求报文。可参考上述步骤S608中的相关说明,在此不再赘述。
可选的,如图16所示,令牌合法性检查子流程包括如下步骤:
S1601、确定是否信任目标资源的请求方。
可选的,网关设备可以根据令牌描述中的检查策略确定是否信任目标资源的请求方。例如,在检查策略设置为0时,确定信任目标资源的请求方;在检查策略设置为1时,确定不信任目标资源的请求方。
可选的,若不信任目标资源的请求方,执行下述步骤S1602;若信任目标资源的请求方,执行下述步骤S1603。
S1602、根据排除信息进行请求报文的合法性检查。
可选的,请求报文不携带排除信息指示的禁止携带的信息时,确定请求报文合法;请求报文携带有禁止携带的信息时,请求报文不合法,可以丢弃该请求报文。
可选的,如图16所示,排除信息为第二数值时,执行步骤S16022;排除信息为第三数值时,执行步骤S16023;排除信息为第五数值时,执行步骤S16025。
S16022、检查请报文是否携带请求结束符。
可选的,请求报文不携请求结束符时,继续执行下述步骤S1603;请求报文携带请求结束符时,可以丢弃该请求报文。
S16023、检查请报文是否携带请求信息。
可选的,请求报文不携请求信息时,继续执行下述步骤S1603;请求报文携带请求信息时,可以丢弃该请求报文。
S16025、检查请报文是否携带多个请求信息和多个请求结束符。
可选的,请求报文携带单个请求信息和单个请求结束符时,继续执行下述步骤S1603;请求报文携带多个请求信息或多个请求结束符时,可以丢弃该请求报文。
S1603、根据授权向量从请求报文中提取第一信息。提取第一信息后,可以继续执行下述步骤S1604。
S1604、根据令牌描述、第一信息、以及密码散列函数生成第二授权码。
可选的,密码散列函数的相关信息可以是根据令牌描述中的密码套件确定的。该步骤S1604的具体实现可参考上述步骤S607中的相关描述,在此不再赘述。
S1605、确定第一授权码和第二授权码是否相同。
可选的,第一授权码和第二授权相同时,输出第一结果并返回图15所示的流程;第一授权码和第二授权码不同时,输出第二结果并返回图15所示的流程。图16中以第一结果表示为Y,第二结果表示为N为例进行说明。
可选的,第二令牌、第三令牌、或第四令牌对应的验证流程可以参考上述图15和图16所示的流程。区别在于:在图16所示的流程中,排除信息为第一数值时,执行下述步骤S16021;排除信息为第四数值时,执行下述步骤S16024。
S16021、检查请求报文是否携带负载。
可选的,请求报文不携带负载时,继续执行步骤S1603;请求报文携带负载时,可以丢弃该请求报文。
S16024、检查请报文是否携带请求信息和请求结束符。
可选的,请求报文不携请求信息和请求结束符时,继续执行步骤S1603;请求报文携带请求信息或请求结束符时,可以丢弃该请求报文。
可选的,在网关设备不具备解析加密流量的能力时,下一节点收到来自网管设备的请求报文后,可以执行上步骤S1601和S1602,在确定请求报文合法时,若下一节点为流量解密设备,可以向数据服务器转发该请求报文;若下一节点为数据服务器,可以对该请求报文进行相应。
基于该方案,通过有效期检查,能够防止非法用户使用过期的令牌发送请求。根据排除信息的检查,能够防止非法用户使用合法的令牌发送非法请求,例如防止非法用户使用TCP连接令牌发送HTTPS请求,从而进行更为严格的访问控制,提高网络安全性。
在上述访问控制方法中,令牌的使用涉及到应用层与网络层的信息交互与配合,现有的网络模型可能不再适用。例如在网络层携带令牌时,令牌的申请主要由应用层实现,令牌的应用(如嵌入报文)主要由网络层实现,应用层和网络层需要进行交互以使得网络层网络层正确地将令牌嵌入报文,例如应用层需要向网络层指示TCP连接、完整请求报文、完整请求报文的各个分段所对应的令牌。基于此,本申请下述实施例将提供示例性的部署方式,以支持本申请方案的实现。
可选的,如图17所示,可以采用如下三种部署方式实现:1)、基于请求代理中间件的部署;2)、基于专用浏览器部署;3)、基于请求代理部署。
在第一种部署方式中,客户端设备中可以部署现有的通用浏览器和请求代理中间件,由请求代理中间件实现令牌代理申请和使用的功能。例如,实现令牌申请信息的发送、授权请求起始符与令牌描述、混淆电路、标签集合的对应关系的建立、请求报文的分割与队列排序、前向代理、将令牌嵌入请求报文等功能。
示例性的,以进行HTTPS的访问控制,访问控制策略的执行点为网关设备为例,基于请求代理中间件的部署方式的实现流程可以如图18所示:
请求代理中间件在启动时设置浏览器代理,生成自签名证书后,向浏览器下发自签名证书。其中,请求代理中间件每次启动后可以重新生成自签名证书。
浏览器收到自签名证书后,将自签名证书添加到浏览器或系统信任证书列表,并使用用户名密码登录代理。
用户登录后,请求代理中间件建立到授权服务器的连接。示例性的,请求代理中间件可以内置授权服务器认可证书,并向授权服务器加密发送请求代理中间件、客户端设备、用户的相关信息。授权服务器可以验证请求代理中间、客户端设备、用户的合法性,验证通过后,建立与请求代理中间件之间的连接。
随后,浏览器向请求代理中间件发送HTTPS请求。请代理中间件收到HTTPS请求后,若HTTPS请求的大小大于TCP包的最大分段大小(maximum segment size,MSS),请求代理中间件对接收到的HTTPS请求进行分段并建立请求队列。若HTTPS请求的大小小于TCP包的MSS大小,不进行分段。
此外,请代理中间件可以从HTTPS请求中提取令牌申请信息中包括的参数,例如网络层信息、传输层信息、应用层信息等,随后向授权服务器发送令牌申请信息。授权服务器收到令牌申请信息后确定并向请求代理中间件返回第一令牌的令牌描述、混淆电路、以及标签集合,此外还可以返回第二令牌(TCP连接令牌)、第三令牌、或第四令牌中的至少一项。请求代理中间件接收到上述信息后,建立如表1所示的对应关系。
之后,请求代理中间件向数据服务器发起TCP连接请求,在该TCP连接请求中携带TCP连接令牌。网关设备验证令牌合法后向数据服务器转发该TCP连接请求。数据服务器接受并建立TCP连接。
TCP连接建立完成后,请求代理中间件进行证书调换,向浏览器发送自签名证书。浏览器生成对称密钥并使用自签名证书中的公钥加密后,发送给请求代理中间件。请求代理中间件使用自签名证书对应的私钥解密得到对称密钥,并使用数据服务器的公钥加密对称密钥后,向数据服务器发送对称密钥。
随后,请求代理中间件按照请求队列的队列顺序发起加密的HTTPS请求,并在HTTPS请求中携带相应的令牌,例如在进行了HTTPS分段的情况下,根据HTTPSeg在请求中嵌入相应的令牌。网关设备验证令牌合法后向数据服务器转发HTTPS请求。数据服务器响应该请求。请求代理中间件收到数据服务器的响应后向浏览器发送该响应,浏览器接收并使用对称密钥解析响应。
由上所述,请求代理中间件同时具有应用层与网络层的操作逻辑,可以在收到应用层的请求报文时,查询对应的令牌并调用底层网络应用程序接口(application programinterface,API)或原始套接字,将令牌嵌入请求报文中发送。
在第二种部署方式中,可以开发专用浏览器部署于客户端设备中,使得该专用浏览器原生支持上述请求代理中间的功能。以HTTPS为例,专用浏览器需要解析用户请求构造HTTPS请求,并能提取相关参数向授权服务器申请令牌。收到授权令牌后,选择与HTTPS请求对应的令牌作为参数,直接调用底层网络API或原始套接字构造HTTP请求的网络层数据包,将相应的令牌嵌入到包头中,随后发送至网络中。
在第三种部署方式中,可以在客户端设备中部署现有的通用浏览器,另外独立于客户端设备部署请求代理,该请代理的功能与上述请求代理中间件类似。也就是说,将请求代理中间件的功能部署于独立的设备或代理服务器上,而不是部署在客户端设备中。需要注意的是,该部署方式中,浏览器和请求代理之间需要建立远程TCP连接。
可选的,该部署方式可以应用于客户端设备无法安装专用浏览器或请求代理中间件的场景,例如,应用于客户端设备为资源受限的IoT节点、代理与上层应用分离的云中心等场景。
可以理解的,上述三种部署方式仅是示例性的说明,对本申请提供的访问控制方法不构成任何限定。在实际使用时,也可以采用其他部署方式,不予限制。
可以理解的是,以上各个实施例中,由各个设备实现的方法和/或步骤,也可以由可用于该设备的部件(例如处理器、芯片、芯片系统、电路、逻辑模块、或软件)实现。
上述主要从各个设备之间交互的角度对本申请提供的方案进行了介绍。相应的,本申请还提供了通信装置,该通信装置用于实现上述各种方法。该通信装置可以为上述方法实施例中的授权服务器,或者为可用于授权服务器的部件;或者,该通信装置可以为上述方法实施例中的网关设备,或者为可用于网关设备的部件;或者,该通信装置可以为上述方法实施例中的客户端设备,或者为可以用于客户端设备的部件。
可以理解的是,该通信装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法实施例对通信装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在一种实施场景下,以通信装置为上述方法实施例中的授权服务器为例,图19示出了一种授权服务器190的结构示意图。该授权服务器190包括处理模块1901和收发模块1902。
在一些实施例中,该授权服务器190还可以包括存储模块(图19中未示出),用于存储程序指令和数据。
在一些实施例中,收发模块1902,也可以称为收发单元用以实现发送和/或接收功能。该收发模块1902可以由收发电路,收发机,收发器或者通信接口构成。
在一些实施例中,收发模块1902,可以包括接收模块和发送模块,分别用于执行上述方法实施例中由终端执行的接收和发送类的步骤,和/或用于支持本文所描述的技术的其它过程;处理模块1901,可以用于执行上述方法实施例中由终端执行的处理类(例如确定、获取、生成等)的步骤,和/或用于支持本文所描述的技术的其它过程。其中:
收发模块1902,用于接收来自客户端设备的令牌申请信息,令牌申请信息用于申请令牌;处理模块1901,用于根据令牌申请信息确定第一令牌的令牌描述、目标混淆电路、和初始向量对应的标签集合,令牌描述包括授权向量,授权向量指示第一信息,第一信息包括对第一子信息进行加密后得到的加密信息;目标混淆电路用于根据初始向量的标签生成第一令牌的授权码,初始向量用于加密第一子信息;收发模块1902,还用于向客户端设备发送令牌描述和指示信息,指示信息用于指示初始向量对应的标签集合和目标混淆电路。
可选的,收发模块1902,还可以用于向客户端设备发送第二令牌和/或第三令牌;第二令牌用于客户端设备的传输控制协议TCP连接建立过程,第三令牌用于客户端设备的安全传输连接建立过程。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
可选的,该授权服务器190以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定专用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
可选的,当图19中的授权服务器190是芯片或芯片系统时,收发模块1902的功能/实现过程可以通过芯片或芯片系统的输入输出接口(或通信接口)实现,处理模块1901的功能/实现过程可以通过芯片或芯片系统的处理器(或者处理电路)实现。
由于本实施例提供的授权服务器190可执行上述方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
在一种实施场景下,以通信装置为上述方法实施例中的网关设备为例,图20示出了一种网关设备200的结构示意图。该网关设备200包括处理模块2001和收发模块2002。
在一些实施例中,该网关设备200还可以包括存储模块(图20中未示出),用于存储程序指令和数据。
在一些实施例中,收发模块2002,也可以称为收发单元用以实现发送和/或接收功能。该收发模块2002可以由收发电路,收发机,收发器或者通信接口构成。
在一些实施例中,收发模块2002,可以包括接收模块和发送模块,分别用于执行上述方法实施例中由终端执行的接收和发送类的步骤,和/或用于支持本文所描述的技术的其它过程;处理模块2001,可以用于执行上述方法实施例中由终端执行的处理类(例如确定、获取、生成等)的步骤,和/或用于支持本文所描述的技术的其它过程。其中:
收发模块2002,用于收来自客户端设备的请求报文,请求报文包括第一令牌和第一信息,第一令牌包括令牌描述和第一授权码,令牌描述包括授权向量,授权向量指示第一信息,第一信息包括对第一子信息进行加密后得到的加密信息;处理模块2001,用于根据令牌描述、第一信息、以及密码散列函数生成第二授权码;第二授权码与第一授权码相同时,收发模块2002,还用于向数据服务器转发请求报文。
可选的,处理模块2001,还用于根据第一令牌的有效期限,确定第一令牌未过期。
可选的,处理模块2001,还用于根据检查策略确定信任目标资源的请求方;或者,可选的,处理模块2001,还用于根据检查策略确定不信任目标资源的请求方,并根据排除信息确定请求报文合法。
可选的,处理模块2001,还用于根据排除信息确定请求报文合法,包括:处理模块2001,还用于请求报文不携带禁止携带的信息时,确定请求报文合法。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
可选的,该网关设备200以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定专用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
可选的,当图20中的网关设备200是芯片或芯片系统时,收发模块2002的功能/实现过程可以通过芯片或芯片系统的输入输出接口(或通信接口)实现,处理模块2001的功能/实现过程可以通过芯片或芯片系统的处理器(或者处理电路)实现。
由于本实施例提供的授权网关设备200可执行上述方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
在一种实施场景下,以通信装置为上述方法实施例中的客户端设备为例,图21示出了一种客户端设备210的结构示意图。该客户端设备210包括处理模块2101和收发模块2102。
在一些实施例中,该客户端设备210还可以包括存储模块(图21中未示出),用于存储程序指令和数据。
在一些实施例中,收发模块2102,也可以称为收发单元用以实现发送和/或接收功能。该收发模块2102可以由收发电路,收发机,收发器或者通信接口构成。
在一些实施例中,收发模块2102,可以包括接收模块和发送模块,分别用于执行上述方法实施例中由终端执行的接收和发送类的步骤,和/或用于支持本文所描述的技术的其它过程;处理模块2101,可以用于执行上述方法实施例中由终端执行的处理类(例如确定、获取、生成等)的步骤,和/或用于支持本文所描述的技术的其它过程。其中:
收发模块2102,用于向授权服务器发送令牌申请信息,令牌申请信息用于申请令牌;处理模块2101,用于获取第一令牌的令牌描述、目标混淆电路、和初始向量对应的标签集合,令牌描述包括授权向量,授权向量指示第一信息,第一信息包括对第一子信息进行加密后得到的加密信息,初始向量用于加密第一子信息;处理模块2101,还用于根据初始向量对应的标签集合确定第一初始向量的标签,并将第一初始向量的标签输入目标混淆电路,得到第一令牌的第一授权码;收发模块2102,还用于发送请求报文,请求报文包括第一令牌和第一信息。
可选的,处理模块2101,用于获取第一令牌的令牌描述和目标混淆电路,包括:处理模块2101,用于根据目标资源对应的授权请求起始符、以及授权请求起始符和令牌描述的对应关系,查找第一令牌的令牌描述;以及处理模块2101,用于根据目标资源对应的授权请求起始符、以及授权请求起始符和混淆电路的对应关系,查找目标混淆电路。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
可选的,该客户端设备210以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定专用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
可选的,当图21中的客户端设备210是芯片或芯片系统时,收发模块2102的功能/实现过程可以通过芯片或芯片系统的输入输出接口(或通信接口)实现,处理模块2101的功能/实现过程可以通过芯片或芯片系统的处理器(或者处理电路)实现。
由于本实施例提供的授权客户端设备210可执行上述方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
如图22所示,为本申请提供的另一种通信装置220的结构示意图。通信装置220包括一个或多个处理器2201,通信线路2202,以及至少一个通信接口(图22中仅是示例性的以包括通信接口2204,以及一个处理器2201为例进行说明),可选的,还可以包括存储器2203。
处理器2201,主要用于对通信协议以及通信数据进行处理,以及对整个通信装置进行控制,执行软件程序,处理软件程序的数据。处理器可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specificintegrated circuit,ASIC)。
通信线路2202可以用于通信装置220包括的不同组件之间的通信。
通信接口2204可以是收发器、收发机一类的装置;收发器可以包括射频电路和天线,射频电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。或者,所述通信接口2204可以是位于处理器2201内的收发电路,用以实现处理器的信号输入和信号输出。
存储器2203主要用于存储软件程序和数据。可以是具有存储功能的装置。例如可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路2202与处理器相连接。存储器也可以和处理器集成在一起。
在具体实现中,作为一种实施例,处理器2201可以包括一个或多个CPU,例如图22中的CPU0和CPU1。
在具体实现中,作为一种实施例,通信装置220可以包括多个处理器,例如图22中的处理器2201和处理器2208。这些处理器中的每一个可以是一个单核(single-core)处理器,也可以是一个多核(multi-core)处理器。这里的处理器可以包括但不限于以下至少一种:中央处理单元(central processing unit,CPU)、微处理器、数字信号处理器(DSP)、微控制器(microcontroller unit,MCU)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。
在具体实现中,作为一种实施例,通信装置220还可以包括输出设备2205和输入设备2206。输出设备2205和处理器2201通信,可以以多种方式来显示信息。例如,输出设备2205可以是液晶显示器(liquid crystal display,LCD),发光二极管(light emittingdiode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备2206和处理器2201通信,可以以多种方式接收用户的输入。例如,输入设备2206可以是鼠标、键盘、触摸屏设备或传感设备等。
需要说明的是,图22中示出的组成结构并不构成对该通信装置的限定,除图22所示部件之外,该通信装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
当通信装置220用于实现图所示的授权服务器的功能时,处理器2201可以用于实现上述处理模块1901的功能,通信接口2204可以用于实现上述收发模块1902的功能。
作为一种示例,图19中的处理模块1901的功能/实现过程可以通过图22所示的处理器2201调用存储器2203中存储的计算机执行指令来实现,图19中的收发模块1902的功能/实现过程可以通过图22所示的通信接口2204来实现。
当通信装置220用于实现图所示的网关设备的功能时,处理器2201可以用于实现上述处理模块2001的功能,通信接口2204可以用于实现上述收发模块2002的功能。
作为一种示例,图20中的处理模块2001的功能/实现过程可以通过图22所示的处理器2201调用存储器2203中存储的计算机执行指令来实现,图20中的收发模块2002的功能/实现过程可以通过图22所示的通信接口2204来实现。
当通信装置220用于实现图所示的客户端设备的功能时,处理器2201可以用于实现上述处理模块2101的功能,通信接口2204可以用于实现上述收发模块2102的功能。
作为一种示例,图21中的处理模块2101的功能/实现过程可以通过图22所示的处理器2201调用存储器2203中存储的计算机执行指令来实现,图21中的收发模块2102的功能/实现过程可以通过图22所示的通信接口2204来实现。
在一些实施例中,本申请还提供一种通信装置,该通信装置包括处理器,用于实现上述任一方法实施例中的方法。
作为一种可能的实现方式,该通信装置还包括存储器。该存储器,用于保存必要的程序指令和数据,处理器可以调用存储器中存储的程序代码以指令该通信装置执行上述任一方法实施例中的方法。当然,存储器也可以不在该通信装置中。
作为另一种可能的实现方式,该通信装置还包括接口电路,该接口电路为代码/数据读写接口电路,该接口电路用于接收计算机执行指令(计算机执行指令存储在存储器中,可能直接从存储器读取,或可能经过其他器件)并传输至该处理器。
作为又一种可能的实现方式,该通信装置还包括通信接口,该通信接口用于与该通信装置之外的模块通信。
可以理解的是,该通信装置可以是芯片或芯片系统,该通信装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件,本申请实施例对此不作具体限定。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序或指令,该计算机程序或指令被计算机执行时实现上述任一方法实施例的功能。
本申请还提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现上述任一方法实施例的功能。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。本申请实施例中,计算机可以包括前面所述的装置。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (38)
1.一种加密流量的访问控制方法,其特征在于,所述方法包括:
授权服务器接收来自客户端设备的令牌申请信息,所述令牌申请信息用于申请令牌;
所述授权服务器根据所述令牌申请信息确定第一令牌的令牌描述、目标混淆电路、和初始向量对应的标签集合,所述令牌描述包括授权向量,所述授权向量指示第一信息,所述第一信息包括对第一子信息进行加密后得到的加密信息;所述目标混淆电路用于根据初始向量的标签生成所述第一令牌的授权码,所述初始向量用于加密所述第一子信息;
所述授权服务器向所述客户端设备发送所述令牌描述和指示信息,所述指示信息用于指示初始向量对应的标签集合和所述目标混淆电路。
2.根据权利要求1所述的方法,其特征在于,所述第一信息为待携带在所述客户端设备的请求报文中的信息。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
网关设备接收来自所述客户端设备的请求报文,所述请求报文包括所述第一令牌和所述第一信息;
所述网关设备根据所述令牌描述、所述第一信息、以及密码散列函数生成第二授权码;
所述第二授权码与所述第一授权码相同时,所述网关设备向数据服务器转发所述请求报文。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述目标混淆电路由以下至少一项确定:所述令牌描述、所述第一子信息、第二子信息、目标秘钥、目标加密算法、或密码散列函数,所述第二子信息为所述第一信息中的明文信息。
5.根据权利要求4所述的方法,其特征在于,所述第一子信息包括目标资源对应的授权请求起始符和/或请求结束符;所述第一子信息的长度为所述目标加密算法的加密分组长度的整数倍;所述目标资源为所述客户端设备待访问的资源。
6.根据权利要求5所述的方法,其特征在于,所述授权请求起始符包括请求信息和所述目标资源的部分或全部统一资源定位符URL前缀,所述请求信息指示与所述目标资源相关的操作。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述第二子信息包括以下至少一项:目标资源对应的网络层信息、传输层信息、安全传输记录层信息、请求方描述信息、或响应方描述信息。
8.根据权利要求7所述的方法,其特征在于,所述网络层信息包括源互联网协议IP地址和目的IP地址;
所述传输层信息包括目的端口,或者,包括目的端口和源端口;
所述安全传输记录层信息指示负载的类型;
所述请求方描述信息包括以下至少一项:所述请求方的身份信息、所述请求方的状态信息、所述请求方的组标识、所述请求方的安全等级、或所述请求方所处网络的网络类型;
所述响应方描述信息包括以下至少一项:所述响应方的组标识、所述响应方的安全等级、或所述响应方所处网络的网络类型。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述授权向量包括偏移值和长度信息,所述偏移值指示所述第一信息的起始位置,所述长度信息指示所述第一信息的长度;
或者,所述授权向量包括比特位图,所述比特位图指示承载所述第一信息的字段。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述令牌描述还包括有效期和以下至少一项:检查策略、颁发者标识、密码套件、或排除信息;
其中,所述有效期指示所述第一令牌的有效期限;所述检查策略指示是否信任目标资源的请求方;所述颁发者标识指示所述授权服务器;所述密码套件指示所述目标混淆电路对应的密码散列函数的相关信息;所述排除信息指示所述客户端设备的请求报文中禁止携带的信息。
11.根据权利要求10所述的方法,其特征在于,所述请求报文为完整请求报文的起始分段时,所述禁止携带的信息为请求结束符;
或者,所述请求报文为完整请求报文的末尾分段时,所述禁止携带的信息为请求信息;
或者,所述请求报文为完整请求报文时,所述排除信息指示禁止携带多个请求信息和多个请求结束符。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述方法还包括:
所述授权服务器向所述客户端设备发送第二令牌和/或第三令牌;所述第二令牌用于所述客户端设备的传输控制协议TCP连接建立过程,所述第三令牌用于所述客户端设备的安全传输连接建立过程。
13.一种加密流量的访问控制方法,其特征在于,所述方法包括:
网关设备接收来自客户端设备的请求报文,所述请求报文包括第一令牌和第一信息,所述第一令牌包括令牌描述和第一授权码,所述令牌描述包括授权向量,所述授权向量指示所述第一信息,所述第一信息包括对第一子信息进行加密后得到的加密信息;
所述网关设备根据所述令牌描述、所述第一信息、以及密码散列函数生成第二授权码;
所述第二授权码与所述第一授权码相同时,所述网关设备向数据服务器转发所述请求报文。
14.根据权利要求13所述的方法,其特征在于,所述授权向量包括偏移值和长度信息,所述偏移值指示所述第一信息的起始位置,所述长度信息指示所述第一信息的长度;
或者,所述授权向量包括比特位图,所述比特位图指示承载所述第一信息的字段。
15.根据权利要求13或14所述的方法,其特征在于,所述第一子信息包括目标资源对应的授权请求起始符和/或请求结束符;所述第一子信息的长度为目标加密算法的加密分组长度的整数倍,所述目标加密算法用于加密所述第一子信息;所述目标资源为所述客户端设备待访问的资源。
16.根据权利要求15所述的方法,其特征在于,所述授权请求起始符包括请求信息和所述目标资源的部分或全部统一资源定位符URL前缀,所述请求信息指示与所述目标资源相关的操作。
17.根据权利要求14-16任一项所述的方法,其特征在于,所述第一信息还包括以下至少一项:目标资源对应的网络层信息、传输层信息、安全传输记录层信息、请求方描述信息、或响应方描述信息。
18.根据权利要求17所述的方法,其特征在于,所述网络层信息包括源互联网协议IP地址和目的IP地址;
所述传输层信息包括目的端口,或者,包括目的端口和源端口;
所述安全传输记录层信息指示负载的类型;
所述请求方描述信息包括以下至少一项:所述请求方的身份信息、所述请求方的状态信息、所述请求方的组标识、所述请求方的安全等级、或所述请求方所处网络的网络类型;
所述响应方描述信息包括以下至少一项:所述响应方的组标识、所述响应方的安全等级、或所述响应方所处网络的网络类型。
19.根据权利要求14-18任一项所述的方法,其特征在于,所述令牌描述还包括有效期和以下至少一项:检查策略、颁发者标识、密码套件、或排除信息;
其中,所述有效期指示所述第一令牌的有效期限;所述检查策略指示是否信任目标资源的请求方;所述颁发者标识指示授权服务器;所述密码套件指示所述密码散列函数的相关信息;所述排除信息指示所述请求报文中禁止携带的信息。
20.根据权利要求19所述的方法,其特征在于,所述方法还包括:
所述网关设备根据所述所述第一令牌的有效期限,确定所述第一令牌未过期。
21.根据权利要求19或20所述的方法,其特征在于,所述方法还包括:
所述网关设备根据所述检查策略确定信任所述目标资源的请求方;
或者,所述网关设备根据所述检查策略确定不信任所述目标资源的请求方,并根据所述排除信息确定所述请求报文合法。
22.根据权利要求21所述的方法,其特征在于,所述根据所述排除信息确定所述请求报文合法,包括:所述请求报文不携带所述禁止携带的信息时,确定所述请求报文合法。
23.根据权利要求19-22任一项所述的方法,其特征在于,
所述排除信息为第二数值时,所述禁止携带的信息为所述请求结束符;
所述排除信息为第三数值时,所述禁止携带的信息为所述请求信息;
所述排除信息为第五数值时,指示禁止携带多个所述请求信息和多个所述请求结束符。
24.一种加密流量的访问控制方法,其特征在于,所述方法包括:
客户端设备向授权服务器发送令牌申请信息,所述令牌申请信息用于申请令牌;
所述客户端设备获取第一令牌的令牌描述、目标混淆电路、和所述初始向量对应的标签集合,所述令牌描述包括授权向量,所述授权向量指示第一信息,所述第一信息包括对第一子信息进行加密后得到的加密信息,所述初始向量用于加密所述第一子信息;
所述客户端设备根据所述初始向量对应的标签集合确定第一初始向量的标签,并将所述第一初始向量的标签输入所述目标混淆电路,得到所述第一令牌的第一授权码;
所述客户端设备发送请求报文,所述请求报文包括所述第一令牌和所述第一信息。
25.根据权利要求24所述的方法,其特征在于,所述目标混淆电路由以下至少一项确定:所述令牌描述、所述第一子信息、第二子信息、目标秘钥、目标加密算法、或密码散列函数,所述第二子信息为所述第一信息中的明文信息。
26.根据权利要求24或25所述的方法,其特征在于,所述第一子信息包括目标资源对应的授权请求起始符和/或请求结束符;所述第一子信息的长度为所述目标加密算法的加密分组长度的整数倍;所述目标资源为所述客户端设备待访问的资源。
27.根据权利要求26所述的方法,其特征在于,所述授权请求起始符包括请求信息和所述目标资源的部分或全部统一资源定位符URL前缀,所述请求信息指示与所述目标资源相关的操作。
28.根据权利要求25-27任一项所述的方法,其特征在于,所述第二子信息包括以下至少一项:目标资源对应的网络层信息、传输层信息、安全传输记录层信息、请求方描述信息、或响应方描述信息。
29.根据权利要求28所述的方法,其特征在于,所述网络层信息包括源互联网协议IP地址和目的IP地址;
所述传输层信息包括目的端口,或者,包括目的端口和源端口;
所述安全传输记录层信息指示负载的类型;
所述请求方描述信息包括以下至少一项:所述请求方的身份信息、所述请求方的状态信息、所述请求方的组标识、所述请求方的安全等级、或所述请求方所处网络的网络类型;
所述响应方描述信息包括以下至少一项:所述响应方的组标识、所述响应方的安全等级、或所述响应方所处网络的网络类型。
30.根据权利要求24-29任一项所述的方法,其特征在于,所述授权向量包括偏移值和长度信息,所述偏移值指示所述第一信息的起始位置,所述长度信息指示所述第一信息的长度;
或者,所述授权向量包括比特位图,所述比特位图指示承载所述第一信息的字段。
31.根据权利要求24-30任一项所述的方法,其特征在于,所述客户端设备获取第一令牌的令牌描述和目标混淆电路,包括:
所述客户端设备根据目标资源对应的授权请求起始符、以及授权请求起始符和令牌描述的对应关系,查找所述第一令牌的令牌描述;
所述客户端设备根据所述目标资源对应的授权请求起始符、以及授权请求起始符和混淆电路的对应关系,查找所述目标混淆电路。
32.根据权利要求24-31任一项所述的方法,其特征在于,所述令牌描述还包括有效期和以下至少一项:检查策略、颁发者标识、密码套件、或排除信息;
其中,所述有效期指示所述第一令牌的有效期限;所述检查策略指示是否信任目标资源的请求方;所述颁发者标识指示所述授权服务器;所述密码套件指示所述目标混淆电路对应的密码散列函数的相关信息;所述排除信息指示禁止所述请求报文携带的信息。
33.根据权利要求32所述的方法,其特征在于,所述请求报文为完整请求报文的起始分段时,所述禁止携带的信息为请求结束符;
或者,所述请求报文为完整请求报文的末尾分段时,所述禁止携带的信息为请求信息;
或者,所述请求报文为完整请求报文时,所述排除信息指示禁止携带多个请求信息和多个请求结束符。
34.根据权利要求25-29任一项所述的方法,其特征在于,所述令牌申请信息包括以下至少一项:目标资源对应的网络层信息、传输层信息、应用层信息、请求方描述信息、所述目标秘钥、冗余信息、初始向量的长度、或需求信息;
所述冗余信息用于构造所述第一子信息;所述应用层信息包括以下至少一项:所述目标资源的URL、请求信息、或请求结束符;所述需求信息指示以下至少一项:期望的令牌使用时长、或完整请求报文是否分段。
35.一种通信装置,其特征在于,所述通信装置包括:处理器和存储器;
所述存储器,用于存储计算机程序或指令;
所述处理器,用于执行所述计算机程序或指令,以实现如权利要求1-12任一项所述的方法,或者,以实现如权利要求13-23任一项所述的方法。
36.一种通信装置,其特征在于,所述通信装置包括:处理器和存储器;
所述存储器,用于存储计算机程序或指令;
所述处理器,用于执行所述计算机程序或指令,以实现如权利要求24-34任一项所述的方法。
37.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被通信装置执行时,如权利要求1-12任一项所述的方法被实现,或者,如权利要求13-23任一项所述的方法被实现。
38.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被通信装置执行时,如权利要求24-34任一项所述的方法被实现。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111289743.1A CN116074028A (zh) | 2021-11-02 | 2021-11-02 | 加密流量的访问控制方法、装置及系统 |
PCT/CN2022/126777 WO2023078106A1 (zh) | 2021-11-02 | 2022-10-21 | 加密流量的访问控制方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111289743.1A CN116074028A (zh) | 2021-11-02 | 2021-11-02 | 加密流量的访问控制方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116074028A true CN116074028A (zh) | 2023-05-05 |
Family
ID=86177322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111289743.1A Pending CN116074028A (zh) | 2021-11-02 | 2021-11-02 | 加密流量的访问控制方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116074028A (zh) |
WO (1) | WO2023078106A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117938544A (zh) * | 2024-03-19 | 2024-04-26 | 杭州海康威视数字技术股份有限公司 | 流量控制方法、装置及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101817152B1 (ko) * | 2015-08-11 | 2018-02-21 | 한국전자통신연구원 | 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법 |
CN111865603A (zh) * | 2016-09-05 | 2020-10-30 | 华为技术有限公司 | 认证方法、认证装置和认证系统 |
CN111586023B (zh) * | 2020-04-30 | 2022-05-31 | 广州市百果园信息技术有限公司 | 一种认证方法、设备和存储介质 |
CN111639325B (zh) * | 2020-05-28 | 2023-09-19 | 中国建设银行股份有限公司 | 基于开放平台的商户认证方法、装置、设备和存储介质 |
CN111756737B (zh) * | 2020-06-24 | 2023-10-13 | 中国平安财产保险股份有限公司 | 数据传输方法、装置、系统、计算机设备及可读存储介质 |
-
2021
- 2021-11-02 CN CN202111289743.1A patent/CN116074028A/zh active Pending
-
2022
- 2022-10-21 WO PCT/CN2022/126777 patent/WO2023078106A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117938544A (zh) * | 2024-03-19 | 2024-04-26 | 杭州海康威视数字技术股份有限公司 | 流量控制方法、装置及设备 |
CN117938544B (zh) * | 2024-03-19 | 2024-06-07 | 杭州海康威视数字技术股份有限公司 | 流量控制方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2023078106A1 (zh) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9935954B2 (en) | System and method for securing machine-to-machine communications | |
CN106209749B (zh) | 单点登录方法及装置、相关设备和应用的处理方法及装置 | |
JP6612358B2 (ja) | ネットワークアクセスデバイスをワイヤレスネットワークアクセスポイントにアクセスさせるための方法、ネットワークアクセスデバイス、アプリケーションサーバ、および不揮発性コンピュータ可読記憶媒体 | |
US9197420B2 (en) | Using information in a digital certificate to authenticate a network of a wireless access point | |
US9219722B2 (en) | Unclonable ID based chip-to-chip communication | |
US8683607B2 (en) | Method of web service and its apparatus | |
US11303431B2 (en) | Method and system for performing SSL handshake | |
US10257171B2 (en) | Server public key pinning by URL | |
CN112231692A (zh) | 安全认证方法、装置、设备及存储介质 | |
JP2013504832A (ja) | 信頼できる認証およびログオンのための方法および装置 | |
WO2023065969A1 (zh) | 访问控制方法、装置及系统 | |
EP4412152A1 (en) | Authentication method and communication apparatus | |
CN112968910B (zh) | 一种防重放攻击方法和装置 | |
CN112118242A (zh) | 零信任认证系统 | |
CN115603932A (zh) | 一种访问控制方法、访问控制系统及相关设备 | |
WO2023078106A1 (zh) | 加密流量的访问控制方法、装置及系统 | |
Buschsieweke et al. | Securing critical infrastructure in smart cities: Providing scalable access control for constrained devices | |
US20210195418A1 (en) | A technique for authenticating data transmitted over a cellular network | |
JP2017139026A (ja) | 信頼できる認証およびログオンのための方法および装置 | |
KR20170111809A (ko) | 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법 | |
JP2015111440A (ja) | 信頼できる認証およびログオンのための方法および装置 | |
A Khaleel | Analysis and implementation of kerberos protocol in hybrid cloud computing environments | |
RU2282311C2 (ru) | Использование пары открытых ключей в оконечном устройстве для аутентификации и авторизации пользователя телекоммуникационной сети по отношению к сетевому провайдеру и деловым партнерам | |
Tewolde | Comparison of authentication options forMQTT communication in an IoT basedsmart grid solution | |
CN114697065B (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 |