WO2022183381A1 - 设备访问控制权限的设置方法、装置、设备及存储介质 - Google Patents
设备访问控制权限的设置方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- WO2022183381A1 WO2022183381A1 PCT/CN2021/078763 CN2021078763W WO2022183381A1 WO 2022183381 A1 WO2022183381 A1 WO 2022183381A1 CN 2021078763 W CN2021078763 W CN 2021078763W WO 2022183381 A1 WO2022183381 A1 WO 2022183381A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- permission
- information
- application
- permission information
- internet
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000000547 structure data Methods 0.000 claims description 55
- 238000004590 computer program Methods 0.000 claims description 40
- 238000012795 verification Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 description 26
- 239000004744 fabric Substances 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- DWDGSKGGUZPXMQ-UHFFFAOYSA-N OPPO Chemical compound OPPO DWDGSKGGUZPXMQ-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
Definitions
- the embodiments of the present application relate to the technical field of the Internet of Things, and in particular, to a method, apparatus, device, and storage medium for setting access control authority of a device.
- APP Application, application
- the second application (such as APP B, which is different from another application of APP A) program) and then perform pairing configuration on the device, the second application program has the same administrator authority as the first application program.
- the permissions of the post-paired second application are not controllable, and there is a security problem.
- Embodiments of the present application provide a method, apparatus, device, and storage medium for setting access control authority of a device.
- the technical solution is as follows:
- a method for setting access control authority of a device the method is executed by an Internet of Things device, and the method includes:
- the open pairing command request is a request by the first application to require the IoT device to open a pairing function; wherein the open pairing command request includes the first First permission information set by an application, where the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- a method for setting a device access control authority is provided, the method is executed by a first application, and the method includes:
- the open pairing command request is a request by the first application to require the Internet of Things device to open a pairing function; wherein the open pairing command request includes the first application
- the first permission information set by the program, the first permission information is used to set the access control permission of the second application program for the Internet of Things device.
- a method for setting access control permissions of a device the method is executed by a second application, and the method includes:
- the OT data sharing information includes the first permission information
- ACL Access Control List, access control list
- the permission information is set by the first application, and the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- an apparatus for setting access control authority of a device comprising:
- a request receiving module configured to receive an open pairing command request from a first application, where the open pairing command request is a request by the first application to require the IoT device to open the pairing function; wherein the open pairing command request is It includes first permission information set by the first application, where the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- an apparatus for setting access control authority of a device comprising:
- a request sending module is configured to send an open pairing command request to the Internet of Things device, where the open pairing command request is a request by the first application to request the Internet of Things device to open the pairing function; wherein the open pairing command request includes all the first permission information set by the first application, where the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- an apparatus for setting access control authority of a device comprising:
- an information receiving module for receiving OT data sharing information from the first application
- a setting request module configured to send an ACL information setting request carrying the first permission information to the IoT device when the OT data sharing information includes first permission information; wherein the first permission information is Set by the first application, the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- an Internet of Things device includes a transceiver
- the transceiver configured to receive an open pairing command request from a first application, where the open pairing command request is a request by the first application to require the Internet of Things device to open a pairing function; wherein the pairing open The command request includes first permission information set by the first application, where the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- a terminal device includes a transceiver
- the transceiver is configured to send an open pairing command request to the Internet of Things device, where the open pairing command request is a request by the first application to require the Internet of Things device to open the pairing function; wherein the open pairing command request includes first permission information set by the first application, where the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- a terminal device includes a transceiver
- the transceiver for receiving OT data sharing information from the first application
- the transceiver is further configured to send an ACL information setting request carrying the first permission information to the IoT device when the OT data sharing information includes the first permission information; wherein the first permission The information is set by the first application, and the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- a computer-readable storage medium where a computer program is stored in the storage medium, and the computer program is configured to be executed by a processor to implement the device access on the device side of the Internet of Things.
- a method for setting a control authority or a method for setting a device access control authority on the side of the first application, or a method for setting a device access control authority on the side of the second application.
- a chip is provided.
- the chip includes a programmable logic circuit and/or program instructions. When the chip is running, it is used to implement the device access control permission on the device side of the Internet of Things.
- a computer program product or computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium, and a processor loads from the computer program.
- a computer-readable storage medium reads and executes the computer instructions, so as to implement the above-mentioned method for setting device access control rights on the IoT device side, or the above-mentioned method for setting device access control rights on the first application side, or the above-mentioned second method.
- the setting method of the device access control permission on the application side is provided.
- the first permission information set by the first application By carrying the first permission information set by the first application in the open pairing command request sent by the first application to the IoT device, the first permission information is used to control the access of the second application to the IoT device Permissions are set, so that before the second application is paired with the IoT device, the first application can set the permissions of the second application, so that the permissions of the second application are controllable, which is helpful for to improve security.
- FIG. 1 is a schematic diagram of a solution implementation environment provided by an embodiment of the present application.
- FIG. 3 is a flowchart of a method for setting device access control authority provided by an embodiment of the present application
- FIG. 4 is a flowchart of a method for setting device access control authority provided by another embodiment of the present application.
- FIG. 5 is a flowchart of a method for setting device access control authority provided by another embodiment of the present application.
- FIG. 6 is a flowchart of a method for setting a device access control authority provided by another embodiment of the present application.
- FIG. 7 is a block diagram of an apparatus for setting device access control authority provided by an embodiment of the present application.
- FIG. 8 is a block diagram of an apparatus for setting device access control authority provided by another embodiment of the present application.
- FIG. 9 is a block diagram of an apparatus for setting device access control authority provided by another embodiment of the present application.
- FIG. 10 is a schematic structural diagram of an Internet of Things device provided by an embodiment of the present application.
- FIG. 11 is a schematic structural diagram of a terminal device provided by an embodiment of the present application.
- FIG. 1 shows a schematic diagram of a solution implementation environment provided by an embodiment of the present application.
- the solution implementation environment may include: a first terminal device 10 , an IoT device 20 and a second terminal device 30 .
- the implementation environment can be implemented as an Internet system (such as a home/enterprise intelligent networking system), in which the IoT system can include multiple IoT devices and multiple terminal devices, and the terminal devices can perform access control to the IoT devices.
- the IoT system can include multiple IoT devices and multiple terminal devices, and the terminal devices can perform access control to the IoT devices.
- Terminal devices may include various handheld devices (such as mobile phones, tablet computers, etc.) with wireless communication functions, vehicle-mounted devices, wearable devices, computing devices or connected to wireless Other processing equipment of the modem, as well as various forms of user equipment (User Equipment, UE), mobile station (Mobile Station, MS), terminal equipment (terminal device) and so on.
- UE User Equipment
- MS Mobile Station
- terminal equipment terminal device
- the terminal device may be installed and run an application program for access control of the IoT device 20 .
- the application installed in the first terminal device 10 for accessing the Internet of Things device 20 is called a first application
- the application installed in the second terminal device 30 for accessing the Internet of Things device 20 The controlling application is called the second application.
- the first application program is referred to as APP A
- the second application program is referred to as APP B.
- the above-mentioned first application program and second application program may belong to the same ecology, or may belong to different ecology.
- the ecology may refer to a platform built by an application provider, a device manufacturer, or an operating system provider based on the same or different architectures.
- the ecosystem (or platform) to which an application belongs is used to provide background services for the application, such as data storage, reading, and cross-platform interaction with other ecosystems.
- the ecosystems of different manufacturers include, but are not limited to, the ecosystems of different application providers such as Apple, Google, Huawei, OPPO, etc., and may also include but are not limited to Android ecosystems, IOS ecosystems, or some other ecosystems. Ecosystem provided by native operating system or customized operating system.
- the first application is provided by a first manufacturer (eg, Apple), and the second application is provided by a second manufacturer (eg, Google), then the first application and the second application have different offers manufacturers, so these two applications belong to two different ecosystems.
- the first application is an application in a first operating system (such as an IOS operating system), and the second application is an operation in a second operating system (such as an Android operating system or an operation customized based on the Android operating system) system), so these two applications belong to two different operating systems and belong to two different ecosystems.
- the IoT device 20 can be any smart device with networking capabilities. Taking a smart home device as an example, it can be a smart TV, a smart speaker, a smart air conditioner, a smart electric light, a smart door and window, a smart curtain, a smart socket, etc., which is not limited in this application.
- Communication between the terminal device and the IoT device 20 can be performed through a network.
- a network such as Zigbee (Zigbee) network, BLE mesh (Bluetooth Low Energy, Bluetooth Low Energy) network, WiFi (Wireless Fidelity, wireless fidelity), etc., which are not limited in this application.
- the same IoT device 20 may be accessed by multiple terminal devices (or applications).
- a certain smart light may be accessed by multiple terminal devices (or applications) corresponding to multiple family members (such as father, mother, child, nanny, etc.).
- the second application (such as APP B, which is different from another application of APP A) program) and then perform pairing configuration on the device
- the second application program has the same administrator authority as the first application program.
- the mother uses the first terminal device (the first application program is installed in the first terminal device, APP A), and the child uses the second terminal device (the second application program is installed in the second terminal device, APP B)
- the first terminal device The terminal device and the second terminal device are two different terminal devices (eg, two different mobile phones).
- APP B After the mother uses APP A to complete pairing with a smart light bulb and has the administrator (Administer) authority of the smart light bulb, when the child uses APP B to pair and configure the smart light bulb, APP B has the same administrator as APP A permissions. In this case, APP B has the highest authority of the smart light bulb, and APP B can modify the authority of APP A, which has the problem of uncontrollable authority of APP B and security problems.
- administrator administrator
- APP A represents the first application
- APP B represents the second application
- Node represents the IoT device
- the first application and the second application belong to different ecosystems.
- the process may include the following steps (201-216):
- Step 201 APP A, as the first ecology of Node, firstly generates OT (Onboarding Token, self-registration token) data;
- Step 202 the user of APP A decides whether to start the Node to enter the pairing mode (to make the device enter a state that can be connected by other ecological configurations);
- Step 203 APP A sends an open pairing command request to Node, carrying OT data, and the data format is TLV (Tag-Length-Value, tag-length-content);
- Step 204 Node sends APP A a return message indicating whether the pairing state is started successfully
- Step 205 Node publishes DNS-SD data according to DNS-SD (DNS Service Discovery, DNS Service Discovery) data in the OT;
- DNS-SD DNS Service Discovery, DNS Service Discovery
- Step 206 APP A shares the OT data to APP B in an out-of-band manner, and APP B belongs to the second ecosystem;
- Step 207 APP B performs the query of DNS-SD data
- Step 208 APP B discovers the DNS-SD data sent by Node, and resolves the IP (Internet Protocol, Internet Protocol) address and port number;
- IP Internet Protocol, Internet Protocol
- Step 209 APP B and Node establish a secure connection according to the PIN (Personal Identification Number, personal identification code) in the OT data;
- PIN Personal Identification Number, personal identification code
- Step 210 APP B initiates device authentication to the Node, and sends an operational (operation) CSR (Certificate Signing Request, certificate signing request) to the device; the device authentication process requires the built-in PAA (Product Attestation Authority) and CD ( Certification Declaration) information is verified, and the device is paired and certified by APP A, so there is fabric object (organization object) information generated by APP A;
- CSR Chip Signing Request, certificate signing request
- Step 211 Node sends the CSR, CD, and fabric object information to APP B (APP B checks the CD of the device and checks whether the device is certified by the CHIP (Connected Home over IP Working Group, under the Zigbee Alliance) certification body Pass);
- CHIP Connected Home over IP Working Group, under the Zigbee Alliance
- Step 212 APP B decides to create a new fabric ID or to use the fabric ID from the fabric object information; wherein, the fabric ID is the identifier allocated by the ecology for the device;
- Step 213, APP B sends the CSR information and fabric ID sent by Node to CA B (the certificate authority of APP B);
- Step 214 CA B generates OC (Operational Credential, operation credential) according to the CSR data information, and returns to APP B together with the ecological root certificate RC.B;
- Step 215 APP B sets ACL (Access Control List, access control list) information to the device, and the data includes: OC (including NodeID information, FabricID information, and operation certificate information generated for the device), root certificate RC.B, the default device ACL information (privilege (authority) defaults to administrator (administrator authority), target_struct can be the default resource information when the device leaves the factory);
- ACL Access Control List, access control list
- Step 216 additionally generate ACL information for APP B on the Node, and the Node removes the OT data.
- the OT data in TLV format includes the information shown in Table 1 below:
- ALC privilege includes several privileges shown in Table 2 below:
- FIG. 3 shows a flowchart of a method for setting a device access control authority provided by an embodiment of the present application. This method can be applied in the implementation environment of the protocol shown in FIG. 1 . The method may include the following steps:
- Step 310 the first application sends an open pairing command request to the IoT device, where the open pairing command request is a request by the first application to request the IoT device to open the pairing function; wherein the open pairing command request includes the first application setting
- the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- the IoT device receives an open pairing command request from the first application. After the IoT device receives the open pairing command request, the pairing function is turned on. After the pairing function is turned on, the IoT device can be discovered and paired by other applications, that is, the IoT device enters a state that can be configured and connected by other applications. .
- the open pairing command request includes the first permission information set by the first application, and the first permission information is used to set the access control permission of the second application for the Internet of Things device. . That is, before the second application is paired with the IoT device, the permission of the second application is set by the first application and sent to the IoT device, thereby realizing the permission to the second application Controllable.
- the open pairing command request includes OT data
- the OT data includes first permission information.
- Table 1 and Table 3 if the solution provided by the related technology is adopted, the OT data included in the open pairing command request is shown in Table 1, including Version (version), VID (vendor identification), PID (product identification code) ), Discriminator (identifier), PIN (personal identification number), DNS-SD and Special Instructions.
- the OT data included in the open pairing command request may be as shown in Table 3.
- Privilege (permission level) and Target_struct (target structure data) are additionally added.
- Privilege (privilege level) and Target_struct (target structure data) are information related to privilege settings.
- Privilege (privilege level) but not Target_struct (target structure data) may be included in the OT data.
- Target_struct (target structure data) may be included in the OT data but not Privilege (privilege level).
- Privilege (privilege level) and Target_struct (target structure data) are included in the OT data.
- the first permission information includes a permission level, ie, the above-mentioned Privilege.
- a permission level ie, the above-mentioned Privilege.
- Different permission levels have different permissions.
- the permission levels include the five permissions listed in Table 2 above.
- the authority level may also be increased, decreased or modified according to actual needs, which is not limited in this application.
- the authority level included in the first authority information is any one of the following:
- the first permission level (equivalent to the Administer permission in Table 2), which has the permission to view and modify the ACL cluster to which the IoT device belongs;
- the second permission level (equivalent to the Manage permission in Table 2) has the permission to modify the configuration of the IoT device;
- the third permission level (equivalent to the Operate permission in Table 2) has the permission to control the operation of IoT devices;
- the fourth permission level (equivalent to the View permission in Table 2) has the permission to read and view the device information of the IoT device;
- the fifth permission level (equivalent to the None permission in Table 2) does not have permission to access IoT devices.
- the first permission information further includes target structure data, that is, the above-mentioned Target_struct.
- the target structure data is used to indicate the setting object corresponding to the authority level.
- the setting object may be the above-mentioned Internet of Things device, or may be a certain function/module in the above-mentioned Internet of Things device.
- the target structure data includes at least one of the following information: endpoint (endpoint), device type (DeviceType), service cluster (cluster).
- endpoint endpoint
- DeviceType device type
- service cluster cluster
- the node may have multiple endpoints (Endpoint), each endpoint has a corresponding device type (DeviceType), each There may be multiple service clusters (Server Cluster, referred to as "cluster") under an endpoint.
- Server Cluster referred to as "cluster”
- attributes Attribute
- each attribute has its own data type and data content (Type&Data).
- an IoT device includes 2 lights (denoted as light 1 and light 2) and 1 fan, then the IoT device can include 3 endpoints (corresponding to the above 2 lights and 1 fan, each light/ The fan can be regarded as an endpoint), the lamp and the fan belong to different device types.
- the lamp can include multiple service clusters such as switch control, brightness adjustment, and color adjustment.
- the fan can also include switch control, fan speed control, and cooling and heating control. etc. multiple service clusters.
- targeted permission settings can be performed on one or more setting objects in the IoT device, so as to achieve a more fine-grained permission setting capability.
- the permission level included in the first permission information is the Operate permission
- the target structure data is Endpoint 0 (for example, referring to the light 1 in the above example)
- Lamp 1 in the networked device has Operate permission.
- the permission level included in the first permission information is the View permission
- the target structure data is Endpoint 2 (for example, referring to the fan in the above example)
- Fans in networked devices have View permissions.
- the first authority information may include a set of corresponding authority levels and target structure data, or may include multiple groups of corresponding authority levels and target structure data (to implement access control authority for multiple setting objects). set up).
- first application program and the second application program may belong to different ecosystems, or may belong to the same ecosystem, which is not limited in this application.
- first application and the second application belong to two different ecosystems, for example, the first application belongs to the first ecosystem, and the second application belongs to the second ecosystem, and the first ecosystem and the second ecosystem are Two different ecosystems.
- the technical solutions provided by the embodiments of the present application utilize the first permission by carrying the first permission information set by the first application in the open pairing command request sent by the first application to the IoT device.
- the information sets the access control permission of the second application for the Internet of Things device, so that the permission of the second application is set by the first application before the second application is paired with the Internet of Things device. , to achieve controllable permissions to the second application, which helps to improve security.
- the first application may set permissions other than the administrator permission (Administer permission) for the second application by configuring the first permission information, thereby ensuring the administrator permission of the first application not changed.
- the second application does not have the ability to modify the ACL information of the device after configuring the device.
- the mother is the holder of the first application, and the child is the holder of the second application.
- the mother assigns access control rights other than administrator rights to the child's second application through the first application to prevent the second application from modifying the operation rights of the device after successfully accessing the device.
- the first application can also provide the second application with device resource information (that is, the above-mentioned target structure data) that can be accessed and controlled by the second application by default by configuring the first permission information.
- the above method further includes:
- Step 320 the first application sends the OT data sharing information to the second application.
- the second application receives the OT data sharing information from the first application.
- the OT data sharing information is the OT data shared by the first application to the second application in an out-of-band manner.
- the out-of-band method here refers to a method that is not based on the transfer of the IoT device, for example, the first application sends the OT data sharing information to the second application through email, file transfer, or other methods.
- OT data sharing information includes OT data, such as Version (version), VID (vendor identification), PID (product identification code), Discriminator (identification identification), PIN (personal identification number), DNS-SD and Special introduced above Instructions (special instructions) and other data.
- Version version
- VID vendor identification
- PID product identification code
- Discriminator identification identification
- PIN personal identification number
- DNS-SD special introduced above Instructions (special instructions) and other data.
- the first permission information is not included in the OT data sharing information.
- the above method further includes the following steps 330 to 350:
- Step 330 in the case where the first permission information is not included in the OT data sharing information, the second application sends an ACL information setting request carrying the second permission information to the IoT device; wherein the second permission information is the second application Access control permissions for IoT devices set for itself based on default rules.
- the IoT device receives the ACL information setting request from the second application, where the ACL information setting request includes the second permission information.
- the second application can generate the above-mentioned second permission information based on the default rule.
- the permission level included in the second permission information is the Administer permission
- the target data structure is the default resource information when the device leaves the factory.
- the default rules may also be other preset rules, which are not limited in this application.
- the second application in the case where the OT data sharing information includes the first permission information, can also set the access control permission for the IoT device for itself based on the default rule, and send the information to the IoT device with the The ACL information setting request of the second permission information.
- the IoT device also needs to perform the following step 340 to determine whether the second permission information matches the first permission information.
- Step 340 if the second permission information does not match the first permission information, the IoT device sets the permission information of the second application as the first permission information, and stores the permission information of the second application in the ACL information.
- the second authority information matches the first authority information, which may mean that the second authority information is the same as the first authority information; correspondingly, the second authority information does not match the first authority information, which may mean that the second authority information is the same as the first authority
- the permission information is not the same.
- the authority information includes authority levels
- the authority level included in the second authority information is the same as the authority level included in the first authority information, it means that the second authority information matches the first authority information;
- the authority level included in the second authority information is different from the authority level included in the first authority information, it means that the second authority information does not match the first authority information.
- the authority level included in the second authority information is the same as the authority level included in the first authority information, and the target structure data included in the second authority information
- the second authority information is consistent with the first authority information; on the contrary, the authority level included in the second authority information is different from the authority level included in the first authority information.
- the target structure data included in the second authority information is different from the target structure data included in the first authority information, it means that the second authority information does not match the first authority information.
- the first permission information shall prevail, that is, the IoT device sets the permission information of the second application as the first permission information, and stores the second permission information in the ACL information. Permission information for the application.
- the first permission information or the second permission information may prevail, that is, the IoT device sets the permission information of the second application as the first permission information or the second permission information, and the permission information of the second application is stored in the ACL information.
- Step 350 the IoT device sends the permission information of the second application to the second application.
- the second application receives permission information of the second application from the IoT device.
- the IoT device sends the permission information of the second application to the second application, and the permission information of the second application is the first permission information.
- the OT data sharing information sent by the first application to the second application may not include the first permission information.
- the second application sets access control for the IoT device for itself based on the default rules permission, then when the IoT device stores the ACL information corresponding to the second application, the first permission information set by the first application shall prevail, so that the permission of the first application to the second application is controllable.
- the OT data sharing information includes the first permission information, so that the second application program carries the first permission information when sending the ACL information setting request to the IoT device.
- the above method further includes the following steps 360-380:
- Step 360 in the case where the first permission information is included in the OT data sharing information, the second application sends an ACL information setting request carrying the first permission information to the IoT device; wherein the first permission information is the first application setting of.
- the IoT device receives an ACL information setting request from the second application, where the ACL information setting request includes the first permission information.
- the OT data sharing information includes the first permission information
- the second application sets the access control permission for the IoT device for itself
- the first permission information shall prevail, and the default rule shall not prevail.
- Step 370 if the ACL information setting request includes the first permission information and passes the verification, the IoT device sets the permission information of the second application as the first permission information, and stores the permission information of the second application in the ACL information .
- Step 380 If the ACL information setting request includes that the first permission information verification fails, the IoT device terminates the pairing process with the second application.
- the IoT device After receiving the ACL information setting request from the second application, the IoT device verifies whether the first permission information included in the ACL information setting request is the same as the first permission information provided by the first application, and if the two are the same, then The verification is passed, otherwise if the two are not the same, the verification fails. If the verification is passed, the IoT device sets the permission information of the second application as the first permission information, and stores the permission information of the second application in the ACL information. If the verification fails, the IoT device terminates the pairing process with the second application. Optionally, the IoT device also sends the verification result to the second application.
- the OT data sharing information sent by the first application to the second application includes the first permission information.
- the second application sets the access control permission for the Internet of Things device for itself, the second application uses this The first permission information shall prevail.
- the IoT device verifies the first permission information included in the ACL information setting request to verify whether the second application adopts the first application.
- the access control authority configured by the program can control the authority of the first application program to the second application program.
- Step 501 APP A, as the first ecology of Node, first generates OT data, the OT data includes first permission information, the first permission information is set by APP A, and the first permission information is used to set APP B for Node. access control rights;
- Step 502 the user of APP A decides whether to start the Node to enter the pairing mode (to make the device enter a state that can be connected by other ecological configurations);
- Step 503 APP A sends an open pairing command request to Node, carrying OT data (the OT data carries the above-mentioned first permission information), and the data format is TLV;
- Step 504 Node sends APP A a return message indicating whether the pairing state is started successfully
- Step 505 Node publishes DNS-SD data according to the DNS-SD data in the OT;
- Step 506 APP A shares the OT data (the OT data may carry the first authority information, or may not carry the first authority information) to APP B in an out-of-band manner, and APP B belongs to the second ecology;
- Step 507 APP B performs the query of DNS-SD data
- Step 508 APP B discovers the DNS-SD data sent by Node, and resolves the IP address and port number;
- Step 509, APP B and Node establish a secure connection according to the PIN in the OT data;
- Step 510 APP B initiates device authentication to the Node, and sends an operational CSR to the device; the device authentication process needs to verify the built-in PAA and CD information of the device, and the device is paired and authenticated by APP A, so there is a APP generated by APP A.
- Step 511 Node sends CSR, CD, fabric object information to APP B (APP B checks the CD of the device, and checks whether the device has been certified by the CHIP certification body);
- Step 512 APP B decides to create a new fabric ID or use the fabric ID from the fabric object information
- Step 513 APP B sends the CSR information and fabric ID sent by Node to CA B (the certificate authority of APP B);
- Step 514 CA B generates OC according to the CSR data information, and returns it to APP B together with the ecological root certificate RC.B;
- Step 515 APP B sends an ACL information setting request to Node, and the data includes: OC (including NodeID information, FabricID information, and operation certificate information generated for the device), root certificate RC.B, and the default ACL information of the device (that is, the second authority).
- Information, including privilege (authority) defaults to administrator (administrator authority), and target_struct can be the default resource information when the device leaves the factory);
- Step 516 additionally generate ACL information for APP B on the Node: compare the second permission information in the ACL information setting request with the first permission information contained in the OT data, if the two do not match, then APP B's permission The information is set as the first permission information;
- Step 517 return the ACL information of APP B, including the permission information of APP B;
- Step 518 Node removes the OT data.
- Step 601 APP A, as the first ecology of Node, first generates OT data, the OT data includes first permission information, the first permission information is set by APP A, and the first permission information is used to set APP B for Node. access control rights;
- Step 602 the user of APP A decides whether to start the Node to enter the pairing mode (to make the device enter a state that can be connected by other ecological configurations);
- Step 603 APP A sends an open pairing command request to Node, carrying OT data (the OT data carries the above-mentioned first permission information), and the data format is TLV;
- Step 604 Node sends to APP A a return message indicating whether the pairing state is started successfully
- Step 605 Node publishes DNS-SD data according to the DNS-SD data in the OT;
- Step 606 APP A shares the OT data (the OT data carries the first permission information) to APP B through an out-of-band method, and APP B belongs to the second ecosystem;
- Step 607 APP B performs the query of DNS-SD data
- Step 608 APP B discovers the DNS-SD data sent by Node, and resolves the IP address and port number;
- Step 609, APP B and Node establish a secure connection according to the PIN in the OT data
- Step 610 APP B initiates device authentication to the Node, and sends an operational CSR to the device; the device authentication process needs to verify the built-in PAA and CD information of the device, and the device has been paired and authenticated by APP A, so there is an APP generated by APP A.
- Step 611 Node sends CSR, CD, fabric object information to APP B (APP B checks the CD of the device, and checks whether the device has been certified by the CHIP certification body);
- Step 612 APP B decides to create a new fabric ID or use the fabric ID from the fabric object information
- Step 613 APP B sends the CSR information and fabric ID sent by Node to CA B (the certificate authority of APP B);
- Step 614 CA B generates OC according to the CSR data information, and returns it to APP B together with the ecological root certificate RC.B;
- Step 615 APP B sets the ACL information according to the first permission information
- Step 616 APP B sends an ACL information setting request to the Node, and the data includes: OC (including NodeID information, FabricID information, and operation certificate information generated for the device), root certificate RC.B, and the ACL information generated in step 615, including the first a permission information);
- Step 617 Node verifies whether the first permission information carried in the request is consistent with the first permission information in the OT data, if they are consistent, the verification passes, otherwise the verification fails;
- Step 618 the verification is passed, and Node sets the permission information of APP B as the first permission information, and stores it in the ACL information;
- Step 619 the verification fails, and Node terminates the pairing process with APP B;
- Step 620 Node removes the OT data.
- the technical solutions of the present application are mostly described from the perspective of interaction between the first application, the Internet of Things device, and the second application.
- the steps performed by the IoT device can be implemented independently as the method for setting device access control permissions on the IoT device side; the steps performed by the first application program can be independently implemented as the setting method for device access control permissions on the first application side The method; the steps performed by the second application program can be independently implemented as a method for setting the device access control authority on the side of the second application program.
- FIG. 7 shows a block diagram of an apparatus for setting access control authority of a device provided by an embodiment of the present application.
- the apparatus has the function of implementing the above-mentioned method example on the device side of the Internet of Things, and the function may be implemented by hardware, or by executing corresponding software in hardware.
- the device can be the Internet of Things device described above, or can be set in the Internet of Things device.
- the apparatus 700 may include:
- a request receiving module 710 configured to receive an open pairing command request from a first application, where the open pairing command request is a request by the first application to require the IoT device to open a pairing function; wherein the open pairing command request includes first permission information set by the first application, where the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- the first permission information includes a permission level.
- the first permission information further includes target structure data, where the target structure data is used to indicate a setting object corresponding to the permission level.
- the target structure data includes at least one item of the following information: endpoint, device type, and service cluster.
- the permission level is any one of the following:
- the first permission level has the permission to view and modify the ACL cluster to which the IoT device belongs;
- the second permission level has the permission to modify the configuration of the IoT device
- the third authority level has the authority to control the operation of the Internet of Things device
- the fourth permission level has the permission to read and view the device information of the IoT device
- the fifth permission level does not have permission to access the IoT device.
- the first application program and the second application program belong to different ecosystems.
- the open pairing command request includes OT data
- the OT data includes the first permission information
- the apparatus 700 further includes:
- the information storage module 720 is configured to store ACL information corresponding to the second application based on the first permission information.
- the information storage module 720 is used to:
- the ACL information setting request includes second permission information
- the second permission information is set by the second application for itself based on default rules for the Access control permissions for IoT devices
- the information storage module 720 is used to:
- ACL information setting request includes the first permission information and passes the verification, set the permission information of the second application as the first permission information, and store the second application in the ACL information Program permission information;
- the pairing process with the second application is terminated.
- FIG. 8 shows a block diagram of an apparatus for setting access control authority of a device provided by another embodiment of the present application.
- the apparatus has the function of implementing the above-mentioned method example on the first application side, and the function may be implemented by hardware, or by executing corresponding software on the hardware.
- the apparatus may be the first terminal device described above, or may be provided in the first terminal device.
- the apparatus 800 may include:
- the request sending module 810 is configured to send an open pairing command request to the Internet of Things device, where the open pairing command request is a request by the first application to request the Internet of Things device to open the pairing function; wherein the open pairing command request includes The first permission information set by the first application, where the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- the first permission information includes a permission level.
- the first permission information further includes target structure data, where the target structure data is used to indicate a setting object corresponding to the permission level.
- the target structure data includes at least one item of the following information: endpoint, device type, and service cluster.
- the permission level is any one of the following:
- the first permission level has the permission to view and modify the ACL cluster to which the IoT device belongs;
- the second permission level has the permission to modify the configuration of the IoT device
- the third authority level has the authority to control the operation of the Internet of Things device
- the fourth permission level has the permission to read and view the device information of the IoT device
- the fifth permission level does not have permission to access the IoT device.
- the first application program and the second application program belong to different ecosystems.
- the open pairing command request includes OT data
- the OT data includes the first permission information
- the apparatus 800 further includes:
- An information sending module 820 configured to send OT data sharing information to the second application, where the OT data sharing information does not include the first permission information.
- the apparatus 800 further includes:
- An information sending module 820 configured to send OT data sharing information to the second application, where the OT data sharing information includes the first permission information, so that the second application is sending OT data to the IoT device.
- the first permission information is carried when the ACL information setting request is sent.
- FIG. 9 shows a block diagram of an apparatus for setting an access control authority of a device provided by another embodiment of the present application.
- the apparatus has the function of implementing the above-mentioned method example on the second application side, and the function may be implemented by hardware or by executing corresponding software in hardware.
- the apparatus may be the second terminal device described above, or may be set in the second terminal device.
- the apparatus 900 may include:
- an information receiving module 910 configured to receive the OT data sharing information from the first application
- a setting request module 920 configured to send an ACL information setting request carrying the first permission information to the IoT device when the OT data sharing information includes the first permission information; wherein the first permission information is set by the first application, and the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- the first permission information includes a permission level.
- the first permission information further includes target structure data, where the target structure data is used to indicate a setting object corresponding to the permission level.
- the target structure data includes at least one item of the following information: endpoint, device type, and service cluster.
- the permission level is any one of the following:
- the first permission level has the permission to view and modify the ACL cluster to which the IoT device belongs;
- the second permission level has the permission to modify the configuration of the IoT device
- the third authority level has the authority to control the operation of the Internet of Things device
- the fourth permission level has the permission to read and view the device information of the IoT device
- the fifth permission level does not have permission to access the IoT device.
- the first application program and the second application program belong to different ecosystems.
- the setting request module 920 is further configured to send the second permission information to the Internet of Things device if the OT data sharing information does not include the first permission information The ACL information setting request; wherein, the second permission information is the access control permission for the Internet of Things device that is set for itself by the second application based on default rules.
- the apparatus 900 further includes: a permission receiving module (not shown in the figure), configured to receive permission information of the second application program from the Internet of Things device; wherein, the second application program The permission information is set based on the first permission information when the IoT device determines that the second permission information does not match the first permission information.
- a permission receiving module (not shown in the figure), configured to receive permission information of the second application program from the Internet of Things device; wherein, the second application program The permission information is set based on the first permission information when the IoT device determines that the second permission information does not match the first permission information.
- the device provided in the above embodiment realizes its functions, only the division of the above functional modules is used as an example for illustration. In practical applications, the above functions can be allocated to different functional modules according to actual needs. That is, the content structure of the device is divided into different functional modules to complete all or part of the functions described above.
- FIG. 10 shows a schematic structural diagram of an IoT device 100 provided by an embodiment of the present application.
- the IoT device 100 can be used to implement the above-mentioned method for setting device access control permissions on the IoT device side.
- the IoT device 100 may include: a processor 101 , a receiver 102 , a transmitter 103 , a memory 104 and a bus 105 .
- the processor 101 includes one or more processing cores, and the processor 101 executes various functional applications and information processing by running software programs and modules.
- the receiver 102 and the transmitter 103 may be implemented as a communication component, which may be a communication chip.
- the memory 104 is connected to the processor 101 through the bus 105 .
- the memory 104 can be used to store a computer program, and the processor 101 is used to execute the computer program, so as to implement various steps performed by the IoT device in the above method embodiments.
- the memory 104 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, and the volatile or non-volatile storage device includes but is not limited to: RAM (Random-Access Memory, random access memory) and ROM (Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory, Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory, Electrically Erasable Programmable Read-Only Memory) memory), flash memory or other solid-state storage technology, CD-ROM (Compact Disc Read-Only Memory), DVD (Digital Video Disc, high-density digital video disc) or other optical storage, tape cassettes, magnetic tapes, magnetic disks storage or other magnetic storage devices.
- RAM Random-Access Memory, random access memory
- ROM Read-Only Memory
- EPROM Erasable Programmable Read-Only Memory
- EEPROM Electrically Erasable Programmable Read-Only Memory
- flash memory or other solid-
- the IoT device includes a processor, a memory, and a transceiver (the transceiver may include a receiver and a transmitter, the receiver for receiving information and the transmitter for transmitting information);
- the transceiver is configured to receive an open pairing command request from a first application, where the open pairing command request is a request by the first application to require the IoT device to open a pairing function; wherein the open pairing command request includes first permission information set by the first application, where the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- the first permission information includes a permission level.
- the first permission information further includes target structure data, where the target structure data is used to indicate a setting object corresponding to the permission level.
- the target structure data includes at least one item of the following information: endpoint, device type, and service cluster.
- the permission level is any one of the following:
- the first permission level has the permission to view and modify the ACL cluster to which the IoT device belongs;
- the second permission level has the permission to modify the configuration of the IoT device
- the third authority level has the authority to control the operation of the Internet of Things device
- the fourth permission level has the permission to read and view the device information of the IoT device
- the fifth permission level does not have permission to access the IoT device.
- the first application program and the second application program belong to different ecosystems.
- the open pairing command request includes OT data
- the OT data includes the first permission information
- the processor is configured to store ACL information corresponding to the second application based on the first permission information.
- the transceiver is further configured to receive an ACL information setting request from the second application, where the ACL information setting request includes second permission information, and the second permission information is the second permission information.
- the processor is further configured to set the permission information of the second application as the first permission information if the second permission information does not match the first permission information, and store it in the ACL information permission information of the second application;
- the transceiver is further configured to send permission information of the second application to the second application.
- the transceiver is further configured to receive an ACL information setting request from the second application, where the ACL information setting request includes the first permission information, and the first permission information is Sent by the first application to the second application;
- the processor is further configured to set the permission information of the second application as the first permission information if the ACL information setting request includes the first permission information and pass the verification, and set the ACL information in the ACL information.
- the permission information of the second application is stored in the ACL; if the ACL information setting request includes that the verification of the first permission information fails, the pairing process with the second application is terminated.
- FIG. 11 shows a schematic structural diagram of a terminal device 111 provided by an embodiment of the present application.
- the terminal device 111 may be used to implement the above-mentioned method for setting device access control permissions on the side of the first application/second application.
- the terminal device 110 may include: a processor 111 , a receiver 112 , a transmitter 113 , a memory 114 and a bus 115 .
- the processor 111 includes one or more processing cores, and the processor 111 executes various functional applications and information processing by running software programs and modules.
- the receiver 112 and the transmitter 113 may be implemented as a communication component, which may be a communication chip.
- the memory 114 is connected to the processor 111 through the bus 115 .
- the memory 114 can be used to store a computer program, and the processor 111 is used to execute the computer program, so as to implement each step executed by the first application program/second application program in the above method embodiments.
- memory 114 may be implemented by any type or combination of volatile or non-volatile storage devices including, but not limited to, magnetic or optical disks, electrically erasable programmable Read Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Static Anytime Access Memory (SRAM), Read Only Memory (ROM), Magnetic Memory, Flash Memory, Programmable Read Only Memory (PROM) .
- EEPROM electrically erasable programmable Read Only Memory
- EPROM Erasable Programmable Read Only Memory
- SRAM Static Anytime Access Memory
- ROM Read Only Memory
- Magnetic Memory Magnetic Memory
- Flash Memory Programmable Read Only Memory
- the terminal device includes a processor, a memory, and a transceiver (the transceiver may include a receiver for receiving information and a transmitter for transmitting information) and a transmitter.
- the terminal device is the first terminal device running the first application program
- the transceiver is configured to send an open pairing command request to the Internet of Things device, where the open pairing command request is a request by the first application to require the Internet of Things device to open the pairing function; wherein the open pairing command request includes: The first permission information set by the first application, where the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- the first permission information includes a permission level.
- the first permission information further includes target structure data, where the target structure data is used to indicate a setting object corresponding to the permission level.
- the target structure data includes at least one item of the following information: endpoint, device type, and service cluster.
- the permission level is any one of the following:
- the first permission level has the permission to view and modify the ACL cluster to which the IoT device belongs;
- the second permission level has the permission to modify the configuration of the IoT device
- the third authority level has the authority to control the operation of the Internet of Things device
- the fourth permission level has the permission to read and view the device information of the IoT device
- the fifth permission level does not have permission to access the IoT device.
- the first application program and the second application program belong to different ecosystems.
- the open pairing command request includes OT data
- the OT data includes the first permission information
- the transceiver is further configured to send OT data sharing information to the second application, where the OT data sharing information does not include the first permission information.
- the transceiver is further configured to send OT data sharing information to the second application, where the OT data sharing information includes the first permission information, so that the second application
- the program carries the first permission information when sending the ACL information setting request to the IoT device.
- the terminal device is a second terminal device running the second application
- the transceiver is configured to receive OT data sharing information from the first application
- the transceiver is further configured to send an ACL information setting request carrying the first permission information to the IoT device when the OT data sharing information includes the first permission information; wherein the first permission information is set by the first application, and the first permission information is used to set the access control permission of the second application for the Internet of Things device.
- the first permission information includes a permission level.
- the first permission information further includes target structure data, where the target structure data is used to indicate a setting object corresponding to the permission level.
- the target structure data includes at least one item of the following information: endpoint, device type, and service cluster.
- the permission level is any one of the following:
- the first permission level has the permission to view and modify the ACL cluster to which the IoT device belongs;
- the second permission level has the permission to modify the configuration of the IoT device
- the third authority level has the authority to control the operation of the Internet of Things device
- the fourth permission level has the permission to read and view the device information of the IoT device
- the fifth permission level does not have permission to access the IoT device.
- the first application program and the second application program belong to different ecosystems.
- the transceiver is further configured to send the ACL information carrying the second permission information to the Internet of Things device if the OT data sharing information does not include the first permission information A setting request; wherein the second permission information is an access control permission for the Internet of Things device that is set for itself by the second application based on a default rule.
- the transceiver is further configured to receive permission information of the second application from the Internet of Things device; wherein the permission information of the second application is when the Internet of Things device determines the If the second authority information does not match the first authority information, it is set based on the first authority information.
- An exemplary embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored in the storage medium, and the computer program is configured to be executed by a processor to implement the device access control on the device side of the Internet of Things.
- a computer-readable storage medium where a computer program is stored in the storage medium, and the computer program is used to be executed by a processor of an IoT device, so as to implement the above-mentioned method for setting device access control rights on the IoT device side .
- Another example is a computer-readable storage medium, where a computer program is stored in the storage medium, and the computer program is used to be executed by a processor of a terminal device, so as to realize the setting of the device access control authority on the side of the first application program. method.
- Another example is a computer-readable storage medium, where a computer program is stored in the storage medium, and the computer program is used to be executed by a processor of a terminal device, so as to realize the setting of the device access control authority on the second application program side. method.
- An exemplary embodiment of the present application further provides a chip, where the chip includes a programmable logic circuit and/or program instructions, when the chip is running, it is used to implement the setting of the device access control authority on the device side of the Internet of Things. method, or the method for setting the device access control permission on the first application side, or the setting method for the device access control permission on the second application side.
- a chip includes programmable logic circuits and/or program instructions, and when the chip runs on an IoT device, it is used to implement the above method for setting device access control permissions on the IoT device side.
- a chip includes a programmable logic circuit and/or program instructions, and when the chip runs on a terminal device where a first application program is located, it is used to implement the device access on the side of the first application program. How to set control permissions.
- a chip which includes a programmable logic circuit and/or program instructions, is used to implement the device access on the second application side when the chip runs on the terminal device where the second application program is located. How to set control permissions.
- An exemplary embodiment of the present application also provides a computer program product or a computer program, the computer program product or computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium, and a processor is loaded from the computer.
- a readable storage medium reads and executes the computer instructions to implement the above-mentioned method for setting device access control rights on the IoT device side, or the above-mentioned method for setting device access control rights on the side of the first application, or the above-mentioned second application.
- the setting method of the device access control permission on the program side is
- a computer program product or computer program comprising computer instructions stored in a computer-readable storage medium from which a processor of an IoT device The computer instructions are read and executed to implement the above method for setting the device access control authority on the IoT device side.
- a computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium, and the processor of the terminal device is stored in the computer-readable storage medium from the computer.
- the computer instructions are read and executed to implement the method for setting the access control authority of the device on the side of the first application.
- a computer program product or computer program the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium, and the processor of the terminal device is stored in the computer-readable storage medium.
- the computer instructions are read and executed to implement the method for setting the device access control authority on the second application side.
- Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
- a storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种设备访问控制权限的设置方法、装置、设备及存储介质,涉及物联网技术领域。所述方法包括:第一应用程序向物联网设备发送打开配对命令请求,该打开配对命令请求是第一应用程序要求物联网设备打开配对功能的请求;其中,打开配对命令请求中包括第一应用程序设置的第一权限信息,该第一权限信息用于设置第二应用程序针对物联网设备的访问控制权限。本申请能够实现在第二应用程序与物联网设备建立配对之前,由第一应用程序对该第二应用程序所具有的权限进行设置,实现对第二应用程序的权限可控,有助于提升安全性。
Description
本申请实施例涉及物联网技术领域,特别涉及一种设备访问控制权限的设置方法、装置、设备及存储介质。
随着物联网技术的发展,用户可以通过终端设备中安装的APP(Application,应用程序)对物联网设备进行访问控制。
在相关技术中,在第一应用程序(如APP A)与某一物联网设备完成配对且具备该设备的管理员权限之后,第二应用程序(如APP B,不同于APP A的另一个应用程序)再对该设备进行配对配置时,该第二应用程序具备和第一应用程序同样的管理员权限。
在这种情况下,后配对的第二应用程序的权限不可控,存在安全性问题。
发明内容
本申请实施例提供了一种设备访问控制权限的设置方法、装置、设备及存储介质。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种设备访问控制权限的设置方法,所述方法由物联网设备执行,所述方法包括:
接收来自第一应用程序的打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
根据本申请实施例的一个方面,提供了一种设备访问控制权限的设置方法,所述方法由第一应用程序执行,所述方法包括:
向物联网设备发送打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
根据本申请实施例的一个方面,提供了一种设备访问控制权限的设置方法,所述方法由第二应用程序执行,所述方法包括:
接收来自第一应用程序的OT(Onboarding Token,自注册令牌)数据共享信息;
在所述OT数据共享信息中包括第一权限信息的情况下,向物联网设备发送携带所述第一权限信息的ACL(Access Control List,访问控制列表)信息设置请求;其中,所述第一权限信息是所述第一应用程序设置的,所述第一权限信息用于设置所述第二应用程序针对所述物联网设备的访问控制权限。
根据本申请实施例的一个方面,提供了一种设备访问控制权限的设置装置,所述装置包括:
请求接收模块,用于接收来自第一应用程序的打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
根据本申请实施例的一个方面,提供了一种设备访问控制权限的设置装置,所述装置包括:
请求发送模块,用于向物联网设备发送打开配对命令请求,所述打开配对命令请求是第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
根据本申请实施例的一个方面,提供了一种设备访问控制权限的设置装置,所述装置包括:
信息接收模块,用于接收来自第一应用程序的OT数据共享信息;
设置请求模块,用于在所述OT数据共享信息中包括第一权限信息的情况下,向物联网设备发送携带所述第一权限信息的ACL信息设置请求;其中,所述第一权限信息是所述第一应用程序设置的,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
根据本申请实施例的一个方面,提供了一种物联网设备,所述物联网设备包括收发器;
所述收发器,用于接收来自第一应用程序的打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
根据本申请实施例的一个方面,提供了一种终端设备,所述终端设备包括收发器;
所述收发器,用于向物联网设备发送打开配对命令请求,所述打开配对命令请求是所述第一应用程序 要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
根据本申请实施例的一个方面,提供了一种终端设备,所述终端设备包括收发器;
所述收发器,用于接收来自第一应用程序的OT数据共享信息;
所述收发器,还用于在所述OT数据共享信息中包括第一权限信息的情况下,向物联网设备发送携带所述第一权限信息的ACL信息设置请求;其中,所述第一权限信息是所述第一应用程序设置的,所述第一权限信息用于设置所述第二应用程序针对所述物联网设备的访问控制权限。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序用于被处理器执行,以实现上述物联网设备侧的设备访问控制权限的设置方法,或上述第一应用程序侧的设备访问控制权限的设置方法,或上述第二应用程序侧的设备访问控制权限的设置方法。
根据本申请实施例的一个方面,提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时,用于实现上述物联网设备侧的设备访问控制权限的设置方法,或上述第一应用程序侧的设备访问控制权限的设置方法,或上述第二应用程序侧的设备访问控制权限的设置方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现上述物联网设备侧的设备访问控制权限的设置方法,或上述第一应用程序侧的设备访问控制权限的设置方法,或上述第二应用程序侧的设备访问控制权限的设置方法。
本申请实施例提供的技术方案可以带来如下有益效果:
通过在第一应用程序向物联网设备发送的打开配对命令请求中,携带该第一应用程序设置的第一权限信息,利用该第一权限信息对第二应用程序针对该物联网设备的访问控制权限进行设置,从而实现在第二应用程序与物联网设备建立配对之前,由第一应用程序对该第二应用程序所具有的权限进行设置,实现对第二应用程序的权限可控,有助于提升安全性。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的方案实施环境的示意图;
图2是相关技术提供的设备配对过程的流程图;
图3是本申请一个实施例提供的设备访问控制权限的设置方法的流程图;
图4是本申请另一个实施例提供的设备访问控制权限的设置方法的流程图;
图5是本申请另一个实施例提供的设备访问控制权限的设置方法的流程图;
图6是本申请另一个实施例提供的设备访问控制权限的设置方法的流程图;
图7是本申请一个实施例提供的设备访问控制权限的设置装置的框图;
图8是本申请另一个实施例提供的设备访问控制权限的设置装置的框图;
图9是本申请另一个实施例提供的设备访问控制权限的设置装置的框图;
图10是本申请一个实施例提供的物联网设备的结构示意图;
图11是本申请一个实施例提供的终端设备的结构示意图。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的方案实施环境的示意图。该方案实施环境可以包括:第一终端设备10、物联网设备20和第二终端设备30。该实施环境可以实现成为一个互联网系统(如家庭/企业智联网系统),在该物联网系统中,可以包括多个物联网设备以及多个终端设备,终端设备能够对物联网设备进行访问控制。
终端设备(包括上述第一终端设备10和第二终端设备30)可以包括各种具有无线通信功能的手持设备(如手机、平板电脑等)、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile Station,MS),终端设备(terminal device)等等。为方便描述,本申请实施例中,上面提到的设备统称为终端。
终端设备中可以安装运行用于对物联网设备20进行访问控制的应用程序。在一个示例中,第一终端设备10中安装的用于对物联网设备20进行访问控制的应用程序称为第一应用程序,第二终端设备30中安装的用于对物联网设备20进行访问控制的应用程序称为第二应用程序。为简化说明,在一些实施例中,将第一应用程序称为APP A,第二应用程序称为APP B。
可选地,上述第一应用程序和第二应用程序可以隶属于同一个生态,也可以隶属于不同的生态。在本申请实施例中,生态可以是指应用程序的提供厂商或者设备生产厂商或者操作系统提供商,基于相同或者不同架构搭建的平台。某一应用程序所属的生态(或者说平台),用于为该应用程序提供后台服务,如数据的存储、读取,以及与其他生态之间的跨平台交互等服务。可选地,不同厂商的生态包括但不限于苹果公司、谷歌公司、小米公司、华为公司、OPPO公司等不同应用程序提供厂商的生态,也可以包括但不限于安卓生态、IOS生态、或者其他一些原生操作系统或定制化操作系统所提供的生态。在一个示例中,第一应用程序由第一厂商(如苹果公司)提供,第二应用程序由第二厂商(如谷歌公司)提供,那么该第一应用程序和第二应用程序具有不同的提供厂商,因此这两个应用程序就属于两个不同的生态。在另一个示例中,第一应用程序是第一操作系统(如IOS操作系统)中的应用程序,第二应用程序是第二操作系统(如安卓操作系统或者基于安卓操作系统定制化开发的操作系统)中的应用程序,因此这两个应用程序属于两个不同操作系统,属于两个不同的生态。
物联网设备20可以是任何具有联网功能的智能设备。以智能家居设备为例,可以是智能电视、智能音箱、智能空调、智能电灯、智能门窗、智能窗帘、智能插座等设备,本申请对此不作限定。
终端设备和物联网设备20之间可以通过网络进行通信。如Zigbee(紫蜂)网络、BLE mesh(Bluetooth Low Energy,低功耗蓝牙)网络、WiFi(Wireless Fidelity,无线保真)等,本申请对此不作限定。
在一些应用场景中,同一个物联网设备20会被多个终端设备(或者说应用程序)进行访问控制。以家庭智联网系统为例,某一个智能电灯有可能会被多个家庭成员(如父亲、母亲、子女、保姆等)所对应的多个终端设备(或者说应用程序)进行访问控制。
在相关技术中,在第一应用程序(如APP A)与某一物联网设备完成配对且具备该设备的管理员权限之后,第二应用程序(如APP B,不同于APP A的另一个应用程序)再对该设备进行配对配置时,该第二应用程序具备和第一应用程序同样的管理员权限。例如,假设母亲使用第一终端设备(第一终端设备中安装第一应用程序,APP A),子女使用第二终端设备(第二终端设备中安装第二应用程序,APP B),该第一终端设备和第二终端设备是两台不同的终端设备(如两台不同的手机)。在母亲使用APP A与某一个智能电灯完成配对且具备该智能电灯的管理员(Administer)权限之后,子女再使用APP B对该智能电灯进行配对配置时,APP B具备和APP A同样的管理员权限。在这种情况下,APP B就具备了该智能电灯的最高权限,且APP B能够对APP A的权限进行修改,这就存在APP B的权限不可控的问题,存在安全性问题。
下面,结合图2,首先对相关技术提供的设备配对过程进行介绍说明。在图2中,APP A表示第一应用程序,APP B表示第二应用程序,Node表示物联网设备,且第一应用程序和第二应用程序隶属于不同的生态。该过程可以包括如下步骤(201~216):
步骤201,APP A作为Node的第一生态,首先生成OT(Onboarding Token,自注册令牌)数据;
步骤202,由APP A的用户决定是否启动Node进入配对模式(使设备进入可以被其他生态配置连接的状态);
步骤203,APP A向Node发送打开配对命令请求,携带OT数据,数据格式为TLV(Tag-Length-Value,标签-长度-内容);
步骤204,Node向APP A发送配对状态是否启动成功的返回信息;
步骤205,Node根据OT中DNS-SD(DNS Service Discovery,DNS服务发现)数据,发布DNS-SD数据;
步骤206,APP A通过带外方式将OT数据分享给APP B,APP B属于第二生态;
步骤207,APP B执行DNS-SD数据的查询;
步骤208,APP B发现Node发来的DNS-SD数据,解析IP(Internet Protocol,互联网协议)地址和端口号;
步骤209,APP B与Node根据OT数据中的PIN(Personal Identification Number,个人识别码)建立安全连接;
步骤210,APP B对Node发起设备认证,向设备发送operational(操作)CSR(Certificate Signing Request,证书签名请求);设备认证过程需要对设备内置的PAA(Product Attestation Authority,产品认证机构)和CD(Certification Declaration,认证声明)信息进行校验,且设备被APP A配对且认证过,所以存在由APP A生成的fabric object(组织对象)信息;
步骤211,Node将CSR、CD、fabric object信息发送给APP B(APP B检查设备的CD,检查设备是否被CHIP(Connected Home over IP Working Group,Zigbee联盟下通过IP连接家庭工作组)认证机构认证过);
步骤212,APP B决定创建新的fabric ID还是使用来自fabric object信息中的fabric ID;其中,fabric ID 是生态为设备分配的标识;
步骤213,APP B将Node发来的CSR信息和fabric ID发送给CA B(APP B的证书颁发机构);
步骤214,CA B根据CSR数据信息生成OC(Operational Credential,操作凭证),并连同生态的根证书RC.B返回给APP B;
步骤215,APP B向设备设置ACL(Access Control List,访问控制列表)信息,数据有:OC(包括为设备生成的NodeID信息、FabricID信息、操作证书信息),根证书RC.B,设备默认的ACL信息(其中privilege(权限)默认为administer(管理员权限),target_struct可以是设备出厂时默认的资源信息);
步骤216,在Node上追加生成针对APP B的ACL信息,Node将OT数据移除。
其中,TLV格式的OT数据包括如下表1所示信息:
表1
另外,ALC privilege(ACL权限)包括如下表2示出的几种权限:
表2
本申请实施例提供的技术方案,如表3所示,在OT数据中添加权限信息(如包括Privilege和Target_struct),从而实现在第二应用程序(APP B)与物联网设备建立配对之前,由第一应用程序(APP A)对该第二应用程序(APP B)所具有的权限进行设置,实现对第二应用程序(APP B)的权限可控。
表3
下面,将通过几个实施例对本申请技术方案进行详细介绍说明。
请参考图3,其示出了本申请一个实施例提供的设备访问控制权限的设置方法的流程图。该方法可应用于图1所示的方案实施环境中。该方法可以包括如下几个步骤:
步骤310,第一应用程序向物联网设备发送打开配对命令请求,该打开配对命令请求是第一应用程序要求物联网设备打开配对功能的请求;其中,打开配对命令请求中包括第一应用程序设置的第一权限信息,该第一权限信息用于设置第二应用程序针对物联网设备的访问控制权限。
相应地,物联网设备接收来自第一应用程序的打开配对命令请求。物联网设备接收到该打开配对命令请求之后,打开配对功能,在打开配对功能之后,该物联网设备能够被其他应用程序发现和配对,也即物联网设备进入能够被其他应用程序配置连接的状态。
与相关技术所不同的是,在本申请中,打开配对命令请求中包括第一应用程序设置的第一权限信息,该第一权限信息用于设置第二应用程序针对物联网设备的访问控制权限。也即,在第二应用程序与物联网设备建立配对之前,由第一应用程序对该第二应用程序所具有的权限进行设置,并发送给物联网设备,从而实现对第二应用程序的权限可控。
在一个示例中,打开配对命令请求中包括OT数据,该OT数据中包括第一权限信息。例如,参考表1和表3,如果采用相关技术提供的方案,打开配对命令请求中包括的OT数据如表1所示,包括Version(版本)、VID(供应商标识)、PID(产品识别码)、Discriminator(鉴别标识)、PIN(个人识别码)、DNS-SD 和Special Instructions(特殊说明)。采用本申请技术方案,打开配对命令请求中包括的OT数据可以如表3所示,除了包括上述几项信息之外,还额外添加了Privilege(权限等级)和Target_struct(目标结构数据)。
Privilege(权限等级)和Target_struct(目标结构数据)都是与权限设置相关的信息。在一些实施例中,OT数据中可以包括Privilege(权限等级)但不包括Target_struct(目标结构数据)。在一些实施例中,OT数据中可以包括Target_struct(目标结构数据)但不包括Privilege(权限等级)。在一些实施例中,OT数据中包括Privilege(权限等级)和Target_struct(目标结构数据)。
下面,对上述第一权限信息进行介绍说明。
在示例性实施例中,第一权限信息包括权限等级,即上述Privilege。不同的权限等级具有不同的权限。示例性地,权限等级包括上述表2列出的5种权限。当前,在实际应用中,还可以结合实际需求对权限等级进行增减或修改,本申请对此不作限定。
可选地,第一权限信息中包括的权限等级为以下任意一种:
第一权限等级(相当于表2中的Administer权限),具备查看和修改物联网设备所属的ACL集群的权限;
第二权限等级(相当于表2中的Manage权限),具备修改物联网设备的配置的权限;
第三权限等级(相当于表2中的Operate权限),具备控制物联网设备执行操作的权限;
第四权限等级(相当于表2中的View权限),具备读取和查看物联网设备的设备信息的权限;
第五权限等级(相当于表2中的None权限),不具备访问物联网设备的权限。
在示例性实施例中,第一权限信息还包括目标结构数据,即上述Target_struct。目标结构数据用于指示权限等级对应的设置对象。该设置对象可以是上述物联网设备,也可以是上述物联网设备中的某一个功能/模块。
在一个示例中,目标结构数据包括以下信息中的至少一项:端点(endpoint)、设备类型(DeviceType)、服务集群(cluster)。以物联网设备为Zigbee设备为例,一个Zigbee设备可以看作是网络中的一个节点(Node),该节点可能具有多个端点(Endpoint),每个端点具有相应的设备类型(DeviceType),每个端点下可能存在多个服务集群(Server Cluster,简称“集群”)。进一步地,每个集群下面可能存在多个属性(Attribute),每个属性都具备自己的数据类型和数据内容(Type&Data)。例如,某一物联网设备包括2个灯(记为灯1和灯2)和1个风扇,那么该物联网设备可以包括3个端点(对应上述2个灯和1个风扇,每个灯/风扇可以看作是一个端点),灯和风扇属于不同的设备类型,灯下面可以包括开关控制、亮度调节、颜色调节等多个服务集群,风扇下面也可以包括开关控制、风速控制、冷热控制等多个服务集群。
因此,在第一权限信息包括目标结构数据的情况下,可以对物联网设备中的某一个/多个设置对象进行针对性的权限设置,实现更细粒度的权限设置能力。例如,第一权限信息中包括的权限等级为Operate权限,目标结构数据为Endpoint 0(如指代上述例子中的灯1),那么表明第一应用程序设置的是,第二应用程序对该物联网设备中的灯1具备Operate权限。又例如,第一权限信息中包括的权限等级为View权限,目标结构数据为Endpoint 2(如指代上述例子中的风扇),那么表明第一应用程序设置的是,第二应用程序对该物联网设备中的风扇具备View权限。
需要说明的是,第一权限信息中可以包括一组相对应的权限等级和目标结构数据,也可以包括多组相对应的权限等级和目标结构数据(实现对多个设置对象的访问控制权限进行设置)。
此外,第一应用程序和第二应用程序可以隶属于不同的生态,也可以隶属于同一个生态,本申请对此不作限定。有关“生态”的介绍说明可参见上文,此处不再赘述。在一个示例中,第一应用程序和第二应用程序隶属于两个不同的生态,例如第一应用程序属于第一生态,第二应用程序属于第二生态,该第一生态和第二生态是两个不同生态。这样,通过本申请技术方案,能够实现一个生态中的应用程序,对另一个生态中的应用程序进行设备访问控制权限的设置,即实现跨生态(或者说跨平台)地设置设备访问控制权限,使得方案应用场景更具通用性和普适性。
综上所述,本申请实施例提供的技术方案,通过在第一应用程序向物联网设备发送的打开配对命令请求中,携带该第一应用程序设置的第一权限信息,利用该第一权限信息对第二应用程序针对该物联网设备的访问控制权限进行设置,从而实现在第二应用程序与物联网设备建立配对之前,由第一应用程序对该第二应用程序所具有的权限进行设置,实现对第二应用程序的权限可控,有助于提升安全性。
例如,在一个可选示例中,第一应用程序可以通过配置第一权限信息,为第二应用程序设置除管理员权限(Administer权限)之外的权限,从而保证第一应用程序的管理员权限不被更改。并且,第二应用程序在配置设备后不具备修改设备ACL信息的能力,例如:家庭网络中母亲作为第一应用程序的持有者,孩子作为第二应用程序持有者,针对家庭设备,在设备的配置阶段母亲就通过第一应用程序为孩子的第二应用程序分配好除管理员权限之外的访问控制权限,防止第二应用程序成功接入设备后修改设备的操作权限。另外,第一应用程序还可以通过配置第一权限信息,为第二应用程序提供可被第二应用程序默认访问 控制的设备资源信息(也即上述目标结构数据)。
在示例性实施例中,如图4所示,在上述步骤310第一应用程序向物联网设备发送打开配对命令请求之后,上述方法还包括:
步骤320,第一应用程序向第二应用程序发送OT数据共享信息。
相应地,第二应用程序接收来自第一应用程序的OT数据共享信息。
OT数据共享信息是第一应用程序通过带外方式向第二应用程序分享的OT数据。此处带外方式是指不基于物联网设备中转的方式,例如第一应用程序通过邮件、文件传输或者其他方式,向第二应用程序发送OT数据共享信息。
OT数据共享信息中包括OT数据,如上文介绍的Version(版本)、VID(供应商标识)、PID(产品识别码)、Discriminator(鉴别标识)、PIN(个人识别码)、DNS-SD和Special Instructions(特殊说明)等数据。
在一个示例中,OT数据共享信息中不包括第一权限信息。在这种情况下,如图4中的A部分所示,上述方法还包括如下步骤330~350:
步骤330,在OT数据共享信息中不包括第一权限信息的情况下,第二应用程序向物联网设备发送携带第二权限信息的ACL信息设置请求;其中,第二权限信息是第二应用程序基于默认规则为自身设置的针对物联网设备的访问控制权限。
相应地,物联网设备接收来自第二应用程序的ACL信息设置请求,该ACL信息设置请求中包括第二权限信息。
可选地,如果默认规则为将权限等级默认设置为Administer权限,将目标数据结构设置为设备出厂时默认的资源信息,那么第二应用程序可以基于该默认规则生成上述第二权限信息,该第二权限信息中包括的权限等级为Administer权限,目标数据结构为设备出厂时默认的资源信息。当然,在一些实施例中,默认规则还可以是其他预先设定的规则,本申请对此不作限定。
在一些其他实施例中,在OT数据共享信息中包括第一权限信息的情况下,第二应用程序也可以基于默认规则为自身设置针对物联网设备的访问控制权限,并向物联网设备发送携带第二权限信息的ACL信息设置请求。在这种情况下,物联网设备同样需要执行下述步骤340,判断第二权限信息与第一权限信息是否相符。
步骤340,若第二权限信息与第一权限信息不相符,则物联网设备将第二应用程序的权限信息设置为第一权限信息,并在ACL信息中存储第二应用程序的权限信息。
第二权限信息与第一权限信息相符,可以是指第二权限信息与第一权限信息相同;相应地,第二权限信息与第一权限信息不相符,可以是指第二权限信息与第一权限信息不相同。
在一个示例中,假设权限信息包括权限等级,在第二权限信息中包括的权限等级与第一权限信息中包括的权限等级相同时,表示第二权限信息与第一权限信息相符;反之,在第二权限信息中包括的权限等级与第一权限信息中包括的权限等级不相同时,表示第二权限信息与第一权限信息不相符。
在另一个示例中,假设权限信息包括权限等级和目标结构数据,在第二权限信息中包括的权限等级与第一权限信息中包括的权限等级相同,且第二权限信息中包括的目标结构数据与第一权限信息中包括的目标结构数据也相同时,表示第二权限信息与第一权限信息相符;反之,在第二权限信息中包括的权限等级与第一权限信息中包括的权限等级不相同,和/或,第二权限信息中包括的目标结构数据与第一权限信息中包括的目标结构数据不相同时,表示第二权限信息与第一权限信息不相符。
若第二权限信息与第一权限信息不相符,那么以第一权限信息为准,也即物联网设备将第二应用程序的权限信息设置为第一权限信息,并在ACL信息中存储第二应用程序的权限信息。
另外,若第二权限信息与第一权限信息相符,则以第一权限信息或第二权限信息为准均可,也即物联网设备将第二应用程序的权限信息设置为第一权限信息或第二权限信息,并在ACL信息中存储第二应用程序的权限信息。
步骤350,物联网设备向第二应用程序发送第二应用程序的权限信息。
相应地,第二应用程序接收来自物联网设备的该第二应用程序的权限信息。
可选地,在第二权限信息与第一权限信息不相符的情况下,物联网设备向第二应用程序发送第二应用程序的权限信息,该第二应用程序的权限信息为第一权限信息。
在本实施例中,第一应用程序向第二应用程序发送的OT数据共享信息中可以不包括第一权限信息,此时如果第二应用程序基于默认规则为自身设置针对物联网设备的访问控制权限,那么物联网设备在存储该第二应用程序对应的ACL信息时,以第一应用程序设置的第一权限信息为准,实现第一应用程序对第二应用程序的权限可控。
在另一个示例中,OT数据共享信息中包括第一权限信息,以使得第二应用程序在向物联网设备发送ACL信息设置请求时,携带第一权限信息。在这种情况下,如图4中的B部分所示,上述方法还包括如下步骤360~380:
步骤360,在OT数据共享信息中包括第一权限信息的情况下,第二应用程序向物联网设备发送携带第一权限信息的ACL信息设置请求;其中,第一权限信息是第一应用程序设置的。
相应地,物联网设备接收来自第二应用程序的ACL信息设置请求,该ACL信息设置请求中包括第一权限信息。
如果OT数据共享信息中包括第一权限信息,那么第二应用程序在为自身设置针对物联网设备的访问控制权限时,以该第一权限信息为准,不再以默认规则为准。
步骤370,若ACL信息设置请求中包括第一权限信息校验通过,则物联网设备将第二应用程序的权限信息设置为第一权限信息,并在ACL信息中存储第二应用程序的权限信息。
步骤380,若ACL信息设置请求中包括第一权限信息校验未通过,则物联网设备终止与第二应用程序的配对流程。
物联网设备在接收到来自第二应用程序的ACL信息设置请求之后,校验该ACL信息设置请求中包括第一权限信息与第一应用程序提供的第一权限信息是否相同,如果两者相同则校验通过,否则如果两者不相同则校验未通过。在校验通过的情况下,物联网设备将第二应用程序的权限信息设置为第一权限信息,并在ACL信息中存储第二应用程序的权限信息。在校验未通过的情况下,物联网设备终止与第二应用程序的配对流程。可选地,物联网设备还向第二应用程序发送校验结果。
在本实施例中,第一应用程序向第二应用程序发送的OT数据共享信息中包括第一权限信息,此时第二应用程序在为自身设置针对物联网设备的访问控制权限时,以该第一权限信息为准,物联网设备在存储该第二应用程序对应的ACL信息时,对ACL信息设置请求中包括的第一权限信息进行校验,核实第二应用程序是否采用了第一应用程序配置的访问控制权限,从而实现第一应用程序对第二应用程序的权限可控。
下面,结合图5,对本申请提供的一示例性实施例进行介绍说明,其可以包括如下几个步骤:
步骤501,APP A作为Node的第一生态,首先生成OT数据,该OT数据中包括第一权限信息,该第一权限信息是APP A设置的,该第一权限信息用于设置APP B针对Node的访问控制权限;
步骤502,由APP A的用户决定是否启动Node进入配对模式(使设备进入可以被其他生态配置连接的状态);
步骤503,APP A向Node发送打开配对命令请求,携带OT数据(该OT数据中携带上述第一权限信息),数据格式为TLV;
步骤504,Node向APP A发送配对状态是否启动成功的返回信息;
步骤505,Node根据OT中DNS-SD数据,发布DNS-SD数据;
步骤506,APP A通过带外方式将OT数据(该OT数据中可以携带第一权限信息,也可以不携带第一权限信息)分享给APP B,APP B属于第二生态;
步骤507,APP B执行DNS-SD数据的查询;
步骤508,APP B发现Node发来的DNS-SD数据,解析IP地址和端口号;
步骤509,APP B与Node根据OT数据中的PIN建立安全连接;
步骤510,APP B对Node发起设备认证,向设备发送operational CSR;设备认证过程需要对设备内置的PAA和CD信息进行校验,且设备被APP A配对且认证过,所以存在由APP A生成的fabric object(组织对象)信息;
步骤511,Node将CSR、CD、fabric object信息发送给APP B(APP B检查设备的CD,检查设备是否被CHIP认证机构认证过);
步骤512,APP B决定创建新的fabric ID还是使用来自fabric object信息中的fabric ID;
步骤513,APP B将Node发来的CSR信息和fabric ID发送给CA B(APP B的证书颁发机构);
步骤514,CA B根据CSR数据信息生成OC,并连同生态的根证书RC.B返回给APP B;
步骤515,APP B向Node发送ACL信息设置请求,数据有:OC(包括为设备生成的NodeID信息、FabricID信息、操作证书信息),根证书RC.B,设备默认的ACL信息(即第二权限信息,包括privilege(权限)默认为administer(管理员权限),target_struct可以是设备出厂时默认的资源信息);
步骤516,在Node上追加生成针对APP B的ACL信息:将ACL信息设置请求中的第二权限信息与OT数据中包含的第一权限信息比较,若两者不相符,则将APP B的权限信息设置为第一权限信息;
步骤517,返回APP B的ACL信息,包括APP B的权限信息;
步骤518,Node将OT数据移除。
下面,结合图6,对本申请提供的一示例性实施例进行介绍说明,其可以包括如下几个步骤:
步骤601,APP A作为Node的第一生态,首先生成OT数据,该OT数据中包括第一权限信息,该第一权限信息是APP A设置的,该第一权限信息用于设置APP B针对Node的访问控制权限;
步骤602,由APP A的用户决定是否启动Node进入配对模式(使设备进入可以被其他生态配置连接的状态);
步骤603,APP A向Node发送打开配对命令请求,携带OT数据(该OT数据中携带上述第一权限信息),数据格式为TLV;
步骤604,Node向APP A发送配对状态是否启动成功的返回信息;
步骤605,Node根据OT中DNS-SD数据,发布DNS-SD数据;
步骤606,APP A通过带外方式将OT数据(该OT数据中携带第一权限信息)分享给APP B,APP B属于第二生态;
步骤607,APP B执行DNS-SD数据的查询;
步骤608,APP B发现Node发来的DNS-SD数据,解析IP地址和端口号;
步骤609,APP B与Node根据OT数据中的PIN建立安全连接;
步骤610,APP B对Node发起设备认证,向设备发送operational CSR;设备认证过程需要对设备内置的PAA和CD信息进行校验,且设备被APP A配对且认证过,所以存在由APP A生成的fabric object(组织对象)信息;
步骤611,Node将CSR、CD、fabric object信息发送给APP B(APP B检查设备的CD,检查设备是否被CHIP认证机构认证过);
步骤612,APP B决定创建新的fabric ID还是使用来自fabric object信息中的fabric ID;
步骤613,APP B将Node发来的CSR信息和fabric ID发送给CA B(APP B的证书颁发机构);
步骤614,CA B根据CSR数据信息生成OC,并连同生态的根证书RC.B返回给APP B;
步骤615,APP B根据第一权限信息,设置ACL信息;
步骤616,APP B向Node发送ACL信息设置请求,数据有:OC(包括为设备生成的NodeID信息、FabricID信息、操作证书信息),根证书RC.B,以及步骤615生成的ACL信息,包括第一权限信息);
步骤617,Node校验请求中携带的第一权限信息和OT数据中的第一权限信息是否一致,若一致则校验通过,否则校验未通过;
步骤618,校验通过,Node将APP B的权限信息设置为第一权限信息,并在ACL信息中存储;
步骤619,校验未通过,Node终止与APP B的配对流程;
步骤620,Node将OT数据移除。
需要说明的是,在上述方法实施例中,大多从第一应用程序、物联网设备以及第二应用程序交互的角度,对本申请技术方案进行了介绍说明。有关物联网设备执行的步骤,可以单独实现成为物联网设备侧的设备访问控制权限的设置方法;有关第一应用程序执行的步骤,可以单独实现成为第一应用程序侧的设备访问控制权限的设置方法;有关第二应用程序执行的步骤,可以单独实现成为第二应用程序侧的设备访问控制权限的设置方法。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图7,其示出了本申请一个实施例提供的设备访问控制权限的设置装置的框图。该装置具有实现上述物联网设备侧的方法示例的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该装置可以是上文介绍的物联网设备,也可以设置在物联网设备中。如图7所示,该装置700可以包括:
请求接收模块710,用于接收来自第一应用程序的打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
在一个可选实施例中,所述第一权限信息包括权限等级。
可选地,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
可选地,所述目标结构数据包括以下信息中的至少一项:端点、设备类型、服务集群。
可选地,所述权限等级为以下任意一种:
第一权限等级,具备查看和修改所述物联网设备所属的ACL集群的权限;
第二权限等级,具备修改所述物联网设备的配置的权限;
第三权限等级,具备控制所述物联网设备执行操作的权限;
第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;
第五权限等级,不具备访问所述物联网设备的权限。
在一个可选实施例中,所述第一应用程序和所述第二应用程序隶属于不同的生态。
在一个可选实施例中,所述打开配对命令请求中包括OT数据,所述OT数据中包括所述第一权限信息。
在一个可选实施例中,如图7所示,所述装置700还包括:
信息存储模块720,用于基于所述第一权限信息,存储与所述第二应用程序对应的ACL信息。
在一个示例中,所述信息存储模块720,用于:
接收来自所述第二应用程序的ACL信息设置请求,所述ACL信息设置请求中包括第二权限信息,所述第二权限信息是所述第二应用程序基于默认规则为自身设置的针对所述物联网设备的访问控制权限;
若所述第二权限信息与所述第一权限信息不相符,则将所述第二应用程序的权限信息设置为所述第一权限信息,并在ACL信息中存储所述第二应用程序的权限信息;
向所述第二应用程序发送所述第二应用程序的权限信息。
在另一个示例中,所述信息存储模块720,用于:
接收来自所述第二应用程序的ACL信息设置请求,所述ACL信息设置请求中包括所述第一权限信息,所述第一权限信息是所述第一应用程序发送给所述第二应用程序的;
若所述ACL信息设置请求中包括所述第一权限信息校验通过,则将所述第二应用程序的权限信息设置为所述第一权限信息,并在ACL信息中存储所述第二应用程序的权限信息;
若所述ACL信息设置请求中包括所述第一权限信息校验未通过,则终止与所述第二应用程序的配对流程。
请参考图8,其示出了本申请另一个实施例提供的设备访问控制权限的设置装置的框图。该装置具有实现上述第一应用程序侧的方法示例的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该装置可以是上文介绍的第一终端设备,也可以设置在第一终端设备中。如图8所示,该装置800可以包括:
请求发送模块810,用于向物联网设备发送打开配对命令请求,所述打开配对命令请求是第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
在一个可选实施例中,所述第一权限信息包括权限等级。
可选地,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
可选地,所述目标结构数据包括以下信息中的至少一项:端点、设备类型、服务集群。
可选地,所述权限等级为以下任意一种:
第一权限等级,具备查看和修改所述物联网设备所属的ACL集群的权限;
第二权限等级,具备修改所述物联网设备的配置的权限;
第三权限等级,具备控制所述物联网设备执行操作的权限;
第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;
第五权限等级,不具备访问所述物联网设备的权限。
在一个可选实施例中,所述第一应用程序和所述第二应用程序隶属于不同的生态。
在一个可选实施例中,所述打开配对命令请求中包括OT数据,所述OT数据中包括所述第一权限信息。
在一个可选实施例中,如图8所示,所述装置800还包括:
信息发送模块820,用于向所述第二应用程序发送OT数据共享信息,所述OT数据共享信息中不包括所述第一权限信息。
在一个可选实施例中,如图8所示,所述装置800还包括:
信息发送模块820,用于向所述第二应用程序发送OT数据共享信息,所述OT数据共享信息中包括所述第一权限信息,以使得所述第二应用程序在向所述物联网设备发送ACL信息设置请求时,携带所述第一权限信息。
请参考图9,其示出了本申请另一个实施例提供的设备访问控制权限的设置装置的框图。该装置具有实现上述第二应用程序侧的方法示例的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该装置可以是上文介绍的第二终端设备,也可以设置在第二终端设备中。如图9所示,该装置900可以包括:
信息接收模块910,用于接收来自第一应用程序的OT数据共享信息;
设置请求模块920,用于在所述OT数据共享信息中包括第一权限信息的情况下,向物联网设备发送携带所述第一权限信息的ACL信息设置请求;其中,所述第一权限信息是所述第一应用程序设置的,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
在一个可选实施例中,所述第一权限信息包括权限等级。
可选地,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
可选地,所述目标结构数据包括以下信息中的至少一项:端点、设备类型、服务集群。
可选地,所述权限等级为以下任意一种:
第一权限等级,具备查看和修改所述物联网设备所属的ACL集群的权限;
第二权限等级,具备修改所述物联网设备的配置的权限;
第三权限等级,具备控制所述物联网设备执行操作的权限;
第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;
第五权限等级,不具备访问所述物联网设备的权限。
在一个可选实施例中,所述第一应用程序和所述第二应用程序隶属于不同的生态。
在一个可选实施例中,所述设置请求模块920,还用于在所述OT数据共享信息中不包括所述第一权限信息的情况下,向所述物联网设备发送携带第二权限信息的ACL信息设置请求;其中,所述第二权限信息是所述第二应用程序基于默认规则为自身设置的针对所述物联网设备的访问控制权限。
可选地,所述装置900还包括:权限接收模块(图中未示出),用于接收来自所述物联网设备的所述第二应用程序的权限信息;其中,所述第二应用程序的权限信息是所述物联网设备在确定所述第二权限信息与所述第一权限信息不相符的情况下,基于所述第一权限信息设置的。
需要说明的一点是,上述实施例提供的装置在实现其功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
请参考图10,其示出了本申请一个实施例提供的物联网设备100的结构示意图。该物联网设备100可以用于实现上述物联网设备侧的设备访问控制权限的设置方法。该物联网设备100可以包括:处理器101、接收器102、发射器103、存储器104和总线105。
处理器101包括一个或者一个以上处理核心,处理器101通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。
接收器102和发射器103可以实现为一个通信组件,该通信组件可以是一块通信芯片。
存储器104通过总线105与处理器101相连。
存储器104可用于存储计算机程序,处理器101用于执行该计算机程序,以实现上述方法实施例中的物联网设备执行的各个步骤。
此外,存储器104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:RAM(Random-Access Memory,随机存储器)和ROM(Read-Only Memory,只读存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦写可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM(Compact Disc Read-Only Memory,只读光盘)、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。
在示例性实施例中,所述物联网设备包括处理器、存储器和收发器(该收发器可以包括接收器和发射器,接收器用于接收信息,发射器用于发送信息);
所述收发器用于接收来自第一应用程序的打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设 置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
在一个可选实施例中,所述第一权限信息包括权限等级。
可选地,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
可选地,所述目标结构数据包括以下信息中的至少一项:端点、设备类型、服务集群。
可选地,所述权限等级为以下任意一种:
第一权限等级,具备查看和修改所述物联网设备所属的ACL集群的权限;
第二权限等级,具备修改所述物联网设备的配置的权限;
第三权限等级,具备控制所述物联网设备执行操作的权限;
第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;
第五权限等级,不具备访问所述物联网设备的权限。
在一个可选实施例中,所述第一应用程序和所述第二应用程序隶属于不同的生态。
在一个可选实施例中,所述打开配对命令请求中包括OT数据,所述OT数据中包括所述第一权限信息。
在一个可选实施例中,所述处理器用于基于所述第一权限信息,存储与所述第二应用程序对应的ACL信息。
在一个示例中,所述收发器还用于接收来自所述第二应用程序的ACL信息设置请求,所述ACL信息设置请求中包括第二权限信息,所述第二权限信息是所述第二应用程序基于默认规则为自身设置的针对所述物联网设备的访问控制权限;
所述处理器还用于若所述第二权限信息与所述第一权限信息不相符,则将所述第二应用程序的权限信息设置为所述第一权限信息,并在ACL信息中存储所述第二应用程序的权限信息;
所述收发器还用于向所述第二应用程序发送所述第二应用程序的权限信息。
在另一个示例中,所述收发器,还用于接收来自所述第二应用程序的ACL信息设置请求,所述ACL信息设置请求中包括所述第一权限信息,所述第一权限信息是所述第一应用程序发送给所述第二应用程序的;
所述处理器还用于若所述ACL信息设置请求中包括所述第一权限信息校验通过,则将所述第二应用程序的权限信息设置为所述第一权限信息,并在ACL信息中存储所述第二应用程序的权限信息;若所述ACL信息设置请求中包括所述第一权限信息校验未通过,则终止与所述第二应用程序的配对流程。
请参考图11,其示出了本申请一个实施例提供的终端设备111的结构示意图。该终端设备111可以用于实现上述第一应用程序/第二应用程序侧的设备访问控制权限的设置方法。该终端设备110可以包括:处理器111、接收器112、发射器113、存储器114和总线115。
处理器111包括一个或者一个以上处理核心,处理器111通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。
接收器112和发射器113可以实现为一个通信组件,该通信组件可以是一块通信芯片。
存储器114通过总线115与处理器111相连。
存储器114可用于存储计算机程序,处理器111用于执行该计算机程序,以实现上述方法实施例中的第一应用程序/第二应用程序执行的各个步骤。
此外,存储器114可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘或光盘,电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),静态随时存取存储器(SRAM),只读存储器(ROM),磁存储器,快闪存储器,可编程只读存储器(PROM)。
在示例性实施例中,所述终端设备包括处理器、存储器和收发器(该收发器可以包括接收器和发射器,接收器用于接收信息,发射器用于发送信息)。
在所述终端设备为运行有第一应用程序的第一终端设备的情况下,
所述收发器用于向物联网设备发送打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
在一个可选实施例中,所述第一权限信息包括权限等级。
可选地,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
可选地,所述目标结构数据包括以下信息中的至少一项:端点、设备类型、服务集群。
可选地,所述权限等级为以下任意一种:
第一权限等级,具备查看和修改所述物联网设备所属的ACL集群的权限;
第二权限等级,具备修改所述物联网设备的配置的权限;
第三权限等级,具备控制所述物联网设备执行操作的权限;
第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;
第五权限等级,不具备访问所述物联网设备的权限。
在一个可选实施例中,所述第一应用程序和所述第二应用程序隶属于不同的生态。
在一个可选实施例中,所述打开配对命令请求中包括OT数据,所述OT数据中包括所述第一权限信息。
在一个可选实施例中,所述收发器还用于向所述第二应用程序发送OT数据共享信息,所述OT数据共享信息中不包括所述第一权限信息。
在一个可选实施例中,所述收发器还用于向所述第二应用程序发送OT数据共享信息,所述OT数据共享信息中包括所述第一权限信息,以使得所述第二应用程序在向所述物联网设备发送ACL信息设置请求时,携带所述第一权限信息。
在所述终端设备为运行有第二应用程序的第二终端设备的情况下,
所述收发器用于接收来自第一应用程序的OT数据共享信息;
所述收发器还用于在所述OT数据共享信息中包括第一权限信息的情况下,向物联网设备发送携带所述第一权限信息的ACL信息设置请求;其中,所述第一权限信息是所述第一应用程序设置的,所述第一权限信息用于设置所述第二应用程序针对所述物联网设备的访问控制权限。
在一个可选实施例中,所述第一权限信息包括权限等级。
可选地,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
可选地,所述目标结构数据包括以下信息中的至少一项:端点、设备类型、服务集群。
可选地,所述权限等级为以下任意一种:
第一权限等级,具备查看和修改所述物联网设备所属的ACL集群的权限;
第二权限等级,具备修改所述物联网设备的配置的权限;
第三权限等级,具备控制所述物联网设备执行操作的权限;
第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;
第五权限等级,不具备访问所述物联网设备的权限。
在一个可选实施例中,所述第一应用程序和所述第二应用程序隶属于不同的生态。
在一个可选实施例中,所述收发器还用于在所述OT数据共享信息中不包括所述第一权限信息的情况下,向所述物联网设备发送携带第二权限信息的ACL信息设置请求;其中,所述第二权限信息是所述第二应用程序基于默认规则为自身设置的针对所述物联网设备的访问控制权限。
可选地,所述收发器还用于接收来自所述物联网设备的所述第二应用程序的权限信息;其中,所述第二应用程序的权限信息是所述物联网设备在确定所述第二权限信息与所述第一权限信息不相符的情况下,基于所述第一权限信息设置的。
本申请一示例性实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序用于被处理器执行,以实现上述物联网设备侧的设备访问控制权限的设置方法,或上述第一应用程序侧的设备访问控制权限的设置方法,或上述第二应用程序侧的设备访问控制权限的设置方法。
例如,一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序用于被物联网设备的处理器执行,以实现上述物联网设备侧的设备访问控制权限的设置方法。
又例如,一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序用于被终端设备的处理器执行,以实现上述第一应用程序侧的设备访问控制权限的设置方法。
再例如,一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序用于被终端设备的处理器执行,以实现上述第二应用程序侧的设备访问控制权限的设置方法。
本申请一示例性实施例还提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时,用于实现上述物联网设备侧的设备访问控制权限的设置方法,或上述第一应用程序侧的设备访问控制权限的设置方法,或上述第二应用程序侧的设备访问控制权限的设置方法。
例如,一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片在物联网设备上运行时,用于实现上述物联网设备侧的设备访问控制权限的设置方法。
又例如,一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片在第一应用程序所在的 终端设备上运行时,用于实现上述第一应用程序侧的设备访问控制权限的设置方法。
再例如,一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片在第二应用程序所在的终端设备上运行时,用于实现上述第二应用程序侧的设备访问控制权限的设置方法。
本申请一示例性实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现上述物联网设备侧的设备访问控制权限的设置方法,或上述第一应用程序侧的设备访问控制权限的设置方法,或上述第二应用程序侧的设备访问控制权限的设置方法。
例如,一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,物联网设备的处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现上述物联网设备侧的设备访问控制权限的设置方法。
又例如,一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,终端设备的处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现上述第一应用程序侧的设备访问控制权限的设置方法。
再例如,一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,终端设备的处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现上述第二应用程序侧的设备访问控制权限的设置方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (60)
- 一种设备访问控制权限的设置方法,其特征在于,所述方法由物联网设备执行,所述方法包括:接收来自第一应用程序的打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
- 根据权利要求1所述的方法,其特征在于,所述第一权限信息包括权限等级。
- 根据权利要求2所述的方法,其特征在于,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
- 根据权利要求3所述的方法,其特征在于,所述目标结构数据包括以下信息中的至少一项:端点、设备类型、服务集群。
- 根据权利要求2至4任一项所述的方法,其特征在于,所述权限等级为以下任意一种:第一权限等级,具备查看和修改所述物联网设备所属的访问控制列表ACL集群的权限;第二权限等级,具备修改所述物联网设备的配置的权限;第三权限等级,具备控制所述物联网设备执行操作的权限;第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;第五权限等级,不具备访问所述物联网设备的权限。
- 根据权利要求1至5任一项所述的方法,其特征在于,所述第一应用程序和所述第二应用程序隶属于不同的生态。
- 根据权利要求1至6任一项所述的方法,其特征在于,所述打开配对命令请求中包括自注册令牌OT数据,所述OT数据中包括所述第一权限信息。
- 根据权利要求1至7任一项所述的方法,其特征在于,所述接收来自第一应用程序的打开配对命令请求之后,所述方法还包括:基于所述第一权限信息,存储与所述第二应用程序对应的ACL信息。
- 根据权利要求8所述的方法,其特征在于,所述基于所述第一权限信息,存储与所述第二应用程序对应的ACL信息,包括:接收来自所述第二应用程序的ACL信息设置请求,所述ACL信息设置请求中包括第二权限信息,所述第二权限信息是所述第二应用程序基于默认规则为自身设置的针对所述物联网设备的访问控制权限;若所述第二权限信息与所述第一权限信息不相符,则将所述第二应用程序的权限信息设置为所述第一权限信息,并在ACL信息中存储所述第二应用程序的权限信息;向所述第二应用程序发送所述第二应用程序的权限信息。
- 根据权利要求8所述的方法,其特征在于,所述基于所述第一权限信息,存储与所述第二应用程序对应的ACL信息,包括:接收来自所述第二应用程序的ACL信息设置请求,所述ACL信息设置请求中包括所述第一权限信息,所述第一权限信息是所述第一应用程序发送给所述第二应用程序的;若所述ACL信息设置请求中包括所述第一权限信息校验通过,则将所述第二应用程序的权限信息设置为所述第一权限信息,并在ACL信息中存储所述第二应用程序的权限信息;若所述ACL信息设置请求中包括所述第一权限信息校验未通过,则终止与所述第二应用程序的配对流程。
- 一种设备访问控制权限的设置方法,其特征在于,所述方法由第一应用程序执行,所述方法包括:向物联网设备发送打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
- 根据权利要求11所述的方法,其特征在于,所述第一权限信息包括权限等级。
- 根据权利要求12所述的方法,其特征在于,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
- 根据权利要求13所述的方法,其特征在于,所述目标结构数据包括以下信息中的至少一项:端点、设备类型、服务集群。
- 根据权利要求12至14任一项所述的方法,其特征在于,所述权限等级为以下任意一种:第一权限等级,具备查看和修改所述物联网设备所属的访问控制列表ACL集群的权限;第二权限等级,具备修改所述物联网设备的配置的权限;第三权限等级,具备控制所述物联网设备执行操作的权限;第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;第五权限等级,不具备访问所述物联网设备的权限。
- 根据权利要求11至15任一项所述的方法,其特征在于,所述第一应用程序和所述第二应用程序隶属于不同的生态。
- 根据权利要求11至16任一项所述的方法,其特征在于,所述打开配对命令请求中包括自注册令牌OT数据,所述OT数据中包括所述第一权限信息。
- 根据权利要求11至17任一项所述的方法,其特征在于,所述向物联网设备发送打开配对命令请求之后,所述方法还包括:向所述第二应用程序发送OT数据共享信息,所述OT数据共享信息中不包括所述第一权限信息。
- 根据权利要求11至17任一项所述的方法,其特征在于,所述向物联网设备发送打开配对命令请求之后,所述方法还包括:向所述第二应用程序发送OT数据共享信息,所述OT数据共享信息中包括所述第一权限信息,以使得所述第二应用程序在向所述物联网设备发送ACL信息设置请求时,携带所述第一权限信息。
- 一种设备访问控制权限的设置方法,其特征在于,所述方法由第二应用程序执行,所述方法包括:接收来自第一应用程序的自注册令牌OT数据共享信息;在所述OT数据共享信息中包括第一权限信息的情况下,向物联网设备发送携带所述第一权限信息的访问控制列表ACL信息设置请求;其中,所述第一权限信息是所述第一应用程序设置的,所述第一权限信息用于设置所述第二应用程序针对所述物联网设备的访问控制权限。
- 根据权利要求20所述的方法,其特征在于,所述第一权限信息包括权限等级。
- 根据权利要求21所述的方法,其特征在于,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
- 根据权利要求22所述的方法,其特征在于,所述目标结构数据包括以下信息中的至少一项:端点、设备类型、服务集群。
- 根据权利要求21至23任一项所述的方法,其特征在于,所述权限等级为以下任意一种:第一权限等级,具备查看和修改所述物联网设备所属的ACL集群的权限;第二权限等级,具备修改所述物联网设备的配置的权限;第三权限等级,具备控制所述物联网设备执行操作的权限;第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;第五权限等级,不具备访问所述物联网设备的权限。
- 根据权利要求20至24任一项所述的方法,其特征在于,所述第一应用程序和所述第二应用程序隶属于不同的生态。
- 根据权利要求20至25任一项所述的方法,其特征在于,所述接收来自第一应用程序的OT数据共享信息之后,所述方法还包括:在所述OT数据共享信息中不包括所述第一权限信息的情况下,向所述物联网设备发送携带第二权限信息的ACL信息设置请求;其中,所述第二权限信息是所述第二应用程序基于默认规则为自身设置的针对所述物联网设备的访问控制权限。
- 根据权利要求26所述的方法,其特征在于,所述向所述物联网设备发送携带第二权限信息的ACL信息设置请求之后,所述方法还包括:接收来自所述物联网设备的所述第二应用程序的权限信息;其中,所述第二应用程序的权限信息是所述物联网设备在确定所述第二权限信息与所述第一权限信息不相符的情况下,基于所述第一权限信息设置的。
- 一种设备访问控制权限的设置装置,其特征在于,所述装置包括:请求接收模块,用于接收来自第一应用程序的打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
- 根据权利要求28所述的装置,其特征在于,所述第一权限信息包括权限等级。
- 根据权利要求29所述的装置,其特征在于,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
- 根据权利要求30所述的装置,其特征在于,所述目标结构数据包括以下信息中的至少一项:端点、 设备类型、服务集群。
- 根据权利要求29至31任一项所述的装置,其特征在于,所述权限等级为以下任意一种:第一权限等级,具备查看和修改所述物联网设备所属的访问控制列表ACL集群的权限;第二权限等级,具备修改所述物联网设备的配置的权限;第三权限等级,具备控制所述物联网设备执行操作的权限;第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;第五权限等级,不具备访问所述物联网设备的权限。
- 根据权利要求28至32任一项所述的装置,其特征在于,所述第一应用程序和所述第二应用程序隶属于不同的生态。
- 根据权利要求28至33任一项所述的装置,其特征在于,所述打开配对命令请求中包括自注册令牌OT数据,所述OT数据中包括所述第一权限信息。
- 根据权利要求28至34任一项所述的装置,其特征在于,所述装置还包括:信息存储模块,用于基于所述第一权限信息,存储与所述第二应用程序对应的ACL信息。
- 根据权利要求35所述的装置,其特征在于,所述信息存储模块,用于:接收来自所述第二应用程序的ACL信息设置请求,所述ACL信息设置请求中包括第二权限信息,所述第二权限信息是所述第二应用程序基于默认规则为自身设置的针对所述物联网设备的访问控制权限;若所述第二权限信息与所述第一权限信息不相符,则将所述第二应用程序的权限信息设置为所述第一权限信息,并在ACL信息中存储所述第二应用程序的权限信息;向所述第二应用程序发送所述第二应用程序的权限信息。
- 根据权利要求35所述的装置,其特征在于,所述信息存储模块,用于:接收来自所述第二应用程序的ACL信息设置请求,所述ACL信息设置请求中包括所述第一权限信息,所述第一权限信息是所述第一应用程序发送给所述第二应用程序的;若所述ACL信息设置请求中包括所述第一权限信息校验通过,则将所述第二应用程序的权限信息设置为所述第一权限信息,并在ACL信息中存储所述第二应用程序的权限信息;若所述ACL信息设置请求中包括所述第一权限信息校验未通过,则终止与所述第二应用程序的配对流程。
- 一种设备访问控制权限的设置装置,其特征在于,所述装置包括:请求发送模块,用于向物联网设备发送打开配对命令请求,所述打开配对命令请求是第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
- 根据权利要求38所述的装置,其特征在于,所述第一权限信息包括权限等级。
- 根据权利要求39所述的装置,其特征在于,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
- 根据权利要求40所述的装置,其特征在于,所述目标结构数据包括以下信息中的至少一项:端点、设备类型、服务集群。
- 根据权利要求39至41任一项所述的装置,其特征在于,所述权限等级为以下任意一种:第一权限等级,具备查看和修改所述物联网设备所属的访问控制列表ACL集群的权限;第二权限等级,具备修改所述物联网设备的配置的权限;第三权限等级,具备控制所述物联网设备执行操作的权限;第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;第五权限等级,不具备访问所述物联网设备的权限。
- 根据权利要求38至42任一项所述的装置,其特征在于,所述第一应用程序和所述第二应用程序隶属于不同的生态。
- 根据权利要求38至43任一项所述的装置,其特征在于,所述打开配对命令请求中包括自注册令牌OT数据,所述OT数据中包括所述第一权限信息。
- 根据权利要求38至44任一项所述的装置,其特征在于,所述装置还包括:信息发送模块,用于向所述第二应用程序发送OT数据共享信息,所述OT数据共享信息中不包括所述第一权限信息。
- 根据权利要求38至44任一项所述的装置,其特征在于,所述装置还包括:信息发送模块,用于向所述第二应用程序发送OT数据共享信息,所述OT数据共享信息中包括所述第一权限信息,以使得所述第二应用程序在向所述物联网设备发送ACL信息设置请求时,携带所述第一权限信息。
- 一种设备访问控制权限的设置装置,其特征在于,所述装置包括:信息接收模块,用于接收来自第一应用程序的自注册令牌OT数据共享信息;设置请求模块,用于在所述OT数据共享信息中包括第一权限信息的情况下,向物联网设备发送携带所述第一权限信息的访问控制列表ACL信息设置请求;其中,所述第一权限信息是所述第一应用程序设置的,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
- 根据权利要求47所述的装置,其特征在于,所述第一权限信息包括权限等级。
- 根据权利要求48所述的装置,其特征在于,所述第一权限信息还包括目标结构数据,所述目标结构数据用于指示所述权限等级对应的设置对象。
- 根据权利要求49所述的装置,其特征在于,所述目标结构数据包括以下信息中的至少一项:端点、设备类型、服务集群。
- 根据权利要求48至50任一项所述的装置,其特征在于,所述权限等级为以下任意一种:第一权限等级,具备查看和修改所述物联网设备所属的ACL集群的权限;第二权限等级,具备修改所述物联网设备的配置的权限;第三权限等级,具备控制所述物联网设备执行操作的权限;第四权限等级,具备读取和查看所述物联网设备的设备信息的权限;第五权限等级,不具备访问所述物联网设备的权限。
- 根据权利要求47至51任一项所述的装置,其特征在于,所述第一应用程序和所述第二应用程序隶属于不同的生态。
- 根据权利要求47至52任一项所述的装置,其特征在于,所述设置请求模块,还用于在所述OT数据共享信息中不包括所述第一权限信息的情况下,向所述物联网设备发送携带第二权限信息的ACL信息设置请求;其中,所述第二权限信息是所述第二应用程序基于默认规则为自身设置的针对所述物联网设备的访问控制权限。
- 根据权利要求53所述的装置,其特征在于,所述装置还包括:权限接收模块,用于接收来自所述物联网设备的所述第二应用程序的权限信息;其中,所述第二应用程序的权限信息是所述物联网设备在确定所述第二权限信息与所述第一权限信息不相符的情况下,基于所述第一权限信息设置的。
- 一种物联网设备,其特征在于,所述物联网设备包括收发器;所述收发器,用于接收来自第一应用程序的打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
- 一种终端设备,其特征在于,所述终端设备包括收发器;所述收发器,用于向物联网设备发送打开配对命令请求,所述打开配对命令请求是所述第一应用程序要求所述物联网设备打开配对功能的请求;其中,所述打开配对命令请求中包括所述第一应用程序设置的第一权限信息,所述第一权限信息用于设置第二应用程序针对所述物联网设备的访问控制权限。
- 一种终端设备,其特征在于,所述终端设备包括收发器;所述收发器,用于接收来自第一应用程序的自注册令牌OT数据共享信息;所述收发器,还用于在所述OT数据共享信息中包括第一权限信息的情况下,向物联网设备发送携带所述第一权限信息的访问控制列表ACL信息设置请求;其中,所述第一权限信息是所述第一应用程序设置的,所述第一权限信息用于设置所述第二应用程序针对所述物联网设备的访问控制权限。
- 一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序用于被处理器执行,以实现如权利要求1至10任一项所述的设备访问控制权限的设置方法,或者如权利要求11至19任一项所述的设备访问控制权限的设置方法,或者如权利要求20至27任一项所述的设备访问控制权限的设置方法。
- 一种芯片,其特征在于,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时,用于实现如权利要求1至10任一项所述的设备访问控制权限的设置方法,或者如权利要求11至19任一项所述的设备访问控制权限的设置方法,或者如权利要求20至27任一项所述的设备访问控制权限的设置方法。
- 一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现如权利要求1至10任一项所述的设备访问控制权限的设置方法,或者如权利要求11至19任一项所述的设备访问控制权限的设置方法,或者如权利要求20至27任一项所述的设备访问控制权限的设置方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/078763 WO2022183381A1 (zh) | 2021-03-02 | 2021-03-02 | 设备访问控制权限的设置方法、装置、设备及存储介质 |
CN202180070736.4A CN116420339A (zh) | 2021-03-02 | 2021-03-02 | 设备访问控制权限的设置方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/078763 WO2022183381A1 (zh) | 2021-03-02 | 2021-03-02 | 设备访问控制权限的设置方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022183381A1 true WO2022183381A1 (zh) | 2022-09-09 |
Family
ID=83153811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/078763 WO2022183381A1 (zh) | 2021-03-02 | 2021-03-02 | 设备访问控制权限的设置方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116420339A (zh) |
WO (1) | WO2022183381A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615004A (zh) * | 2014-12-31 | 2015-05-13 | 北京海尔广科数字技术有限公司 | 一种智能家电的操作权限控制方法及装置 |
CN110391959A (zh) * | 2019-07-16 | 2019-10-29 | 青岛海尔科技有限公司 | 基于智能家居控制系统的控制权限的设置方法及装置 |
US20200220860A1 (en) * | 2019-01-04 | 2020-07-09 | Throughtek Co., Ltd. | Method for controlling iot devices and iot system using the same |
CN111835607A (zh) * | 2020-07-24 | 2020-10-27 | 杭州鸿雁电器有限公司 | 家电设备的控制方法及系统 |
-
2021
- 2021-03-02 WO PCT/CN2021/078763 patent/WO2022183381A1/zh active Application Filing
- 2021-03-02 CN CN202180070736.4A patent/CN116420339A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615004A (zh) * | 2014-12-31 | 2015-05-13 | 北京海尔广科数字技术有限公司 | 一种智能家电的操作权限控制方法及装置 |
US20200220860A1 (en) * | 2019-01-04 | 2020-07-09 | Throughtek Co., Ltd. | Method for controlling iot devices and iot system using the same |
CN110391959A (zh) * | 2019-07-16 | 2019-10-29 | 青岛海尔科技有限公司 | 基于智能家居控制系统的控制权限的设置方法及装置 |
CN111835607A (zh) * | 2020-07-24 | 2020-10-27 | 杭州鸿雁电器有限公司 | 家电设备的控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116420339A (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11936743B2 (en) | Device management services based on restful messaging | |
JP6335917B2 (ja) | 認可トークンを利用するネットワークデバイスの管理 | |
US9763094B2 (en) | Methods, devices and systems for dynamic network access administration | |
US10142342B2 (en) | Authentication of client devices in networks | |
US9813291B2 (en) | Shortest path bridging (SPB) configuration of networks using client device access of remote | |
US20150271017A1 (en) | Configuration of networks using switch device access of remote server | |
US9154483B1 (en) | Secure device configuration | |
JP7500906B2 (ja) | モノのインターネット(IoT)デバイス用クラウドツークラウドアクセスの確立 | |
US20190372973A1 (en) | Device onboarding with automatic ipsk provisioning in wireless networks | |
WO2021061399A1 (en) | Secure scalable link key distribution using bootsrapping | |
US8989380B1 (en) | Controlling communication of a wireless communication device | |
CN113615124A (zh) | 与无线设备的认证有关的方法和装置 | |
US11928349B2 (en) | Access control configurations for shared memory | |
CN104994158B (zh) | 一种通过集中式网关安全控制家电的方法 | |
CN112152827A (zh) | 物联网设备的管理方法、装置、网关及可读存储介质 | |
US9473482B2 (en) | Push-based trust model for public cloud applications | |
WO2022183381A1 (zh) | 设备访问控制权限的设置方法、装置、设备及存储介质 | |
WO2021134562A1 (zh) | 配置设备更换方法、装置、设备及存储介质 | |
WO2023115584A1 (zh) | 连接配置方法、连接建立方法、装置、设备及存储介质 | |
WO2022016433A1 (zh) | BLE Mesh设备的配置入网方法、装置及设备 | |
WO2021249135A1 (zh) | 获取mud文件的网络地址的方法、装置和存储介质 | |
WO2022226807A1 (zh) | 无线通信的方法及设备 | |
WO2023130405A1 (zh) | 设备配置方法、装置、计算机设备及存储介质 | |
WO2022147843A1 (zh) | 接入认证的方法和装置 | |
WO2023108653A1 (zh) | 订阅权限信息处理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21928472 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21928472 Country of ref document: EP Kind code of ref document: A1 |