WO2022247626A1 - 基于应用身份的访问控制方法、相关装置及系统 - Google Patents

基于应用身份的访问控制方法、相关装置及系统 Download PDF

Info

Publication number
WO2022247626A1
WO2022247626A1 PCT/CN2022/091842 CN2022091842W WO2022247626A1 WO 2022247626 A1 WO2022247626 A1 WO 2022247626A1 CN 2022091842 W CN2022091842 W CN 2022091842W WO 2022247626 A1 WO2022247626 A1 WO 2022247626A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
access
resource
caller
application identity
Prior art date
Application number
PCT/CN2022/091842
Other languages
English (en)
French (fr)
Inventor
毛哲文
任兵飞
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022247626A1 publication Critical patent/WO2022247626A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the present application relates to the field of computer and communication technologies, and in particular to an access control method, related devices and systems based on application identity.
  • This application provides an access control method based on application identity, related devices and systems, which can meet the requirements of transparent and seamless cross-device resource access in distributed systems, and can avoid security and privacy leaks caused by differences in application identities risk.
  • the present application provides an access control method based on application identity, the method is applied to a communication system including a first device and a second device, the first device is installed with a caller, the caller belongs to an application, and the application includes an application Program APP and functional components, APP is a program entity that realizes multiple functions, and functional component is a program entity that realizes a single function.
  • the method in the first aspect includes: the first device sends an access request to the second device, and the access request is used for the caller to access the first resource in the second device; the first device sends the caller's application identity to the second device; the second The device determines that the first device is allowed to access the first resource according to the application identity of the caller.
  • the application identity of the caller includes one or more of the following: the process identification PID of the caller, the application security level, the user identification UID, the first device The device identification, device security level or device location; the second device responds to the access request to access the first resource.
  • the first device may be called a host device, and the second device may be called a guest device.
  • Implementing the method provided in the first aspect can restrict cross-device access in a distributed system according to application identities, reduce the way in which resources in object devices are exposed to the outside world, and avoid problems caused by differences in application identities in various devices in distributed scenarios. Risk of security and privacy leaks, ensuring the confidentiality and integrity of data in the object device, and ensuring data security. On this basis, the method can meet the requirements of transparent and seamless cross-device resource access in distributed systems, and bring excellent user experience to users.
  • the caller's application identity further includes one or more of the following: the caller's application identifier, and the login account of the first device.
  • the caller's application identity is carried in the access request.
  • APP ID is used to identify the application.
  • PID is the identity of the instance.
  • the security level of the application can be set by the user independently, and can also be determined according to any one or more of the following: (1) The device security capability required by the application to run. The higher the device security capability required for the application to run, the higher the application security level. (2) Apply the services provided. The more confidential the data involved in the business provided by the application, the higher the security level of the application. (3) The category of the application. The security level of system applications is higher than that of third-party applications.
  • UID is used to identify the user to which the application belongs.
  • the login account refers to the account currently logged in to the operating system of the electronic device, for example, the Huawei account used to log in to the operating system of the Huawei mobile phone.
  • the system account (system ID) is used to identify each electronic device in the distributed system 10.
  • the system account (system ID) is derived based on the login account (account ID).
  • Device ID (device ID) is used to uniquely identify the device.
  • the device security level is determined by the hardware and software configuration of the electronic device itself. The higher the security capability provided by the software and hardware configuration, the higher the security level of the device.
  • the device identification (device ID), device security level or device location in the application identity of different applications is the same.
  • Some information in the above application identity is fixed, such as APP ID and device ID, and some information may change dynamically with user operations or device operation, such as login account (account ID), system account (system ID), Application security level, device security level, or device location, etc.
  • the second device is installed with a callee, and the callee belongs to an application, and the access request is specifically used for the caller to call the callee to access the first resource.
  • the second device may determine to allow the first device to access the first resource according to the application identity of the caller and the application identity of the callee.
  • the second device may determine that the first device is allowed to access the first resource according to the caller's application identity and the first access policy; the first access policy describes that the second device opens resources based on the application identity Resource rules.
  • the implementation of the first access policy specifically includes the following:
  • the first access policy indicates: allow the application with the first application identity to access the second resource in the application with the second application identity, and/or not allow the application with the third application identity to access the resource with the fourth application identity The third resource in the application.
  • the second device may determine whether to allow the first device to access the first resource according to the first access policy, the application identity of the caller, and the application identity of the callee.
  • the first access policy indicates: allow the application with the fifth application identity to access the fourth resource in the second device, and/or not allow the application with the sixth application identity to access the fifth resource in the second device.
  • the second device may directly determine whether to allow the first device to access the first resource according to the first access policy and the application identity of the caller.
  • the first access policy may be set independently by the second device; or, the first access policy may be set by the second device according to received user operations; or, the communication system further includes a third device , the first access policy is sent to the second device after being determined by the third device according to the received user operation.
  • the second device may respond to the access request to access the first resource when it is determined that it has the first permission.
  • the first permission includes permission to access the first resource.
  • the first permission specifically includes a permission for the first device to access the first resource.
  • an application may be selected as the callee from the applications that the second device provides the first resource.
  • the first device before the first device sends the access request to the second device, it may determine that the first device is allowed to access the first resource in the second device according to the application identity of the caller. In this way, the risk of the subject device and/or the object device being maliciously attacked can be avoided through the double authentication of the subject and the object, and the data security of the object device can be further ensured.
  • the second device may send the first access policy to the first device.
  • the first device can determine whether to allow the first device to access the first resource in the second device according to the first access policy and the application identity of the caller, and if yes, send an access request to the second device.
  • the first device may preset the first access policy.
  • one of the electronic devices that provide the first resource may be selected as the second device, and/or, when the second device provides the first resource Select one of the applications as the callee.
  • the first device before the first device sends an access request to the second device, it may select an electronic device that provides the first resource and allows the first device to access the first resource.
  • the device serves as the second device; and/or, among the applications that provide the first resource in the second device and allow the first device to access the first resource, select an application as the callee.
  • the first device performs authentication in the process of selecting the second device or the callee, and can avoid the risk of the subject device and/or the object device being maliciously attacked by means of double authentication of the subject and the object, further Guarantee the data security of the target device.
  • the present application provides an access control method based on application identity, the method is applied to a second device, and the method includes: the second device receives an access request sent by the first device, and the access request is used by the first device
  • the caller in accesses the first resource in the second device;
  • the caller belongs to an application, and the application includes an application program APP and a functional component, the APP is a program entity that realizes multiple functions, and the functional component is a program entity that realizes a single function;
  • the second The device receives the application identity of the caller sent by the first device; the second device determines that the first device is allowed to access the first resource according to the application identity of the caller, and the application identity of the caller includes one or more of the following: The process identifier PID, the application security level, the user identifier UID, the device identifier of the first device, the device security level or the location of the device; the second device responds to the access request to access the first resource.
  • the present application provides an access control method based on application identity, the method is applied to a communication system including a first device and a second device, the first device is installed with a caller, the caller belongs to an application, and the application includes an application Program APP and functional components, APP is a program entity that realizes multiple functions, and functional component is a program entity that realizes a single function.
  • the method in the third aspect includes: the first device determines that the first device is allowed to access the first resource according to the application identity of the caller, and the application identity of the caller includes one or more of the following: the process identification PID of the caller, the application security level , the user identification UID to which it belongs, the device identification of the first device, the security level of the device or the location of the device; the first device sends an access request to the second device, and the access request is used for the caller to access the first resource in the second device; the second The device responds to the access request to access the first resource.
  • the first device may be called a host device, and the second device may be called a guest device.
  • the main device can restrict the cross-device access in the distributed system through the application identity, reduce the way in which the resources in the object device are exposed to the outside world, and avoid the differences caused by the differences in application identities in each device in the distributed scenario.
  • the method can meet the requirements of transparent and seamless cross-device resource access in distributed systems, and bring excellent user experience to users.
  • the second device before the second device responds to the access request to access the first resource, it may determine that the first device is allowed to access the first resource according to the application identity of the caller. In this way, the risk of the subject device and/or the object device being maliciously attacked can be avoided through the double authentication of the subject and the object, and the data security of the object device can be further ensured.
  • the first resource before the second device responds to the access request to access the first resource, the first resource may be provided in the second device, and the application that allows the first device to access the first resource , select an application as the callee. In this way, the risk of the subject device and/or the object device being maliciously attacked can be avoided through the double authentication of the subject and the object, and the data security of the object device can be further ensured.
  • the first device may determine that the first device is allowed to access the first resource according to the caller's application identity and the first access policy; the first access policy describes that the second device opens resources according to the application identity. Resource rules.
  • the second device may send the first access resource to the first device before the first device determines that the first device is allowed to access the first resource according to the caller's application identity and the first access policy. Strategy.
  • the first device before the first device sends the access request to the second device, it may first determine that it has the first permission, and the first permission includes the permission to access the first resource. In some implementation manners, the first permission specifically includes a permission for the first device to access the first resource.
  • one of the electronic devices providing the first resource may be selected as the second device, and/or, at the The second device selects one of the applications that provide the first resource as the callee.
  • the embodiment of the present application provides an access control method based on an access policy, the method is applied to a first device, and the method includes: the first device determines that the first device is allowed to access according to the installed caller's application identity The first resource, the caller belongs to the application, the application includes the application program APP and functional components, the APP is a program entity that realizes multiple functions, and the functional component is a program entity that realizes a single function; the application identity of the caller includes one or more of the following : The process identifier PID of the caller, the application security level, the user identifier UID, the device identifier of the first device, the device security level or the location of the device; the first device sends an access request to the second device, and the access request is used for the caller to access The first resource in the second device.
  • the embodiment of the present application provides an electronic device, including: memory, one or more processors; the memory is coupled with one or more processors, and the memory is used to store computer program codes, and the computer program codes include computer instructions One or more processors call computer instructions to make the electronic device execute the method according to the second aspect or any implementation manner of the second aspect.
  • the embodiment of the present application provides an electronic device, including: memory, one or more processors; the memory is coupled with one or more processors, and the memory is used to store computer program codes, and the computer program codes include computer instructions
  • One or more processors call computer instructions to make the electronic device execute the method according to the fourth aspect or any implementation manner of the fourth aspect.
  • the embodiment of the present application provides a communication system, including a first device and a second device, the first device is used to execute the method according to the fourth aspect or any implementation manner of the fourth aspect, or the second device uses For performing the method according to the second aspect or any one of the implementation manners of the second aspect.
  • the embodiment of the present application provides a computer-readable storage medium, including instructions, and when the instructions are run on the electronic device, the electronic device is made to execute the method according to the second aspect or any one of the implementation manners of the second aspect.
  • the embodiment of the present application provides a computer program product, which, when running on a computer, causes the computer to execute the method of the second aspect or any one of the implementation manners of the second aspect.
  • the embodiment of the present application provides a computer-readable storage medium, including instructions, and when the instructions are run on the electronic device, the electronic device is made to execute the method according to the fourth aspect or any one of the implementation manners of the fourth aspect.
  • the embodiment of the present application provides a computer program product, which, when the computer program product is run on a computer, causes the computer to execute the method of the fourth aspect or any one of the implementation manners of the fourth aspect.
  • the object device after receiving the access request sent by the subject device for the caller to access the first resource, the object device can judge whether to allow the subject device to access the first resource according to the application identity of the caller, and when the judgment result is If yes, respond to the access request to access the first resource.
  • This solution can meet the requirements of transparent and seamless cross-device resource access in distributed systems, and bring users an excellent user experience. At the same time, it can restrict cross-device access in distributed systems according to application identities, and reduce resources in object devices.
  • the way of exposure can avoid security and privacy leakage risks caused by differences in application identities in distributed scenarios, ensure the confidentiality and integrity of data in object devices, and ensure data security.
  • FIG. 1 is a schematic structural diagram of a communication system 10 provided by an embodiment of the present application.
  • FIG. 2 is a distributed scenario provided by an embodiment of the present application.
  • FIG. 3A is a hardware structural diagram of an electronic device provided by an embodiment of the present application.
  • FIG. 3B is a software structure diagram of the electronic device provided by the embodiment of the present application.
  • FIG. 4 is a flowchart of an access control method based on an application identity provided by an embodiment of the present application
  • 5A-5G are a set of user interfaces provided by the embodiment of the present application.
  • FIG. 6A is a software structure diagram of the main device provided by the embodiment of the present application.
  • FIG. 6B is a software structure diagram of the object device provided by the embodiment of the present application.
  • first and second are used for descriptive purposes only, and cannot be understood as implying or implying relative importance or implicitly specifying the quantity of indicated technical features. Therefore, the features defined as “first” and “second” may explicitly or implicitly include one or more of these features. In the description of the embodiments of the present application, unless otherwise specified, the “multiple” The meaning is two or more.
  • UI user interface
  • the term "user interface (UI)” in the following embodiments of this application is a medium interface for interaction and information exchange between an application program or an operating system and a user, and it realizes the difference between the internal form of information and the form acceptable to the user. conversion between.
  • the user interface is the source code written in a specific computer language such as java and extensible markup language (XML).
  • the source code of the interface is parsed and rendered on the electronic device, and finally presented as content that can be recognized by the user.
  • the commonly used form of user interface is the graphical user interface (graphic user interface, GUI), which refers to the user interface related to computer operation displayed in a graphical way. It may be text, icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, Widgets, and other visual interface elements displayed on the display screen of the electronic device.
  • a device can access various resources of another device across devices, such as software resources, hardware resources, peripherals, and so on.
  • devices in the distributed scenario can directly access resources across devices without restriction, and there are potential risks of security and privacy leakage. For example, when devices with different login accounts access resources from each other, user data of one party may be leaked, posing a risk to user privacy.
  • the subject device may first determine whether to initiate an access request for invoking the first resource to the object device according to the access policy based on the application identity in the object device. If it is determined to initiate the access request, the subject device sends the access request to the object device. After receiving the access request, the object device can judge whether to respond to the access request according to its own access policy based on the application identity. If it is determined to respond to the access request, the object device accesses the first resource.
  • the access policy based on the application identity in the object device describes: the rule that the object device releases resources for use by other devices based on the application identity.
  • the access policy based on the application identity in the object device describes: the relevant description of the method embodiments below.
  • the applications in the distributed system all have corresponding application identities.
  • the application identity of an application includes one or more of the following: application information, user information or device information.
  • the application information may include one or more of the following: application identification (APP identity, APP ID), process identification (process identifier, PID) or application security level.
  • User information may include one or more of the following: the user ID (user ID, UID) to which the application belongs, the login account (account ID) or system account (system ID) of the device where the application is located.
  • the device information may include one or more of the following: the device ID (device ID) of the device where the application is located, the security level of the device, or the location of the device.
  • an access policy can be formulated according to the application identity, and cross-device access in a distributed system can be constrained by the access policy, reducing the way in which resources in the object device are exposed to the outside world can avoid distributed scenarios
  • the risk of security and privacy leakage brought about by the differences of application identities in each device in the target device ensures the confidentiality and integrity of the data in the target device and ensures data security.
  • the method can avoid the risk of the subject device and/or the object device being maliciously attacked through the double authentication method of the subject and the object, and further guarantee the data security of the object device. On this basis, the method can meet the requirements of transparent and seamless cross-device resource access in distributed systems, and bring excellent user experience to users.
  • the access control method based on the application identity can also be implemented in a unilateral authentication manner. Specifically, if the subject device performs the operation of judging whether to initiate the access request according to the access policy of the object device, the object device does not need to judge whether to respond to the access request sent by the subject device, but can directly respond to the access request. Alternatively, before the main device sends the access request, it is not necessary to determine whether to initiate the access request according to the access policy of the object device, but the object device determines whether to respond to the access request.
  • the one-sided authentication method can reduce the operation of the main device/object device and improve the efficiency of cross-device resource transfer in the distributed system.
  • the resources in the electronic device may include one or more of the following: software resources, hardware resources, peripherals or peripheral resources of the electronic device, and the like. in:
  • the hardware resource is related to the hardware configured by the electronic device, and may include, for example, a camera, a sensor, an audio device, a display screen, a motor, a flash light, and the like of the electronic device.
  • Software resources are related to the software configured by electronic devices, such as memory resources, computing capabilities (such as beauty algorithm capabilities, audio and video codec capabilities), network capabilities, device connection capabilities, device discovery capabilities, and data transmission capabilities possessed by electronic devices. and many more. Further, the software resource may include photographing service, recording service, fingerprint authentication service, sports health service, playback service, short message service, voice recognition service, video call service, etc. provided by the electronic device.
  • the software resources may include system resources or third-party resources, which are not limited here.
  • Peripherals refer to devices that are connected to electronic devices and are used to transmit, transfer and store data and information. Peripherals may include, for example, accessory devices of electronic devices, such as a mouse, an external display screen, a Bluetooth headset, a keyboard, and smart watches, smart bracelets, etc. managed by the electronic device. Peripheral resources may include hardware resources and software resources, and the hardware resources and software resources may refer to the related description above.
  • the embodiment of the present application provides a communication system 10 .
  • the communication system 10 includes: a plurality of electronic devices.
  • Communication system 10 may also be referred to as distributed system 10 .
  • the multiple electronic devices included in the distributed system 10 are all intelligent terminal devices, and may be of various types.
  • the embodiment of the present application does not limit the specific types of the multiple electronic devices.
  • the multiple electronic devices include mobile phones, and may also include tablet computers, desktop computers, laptop computers, handheld computers, notebook computers, smart screens, wearable devices, augmented reality (augmented reality, AR) devices, virtual Reality (virtual reality, VR) devices, artificial intelligence (AI) devices, car machines, smart headsets, game consoles, and can also include Internet of Things (IOT) devices or smart home devices such as smart water heaters, smart Lamps, smart air conditioners, cameras, etc.
  • IOT Internet of Things
  • the multiple devices in the distributed system 10 may also include non-portable terminal devices such as laptops with touch-sensitive surfaces or touch panels, desktop computers with touch-sensitive surfaces or touch panels, etc. Wait.
  • the distributed system 10 may also be called a home distributed system.
  • Multiple electronic devices in the distributed system 10 can be connected by logging in with the same account.
  • multiple electronic devices can log in to the same Huawei account, and remotely connect and communicate through the server.
  • Multiple electronic devices in the distributed system 10 can also log in to different accounts, but are connected through binding. After an electronic device logs in to an account, it can be bound to other electronic devices logged in with different accounts or not logged in in the device management application, and then these electronic devices can communicate with each other through the device management application.
  • Multiple electronic devices in the distributed system 10 can also establish connections by scanning two-dimensional codes, touching by near field communication (near field communication, NFC), searching for Bluetooth devices, etc., and there is no limitation here.
  • NFC near field communication
  • the communication connections established between multiple electronic devices in the distributed system 10 may include but not limited to: wired connections, wireless connections such as Bluetooth (bluetooth, BT) connections, wireless local area networks (wireless local area networks, WLAN ) such as wireless fidelity point-to-point (wireless fidelity point to point, Wi-Fi P2P) connection, near field communication (near field communication, NFC) connection, infrared technology (infrared, IR) connection, and remote connection (such as through the server to establish connection) and so on.
  • wireless connections such as Bluetooth (bluetooth, BT) connections
  • wireless local area networks wireless local area networks, WLAN
  • wireless fidelity point-to-point wireless fidelity point to point, Wi-Fi P2P
  • NFC near field communication
  • infrared technology infrared, IR
  • multiple electronic devices in the distributed system may also be connected and communicate in combination with any of the above methods, which is not limited in this embodiment of the present application.
  • Electronic devices in the distributed system 10 can also be classified into thin devices and rich devices according to device types.
  • a rich device may refer to an electronic device with a large memory and a large running space
  • a thin device may refer to an electronic device with a limited memory and a limited running space.
  • a connection can be established between the rich devices and the thin devices in a binding manner.
  • a rich device is installed with a device management application, and can log in to the device management application through an account. Afterwards, the rich device can discover nearby thin devices by scanning QR codes, NFC, Bluetooth, etc., and then bind the thin device to the account used by the rich device to log in to the device management application according to user operations.
  • the rich device can manage the thin device through the device management application, such as sending various instructions to the thin device to instruct the thin device to perform corresponding operations and so on.
  • the rich device may be called the control device or management device of the thin device.
  • the thin device can use this account as its own master (owner) account, and use the master account to join the distributed system, and then communicate with the distributed system communication with other electronic devices.
  • owner master
  • the thin device can directly establish a connection with other devices and communicate with other electronic devices, and each time the thin device communicates with other devices, it carries its main account. Other electronic devices can know that the device is a thin device through the main account, and can query the control device of the thin device. In other embodiments, the thin device may communicate with other electronic devices through the rich device. For example, a thin device can send a message that it wants to send to other electronic devices to a rich device, and then the rich device forwards it to other electronic devices.
  • the control device of the thin device decides whether to allow this access.
  • Multiple electronic devices in the distributed system 10 can be configured with different software operating systems (operating system, OS), including but not limited to and many more. in, It is Huawei's Hongmeng system.
  • OS operating system
  • the multiple electronic devices can also be configured with the same software operating system, for example, they can all be configured
  • the software systems in multiple electronic devices are , the distributed system 10 can be regarded as a hyper terminal.
  • each device in the distributed system 10 may install a traditional application program (application, APP), such as a camera application, a gallery application, a setting application, and the like.
  • application APP
  • the traditional APP may be referred to as APP for short.
  • the distributed system 10 can install a distributed application (distributed application).
  • the distributed application may be a system application or a third-party application, which is not limited here.
  • System applications refer to applications provided or developed by manufacturers of electronic equipment
  • third-party applications refer to applications provided or developed by manufacturers of non-electronic equipment.
  • a producer of an electronic device may include a manufacturer, supplier, supplier, operator, etc. of the electronic device.
  • a manufacturer may refer to a manufacturer that processes and manufactures electronic equipment with self-made or purchased parts and raw materials.
  • a supplier may refer to a manufacturer that provides the complete machine, raw materials or parts of the electronic device.
  • An operator may refer to a manufacturer responsible for distribution of the electronic device.
  • a distributed application includes one or more functional components.
  • a functional component is the smallest capability unit that can operate independently in an electronic device, and it is a concept of abstract encapsulation of a single capability.
  • APP integrates multiple functions together, while functional components exist independently with each function as a separate service-based basic capability. That is, a functional component is a program entity that realizes a single function.
  • Each functional component can be downloaded, installed and run independently. Multiple functional components constituting the same distributed application may be deployed in the same electronic device in the distributed system 10, or may be deployed in different electronic devices.
  • a functional component is just a term used in this embodiment, and its representative meaning has been recorded in this embodiment, and its name does not constitute any limitation to this embodiment.
  • functional components may also be referred to as system components, system services, business functions, and other terms. Subsequent embodiments of the present application are collectively described as "functional components".
  • Functional components in can include the following two categories:
  • FA is a functional component including one or several sets of UI, which can provide the ability to interact with users.
  • UI graphical user interface
  • a navigation interface in a map application a video call interface in an instant messaging application, etc., can be implemented as FA.
  • FA is developed based on the MVVM (model-view-view-model) pattern, which separates view UI from business logic, and deploys business logic code and view UI code separately.
  • MVVM model-view-view-model
  • an electronic device can integrate business logic codes with other APPs, and view UI codes can be installed in other electronic devices.
  • the device where the view UI code is located can communicate with the device where the business logic code is located to obtain the data required to display the UI.
  • FA supports page template capabilities, such as Empty Ability, Login Ability, Setting Ability, etc.
  • FA adopts scripting language (java script, JS) to provide a declarative development mode, adopts HTML-like and cascading style sheet (cascading style sheet, CSS) declarative programming language as the development language of page layout and page style, and supports JS of ECMAScript specification
  • the language provides page business logic.
  • FA has the capabilities of free installation, independent operation, cross-device UI migration, and cross-device binary migration. FA also has the characteristics of multi-terminal deployment and distributed execution.
  • FA can call AA or APP to realize more and more complicated functions.
  • PA is a functional component without UI, which can provide support for FA.
  • PA can provide computing power as a background service, or provide data access capability as a data warehouse.
  • beauty function, positioning function, audio and video codec function, etc. can be packaged as PA.
  • PA also has the characteristics of multi-terminal deployment and distributed execution. PA only has dependencies on system services, and does not have dependencies on other PAs.
  • PA actually encapsulates the realization of remote virtualization, remote calling, PA management, cross-platform compatibility, security, etc., and opens cross-device service enabling and awakening to developers, so that other devices can call the computing power of this device and cooperate with other The device does the computing work.
  • PA supports Service Ability, Data Ability, etc. Service Ability is used to provide the ability to run tasks in the background. Data Ability is used to provide a unified data access abstraction to the outside world.
  • PA can call FA or APP to realize more and more complex functions.
  • FA and PA are only words used in this embodiment, and they may also be referred to as other nouns in some other embodiments of the present application.
  • PA and “FA” may also be called other terms such as atomic ability (atomic ability, AA), atomic application, meta-capability, atomic service, feature capability, etc.
  • Multiple functional components constituting a distributed application may be developed or provided by the same developer, or may be separately developed or provided by multiple developers, and there is no limitation here. Different developers jointly develop functional components, which can improve the development efficiency of distributed applications.
  • the functional component provides a standardized interface for calling.
  • APP can call functional components.
  • functional components can also call other functional components or APPs.
  • the called functional component can also continue to call another functional component or APP, such a multi-level calling method can be called chain calling.
  • each device After each device in the distributed system 10 establishes a communication connection, each device will synchronize the functional component information and APP information of other devices in the distributed system. Specifically, each device can synchronize the names of its installed functional components and APPs to other devices, so as to subsequently call functional components such as FA and PA of other devices in the distributed system 10 . In some other embodiments, each device may also synchronize its own device identification, device type, etc. to other devices in the distributed system.
  • FIG. 2 schematically shows a possible distributed remote teaching service scenario.
  • the distributed system includes electronic devices such as smartphones, tablet computers, and smart screens.
  • Each device in a distributed system is connected to each other in pairs.
  • Smartphones, tablet computers, and smart screens can be configured with different software operating systems (operating system, OS).
  • OS operating system
  • smartphones and tablet computers can be configured with System
  • smart screen can be configured system.
  • “Online classroom” is installed in the smartphone.
  • “Online classroom” is an application program installed in electronic devices to provide teachers and students with various functions required for remote classes.
  • the embodiment of this application does not limit its name.
  • "Online classroom” may include the following functional components: blackboard functional component, whiteboard functional component, audio and video codec functional component, network connection functional component.
  • the blackboard functional components and whiteboard functional components belong to FA
  • the audio and video codec functional components and network connection functional components belong to PA.
  • the blackboard function component provides the function of explaining courses remotely.
  • the whiteboard function component provides the function of answering questions remotely.
  • the audio and video codec function component provides video and audio codec functions.
  • Migrating or switching functional components from one device A to another device B may include the following two types: 1. UI migration. When the view UI of FA is separated from the business logic, when device A can run the business logic code, it can trigger device B to run the code of the view UI. It seems to the user that the functional components have been migrated from device A to device B. 2. Overall migration. Overall migration refers to that after device B downloads and installs the functional component from device A or from the network, it runs the functional component and provides corresponding functions.
  • the "online classroom” is the caller, and the whiteboard functional component in the tablet computer and the blackboard functional component in the smart screen are the callees.
  • Fig. 2 also shows another possible distributed video call service scenario.
  • the smart phone may also be installed with other distributed applications, such as instant messaging applications.
  • Instant messaging applications can provide video calls, voice calls, and other communication functions.
  • the instant messaging application may include the following functional components: a video call functional component, an audio and video codec functional component, and a network connection functional component.
  • the video call function component of the application can be migrated or switched to the smart screen, so that the camera and display screen of the smart screen can be used for video calls.
  • the blackboard functional component in the above "online classroom” and the video call functional component in the instant messaging application may be the same functional component. That is to say, this functional component in the smart screen can be called by the "online classroom” and the instant messaging application installed on the smart phone respectively.
  • the instant messaging application is the caller
  • the video call functional component ie, the video call functional component in the smart screen
  • the distributed system shown in Figure 2 may include more terminal devices, more or fewer functional components may be deployed in each device, and each distributed application may include more or fewer functional components .
  • each device after each device in the distributed system 10 establishes a communication connection, each device will synchronize the functional component information and APP information of other devices in the distributed system. Specifically, each device can synchronize the names of its installed functional components and APPs to other devices, so as to subsequently call the APPs, functional components, etc. of other devices in the distributed system 10 .
  • the party that initiates the calling of the functional component or APP may be referred to as the caller.
  • the caller can be APP, FA or PA, for example.
  • the initial initiator of the entire call chain can be called the first caller.
  • the first tuner can be APP or FA, for example.
  • the call chain is: APP1 calls PA1, PA1 calls PA2, PA2 calls FA1, then APP1 is the first caller.
  • the call chain is: FA1 calls PA1, PA1 calls PA2, then FA1 is the first caller.
  • callees In the entire call chain, the party called in the middle and the party called at the end can be called callees.
  • the callee can be, for example, APP, FA or PA.
  • the caller may also be referred to as a subject application, and the callee may also be referred to as an object application.
  • the caller and the callee can be deployed in the same electronic device or in different electronic devices.
  • the device where the caller is located is called the main device, and the device where the callee is located is called the object device.
  • the applications referred to in the following embodiments of the present application may include APPs or functional components.
  • the subject device is configured to determine whether to initiate an access request for invoking the first resource to the object device according to the access policy based on the application identity in the object device. If it is determined to initiate the access request, the subject device sends the access request to the object device.
  • the object device After receiving the access request sent by the subject device, the object device is used to judge whether to respond to the access request according to the access policy of the object device itself based on the application identity. If it is determined to respond to the access request, the object device accesses the first resource.
  • FIG. 3A is a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application.
  • the electronic device may be any electronic device in the distributed system 10 shown in FIG. 1 .
  • the electronic device may be a main device or an object device.
  • the electronic device may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (universal serial bus, USB) interface 130, a charging management module 140, a power management module 141, and a battery 142 , antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, earphone jack 170D, sensor module 180, button 190, motor 191, indicator 192, camera 193 , a display screen 194, and a subscriber identification module (subscriber identification module, SIM) card interface 195, etc.
  • SIM subscriber identification module
  • the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, bone conduction sensor 180M, etc.
  • the structure shown in the embodiment of the present application does not constitute a specific limitation on the electronic device.
  • the electronic device may include more or fewer components than shown in the illustrations, or combine certain components, or separate certain components, or arrange different components.
  • the illustrated components can be realized in hardware, software or a combination of software and hardware.
  • the processor 110 may include one or more processing units, for example: the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processing unit (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), controller, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural network processor (neural-network processing unit, NPU), etc. Wherein, different processing units may be independent devices, or may be integrated in one or more processors.
  • application processor application processor, AP
  • modem processor graphics processing unit
  • GPU graphics processing unit
  • image signal processor image signal processor
  • ISP image signal processor
  • controller video codec
  • digital signal processor digital signal processor
  • baseband processor baseband processor
  • neural network processor neural-network processing unit
  • the controller can generate an operation control signal according to the instruction opcode and timing signal, and complete the control of fetching and executing the instruction.
  • a memory may also be provided in the processor 110 for storing instructions and data.
  • the memory in processor 110 is a cache memory.
  • the memory may hold instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can be called directly from the memory. Repeated access is avoided, and the waiting time of the processor 110 is reduced, thereby improving the efficiency of the system.
  • the wireless communication function of the electronic device can be realized by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
  • Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in an electronic device can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization of the antennas.
  • Antenna 1 can be multiplexed as a diversity antenna of a wireless local area network.
  • the antenna may be used in conjunction with a tuning switch.
  • the mobile communication module 150 can provide wireless communication solutions including 2G/3G/4G/5G applied to electronic devices.
  • the mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA) and the like.
  • the mobile communication module 150 can receive electromagnetic waves through the antenna 1, filter and amplify the received electromagnetic waves, and send them to the modem processor for demodulation.
  • the mobile communication module 150 can also amplify the signals modulated by the modem processor, and convert them into electromagnetic waves through the antenna 1 for radiation.
  • at least part of the functional modules of the mobile communication module 150 may be set in the processor 110 .
  • at least part of the functional modules of the mobile communication module 150 and at least part of the modules of the processor 110 may be set in the same device.
  • a modem processor may include a modulator and a demodulator.
  • the modulator is used for modulating the low-frequency baseband signal to be transmitted into a medium-high frequency signal.
  • the demodulator is used to demodulate the received electromagnetic wave signal into a low frequency baseband signal. Then the demodulator sends the demodulated low-frequency baseband signal to the baseband processor for processing.
  • the low-frequency baseband signal is passed to the application processor after being processed by the baseband processor.
  • the application processor outputs sound signals through audio equipment (not limited to speaker 170A, receiver 170B, etc.), or displays images or videos through display screen 194 .
  • the modem processor may be a stand-alone device.
  • the modem processor may be independent from the processor 110, and be set in the same device as the mobile communication module 150 or other functional modules.
  • the wireless communication module 160 can provide wireless local area networks (wireless local area networks, WLAN) (such as wireless fidelity (Wi-Fi) network), bluetooth (bluetooth, BT), global navigation satellite system, etc. (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field communication technology (near field communication, NFC), infrared technology (infrared, IR) and other wireless communication solutions.
  • the wireless communication module 160 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 160 receives electromagnetic waves via the antenna 2 , demodulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110 .
  • the wireless communication module 160 can also receive the signal to be sent from the processor 110 , frequency-modulate it, amplify it, and convert it into electromagnetic waves through the antenna 2 for radiation.
  • the antenna 1 of the electronic device is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the electronic device can communicate with the network and other devices through wireless communication technology.
  • the wireless communication technology may include global system for mobile communications (GSM), general packet radio service (general packet radio service, GPRS), code division multiple access (code division multiple access, CDMA), broadband Code division multiple access (wideband code division multiple access, WCDMA), time division code division multiple access (time-division code division multiple access, TD-SCDMA), long term evolution (long term evolution, LTE), BT, GNSS, WLAN, NFC , FM, and/or IR techniques, etc.
  • GSM global system for mobile communications
  • general packet radio service general packet radio service
  • CDMA code division multiple access
  • WCDMA broadband Code division multiple access
  • time division code division multiple access time-division code division multiple access
  • TD-SCDMA time-division code division multiple access
  • LTE long term evolution
  • BT GNSS
  • the GNSS may include a global positioning system (global positioning system, GPS), a global navigation satellite system (global navigation satellite system, GLONASS), a Beidou navigation satellite system (beidou navigation satellite system, BDS), a quasi-zenith satellite system (quasi -zenith satellite system (QZSS) and/or satellite based augmentation systems (SBAS).
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • Beidou navigation satellite system beidou navigation satellite system
  • BDS Beidou navigation satellite system
  • QZSS quasi-zenith satellite system
  • SBAS satellite based augmentation systems
  • the electronic device realizes the display function through the GPU, the display screen 194, and the application processor.
  • the GPU is a microprocessor for image processing, and is connected to the display screen 194 and the application processor. GPUs are used to perform mathematical and geometric calculations for graphics rendering.
  • Processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
  • the display screen 194 is used to display images, videos and the like.
  • the display screen 194 includes a display panel.
  • the display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active matrix organic light emitting diode or an active matrix organic light emitting diode (active-matrix organic light emitting diode, AMOLED), flexible light-emitting diode (flex light-emitting diode, FLED), Miniled, MicroLed, Micro-oLed, quantum dot light emitting diodes (quantum dot light emitting diodes, QLED), etc.
  • the electronic device may include 1 or N display screens 194, where N is a positive integer greater than 1.
  • the electronic device can realize the shooting function through ISP, camera 193 , video codec, GPU, display screen 194 and application processor.
  • the ISP is used for processing the data fed back by the camera 193 .
  • the light is transmitted to the photosensitive element of the camera through the lens, and the light signal is converted into an electrical signal, and the photosensitive element of the camera transmits the electrical signal to the ISP for processing, and converts it into an image visible to the naked eye.
  • ISP can also perform algorithm optimization on image noise, brightness, and skin color.
  • ISP can also optimize the exposure, color temperature and other parameters of the shooting scene.
  • the ISP may be located in the camera 193 .
  • Camera 193 is used to capture still images or video.
  • the object generates an optical image through the lens and projects it to the photosensitive element.
  • the photosensitive element may be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.
  • CMOS complementary metal-oxide-semiconductor
  • the photosensitive element converts the light signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal.
  • the ISP outputs the digital image signal to the DSP for processing.
  • DSP converts digital image signals into standard RGB, YUV and other image signals.
  • the electronic device may include 1 or N cameras 193, where N is a positive integer greater than 1.
  • Digital signal processors are used to process digital signals. In addition to digital image signals, they can also process other digital signals. For example, when an electronic device selects a frequency point, a digital signal processor is used to perform Fourier transform on the frequency point energy, etc.
  • Video codecs are used to compress or decompress digital video.
  • An electronic device may support one or more video codecs.
  • the electronic device can play or record video in multiple encoding formats, for example: moving picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
  • the NPU is a neural-network (NN) computing processor.
  • NPU neural-network
  • Applications such as intelligent cognition of electronic devices can be realized through NPU, such as: image recognition, face recognition, speech recognition, text understanding, etc.
  • the internal memory 121 may include one or more random access memories (random access memory, RAM) and one or more non-volatile memories (non-volatile memory, NVM).
  • RAM random access memory
  • NVM non-volatile memory
  • Random access memory can include static random-access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (synchronous dynamic random access memory, SDRAM), double data rate synchronous Dynamic random access memory (double data rate synchronous dynamic random access memory, DDR SDRAM, such as the fifth generation DDR SDRAM is generally called DDR5SDRAM), etc.; non-volatile memory can include disk storage devices, flash memory (flash memory).
  • SRAM static random-access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • DDR SDRAM double data rate synchronous dynamic random access memory
  • non-volatile memory can include disk storage devices, flash memory (flash memory).
  • the random access memory can be directly read and written by the processor 110, and can be used to store executable programs (such as machine instructions) of an operating system or other running programs, and can also be used to store data of users and application programs.
  • the non-volatile memory can also store executable programs and store data of users and application programs, etc., and can be loaded into the random access memory in advance for the processor 110 to directly read and write.
  • the external memory interface 120 can be used to connect an external non-volatile memory, so as to expand the storage capacity of the electronic device.
  • the external non-volatile memory communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music and video are stored in an external non-volatile memory.
  • the electronic device can implement audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor. Such as music playback, recording, etc.
  • the audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signal.
  • the audio module 170 may also be used to encode and decode audio signals.
  • the audio module 170 may be set in the processor 110 , or some functional modules of the audio module 170 may be set in the processor 110 .
  • Speaker 170A also referred to as a "horn" is used to convert audio electrical signals into sound signals.
  • the electronic device can listen to music through speaker 170A, or listen to hands-free calls.
  • Receiver 170B also called “earpiece” is used to convert audio electrical signals into sound signals.
  • the electronic device receives a call or a voice message, it can listen to the voice by placing the receiver 170B close to the human ear.
  • the microphone 170C also called “microphone” or “microphone” is used to convert sound signals into electrical signals.
  • the user can put his mouth close to the microphone 170C to make a sound, and input the sound signal to the microphone 170C.
  • the electronic device may be provided with at least one microphone 170C.
  • the electronic device can be provided with two microphones 170C, which can also implement a noise reduction function in addition to collecting sound signals.
  • the electronic device can also be equipped with three, four or more microphones 170C to realize sound signal collection, noise reduction, identify sound sources, and realize directional recording functions, etc.
  • the fingerprint sensor 180H is used to collect fingerprints. Electronic devices can use the collected fingerprint features to unlock fingerprints, access application locks, take pictures with fingerprints, answer incoming calls with fingerprints, etc.
  • the keys 190 include a power key, a volume key and the like.
  • the key 190 may be a mechanical key. It can also be a touch button.
  • the electronic device can receive key input and generate key signal input related to user settings and function control of the electronic device.
  • the motor 191 can generate a vibrating reminder.
  • the indicator 192 can be an indicator light, and can be used to indicate charging status, power change, and can also be used to indicate messages, missed calls, notifications, and the like.
  • the pressure sensor 180A is used to sense the pressure signal and convert the pressure signal into an electrical signal.
  • pressure sensor 180A may be disposed on display screen 194 .
  • the touch sensor 180K is also called “touch device”.
  • the touch sensor 180K can be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a “touch screen”.
  • the touch sensor 180K is used to detect a touch operation on or near it.
  • the touch sensor can pass the detected touch operation to the application processor to determine the type of touch event.
  • Visual output related to the touch operation can be provided through the display screen 194 .
  • the touch sensor 180K may also be disposed on the surface of the electronic device, which is different from the position of the display screen 194 .
  • the mobile communication module 150 or the wireless communication module 160 can be used to establish a communication connection with other electronic devices (such as object devices) in the distributed system 10, and the specific manner of establishing a communication connection can refer to the relevant description in FIG. 1 .
  • the mobile communication module 150 or the wireless communication module 160 can also be used to receive synchronous functional component information and APP information of other electronic devices after establishing a communication connection with other electronic devices (such as object devices), and can also be used to receive information from other electronic devices (such as object devices).
  • the application identity of each application in the electronic device sent by the object device), and the access policy based on the application identity in the electronic device can also be used to synchronize the application identity of each application in the subject device to other electronic devices (such as the object device ).
  • the internal memory 121 can be used to store the functional component information and APP information synchronized by other electronic devices (such as object devices), and can also be used to store the application identity of each application in the electronic device sent by other electronic devices, and, in the electronic device, based on the application
  • the identity access policy can also be used to store the application identity of each application in the main device and so on. For the specific content of the application identity and the access policy based on the application identity in the electronic device, refer to the relevant description of the subsequent method embodiments.
  • the processor 110 may be configured to determine whether to initiate an access request for invoking the first resource to the object device according to an access policy based on the application identity in the object device. Afterwards, the mobile communication module 150 or the wireless communication module 160 is further configured to send the access request to the object device after the processor 110 determines to initiate the access request.
  • the display screen 194 can also be used to display the user interface displayed on the main device provided in the subsequent embodiments.
  • the mobile communication module 150 or the wireless communication module 160 can be used to establish a communication connection with other electronic devices (such as the main device) in the distributed system 10, and the specific manner of establishing the communication connection can refer to the related description in FIG. 1 .
  • the mobile communication module 150 or the wireless communication module 160 can also be used to synchronize functional component information and APP information to other electronic devices after establishing a communication connection with other electronic devices, and can also be used to send the application of each application in the object device to other electronic devices.
  • the identity, the access policy of the object device based on the application identity can also be used to receive the application identity of each application in the electronic device sent by other electronic devices (such as the main device).
  • the internal memory 121 stores the functional component information and APP information synchronized by other electronic devices (such as the main device), and can also be used to store the application identity of each application in the object device, the access policy of the object device based on the application identity, and other electronic devices The application identity of each application sent, etc.
  • the mobile communication module 150 or the wireless communication module 160 is further configured to receive an access request for invoking the first resource in the object device sent by the main device.
  • the processor 110 may be configured to determine whether to respond to the access request sent by the subject device according to the access policy of the guest device.
  • the processor 110 may also be configured to schedule related modules, such as invoking an instance of the callee, to access the first resource when the above determination result is yes, so as to respond to the access request sent by the main device.
  • the display screen 194 can also be used to display the user interface displayed on the object device provided in the subsequent embodiments.
  • FIG. 3B is a schematic diagram of a software structure of an electronic device provided by an embodiment of the present application.
  • the electronic device may be any electronic device in the distributed system 10 shown in FIG. 1 .
  • the electronic device may be a main device or an object device.
  • the software system of the electronic device can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture.
  • the software system of the electronic device includes but not limited to Linux or other operating systems.
  • the layered architecture divides the software into several layers, and each layer has a clear role and division of labor. Layers communicate through software interfaces.
  • the Android system is divided into four layers, which are respectively the application program layer, the application program framework layer, the Android runtime (Android runtime) and the system library, and the kernel layer from top to bottom.
  • the application layer can consist of a series of application packages.
  • the application package may include APP, such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message and other applications.
  • the application layer may also include functional components such as FA, PA, and so on.
  • the application framework layer provides an application programming interface (application programming interface, API) and a programming framework for applications in the application layer.
  • the application framework layer includes some predefined functions.
  • the application framework layer may include window manager, content provider, view system, phone manager, resource manager, notification manager, etc.
  • a window manager is used to manage window programs.
  • the window manager can get the size of the display screen, determine whether there is a status bar, lock the screen, capture the screen, etc.
  • Content providers are used to store and retrieve data and make it accessible to applications.
  • Said data may include video, images, audio, calls made and received, browsing history and bookmarks, phonebook, etc.
  • the view system includes visual controls, such as controls for displaying text, controls for displaying pictures, and so on.
  • the view system can be used to build applications.
  • a display interface can consist of one or more views.
  • a display interface including a text message notification icon may include a view for displaying text and a view for displaying pictures.
  • the phone manager is used to provide communication functions of electronic devices. For example, the management of call status (including connected, hung up, etc.).
  • the resource manager provides various resources for the application, such as localized strings, icons, pictures, layout files, video files, and so on.
  • the notification manager enables the application to display notification information in the status bar, which can be used to convey notification-type messages, and can automatically disappear after a short stay without user interaction.
  • the notification manager is used to notify the download completion, message reminder, etc.
  • the notification manager can also be a notification that appears on the top status bar of the system in the form of a chart or scroll bar text, such as a notification of an application running in the background, or a notification that appears on the screen in the form of a dialog window.
  • prompting text information in the status bar issuing a prompt sound, vibrating the electronic device, and flashing the indicator light, etc.
  • the Android Runtime includes core library and virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.
  • the core library consists of two parts: one part is the function function that the java language needs to call, and the other part is the core library of Android.
  • the application layer and the application framework layer run in virtual machines.
  • the virtual machine executes the java files of the application program layer and the application program framework layer as binary files.
  • the virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
  • a system library can include multiple function modules. For example: surface manager (surface manager), media library (Media Libraries), 3D graphics processing library (eg: OpenGL ES), 2D graphics engine (eg: SGL), etc.
  • the surface manager is used to manage the display subsystem and provides the fusion of 2D and 3D layers for multiple applications.
  • the media library supports playback and recording of various commonly used audio and video formats, as well as still image files, etc.
  • the media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
  • the 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing, etc.
  • 2D graphics engine is a drawing engine for 2D drawing.
  • the kernel layer is the layer between hardware and software.
  • the kernel layer includes at least a display driver, a camera driver, an audio driver, and a sensor driver.
  • FIG. 4 is a schematic flowchart of an access control method based on an application identity provided by an embodiment of the present application.
  • the method may include the following steps:
  • the embodiment of the present application does not limit the way of establishing a communication connection between electronic devices in a distributed system, for example, the communication connection can be established by logging into the same account, binding devices, scanning a QR code, and the like.
  • the embodiment of the present application does not limit the type of communication connection established between electronic devices, for example, it may include wired connection, wireless connection such as Bluetooth connection, Wi-Fi P2P connection, NFC connection, IR connection, and remote connection, etc.
  • wireless connection such as Bluetooth connection, Wi-Fi P2P connection, NFC connection, IR connection, and remote connection, etc.
  • the functional component information and APP information can also be synchronized with each other.
  • the electronic device may send information about functional components installed by itself and APP information, such as identifiers, that can be called, to other connected electronic devices.
  • Functional components or APPs that can be called are declared or defined by the developer during the development stage.
  • the function components or APPs that can be called here only mean that the functional components or APPs can be called by the caller, not that they are opened or authorized to be called by a certain device.
  • each electronic device in the distributed system synchronizes application identities with each other.
  • one or more applications may be installed on the electronic devices in the distributed system, and the applications may include APPs, and may also include functional components.
  • Each application installed on the electronic equipment in the distributed system has a corresponding application identity.
  • the application identities of different applications may be different.
  • the electronic devices in the distributed system 10 can synchronize the application identities of the installed applications with each other.
  • the application identity of an application includes one or more of the following: application information, user information or device information. in:
  • Application information may include one or more of the following: application identification (APP identity, APP ID), process identification (process identifier, PID) or application security level.
  • APP ID is used to identify the application.
  • the same application shares the same APP ID on different devices.
  • the PID is the identity of the instance.
  • the electronic device runs the application, it will start an instance of the application and assign a unique PID to the instance.
  • Application security levels can be divided according to different granularities. For example, the application security level can be roughly divided into three levels: high, medium, and low.
  • the security level of the application can be set independently by the user.
  • the electronic device may determine the security level of the application according to any one or more of the following: (1) The security capability of the device required when the application is running. The higher the device security capability required for the application to run, the higher the application security level. (2) Apply the services provided. The more confidential the data involved in the business provided by the application, the higher the security level of the application. (3) The category of the application. The security level of system applications is higher than that of third-party applications.
  • the APP ID, PID and application security level of different applications can be different.
  • User information may include one or more of the following: the user ID (user ID, UID) to which the application belongs, the login account (account ID) or system account (system ID) of the device where the application is located.
  • UID is used to identify the user to which the application belongs.
  • the electronic device assigns different UIDs to different installed applications for distinction.
  • the users to which the application belongs can be divided into different types, such as an owner user, a secondary user, a guest user, and so on.
  • the login account refers to the account currently logged in to the operating system of the electronic device, for example, the Huawei account used to log in to the operating system of the Huawei mobile phone.
  • the login account (account ID) can also be called a cloud account.
  • the system account refers to the account number assigned by the distributed system 10 to each electronic device in the system, and is used to identify each electronic device in the distributed system 10.
  • the system account (system ID) can be derived based on the login account (account ID). In some embodiments, if multiple electronic devices in the distributed system 10 have the same login account (account ID), the distributed system 10 can assign the same system account (system ID) to the multiple electronic devices.
  • the distributed system 10 can also assign different system accounts (system IDs) to electronic devices with different login accounts (account IDs).
  • the distributed system 10 can assign a default system account (system ID) for the electronic device.
  • system account assigned to each electronic device by the distributed system 10 may be called a Hongmeng system account (HOS system ID, HosID).
  • the UIDs in the application identities of different applications can be different, and the login account (account ID) and the system account (system ID) are the same.
  • the device information may include one or more of the following: the device ID of the device where the application is located, the device security level, or the location of the device.
  • Device ID is used to uniquely identify the device.
  • the device ID (device ID) may be, for example, MEID (mobile equipment identifier, MEID), international mobile equipment identity (international mobile equipment Identity, IMEI), media access control (medium access control, MAC) address, and the like.
  • Device security levels can be divided according to different granularities. For example, device security levels can be roughly divided into three levels: high, medium, and low.
  • the device security level is mainly determined by the hardware and software configuration of the electronic device itself. The higher the security capabilities provided by the software and hardware configuration of electronic equipment, the higher the security level of the equipment.
  • the location of the device can be obtained by the electronic device through outdoor navigation technology such as global satellite navigation technology, indoor positioning technology such as Wi-Fi, Bluetooth, infrared, ultra-wideband, RFID, ZigBee, ultrasonic and other positioning technologies.
  • outdoor navigation technology such as global satellite navigation technology
  • indoor positioning technology such as Wi-Fi, Bluetooth, infrared, ultra-wideband, RFID, ZigBee, ultrasonic and other positioning technologies.
  • the device identification (device ID), device security level or device location in the application identity of different applications is the same.
  • Some information in the above application identity is fixed, such as APP ID and device ID, and some information may change dynamically with user operations or device operation, such as login account (account ID), system account (system ID), Application security level, device security level, or device location, etc.
  • each electronic device in the distributed system When specifically executing S102, after each electronic device in the distributed system establishes a connection with each other, it may first synchronize their respective application identities with each other based on the connection. In some embodiments, when an electronic device in a distributed system changes its own application identity, it can send the updated complete application identity or the changed partial application identity to other connected electronic devices. In some other embodiments, each electronic device in the distributed system may also periodically synchronize the complete application identity or the changed partial application identity with each other. In some embodiments, the changed partial application identity may be transmitted in the form of a hash value.
  • FIG. 5A exemplarily shows partial application identities shared by various applications in the electronic device displayed by the electronic device.
  • the user interface 51 is a user interface provided by a setting application in the electronic device.
  • the setting application is used to set various functions in the electronic device.
  • Displayed in the user interface 51 are: a status bar 501 , a return key 502 , a page indicator 503 , and one or more device information items. in:
  • Status bar 501 may include: one or more signal strength indicators for Wi-Fi signals, a time indicator, a battery status indicator, a weather indicator, and the like.
  • the return key 502 is used to return to the previous page provided by the setting application.
  • the page indicator 503 is used to indicate that the current page is used to display part of the application identities of the electronic device.
  • the page indicator 503 may be implemented as text such as the text "About This Machine", and may also be implemented as an icon or other forms.
  • One or more device information entries include: entry 504 of login account (account ID), entry 505 of system account (system ID), entry 506 of device identification (device ID), entry of storage space, and the like.
  • the entry 504 of the login account (account ID), the entry 505 of the system account (system ID), and the entry 506 of the device identification (device ID) are respectively used to display the login account (account ID) and system account (system ID) of the electronic device , Device ID (device ID).
  • the login account (account ID), system account (system ID), and device ID (device ID) of the electronic device are respectively: “Andy”, “Andy”, and "F2LDMNE10D5M”.
  • S102 may not be executed, and the access request sent by the subject device to the guest device in subsequent S107 carries the caller's application identity. In this way, the interaction between various electronic devices in the distributed system 10 can be reduced, making cross-device access more convenient and faster.
  • step S103 the master and guest devices synchronize access policies based on application identities with each other.
  • the access policies of different electronic devices may be different, which is not limited here.
  • the access policy based on the application identity in the electronic device describes the rule that the electronic device opens resources for use by other devices based on the application identity.
  • the rules in an access policy only declare or define open resources, not grant permission to use resources.
  • the access policy based on application identity in the electronic device describes the rule that the electronic device releases resources for use by other devices based on the device application identity and/or the application identity.
  • the access policy based on the application identity in the electronic device may include any one or a combination of the following:
  • the general access policy does not involve the application identity of a specific application, and is applicable to any application in the distributed system.
  • the general access policy may specify the following information: constraint action, application identity of the constraint subject and/or application identity of the constraint object, and resources.
  • constraint action may include two types: allow access, and not allow access.
  • the definition of resources can refer to the previous section.
  • the general access policy specifies any one or more of the following: which resources in the application with which application identity are allowed to access which resources in the application with which application identity, and which resources in which application identity are not allowed to access which application identity Which resources in the application.
  • the general access policy indicates that an application with the first application identity is allowed to access the second resource in an application with the second application identity, and/or, an application with the third application identity is not allowed to access the second resource in the application with the fourth application identity.
  • the third resource in the application is not allowed to access the second resource in the application with the fourth application identity.
  • the general access policy may include, for example: allowing applications with the same system ID (system ID) to access resources such as cameras, not allowing applications with different system IDs (system IDs) to access resources such as cameras, allowing the owner user to access network resources , do not allow guest users to access network resources, allow applications in the same location (such as bedrooms) to access private data such as photos, BLP (Bell-LaPadula) principles such as not allowing applications with low security level application identities to read applications with high security level application identities applications with high security level application identities are not allowed to write data of applications with low security level An application with a high security level application identity writes data of an application with a high security level application identity.
  • system ID system ID
  • system IDs system IDs
  • the application identity can be divided into different security levels.
  • the embodiment of this application does not limit the method of evaluating the security level of the application identity.
  • the electronic device can regard the application with the same system account (system ID) as the same security level, and treat the application with a system account (system ID) different from itself. applications are considered low security level.
  • system ID access to some resources between applications with different system IDs
  • guest users or secondary users can access to some resources between applications with different system IDs (system ID)
  • system ID system ID
  • the resources that guest users or secondary users can access can also be restricted, which can avoid leakage of user privacy and ensure Integrity of data in the guest device.
  • An access policy based on the application identity of the application in the electronic device.
  • the access policy based on the application identity of the application may be obtained by combining the general access policy and the application identity of each application in the electronic device, and is only applicable to the electronic device.
  • the access policy based on the application identity of the application can specify the following information: constraint action, application identity and resource of the constraint subject.
  • the access policy based on the application identity of the application of the electronic device indicates: which resources are allowed to be accessed by the application of which application identity, and/or which resources are not allowed to be accessed by the application of which application identity.
  • the access policy based on the application identity of the application of the electronic device indicates that the application with the fifth application identity is allowed to access the fourth resource in the electronic device, and/or the application with the sixth application identity is not allowed to access the fourth resource in the electronic device.
  • a fifth resource in an electronic device indicates that the application with the fifth application identity is allowed to access the fourth resource in the electronic device, and/or the application with the sixth application identity is not allowed to access the fourth resource in the electronic device.
  • the access policy based on the application identity of the video application may include: which application identity is allowed to access the camera resources, audio resources, and network resources, and which applications are not allowed to access camera resources, audio resources, and network resources.
  • the access policy based on the application identity of the application in the electronic device may also change dynamically.
  • the access policy of the electronic device can be set in the following two ways:
  • the access policy is set by default by the electronic device.
  • the first general access policy mentioned above can be preset when the electronic device leaves the factory, and the second type of access policy based on the application identity of the application in the electronic device can be set independently by the electronic device.
  • the access policy is independently set by the user.
  • the electronic device may set the access policy of the electronic device in response to the received user operation, and may also set the access policy of other electronic devices (such as thin devices) managed by the electronic device.
  • FIG. 5B exemplarily shows a manner in which an electronic device sets the above-mentioned first type of access policy in response to a user operation, that is, sets a general access policy.
  • FIG. 5B shows a user interface 52 provided by a settings application in an electronic device.
  • the user interface 52 displays: a status bar, a return key, a page indicator 507 , and one or more resource options 508 .
  • the page indicator 507 is used to indicate that the current page is used to set the access policy of the electronic device.
  • the page indicator 507 can be implemented as text such as the text "access policy”, and can also be implemented as an icon or other forms.
  • the one or more resource options 508 may correspond to one or more resources that can be invoked in the electronic device, such as camera, speaker, short message service, playback service, device connection capability and so on.
  • a resource option can correspond to one or more resources.
  • the resource option 508 is followed by a control 509 for opening or prohibiting access to the resources corresponding to the resource option 508 .
  • the access policy of the electronic device set by the user includes: allowing applications with the same system account (system ID) to access the camera and speakers of the electronic device, and allowing applications with different system accounts (system ID) to access the electronic device network resources.
  • an electronic device may provide a user interface for setting access policies of other electronic devices managed by the electronic device, and so on.
  • FIG. 5B may be a user interface provided by the object device in the embodiment of the present application.
  • FIG. 5B is only an example, and does not constitute a limitation to the present application.
  • the electronic device can refuse to provide an access interface for the resource, thereby prohibiting other electronic devices from accessing.
  • each electronic device in the distributed system When S103 is specifically executed, after each electronic device in the distributed system establishes a connection with each other, firstly, based on the connection, their respective access policies are synchronized with each other.
  • an electronic device in the distributed system may send the updated access policy to other electronic devices when the access policy changes.
  • each electronic device in the distributed system may also periodically synchronize access policies with each other.
  • the change of the access policy in the electronic device may be caused by changing the setting of the electronic device or the user, or it may be caused by the change of the application identity of the application in the electronic device.
  • the relevant description above please refer to the relevant description above, which will not be repeated here.
  • the main device if each electronic device in the distributed system is preset with the same general access policy, the main device also stores the general access policy of the guest device, and S103 does not need to be executed.
  • the subject device generates an access request, the access request is used for the caller in the subject device to access the first resource in the object device, and the access request may include the application identity of the caller.
  • the main device may be any electronic device in the distributed system 10 .
  • a caller is installed in the main device, and the caller may be an APP or a functional component.
  • the caller may be an APP or a functional component.
  • APP and functional components please refer to the relevant description above.
  • the main device may generate an access request in response to a received user operation during the process of running the caller. For example, when a user uses a video call application on a main device (such as a mobile phone), a user operation may be input to trigger the main device to generate an access request for accessing the camera and display screen of the guest device for video calling.
  • a user operation may be input to trigger the main device to generate an access request for accessing the camera and display screen of the guest device for video calling.
  • the subject device may also autonomously generate an access request for the guest device in some cases during the process of running the caller. For example, when the subject device is running a food delivery application program, it can autonomously generate an access request for calling a positioning function in the object device to obtain positioning data. For example, each time a video call is made, the main device may generate an access request for the instant messaging application in the main device to call the video call function component and camera resources in the object device (such as a smart screen) by default.
  • the host device can use any of the following methods to determine the guest device:
  • the main device can independently select one electronic device as the object device among the multiple electronic devices providing the first resource, or select one electronic device as the object device in response to a received user operation.
  • main device A can choose a device with a higher security level.
  • the high device C is used as the object device, or one of the devices is arbitrarily selected as the object device.
  • FIG. 5C shows a scenario in which a subject device selects an object device in response to a user operation.
  • FIG. 5C shows a user interface 54 displayed when the main device (such as a smart phone) is running an instant messaging application, and the user interface 54 is a video call interface.
  • the user interface 54 displays: the image of the main device user, the images of other users who have video calls with the main device user, and one or more device options 513 .
  • One or more device options 513 may correspond to devices in the distributed system 10 that are connected to the main device and provide the first resource, such as a smart screen, a tablet computer, a smart phone, and the like.
  • the main device can detect a user operation acting on the device option 513, and in response to the user operation, determine the device (such as a smart screen) corresponding to the device option 513 as the object device. In some embodiments, the main device may also generate an access request for accessing camera resources in a device (such as a smart screen) corresponding to the device option 513 in response to a user operation acting on the device option 513 .
  • the electronic device that allows the main device to access the first resource can be determined according to the access policies of the multiple electronic devices based on the application identity. Afterwards, the main device may independently select or select an electronic device as the guest device among the electronic devices that allow the main device to access the first resource.
  • the electronic device is an electronic device that allows the main device to access the first resource.
  • FIG. 5E shows a scenario in which a subject device selects an object device according to a user operation.
  • FIG. 5E shows a user interface 54 displayed when the main device (such as a smart phone) is running an instant messaging application, and the user interface 54 is a video call interface.
  • the user interface 54 is similar to the user interface 54 in FIG. 5C , displaying: an image of the main device user, images of other users who have video calls with the main device user, and one or more device options 515 .
  • One or more device options 515 may correspond to electronic devices in the distributed system 10 that are connected to the main device and allow the main device to access the first resource, such as a smart screen, a tablet computer, and the like.
  • the main device may detect a user operation acting on the device option 515, and in response to the user operation, determine the device (such as a smart screen) corresponding to the device option 515 as the object device. In some embodiments, the main device may also generate an access request for accessing camera resources in a device (such as a smart screen) corresponding to the device option 515 in response to a user operation acting on the device option 515 .
  • the electronic devices that provide the first resource include smart screens, tablets, and smart phones, but according to the access policies based on application identities in each electronic device, the main device is allowed to Electronic devices that access the first resource only include smart screens and tablet computers.
  • the subject device has performed authentication on the object device according to the access policy based on the application identity in the object device.
  • the access request generated by the subject device is specifically used for the caller in the subject device to call the callee in the object device to access the first resource in the object device.
  • a callee is installed in the object device, and the callee may be an APP or a functional component.
  • the main device can use any of the following methods to select the callee among multiple applications installed on the guest device:
  • the subject device may autonomously select an application as the callee among the applications providing the first resource in the guest device, or select an application as the callee in response to a received user operation.
  • the application is an application that provides the first resource.
  • the main device A can choose to apply security
  • the higher-level functional component FA1 is used as the callee, or any one of the functional components is selected as the callee.
  • FIG. 5D shows a scenario where the main device selects a callee in response to a user operation.
  • FIG. 5D shows a user interface 55 displayed by the main device (such as a smart phone) when running an instant messaging application.
  • This user interface 55 may be displayed by the main device in response to the user operation received on the device option 513 of FIG. 5C interface.
  • Displayed in the user interface 55 are: one or more application options 514 .
  • One or more application options 514 may correspond to applications that provide the first resource among the various applications installed on the object device (such as a smart screen), such as video call function component (FA) 1, video call function component 2, video call function component 3 and so on.
  • FA video call function component
  • the main device may detect a user operation acting on the application option 514, and in response to the user operation, determine the application corresponding to the application option 514 (such as the video call function component 1) as the callee. In some embodiments, the main device may also generate an access request for invoking an application corresponding to the application option 514 in the guest device to access camera resources in response to a user operation acting on the application option 514 .
  • the subject device determines the application that allows the subject device to access the first resource according to the access policy of the object device based on the application identity. Afterwards, the main device may autonomously select an application as the callee among the applications that allow the main device to access the first resource, or select an application among them as the callee in response to a received user operation.
  • the access policy based on application identity in an electronic device indicates that the main device is allowed to access the first resource of some applications in the electronic device, then these applications are the applications that allow the main device to access the first resource.
  • FIG. 5F shows a scenario where the main device selects a callee in response to a user operation.
  • FIG. 5F shows a user interface 55 displayed by the main device (such as a smart phone) when running an instant messaging application.
  • This user interface 55 may be displayed by the main device in response to the user operation received on the device option 515 of FIG. 5E interface.
  • Displayed in the user interface 55 are: one or more application options 516 .
  • One or more application options 516 may correspond to applications installed on the object device (such as a smart screen) that allow the main device to access the first resource, such as video call function component (FA) 1, video call function component 2, etc. .
  • FA video call function component
  • the main device may detect a user operation acting on the application option 516, and in response to the user operation, determine the application corresponding to the application option 516 (such as the video call function component 1) as the callee. In some embodiments, the main device may also generate an access request for invoking an application corresponding to the application option 516 in the guest device to access camera resources in response to a user operation acting on the application option 516 .
  • the subject device has performed authentication on the callee according to the access policy based on the application identity in the object device.
  • the access request generated by the main device may include: the identifier of the caller and the identifier of the first resource. If the subject device determines the callee, the access request may also include an identification of the callee. In some embodiments, the access request may further include: an identifier of the subject device and an identifier of the guest device.
  • the identifier of the subject device or the object device may be a device type, a device model, a device name, etc., which are not limited in this embodiment of the present application.
  • the device type here can be seen from the device form, for example, it may include mobile phone, tablet computer, smart earphone, IOT device or smart home device and so on.
  • the identifier of the caller and the identifier of the callee may be an application identifier (APP ID).
  • APP ID application identifier
  • the first resource may be any resource in the object device, depending on the requirements of the subject device.
  • the first resource may include one or more resources, which is not limited here.
  • the identity of the callee and the identity of the first resource may be the same.
  • the identifier of the callee may also be the identifier of the camera, which is used to indicate that the callee is a camera application.
  • the access request generated by the main device may include the application identity of the caller.
  • the application identity of the caller For specific content contained in the application identity of the caller, please refer to the detailed description of the application identity in S102 above.
  • the caller identity in the access request may not be sent together with the access request, it may be sent separately or together with the access request, and when sent separately, it may be sent before the access request or after the access request. Do limited.
  • the subject device determines whether to initiate the access request according to the access policy based on the application identity in the object device.
  • S105 may be directly performed.
  • S105 may be performed on the premise that the callee and/or the first resource are confirmed as sensitive resources. This can ensure that the subject device can access sensitive resources in the object device in compliance with the access policy of the object device, thereby ensuring the security of user data.
  • Sensitive resources may refer to resources that will pose a greater risk to user privacy if leaked, for example, resources with a privacy level higher than a threshold. Sensitive resources may include hardware resources, software resources and stored data in electronic devices.
  • the main device may also execute S105 first, and then execute S104, that is, the main device may first determine whether to initiate an access request according to the access policy, and generate the access request after determining that the access request is initiated.
  • the subject device may determine whether to initiate an access request according to the access policy sent by the guest device. In other embodiments, if S103 is not performed, the subject device may determine whether to initiate an access request according to a pre-stored access policy of the object device, such as a general access policy.
  • the subject device may determine whether to allow the subject device to access the first resource in the object device according to the access policy based on the application identity in the object device.
  • the access policy based on the application identity in the object device allows the caller to access the first resource of the callee, it may be determined that the subject device is allowed to access the first resource in the object device.
  • the access policy of the object device describes the rules for the object device to open resources to other devices based on the application identity, the subject device can use the access policy to perform the above judgment and obtain the judgment result.
  • the subject device can determine whether to initiate an access request according to the general access policy and in combination with the respective application identities of the caller and the callee.
  • the subject device can determine whether to initiate an access request according to the access policy and in combination with the application identity of the caller.
  • corresponding access policies can be combined with application identities to restrict cross-device access in distributed systems, reduce the way resources in object devices are exposed to the outside world, and avoid differences in application identities of various devices in distributed scenarios
  • the risks of security and privacy leaks brought about by the device ensure the confidentiality and integrity of the data in the object device and ensure data security.
  • the object device may execute S105 is to authenticate the object device or the callee.
  • the main device selects the object device by using the second method of determining the object device above, or the main device selects the callee by using the second method of determining the callee above, that is, the object device selects the object device or the callee. After performing the authentication for the object device or the callee, the object device does not need to execute S105.
  • the main device may output prompt information to remind the user that the access request generated by the main device cannot be responded to because the application identity does not comply with the access policy of the object device.
  • prompt information For the implementation form of the prompt information, reference may be made to related descriptions below.
  • step S106 the main device judges whether it has the permission required by the access request.
  • the main device may directly execute S106 when the determination result of S105 is yes.
  • the main device may also execute S106 first, and then execute S104 and/or S105 when the execution result of S106 is Yes.
  • the authority required by the access request generated by the subject device includes: the authority to invoke the callee in the object device, and/or the authority to access the first resource in the object device.
  • the permission required by the access request specifically includes: the permission of the subject device to call the callee in the object device and/or to access the first resource.
  • the permission required by the access request includes the permission to call the callee, it can be seen that the permission includes the permission to call the callee to perform various operations, and therefore also includes the permission to access the first resource.
  • the permission required by the access request specifically includes: the caller's permission to call the callee in the object device and/or to access the first resource.
  • the permission required by the access request specifically includes: the caller in the subject device calls the callee in the object device and/or the permission to access the first resource.
  • the main device after the main device generates the access request, it may directly apply to the user for the permission required by the access request. In some other embodiments, after the main device generates the access request, if the execution result of S106 is No, it can apply for permission from the user, which can reduce the interaction between the main device and the user, and improve cross-connectivity in the distributed system. The efficiency with which the device invokes resources.
  • the subject device is not limited to obtaining the permission required by the access request. In some other embodiments, the subject device may also receive the permission required by the access request from the guest device.
  • the main device may use an authorization method supported by both the main device and the caller during the process of running the caller to request the user to grant the permission required for the access request generated by itself.
  • Authorization methods may include, but are not limited to: pop-up authorization, fingerprint verification authorization, face verification authorization, voice command authorization, button authorization, etc., which are not limited here.
  • the types of authorization methods supported by the electronic device depend on the hardware and/or software configuration of the electronic device. For example, supporting pop-up authorization requires the electronic device to be configured with a display screen. To support fingerprint verification and authorization, the electronic device needs to be equipped with a fingerprint sensor. To support face verification authorization, the electronic device needs to be equipped with a camera and a face recognition algorithm. To support voice command authorization, the electronic device needs to be equipped with a microphone or other sound pickup equipment. To support key authorization, the electronic device needs to be equipped with physical keys.
  • Whether the caller has authorization conditions depends on the function of the caller itself. For example, when the caller is able to provide a user interface, the caller can support pop-up authorization. For another example, when the caller can call the fingerprint sensor, the caller may support fingerprint authentication authorization.
  • the main device When the main device supports pop-up authorization, it can output prompt information on the display screen, and the prompt information is used to prompt the permission required by the access request. Afterwards, the main device can detect the user operation acting on the display screen, and obtain the permission required by the access request in response to the user operation.
  • the main device When the main device supports fingerprint verification and authorization, it can collect the user's fingerprint through the fingerprint sensor, and compare the collected fingerprint with the preset fingerprint. If the two fingerprints are consistent, the main device obtains the permission required for the access request.
  • the main device may preset multiple fingerprints, and when different preset fingerprints are collected, obtain the permissions required for access requests with different time limits.
  • the main device When the main device supports face verification and authorization, it can collect the user's face image through the camera, and compare the collected face image with the preset face image. If the two are consistent, the main device obtains the access request required permissions.
  • the main device When the main device supports voice command authorization, it can collect the voice command input by the user through a microphone, receiver or other sound pickup devices, and compare the collected voice command with the preset voice command. If the two are consistent, the main body The device obtains the permissions required to access the request. In some embodiments, the main device can preset multiple voice commands, and when different preset voice commands are collected, obtain the permissions required for access requests with different timeliness.
  • the main device When the main device supports button authorization, the user's pressing operation can be collected through the physical button. If the preset pressing operation is collected on the physical button (such as one pressing operation, long pressing operation, two consecutive pressing operations, etc.), the main body The device obtains the permissions required to access the request. In some embodiments, the main device can preset multiple pressing operations, and when collecting different preset pressing operations, obtain the required permissions for access requests with different timeliness.
  • the subject device sends the access request to the object device, and the access request may carry the application identity of the caller.
  • the subject device may also send the acquired permission information required by the access request to the guest device, where the permission information indicates the permission required by the access request.
  • the access request sent by the subject device to the guest device may also carry the application identity of the caller in the subject device, so that it is not necessary to perform the operation of S102, reduce the interaction between the subject device and the guest device, and improve cross-device The efficiency of resource calls.
  • the object device judges whether to respond to the access request according to the access policy of the object device.
  • the object device may directly execute S108.
  • the object device may execute S108 on the premise of confirming that the callee and/or the first resource are sensitive resources. This can ensure that the subject device can access sensitive resources in the object device in compliance with the access policy of the object device, thereby ensuring the security of user data.
  • the object device may determine whether to allow the main device to access the first resource in the object device according to the access policy based on the application identity in the object device. That is to say, the object device can determine whether to allow the caller to access the first resource of the callee according to the access policy based on the application identity in the object device.
  • the object device can perform the above judgment according to the access policy and obtain the judgment result.
  • the object device can determine whether to respond to the access request according to the general access policy and in combination with the respective application identities of the caller and the callee.
  • the object device can determine whether to respond to the access request according to the access policy and in combination with the application identity of the caller.
  • the callee in the object device involved when the object device executes S108 may be the callee selected when the subject device generates the access request in S104, and the callee's identifier is carried in this access request.
  • the callee in the guest device involved in the execution of S108 by the guest device may be the callee in the guest device after receiving the access request. selected from the installed applications.
  • the way in which the object device selects a callee is the same as the way in which the subject device selects a callee in S104, and reference may be made to the relevant description above.
  • the object device can execute S108 to authenticate the callee; if the object device uses the above-mentioned second method to select the callee, that is, the object device When the callee is selected, the authentication for the callee has already been performed, so the object device does not need to execute S108.
  • the corresponding access policy can be combined with the application identity of the device to restrict cross-device access in the distributed system, reduce the way in which resources in the object device are exposed to the outside, and avoid the conflict of the application identity of each device in the distributed scenario.
  • the risk of security and privacy leakage caused by the difference ensures the confidentiality and integrity of the data in the object device and ensures data security.
  • the guest device may send a feedback message to the main device, where the feedback message is used to instruct the guest device to refuse to respond to the access request.
  • the main device can output prompt information to remind the user that the access request generated by the main device cannot be responded to by the object device because the caller's application identity does not comply with the access policy of the object device.
  • FIG. 5G exemplarily shows a form of prompt information output by the main device.
  • the prompt information may be, for example, the text "The application identity level of the caller is low, and the video call interface cannot be migrated to the corresponding device!.
  • the prompt information can also give a more detailed prompt, for example, it can be the text "the system account of the device you selected is different from that of the current device, and the video call interface cannot be migrated to this device!.
  • the prompt information may also prompt the user to replace the object device and so on. Not limited to text, the prompt information can also be implemented in voice, vibration or other forms.
  • step S109 the object device judges whether it has the permission required by the access request.
  • the object device may directly execute S109 when the determination result of S108 is yes.
  • the object device may also execute S109 first, and then execute S108 when the execution result of S109 is yes.
  • the object device may use an authorization method supported by both the object device and the callee during the process of running the callee to request the user to grant the permission required for the received access request.
  • the manner in which the guest device requests user authorization is similar to the manner in which the subject device requests user authorization, and for details, refer to the relevant description of S106.
  • the object device may receive the permission information required for the access request transmitted from the subject device, and obtain the permission required for the access request according to the permission information.
  • the object device responds to the access request.
  • the object device may, in response to the access request sent by the subject device, create an instance of the callee for the caller in the subject device, and run the instance to access the first resource. In some embodiments, if the instance of the callee already exists in the object device, the object device does not need to recreate the instance of the callee, and can directly run the instance to access the first resource.
  • the instance is an APP or a functional component in a running state.
  • An instance can refer to a process or a thread.
  • the electronic device allocates physical addresses in random access memory (random access memory, RAM) to different instances in units of processes.
  • RAM random access memory
  • the electronic device needs to run an instance, it will find the space corresponding to the instance in the RAM according to the virtual address, and run the instance in the space.
  • the virtual address is mapped with the physical address assigned to the instance by the electronic device, and the mapping relationship is stored in the controller of the electronic device. That is to say, the instance finds the actual storage location of the memory data through the virtual address.
  • the object device responds to the access request to access the first resource, which may specifically include one or more of the following:
  • the object device runs the instance of the callee created by the caller, accesses the first resource to perform a series of operations, such as displaying the video call interface through the display screen, collecting images through the camera, performing calculation operations, image processing, and obtaining location information and many more.
  • the object device sends the access result of accessing the first resource to the main device, for example, sending the image collected by the camera to the main device, so that the main device can send it to the other end device with which the video call is made, and for example, the calculation result,
  • the obtained location information is sent to the main device and so on.
  • the object device receives the data sent by the subject device, uses the data to access the first resource, and performs a series of operations.
  • the object device may receive the image captured by the device at the other end of the video call sent by the main device, and display the image on the video call interface of the display screen.
  • the operation performed by the object device when it responds to the access request to access the first resource may be determined by the object device by default, may also be determined by the user on the object device side, or may be determined by the access request sent by the main device side. Do limit.
  • cross-device access in the distributed system can be restricted by combining the access policy of the application identity, reducing the way in which resources in the object device are exposed to the outside world can avoid
  • the risk of security and privacy leakage brought about by the difference of application identity ensures the confidentiality and integrity of data in the object device and ensures data security.
  • the method can avoid the risk of the subject device or the object device being maliciously attacked through the double authentication method of the subject and the object, and further guarantee the data security of the object device.
  • the method can meet the requirements of transparent and seamless cross-device resource access in distributed systems, and bring excellent user experience to users.
  • the application identity-based access control method shown in FIG. 4 may be implemented in a unilateral authentication manner. Specifically, if the subject device executes S105, the guest device does not need to execute S108. Alternatively, before the main device sends the access request, S105 does not need to be executed, and S108 is executed by the guest device.
  • the one-sided authentication method can reduce the operation of the main device/object device and improve the efficiency of cross-device resource transfer in the distributed system.
  • the main device when the application identity-based access control method shown in FIG. 4 is implemented by means of unilateral authentication of the object device, if the main device refuses to receive the access policy of the object device when executing S102, or the main device does not After executing S105, the main device may send a notification message to the object device that it refuses to receive the access policy of the object device or that S105 is not executed. After receiving the notification message, the object device may directly refuse to respond to the access request if it receives the access request from the subject device. Wherein, the main device refuses to receive the access policy of the guest device, or the main device does not execute S105, which may be caused by malicious attacks on the main device. Through this embodiment, the risk of the main device being maliciously attacked can be avoided, further Guarantee the data security of the target device.
  • both S108 and S109 in the method shown in FIG. Messages are relayed via the control device.
  • the security level of the access request or call relationship can also be determined according to the respective application identities of the caller and the callee.
  • the main device The access request can be initiated or the guest device can respond to the access request.
  • the security level of the access request or call relationship can be determined specifically by the access policy of the object device and the respective application identities of the caller and the callee. For example, if the access policy of the object device indicates that the subject device can access the first resource in the object device, then the security level of the access request or call relationship is high; if the access policy of the object device indicates that the subject device cannot access the object device In the first resource, the security level of the access request or call relationship is low.
  • the subject device may be called a first device, and the guest device may be called a second device.
  • the access policy based on the security level in the object device may be referred to as a first access policy.
  • a device for managing various electronic devices such as a rich device such as a smartphone for managing a smart home, may be called a third device.
  • the permission required by the access request sent by the main device may be referred to as the first permission, and the specific content of the first permission may refer to the relevant description above.
  • FIG. 6A is a schematic diagram of a software structure of a main device provided by an embodiment of the present application.
  • the main device may be the main device in the embodiment in FIG. 4 .
  • the main device may include the following modules: application identity management module, application identity library, access policy management module, access policy library, access control module based on application identity, permission access control module, and communication module. in:
  • the application identity management module is used to evaluate or obtain the application identity of each application in the subject device, and is also used to synchronize the application identity of each application in the subject device to the object device, and receive the application identity of each application in the object device sent by the object device App identity.
  • the application identity management module is used to evaluate or obtain the application identity of each application in the subject device, and is also used to synchronize the application identity of each application in the subject device to the object device, and receive the application identity of each application in the object device sent by the object device App identity.
  • the application identity library is used to store the application identities in the subject device acquired by the device application identity management module, and the application identities of each application in the object device.
  • the access policy management module is configured to receive the access policy based on the application identity in the object device synchronized by the object device.
  • the access policy management module is configured to receive the access policy based on the application identity in the object device synchronized by the object device.
  • the access policy library is used to store the access policies synchronized by the object device.
  • the access control module based on the application identity is used to determine whether to initiate an access request to the object device according to the access policy of the object device stored in the access policy library.
  • the authority access control module is used to inquire whether the object device has granted the authority required by the access request to the subject device, and is also used to inquire whether it has the authority required by the access request. When the query result is yes, the authority access control module confirms that the subject device can initiate the access request to the object device.
  • the communication module is used to establish a connection and communicate with the object device.
  • FIG. 6A is only a schematic example, and the main device provided in the embodiment of the present application may further include more or fewer modules, which is not limited here.
  • Each module in the main device mentioned in FIG. 6A may be located in the application program layer, application program framework layer, system service layer, kernel layer, etc. in the electronic device shown in FIG. 3B , which is not limited here.
  • FIG. 6B is a schematic diagram of a software structure of an object device provided by an embodiment of the present application.
  • the object device may be the object device in the embodiment in FIG. 4 .
  • the object device may include the following modules: application identity management module, application identity library, access policy management module, access policy library, access control module based on application identity, permission access control module, and communication module. in:
  • the application identity management module is used to evaluate or obtain the application identity of each application in the object device, and is also used to synchronize the application identity of each application in the object device to the main device, and receive the application identity of each application in the main device sent by the main device App identity.
  • the application identity management module is used to evaluate or obtain the application identity of each application in the object device, and is also used to synchronize the application identity of each application in the object device to the main device, and receive the application identity of each application in the main device sent by the main device App identity.
  • the application identity library is used to store the application identity of each application in the object device acquired by the application identity management module, and the application identity of each application in the subject device.
  • the access policy management module is used to manage the access policy based on the application identity in the object device, and is also used to synchronize the access policy with the main device.
  • the access policy based on the application identity in the object device please refer to the relevant content of the foregoing method embodiment.
  • the access policy library is used to store the access policies of the object device.
  • the access control module based on the application identity is used to determine whether to respond to the access request sent by the subject device according to the access policy of the object device stored in the access policy library.
  • the authority access control module is used to inquire whether the object device has granted the authority required by the access request to the subject device, and is also used to inquire whether it has the authority required by the access request. When the query result is yes, the authority access control module confirms that the object device can respond to the access request.
  • the communication module is used to establish a connection and communicate with the main device.
  • FIG. 6B is only a schematic example, and the object device provided in the embodiment of the present application may further include more or fewer modules, which is not limited here.
  • Each module in the object device mentioned in FIG. 6B may be located in the application program layer, application program framework layer, system service layer, kernel layer, etc. in the electronic device shown in FIG. 3B , which is not limited here.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the processes or functions according to the present application will be generated in whole or in part.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server, or data center by wired (eg, coaxial cable, optical fiber, DSL) or wireless (eg, infrared, wireless, microwave, etc.) means.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
  • the available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (solid state disk, SSD)), etc.
  • the processes can be completed by computer programs to instruct related hardware.
  • the programs can be stored in computer-readable storage media.
  • When the programs are executed may include the processes of the foregoing method embodiments.
  • the aforementioned storage medium includes: ROM or random access memory RAM, magnetic disk or optical disk, and other various media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请公开了基于应用身份的访问控制方法、相关装置及系统。在该方法中,客体设备接收到主体设备发送的调用者访问第一资源的访问请求后,可以根据该调用者的应用身份判断是否允许主体设备访问第一资源,若是,则响应该访问请求。该方法可以满足分布式系统中透明、无缝的跨设备资源访问需求,为用户带来优良的使用体验,并且通过应用身份来约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,避免安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。

Description

基于应用身份的访问控制方法、相关装置及系统
本申请要求于2021年05月27日提交中国专利局、申请号为202110583704.6、申请名称为“基于应用身份的访问控制方法、相关装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机及通信技术领域,尤其涉及基于应用身份的访问控制方法、相关装置及系统。
背景技术
随着智能终端的发展,用户生活中的设备种类及数量越来越多,各个设备互通互联的分布式场景也正在逐渐实现。在分布式场景中,各个设备中的应用程序(application,APP)之间互相调用、共享资源等等,将成为未来的趋势。
如何让分布式场景中的设备之间能够安全地共享资源,保证设备中资源的机密性和完整性,避免潜在的安全及用户隐私泄露风险,从而为用户提供安全、有效的全联接场景,是一个新的挑战。
发明内容
本申请提供了基于应用身份的访问控制方法、相关装置及系统,可以满足分布式系统中透明、无缝的跨设备资源访问需求,并且可以避免应用身份的差异性所带来的安全和隐私泄露风险。
第一方面,本申请提供了一种基于应用身份的访问控制方法,该方法应用于包含第一设备和第二设备的通信系统,第一设备安装有调用者,调用者属于应用,应用包括应用程序APP和功能组件,APP为实现多个功能的程序实体,功能组件为实现单一功能的程序实体。
第一方面的方法包括:第一设备向第二设备发送访问请求,访问请求用于调用者访问第二设备中的第一资源;第一设备向第二设备发送调用者的应用身份;第二设备根据调用者的应用身份,确定允许第一设备访问第一资源,调用者的应用身份包括以下一项或多项:调用者的进程标识PID、应用安全等级、所属用户标识UID、第一设备的设备标识、设备安全等级或设备所在位置;第二设备响应访问请求以访问第一资源。
在第一方面提供的方法中,第一设备可以称为主体设备,第二设备可以称为客体设备。
实施第一方面提供的方法,可以根据应用身份约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中各个设备中应用身份的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。在此基础上,该方法可以满足分布式系统中透明、无缝的跨设备资源访问需求,为用户带来优良的使用体验。
结合第一方面,在一些实施方式中,调用者的应用身份还包括以下一项或多项:调用者的应用标识、第一设备的登录账号。
结合第一方面,在一些实施方式中,调用者的应用身份被携带在访问请求中。
在申请实施例中,一个应用的应用身份中:
APP ID用于标识应用。PID是实例的身份标识。
应用的安全等级可以由用户自主设置,也可以根据以下任意一项或多项来确定:(1)应用运行时要求的设备安全能力。应用运行时要求的设备安全能力越高,应用安全等级也就越高。(2)应用所提供的业务。应用所提供的业务涉及到的数据越机密,则该应用的安全等级也就越高。(3)应用的类别。系统应用的安全等级高于第三方应用的安全等级。
UID用于标识应用所属用户。
登录账号(account ID)是指当前登录到电子设备的操作系统的账号,例如用于登录到华为手机的操作系统的华为账号。
系统账号(system ID)用于标识分布式系统10中的各个电子设备。系统账号(system ID)基于登录账号(account ID)派生。
设备标识(device ID)用于唯一地标识设备。
设备安全等级由电子设备本身的软硬件配置决定。软硬件配置提供的安全能力越高,设备安全等级也就越高。
在同一个电子设备中,不同应用的应用身份中的设备标识(device ID)、设备安全等级或设备所在位置相同。
上述应用身份中的部分信息是固定不变的,例如APP ID和device ID,部分信息可能会随着用户操作或者设备运行而动态变化,例如登录账号(account ID)、系统账号(system ID)、应用安全等级、设备安全等级或设备所在位置等。
结合第一方面,在一些实施方式中,第二设备安装有被调用者,被调用者属于应用,访问请求具体用于调用者调用被调用者以访问第一资源。第二设备可以根据调用者的应用身份、被调用者的应用身份,确定允许第一设备访问第一资源。
结合第一方面,在一些实施方式中,第二设备可以根据调用者的应用身份和第一访问策略,确定允许第一设备访问第一资源;第一访问策略描述了第二设备根据应用身份开放资源的规则。
结合上一实施方式,第一访问策略的实现方式具体包括以下几种:
1.第一访问策略指示:允许具备第一应用身份的应用访问具备第二应用身份的应用中的第二资源,和/或,不允许具备第三应用身份的应用访问具备第四应用身的应用中的第三资源。
第一访问策略实现为上述第1种方式时,第二设备可以根据第一访问策略、调用者的应用身份、被调用者的应用身份,判断是否允许第一设备访问第一资源。
2.第一访问策略指示:允许具备第五应用身份的应用访问第二设备中的第四资源,和/或,不允许具备第六应用身份的应用访问第二设备中的第五资源。
第一访问策略实现为上述第2种方式时,第二设备可以直接根据第一访问策略、调用者的应用身份,判断是否允许第一设备访问第一资源。
结合第一方面,在一些实施方式中,第一访问策略可以由第二设备自主设置;或者,第一访问策略由第二设备根据接收到的用户操作设置;或者,通信系统还包括第三设备,第一访问策略由第三设备根据接收到的用户操作确定后,发送给第二设备。
结合第一方面,在一些实施方式中,第二设备可以在确定具备第一权限的情况下,响应访问请求访问第一资源。该第一权限包括访问第一资源的权限。在一些实施方式中,该第一权限具体包括第一设备访问第一资源的权限。
结合第一方面的方法,在一些实施方式中,第一设备向第二设备发送访问请求之前,可以在该第二设备提供第一资源的应用中选择一个应用作为被调用者。
结合第一方面,在一些实施方式中,第一设备向第二设备发送访问请求之前,可以根据调用者的应用身份,确定允许第一设备访问第二设备中的第一资源。这样,可以通过主客体双重鉴权的方式,避免主体设备和/或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
结合上一实施方式,在一些实施方式中,第一设备向第二设备发送访问请求之前,第二设备可以向第一设备发送第一访问策略。这样可以使得第一设备根据第一访问策略和调用者的应用身份来判断是否允许第一设备访问第二设备中的第一资源,并在是的情况下向第二设备发送访问请求。在另一些实施方式中,第一设备可以预置该第一访问策略。
结合上一个实施方式,第一设备向第二设备发送访问请求之前,可以在提供第一资源的电子设备中选择一个电子设备作为第二设备,和/或,在第二设备提供第一资源的应用中选择一个应用作为被调用者。
结合第一方面的方法,在一些实施方式中,第一设备向第二设备发送访问请求之前,可以在提供第一资源,并且,允许第一设备访问第一资源的电子设备中,选择一个电子设备作为第二设备;和/或,在第二设备中提供第一资源,并且,允许第一设备访问第一资源的应用中,选择一个应用作为被调用者。这样,第一设备在选定第二设备或者被调用者的过程即执行了鉴权,可以通过主客体双重鉴权的方式,避免主体设备和/或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
第二方面,本申请提供了一种基于应用身份的访问控制方法,该方法应用于第二设备,该方法包括:第二设备接收到第一设备发送的访问请求,访问请求用于第一设备中的调用者访问第二设备中的第一资源;调用者属于应用,应用包括应用程序APP和功能组件,APP为实现多个功能的程序实体,功能组件为实现单一功能的程序实体;第二设备接收到第一设备发送的调用者的应用身份;第二设备根据调用者的应用身份,确定允许第一设备访问第一资源,调用者的应用身份包括以下一项或多项:调用者的进程标识PID、应用安全等级、所属用户标识UID、第一设备的设备标识、设备安全等级或设备所在位置;第二设备响应访问请求以访问第一资源。
在第二方面提供的方法中,第二设备所执行的各项操作,可参考第一方面提供的方法中关于第二设备侧的相关描述,这里不再赘述。
第三方面,本申请提供了一种基于应用身份的访问控制方法,该方法应用于包含第一设备和第二设备的通信系统,第一设备安装有调用者,调用者属于应用,应用包括应用程序APP和功能组件,APP为实现多个功能的程序实体,功能组件为实现单一功能的程序实体。
第三方面的方法包括:第一设备根据调用者的应用身份,确定允许第一设备访问第一资源,调用者的应用身份包括以下一项或多项:调用者的进程标识PID、应用安全等级、所属用户标识UID、第一设备的设备标识、设备安全等级或设备所在位置;第一设备向第二设备发送访问请求,访问请求用于调用者访问第二设备中的第一资源;第二设备响应访问请求以访问第一资源。
在第三方面提供的方法中,第一设备可以称为主体设备,第二设备可以称为客体设备。
实施第三方面提供的方法,主体设备可以通过应用身份约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中各个设备中应用身份的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。在此基础上,该方法可以满足分布式系统中透明、无缝的跨设备资源访问需求,为用户带来优良的使用体验。
结合第三方面,应用身份的具体内容可参考第一方面的相关描述。
结合第三方面提供的方法,在一些实施方式中,第二设备响应访问请求访问第一资源之前,可以根据调用者的应用身份,确定允许第一设备访问第一资源。这样,可以通过主客体双重鉴权的方式,避免主体设备和/或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
结合第三方面提供的方法,在一些实施方式中,第二设备响应访问请求访问第一资源之前,可以在第二设备中提供第一资源,并且,允许第一设备访问第一资源的应用中,选择一个应用作为被调用者。这样,可以通过主客体双重鉴权的方式,避免主体设备和/或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
结合第三方面,在一些实施方式中,第一设备可以根据调用者的应用身份和第一访问策略,确定允许第一设备访问第一资源;第一访问策略描述了第二设备根据应用身份开放资源的规则。
结合上一实施方式,在一些实施方式中,第一设备根据调用者的应用身份和第一访问策略,确定允许第一设备访问第一资源之前,第二设备可以向第一设备发送第一访问策略。
结合上一实施方式,第一访问策略的实现方式及设置方式可参考第一方面的相关描述。
结合第三方面的方法,在一些实施方式中,第一设备向第二设备发送访问请求之前,可以先确定具备第一权限,第一权限包括访问第一资源的权限。在一些实施方式中,该第一权限具体包括第一设备访问第一资源的权限。
结合第三方面的方法,在一些实施方式中,第一设备向第二设备发送访问请求之前,可以在提供第一资源的电子设备中选择一个电子设备作为第二设备,和/或,在第二设备提供第一资源的应用中选择一个应用作为被调用者。
第四方面,本申请实施例提供了一种基于访问策略的访问控制方法,该方法应用于第一设备,该方法包括:第一设备根据安装的调用者的应用身份,确定允许第一设备访问第一资源,调用者属于应用,应用包括应用程序APP和功能组件,APP为实现多个功能的程序实体,功能组件为实现单一功能的程序实体;调用者的应用身份包括以下一项或多项:调用者的进程标识PID、应用安全等级、所属用户标识UID、第一设备的设备标识、设备安全等级或设备所在位置;第一设备向第二设备发送访问请求,访问请求用于调用者访问第二设备中的第一资源。
在第四方面提供的方法中,第一设备所执行的各项操作,可参考第三方面提供的方法中关于第一设备侧的相关描述,这里不再赘述。
第五方面,本申请实施例提供了一种电子设备,包括:存储器、一个或多个处理器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器调用计算机指令以使得电子设备执行如第二方面或第二方面任意一种实施方式的方法。
第六方面,本申请实施例提供了一种电子设备,包括:存储器、一个或多个处理器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器调用计算机指令以使得电子设备执行如第四方面或第四方面任意一种实施方式的方法。
第七方面,本申请实施例提供了通信系统,包括第一设备、第二设备,第一设备用于执行如第四方面或第四方面任意一种实施方式的方法,或者,第二设备用于执行如第二方面或第二方面任意一种实施方式的方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当指令在电子设备上运行时,使得电子设备执行如第二方面或第二方面任意一种实施方式的方法。
第九方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第二方面或第二方面任意一种实施方式的方法。
第十方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当指令在电子设备上运行时,使得电子设备执行如第四方面或第四方面任意一种实施方式的方法。
第十一方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第四方面或第四方面任意一种实施方式的方法。
实施本申请提供的技术方案,客体设备接收到主体设备发送的调用者访问第一资源的访问请求后,可以根据该调用者的应用身份判断是否允许主体设备访问第一资源,并在判断结果为是时,响应该访问请求以访问第一资源。该方案可以在满足分布式系统中透明、无缝的跨设备资源访问需求,为用户带来优良的使用体验的同时,根据应用身份约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中由于应用身份的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。
附图说明
图1为本申请实施例提供的通信系统10的结构示意图;
图2为本申请实施例提供的一种分布式场景;
图3A为本申请实施例提供的电子设备的硬件结构图;
图3B为本申请实施例提供的电子设备的软件结构图;
图4为本申请实施例提供的基于应用身份的访问控制方法的流程图;
图5A-图5G为本申请实施例提供的一组用户界面;
图6A为本申请实施例提供的主体设备的软件结构图;
图6B为本申请实施例提供的客体设备的软件结构图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markup language,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphic user interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示 的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
在分布式场景中,一个设备可以跨设备访问另一个设备的各类资源,例如软件资源、硬件资源、外设等等。但是,由于分布式场景中各个设备的差异性,例如各个设备的登录账号不同等,分布式场景中设备之间直接无约束地跨设备访问资源,存在潜在的安全和隐私泄露风险。例如,不同登录账号的设备之间相互访问资源时,可能导致某一方的用户数据发生泄露,对用户隐私造成风险。
本申请以下实施例提供了基于应用身份的访问控制方法,该方法可以应用于包含多个电子设备的分布式系统。在该方法中,主体设备可以先根据客体设备中基于应用身份的访问策略,判断是否向客体设备发起用于调用第一资源的访问请求。若确定发起该访问请求,则主体设备向客体设备发送该访问请求。客体设备接收到该访问请求后,可以根据自身基于应用身份的访问策略,判断是否响应该访问请求。若确定响应该访问请求,则客体设备访问该第一资源。
在本申请以下实施例中,客体设备中基于应用身份的访问策略描述了:该客体设备基于应用身份开放资源给其他设备使用的规则。关于客体设备中基于应用身份的访问策略的具体实现,可参考后文方法实施例的相关描述。
在本申请以下实施例中,分布式系统中的应用均有对应的应用身份。一个应用的应用身份包括以下一项或多项:应用信息、用户信息或设备信息。其中:应用信息可包括以下一项或多项:应用标识(APP identity,APP ID)、进程标识(process identifier,PID)或应用安全等级。用户信息可包括以下一项或多项:该应用所属用户的标识(user ID,UID)、该应用所在设备的登录账号(account ID)或系统账号(system ID)。设备信息可包括以下一项或多项:该应用所在设备的设备标识(device ID)、设备安全等级或设备所在位置。
应用身份的具体内容,可参考后续方法实施例的详细描述。
实施本申请实施例提供的访问控制方法,可以根据应用身份制定访问策略,并通过该访问策略来约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中各个设备中应用身份的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。此外,该方法通过主客体双重鉴权的方式,可以避免主体设备和/或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。在此基础上,该方法可以满足分布式系统中透明、无缝的跨设备资源访问需求,为用户带来优良的使用体验。
在本申请的一些实施例中,还可以采用单侧鉴权的方式来执行基于应用身份的访问控制方法。具体的,若主体设备执行了根据客体设备的访问策略,判断是否发起该访问请求的操作,则客体设备无需判断是否响应主体设备发送的访问请求,可以直接响应该访问请求。或者,主体设备发送访问请求之前,无需根据客体设备的访问策略判断是否发起该访问请求,而由客体设备来判断是否响应该访问请求。单侧鉴权的方式,可以减少主体设备/客体设备的操作,提高分布式系统中跨设备调用资源的效率。
在本申请以下实施例中,电子设备中的资源可以包括以下一项或多项:电子设备的软件资源、硬件资源、外设或外设的资源等等。其中:
硬件资源和电子设备配置的硬件相关,例如可包括电子设备具备的摄像头、传感器、音频设备、显示屏、马达、闪光灯等等。
软件资源和电子设备配置的软件相关,例如可包括电子设备具备的内存资源、计算能力 (例如美颜算法能力、音视频编解码能力)、网络能力、设备连接能力、设备发现能力、数据传输能力等等。进一步地,该软件资源可包括电子设备提供的拍照服务、录音服务、指纹认证服务、运动健康服务、播放服务、短信服务、语音识别服务、视频通话服务等等。软件资源可以包括系统资源,也可以包括第三方资源,这里不做限定。
外设是指和电子设备连接的,用于对数据和信息进行传输、转送和存储等作用的设备。外设例如可包括电子设备的配件设备,如鼠标、外接显示屏、蓝牙耳机、键盘,以及,该电子设备管理的智能手表、智能手环等等。外设的资源可包括硬件资源和软件资源,硬件资源和软件资源可参考前文相关描述。
主体设备、客体设备、分布式系统中应用的定义可参考后文实施例的相关描述。
下面,首先介绍本申请实施例提供的通信系统。
如图1所示,本申请实施例提供了通信系统10。通信系统10包括:多个电子设备。通信系统10也可以称为分布式系统10。
分布式系统10中包含的多个电子设备均为智能终端设备,可以为各种类型,本申请实施例对该多个电子设备的具体类型不作限制。例如,该多个电子设备包括手机,还可以包括平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、智慧屏、可穿戴式设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、车机、智能耳机,游戏机,还可以包括物联网(internet of things,IOT)设备或智能家居设备如智能热水器、智能灯具、智能空调、摄像头等等。不限于此,分布式系统10中的多个设备还可以包括具有触敏表面或触控面板的膝上型计算机(laptop)、具有触敏表面或触控面板的台式计算机等非便携式终端设备等等。
分布式系统10中的多个电子设备均为部署在家庭中的设备时,分布式系统10也可被称为家庭分布式系统。
分布式系统10中的多个电子设备之间可以通过登录相同的账号进行连接。例如,多个电子设备可以登录同一华为账号,并通过服务器来远程连接并通信。
分布式系统10中的多个电子设备也可以登录不同账号,但通过绑定的方式进行连接。一个电子设备登录账号后,可以在设备管理应用中,绑定登录不同账号或未登录的其他电子设备,之后这些电子设备之间可以通过该设备管理应用通信。
分布式系统10中的多个电子设备还可以通过扫描二维码、近场通信(near field communication,NFC)碰一碰、搜索蓝牙设备等方式建立连接,这里不做限制。
总的来说,分布式系统10中的多个电子设备之间建立的通信连接可包括但不限于:有线连接、无线连接例如蓝牙(bluetooth,BT)连接、无线局域网(wireless local area networks,WLAN)例如无线保真点对点(wireless fidelity point to point,Wi-Fi P2P)连接、近距离无线通信(near field communication,NFC)连接,红外技术(infrared,IR)连接,以及远程连接(例如通过服务器建立的连接)等等。
此外,分布式系统中的多个电子设备也可以结合上述任意几种方式来连接并通信,本申请实施例对此不做限制。
分布式系统10中的电子设备按照设备类型,还可分为瘦设备和富设备。在本申请实施例中,富设备可以是指内存及运行空间较大的电子设备,瘦设备可以是指内存及运行空间有限的电子设备。
当分布式系统10中包括富设备和瘦设备时,富设备和瘦设备之间可以通过绑定的方式建 立连接。例如,富设备中安装有设备管理应用,并可以通过账号登录到该设备管理应用。之后,该富设备可以通过扫描二维码、NFC、蓝牙等方式发现附近的瘦设备后,然后根据用户操作,将该瘦设备绑定到富设备登录该设备管理应用所使用的账号中。
瘦设备和富设备绑定后,该富设备可以通过该设备管理应用来管理该瘦设备,例如向瘦设备发送各类指令以指示瘦设备执行对应的操作等等。该富设备可以称为该瘦设备的控制设备或管理设备。
瘦设备和富设备通过富设备登录设备管理应用的账号绑定后,该瘦设备可以将该账号作为自己的主(owner)账号,并使用该主账号加入分布式系统,进而和分布式系统中的其他电子设备通信。
在一些实施例中,瘦设备可以直接和其他设备建立连接,并和其他电子设备通信,瘦设备每次和其他设备通信时都携带自己的主账号。其他电子设备通过该主账号,即可获知该设备为瘦设备,并可以查询到该瘦设备的控制设备。在另一些实施例中,瘦设备可以通过富设备和其他电子设备通信。例如,瘦设备可以将自身想要发送给其他电子设备的消息发送给富设备,然后由富设备转发给其他电子设备。
在本申请实施例中,分布式系统10中的其他电子设备访问瘦设备中的资源时,由该瘦设备的控制设备来决定是否允许本次访问。
分布式系统10中的多个电子设备可以配置不同的软件操作系统(operating system,OS),包括但不限于
Figure PCTCN2022091842-appb-000001
等等。其中,
Figure PCTCN2022091842-appb-000002
为华为的鸿蒙系统。
该多个电子设备也可以都配置相同的软件操作系统,例如可以均配置
Figure PCTCN2022091842-appb-000003
在多个电子设备的软件系统均为
Figure PCTCN2022091842-appb-000004
时,分布式系统10可以看作一个超级终端。
在本申请实施例中,分布式系统10中的各个设备可以安装传统的应用程序(application,APP),例如相机应用、图库应用、设置应用等等。后续实施例中,传统APP可以简称为APP。
此外,本申请实施例提供的分布式系统10可以安装分布式应用(distributed application)。该分布式应用可以为系统应用,也可以为第三方应用,这里不做限制。系统应用是指电子设备的生产商所提供或研发的应用,第三方应用是指非电子设备的生产商所提供或研发的应用。电子设备的生产商可以包括该电子设备的制造商、供应商、提供商或运营商等。制造商可以是指以自制或采购的零件及原料来加工制造电子设备的生产厂商。供应商可以是指提供该电子设备的整机、原料或零件的厂商。运营商可以是指负责该电子设备的经销的厂商。
与包含多种能力(ability)的APP不同,分布式应用支持以单一能力(ability)为单位进行部署。一个分布式应用包括一个或多个功能组件。
功能组件是电子设备中可独立运行的最小能力单元,是对单一能力进行抽象封装的概念。APP将多个功能集合在一起,而功能组件将各个功能作为单独的服务化基础能力,独立存在。即,功能组件是实现单一功能的程序实体。
每个功能组件都可以独立下载、安装并运行。组成同一个分布式应用的多个功能组件,可以部署在分布式系统10中的同一个电子设备中,也可以部署在不同电子设备中。
功能组件只是本实施例中所使用的一个词语,其代表的含义在本实施例中已经记载,其名称并不能对本实施例构成任何限制。另外,在本申请其他一些实施例中,功能组件也可以称为系统组件、系统服务、业务功能等其他名词。本申请后续实施例统一以“功能组件”进行描述。
Figure PCTCN2022091842-appb-000005
为例,
Figure PCTCN2022091842-appb-000006
中的功能组件可以包括以下两种类别:
(1)feature ability,FA。
FA是包含一组或若干组UI的功能组件,可以提供与用户交互的能力。例如,地图应用中的导航界面、即时通讯应用中的视频通话界面等,可以实现为FA。
在一些实施例中,FA基于MVVM(model-view-view-model)模式开发,将视图UI和业务逻辑分离,业务逻辑代码和视图UI代码分开部署。例如,一个电子设备可以将业务逻辑代码和其他APP集成在一起安装,而视图UI代码则可以安装到其他电子设备中。视图UI代码所在设备,可以和业务逻辑代码所在设备通信,以获取到展示UI所需要的数据。
FA支持page模板的能力,例如Empty Ability,Login Ability,Setting Ability等。FA采用脚本语言(java script,JS)提供声明式开发模式,采用类HTML和层叠样式表(cascading style sheet,CSS)声明式编程语言作为页面布局和页面样式的开发语言,并支持ECMAScript规范的JS语言提供页面业务逻辑。
FA具有免安装、独立运行、跨设备UI迁移、跨设备二进制迁移等能力。FA还具有多端部署、分布执行的特性。
FA可以调用AA或APP,实现更多、更复杂的功能。
(2)particle ability,PA。
PA是无UI的功能组件,可以为FA提供支持,例如PA可以作为后台服务提供计算能力,或作为数据仓库提供数据访问能力。例如,美颜功能、定位功能、音视频编解码功能等,可以封装为PA。
PA同样具有多端部署、分布式执行等特性。PA仅对系统服务有依赖关系,和其他PA之间不存在依赖关系。
PA实际上将远程虚拟化、远程调用、PA管理、跨平台兼容、安全等实现做封装,对开发者开放跨设备的服务使能和唤起,以供其他设备调用本设备的计算能力,协同其他设备完成计算工作。PA支持Service Ability,Data Ability等。Service Ability用于提供后台运行任务的能力。Data Ability用于对外部提供统一的数据访问抽象。
PA可以调用FA或APP,实现更多、更复杂的功能。
可以理解的是,“FA”、“PA”只是本实施例中所使用的一个词语,在本申请其他一些实施例中,其还可以被称为其他名词。例如,“PA”、“FA”也可以被称为例如原子能力(atomic ability,AA)、原子应用、元能力、原子化服务、特性能力等其他名词。
组成一个分布式应用的多个功能组件可以由同一个开发者来开发或提供,可以由多个开发者分别开发或提供,这里不做限制。不同开发者共同开发功能组件,可以提高分布式应用的开发效率。
在本申请实施例中,功能组件对外提供标准化的接口,以供调用。APP可调用功能组件。在一些情况下,功能组件也可以调用其他功能组件或APP。此外,被调用的功能组件也可以继续调用另外的功能组件或APP,这样多级调用的方式可称为链式调用。
分布式系统10中的各个设备建立通信连接后,各个设备将同步分布式系统中其他设备的功能组件信息以及APP信息。具体的,各个设备可以将自身安装的功能组件及APP的名称同步给其他设备,以供后续在分布式系统10中调用其他设备的FA、PA等功能组件。在其他一些实施例中,各个设备还可以将自己的设备标识、设备类型等等同步给分布式系统中的其他设备。
参考图2,图2示例性示出了一种可能的分布式的远程教学业务场景。
如图2所示,分布式系统包含智能手机、平板电脑、智慧屏等电子设备。分布式系统中 的各个设备两两相互连接。智能手机、平板电脑、智慧屏可以配置不同的软件操作系统(operating system,OS),例如智能手机和平板电脑可以配置
Figure PCTCN2022091842-appb-000007
系统,智慧屏可以配置
Figure PCTCN2022091842-appb-000008
系统。
智能手机中安装有“在线课堂”。“在线课堂”是一款安装于电子设备中、为老师和学生提供远程上课所需的各项功能的应用程序,本申请实施例对其名称不做限制。“在线课堂”可以包括以下几个功能组件:黑板功能组件、白板功能组件、音视频编解码功能组件、网络连接功能组件。其中,黑板功能组件、白板功能组件属于FA,音视频编解码功能组件、网络连接功能组件属于PA。黑板功能组件提供远程讲解课程的功能。白板功能组件提供远程回答问题的功能。音视频编解码功能组件提供视频音编解码功能。
在老师侧,老师在智能手机上使用“在线课堂”时,可以将黑板功能组件迁移或切换到智慧屏上,从而在智慧屏上讲解课程。
在学生侧,学生在智能手机上使用“在线课堂”时,可以将白板功能组件迁移或切换到平板电脑上,从而在平板电脑上回答问题。
将功能组件由一个设备A迁移或切换至另一设备B,可以包括以下两种:1,UI迁移。在FA的视图UI和业务逻辑分离时,设备A可以运行业务逻辑代码时,可以触发设备B运行该视图UI的代码,用户看来就好像是将功能组件从设备A迁移到了设备B中。2,整体迁移。整体迁移是指设备B从设备A处或者从网络中下载并安装该功能组件后,运行该功能组件并提供相应的功能。
在该远程教学业务场景中,“在线课堂”为调用者,平板电脑中的白板功能组件、智慧屏中的黑板功能组件为被调用者。
图2还示出了另一种可能的分布式视频通话业务场景。
如图2所示,智能手机还可以安装有其他分布式应用,例如即时通讯应用。即时通讯应用可以提供视频通话、语音通话及其他通信功能。即时通信应用可以包括以下功能组件:视频通话功能组件、音视频编解码功能组件、网络连接功能组件。
用户在智能手机上使用即时通讯应用时,可以将该应用的视频通话功能组件迁移或者切换到智慧屏上,从而利用智慧屏的摄像头和显示屏来进行视频通话。
上述“在线课堂”中的黑板功能组件,和,即时通讯应用中的视频通话功能组件,可以是同一个功能组件。也就是说,智慧屏中的该功能组件可以被智能手机上安装的“在线课堂”和即时通讯应用分别调用。
在该视频通话业务场景中,即时通讯应用为调用者,智慧屏中的视频通话功能组件(即视频通话功能组件)为被调用者。
需要说明的是,如图2所示的业务场景仅用于辅助描述本申请实施例的技术方案。在实际业务场景中,图2所示的分布式系统可以包括更多的终端设备,各个设备中可以部署更多或更少的功能组件,各分布式应用可以包括更多或更少的功能组件。
通过图1所示的分布式系统10,以及,图2所示的分布式场景,可以整合不同设备的软硬件能力,实现智慧化的全场景体验。
在一些实施例中,分布式系统10中的各个设备建立通信连接后,各个设备将同步分布式系统中其他设备的功能组件信息以及APP信息。具体的,各个设备可以将自身安装的功能组件及APP的名称同步给其他设备,以供后续在分布式系统10中调用其他设备的APP、功能组件等等。
在本申请后续实施例中:发起调用功能组件或APP的一方,可以称为调用者。调用者例 如可以为APP、FA或PA。整个调用链的初始发起者,可以称为首调者。首调者例如可以为APP或FA。举例来说,调用链为:APP1调用PA1,PA1调用PA2,PA2调用FA1,则APP1为首调者。再举例来说,调用链为:FA1调用PA1,PA1调用PA2,则FA1为首调者。
在整个调用链中,中间被调用的一方以及最后被调用的一方,都可以称为被调用者。被调用者例如可以为APP、FA或PA。
在本申请一些实施例中,调用者也可以称为主体应用,被调用者还可以称为客体应用。
在调用链中,调用者,以及,被调用者,可以部署在同一个电子设备中,也可以部署在不同的电子设备中。
调用者所在设备称为主体设备,被调用者所在设备称为客体设备。
本申请以下实施例所称的应用,可以包括APP,也可以包括功能组件。
在本申请实施例提供的分布式系统10中:
主体设备用于根据客体设备中基于应用身份的访问策略,判断是否向客体设备发起用于调用第一资源的访问请求。若确定发起该访问请求,则主体设备向客体设备发送该访问请求。
客体设备用于在接收到主体设备发送的访问请求之后,根据客体设备自身基于应用身份的访问策略,判断是否响应该访问请求。若确定响应该访问请求,则客体设备访问该第一资源。
关于分布式系统10中的各个电子设备所执行的操作的具体实现,可参考后续方法实施例的相关描述,这里不赘述。
参考图3A,图3A为本申请实施例提供的电子设备的硬件结构示意图。该电子设备可以为图1所示分布式系统10中的任意一个电子设备。该电子设备可以为主体设备,也可以为客体设备。
如图3A所示,该电子设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号解调以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems, SBAS)。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。
随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)、同步动态随机存储器(synchronous dynamic random access memory,SDRAM)、双倍资料率同步动态随机存取存储器(double data rate synchronous dynamic random access memory,DDR SDRAM,例如第五代DDR SDRAM一般称为DDR5SDRAM)等;非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载 到随机存取存储器中,用于处理器110直接进行读写。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备可以设置至少一个麦克风170C。在另一些实施例中,电子设备可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
指纹传感器180H用于采集指纹。电子设备可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
当图3A所示的电子设备为主体设备时:
移动通信模块150或无线通信模块160,可用于和分布式系统10中的其他电子设备(例如客体设备)建立通信连接,建立通信连接的具体方式可参考图1中的相关描述。
移动通信模块150或无线通信模块160,还可用于在和其他电子设备(例如客体设备)建立通信连接后,接收其他电子设备同步的功能组件信息以及APP信息,还可用于接收其他电子设备(例如客体设备)发送的电子设备中各个应用的应用身份,和,该电子设备中基于 应用身份的访问策略,还可用于将该主体设备中各个应用的应用身份,同步给其他电子设备(例如客体设备)。
内部存储器121可用于存储其他电子设备(例如客体设备)同步的功能组件信息以及APP信息,还可用于存储其他电子设备发送的该电子设备中各个应用的应用身份,和,该电子设备中基于应用身份的访问策略,还可用于存储该主体设备中各个应用的应用身份等等。应用身份以及电子设备中基于应用身份的访问策略的具体内容,可参考后续方法实施例的相关描述。
在一些实施例中,处理器110可用于根据客体设备中基于应用身份的访问策略,判断是否向客体设备发起用于调用第一资源的访问请求。之后,移动通信模块150或无线通信模块160,还可用于在处理器110确定发起访问请求后,向客体设备发送该访问请求。
显示屏194还可用于显示后续实施例提供的在主体设备上显示的用户界面。
主体设备中各个模块所执行的操作可参考后续方法实施例的详细描述。
当图3A所示的电子设备为客体设备时:
移动通信模块150或无线通信模块160,可用于和分布式系统10中的其他电子设备(例如主体设备)建立通信连接,建立通信连接的具体方式可参考图1相关描述。
移动通信模块150或无线通信模块160,还可用于和其他电子设备建立通信连接后,向其他电子设备同步功能组件信息以及APP信息,还可用于向其他电子设备发送该客体设备中各个应用的应用身份、该客体设备基于应用身份的访问策略,还可以用于接收其他电子设备(例如主体设备)发送的电子设备中各个应用的应用身份。
内部存储器121存储其他电子设备(例如主体设备)同步的功能组件信息以及APP信息,还可用于存储该客体设备中各个应用的应用身份、该客体设备基于应用身份的访问策略,以及,其他电子设备发送的各个应用的应用身份等等。
移动通信模块150或无线通信模块160,还可用于接收到主体设备发送的用于调用客体设备中第一资源的访问请求。
处理器110可用于根据客体设备的访问策略,判断是否响应主体设备发送的访问请求。
处理器110还可用于在上述判断结果为是的情况下,调度相关模块,例如调用被调用者的实例,访问第一资源,从而响应主体设备发送的访问请求。
显示屏194还可用于显示后续实施例提供的在客体设备上显示的用户界面。
客体设备中各个模块所执行的操作可参考后续方法实施例的详细描述。
参考图3B,图3B为本申请实施例提供的电子设备的软件结构示意图。该电子设备可以为图1所示分布式系统10中的任意一个电子设备。该电子设备可以为主体设备,也可以为客体设备。
电子设备的软件系统均可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等。示例性地,电子设备的软件系统包括但不限于
Figure PCTCN2022091842-appb-000009
Figure PCTCN2022091842-appb-000010
Linux或者其它操作系统。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图3B所示,应用程序包可以包括APP,例如相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。应用程序层还可包括功能组件,例如FA、PA等等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3B所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
基于图2所示的分布式系统10,图3A所示的电子设备的硬件结构,图3B所示的电子设备的软件结构,下面详细介绍本申请实施例提供的基于应用身份的访问控制方法。
参考图4,图4为本申请实施例提供的基于应用身份的访问控制方法的流程示意图。
如图4所示,该方法可包括如下步骤:
S101,分布式系统中的各个电子设备之间相互建立通信连接。
本申请实施例对分布式系统中各个电子设备之间建立通信连接的方式不做限定,例如可通过登录相同账号、绑定设备、扫描二维码等方式来建立通信连接等。本申请实施例对电子设备之间建立的通信连接的类型不做限定,例如可包括有线连接、无线连接例如蓝牙连接、Wi-Fi P2P连接、NFC连接,IR连接,以及远程连接等等。具体可参考图2中的相关描述。
在一些实施例中,分布式系统中的各个电子设备之间建立连接后,还可以相互同步功能组件信息以及APP信息。例如,电子设备可以向连接的其他电子设备发送自身安装的可供调用的功能组件信息以及APP信息,例如标识等等。可供调用的功能组件或APP由开发者在开发阶段声明或者定义,这里的可供调用仅仅是指功能组件或APP可以被调用者调用,并非是指开放或授权给某个设备调用。
可选步骤S102,分布式系统中的各个电子设备相互同步应用身份。
在本申请实施例中,分布式系统中的电子设备可以安装有一个或多个应用,该应用可以包括APP,还可以包括功能组件。分布式系统中的电子设备所安装的各个应用均有对应的应用身份。不同应用的应用身份可以不同。分布式系统10中的各个电子设备可以相互同步各自安装的各个应用的应用身份。
一个应用的应用身份包括以下一项或多项:应用信息、用户信息或设备信息。其中:
1.应用信息可包括以下一项或多项:应用标识(APP identity,APP ID)、进程标识(process identifier,PID)或应用安全等级。
APP ID用于标识应用。同一个应用在不同设备中共享同一个APP ID。
PID是实例的身份标识,电子设备运行应用时会启动该应用的一个实例,并为该实例分配一个唯一的PID。
应用安全等级可以根据不同的粒度来划分。例如,可以粗略地将应用安全等级划分为高、中、低三个等级。在一些实施例中,应用的安全等级可以由用户自主设置。在另一些实施例中,电子设备可以根据以下任意一项或多项来确定应用的安全等级:(1)应用运行时要求的设备安全能力。应用运行时要求的设备安全能力越高,应用安全等级也就越高。(2)应用所提供的业务。应用所提供的业务涉及到的数据越机密,则该应用的安全等级也就越高。(3)应用的类别。系统应用的安全等级高于第三方应用的安全等级。
在同一个电子设备中,不同应用的APP ID、PID以及应用安全等级均可以不同。
2.用户信息可包括以下一项或多项:该应用所属用户的标识(user ID,UID)、该应用所在设备的登录账号(account ID)或系统账号(system ID)。
UID用于标识应用所属用户。通常情况下,电子设备会为安装的不同应用分配不同的UID,以作区分。在一些实施例中,应用所属用户可以分为不同的类型,例如机主用户、次要用户、访客用户等等。
登录账号(account ID)是指当前登录到电子设备的操作系统的账号,例如用于登录到华为手机的操作系统的华为账号。登录账号(account ID)也可称为云账号。
系统账号(system ID)是指分布式系统10分配给系统中各个电子设备的账号,用于标识分布式系统10中的各个电子设备。系统账号(system ID)可以是基于登录账号(account ID)派生的。在一些实施例中,如果分布式系统10中有多个电子设备具有相同的登录账号(account ID),则分布式系统10可以为该多个电子设备分配相同的系统账号(system ID)。分布式系统10还可以为不同登录账号(account ID)的电子设备分配不同的系统账号(system ID)。在一 些实施例中,如果分布式系统10中包括未登录的电子设备,如电子设备通过扫描二维码加入分布式系统10但并未使用登录账号登录操作系统时,该电子设备当前无登录账号(account ID),则分布式系统10可以为该电子设备分配默认的系统账号(system ID)。
在一些实施例中,如果分布式系统10为中的电子设备均配置
Figure PCTCN2022091842-appb-000011
软件系统,则该分布式系统10分配给各个电子设备的系统账号(system ID)可以称为鸿蒙系统账号(HOS system ID,HosID)。
在同一个电子设备中,不同应用的应用身份中的UID可以不同,登录账号(account ID)和系统账号(system ID)相同。
3.设备信息可包括以下一项或多项:该应用所在设备的设备标识(device ID)、设备安全等级或设备所在位置。
设备标识(device ID)用于唯一地标识设备。设备标识(device ID)例如可以为MEID移动设备识别码(mobile equipment identifier,MEID)、国际移动设备识别码(international mobile equipment Identity,IMEI)、媒体访问控制(medium access control,MAC)地址等等。
设备安全等级可以根据不同的粒度来划分。例如,可以粗略地将设备安全等级划分为高、中、低三个等级。设备安全等级主要由电子设备本身的软硬件配置决定。电子设备的软硬件配置提供的安全能力越高,设备安全等级也就越高。
设备所在位置可以由电子设备通过室外导航技术例如全球卫星导航技术,室内定位技术如Wi-Fi、蓝牙、红外线、超宽带、RFID、ZigBee、超声波等定位技术获取到。
在同一个电子设备中,不同应用的应用身份中的设备标识(device ID)、设备安全等级或设备所在位置相同。
上述应用身份中的部分信息是固定不变的,例如APP ID和device ID,部分信息可能会随着用户操作或者设备运行而动态变化,例如登录账号(account ID)、系统账号(system ID)、应用安全等级、设备安全等级或设备所在位置等。
具体执行S102时,分布式系统中的各个电子设备相互建立连接后,可以首先基于该连接相互同步各自的应用身份。在一些实施例中,分布式系统中的电子设备可以在自身的应用身份发生变化时,将更新后的完整应用身份或者变化的部分应用身份,发送给连接的其他电子设备。在另一些实施例中,分布式系统中的各个电子设备还可以周期性地相互同步完整应用身份或者变化的部分应用身份。在一些实施例中,发生变化的部分应用身份可以通过哈希(hash)值的形式来传输。
参考图5A,图5A示例性示出了电子设备展示的该电子设备中的各个应用共享的部分应用身份。如图5A所示,用户界面51为电子设备中的设置(setting)应用提供的用户界面。设置应用用于设置电子设备中各项功能。
用户界面51中显示有:状态栏501、返回键502、页面指示符503、一个或多个设备信息条目。其中:
状态栏501可包括:Wi-Fi信号的一个或多个信号强度指示符,时间指示符、电池状态指示符、天气指示符等等。
返回键502用于返回设置应用提供的上一级页面。
页面指示符503用于指示当前页面用于展示电子设备的部分应用身份。页面指示符503可以实现为文本例如文本“关于本机”,还可以实现为图标或者其他形式。
一个或多个设备信息条目包括:登录账号(account ID)的条目504、系统账号(system ID)的条目505、设备标识(device ID)的条目506、存储空间的条目等等。
登录账号(account ID)的条目504、系统账号(system ID)的条目505、设备标识(device ID)的条目506分别用于展示该电子设备的登录账号(account ID)、系统账号(system ID)、设备标识(device ID)。如图5A所示,该电子设备的登录账号(account ID)、系统账号(system ID)、设备标识(device ID)分别为:“Andy”、“Andy”、“F2LDMNE10D5M”。
在一些实施例中,可以不必执行S102,而在后续S107中主体设备向客体设备发送的访问请求中携带调用者的应用身份。这样可以减少分布式系统10中各个电子设备之间的交互,使得跨设备访问更加地方便、快捷。
可选步骤S103,主客体设备相互同步基于应用身份的访问策略。
在本申请实施例中,不同电子设备的访问策略可以不同,这里不做限定。
电子设备中基于应用身份的访问策略描述了该电子设备基于应用身份开放资源给其他设备使用的规则。访问策略中的规则仅声明或者定义开放的资源,而并非指授予使用资源的权限。
在本申请实施例中,电子设备中基于应用身份的访问策略描述了该电子设备基于设备应用身份和/或应用身份开放资源给其他设备使用的规则。
电子设备中基于应用身份的访问策略可包括以下任意一种或多种的组合:
1.通用访问策略。
通用访问策略不涉及某个具体应用的应用身份,适用于分布式系统中的任意应用。
通用访问策略可以指明以下信息:约束动作,约束主体的应用身份和/或约束客体的应用身份,资源。其中,约束动作可包括两种:允许访问,和,不允许访问。资源的定义可参考前文。
也就是说,通用访问策略指明了以下任意一项或多项:允许何种应用身份的应用访问何种应用身份的应用中的哪些资源,不允许何种应用身份的应用访问何种应用身份的应用中的哪些资源。
换句话说,通用访问策略指示:允许具备第一应用身份的应用访问具备第二应用身份的应用中的第二资源,和/或,不允许具备第三应用身份的应用访问具备第四应用身的应用中的第三资源。
示例性地,通用访问策略例如可包括:允许具备相同系统账号(system ID)的应用访问摄像头等资源,不允许不同系统账号(system ID)的应用访问摄像头等资源,允许机主用户访问网络资源,不允许访客用户访问网络资源,允许处于相同位置(例如卧室)的应用访问照片等隐私数据,BLP(Bell-LaPadula)原则例如不允许低安全级别应用身份的应用读高安全级别应用身份的应用的数据、不允许高安全级别应用身份的应用写低安全级别应用身份的应用的数据,Biba原则例如不允许高安全级别应用身份的应用读低安全级别应用身份的应用的数据、不允许低安全级别应用身份的应用写高安全级别应用身份的应用的数据。
其中,应用身份可以划分为不同的安全级别。本申请实施例对评估应用身份的安全级别的方式不做限制,例如,电子设备可以将和自身相同系统账号(system ID)的应用看做同等安全级别,将和自身不同系统账号(system ID)的应用看做低安全级别。
通过上述示例性给出的通用访问策略,可以禁止不同系统账号(system ID)的应用之间访问部分资源,还可以限制访客用户或次要用户能够访问的资源,可以避免用户隐私的泄露,保证客体设备中数据的完整性。
在本申请实施例中,结合通用访问策略和调用者、被调用者各自的应用身份,就可以获知客体设备中被调用者能访问的各个资源是否开放给该主体设备中的调用者。
2.基于电子设备中应用的应用身份的访问策略。
基于应用的应用身份的访问策略,可以是结合通用访问策略和该电子设备中各个应用的应用身份得到的,仅适用于该电子设备。
基于应用的应用身份的访问策略可以指明以下信息:约束动作,约束主体的应用身份、资源。
也就是说,基于电子设备的应用的应用身份的访问策略指明了:允许何种应用身份的应用访问哪些资源,和/或,不允许何种应用身份的应用访问哪些资源。
换句话说,基于电子设备的应用的应用身份的访问策略指示:允许具备第五应用身份的应用访问该电子设备中的第四资源,和/或,不允许具备第六应用身份的应用访问该电子设备中的第五资源。
示例性地,假设电子设备中安装有视频应用,该视频应用可调用摄像头资源、音频资源、网络资源,则基于该视频应用的应用身份的访问策略可包括:允许何种应用身份的应用访问摄像头资源、音频资源、网络资源,不允许何种应用身份的应用访问摄像头资源、音频资源、网络资源。
由于电子设备中应用的应用身份可能会动态变化,因此,基于该电子设备中应用的应用身份的访问策略也可能会动态变化。
在本申请实施例中,结合基于客体设备中应用的应用身份的访问策略,和,主体设备中调用者的应用身份,就可以获知客体设备中被调用者能访问的各个资源是否开放给该主体设备中的调用者。
在本申请实施例中,电子设备的访问策略可以有以下两种设置方式:
1.该访问策略由该电子设备默认设置。
例如,电子设备出厂时可预置上述第1种通用访问策略,电子设备可以自主设置上述第2种基于电子设备中应用的应用身份的访问策略等等。
2.该访问策略由用户自主设置。
具体的,电子设备可以响应于接收到的用户操作,设置该电子设备的访问策略,还可以设置该电子设备所管理的其他电子设备(例如瘦设备)的访问策略。
参考图5B,图5B示例性示出了电子设备响应于用户操作,设置上述第1种访问策略,即设置通用访问策略的一种方式。
图5B示出了电子设备中的设置应用提供的用户界面52。
如图5B所示,用户界面52中显示有:状态栏、返回键、页面指示符507、一个或多个资源选项508。
状态栏、返回键可参考图5A中的相关描述。
页面指示符507用于指示当前页面用于设置电子设备的访问策略。页面指示符507可以实现为文本例如文本“访问策略”,还可以实现为图标或者其他形式。
一个或多个资源选项508可对应于电子设备中可供调用的一个或多个资源,例如摄像头、扬声器、短信服务、播放服务、设备连接能力等等。一个资源选项可以对应一个或多个资源。
资源选项508之后对应有用于开放或禁止访问该资源选项508对应资源的控件509。
如图5B所示,用户设置的该电子设备的访问策略包括:允许相同系统账号(system ID)的应用访问该电子设备的摄像头和扬声器,允许不同系统账号(system ID)的应用访问该电子设备的网络资源。
不限于图5B所示的方式,具体实现中,用户还可以通过其他方式设置访问策略,这里不做限定。例如,电子设备可以提供用于设置该电子设备管理的其他电子设备的访问策略的用户界面,等等。
上述图5B可以是由本申请实施例中客体设备提供的用户界面。
上述图5B仅为示例,不构成对本申请的限定。
在本申请实施例中,通过基于应用身份的访问策略,对于电子设备中不允许被访问的资源,该电子设备可以拒绝提供该资源的访问接口,从而禁止其他电子设备访问。
具体执行S103时,分布式系统中的各个电子设备相互建立连接后,首先基于该连接相互同步各自的访问策略。在一些实施例中,分布式系统中的电子设备可以在访问策略发生变化时,将更新后的访问策略发送给其他电子设备。在另一些实施例中,分布式系统中的各个电子设备还可以周期性地相互同步访问策略。
电子设备中访问策略发生变化,可能是由于电子设备或用户更改设置导致的,也可能是由于电子设备中应用的应用身份发生变化导致的,具体可参考前文相关描述,这里不再赘述。
在本申请一些实施例中,如果分布式系统中的各个电子设备均预置有相同的通用访问策略,则主体设备中也存储有客体设备的通用访问策略,则无需执行S103。
S104,主体设备生成访问请求,该访问请求用于主体设备中的调用者访问客体设备中的第一资源,该访问请求可以包括调用者的应用身份。
主体设备可以为分布式系统10中的任意一个电子设备。
在本申请实施例中,主体设备中安装有调用者,调用者可以为APP或功能组件。APP、功能组件的定义可参考前文相关描述。
在一些实施例中,主体设备可以在运行调用者的过程中,响应于接收到的用户操作,生成访问请求。例如,用户在主体设备(例如手机)上使用视频通话类应用时,可以输入用户操作,触发主体设备生成用于访问客体设备的摄像头和显示屏来进行视频通话的访问请求。
在另一些实施例中,主体设备也可以在运行调用者的过程中,在一些情况下自主地生成针对客体设备的访问请求。例如,主体设备在运行外卖类应用程序时,可以自主生成用于调用客体设备中的定位功能来获取定位数据的访问请求。例如,主体设备可以在每次进行视频通话时,都默认生成用于主体设备中的即时通讯应用调用客体设备(例如智慧屏)中的视频通话功能组件和摄像头资源的访问请求。
在本申请实施例中,主体设备可以使用以下任意一种方式来确定客体设备:
1.主体设备在运行调用者时,可以在提供第一资源的多个电子设备中,自主选择一个电子设备作为客体设备,或者,响应于接收到的用户操作选择一个电子设备作为客体设备。
示例性地,如果主体设备A中的调用者APP1生成用于访问摄像头资源的访问请求,若主体设备A连接的设备B和设备C均可以提供摄像头资源,则主体设备A可以选择设备安全等级较高的设备C作为客体设备,或者,任意选择一个设备作为客体设备。
示例性地,参考图5C,图5C示出了主体设备响应于用户操作选择客体设备的场景。
图5C展示了主体设备(例如智能手机)在运行即时通讯应用时展示的一个用户界面54,该用户界面54为视频通话界面。用户界面54中显示有:主体设备端用户的图像,和主体设备端用户进行视频通话的其他用户的图像,一个或多个设备选项513。一个或多个设备选项513可对应于分布式系统10中,和主体设备连接并且提供第一资源的设备,例如智慧屏、平板电脑、智能手机等等。
如图5C所示,主体设备可以检测到作用于设备选项513的用户操作,并响应于该用户 操作,将该设备选项513对应的设备(例如智慧屏)确定为客体设备。在一些实施例中,主体设备还可以响应于作用于设备选项513的用户操作,生成用于访问设备选项513对应的设备(例如智慧屏)中摄像头资源的访问请求。
2.主体设备在运行调用者时,可以在多个电子设备中,根据该多个电子设备各自基于应用身份的访问策略,确定允许该主体设备访问第一资源的电子设备。之后,主体设备可以在允许该主体设备访问第一资源的电子设备中,自主选择或根据用户操作选择一个电子设备作为客体设备。
如果一个电子设备中基于应用身份的访问策略表明,允许该主体设备中的调用者访问第一资源,则该电子设备为允许该主体设备访问第一资源的电子设备。
示例性地,参考图5E,图5E示出了主体设备根据用户操作选择客体设备的场景。
图5E展示了主体设备(例如智能手机)在运行即时通讯应用时展示的一个用户界面54,该用户界面54为视频通话界面。用户界面54和图5C的用户界面54类似,显示有:主体设备端用户的图像,和主体设备端用户进行视频通话的其他用户的图像,一个或多个设备选项515。一个或多个设备选项515可对应于分布式系统10中,和主体设备连接并且允许该主体设备访问第一资源的电子设备,例如智慧屏、平板电脑等等。
如图5E所示,主体设备可以检测到作用于设备选项515的用户操作,并响应于该用户操作,将该设备选项515对应的设备(例如智慧屏)确定为客体设备。在一些实施例中,主体设备还可以响应于作用于设备选项515的用户操作,生成用于访问设备选项515对应的设备(例如智慧屏)中摄像头资源的访问请求。
对比图5C和图5E,可见,主体设备连接的电子设备中,提供第一资源的电子设备包括智慧屏、平板电脑、智能手机,但根据各个电子设备中基于应用身份的访问策略,允许主体设备访问该第一资源的电子设备仅包括智慧屏、平板电脑。
可见,通过上述第2种方式,主体设备已经根据该客体设备中基于应用身份的访问策略执行了针对客体设备的鉴权。
在本申请一些实施例中,主体设备生成的访问请求具体用于主体设备中的调用者调用客体设备中的被调用者,以访问客体设备中的第一资源。客体设备中安装有被调用者,被调用者可以为APP或功能组件。
主体设备可以使用以下任意一种方式,在客体设备安装的多个应用中选择被调用者:
1.主体设备可以在客体设备中提供第一资源的应用中,自主选择一个应用作为被调用者,或者,响应于接收到的用户操作选择一个应用作为被调用者。
在客体设备安装的各个应用中,如果应用的功能包括访问第一资源,则该应用为提供第一资源的应用。
示例性地,如果主体设备A中的调用者APP1生成用于访问摄像头资源的访问请求,若客体设备C中有两个提供第一资源的功能组件FA1和FA2,则主体设备A可以选择应用安全等级较高的功能组件FA1作为被调用者,或者选择任意一个功能组件作为被调用者。
示例性地,参考图5D,图5D示出了主体设备响应于用户操作选择被调用者的场景。
图5D展示了主体设备(例如智能手机)在运行即时通讯应用时展示的一个用户界面55,该用户界面55可以是主体设备响应于在图5C的设备选项513上接收到的用户操作而显示的界面。用户界面55中显示有:一个或多个应用选项514。一个或多个应用选项514可对应于客体设备(例如智慧屏)安装的各个应用中,提供第一资源的应用,例如视频通话功能组件 (FA)1、视频通话功能组件2、视频通话功能组件3等等。
如图5D所示,主体设备可以检测到作用于应用选项514的用户操作,并响应于该用户操作,将该应用选项514对应的应用(例如视频通话功能组件1)确定为被调用者。在一些实施例中,主体设备还可以响应于作用于应用选项514的用户操作,生成用于调用客体设备中的应用选项514对应的应用,以访问摄像头资源的访问请求。
2.主体设备在客体设备中提供第一资源的应用中,根据客体设备基于应用身份的访问策略,确定允许该主体设备访问第一资源的应用。之后,主体设备可以在允许该主体设备访问第一资源的应用中,自主选择一个应用作为被调用者,或者,响应于接收到的用户操作在其中选择一个应用作为被调用者。
如果一个电子设备中基于应用身份的访问策略表明,允许该主体设备访问该电子设备中一些应用的第一资源,则这些应用为允许该主体设备访问第一资源的应用。
示例性地,参考图5F,图5F示出了主体设备响应于用户操作选择被调用者的场景。
图5F展示了主体设备(例如智能手机)在运行即时通讯应用时展示的一个用户界面55,该用户界面55可以是主体设备响应于在图5E的设备选项515上接收到的用户操作而显示的界面。用户界面55中显示有:一个或多个应用选项516。一个或多个应用选项516可对应于客体设备(例如智慧屏)安装的各个应用中,允许主体设备访问第一资源的应用,例如视频通话功能组件(FA)1、视频通话功能组件2等等。
如图5F所示,主体设备可以检测到作用于应用选项516的用户操作,并响应于该用户操作,将该应用选项516对应的应用(例如视频通话功能组件1)确定为被调用者。在一些实施例中,主体设备还可以响应于作用于应用选项516的用户操作,生成用于调用客体设备中的应用选项516对应的应用,以访问摄像头资源的访问请求。
对比图5F和图5D,可见,客体设备(例如智慧屏)安装的应用中,提供第一资源的应用包括视频通话功能组件1-3,但根据客体设备中基于应用身份的访问策略,允许主体设备访问该第一资源的应用仅包括视频通话功能组件1-2。
可见,通过上述第2种方式,主体设备已经根据该客体设备中基于应用身份的访问策略执行了针对被调用者的鉴权。
综合上述描述可知,主体设备生成的访问请求可以包括:调用者的标识、以及第一资源的标识。如果主体设备确定了被调用者,则该访问请求还可包括被调用者的标识。在一些实施例中,该访问请求还可以包括:主体设备的标识、客体设备的标识。
主体设备或客体设备的标识可以为设备类型、设备型号、设备名称等等,本申请实施例对此不做限制。这里的设备类型可以从设备形态来看,例如可包括手机、平板电脑、智能耳机、IOT设备或智能家居设备等等。
调用者的标识、被调用者的标识,可以为应用标识(APP ID)。
在本申请实施例中,第一资源可以为客体设备中的任意资源,具体取决于主体设备的需求。客体设备中资源的分类及具体内容,可参考前文相关描述。第一资源可以包括一个或多个资源,这里不做限定。
在一些情况下,被调用者的标识和第一资源的标识可以相同。例如,第一资源为摄像头时,该被调用者的标识也可以是该摄像头的标识,用于指示该被调用者为相机应用。
在一些实施例中,主体设备生成的访问请求可以包括调用者的应用身份,调用者的应用身份所包含的具体内容,可参考前文S102中关于应用身份的详细描述。
访问请求中的调用者身份可以不与访问请求一起发送,可以单独发送,也可以与访问请 求一起发送,当单独发送时,可以在访问请求前发送,也可以在访问请求后发送,在此不做限定。
S105,主体设备根据客体设备中基于应用身份的访问策略,判断是否发起该访问请求。
在一些实施例中,主体设备生成访问请求后,可以直接执行S105。
在另一些实施例中,主体设备生成访问请求后,可以在确认被调用者和/或第一资源为敏感资源的前提下,执行S105。这样可以保证主体设备在符合客体设备的访问策略的情况下,访问客体设备中的敏感资源,从而保证用户数据的安全。敏感资源可以是指,被泄露后会对用户隐私造成较大风险的资源,例如隐私程度高于阈值的资源。敏感资源可以包括电子设备中的硬件资源、软件资源以及存储的数据。
在本申请其他一些实施例中,主体设备也可以先执行S105,后执行S104,即主体设备可以先根据访问策略判断是否发起访问请求,并在确定发起访问请求之后再生成该访问请求。
在一些实施例中,若执行了S103,则主体设备可以根据客体设备发送的访问策略,判断是否发起访问请求。在另一些实施例中,若未执行S103,则主体设备可以根据预存的该客体设备的访问策略,例如通用访问策略,来判断是否发起访问请求。
具体执行S105时,主体设备可以根据客体设备中基于应用身份的访问策略,判断是否允许主体设备访问客体设备中的第一资源。
在本申请实施例中,当客体设备中基于应用身份的访问策略允许调用者访问被调用者的第一资源时,则可以判定允许主体设备访问客体设备中第一资源。
由于客体设备的访问策略描述了该客体设备基于应用身份开放资源给其他设备使用的规则,因此,主体设备可以该访问策略来执行上述判断,并得出判断结果。
当客体设备的访问策略包含通用访问策略时,主体设备可以根据该通用访问策略,结合调用者、被调用者各自的应用身份,判断是否发起访问请求。
当客体设备的访问策略包含基于客体设备中应用的应用身份的访问策略时,主体设备可以根据该访问策略,结合调用者的应用身份,判断是否发起访问请求。
通过S105,可以结合应用身份实施相应的访问策略,以此来约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中各个设备的应用身份的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。
在一些实施例中,如果主体设备使用上述第1种确定客体设备的方式来选择客体设备,或者,主体设备使用上述第1种确定被调用者的方式来选择被调用者,则客体设备可以执行S105以针对客体设备或被调用者进行鉴权。主体设备使用上述第2种确定客体设备的方式来选择客体设备,或者,主体设备使用上述第2种确定被调用者的方式来选择被调用者,即客体设备选择客体设备或被调用者时已经执行了针对该客体设备或该被调用者的鉴权,则客体设备无需执行S105。
若S105的判断结果为是,则执行后续步骤。
若S105的判断结果为否,则主体设备可以输出提示信息,以提示用户由于应用身份不符合客体设备的访问策略,主体设备生成的该访问请求不能被响应。该提示信息的实现形式可参考后文相关描述。
可选步骤S106,主体设备判断是否具备该访问请求所需的权限。
在本申请一些实施例中,主体设备可以在S105的判断结果为是的情况下,直接执行S106。
在本申请另一些实施例中,主体设备也可以先执行S106,并在S106的执行结果为是的 情况下,再执行S104和/或S105。
主体设备生成的访问请求所需的权限包括:调用客体设备中的被调用者的权限,和/或,访问客体设备中第一资源的权限。
在一些实施例中,该访问请求所需的权限具体包括:主体设备调用客体设备中被调用者和/或访问第一资源的权限。当访问请求所需的权限包括调用被调用者的权限时,可以看做该权限包含调用被调用者执行各种操作的权限,因此也包含访问第一资源的权限。
在一些实施例中,该访问请求所需的权限具体包括:调用者调用客体设备中被调用者和/或访问第一资源的权限。
在一些实施例中,该访问请求所需的权限具体包括:主体设备中的调用者调用客体设备中被调用者和/或访问第一资源的权限。
在本申请的一些实施例中,主体设备可以在生成访问请求之后,直接向用户申请该访问请求所需的权限。在另一些实施例中,主体设备可以在生成访问请求之后,在S106的执行结果为否的情况下,向用户申请权限,这样可以减少主体设备和用户之间的交互,提高分布式系统中跨设备调用资源的效率。不限于主体设备获取该访问请求所需的权限,在其他一些实施例中,主体设备还可以从客体设备处接收该访问请求所需的权限。
在S106中,主体设备可以在运行调用者的过程中,使用主体设备和调用者均支持的授权方式,来请求用户授予自身生成的访问请求所需的权限。授权方式可包括但不限于:弹框授权、指纹验证授权、人脸验证授权、语音指令授权、按键授权等等,这里不做限制。
电子设备支持的授权方式的种类,取决于该电子设备的硬件和/或软件配置。例如,支持弹框授权需要电子设备配置显示屏。支持指纹验证授权,需要电子设备配置指纹传感器。支持人脸验证授权,需要电子设备配置摄像头以及人脸识别算法。支持语音指令授权,需要电子设备配置麦克风或其他拾音设备。支持按键授权,需要电子设备配置物理按键。
调用者是否具备授权条件,取决于该调用者本身的功能。例如,调用者能够提供用户界面时,该调用者可以支持弹框授权。又例如,调用者能够调用指纹传感器时,该调用者可以支持指纹验证授权。
主体设备支持弹框授权时,可以在显示屏上输出提示信息,该提示信息用于提示该访问请求所需的权限。之后,主体设备可以检测到作用于显示屏的用户操作,并响应于该用户操作,获取到该访问请求所需的权限。
主体设备支持指纹验证授权时,可以通过指纹传感器采集用户的指纹,并将采集到的指纹和预置的指纹进行比对,若两个指纹一致,则主体设备获取到访问请求所需的权限。在一些实施例中,主体设备可以预置多个指纹,并在采集到不同的预置指纹时,获取到具有不同的时效的访问请求所需的权限。
主体设备支持人脸验证授权时,可以通过摄像头采集用户的人脸图像,并将采集到的人脸图像和预置的人脸图像进行比对,若两者一致,则主体设备获取到访问请求所需的权限。
主体设备支持语音指令授权时,可以通过麦克风、受话器或者其他拾音设备来采集用户输入的语音指令,并将采集到的语音指令和预置的语音指令进行比对,若两者一致,则主体设备获取到访问请求所需的权限。在一些实施例中,主体设备可以预置多个语音指令,并在采集到不同的预置语音指令时,获取到具有不同的时效的访问请求所需的权限。
主体设备支持按键授权时,可以通过物理按键采集用户的按压操作,如果在物理按键上采集到了预设的按压操作(例如一次按压操作、长按操作、连续两次按压操作等等),则主体设备获取到访问请求所需的权限。在一些实施例中,主体设备可以预置多个按压操作,并在 采集到不同的预置按压操作时,获取到具有不同的时效的访问请求所需的权限。
若S106的判断结果为是,则执行后续步骤。
S107,主体设备向客体设备发送该访问请求,该访问请求可以携带有调用者的应用身份。
在一些实施例中,主体设备还可以向客体设备发送自身获取到的访问请求所需的权限信息,该权限信息指示访问请求所需的权限。
在一些实施例中,主体设备向客体设备发送的访问请求中还可以携带有该主体设备中调用者的应用身份,这样可以不必执行S102的操作,减少主客体设备之间的交互,提高跨设备资源调用的效率。
S108,客体设备根据客体设备的访问策略,判断是否响应该访问请求。
在一些实施例中,客体设备接收到访问请求后,可以直接执行S108。
在另一些实施例中,客体设备接收到访问请求后,可以在确认被调用者和/或第一资源为敏感资源的前提下,执行S108。这样可以保证主体设备在符合客体设备的访问策略的情况下,访问客体设备中的敏感资源,从而保证用户数据的安全。
具体执行S108时,和主体设备执行S105类似,客体设备可以根据客体设备中基于应用身份的访问策略,判断是否允许主体设备访问客体设备中的第一资源。也就是说,客体设备可以根据客体设备中基于应用身份的访问策略,判断是否允许调用者访问被调用者的第一资源。
由于客体设备的访问策略描述了该客体设备基于应用身份开放资源给其他设备使用的规则,因此,客体设备可以该访问策略来执行上述判断,并得出判断结果。
当客体设备的访问策略包含通用访问策略时,客体设备可以根据该通用访问策略,结合调用者、被调用者各自的应用身份,判断是否响应访问请求。
当客体设备的访问策略包含基于客体设备中应用的应用身份的访问策略时,客体设备可以根据该访问策略,结合调用者的应用身份,判断是否响应访问请求。
在一些实施例中,客体设备执行S108时涉及到的客体设备中的被调用者,可以是在S104中由主体设备生成访问请求时所选择的被调用者,并且该被调用者的标识被携带在该访问请求中。
在另一些实施例中,如果主体设备生成访问请求时并未选择被调用者,则客体设备执行S108时涉及到的客体设备中的被调用者,可以是客体设备在接收到访问请求后在自身安装的应用中选择的。客体设备选择被调用者的方式,和S104中主体设备选择被调用者的方式相同,可参考前文相关描述。这里,如果客体设备使用上述第1种方式来选择被调用者,则客体设备可以执行S108以针对被调用者进行鉴权;如果客体设备使用上述第2种方式来选择被调用者,即客体设备选择被调用者时已经执行了针对该被调用者的鉴权,则客体设备无需执行S108。
通过S108,可以结合设备的应用身份实施相应的访问策略,以此来约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中各个设备的应用身份的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。
若S108的判断结果为是,则执行后续步骤。
若S108的判断结果为否,则客体设备可以向主体设备发送反馈消息,该反馈消息用于指示客体设备拒绝响应该访问请求。主体设备接收到该反馈消息之后,可以输出提示信息,以提示用户由于调用者的应用身份不符合客体设备的访问策略,主体设备生成的该访问请求不 能被客体设备响应。
参考图5G,图5G示例性示出了主体设备输出的提示信息的一种形式。如图5G所示,该提示信息例如可以为文本“调用者的应用身份等级较低,不能将视频通话界面迁移到对应设备中!”。在一些实施例中,该提示信息还可以给出更加详细的提示,例如可以为文本“您选择的设备和当前设备的系统账号不同,不能将视频通话界面迁移至该设备中!”。在其他一些实施例中,该提示信息还可以提示用户更换客体设备等等。不限于文本,该提示信息还可以实现为语音、振动或其他形式。
可选步骤S109,客体设备判断是否具备该访问请求所需的权限。
在本申请一些实施例中,客体设备可以在S108的判断结果为是的情况下,直接执行S109。
在本申请另一些实施例中,客体设备也可以先执行S109,并在S109的执行结果为是的情况下,再执行S108。
在一些实施例中,客体设备可以在运行被调用者的过程中,使用客体设备和被调用者均支持的授权方式,来请求用户授予接收到的访问请求所需的权限。客体设备请求用户授权的方式和主体设备请求用户授权的方式类似,具体可参考S106的相关描述。
在另一些实施例中,客体设备可以接收到主体设备传递过来的该访问请求所需的权限信息,并根据该权限信息获取到该访问请求所需的权限。
若S109的判断结果为是,则执行后续步骤。
S110,客体设备响应该访问请求。
具体的,客体设备可以响应于主体设备发送的访问请求,为主体设备中的调用者创建被调用者的实例,并运行该实例来访问第一资源。在一些实施例中,如果客体设备中已经存在该被调用者的实例,则客体设备无需重新创建该被调用者的实例,可以直接运行该实例来访问第一资源。
在本申请实施例中,实例是运行态的APP或功能组件。实例可以指进程,也可以指线程。电子设备会以进程为单位为不同的实例分配随机存取存储器(random access memory,RAM)中的物理地址。电子设备在需要运行实例时,将根据虚拟地址找到RAM中对应分配给该实例的空间,并在该空间中运行该实例。其中,该虚拟地址与电子设备分配给实例的物理地址相映射,其映射关系存储在电子设备的控制器中。也就是说,实例是通过虚拟地址来实现找到内存数据的实际存储位置的。
在本申请实施例中,客体设备响应访问请求以访问第一资源,具体可包括以下一项或多项:
1,客体设备运行为调用者创建的被调用者的实例,访问第一资源以执行一系列操作,例如通过显示屏显示视频通话界面、通过摄像头采集图像、执行计算操作、图像处理、获取位置信息等等。
2,客体设备将访问第一资源的访问结果发送给主体设备,例如将摄像头采集的图像发送给主体设备,以供主体设备发送给和其进行视频通话的另一端设备,又例如将计算结果、获取到的位置信息发送给主体设备等等。
3,客体设备接收主体设备发送的数据,并利用该数据来访问第一资源,并执行一系列操作。例如客体设备可以接收主体设备发送的其进行视频通话的另一端设备采集的图像,将该图像显示在显示屏的视频通话界面中。
这里,客体设备响应访问请求以访问第一资源时所执行的操作,可以由客体设备默认决定,也可以由客体设备侧的用户决定,还可以由主体设备侧发送的访问请求来决定,这里不 做限制。
通过上述图4所示的基于应用身份的访问控制方法,可以通过结合应用身份的访问策略来约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中由应用身份的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。此外,该方法通过主客体双重鉴权的方式,可以避免主体设备或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。在此基础上,该方法可以满足分布式系统中透明、无缝的跨设备资源访问需求,为用户带来优良的使用体验。
在本申请一些实施例中,可以采用单侧鉴权的方式来执行图4所示的基于应用身份的访问控制方法。具体的,若主体设备执行了S105,则客体设备无需执行S108。或者,主体设备发送访问请求之前,无需执行S105,而由客体设备执行S108。单侧鉴权的方式,可以减少主体设备/客体设备的操作,提高分布式系统中跨设备调用资源的效率。
在一些实施例中,采用客体设备单侧鉴权的方式来执行图4所示的基于应用身份的访问控制方法时,若执行S102时主体设备拒绝接收客体设备的访问策略,或者,主体设备未执行S105,则主体设备可以向客体设备发送自身拒绝接收客体设备的访问策略或未执行S105的通知消息。客体设备接收到该通知消息之后,若接收到主体设备的访问请求可以直接拒绝响应该访问请求。其中,主体设备拒绝接收客体设备的访问策略,或者,主体设备未执行S105,可能是由于主体设备遭到恶意攻击而导致的,通过该实施例可以避免主体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
在一些实施例中,如果客体设备为瘦设备,则上述图4所示方法中的S108、S109均可以由该瘦设备的控制设备来执行,并且主体设备访问该瘦设备中的资源时,可以通过该控制设备来中转消息。
在一些实施例中,还可以根据调用者和被调用者各自的应用身份,来确定访问请求或者调用关系的安全等级,在该访问请求或者调用关系的安全等级大于预设安全等级时,主体设备可以发起该访问请求或者客体设备可以响应该访问请求。访问请求或者调用关系的安全等级,具体可以由客体设备的访问策略,和调用者、被调用者各自的应用身份来确定。例如,如果客体设备的访问策略指示该主体设备可以访问客体设备中的第一资源,则该访问请求或者调用关系的安全等级为高,如果客体设备的访问策略指示该主体设备不可以访问客体设备中的第一资源,则该访问请求或者调用关系的安全等级为低。
在上述图4所示的访问控制方法中:
主体设备可以被称为第一设备,客体设备可以被称为第二设备。
客体设备中基于安全等级的访问策略可以被称为第一访问策略。
用于管理各个电子设备的设备,例如富设备如用于管理智能家居的智能手机,可以被称为第三设备。
主体设备发送的访问请求所需的权限可以被称为第一权限,该第一权限的具体内容可参考前文相关描述。
参考图6A,图6A为本申请实施例提供的主体设备的软件结构示意图。该主体设备可以是图4实施例中的主体设备。
如图6A所示,主体设备可包括如下几个模块:应用身份管理模块、应用身份库、访问策略管理模块、访问策略库、基于应用身份的访问控制模块、权限访问控制模块、通信模块。其中:
应用身份管理模块,用于评估或者获取主体设备中各个应用的应用身份,还用于将主体设备中各个应用的应用身份同步到客体设备中,并接收客体设备发送的该客体设备中各个应用的应用身份。应用身份的详细内容、主体设备评估或者获取自身各个应用的应用身份的方式,可参考前文方法实施例的相关描述。
应用身份库,用于存储设备应用身份管理模块获取到的主体设备中的应用身份,和,客体设备中各个应用的应用身份。
访问策略管理模块,用于接收客体设备同步过来的该客体设备中基于应用身份的访问策略。该客体设备的访问策略的具体实现方式可参考前文方法实施例中的相关描述。
访问策略库,用于存储客体设备同步过来的访问策略。
基于应用身份的访问控制模块,用于根据访问策略库中存储的客体设备的访问策略,判断是否向客体设备发起访问请求。
权限访问控制模块,用于查询客体设备是否开放了访问请求所需的权限给主体设备,还用于查询是否具有该访问请求所需的权限。在查询结果为是时,权限访问控制模块确认主体设备可以向该客体设备发起该访问请求。
通信模块,用于和客体设备建立连接并通信。
图6A仅为示意性举例,本申请实施例提供的主体设备还可以包括更多或更少的模块,这里不做限制。
图6A提及的主体设备中的各个模块,可以位于图3B所示的电子设备中的应用程序层、应用程序框架层、系统服务层、内核层等等,这里不做限制。
参考图6B,图6B为本申请实施例提供的客体设备的软件结构示意图。该客体设备可以是图4实施例中的客体设备。
如图6B所示,客体设备可包括如下几个模块:应用身份管理模块、应用身份库、访问策略管理模块、访问策略库、基于应用身份的访问控制模块、权限访问控制模块、通信模块。其中:
应用身份管理模块,用于评估或者获取客体设备中各个应用的应用身份,还用于将客体设备中各个应用的应用身份同步到主体设备中,并接收主体设备发送的该主体设备中各个应用的应用身份。应用身份的详细内容、客体设备评估或者获取自身各个应用的应用身份的方式,可参考前文方法实施例的相关描述。
应用身份库,用于存储应用身份管理模块获取到的客体设备中各个应用的应用身份,和,主体设备中各个应用的应用身份。
访问策略管理模块,用于管理客体设备中基于应用身份的访问策略,还用于向主体设备同步该访问策略。客体设备中基于应用身份的访问策略的具体实现,可参考前文方法实施例的相关内容。
访问策略库,用于存储客体设备的访问策略。
基于应用身份的访问控制模块,用于根据访问策略库中存储的客体设备的访问策略,判断是否响应主体设备发送的访问请求。
权限访问控制模块,用于查询客体设备是否开放了访问请求所需的权限给主体设备,还用于查询是否具有该访问请求所需的权限。在查询结果为是时,权限访问控制模块确认客体设备可以响应该访问请求。
通信模块,用于和主体设备建立连接并通信。
图6B仅为示意性举例,本申请实施例提供的客体设备还可以包括更多或更少的模块,这里不做限制。
图6B提及的客体设备中的各个模块,可以位于图3B所示的电子设备中的应用程序层、应用程序框架层、系统服务层、内核层等等,这里不做限制。
本申请的各实施方式可以任意进行组合,以实现不同的技术效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本申请技术方案的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (19)

  1. 一种基于应用身份的访问控制方法,其特征在于,所述方法应用于包含第一设备和第二设备的通信系统,所述第一设备安装有调用者,所述调用者属于应用,所述应用包括应用程序APP和功能组件,所述APP为实现多个功能的程序实体,所述功能组件为实现单一功能的程序实体;
    所述方法包括:
    所述第一设备向所述第二设备发送访问请求,所述访问请求用于所述调用者访问所述第二设备中的第一资源;
    所述第一设备向所述第二设备发送所述调用者的应用身份;
    所述第二设备根据所述调用者的应用身份,确定允许所述第一设备访问所述第一资源,所述调用者的应用身份包括以下一项或多项:所述调用者的进程标识PID、应用安全等级、所属用户标识UID、所述第一设备的设备标识、设备安全等级或设备所在位置;
    所述第二设备响应所述访问请求以访问所述第一资源。
  2. 根据权利要求1所述的方法,其特征在于,所述调用者的应用身份被携带在所述访问请求中。
  3. 根据权利要求1或2所述的方法,其特征在于,所述调用者的应用身份还包括以下一项或多项:所述调用者的应用标识、所述第一设备的登录账号。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述第二设备安装有被调用者,所述被调用者属于所述应用,所述访问请求具体用于所述调用者调用所述被调用者以访问所述第一资源;
    所述第二设备根据所述调用者的应用身份,确定允许所述第一设备访问所述第一资源,具体包括:
    所述第二设备根据所述调用者的应用身份、所述被调用者的应用身份,确定允许所述第一设备访问所述第一资源。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述第二设备根据所述调用者的应用身份,确定允许所述第一设备访问所述第一资源,具体包括:
    所述第二设备根据所述调用者的应用身份和第一访问策略,确定允许所述第一设备访问所述第一资源;所述第一访问策略描述了所述第二设备根据应用身份开放资源的规则。
  6. 根据权利要求5所述的方法,其特征在于,所述第一访问策略指示:允许具备第一应用身份的应用访问具备第二应用身份的应用中的第二资源,和/或,不允许具备第三应用身份的应用访问具备第四应用身的应用中的第三资源。
  7. 根据权利要求5所述的方法,其特征在于,所述第一访问策略指示:允许具备第五应用身份的应用访问所述第二设备中的第四资源,和/或,不允许具备第六应用身份的应用访问所述第二设备中的第五资源。
  8. 根据权利要求5-7任一项所述的方法,其特征在于,
    所述第一访问策略由所述第二设备自主设置;
    或者,
    所述第一访问策略由所述第二设备根据接收到的用户操作设置;
    或者,
    所述通信系统还包括第三设备,所述第一访问策略由所述第三设备根据接收到的用户操作确定后,发送给所述第二设备。
  9. 根据权利要求1-8任一项所述的方法,其特征在于,所述第二设备响应所述访问请求访问所述第一资源之前,所述方法还包括:
    所述第二设备确定具备第一权限,所述第一权限包括访问所述第一资源的权限。
  10. 根据权利要求1-9任一项所述的方法,其特征在于,所述第一设备向所述第二设备发送访问请求之前,所述方法还包括:
    所述第一设备根据所述调用者的应用身份,确定允许所述第一设备访问所述第二设备中的所述第一资源。
  11. 一种基于应用身份的访问控制方法,其特征在于,所述方法应用于第二设备,所述方法包括:
    所述第二设备接收到第一设备发送的访问请求,所述访问请求用于所述第一设备中的调用者访问所述第二设备中的第一资源;所述调用者属于应用,所述应用包括应用程序APP和功能组件,所述APP为实现多个功能的程序实体,所述功能组件为实现单一功能的程序实体;
    所述第二设备接收到所述第一设备发送的所述调用者的应用身份;
    所述第二设备根据所述调用者的应用身份,确定允许所述第一设备访问所述第一资源,所述调用者的应用身份包括以下一项或多项:所述调用者的进程标识PID、应用安全等级、所属用户标识UID、所述第一设备的设备标识、设备安全等级或设备所在位置;
    所述第二设备响应所述访问请求以访问所述第一资源。
  12. 根据权利要求11所述的方法,其特征在于,所述第二设备安装有被调用者,所述被调用者属于所述应用,所述访问请求具体用于所述调用者调用所述被调用者以访问所述第一资源;
    所述第二设备根据所述调用者的应用身份,确定允许所述第一设备访问所述第一资源,具体包括:
    所述第二设备根据所述调用者的应用身份、所述被调用者的应用身份,确定允许所述第一设备访问所述第一资源。
  13. 根据权利要求11或12所述的方法,其特征在于,所述第二设备根据所述调用者的应用身份,确定允许所述第一设备访问所述第一资源,具体包括:
    所述第二设备根据所述调用者的应用身份和第一访问策略,确定允许所述第一设备访问所述第一资源;所述第一访问策略描述了所述第二设备根据应用身份开放资源的规则。
  14. 根据权利要求13所述的方法,其特征在于,
    所述第一访问策略由所述第二设备自主设置;
    或者,
    所述第一访问策略由所述第二设备根据接收到的用户操作设置;
    或者,
    所述通信系统还包括第三设备,所述第一访问策略由所述第三设备根据接收到的用户操作确定后,发送给所述第二设备。
  15. 根据权利要求11-14任一项所述的方法,其特征在于,所述第一设备向所述第二设备发送访问请求之前,所述方法还包括:
    所述第一设备根据所述调用者的应用身份,确定允许所述第一设备访问所述第二设备中的所述第一资源。
  16. 一种电子设备,其特征在于,包括:存储器、一个或多个处理器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求11-15任一项所述的方法。
  17. 一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求11-15中任一项所述的方法。
  18. 一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得计算机执行如权利要求11-15中任一项所述的方法。
  19. 一种通信系统,其特征在于,所述通信系统包括:第一设备、第二设备,所述第二设备用于执行如权利要求11-15中任一项所述的方法。
PCT/CN2022/091842 2021-05-27 2022-05-10 基于应用身份的访问控制方法、相关装置及系统 WO2022247626A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110583704.6 2021-05-27
CN202110583704.6A CN115412270A (zh) 2021-05-27 2021-05-27 基于应用身份的访问控制方法、相关装置及系统

Publications (1)

Publication Number Publication Date
WO2022247626A1 true WO2022247626A1 (zh) 2022-12-01

Family

ID=84155711

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/091842 WO2022247626A1 (zh) 2021-05-27 2022-05-10 基于应用身份的访问控制方法、相关装置及系统

Country Status (2)

Country Link
CN (1) CN115412270A (zh)
WO (1) WO2022247626A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109660563A (zh) * 2019-02-02 2019-04-19 北京奇安信科技有限公司 一种应用访问控制方法、系统和介质
CN109918924A (zh) * 2019-02-02 2019-06-21 北京奇安信科技有限公司 动态访问权限的控制方法及系统
US20200186445A1 (en) * 2018-12-11 2020-06-11 Vmware, Inc. Methods and systems that provision distributed applications that invoke functions provided by a distributed-function-as-a-service feature
CN111859418A (zh) * 2020-06-24 2020-10-30 华为技术有限公司 原子能力调用方法及终端设备
CN112187799A (zh) * 2020-09-28 2021-01-05 京东数字科技控股股份有限公司 资源访问策略生成方法及装置、存储介质、电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200186445A1 (en) * 2018-12-11 2020-06-11 Vmware, Inc. Methods and systems that provision distributed applications that invoke functions provided by a distributed-function-as-a-service feature
CN109660563A (zh) * 2019-02-02 2019-04-19 北京奇安信科技有限公司 一种应用访问控制方法、系统和介质
CN109918924A (zh) * 2019-02-02 2019-06-21 北京奇安信科技有限公司 动态访问权限的控制方法及系统
CN111859418A (zh) * 2020-06-24 2020-10-30 华为技术有限公司 原子能力调用方法及终端设备
CN112187799A (zh) * 2020-09-28 2021-01-05 京东数字科技控股股份有限公司 资源访问策略生成方法及装置、存储介质、电子设备

Also Published As

Publication number Publication date
CN115412270A (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
WO2020192714A1 (zh) 显示设备控制页面的方法、相关装置及系统
US11947974B2 (en) Application start method and electronic device
WO2020155014A1 (zh) 智能家居设备分享系统、方法及电子设备
US20230021994A1 (en) Cross-Device Content Projection Method and Electronic Device
WO2020150917A1 (zh) 一种应用权限的管理方法及电子设备
WO2022179379A1 (zh) 一种访问控制方法、电子设备及系统
WO2022253158A1 (zh) 一种用户隐私保护方法及装置
WO2022188683A1 (zh) 灵活授权的访问控制方法、相关装置及系统
WO2022199672A1 (zh) 精准撤销权限的访问控制方法、相关装置及系统
WO2022199499A1 (zh) 一种访问控制的方法、电子设备及系统
CN115238299A (zh) 基于安全等级的访问控制方法、相关装置及系统
CN115203731A (zh) 基于安全敏感度的访问控制方法、相关装置及系统
WO2023284555A1 (zh) 安全调用服务的方法、安全注册服务的方法及装置
CN115114637A (zh) 基于权限传递的访问控制方法、相关装置及系统
CN115203716A (zh) 权限同步方法、相关装置及系统
WO2022199673A1 (zh) 一种登录认证的方法和电子设备
WO2022247626A1 (zh) 基于应用身份的访问控制方法、相关装置及系统
CN115268710A (zh) 应用程序的登录方法、相关装置和系统
CN115146305A (zh) 基于访问策略的访问控制方法、相关装置及系统
US20240135033A1 (en) Access control method, electronic device, and system
WO2022194156A1 (zh) 分布式的访问控制方法、相关装置及系统
WO2022267656A1 (zh) 组件访问方法和装置、计算机可读存储介质以及芯片
CN115426122A (zh) 基于权限适配的访问控制方法、相关装置及系统
WO2023179682A1 (zh) 一种设备协同方法
WO2023274033A1 (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: 22810353

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: 22810353

Country of ref document: EP

Kind code of ref document: A1