CN114338076A - Distributed cross-device access control method and device suitable for smart home environment - Google Patents
Distributed cross-device access control method and device suitable for smart home environment Download PDFInfo
- Publication number
- CN114338076A CN114338076A CN202111334887.4A CN202111334887A CN114338076A CN 114338076 A CN114338076 A CN 114338076A CN 202111334887 A CN202111334887 A CN 202111334887A CN 114338076 A CN114338076 A CN 114338076A
- Authority
- CN
- China
- Prior art keywords
- subject
- credential
- request
- access
- verification
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种适用于智能家居环境的分布式跨设备访问控制方法及装置,其中,方法包括:访问主体与被访问客体获取访问控制规则;主体与客体建立连接,主体发送连接请求,客体对其身份和权限进行合法性验证通过后,向主体发送访问验证凭证和更新凭证;主体接收后向客体发送携带有访问验证凭证的请求,同时在请求包内加入随机数;客体对访问验证凭证及随机数进行合法与有效性验证通过后,执行请求的内容,并向主体返回请求结果;在访问验证凭证过期时,主体向客体发送更新凭证,同时发送随机数;在更新凭证及随机数的合法性与有效性验证通过后,客体重新基于访问控制规则生成新的访问验证凭证和与之对应的更新凭证;主体将原有的访问验证凭证和更新凭证进行替换,以进行后续请求。由此,可有效加强智能家居跨设备通信的安全性,防止恶意设备的连接和恶意应用的请求。
The present application discloses a distributed cross-device access control method and device suitable for a smart home environment, wherein the method includes: an access subject and an accessed object obtain access control rules; the subject and the object establish a connection, the subject sends a connection request, and the object After passing the legality verification of its identity and authority, it sends the access verification certificate and update certificate to the subject; after the subject receives it, it sends a request with the access verification certificate to the object, and adds random numbers to the request packet; After the validity and validity of the random number are verified, the content of the request is executed, and the request result is returned to the subject; when the access verification certificate expires, the subject sends the update certificate to the object, and sends the random number at the same time; After the validity and validity verification is passed, the object generates a new access verification credential and a corresponding update credential based on the access control rules; the subject replaces the original access verification credential and update credential for subsequent requests. Therefore, the security of the cross-device communication of the smart home can be effectively enhanced, and the connection of malicious devices and the request of malicious applications can be prevented.
Description
技术领域technical field
本申请涉及访问控制技术领域,特别涉及一种适用于智能家居环境的分布式跨设备访问控制方法及装置。The present application relates to the technical field of access control, and in particular, to a distributed cross-device access control method and device suitable for a smart home environment.
背景技术Background technique
跨设备信号传输使得用户可以通过操作本地设备上的应用来控制远程设备,提高了智能家居的便利性和智能化水平,但与此同时,跨设备信号传输也存在许多安全问题,一方面,需要验证设备身份和传输内容的合法性,另一方面,需要保证传输过程的可靠性。Cross-device signal transmission allows users to control remote devices by operating applications on local devices, which improves the convenience and intelligence of smart homes, but at the same time, cross-device signal transmission also has many security issues. Verifying the device identity and the legitimacy of the transmitted content, on the other hand, needs to ensure the reliability of the transmission process.
访问控制是用于保证访问主体对客体进行合法访问的一种技术,一个访问控制方案的实现需要访问控制架构与访问控制策略的参与,分别提供结构上和逻辑上的支持。Access control is a technology used to ensure that the access subject has legal access to the object. The implementation of an access control scheme requires the participation of an access control framework and an access control strategy, which provide structural and logical support respectively.
访问控制架构可分为两类:集中式架构(Centralized Approach)和分布式架构(Distributed Approach)。集中式架构由一个中心服务器做身份认证与授权工作,如图1所示。在智能家居环境下,中心服务器需要掌握大量的用户隐私信息,客体设备只作为消息接收方,存在极大的单点故障(single point of failure-SPOF)威胁,故目前考虑更多的是分布式架构。分布式架构的结构如图2所示,不需要第三方服务的参与,访问控制的逻辑被直接嵌入到客体设备中,由客体终端进行认证与授权。分布式架构解决了集中式架构存在的问题,同时实现了主体设备与客体设备的双向通信,有利于对跨设备通信安全进行监管与保护。Access control architecture can be divided into two categories: centralized architecture (Centralized Approach) and distributed architecture (Distributed Approach). In the centralized architecture, a central server does the authentication and authorization work, as shown in Figure 1. In the smart home environment, the central server needs to master a large amount of user privacy information, and the object device only acts as a message receiver, and there is a great threat of single point of failure (SPOF), so the current consideration is more distributed Architecture. The structure of the distributed architecture is shown in Figure 2. The participation of third-party services is not required. The logic of access control is directly embedded in the object device, and the object terminal performs authentication and authorization. The distributed architecture solves the problems of the centralized architecture, and at the same time realizes the two-way communication between the main device and the object device, which is conducive to the supervision and protection of cross-device communication security.
主流的访问控制策略有以下四种:自主访问控制(Discretionary AccessControl-DAC),强制访问控制(Mandatory Access Control-MAC),基于角色的访问控制(Role-based Access Control-RBAC),基于属性的访问控制(Attribute-based AccessControl-ABAC)。由于智能家居设备和场景的复杂多样,而DAC和MAC的访问控制策略不够灵活,目前得到应用的是RBAC和ABAC两种策略。然而,RBAC和ABAC依赖于大量预先制定好的规则(Policy)、身份(Role)和属性(Attribute)信息,在分布式访问控制架构下,对IoT中计算能力和存储资源有限的弱设备并不友好。近年来,基于能力的访问控制(Capability-basedAccess Control)开始被逐渐完善与应用,这种策略使用了凭证(token)的概念,一个token能够描述一个实体的身份和权限信息,这些信息又被称为Capability。当主体访问客体时,主体发送带有token的请求,访问控制不再需要进行身份、属性或规则的认证,仅通过验证token的合法性即可实现对主体访问权限的验证。There are four mainstream access control strategies: Discretionary Access Control-DAC, Mandatory Access Control-MAC, Role-based Access Control-RBAC, and Attribute-Based Access. Control (Attribute-based AccessControl-ABAC). Due to the complexity and variety of smart home devices and scenarios, and the access control policies of DAC and MAC are not flexible enough, two policies, RBAC and ABAC, are currently applied. However, RBAC and ABAC rely on a large number of pre-established rules (Policy), identity (Role) and attribute (Attribute) information. Under the distributed access control architecture, weak devices with limited computing power and storage resources in IoT are not required. friendly. In recent years, Capability-based Access Control (Capability-based Access Control) has been gradually improved and applied. This strategy uses the concept of a token. A token can describe the identity and authority information of an entity. This information is also called for Capability. When the subject accesses the object, the subject sends a request with a token, and access control no longer requires authentication of identity, attributes or rules, and the access authority of the subject can be verified only by verifying the legitimacy of the token.
在基于Capability的分布式访问控制方案中,由于访问控制覆盖不全面、验证机制存在漏洞或验证信息容易被伪造等因素,其中存在诸多安全问题,主要可分为以下两类:In the distributed access control scheme based on Capability, due to factors such as incomplete access control coverage, loopholes in the verification mechanism, or easy forgery of verification information, there are many security problems, which can be mainly divided into the following two categories:
来自恶意设备的攻击。该类攻击归因于两个设备建立连接前身份验证的不足,即对token的合法性没有进行及时的判断。Attacks from malicious devices. This type of attack is attributed to the lack of authentication before the two devices establish a connection, that is, there is no timely judgment on the legitimacy of the token.
来自可信设备上恶意应用的攻击。该类攻击归因于两个设备建立连接后权限验证的不足,即对token的合法性没有进行有效的判断。Attacks from malicious apps on trusted devices. This type of attack is attributed to the lack of permission verification after the two devices establish a connection, that is, there is no effective judgment on the legitimacy of the token.
针对基于Capability的分布式访问控制方案存在的安全问题,token的定义方式、管理模式与验证机制十分关键,而目前很少有工作能够给出一套符合需求的完整访问控制方案。Aiming at the security problems existing in the distributed access control scheme based on Capability, the definition method, management mode and verification mechanism of token are very critical. At present, there is very little work that can provide a complete set of access control scheme that meets the requirements.
发明内容SUMMARY OF THE INVENTION
本申请提供一种适用于智能家居环境的分布式跨设备访问控制方法及装置,以解决相关技术中由于访问控制覆盖不全面、验证机制存在漏洞或验证信息容易被伪造等原因带来的安全问题。The present application provides a distributed cross-device access control method and device suitable for a smart home environment, so as to solve the security problems in the related art due to incomplete access control coverage, loopholes in the verification mechanism, or easy forgery of verification information. .
本申请第一方面实施例提供一种适用于智能家居环境的分布式跨设备访问控制方法,应用于智能家居环境,包括以下步骤:The embodiment of the first aspect of the present application provides a distributed cross-device access control method applicable to a smart home environment, which is applied to a smart home environment and includes the following steps:
步骤S1:控制主体与客体从云端获取规定进程所具备的权限信息的访问控制规则,并基于所述访问控制规则对请求的发送和响应进行限制,其中,所述主体与所述客体在本地分别持有一个用于标识数据包的正整数counter;Step S1: The control subject and the object obtain the access control rules of the authority information possessed by the specified process from the cloud, and restrict the sending and response of the request based on the access control rules, wherein the subject and the object are respectively local. Holds a positive integer counter used to identify the packet;
步骤S2:控制所述主体与所述客体建立连接,其中,当所述主体与所述客体首次进行通信时,所述主体先发送连接请求,所述客体验证所述主体的身份及主体权限的合法性,若合法,则建立连接的同时,所述客体基于所述访问控制规则生成第一预设时长内有效的访问验证凭证和第二预设时长内有效的更新凭证,以一同返回至所述主体,其中,所述第二预设时长大于所述第一预设时长;Step S2: control the subject to establish a connection with the object, wherein, when the subject communicates with the object for the first time, the subject first sends a connection request, and the object verifies the identity of the subject and the authority of the subject. Validity, if it is valid, while establishing the connection, the object generates an access verification credential valid within the first preset duration and an update credential valid within the second preset duration based on the access control rule, to return to the destination together. the main body, wherein the second preset duration is greater than the first preset duration;
步骤S3:在所述主体接收并存储所述访问验证凭证和所述更新凭证后,向所述客体发送携带有所述访问验证凭证的请求,同时在所述请求包内加入所述正整数counter;Step S3: After the subject receives and stores the access verification credential and the update credential, a request carrying the access verification credential is sent to the object, and the positive integer counter is added to the request packet at the same time. ;
步骤S4:在所述客体验证所述主体发送的访问验证凭证的合法性与有效性后,若合法且有效,则执行所述请求的请求内容,并向所述主体返回请求结果;若不合法,则拒绝所述请求,报错并结束通信;以及,若合法但超过所述第一预设时长,则向所述主体返回凭证过期错误,且继续执行下述步骤;Step S4: After the object verifies the legitimacy and validity of the access verification credential sent by the subject, if it is legal and valid, execute the request content of the request, and return the request result to the subject; , then reject the request, report an error and end the communication; and, if it is legal but exceeds the first preset duration, return a credential expiration error to the subject, and continue to perform the following steps;
步骤S5:在所述主体收到所述凭证过期错误后,向所述客体发送与过期的所述访问验证凭证匹配的所述更新凭证,同时发送所述正整数counter;Step S5: after the subject receives the credential expiration error, it sends the updated credential matching the expired access verification credential to the object, and simultaneously sends the positive integer counter;
步骤S6:在所述客体验证所述更新凭证的合法性与有效性后,同时检验所述正整数counter的一致性,若不合法,则拒绝请求,报错并结束通信;若合法,则所述客体重新基于所述访问控制规则生成新的访问验证凭证和与之对应的更新凭证,返回给所述主体;Step S6: After the object verifies the validity and validity of the updated credential, the consistency of the positive integer counter is checked at the same time. If it is invalid, the request is rejected, an error is reported and the communication is terminated; The object regenerates a new access verification credential and a corresponding update credential based on the access control rule, and returns it to the subject;
步骤S7:在所述主体接收并覆盖存储新的访问验证凭证和与之对应的更新凭证后,重新执行所述步骤S3。Step S7: After the subject receives and overwrites the storage of the new access verification credential and the corresponding update credential, the step S3 is re-executed.
根据本申请的实施例,还包括:对所述云端的访问控制规则进行更新时,同时更新所述主体与所述客体的访问控制规则。According to the embodiment of the present application, the method further includes: updating the access control rules of the subject and the object at the same time when updating the access control rules of the cloud.
根据本申请的实施例,所述正整counter是一个随机整数,存储在所述主体和所述客体,初始值为0,每一次通信结束,所述主体和所述客体均把自己的counter值加一,以同步更新counter数值。According to the embodiment of the present application, the positive integer counter is a random integer, which is stored in the subject and the object, and the initial value is 0. After each communication ends, the subject and the object both use their own counter values. Add one to update the counter value synchronously.
根据本申请的实施例,在所述步骤S2之前,还包括:通过所述客体对所述主体的身份合法性以及请求权限合法性进行验证,验证通过后建立所述主体与所述客体间的连接。According to the embodiment of the present application, before the step S2, the method further includes: verifying the legality of the subject's identity and the legality of the requested authority by using the object, and establishing a relationship between the subject and the object after the verification is passed. connect.
根据本申请的实施例,所述步骤S3进一步包括:所述主体将所述访问验证凭证和与之对应的更新凭证存储在本地,且所述访问验证凭证的数据包经过所述主体端的代理,使用HMAC算法加密,并加入所述正整数counter后发送,所述正整数counter的值由0开始基于数据包自增。According to the embodiment of the present application, the step S3 further includes: the subject stores the access verification credential and the corresponding update credential locally, and the data packet of the access verification credential passes through the agent of the subject side, It is encrypted using the HMAC algorithm, and sent after adding the positive integer counter. The value of the positive integer counter starts from 0 and increases automatically based on the data packet.
根据本申请的实施例,在所述客体对所述正整数counter验证时,数据包内的counter值与本地存储的counter值保持一致。According to the embodiment of the present application, when the object verifies the positive integer counter, the counter value in the data packet is consistent with the locally stored counter value.
根据本申请的实施例,还包括:通过主体端透明代理进行所述主体所有通信的数据包的发送或接收以及数据包的验证;通过客体端透明代理进行所述客体所有通信的数据包的发送或接收以及数据包的验证。According to the embodiment of the present application, the method further includes: sending or receiving data packets of all communications of the subject and verifying the data packets through a transparent proxy on the subject side; sending data packets of all communications of the object through a transparent proxy on the object side Or receive and validate the packet.
本申请第二方面实施例提供一种适用于智能家居环境的分布式跨设备访问控制装置,应用于智能家居环境,包括:The embodiment of the second aspect of the present application provides a distributed cross-device access control device suitable for a smart home environment, which is applied to a smart home environment, including:
准备模块,用于控制主体与客体从云端获取规定进程所具备的权限信息的访问控制规则,并基于所述访问控制规则对请求的发送和响应进行限制,其中,所述主体与所述客体在本地分别持有一个用于标识数据包的正整数counter;The preparation module is used to control the access control rules for the subject and the object to obtain the permission information of the specified process from the cloud, and restrict the sending and response of the request based on the access control rules, wherein the subject and the object are in the Each local holds a positive integer counter used to identify the data packet;
连接建立模块,用于控制所述主体与所述客体建立连接,其中,当所述主体与所述客体首次进行通信时,所述主体先发送连接请求,所述客体验证所述主体的身份及主体权限的合法性,若合法,则建立连接的同时,所述客体基于所述访问控制规则生成第一预设时长内有效的访问验证凭证和第二预设时长内有效的更新凭证,以一同返回至所述主体,其中,所述第二预设时长大于所述第一预设时长;A connection establishment module is used to control the subject to establish a connection with the object, wherein, when the subject communicates with the object for the first time, the subject first sends a connection request, and the object verifies the identity of the subject and the object. The legitimacy of the subject authority, if it is legitimate, the object generates an access verification credential valid within the first preset duration and an update credential valid for the second preset duration based on the access control rule at the same time as the connection is established, so as to Returning to the main body, wherein the second preset duration is greater than the first preset duration;
第一请求模块,用于在所述主体接收并存储所述访问验证凭证和所述更新凭证后,向所述客体发送携带有所述访问验证凭证的请求,同时在所述请求包内加入所述正整数counter;The first request module is configured to send a request carrying the access verification credential to the object after the subject receives and stores the access verification credential and the update credential, and at the same time adds all the access verification credentials to the request package. the positive integer counter;
第一验证模块,用于在所述客体验证所述主体发送的访问验证凭证的合法性与有效性后,若合法且有效,则执行所述请求的请求内容,并向所述主体返回请求结果;若不合法,则拒绝所述请求,报错并结束通信;以及,若合法但超过所述第一预设时长,则向所述主体返回凭证过期错误,且继续执行下述步骤;The first verification module is used to execute the request content of the request and return the request result to the subject after the object verifies the legality and validity of the access verification credential sent by the subject, if it is legal and valid ; If it is not legal, reject the request, report an error and end the communication; and, if legal but exceed the first preset time period, return a credential expiration error to the subject, and continue to perform the following steps;
第二请求模块,用于在所述主体收到所述凭证过期错误后,向所述客体发送与过期的所述访问验证凭证匹配的所述更新凭证,同时发送所述正整数counter;a second request module, configured to send the updated credential matching the expired access verification credential to the object after the subject receives the credential expiration error, and simultaneously send the positive integer counter;
第二验证模块,用于在所述客体验证所述更新凭证的合法性与有效性后,同时检验所述正整数counter的一致性,若不合法,则拒绝请求,报错并结束通信;若合法,则所述客体重新基于所述访问控制规则生成新的访问验证凭证和与之对应的更新凭证,返回给所述主体;The second verification module is used to check the consistency of the positive integer counter after the object verifies the validity and validity of the updated credential. If it is invalid, reject the request, report an error and end the communication; , then the object regenerates a new access verification credential and a corresponding update credential based on the access control rule, and returns it to the subject;
更新模块,用于在所述主体接收并覆盖存储新的访问验证凭证和与之对应的更新凭证后,重新执行所述第一请求模块的功能。The update module is configured to re-execute the function of the first request module after the subject receives and overwrites and stores the new access verification credential and the update credential corresponding to it.
本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序。所述处理器执行所述程序,能够实现如上述实施例所述的适用于智能家居环境的分布式跨设备访问控制方法。An embodiment of a third aspect of the present application provides an electronic device, including: a memory, a processor, and a computer program stored on the memory and executable on the processor. The processor executes the program, and can implement the distributed cross-device access control method applicable to the smart home environment as described in the foregoing embodiments.
本申请第四方面实施例提供一种计算机可读存储介质。所述计算机可读存储介质能够存储计算机指令,所述计算机指令用于使所述计算机执行如上述实施例所述的适用于智能家居环境的分布式跨设备访问控制方法。Embodiments of the fourth aspect of the present application provide a computer-readable storage medium. The computer-readable storage medium can store computer instructions for causing the computer to execute the distributed cross-device access control method suitable for a smart home environment as described in the above embodiments.
本申请实施例的适用于智能家居环境的分布式跨设备访问控制方法及装置,具有以下有益效果:The distributed cross-device access control method and device applicable to the smart home environment according to the embodiments of the present application have the following beneficial effects:
本申请的分布式访问控制方案,基于访问认证凭证对每一个数据包进行认证,摆脱了访问控制对第三方服务或规则数据集的依赖,增大了对每一个通信数据包的监控力度,同时又降低了IoT设备进行访问控制的资源开销。访问验证凭证与更新凭证并行的方式能够避免访问验证凭证一经发出就永久有效而带来的安全隐患,也避免了用户频繁的授权认证。利用代理对数据包进行加密与转发,解决了跨设备通信时通信双方在认证之前就建立连接而带来的安全问题,同时隐藏了设备进程的实际端口与内部细节,避免了利用暴露的端口造成的攻击。The distributed access control scheme of the present application authenticates each data packet based on the access authentication credential, gets rid of the dependence of access control on third-party services or rule data sets, increases the monitoring of each communication data packet, and at the same time It also reduces the resource overhead of IoT devices for access control. The parallel approach of access verification credential and update credential can avoid the potential security risks caused by the permanent validity of the access verification credential once issued, and avoid frequent authorization and authentication by users. The proxy is used to encrypt and forward data packets, which solves the security problem caused by establishing a connection before authentication between the two parties during cross-device communication. s attack.
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。Additional aspects and advantages of the present application will be set forth, in part, in the following description, and in part will be apparent from the following description, or learned by practice of the present application.
附图说明Description of drawings
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:The above and/or additional aspects and advantages of the present application will become apparent and readily understood from the following description of embodiments taken in conjunction with the accompanying drawings, wherein:
图1为集中式访问控制架构的示意图;1 is a schematic diagram of a centralized access control architecture;
图2为分布式访问控制架构的示意图;2 is a schematic diagram of a distributed access control architecture;
图3为根据本申请实施例提供的一种适用于智能家居环境的分布式跨设备访问控制方法的流程图;3 is a flowchart of a distributed cross-device access control method suitable for a smart home environment provided according to an embodiment of the present application;
图4为根据本申请实施例提供的初始访问与访问验证的实施机制示意图;4 is a schematic diagram of an implementation mechanism of initial access and access verification provided according to an embodiment of the present application;
图5为根据本申请实施例提供的超时访问与访问验证的实施机制示意图;5 is a schematic diagram of an implementation mechanism of timeout access and access verification provided according to an embodiment of the present application;
图6为根据本申请实施例提供的丢包/重传访问与访问验证的实施机制示意图;6 is a schematic diagram of an implementation mechanism of packet loss/retransmission access and access verification provided according to an embodiment of the present application;
图7为根据本申请实施例的适用于智能家居环境的分布式跨设备访问控制装置的示例图;7 is an exemplary diagram of a distributed cross-device access control device suitable for a smart home environment according to an embodiment of the present application;
图8为根据本申请实施例的电子设备示意图。FIG. 8 is a schematic diagram of an electronic device according to an embodiment of the present application.
具体实施方式Detailed ways
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。Embodiments of the present application are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals refer to the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary, and are intended to be used to explain the present application, but should not be construed as a limitation to the present application.
可申请的框架包括主体和主体两个实体,其中主体为请求的发送端,请求访问权限并发送相应的凭证;客体为请求的接收端,即资源的提供者或指令的执行者,负责凭证的验证。在本申请的后续描述中,Access Token(AT)表示进程对应的访问验证凭证;RefreshToken(RT)表示进程对应的更新凭证;Proxy表示部署在主客体端的代理。The framework that can be applied includes two entities: the subject and the subject. The subject is the sender of the request, which requests access rights and sends the corresponding credentials; the object is the receiver of the request, that is, the provider of the resource or the executor of the instruction, responsible for the credentials. verify. In the subsequent description of this application, Access Token (AT) represents the access verification credential corresponding to the process; RefreshToken (RT) represents the update credential corresponding to the process; Proxy represents the proxy deployed on the subject and the object.
散列消息认证码(Hash-based message authentication code,HMAC),是一种通过特别计算方式之后产生的消息认证码(MAC),使用密码散列函数,同时结合一个加密密钥。它可以用来保证资料的完整性,同时可以用来作某个消息的身份验证。HMAC的运算公式为:HMAC(K,m)=H((K'⊕opad||H((K'⊕ipad)||text)),其中,H为密码散列函数(如SHA家族),K为密钥(secret key),text是要认证的消息,K'是从原始密钥K导出的另一个秘密密钥(如果K短于散列函数的输入块大小,则向右填充(Padding)零;如果比该块大小更长,则对K进行散列),||代表串接,⊕代表异或(XOR),opad是外部填充(0x5c5c5c…5c5c,一段十六进制常量),ipad是内部填充(0x363636…3636,一段十六进制常量)。Hash-based message authentication code (HMAC) is a message authentication code (MAC) generated after a special calculation method, using a cryptographic hash function, combined with an encryption key. It can be used to ensure the integrity of data, and can be used for authentication of a message. The operation formula of HMAC is: HMAC(K,m)=H((K'⊕opad||H((K'⊕ipad)||text)), where H is a cryptographic hash function (such as SHA family), K is the secret key, text is the message to be authenticated, and K' is another secret key derived from the original key K (padding to the right if K is shorter than the input block size of the hash function). ) zero; if longer than the block size, hash K), || stands for concatenation, ⊕ stands for exclusive-or (XOR), opad is external padding (0x5c5c5c...5c5c, a hexadecimal constant), The ipad is filled internally (0x363636...3636, a hexadecimal constant).
图3为根据本申请实施例提供的一种适用于智能家居环境的分布式跨设备访问控制方法的流程图。FIG. 3 is a flowchart of a distributed cross-device access control method suitable for a smart home environment according to an embodiment of the present application.
如图3所示,该适用于智能家居环境的分布式跨设备访问控制方法,应用于智能家居环境,包括以下步骤:As shown in FIG. 3 , the distributed cross-device access control method suitable for a smart home environment, applied to a smart home environment, includes the following steps:
步骤S1:控制主体与客体从云端获取规定进程所具备的权限信息的访问控制规则,并基于访问控制规则对请求的发送和响应进行限制,其中,主体与客体在本地分别持有一个用于标识数据包的正整数counter。Step S1: The control subject and the object obtain the access control rules of the authority information of the specified process from the cloud, and restrict the sending and response of the request based on the access control rules, wherein the subject and the object respectively hold a local ID for identifying the access control rules. A positive integer counter for the packet.
在本申请的一个实施例中,对云端的访问控制规则进行更新时,同时更新主体与客体的访问控制规则。In an embodiment of the present application, when the access control rules of the cloud are updated, the access control rules of the subject and the object are updated at the same time.
具体地,主体与客体从云端获取访问控制规则,访问控制规则由运营商根据产品功能定义、用户根据个人需求利用UI界面授权,访问控制规则规定了进程所具备的权限信息,对请求的发送和响应进行限制。访问控制规则之间不存在冲突。访问控制规则一经生成就会被上传到云端,设备在初次访问时从云端下载规则到本地。云端的规则一旦发生更新,本地的规则就立刻也会被更新。Specifically, the subject and object obtain the access control rules from the cloud. The access control rules are defined by the operator according to the product function and authorized by the user through the UI interface according to the individual needs. Responses are limited. There are no conflicts between access control rules. Once the access control rules are generated, they will be uploaded to the cloud, and the device will download the rules from the cloud to the local when it is accessed for the first time. Once the rules in the cloud are updated, the local rules are also updated immediately.
主客体双方在本地分别持有一个正整数counter,用于标识数据包,实现防重放攻击。Both the host and the object hold a positive integer counter locally, which is used to identify the data packet and realize anti-replay attack.
步骤S2:控制主体与客体建立连接,其中,当主体与客体首次进行通信时,主体先发送连接请求,客体验证主体的身份及主体权限的合法性,若合法,则建立连接的同时,客体基于访问控制规则生成第一预设时长内有效的访问验证凭证Access Token和第二预设时长内有效的更新凭证Refresh Token,以一同返回至主体,其中,第二预设时长大于第一预设时长,更新凭证Refresh Token用来更新访问验证凭证Access Token。Step S2: Controlling the establishment of a connection between the subject and the object, wherein, when the subject and the object communicate for the first time, the subject first sends a connection request, and the object verifies the subject's identity and the legitimacy of the subject's authority. The access control rule generates an Access Token, an access verification credential valid for a first preset duration, and a Refresh Token, an update credential valid for a second preset duration, to return to the subject together, where the second preset duration is greater than the first preset duration , Refresh Credentials Refresh Token is used to update the access authentication credentials Access Token.
在本申请的一个实施例中,在步骤S2之前,还包括:通过客体对主体的身份合法性以及请求权限合法性进行验证,验证通过后建立主体与客体间的连接。In an embodiment of the present application, before step S2, the method further includes: verifying the validity of the subject's identity and the legality of the request authority through the object, and establishing a connection between the subject and the object after the verification is passed.
具体地,客体对主体的验证包括身份的合法性以及请求权限的合法性,验证由客体端的代理完成,发生在主客体实际进程建立连接之前,验证通过后连接才被建立起来。Access Token和Refresh Token由客体签发,均包含有效期信息以及通信双方身份信息,此外,Refresh Token还包含其对应的Access Token信息。Specifically, the verification of the subject by the object includes the legitimacy of the identity and the legitimacy of the request authority. The verification is completed by the agent of the object, which occurs before the actual process of the subject and the object establishes the connection, and the connection is established after the verification is passed. Access Token and Refresh Token are issued by the object, and both contain validity period information and identity information of both communication parties. In addition, Refresh Token also contains its corresponding Access Token information.
步骤S3:在主体接收并存储访问验证凭证Access Token和更新凭证RefreshToken后,向客体发送携带有访问验证凭证Access Token的请求,同时在请求包内加入正整数counter。Step S3: After the subject receives and stores the access verification credential Access Token and the update credential RefreshToken, a request carrying the access verification credential Access Token is sent to the object, and a positive integer counter is added to the request packet.
在本申请的实施例中,counter是一个随机整数,存储在主体和客体两方,初始值为0,每一次通信结束,主体和客体就都要把自己的counter加一,以此来保证同步更新counter数值。In the embodiment of this application, the counter is a random integer, which is stored in both the subject and the object. The initial value is 0. After each communication ends, the subject and the object must add one to their counter to ensure synchronization. Update the counter value.
进一步地,主体把访问验证凭证Access Token和更新凭证Refresh Token都存储在本地,但只发送访问验证凭证Access Token。数据包经过主体端的代理,使用HMAC算法加密,并加入counter后发送,counter此时由0开始基于数据包自增。Further, the subject stores both the access verification credential Access Token and the update credential Refresh Token locally, but only sends the access verification credential Access Token. The data packet is encrypted by the HMAC algorithm through the agent of the main body, and sent after adding the counter. At this time, the counter starts to increase from 0 based on the data packet.
步骤S4:在客体验证主体发送的访问验证凭证Access Token的合法性与有效性后,若合法且有效,则执行请求的请求内容,并向主体返回请求结果;若不合法,则拒绝请求,报错并结束通信;以及,若合法但超过第一预设时长,则向主体返回凭证过期错误,且继续执行下述步骤。Step S4: After the object verifies the validity and validity of the access verification certificate Access Token sent by the subject, if it is legal and valid, execute the requested content of the request, and return the request result to the subject; if not, reject the request and report an error and end the communication; and, if it is valid but exceeds the first preset time period, return a credential expired error to the subject, and continue to perform the following steps.
在本申请的实施例中,客体的验证由客体端代理执行,包括对Access Token的验证和对counter的验证,客体对Access Token的验证包括对其签名的验证和有效期的验证,以保证合法有效,如果签名验证不通过则结束通信,如果签名验证通过但有效期验证不通过则报错但不结束通信。客体对counter的验证需要保证包内的counter值与本地存储的counter值一致。In the embodiment of the present application, the verification of the object is performed by the proxy of the object, including the verification of the Access Token and the verification of the counter, and the verification of the Access Token by the object includes the verification of its signature and the verification of the validity period, so as to ensure legality and validity , if the signature verification fails, the communication is terminated. If the signature verification passes but the validity period verification fails, an error is reported but the communication is not terminated. The object's verification of the counter needs to ensure that the counter value in the package is consistent with the locally stored counter value.
步骤S5:在主体收到凭证过期错误后,向客体发送与过期的访问验证凭证AccessToken匹配的更新凭证Refresh Token,同时发送正整数counter。Step S5: After the subject receives the certificate expiration error, it sends the updated certificate Refresh Token matching the expired access verification certificate AccessToken to the object, and sends a positive integer counter at the same time.
可以理解的是,更新凭证Refresh Token用于更新过期的访问验证凭证AccessToken,由于更新凭证Refresh Token有效期远远长于访问验证凭证Access Token,故通常情况下更新凭证Refresh Token不会过期。It can be understood that the refresh token Refresh Token is used to update the expired access verification certificate AccessToken. Since the validity period of the update certificate Refresh Token is much longer than that of the access verification certificate Access Token, the update certificate Refresh Token usually does not expire.
具体地,主体发送过期访问验证凭证Access Token对应的更新凭证RefreshToken,数据包经过主体端的代理,使用HMAC算法加密,并加入counter后发送,counter此时继续基于数据包自增。Specifically, the subject sends the update certificate RefreshToken corresponding to the expired access verification certificate Access Token. The data packet is encrypted by the HMAC algorithm through the proxy of the subject end, and sent after adding the counter. At this time, the counter continues to increment automatically based on the data packet.
步骤S6:在客体验证更新凭证Refresh Token的合法性与有效性后,同时检验正整数counter的一致性,若不合法,则拒绝请求,报错并结束通信;若合法,则客体重新基于访问控制规则生成新的访问验证凭证Access Token和与之对应的更新凭证Refresh Token,返回给主体。Step S6: After the object verifies the validity and validity of the refresh token Refresh Token, the consistency of the positive integer counter is checked at the same time. If it is invalid, the request is rejected, an error is reported and the communication is terminated; if it is valid, the object is re-based on the access control rules. Generate a new access verification credential Access Token and the corresponding update credential Refresh Token, and return it to the subject.
进一步地,客体的验证由客体端代理执行,包括对Refresh Token的验证和对counter的验证,客体对Refresh Token的验证包括对其签名的验证和有效期的验证,以保证合法有效,如果其中之一验证不通过则结束通信。客体对counter的验证需要保证包内的counter值与本地存储的counter值一致。Further, the verification of the object is performed by the object-side proxy, including the verification of the Refresh Token and the verification of the counter. The verification of the object's Refresh Token includes the verification of its signature and the verification of the validity period to ensure legal validity. If one of the If the verification fails, the communication ends. The object's verification of the counter needs to ensure that the counter value in the package is consistent with the locally stored counter value.
步骤S7:在主体接收并覆盖存储新的访问验证凭证和与之对应的更新凭证后,重新执行步骤S3。Step S7: After the subject receives and overwrites the storage of the new access verification credential and the corresponding update credential, step S3 is performed again.
进一步地,原有的访问验证凭证Access Token和更新凭证Refresh Token在主体端被覆盖存储,原有的访问验证凭证Access Token和更新凭证Refresh Token失效。Further, the original access verification credential Access Token and the update credential Refresh Token are overwritten and stored on the principal side, and the original access verification credential Access Token and the update credential Refresh Token are invalid.
在本申请的一个实施例中,通过主体端的透明代理进行主体所有通信的数据包的发送或接收以及数据包的验证;通过客体端的透明代理进行客体所有通信的数据包的发送或接收以及数据包的验证。In an embodiment of the present application, the transmission or reception of data packets of all communications of the subject and the verification of the data packets are carried out through the transparent proxy of the subject; 's verification.
具体而言,主体通过主体端透明代理处理主体的数据包具体包括以下步骤:Specifically, processing the data packets of the subject through the transparent proxy on the subject side specifically includes the following steps:
S101:在主体设备端部署一个透明代理,主体进程与代理建立连接,主体进程端口对外不可见,代理端口对外被虚拟为进程端口,所有通信的数据包都经由代理才能被发送或接收。S101: Deploy a transparent proxy on the main device side, the main process establishes a connection with the proxy, the main process port is invisible to the outside world, the proxy port is virtualized as a process port externally, and all communication data packets can only be sent or received through the proxy.
S102:当主客体首次进行通信时,主体代理向客体发送与客体进行连接的请求,代理使用主体私钥将数据包签名后转发给客体,以标识主体身份。若客体生成Access Token与Refresh Token,则首先被代理接收,代理通过客体的公钥验证Token的发布者是否为客体,若发布者是客体,则将两个Token解密后存储在本地;若发布者不是客体,则重复本步骤。S102: When the subject and the object communicate for the first time, the subject agent sends a request for connecting with the object to the object, and the agent uses the subject's private key to sign the data packet and forward it to the object to identify the subject's identity. If the object generates Access Token and Refresh Token, it is first received by the agent, and the agent verifies whether the issuer of the Token is the object through the public key of the object. If the issuer is the object, the two tokens are decrypted and stored locally; if the issuer If it is not an object, repeat this step.
S103:主体进程发送对客体的请求,代理接收到请求,在请求包内添加AccessToken和counter,同时利用与客体动态商议的密钥将数据包进行HMAC加密,然后把加工后的数据包发送给客体。若代理收到客体返回的重议counter请求,则代理把原有counter除以100,向上取整后再乘100作为新的counter,然后重复本步骤。S103: The main process sends a request to the object, the agent receives the request, adds AccessToken and counter to the request packet, and at the same time encrypts the data packet with HMAC using the key dynamically negotiated with the object, and then sends the processed data packet to the object . If the proxy receives the re-negotiation counter request returned by the object, the proxy divides the original counter by 100, rounds it up, and then multiplies it by 100 as a new counter, and then repeats this step.
S104:若代理接收到客体返回Access Token过期的错误,在代理把过期AccessToken对应的Refresh Token与counter一起,再次利用HMAC加密后发送给客体。若代理收到新的Access Token与Refresh Token,则代理通过HMAC密钥验证两个Token的发布者是否为客体,若发布者是客体,则将两个Token解密后存储在本地,进入S103;若发布者不是客体,则重复本步骤。若代理收到客体返回的重议counter请求,则代理把原有counter除以100,向上取整后再乘100作为新的counter,重复本步骤。S104: If the agent receives an error that the object returns an expired Access Token, the agent encrypts the Refresh Token corresponding to the expired Access Token together with the counter and sends it to the object again after HMAC encryption. If the agent receives the new Access Token and Refresh Token, the agent verifies whether the issuer of the two Tokens is an object through the HMAC key. If the issuer is an object, the two Tokens are decrypted and stored locally, and the process goes to S103; If the publisher is not an object, repeat this step. If the proxy receives the re-negotiation counter request returned by the object, the proxy divides the original counter by 100, rounds it up, and then multiplies it by 100 as a new counter, and repeats this step.
S105:若代理接收到客体返回的请求结果或请求资源,则代理利用HMAC密钥解密后,把原文信息发送给主体进程。S105: If the agent receives the request result or the requested resource returned by the object, the agent uses the HMAC key to decrypt and sends the original text information to the subject process.
具体而言,客体通过客体端透明代理处理客体的数据包具体包括以下步骤:Specifically, the object processing the data packets of the object through the object-side transparent proxy specifically includes the following steps:
S201:在客体端部署一个透明代理,代理与客体进程连接,客体进程端口对外不可见,代理端口对外被虚拟为进程端口,所有通信的数据包都经由代理才能被发送或接收。S201: Deploy a transparent proxy on the object side, the proxy is connected with the object process, the object process port is invisible to the outside world, the proxy port is virtualized as a process port externally, and all communication data packets can only be sent or received through the proxy.
S202:代理收到来自主体的连接请求,代理利用主体公钥验证主体身份,基于访问控制规则验证主体权限,若身份与权限均合法,则代理生成Access Token与RefreshToken,私钥签名后发送给主体,进入S203;若其中之一不合法,则代理返回错误,结束通信。S202: The agent receives the connection request from the subject, the agent uses the subject's public key to verify the subject's identity, and verifies the subject's authority based on the access control rules. If both the identity and the authority are legal, the agent generates an Access Token and a RefreshToken, and sends it to the subject after signing with the private key , and enter S203; if one of them is invalid, the agent returns an error and ends the communication.
S203:代理接收到主体含有Access Token和counter的请求,利用HMAC密钥解密验证数据包的合法性,若解密失败,则说明数据包不合法,代理返回错误,结束通信;若解密成功,则验证Access Token是否过期,counter是否一致。若Access Token过期,执行S204;若counter不一致,执行S205;若二者都合法有效,则代理将解密后的数据包,除去AccessToken和counter后发送给客体进程,由客体进程执行请求,代理向主体返回请求结果。S203: The proxy receives the request that the subject contains Access Token and counter, and uses the HMAC key to decrypt and verify the validity of the data packet. If the decryption fails, the data packet is invalid, the proxy returns an error, and the communication ends; if the decryption is successful, the verification is performed. Whether the Access Token has expired and whether the counter is the same. If the Access Token expires, go to S204; if the counter is inconsistent, go to S205; if both are legal and valid, the agent sends the decrypted data packet to the object process after removing the AccessToken and the counter, and the object process executes the request, and the agent sends the request to the subject Return the request result.
S204:代理向主体发送Access Token错误的信息,收到主体发来的Refresh Token和counter,代理利用本地信息对Refresh Token进行身份与权限的验证,同时验证counter是否一致。若Refresh Token不合法,则代理返回错误,结束通信;若counter不一致,则执行S205;若二者都合法有效,则代理生成新的Access Token与Refresh Token,利用HMAC加密后发送给主体,进入S203。S204: The agent sends the incorrect information of the Access Token to the subject, and receives the Refresh Token and the counter sent by the subject. The agent uses the local information to verify the identity and authority of the Refresh Token, and at the same time verifies whether the counter is consistent. If the Refresh Token is invalid, the agent returns an error and ends the communication; if the counter is inconsistent, execute S205; if both are valid, the agent generates a new Access Token and a Refresh Token, encrypts them with HMAC and sends them to the subject, and then goes to S203 .
S205:代理向主体发送重议counter的请求,请求利用HMAC加密,主客体同步一个新的counter,新的counter值为原有counter除以100,向上取整后再乘100。S205: The agent sends a request for re-negotiation of the counter to the subject, requesting to use HMAC encryption, the subject and the object synchronize a new counter, and the new counter value is divided by 100 of the original counter, rounded up, and then multiplied by 100.
本发明的分布式访问控制方案,可有效加强智能家居跨设备通信的安全性,防止恶意设备的连接和恶意应用的请求,且本发明考虑了部分物联网设备计算能力弱、存储空间小等特点,适用于真实的智能家居环境。The distributed access control scheme of the present invention can effectively strengthen the security of smart home cross-device communication, prevent the connection of malicious devices and the request of malicious applications, and the present invention takes into account the weak computing power and small storage space of some IoT devices. , suitable for real smart home environment.
下面结合附图和具体实施例阐述本申请的访问控制方案的具体流程。首先,将描述两个首次进行通信的实体如何建立连接,然后将给出各类情形的验证机制和执行结果,并详细解释本申请对于访问控制对安全性的保障。The specific flow of the access control solution of the present application is described below with reference to the accompanying drawings and specific embodiments. First, it will describe how two entities that communicate for the first time establish a connection, then will give the verification mechanisms and execution results of various situations, and explain in detail the security guarantee of access control in this application.
初始访问:Initial visit:
初始访问机制在主体进程与客体进程进行首次通信时实施,其中,首次通信指的是主客体直接不存在可信连接记录时进行的通信。该机制用于生成Access Token和Refresh Token,并初始化counter值。The initial access mechanism is implemented when the subject process and the object process communicate for the first time, wherein the first communication refers to the communication performed when the subject and object directly do not have a trusted connection record. This mechanism is used to generate Access Token and Refresh Token, and initialize the counter value.
当主体进程发送一个请求时,主体代理将首先收到该请求,根据主体请求的目标客体,对客体的代理发出请求并获得连接信息,建立“主体进程→主体代理→客体代理→客体进程”的连接,然后执行通信转发,表1的算法1展示了这一过程。When the subject process sends a request, the subject agent will first receive the request, and according to the target object requested by the subject, send a request to the agent of the object and obtain the connection information, and establish the "subject process→subject agent→object agent→object process". Connect and then perform communication forwarding, which is shown in Algorithm 1 of Table 1.
表1Table 1
主体代理对主体用户是透明的,即用户不知道该代理的存在,透明代理不需要用户进行手动配置。图4展示了初始访问机制的实施细节,数据包的处理与转发均由代理完成,实线表示数据包的传递,虚线表示代理对主客体存储空间的读写。由于该过程并不需要主客体进程的主动参与,故本方案并不对主客体进程进行修改。The principal agent is transparent to the principal user, that is, the user does not know the existence of the agent, and the transparent agent does not require manual configuration by the user. Figure 4 shows the implementation details of the initial access mechanism. The processing and forwarding of data packets are completed by the agent. The solid line represents the transmission of the data packet, and the dashed line represents the read and write of the host and object storage space by the agent. Since the process does not require the active participation of the subject and object processes, this scheme does not modify the subject and object processes.
建立连接后,主体将首先发送存储在本地的访问控制规则给主体代理,主体对于数据包的处理机制如表2的算法2所示,主体代理获取访问控制规则,为存有规则的数据包添加上counter,然后利用客体的公钥加密、主体的私钥签名,把签名后的数据包发送给客体。此处主体代理对数据包的修改能有效保证数据在传输过程中的安全性,防止数据被篡改或窃取。After the connection is established, the subject will first send the locally stored access control rules to the subject agent. The processing mechanism of the subject for data packets is shown in Algorithm 2 of Table 2. The subject agent obtains the access control rules and adds them to the packets with the rules. Go to the counter, and then use the object's public key to encrypt and the subject's private key to sign, and send the signed data packet to the object. The modification of the data packet by the main agent here can effectively ensure the security of the data during the transmission process and prevent the data from being tampered with or stolen.
表2Table 2
客体首先需要从云端把访问控制规则下载到本地,以便于后续的验证。主体发送的数据包将首先由客体代理接管。客体接收到主体含有访问控制规则的数据包后,首先利用私钥对数据包进行解密,然后利用主体的公钥对签名进行验证,以确认主体的身份可信、消息可靠,否则直接拒绝请求。验证通过后,客体再对本地的访问控制规则与数据包中的规则进行对照,确保主客体拥有一致的规则,若规则不一致,则返回应用需更新的提示,双方重新从云端下载最新版的规则;若规则一致,则客体根据规则生成Access Token和RefreshToken,同时与主体商议出一个随机数作为后续进行HMAC加密的密钥,Access Token和Refresh Token和密钥同样经过算法2的机制,由客体代理为数据包添加counter,进行加密签名后发送给主体。Access Token和Refresh Token始终与主体进程的端口号绑定,主体代理将二者写入主体的存储空间,客体端只存储Refresh Token。The object first needs to download the access control rules from the cloud to the local for subsequent verification. Packets sent by the subject will first be taken over by the guest proxy. After the object receives the data packet containing the access control rules from the subject, it first decrypts the data packet with the private key, and then uses the subject's public key to verify the signature to confirm that the subject's identity is credible and the message is reliable, otherwise the request is rejected directly. After the verification is passed, the object then compares the local access control rules with the rules in the data package to ensure that the subject and object have consistent rules. If the rules are inconsistent, the application will return to the prompt that the application needs to be updated, and both parties will download the latest version of the rules from the cloud again. ; If the rules are consistent, the object generates Access Token and RefreshToken according to the rules, and negotiates with the subject a random number as the key for subsequent HMAC encryption. Add a counter to the data packet, encrypt and sign it and send it to the subject. Access Token and Refresh Token are always bound to the port number of the main process, the main agent writes them into the main storage space, and the object only stores the Refresh Token.
访问验证:Access verification:
访问验证机制在主体端获得Access Token和Refresh Token对后,利用AccessToken进行访问时实施。该机制用于验证Access Token和counter的合法性,并在异常情况时调用超时访问机制或丢包/重传机制。The access verification mechanism is implemented when the principal side obtains the pair of Access Token and Refresh Token, and then uses the Access Token for access. This mechanism is used to verify the legitimacy of the Access Token and counter, and call the timeout access mechanism or the packet loss/retransmission mechanism in abnormal situations.
如图4所示,主体发送请求后,主体代理监听到消息,复制请求数据包内容,向主体存储空间获取与请求进程对应的Access Token,把Access Token和counter一起添加到数据包中,再对包进行HMAC加密后发出。表3的算法3呈现了主体代理对请求的处理与转发机制。As shown in Figure 4, after the subject sends the request, the subject agent listens to the message, copies the content of the request data packet, obtains the Access Token corresponding to the request process from the subject storage space, adds the Access Token and the counter to the data packet, and then checks the The packet is sent after HMAC encryption. Algorithm 3 of Table 3 presents the processing and forwarding mechanism of the request by the principal agent.
表3table 3
客体代理接收到含有Access Token的数据包后,将执行验证工作。客体此时只需要验证Access Token和counter的合法性,不再需要执行身份认证与授权工作,若二者均合法,则请求会被发送给客体进程,客体进程执行请求的操作。此处Access Token的合法性指:After the object agent receives the data packet containing the Access Token, it will perform the verification work. At this time, the object only needs to verify the validity of the Access Token and the counter, and no longer needs to perform identity authentication and authorization. If both are valid, the request will be sent to the object process, and the object process will perform the requested operation. The legality of Access Token here refers to:
1、Access Token由客体签发且未被篡改(由签名验证)。1. The Access Token is issued by the object and has not been tampered with (verified by the signature).
2、Access Token包含主体请求的权限(由权限信息验证)。2. The Access Token contains the authority requested by the subject (verified by the authority information).
3、Access Token未过期(由签发时间和有效期验证)。3. The Access Token has not expired (verified by the issuance time and validity period).
若Access Token未过期但不合法,则表示用户已更改规则收回权限,此时客体返回请求失败的信息,请求直接被拒绝;若Access Token过期,则客体返回一个表示Token失效的错误码,此时需要进行Token的更新,即调用超时访问机制。若counter不合法,则调用丢包/重放访问机制。If the Access Token has not expired but is not legal, it means that the user has changed the rules to withdraw the permission. At this time, the object returns the information that the request failed, and the request is directly rejected; if the Access Token expires, the object returns an error code indicating that the Token is invalid. The Token needs to be updated, that is, the timeout access mechanism is called. If the counter is invalid, the packet loss/replay access mechanism is called.
表4的算法4呈现了客体代理的验证机制,包括对存有访问控制规则数据包的验证和对存有Access Token数据包的验证。客体代理是一个反向代理,反向代理对于主体用户同样是透明的,反向代理负责接收主体发送过来的数据包,进行解密和验证,验证通过后再将解密后的包转发给真正的客体进程,如图4所示,客体进程接收到的包将不再包含counter或签名,而是直接可执行的请求。Algorithm 4 of Table 4 presents the authentication mechanism of the object agent, including the authentication of the data packets with access control rules and the authentication of the data packets with Access Token. The object proxy is a reverse proxy. The reverse proxy is also transparent to the subject user. The reverse proxy is responsible for receiving the data packets sent by the subject, decrypting and verifying, and then forwarding the decrypted packets to the real object after the verification is passed. process, as shown in Figure 4, the packet received by the guest process will no longer contain a counter or signature, but a directly executable request.
表4Table 4
超时访问:Timeout access:
超时访问机制在访问验证机制发现Access Token过期时实施。该机制用于请求主体的Refresh Token,验证Refresh Token的合法性并生成新的Access Token和RefreshToken。The timeout access mechanism is implemented when the access verification mechanism finds that the Access Token has expired. This mechanism is used to request the Refresh Token of the subject, verify the validity of the Refresh Token and generate a new Access Token and RefreshToken.
如图5所示,客体返回Access Token失效的错误,此时主体将Refresh Token连带过期的Access Token一起发给客体,由客体代理验证Refresh Token的合法性。同样,实线表示数据包的传递,虚线表示Proxy对主客体存储空间的读写,并不需要主客体进程的主动参与。其中,Refresh Token的合法性指:As shown in Figure 5, the object returns an error that the Access Token is invalid. At this time, the subject sends the Refresh Token together with the expired Access Token to the object, and the object agent verifies the legitimacy of the Refresh Token. Similarly, the solid line represents the transmission of data packets, and the dashed line represents the read and write of the Proxy to the storage space of the host and the guest, and does not require the active participation of the host and guest processes. Among them, the legality of Refresh Token refers to:
1、Refresh Token由客体签发且未被篡改(由签名验证)。1. The Refresh Token is issued by the object and has not been tampered with (verified by the signature).
2、Refresh Token未被禁用(由客体存储空间验证)。2. Refresh Token is not disabled (verified by the object storage space).
3、Refresh Token与Access Token匹配(由Access Token信息验证)。3. The Refresh Token matches the Access Token (verified by the Access Token information).
4、Refresh Token未过期(由签发时间和有效期验证)。4. The Refresh Token has not expired (verified by the issuance time and validity period).
若Refresh Token合法则下发新的Access Token和Refresh Token,其中,新的Access Token荷载内容除了签发时间与有效期外,其余信息与原来不变。在荷载内容中,除了签发时间与有效期外,其他信息均相同的Access Token同一时刻只能存在一个,与之对应的Refresh Token也只能存在一个,若有多个,则签发时间最晚的为有效的Access Token和Refresh Token。当需要禁用一个Access Token时,只需要将客体的Refresh Token删除或加入黑名单。在超时访问机制下,主客体交互的所有信息都需要经过HMAC加密,加密机制与算法3相似。If the Refresh Token is legal, a new Access Token and Refresh Token will be issued. The contents of the new Access Token payload remain unchanged except for the issuance time and validity period. In the payload content, except for the issuance time and validity period, only one Access Token with the same information can exist at the same time, and only one corresponding Refresh Token can exist. If there are multiple, the latest issuance time is Valid Access Token and Refresh Token. When you need to disable an Access Token, you only need to delete or add the object's Refresh Token to the blacklist. Under the time-out access mechanism, all the information exchanged between the subject and the object needs to be encrypted by HMAC, and the encryption mechanism is similar to Algorithm 3.
丢包/重放访问:Packet loss/replay access:
丢包/重放访问机制在访问验证机制发现接收包内的counter与本地的counter不一致时实施。该机制用于调用重设counter的函数,使主客体counter保持一致。The packet loss/replay access mechanism is implemented when the access verification mechanism finds that the counter in the received packet is inconsistent with the local counter. This mechanism is used to call the function that resets the counter to keep the host and object counters consistent.
本申请的方法利用一个整数counter来识别携带Token的数据包,以避免重放攻击。counter的初始值为0,考虑到TCP协议和UDP协议的传输差异,此处对两种协议采用不同的counter同步机制:对于基于TCP协议的连接,counter在通信双方进行三次握手后完成初始化,counter值在同一个TCP连接中一直保持不变,直到四次挥手结束,TCP连接断开后,通信双方才同步把counter数值加一;对于基于UDP协议的连接,每一个数据包携带的counter值都不同,发送方每发送一个包就把自己的counter加一,而接收方每接收一个包就把自己的counter加一。The method of the present application uses an integer counter to identify the data packet carrying the Token to avoid replay attacks. The initial value of the counter is 0. Considering the transmission difference between the TCP protocol and the UDP protocol, different counter synchronization mechanisms are used for the two protocols here: For a connection based on the TCP protocol, the counter is initialized after the three handshakes between the two parties. The value remains the same in the same TCP connection until the end of the four waves. After the TCP connection is disconnected, the two parties in the communication synchronously increase the counter value by one; for the connection based on the UDP protocol, the counter value carried by each data packet is Differently, the sender increments its counter by one each time it sends a packet, and the receiver increments its counter by one each time it receives a packet.
丢包/重放访问机制由两个Proxy商议出新的counter值,即图6中方框内的字段。若接收方的counter小于包内counter,则表示发送方发出的包多于接收方收到的包,该情形多发生于UDP连接,表示传输过程中发生了丢包;若接受方的counter大于包内的counter,则表示发送方发送了重复的包,意味着可能出现了重放攻击,此时将认为通信出现问题。若counter不一致,则客体会返回要求重新商议counter的信息,主客体将重设counter,若发生丢包,则还需要进行重传。In the packet loss/replay access mechanism, two proxies negotiate a new counter value, which is the field in the box in Figure 6. If the counter of the receiver is less than the counter in the packet, it means that the sender sends more packets than the receiver receives. This situation mostly occurs in UDP connections, indicating that packet loss occurred during the transmission process; if the counter of the receiver is greater than the packet If the counter inside, it means that the sender has sent duplicate packets, which means that there may be a replay attack. At this time, it will be considered that there is a problem with the communication. If the counter is inconsistent, the object will return the information requesting to renegotiate the counter, and the host and the object will reset the counter. If packet loss occurs, retransmission is required.
由于counter的数值以数据包为粒度,故通信双方的counter差值通常应小于10,我们把误差范围扩大到100,设置重设counter的公式为:Since the value of the counter is based on data packets, the difference between the counters between the two communicating parties should usually be less than 10. We expand the error range to 100. The formula for setting and resetting the counter is:
根据本申请实施例提出的适用于智能家居环境的分布式跨设备访问控制方法,基于访问认证凭证每一个数据包进行认证,摆脱了访问控制对第三方服务或规则数据集的依赖,增大了对每一个通信数据包的监控力度,同时又降低了IoT设备进行访问控制的资源开销。访问验证凭证与更新凭证并行的方式能够避免访问验证凭证一经发出就永久有效而带来的安全隐患,也避免了用户频繁的授权认证。利用代理对数据包进行加密与转发,解决了跨设备通信时通信双方在认证之前就建立连接而带来的安全问题,同时隐藏了设备进程的实际端口与内部细节,避免了利用暴露的端口造成的攻击。According to the distributed cross-device access control method suitable for the smart home environment proposed by the embodiments of the present application, each data packet is authenticated based on the access authentication credential, which eliminates the dependence of access control on third-party services or rule data sets, and increases the The monitoring strength of each communication data packet, while reducing the resource overhead of IoT device access control. The parallel approach of access verification credential and update credential can avoid the security risks caused by the permanent validity of the access verification credential once issued, and avoid frequent authorization and authentication by users. The proxy is used to encrypt and forward data packets, which solves the security problem caused by establishing a connection before authentication between the two communicating parties during cross-device communication. s attack.
其次参照附图描述根据本申请实施例提出的适用于智能家居环境的分布式跨设备访问控制装置。Next, a distributed cross-device access control device suitable for a smart home environment proposed according to an embodiment of the present application will be described with reference to the accompanying drawings.
图7为根据本申请实施例的适用于智能家居环境的分布式跨设备访问控制装置的示例图。FIG. 7 is an exemplary diagram of a distributed cross-device access control apparatus suitable for a smart home environment according to an embodiment of the present application.
如图7所示,该适用于智能家居环境的分布式跨设备访问控制装置10应用于智能家居环境,该装置10包括:准备模块100、连接建立模块200、第一请求模块300、第一验证模块400、第二请求模块500、第二验证模块600和更新模块700。As shown in FIG. 7 , the distributed cross-device
其中,准备模块100,用于控制主体与客体从云端获取规定进程所具备的权限信息的访问控制规则,并基于访问控制规则对请求的发送和响应进行限制,其中,主体与客体在本地分别持有一个用于标识数据包的正整数counter。Among them, the
连接建立模块200,用于控制主体与客体建立连接,其中,当主体与客体首次进行通信时,主体先发送连接请求,客体验证主体的身份及主体权限的合法性,若合法,则建立连接的同时,客体基于访问控制规则生成第一预设时长内有效的访问验证凭证和第二预设时长内有效的更新凭证,以一同返回至主体,其中,第二预设时长大于第一预设时长。The
第一请求模块300,用于在主体接收并存储访问验证凭证和更新凭证后,向客体发送携带有访问验证凭证的请求,同时在请求包内加入正整数counter。The
第一验证模块400,用于在客体验证主体发送的访问验证凭证的合法性与有效性后,若合法且有效,则执行请求的请求内容,并向主体返回请求结果;若不合法,则拒绝请求,报错并结束通信;以及,若合法但超过第一预设时长,则向主体返回凭证过期错误,且继续执行下述步骤。The
第二请求模块500,用于在主体收到凭证过期错误后,向客体发送与过期的访问验证凭证匹配的更新凭证,同时发送正整数counter。The
第二验证模块600,用于在客体验证更新凭证的合法性与有效性后,同时检验正整数counter的一致性,若不合法,则拒绝请求,报错并结束通信;若合法,则客体重新基于访问控制规则生成新的访问验证凭证和与之对应的更新凭证,返回给主体。The
更新模块700,用于在主体接收并覆盖存储新的访问验证凭证和与之对应的更新凭证后,重新执行第一请求模块的功能。The update module 700 is configured to re-execute the function of the first request module after the subject receives and overwrites the storage of the new access verification credential and the corresponding update credential.
需要说明的是,前述对适用于智能家居环境的分布式跨设备访问控制方法实施例的解释说明也适用于该实施例的适用于智能家居环境的分布式跨设备访问控制装置,此处不再赘述。It should be noted that the foregoing explanations of the embodiment of the distributed cross-device access control method applicable to the smart home environment are also applicable to the distributed cross-device access control device applicable to the smart home environment of this embodiment, and are not repeated here. Repeat.
根据本申请实施例提出的适用于智能家居环境的分布式跨设备访问控制装置,基于访问认证凭证对每一个数据包进行认证,摆脱了访问控制对第三方服务或规则数据集的依赖,增大了对每一个通信数据包的监控力度,同时又降低了IoT设备进行访问控制的资源开销。访问验证凭证与更新凭证并行的方式能够避免访问验证凭证一经发出就永久有效而带来的安全隐患,也避免了用户频繁的授权认证。利用代理对数据包进行加密与转发,解决了跨设备通信时通信双方在认证之前就建立连接而带来的安全问题,同时隐藏了设备进程的实际端口与内部细节,避免了利用暴露的端口造成的攻击。According to the distributed cross-device access control device suitable for the smart home environment proposed by the embodiment of the present application, each data packet is authenticated based on the access authentication credential, which gets rid of the dependence of the access control on the third-party service or the rule data set, and increases the This improves the monitoring of each communication data packet and reduces the resource overhead of access control for IoT devices. The parallel approach of access verification credential and update credential can avoid the potential security risks caused by the permanent validity of the access verification credential once issued, and avoid frequent authorization and authentication by users. The proxy is used to encrypt and forward data packets, which solves the security problem caused by establishing a connection before authentication between the two parties during cross-device communication. s attack.
图8本申请实施例提供的电子设备的结构示意图。该电子设备可以包括:FIG. 8 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. The electronic device may include:
存储器801、处理器802及存储在存储器801上并可在处理器802上运行的计算机程序。
处理器802执行程序时实现上述实施例中提供的适用于智能家居环境的分布式跨设备访问控制方法。When the
进一步地,电子设备还包括:Further, the electronic device also includes:
通信接口803,用于存储器801和处理器802之间的通信。The
存储器801,用于存放可在处理器802上运行的计算机程序。The
存储器801可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。The
如果存储器801、处理器802和通信接口803独立实现,则通信接口803、存储器801和处理器802可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。If the
可选地,在具体实现上,如果存储器801、处理器802及通信接口803,集成在一块芯片上实现,则存储器801、处理器802及通信接口803可以通过内部接口完成相互间的通信。Optionally, in terms of specific implementation, if the
处理器802可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。The
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的适用于智能家居环境的分布式跨设备访问控制方法。This embodiment also provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, implements the above distributed cross-device access control method suitable for a smart home environment.
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。In the description of this specification, description with reference to the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples", etc., mean specific features described in connection with the embodiment or example , structure, material or feature is included in at least one embodiment or example of the present application. In this specification, schematic representations of the above terms are not necessarily directed to the same embodiment or example. Furthermore, the particular features, structures, materials or characteristics described may be combined in any suitable manner in any one or N of the embodiments or examples. Furthermore, those skilled in the art may combine and combine the different embodiments or examples described in this specification, as well as the features of the different embodiments or examples, without conflicting each other.
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。In addition, the terms "first" and "second" are only used for descriptive purposes, and should not be construed as indicating or implying relative importance or implying the number of indicated technical features. Thus, a feature delimited with "first", "second" may expressly or implicitly include at least one of that feature. In the description of the present application, "N" means at least two, such as two, three, etc., unless otherwise expressly and specifically defined.
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。Any process or method description in the flowchart or otherwise described herein may be understood to represent a module, segment or portion of code comprising one or N more executable instructions for implementing custom logical functions or steps of the process , and the scope of the preferred embodiments of the present application includes alternative implementations in which the functions may be performed out of the order shown or discussed, including performing the functions substantially concurrently or in the reverse order depending upon the functions involved, which should It is understood by those skilled in the art to which the embodiments of the present application belong.
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。The logic and/or steps represented in flowcharts or otherwise described herein, for example, may be considered an ordered listing of executable instructions for implementing the logical functions, may be embodied in any computer-readable medium, For use with, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other system that can fetch instructions from and execute instructions from an instruction execution system, apparatus, or apparatus) or equipment. For the purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport the program for use by or in connection with an instruction execution system, apparatus, or apparatus. More specific examples (non-exhaustive list) of computer readable media include the following: electrical connections (electronic devices) with one or N wires, portable computer disk cartridges (magnetic devices), random access memory (RAM), Read Only Memory (ROM), Erasable Editable Read Only Memory (EPROM or Flash Memory), Fiber Optic Devices, and Portable Compact Disc Read Only Memory (CDROM). In addition, the computer readable medium may even be paper or other suitable medium on which the program may be printed, as the paper or other medium may be optically scanned, for example, followed by editing, interpretation, or other suitable medium as necessary process to obtain the program electronically and then store it in computer memory.
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。It should be understood that various parts of this application may be implemented in hardware, software, firmware, or a combination thereof. In the above-described embodiments, the N steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented by any one of the following techniques known in the art, or a combination thereof: discrete with logic gates for implementing logic functions on data signals Logic circuits, application specific integrated circuits with suitable combinational logic gates, Programmable Gate Arrays (PGA), Field Programmable Gate Arrays (FPGA), etc.
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。Those skilled in the art can understand that all or part of the steps carried by the methods of the above embodiments can be completed by instructing the relevant hardware through a program, and the program can be stored in a computer-readable storage medium, and the program can be stored in a computer-readable storage medium. When executed, one or a combination of the steps of the method embodiment is included.
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing module, or each unit may exist physically alone, or two or more units may be integrated into one module. The above-mentioned integrated modules can be implemented in the form of hardware, and can also be implemented in the form of software function modules. If the integrated modules are implemented in the form of software functional modules and sold or used as independent products, they may also be stored in a computer-readable storage medium.
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。The above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, and the like. Although the embodiments of the present application have been shown and described above, it should be understood that the above embodiments are exemplary and should not be construed as limitations to the present application. Embodiments are subject to variations, modifications, substitutions and variations.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111334887.4A CN114338076B (en) | 2021-11-11 | 2021-11-11 | Distributed cross-device access control method and device suitable for smart home environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111334887.4A CN114338076B (en) | 2021-11-11 | 2021-11-11 | Distributed cross-device access control method and device suitable for smart home environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114338076A true CN114338076A (en) | 2022-04-12 |
CN114338076B CN114338076B (en) | 2023-04-07 |
Family
ID=81045496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111334887.4A Active CN114338076B (en) | 2021-11-11 | 2021-11-11 | Distributed cross-device access control method and device suitable for smart home environment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338076B (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150236908A1 (en) * | 2014-02-19 | 2015-08-20 | Samsung Electronics Co., Ltd. | Method and apparatus for managing access information for registration of device in smart home service |
US9397990B1 (en) * | 2013-11-08 | 2016-07-19 | Google Inc. | Methods and systems of generating and using authentication credentials for decentralized authorization in the cloud |
CN109951485A (en) * | 2019-03-20 | 2019-06-28 | 重庆邮电大学 | SDN-based Internet of things access control method |
CN109981689A (en) * | 2019-04-29 | 2019-07-05 | 清华大学 | Cross-domain logical is isolated by force and safety access control method and device under scenes of internet of things |
US10567381B1 (en) * | 2015-12-17 | 2020-02-18 | Amazon Technologies, Inc. | Refresh token for credential renewal |
CN111935169A (en) * | 2020-08-20 | 2020-11-13 | 腾讯科技(深圳)有限公司 | Business data access method, device, equipment and storage medium |
CA3135212A1 (en) * | 2019-05-20 | 2020-11-26 | Citrix Systems, Inc. | Computing system and methods providing session access based upon authentication token with different authentication credentials |
CN112765639A (en) * | 2021-01-27 | 2021-05-07 | 武汉大学 | Security micro-service architecture based on zero trust access strategy and implementation method |
CN113190828A (en) * | 2021-05-25 | 2021-07-30 | 网宿科技股份有限公司 | Request proxy method, client device and proxy service device |
-
2021
- 2021-11-11 CN CN202111334887.4A patent/CN114338076B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9397990B1 (en) * | 2013-11-08 | 2016-07-19 | Google Inc. | Methods and systems of generating and using authentication credentials for decentralized authorization in the cloud |
US20150236908A1 (en) * | 2014-02-19 | 2015-08-20 | Samsung Electronics Co., Ltd. | Method and apparatus for managing access information for registration of device in smart home service |
US10567381B1 (en) * | 2015-12-17 | 2020-02-18 | Amazon Technologies, Inc. | Refresh token for credential renewal |
CN109951485A (en) * | 2019-03-20 | 2019-06-28 | 重庆邮电大学 | SDN-based Internet of things access control method |
CN109981689A (en) * | 2019-04-29 | 2019-07-05 | 清华大学 | Cross-domain logical is isolated by force and safety access control method and device under scenes of internet of things |
CA3135212A1 (en) * | 2019-05-20 | 2020-11-26 | Citrix Systems, Inc. | Computing system and methods providing session access based upon authentication token with different authentication credentials |
CN111935169A (en) * | 2020-08-20 | 2020-11-13 | 腾讯科技(深圳)有限公司 | Business data access method, device, equipment and storage medium |
CN112765639A (en) * | 2021-01-27 | 2021-05-07 | 武汉大学 | Security micro-service architecture based on zero trust access strategy and implementation method |
CN113190828A (en) * | 2021-05-25 | 2021-07-30 | 网宿科技股份有限公司 | Request proxy method, client device and proxy service device |
Non-Patent Citations (2)
Title |
---|
PRAJAKTA SOLAPURKAR: "Building_secure_healthcare_services_using_OAuth_2.0_and_JSON_web_token_in_IOT_cloud_scenario", 《2016 2ND INTERNATIONAL CONFERENCE ON CONTEMPORARY COMPUTING AND INFORMATICS(IC3I)》 * |
纪健全;姚英英;常晓林;: "基于OpenID Connect的工业互联网平台认证与授权方案" * |
Also Published As
Publication number | Publication date |
---|---|
CN114338076B (en) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12003634B2 (en) | Systems and methods for encrypted content management | |
US20220108028A1 (en) | Providing cryptographically secure post-secrets-provisioning services | |
US9838870B2 (en) | Apparatus and method for authenticating network devices | |
JP6121049B2 (en) | Secure access to resources using proxies | |
CN107659406B (en) | A resource operation method and device | |
CN114553568A (en) | Resource access control method based on zero-trust single packet authentication and authorization | |
CN113225352B (en) | Data transmission method and device, electronic equipment and storage medium | |
KR102756028B1 (en) | Improved transmission of in-vehicle data or messages using SOME/IP communication protocol | |
CN110249332A (en) | Credible performing environment is addressed using encryption key | |
CN108809907A (en) | A kind of certificate request message sending method, method of reseptance and device | |
JP2024543545A (en) | Data management system and method using explicit private networking techniques - Patents.com | |
CN114338091A (en) | Data transmission method and device, electronic equipment and storage medium | |
US20250015989A1 (en) | Method to establish a secure channel | |
CN115473648A (en) | A certificate issuing system and related equipment | |
CN116318637A (en) | Method and system for secure network access communication of equipment | |
CN118353634A (en) | Cloud-edge integrated identity authentication method and system for distributed energy storage systems | |
CN114338076B (en) | Distributed cross-device access control method and device suitable for smart home environment | |
EP3942770B1 (en) | Chained trusted platform modules (tpms) as a secure bus for pre-placement of device capabilities | |
JP7737660B2 (en) | SDP-based information protection method and apparatus for IoT cloud security | |
Chang et al. | Implementing a data communication security tokens management system using COSMOS, an energy efficient proof-of-stake blockchain framework | |
US11469890B2 (en) | Derived keys for connectionless network protocols | |
WO2023217383A1 (en) | Apparatus and method for efficient secure channel re-attestation without server-side state | |
CN120185811A (en) | A device trusted access method, device, device and storage medium | |
CN120529300A (en) | Low-altitude load and low-altitude carrier communication encryption method and system | |
CN118157876A (en) | An authentication method and related equipment |
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 |