Electronic device and method for operating privacy enhancement mode in electronic device

By introducing a privacy enhancement mode (PE mode) into the electronic device, the application request is transmitted from the ordinary area to the secure area, solving the problem of personal information leakage when running applications that require personal information protection, and achieving effective information protection.

CN119585733APending Publication Date: 2025-03-07SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380057489.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-02-01
Filing Date
2023-08-18
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

When operating applications that require personal information protection, the prior art is difficult to effectively prevent personal information leakage.

Method used

By introducing a privacy enhancement mode (PE mode) into the electronic device, the operation mode is changed to PE mode in response to user input and the application's request is transmitted from the normal area to the secure area to run the application that protects personal information in the secure area.

Benefits of technology

It realizes the effect of preventing personal information leakage when running applications that require personal information protection, and enhances the protection of information by running applications in a secure area.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119585733A_ABST
    Figure CN119585733A_ABST
Patent Text Reader

Abstract

According to an embodiment, an electronic device includes a memory (130 of Figure 1) and at least one processor (120 of Figure 1) connected to the memory (130 of Figure 1). In response to a user input, the at least one processor (120 of Figure 1) may change an operating mode of the electronic device to a privacy enhancement (PE) mode. In response to an operation mode of the electronic device changing to a PE mode, the at least one processor (120 of Figure 1) may control to send a request for generating an application running in the PE mode from a normal area (420 of Figure 4, 720 of Figure 7, 820 of Figure 8) to a secure area (410 of Figure 4, 710 of Figure 7, 810 of Figure 8). In response to a request to generate an application, the at least one processor (120 of Figure 1) may control the application to run in a secure area (410 of Figure 4, 710 of Figure 7, 810 of Figure 8).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a method for operating a privacy enhancement mode in an electronic device. Background Art

[0002] In order to translate the language written by humans into a language readable by the CPU, a general compiled language is translated into a machine language according to the CPU architecture and the environment of the platform. In the case of Java, it is compiled into bytecode so that it is operable on multiple architectures or platforms, rather than being suitable for the architecture or environment of one CPU. For this, a Java virtual machine is required.

[0003] The Dalvik virtual machine has been used as a runtime for running the Android operating system. Recently, a runtime called Android Runtime (ART) has been used to replace the Dalvik virtual machine. In the case of installing an application based on ART, information required to run the application is stored in a cache file.

[0004] Recently, when an application requiring personal information protection is run based on ART, a method for preventing personal information leakage is required. Summary of the invention

[0005] Technical issues

[0006] The present disclosure proposes a method of changing an operation mode of an electronic device to a privacy-enhanced mode when an application requiring personal information protection is executed.

[0007] Technical Solution

[0008] According to an embodiment, an electronic device may include a memory and at least one processor connected to the memory. The at least one processor may change an operation mode of the electronic device to a privacy enhancement (PE) mode in response to a user input. The at least one processor may perform control so that, in response to the operation mode of the electronic device being changed to the PE mode, a request for generating an application running in the PE mode is transmitted from a normal area to a secure area. The at least one processor may perform control so that, in response to the request for generating the application, the application is run in the secure area.

[0009] According to an embodiment, a method of operating an electronic device may include an operation of changing an operation mode of the electronic device to a privacy enhanced (PE) mode in response to a user input. The method of operating an electronic device may include an operation of transmitting a request for generating an application running in the PE mode from a normal area to a secure area in response to the operation mode of the electronic device being changed to the PE mode. The method of operating an electronic device may include an operation of running an application in a secure area in response to the request for generating the application.

[0010] According to an embodiment, a computer-readable storage medium storing at least one instruction may be provided. When the at least one instruction is executed by at least one processor, the electronic device may be caused to perform multiple operations. The multiple operations may include an operation of changing the operating mode of the electronic device to a privacy enhanced (PE) mode in response to user input. The multiple operations may include an operation of transmitting a request for generating an application running in PE mode from a normal area to a secure area in response to the operating mode of the electronic device being changed to PE mode. The multiple operations may include an operation of running an application in a secure area in response to a request for generating an application.

[0011] Technical Effects

[0012] The embodiments of the present disclosure can change the operation mode of the electronic device to a privacy enhancement mode when running an application that requires personal information protection, so as to prevent personal information leakage. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 is a block diagram schematically illustrating an electronic device in a network environment according to an embodiment.

[0014] Figure 2 is a block diagram illustrating a procedure according to the embodiment.

[0015] Figure 3a is a diagram illustrating an example of activating a PE mode by changing an overall operation mode to the PE mode according to an embodiment of the present disclosure.

[0016] Figure 3b is a diagram illustrating an example of executing an application in a PE mode according to an embodiment of the present disclosure.

[0017] Figure 3c is a diagram illustrating an example of installing an application to run only in PE mode according to an embodiment of the present disclosure.

[0018] Figure 4 is a diagram illustrating a process of transmitting an application execution request in a PE mode according to an embodiment of the present disclosure.

[0019] Figure 5 is a diagram illustrating a system service operation in case of changing to a PE mode according to an embodiment of the present disclosure.

[0020] Figure 6 is a diagram illustrating a process of starting an application in a PE mode according to an embodiment of the present disclosure.

[0021] Figure 7 is a diagram illustrating operations in a normal area (non-secure world) and a secure area (confidential domain world) when an application is run in PE mode according to an embodiment of the present disclosure;

[0022] Figure 8 is a diagram illustrating a process of protecting a memory used by an application when the application is executed in a PE mode according to an embodiment of the present disclosure; and

[0023] Fig. 9 is a flowchart illustrating the operation of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0024] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In addition, when describing embodiments of the present disclosure, when it is determined that incorporating a detailed description of a known function or configuration herein may unnecessarily make the subject matter of the embodiments of the present disclosure unclear, such detailed description will be omitted. The terms to be described below are terms defined in consideration of the functions in the embodiments of the present disclosure, and may differ depending on the user, the user's intention or custom. Therefore, the definition of the terms should be based on the content of the entire specification.

[0025] It should be noted that the technical terms used herein are only used to describe specific embodiments and are not intended to limit the embodiments of the present disclosure. Optionally, the technical terms used herein should be interpreted as having the same meaning as the meaning generally understood by those skilled in the art to which the present disclosure belongs, and should not be interpreted as having an overly comprehensive or overly restrictive meaning, unless specifically defined as other meanings. Optionally, when the technical terms used herein are erroneous technical terms that cannot correctly express the ideas of the present disclosure, it should be understood that the erroneous technical terms are replaced by technical terms correctly understood by those skilled in the art. Optionally, the general terms used herein should be interpreted as defined in the dictionary or in the context of the relevant part, and should not be interpreted as having an overly restrictive meaning.

[0026] Alternatively, singular expressions used herein may include plural expressions unless they are clearly different in context. Expressions such as "include" or "comprises" used herein should not be interpreted as necessarily including all elements or all steps described in the specification, but should be interpreted as allowing some of them to be excluded or further including additional elements or steps.

[0027] Alternatively, terms containing ordinal numbers (e.g., expressions "first" and "second") may be used to describe various elements, but the corresponding elements should not be limited by such terms. The above terms are only used to distinguish one element from other elements. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element without departing from the scope of protection of the present disclosure.

[0028] It should be understood that when an element is referred to as being "connected" or "coupled" to another element, the element may be directly connected or coupled to the other element, or any other element may be interposed therebetween. Conversely, when an element is referred to as being "directly connected" or "directly coupled" to any other element, it should be understood that no other element exists therebetween.

[0029] Hereinafter, embodiments according to the present disclosure will be described in detail with reference to the accompanying drawings, and the same or similar elements are given the same and similar reference numerals, regardless of the figure numbers of the accompanying drawings, and their repeated descriptions will be omitted. Optionally, when describing an embodiment of the present disclosure, when it is determined that incorporating a detailed description of known functions or configurations herein may unnecessarily make the subject matter of the present disclosure unclear, such detailed description will be omitted. Optionally, it should be noted that the accompanying drawings are only used to help easily understand the present disclosure and are not intended to limit the present disclosure. The technical ideas of the present disclosure should be interpreted as covering all modifications, equivalents or substitutions other than the accompanying drawings.

[0030] Figure 1 is a block diagram schematically illustrating electronic devices in a network environment 100 according to various embodiments.

[0031] Reference Figure 1 , the electronic device 101 in the network environment 100 may communicate with the electronic device 102 via the first network 198 (e.g., a short-range wireless communication network), or communicate with at least one of the electronic device 104 or the server 108 via the second network 199 (e.g., a long-range wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 via the server 108. According to an embodiment, the electronic device 101 may include a processor 120, a memory 130, an input module 150, a sound output module 155, a display module 160, an audio module 170, a sensor module 176, an interface 177, a connection terminal 178, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a user identification module (SIM) 196, or an antenna module 197. In some embodiments, at least one of the above components (e.g., the connection terminal 178) may be omitted from the electronic device 101, or one or more other components may be added to the electronic device 101. In some embodiments, some of the above-described components (eg, sensor module 176 , camera module 180 , or antenna module 197 ) may be implemented as a single integrated component (eg, display module 160 ).

[0032] The processor 120 may run, for example, software (e.g., program 140) to control at least one other component (e.g., hardware component or software component) of the electronic device 101 connected to the processor 120, and may perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculation, the processor 120 may store a command or data received from another component (e.g., sensor module 176 or communication module 190) in the volatile memory 132, process the command or data stored in the volatile memory 132, and store the resultant data in the non-volatile memory 134. According to an embodiment, the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) or an auxiliary processor 123 (e.g., a graphics processing unit (GPU), a neural processing unit (NPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is independent of or combined with the main processor 121 in operation. For example, when the electronic device 101 includes a main processor 121 and an auxiliary processor 123, the auxiliary processor 123 may be adapted to consume less power than the main processor 121, or adapted to be dedicated to a specific function. The auxiliary processor 123 may be implemented separately from the main processor 121, or as part of the main processor 121.

[0033] The auxiliary processor 123 may replace the main processor 121 when the main processor 121 is in an inactive (e.g., sleep) state or control at least some of the functions or states related to at least one component (e.g., display module 160, sensor module 176, or communication module 190) among the components of the electronic device 101 together with the main processor 121 when the main processor 121 is in an active state (e.g., running an application). According to an embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as a part of another component (e.g., a camera module 180 or a communication module 190) that is functionally related to the auxiliary processor 123. According to an embodiment, the auxiliary processor 123 (e.g., a neural processing unit) may include a hardware structure dedicated to artificial intelligence model processing. The artificial intelligence model may be generated by machine learning. For example, such learning may be performed by the electronic device 101 in which artificial intelligence is executed or via a separate server (e.g., server 108). The learning algorithm may include, but is not limited to, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. The artificial intelligence model may include multiple artificial neural network layers. The artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN) or a deep Q network or a combination of two or more thereof, but is not limited thereto. Additionally or alternatively, the artificial intelligence model may include a software structure in addition to a hardware structure.

[0034] The memory 130 may store various data used by at least one component of the electronic device 101 (e.g., the processor 120 or the sensor module 176). The various data may include, for example, software (e.g., the program 140) and input data or output data for commands related thereto. The memory 130 may include a volatile memory 132 or a non-volatile memory 134.

[0035] The program 140 may be stored as software in the memory 130 , and may include, for example, an operating system (OS) 142 , middleware 144 , or applications 146 .

[0036] The input module 150 may receive commands or data to be used by other components (e.g., the processor 120) of the electronic device 101 from outside (e.g., a user) of the electronic device 101. The input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus).

[0037] The sound output module 155 can output sound signals to the outside of the electronic device 101. The sound output module 155 may include, for example, a speaker or an earpiece. The speaker may be used for general purposes such as playing multimedia or playing recordings. The earpiece may be used to receive incoming calls. Depending on the embodiment, the earpiece may be implemented as being separated from the speaker, or as a part of the speaker.

[0038] The display module 160 can visually provide information to the outside of the electronic device 101 (e.g., a user). The display device 160 may include, for example, a display, a holographic device, or a projector, and a control circuit for controlling the corresponding device among the display, the holographic device, and the projector. According to an embodiment, the display module 160 may include a touch sensor adapted to detect a touch or a pressure sensor adapted to measure the strength of the force caused by the touch.

[0039] The audio module 170 may convert sound into an electrical signal, or vice versa. According to an embodiment, the audio module 170 may obtain sound via the input module 150, or output sound via the sound output module 155 or an earphone of an external electronic device (e.g., electronic device 102) directly (e.g., wired) or wirelessly connected to the electronic device 101.

[0040] The sensor module 176 may detect an operating state (e.g., power or temperature) of the electronic device 101 or an environmental state (e.g., a user's state) outside the electronic device 101, and then generate an electrical signal or data value corresponding to the detected state. According to an embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illumination sensor.

[0041] The interface 177 may support one or more specific protocols to be used to connect the electronic device 101 directly (e.g., wired) or wirelessly with an external electronic device (e.g., the electronic device 102). According to an embodiment, the interface 177 may include, for example, a high-definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.

[0042] The connection terminal 178 may include a connector, wherein the electronic device 101 can be physically connected to an external electronic device (e.g., the electronic device 102) via the connector. According to an embodiment, the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0043] The haptic module 179 may convert the electric signal into mechanical stimulation (eg, vibration or motion) or electric stimulation recognizable by the user via his sense of touch or kinesthetic sense. According to an embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electric stimulator.

[0044] The camera module 180 may capture still images or moving images. According to an embodiment, the camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.

[0045] The power management module 188 may manage power supply to the electronic device 101. According to one embodiment, the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).

[0046] The battery 189 may power at least one component of the electronic device 101. According to an embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0047] The communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108), and perform communication via the established communication channel. The communication module 190 may include one or more communication processors capable of operating independently from the processor 120 (e.g., an application processor (AP)) and support direct (e.g., wired) communication or wireless communication. According to an embodiment, the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). The corresponding modules among these communication modules may communicate via a first network 198 (e.g., a short-range communication network such as Bluetooth TM The wireless communication module 192 can use the user information (e.g., International Mobile Subscriber Identity (IMSI)) stored in the user identification module 196 to identify and authenticate the electronic device 101 in a communication network such as the first network 198 or the second network 199.

[0048] The wireless communication module 192 can support 5G networks after 4G networks and next-generation communication technologies (e.g., new radio (NR) access technology). NR access technology can support enhanced mobile broadband (eMBB), massive machine type communication (mMTC), or ultra-reliable low-latency communication (URLLC). The wireless communication module 192 can support high-frequency bands (e.g., millimeter wave bands) to achieve, for example, high data transmission rates. The wireless communication module 192 can support various technologies for ensuring performance on high-frequency bands, such as beamforming, massive multiple-input multiple-output (massive MIMO), full-dimensional MIMO (FD-MIMO), array antennas, analog beamforming, or massive antennas. The wireless communication module 192 can support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., a second network 199). According to an embodiment, the wireless communication module 192 can support a peak data rate for implementing eMBB (e.g., 20 Gbps or greater), loss coverage for implementing mMTC (e.g., 164 dB or less), or U-plane delay for implementing URLLC (e.g., 0.5 ms or less for both downlink (DL) and uplink (UL), or 1 ms or less for round trip).

[0049] The antenna module 197 may transmit or receive a signal or power to or from the outside of the electronic device 101 (e.g., an external electronic device). According to an embodiment, the antenna module 197 may include an antenna including a radiating element formed of a conductive material or a conductive pattern formed in or on a substrate (e.g., a printed circuit board (PCB)). According to an embodiment, the antenna module 197 may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication scheme used in a communication network (such as the first network 198 or the second network 199) may be selected from the plurality of antennas by, for example, the communication module 190 (e.g., the wireless communication module 192). A signal or power may then be transmitted or received between the communication module 190 and the external electronic device via the selected at least one antenna. According to an embodiment, other components (e.g., a radio frequency integrated circuit (RFIC)) other than the radiating element may be additionally formed as part of the antenna module 197.

[0050] According to various embodiments, the antenna module 197 may form a millimeter wave antenna module. According to an embodiment, the millimeter wave antenna module may include a printed circuit board, an RFIC, and a plurality of antennas (e.g., array antennas), wherein the RFIC is disposed on a first surface (e.g., bottom surface) of the printed circuit board, or adjacent to the first surface, and is capable of supporting a designated high frequency band (e.g., millimeter wave band), and the plurality of antennas are disposed on a second surface (e.g., top surface or side surface) of the printed circuit board, or adjacent to the second surface, and are capable of transmitting or receiving signals of the designated high frequency band.

[0051] At least some of the above components may be connected to each other via an inter-peripheral communication scheme (eg, a bus, a general purpose input output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)) and transmit signals (eg, commands or data) between each other.

[0052] According to an embodiment, a command or data may be sent or received between the electronic device 101 and the external electronic device 104 via a server 108 connected to the second network 199. Each of the electronic device 102 or the electronic device 104 may be a device of the same type or a different type as the electronic device 101. According to an embodiment, all or some operations to be run at the electronic device 101 may be run at one or more of the external electronic devices 102, 104, or 108. For example, if the electronic device 101 should perform a function or service automatically or in response to a request from a user or another device, the electronic device 101 may request one or more external electronic devices to perform at least a portion of the function or service instead of or in addition to running the function or service. The one or more external electronic devices that receive the request may perform at least a portion of the requested function or service, or perform another function or another service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may provide the result as at least a partial reply to the request with or without further processing the result. To this end, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology, for example, may be used. The electronic device 101 may provide ultra-low latency services using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device 104 may include an Internet of Things (IoT) device. The server 108 may be an intelligent server using machine learning and / or neural networks. According to an embodiment, the external electronic device 104 or the server 108 may be included in the second network 199. The electronic device 101 may be applied to intelligent services (e.g., smart homes, smart cities, smart cars, or healthcare) based on 5G communication technology or IoT-related technologies.

[0053] The electronic device according to various embodiments may be one of various types of electronic devices. The electronic device may include, for example, a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a household appliance. According to an embodiment of the present disclosure, the electronic device is not limited to those electronic devices described above.

[0054] It should be understood that the various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features set forth herein to specific embodiments, but include various changes, equivalent forms or alternative forms for the corresponding embodiments. For the description of the accompanying drawings, similar reference numerals may be used to refer to similar or related elements. It will be understood that, unless otherwise clearly indicated by the relevant context, the singular noun corresponding to the article may include one or more things. Phrases such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "at least one of A, B or C" used here may include any one or all possible combinations of the various items listed together in the corresponding phrases. Terms such as "1st" and "2nd" or "first" and "second" used here may be used to distinguish the corresponding component from another component only, and not to limit the component in other aspects (e.g., importance or order). It will be understood that if an element (e.g., a first element) is referred to as being "coupled" or "connected" to, or "coupled to" or "connected to" another element (e.g., a second element), with or without the terms "operably" or "communicatively", it means that the element can be directly (e.g., wired) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.

[0055] The term "module" used in association with various embodiments of the present disclosure may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic," "logic block," "part," or "circuit"). A module may be a single integrated component adapted to perform one or more functions or a minimum unit or part of the single integrated component. For example, according to an embodiment, a module may be implemented in the form of an application specific integrated circuit (ASIC).

[0056] The various embodiments described herein may be implemented as software (e.g., program 140) including one or more instructions stored in a storage medium (e.g., internal memory 136 or external memory 138) readable by a machine (e.g., electronic device 101). For example, a processor (e.g., processor 120) of the machine (e.g., electronic device 101) may call at least one of the one or more instructions stored in the storage medium and execute the at least one instruction under the control of the processor with or without the use of one or more other components. This enables the machine to operate to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code that can be run by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Among them, the term "non-transitory" only means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but the term does not distinguish between the case where data is semi-permanently stored in the storage medium and the case where data is temporarily stored in the storage medium.

[0057] According to an embodiment, the method according to various embodiments of the present disclosure may be included and provided in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disk read-only memory (CD-ROM)), or may be downloaded via an application store (e.g., Play Store TM ) online distribution (e.g., download or upload), or can be distributed directly between two user devices (e.g., smart phones). If distributed online, at least a portion of the computer program product can be temporarily generated or can be at least temporarily stored in a machine-readable storage medium (such as a memory of a manufacturer's server, an application store's server, or a forwarding server).

[0058] According to various embodiments, each of the above-mentioned components (e.g., a module or a program) may include a single entity or multiple entities, and some of the multiple entities may be separately arranged in different components. According to various embodiments, one or more of the above-mentioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., a module or a program) may be integrated into a single component. In this case, according to various embodiments, for one or more functions of each of the multiple components, the integrated component may still be executed in the same or similar manner as the corresponding component in the multiple components before the integration of the one or more functions. According to various embodiments, the operations performed by a module, a program or another component may be performed sequentially, in parallel, repeatedly or in a heuristic manner, or one or more of the operations may be run or omitted in a different order, or one or more other operations may be added.

[0059] Figure 2 2 is a block diagram 200 showing a program 140 according to various embodiments. According to an embodiment, the program 140 may include an operating system (OS) 142 for controlling one or more resources of the electronic device 101, middleware 144, or an application 146 executable in the OS 142. The OS 142 may include, for example, an Android TM 、iOS TM , Windows TM , Symbian TM 、Tizen TM or Bada TM For example, at least a portion of program 140 may be preloaded onto electronic device 101 during manufacturing, or may be downloaded from or updated by an external electronic device (eg, electronic device 102 or electronic device 104, or server 108) during user use.

[0060] OS 142 may control management (e.g., allocation or deallocation) of one or more system resources (e.g., processes, memory, or power) of electronic device 101. Additionally or alternatively, OS 142 may include one or more drivers for driving other hardware devices of electronic device 101 (e.g., input module 150, sound output module 155, display module 160, audio module 170, sensor module 176, interface 177, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, user identification module 196, or antenna module 197).

[0061] The middleware 144 may provide various functions to the application 146 so that the application 146 can use functions or information provided from one or more resources of the electronic device 101. The middleware 144 may include, for example, an application manager 201, a window manager 203, a multimedia manager 205, a resource manager 207, a power manager 209, a database manager 211, a package manager 213, a connection manager 215, a notification manager 217, a location manager 219, a graphic manager 221, a security manager 223, a telephony manager 225, or a voice recognition manager 227.

[0062] The application manager 201 may, for example, manage the life cycle of the application 146. The window manager 203 may, for example, manage one or more graphical user interface (GUI) resources used on the screen. The multimedia manager 205 may, for example, identify one or more formats to be used for playing a media file, and may encode or decode a corresponding media file among the media files using a codec suitable for a corresponding format selected from the one or more formats. The resource manager 207 may, for example, manage the source code of the application 146 or the storage space of the memory 130. The power manager 209 may, for example, manage the capacity, temperature, or power of the battery 189, and may determine or provide relevant information to be used for the operation of the electronic device 101 based at least in part on the corresponding information of the capacity, temperature, or power of the battery 189. According to an embodiment, the power manager 209 may work in conjunction with a basic input / output system (BIOS) (not shown) of the electronic device 101.

[0063] The database manager 211 may, for example, generate, search for, or change a database to be used by the application 146. The package manager 213 may, for example, manage the installation or update of an application distributed in the form of a package file. The connection manager 215 may, for example, manage a wireless connection or a direct connection between the electronic device 101 and an external electronic device. The notification manager 217 may, for example, provide a function for notifying a user of the occurrence of a specific event (e.g., an incoming call, message, or reminder). The location manager 219 may, for example, manage location information about the electronic device 101. The graphic manager 221 may, for example, manage one or more graphic effects to be provided to the user or a user interface related to the one or more graphic effects.

[0064] The security manager 223 can, for example, provide system security or user authentication. The phone manager 225 can, for example, manage a voice call function or a video call function provided by the electronic device 101. The speech recognition manager 227 can, for example, send the user's voice data to the server 108, and receive from the server 108 a command corresponding to a function to be run on the electronic device 101 based at least in part on the voice data or text data converted based at least in part on the voice data. According to an embodiment, the middleware 144 can dynamically delete some existing components or add new components. According to an embodiment, at least a portion of the middleware 144 can be included as part of the OS 142, or can be implemented as another software separated from the OS 142.

[0065] Applications 146 may include, for example, a home page 251, a dialer 253, a short message service (SMS) / multimedia message service (MMS) 255, an instant message (IM) 257, a browser 259, a camera 261, an alarm 263, a contact 265, a voice recognition 267, an email 269, a calendar 271, a media player 273, an album 275, a watch 277, a health 279 (e.g., for measuring exercise level or bio-information (such as blood sugar)) or an environmental information 281 (e.g., for measuring air pressure, humidity or temperature information) application. According to an embodiment, application 146 may also include an information exchange application (not shown) capable of supporting information exchange between the electronic device 101 and an external electronic device. The information exchange application may, for example, include a notification forwarding application suitable for transmitting specified information (e.g., a call, message or reminder) to an external electronic device or a device management application suitable for managing an external electronic device. The notification forwarding application can transmit notification information corresponding to a specific event (e.g., receiving an email) occurring in another application (e.g., email application 269) of the electronic device 101 to the external electronic device. Additionally or alternatively, the notification forwarding application can receive notification information from the external electronic device and provide the notification information to the user of the electronic device 101.

[0066] The device management application may control the power (e.g., turning on or off) or functions (e.g., adjustment of brightness, resolution, or focus) of the external electronic device or some components of the external electronic device (e.g., a display module or a camera module of the external electronic device). Additionally or alternatively, the device management application may support installation, deletion, or updating of applications running on the external electronic device.

[0067] The present disclosure proposes a method for running at least one application in a privacy protection environment when an electronic device 101 operates in a privacy enhancement (PE) mode in response to a user input (or a user command). According to an embodiment, the PE mode can be dynamically activated (turned on) or deactivated (turned off) in response to a user input (or a user command) without restarting the system of the electronic device 101. For example, when a user is concerned about the leakage of personal information (e.g., visiting a foreign country) or runs an application that requires protection of personal information (e.g., including payment, SMS, third-party applications), the user can activate the PE mode of the electronic device 101, thereby providing a secure operating environment.

[0068] Figure 3a 2 is a diagram showing an example of activating the PE mode by changing the overall operation mode to the PE mode according to an embodiment of the present disclosure. Figure 3a , a function of activating the PE mode as the overall operation mode of the electronic device may be provided. When the overall operation mode is changed to the PE mode in response to a user input (eg, a touch input), the PE mode may be activated.

[0069] Figure 3b 2 is a diagram showing an example of running an application in PE mode according to an embodiment of the present disclosure. Figure 3b , when an application (eg, SMS) is capable of being executed in both the normal mode and the PE mode, the application (eg, SMS) may be executed in the PE mode in response to a user input.

[0070] Figure 3c 2 is a diagram showing an example of installing an application to run only in PE mode according to an embodiment of the present disclosure. Figure 3c , a predetermined application (eg, Samsung Secret Note) is installed to run only in PE mode, and the fact that the predetermined application is a PE mode running application is displayed with an application icon after installation.

[0071] Figure 4 is a diagram illustrating a process of transmitting an application execution request in a PE mode according to an embodiment of the present disclosure.

[0072] Reference Figure 4, the electronic device 400 may include a secure area 410 (or a realm world or a secure world) and a normal area 420 (or a non-secure world or a normal world), and the secure area 410 and the normal area 420 independently run applications and / or services (or application codes). According to an embodiment, the secure area 410 and the normal area 420 may be physically (or hardware-based) separated areas in the electronic device 400. According to an embodiment, applications and / or services (or application codes) that require user privacy (or personal information) protection may run in the secure area 410. For example, the normal area 420 may be specifically implemented in an Android environment (or a rich runtime environment (REE)), and the secure area 410 may be specifically implemented in a trusted runtime environment (TEE) that is physically separated from Android.

[0073] In the secure area 410, an application 411 operating in PE mode may be run, and an Android runtime (ART) 412 and a shim 413 for running the application 411 may be specifically implemented. ART 412 is an Android application running environment for the application 411 in PE mode, and ART 412 may interface with the shim 413 to process system calls. For example, ART 412 may be specifically implemented as a Dalvik virtual machine (VM).

[0074] The intermediary layer 413 may be the running environment of the ART 412 in the PE mode. In the PE mode, the intermediary layer 413 may process the system call called by the ART 412. In the PE mode, the intermediary layer 413 may directly process the system call called by the ART 412, or forward it to the normal area 420. According to an embodiment, when the system call called by the ART 412 is forwarded to the normal area 420, the intermediary layer 413 may securely erase the content that does not need to be transmitted, so that the confidential information of the application 411 in the secure area 410 (e.g., the confidential area) is not exposed. According to an embodiment, the intermediary layer 413 may perform verification on the result value when transmitting (returning) the system call result from the normal area 420.

[0075] According to an embodiment, the mediator 413 may manage the context of the application 411 in the PE mode, and may configure the memory and page table (stage 1 page table) that the application 411 needs to protect.

[0076] According to an embodiment, the shim layer 413 may perform IPC encryption. The shim layer 413 may encrypt and / or decrypt a shared memory (shmem) area when communicating with another application in the secure area 410 .

[0077] According to an embodiment, the mediator 413 may request attestation before the trusted code in the secure area 410 is executed. According to an embodiment, the mediator 413 may receive an attestation request from an application in the normal area 420, may request attestation from the RMM 417, and may transmit the result as an attestation report to the outside via the application in the normal area 420.

[0078] In the secure area 410, a service 414 (or application code) operating in PE mode may be run, and an ART 415 and an intermediary layer 416 for running the service 414 (or application code) may be specifically implemented. The ART 415 is an Android application running environment for the service 414 (or application code) in PE mode, and the ART 415 may interface with the intermediary layer 416 to process system calls. For example, the ART 415 may be specifically implemented as a Dalvik virtual machine (VM).

[0079] The mediator 416 may be an operating environment of the ART 415 in the PE mode. In the PE mode, the mediator 416 may process a system call called by the ART 415. In the PE mode, the mediator 416 may directly process a system call called by the ART 415, or may forward it to the normal area 420. According to an embodiment, the mediator 416 included in the service 414 (or application code) may perform the same or similar functions as the mediator 413 included in the application 411.

[0080] The system call called by the application 411 or the service 414 (or the application code) may be trapped in the RMM 417 in the secure area 410, and may be transmitted to the kernel 422 in the normal area 420 via the root user (root) 421 in the normal area 420. The RMM 417 is firmware operating in the secure area 410 (e.g., the confidential domain world EL2), may manage the stage 2 page table for the secure area 410, and may manage the cpu context of the confidential domain. According to an embodiment, the confidential domain may be referred to as a software (SW) program operating at an exception level 0 or 1 in the RMM 417. According to an embodiment, the confidential domain may include all of the ART, the intermediary layer, and the application.

[0081] The kernel 422 in the normal area 420 may include a confidential domain resource manager 423, and the confidential domain resource manager 423 may manage resources (e.g., CPU time, memory) in the secure area 410 (e.g., the confidential domain world). According to an embodiment, the kernel 422 may run processes in the normal area 420. According to an embodiment, the kernel 422 may run daemons, a service manager, a media server, a zygote 424, and / or a zygote 425 for PE applications.

[0082] The incubation process 424 is a process that is pre-forked to speed up the application operation speed, and before the application in the general area 420 is run, it may include a virtual machine code and an application common code (Android framework). The incubation process 424 may fork a child process. The incubation process 424 may fork an Android runtime (ART) for running the application. The ART-dedicated system server may run system services. According to an embodiment, the system services run by the ART-dedicated system server may include functions for performing different operations for the PE mode.

[0083] In the present disclosure, in addition to the hatching process 424 for shortening the time of running the application in the general area 420, the hatching process 425 for the PE application can be separately implemented, and the hatching process 425 is used to shorten the time of running the application 411 in the secure area 410 in the PE mode. According to an embodiment, the hatching process 424 and the hatching process 425 for the PE application can be implemented as a single process.

[0084] In order to request to run the application 411 or service 414 (or application code) in PE mode, the hatching process 425 for PE applications in the normal area 420 may fork a PE setup 426. The PE setup 426 may perform the environment setup (e.g., Dalvik image, image loading, confidential domain mode context setup, etc.) required to run the application 411 or service 414 (or application code) in PE mode. The PE setup 426 may transmit the request to run the application 411 or service 414 (or application code) in PE mode to the kernel 422. The PE setup 426 may request the RMM 417 to verify the early initial confidential domain image loaded in the confidential domain.

[0085] The application 411 or the service 414 (or application code) may receive an execution request transmitted from the PE setting 426 via the root user 421 and the RMM 417 .

[0086] Figure 5is a diagram illustrating a system service operation in case of changing to a PE mode according to an embodiment of the present disclosure.

[0087] Reference Figure 5 , in operation 510 , when the overall operating mode is changed to the PE mode in the settings application in response to a user input (eg, a touch input), the PE mode may be activated (eg, Settings.System.PRIVACY_ENHANCE_MODE_ON).

[0088] In operation 520 , the setting application may broadcast, via an intent, that the current mode of the electronic device is the PE mode.

[0089] For example, a broadcast intent can be configured as follows.

[0090] / / Post an intent to reload

[0091] Intent intent = new Intent(Intent.ACTION_PRIVACY_MODE_CHANGED);

[0092] intent.putExtra("state", !isEnabled);

[0093] sendBroadcast(intent);

[0094] In operation 530, the system service may receive the intent broadcast from the settings application and may change the mode to the PE mode. The system service may be the system service shown in FIG3. According to an embodiment, the system service may include at least one of an activity manager, an audio service, a camera service, a Bluetooth service, a connection service, an input method service, and a window manager.

[0095] According to the embodiment, examples of operating system services in the case of changing to PE mode are as follows (1) to (10).

[0096] (1) Only one application is running in the foreground (background communication is not allowed): Only the application currently used by the user (foreground application) is run, and applications are not allowed to run in the background. In this case, the applications / services required by PE mode can run in the background.

[0097] (2) Keep minimum services running: Stop running user-installed applications and services.

[0098] (3) Application firewall: Run the firewall service.

[0099] (4) Reduce GPU precision or remove: Reduce the precision of the timer to avoid side channel attacks using the GPU, such as rowhammer attacks.

[0100] (5) Block the recipient’s phone number: Activate the function of hiding the user’s number (caller ID) when the user makes a call.

[0101] (6) Initialization of webview instance: disabling jit, etc.

[0102] (7) Make intent explicit: When sending an (Android) intent from an app to a service or another app, provide the user with intent information (via a pop-up window), and only transmit inter-app intents or corresponding intents that the user approves. Optionally, it activates a function that uses intent filtering to monitor suspicious intents and notify the user of suspicious intents.

[0103] (8) Prevent call redirection: Prevent incoming calls from being redirected to another mobile phone or phone number.

[0104] (9) Prevent apps from unknown sources: Prevent apps from running that are downloaded from unknown sources other than authorized sources (such as Android PlayStore, etc.).

[0105] (10) Mic / video are disabled by default (even if permissions are allowed).

[0106] Figure 6 is a diagram illustrating a process of starting an application in a PE mode according to an embodiment of the present disclosure.

[0107] Reference Figure 6 , in operation 610 - 1 or 610 - 2 , the application is run in PE mode.

[0108] In operation 610 - 1 , when an application (eg, SMS) can be executed in both a normal mode and a PE mode, the application (eg, SMS) may be executed in the PE mode in response to a user input.

[0109] In operation 610-2, after the electronic device is changed to PE mode in the settings, an application (e.g., SMS) may be run in response to user input. In operation 620, a home application (launcher) determines whether to run an application in PE mode, and transmits a request for running an application in PE mode to the activity manager service via IPC. In operation 630, a request may be made to generate an application to an incubation process for PE applications (responsible for generating applications in PE mode). According to an embodiment, in order to run an application in PE mode, the activity manager service may communicate with an incubation process for PE applications instead of communicating with the incubation process.

[0110] In operation 640, the hatching process for the PE application may generate a new process (fork a new Linux process). After the process is generated, the hatching process for the PE application may load and / or run the PE setting module. The hatching process for the PE application may pre-load the PE setting module and generate a new process so that the PE setting module can be run in the newly generated process. In order to shorten the loading time, the hatching process for the PE application may pre-include an ART image (e.g., a Dalvik VM image).

[0111] In operation 650, the target application code may be loaded. The incubation process for the PE application may load the target application code, and the target application code may be loaded during the initial run phase in the newly generated process. According to an embodiment, the entire target application code may be run in the confidential domain world. According to an embodiment, some code in a single application may be run in the common area, and only some code that needs to be secure may be loaded and run in the confidential domain world.

[0112] Figure 7 is a diagram illustrating operations in a normal area (non-secure world) and a secure area (confidential domain world) when an application is executed in a PE mode according to an embodiment of the present disclosure.

[0113] Reference Figure 7, the electronic device 700 may include a secure area 710 (or a confidential domain world or a secure world) and a normal area 720 (or a non-secure world or a normal world), and the secure area 710 and the normal area 720 independently run applications and / or services (or application codes). According to an embodiment, the secure area 710 and the normal area 720 may be physically (or hardware-based) separated areas in the electronic device 700. According to an embodiment, applications and / or services (or application codes) that require user privacy (or personal information) protection may run in the secure area 710. For example, the normal area 720 may be specifically implemented in an Android environment (or a rich runtime environment (REE)), and the secure area 710 may be specifically implemented in a trusted runtime environment (TEE) that is physically separated from Android.

[0114] In the secure area 710, an application 711 operating in PE mode may be run. The application 711 may include an application code 712, an Android runtime (ART) 713 for running the application 711, and an intermediary layer 714. The ART 713 is an Android application running environment of the application 711 in PE mode, and the ART 713 may interface with the intermediary layer 714 to process system calls. For example, the ART 713 may be specifically implemented as a Dalvik virtual machine (VM).

[0115] The intermediary layer 714 may be a running environment of the ART 713 in the PE mode. In the PE mode, the intermediary layer 714 may process a system call called by the ART 713. In the PE mode, the intermediary layer 714 may directly process a system call called by the ART 713, or may forward a system call called by the ART 713 to the normal area 720. According to an embodiment, the intermediary layer 714 may manage the context of the application 711 in the PE mode, and may configure the memory and page table (stage 1 page table) that the application 711 needs to protect.

[0116] According to an embodiment, the intermediary layer 714 may perform IPC encryption. The intermediary layer 714 may encrypt and / or decrypt a shared memory (shmem) area when communicating with another application in the secure area 710. According to an embodiment, the intermediary layer 714 may request verification before the trusted code in the secure area 710 is executed. According to an embodiment, the intermediary layer 714 may transmit a verification request to an application 721 in the normal area 720, and may transmit a verification report to the outside via the application 721 in the normal area 720.

[0117] In the normal area 720, an application 721 operating in a normal mode different from the PE mode may be run. The application 721 may include an application code 722, an ART 723 for running the application 721, an intermediary layer 724, and a PE setting 725. The ART 723 is an Android application running environment of the application 721 in the normal mode, and the ART 723 may interface with the intermediary layer 724 to process system calls. For example, the ART 723 may be specifically implemented as a Dalvik virtual machine (VM).

[0118] In operation 701, an application image may be preloaded in an application address space in the normal area 720. In operation 703, the PE setup 725 may request the secure area 710 to generate an application, and may request to configure an application context in the secure area 710 (transferring an execution start address).

[0119] The kernel 726 in the normal area 720 may include a confidential domain resource manager 727, and the confidential domain resource manager 727 may manage resources (e.g., CPU time, memory) in the secure area 710 (e.g., the confidential domain world). In operation 705, the kernel 726 in the normal area 720 may transmit an application generation request and an application context configuration request to the RMM 715 in the secure area 710 via the root user 728 in the normal area 720.

[0120] The RMM 715 that receives the application generation request and the application context configuration request can generate a stage 2 table for the secure area 710, and can pre-configure or generate an application run request point. The RMM 715 can configure the cpu context for running the application 711. For example, the RMM 715 can configure the entry point (run start address) of the application 711 (configured in the elr_el2 register). According to the eret instruction, the RMM 715 can switch to the exception level at which the application 711 runs, and can enable the application 711 to run in the secure area 710.

[0121] Figure 8 is a diagram illustrating a process of protecting a memory used by an application when the application is executed in a PE mode according to an embodiment of the present disclosure.

[0122] Reference Figure 8, the electronic device 800 may include a secure area 810 (or a confidential domain world or a secure world) and a normal area 820 (or a non-secure world or a normal world), and the secure area 810 and the normal area 820 independently run applications and / or services (or application codes). According to an embodiment, the secure area 810 and the normal area 820 may be physically (or hardware-based) separated areas in the electronic device 800. According to an embodiment, applications and / or services (or application codes) that require user privacy (or personal information) protection may run in the secure area 810. For example, the normal area 820 may be specifically implemented in an Android environment (or a rich runtime environment (REE)), and the secure area 810 may be specifically implemented in a trusted runtime environment (TEE) that is physically separated from Android.

[0123] In the secure area 810, an application 811 operating in PE mode may be run. The application 811 may include an application code 812, an Android runtime (ART) 813 for running the application 811, and an intermediary layer 814. In the normal area 820, an application 821 operating in a normal mode different from the PE mode may be run. The application 821 may include an application code 822, an ART 823 for running the application 821, an intermediary layer 824, and a PE setting 825.

[0124] In operation 801, a page fault exception may occur in an application 811 in a secure area 810. In operation 802, the RMM 815 in the secure area 810 may transmit the page fault exception to the confidential domain resource manager 827 in the general area 820. In operation 803, the confidential domain resource manager 827 may perform page mapping. In operation 804, the confidential domain resource manager 827 may transmit the page mapping information to the RMM 815. In operation 805, the RMM 815 may verify the mapping information and may perform page mapping with respect to the stage 2 page table. In operation 806, the RMM 815 in the secure area 810 may request a granular protection table (GPT) update from the root user 828 in the general area 820, and may configure the allocated memory as a confidential domain PAS. The GPT may be managed by a monitor in the root user world, and may be used to configure memory for each PAS defined in the ARM CCA. According to an embodiment, when configuring an application in a confidential domain, memory may be pre-allocated.

[0125] Except for the purpose of sharing with the normal area 820 (non-secure world) (for example, communicating with the NS-sec application 821 or service, or transmitting the system call service to the kernel), all memories used by the application 811 may correspond to the confidential domain PAS and may be prevented from being configured in the normal area 820. According to an embodiment, in association with the memory that needs to be shared with the normal area 820, the intermediate layer may inform the RMM of the corresponding memory area information, and the RMM may maintain the information to prevent the memory from being configured as the memory for the confidential domain world in the granular protection table (GPT) and the stage 2 page table, and may use it for the stage 2 page table and GPT updates.

[0126] Fig. 9 is a flowchart illustrating the operation of an electronic device according to an embodiment of the present disclosure.

[0127] Reference Fig. 9 In operation 910, the electronic device may change the operation mode of the electronic device to a privacy enhanced (PE) mode in response to a user input. In operation 910, in response to the operation mode of the electronic device being changed to the PE mode, the electronic device may transmit a request for generating an application running in the PE mode from a normal area to a secure area. In operation 930, in response to the request for generating the application, the electronic device may perform control to run the application in the secure area.

[0128] According to an embodiment, the secure area and the general area may be configured as physically distinguished separate areas in the electronic device.

[0129] According to an embodiment, in response to the operation mode of the electronic device being changed to the PE mode, the electronic device may perform control so that at least one system service performs at least one operation configured according to the PE mode. According to an embodiment, the system service may include one of an activity manager, an audio service, a camera service, a Bluetooth service, a connection service, an input method service, and a window manager.

[0130] According to an embodiment, in response to the operation mode of the electronic device being changed to the PE mode, the electronic device may perform control so that a request for configuring a context of an application running in the PE mode is transmitted from the normal area to the secure area. According to an embodiment, in response to the request for configuring a context of an application, the electronic device may perform control so that the context is configured in the secure area.

[0131] According to an embodiment, in response to a user input, the electronic device may perform control such that the PE mode is selected as the overall operation mode of the electronic device. According to an embodiment, the electronic device may perform configuration such that an application runs only in the PE mode.

[0132] According to an embodiment, the general area may include a first incubation process and a second incubation process, the first incubation process shortens the time of running the application in the general area, and the second incubation process shortens the time of running the application in the secure area. According to an embodiment, the second incubation process may fork a PE configuration process (PE settings), and the PE configuration process performs configuration required to run the application in PE mode in the secure area.

[0133] According to an embodiment, the kernel included in the normal area may include a resource manager that manages resources of the secure area. According to an embodiment, the kernel may be configured to receive a request for generating an application in the PE mode from the PE configuration process.

[0134] According to an embodiment, the secure area may include firmware (RMM) that manages a page table (stage page table) for the secure area and manages a context of an application running in the secure area. According to an embodiment, the firmware (RMM) may be configured to receive a request from the kernel to generate an application in PE mode.

[0135] According to an embodiment, an application running in a secure area may include an Android runtime (ART) and an intermediary layer for processing system calls called by the Android runtime (ART). According to an embodiment, the intermediary layer may be configured to configure the memory area and page table (stage page table) that the application needs to protect in PE mode, and manage the context of the application. According to an embodiment, the intermediary layer may be configured to encrypt or decrypt a shared memory area when communicating with another application running in a secure area. According to an embodiment, the intermediary layer may be configured to request attestation before the trusted code is run in the secure area.

[0136] According to an embodiment, a computer-readable storage medium storing at least one instruction may be provided. When the at least one instruction is executed by at least one processor, the electronic device may be caused to perform multiple operations. The multiple operations may include an operation of changing the operating mode of the electronic device to a privacy enhanced (PE) mode in response to user input. The multiple operations may include an operation of transmitting a request for generating an application running in the PE mode from a normal area to a secure area in response to the operating mode of the electronic device being changed to the PE mode. The multiple operations may include an operation of running an application in a secure area in response to a request for generating an application.

Claims

1. An electronic device, comprising: Memory (130 of FIG. 1 ); as well as at least one processor (120 of FIG. 1 ), connected to the memory (130 of FIG. 1 ), Wherein, the at least one processor (120 of FIG. 1 ) is configured to: In response to user input, changing the operation mode of the electronic device to a privacy-enhanced PE mode; controlling so that, in response to the operation mode of the electronic device being changed to the PE mode, a request for generating an application to be operated in the PE mode is transmitted from the normal area (420 of FIG. 4 , 720 of FIG. 7 , 820 of FIG. 8 ) to the secure area (410 of FIG. 4 , 710 of FIG. 7 , 810 of FIG. 8 ); and Control is performed so that the application is executed in the security area ( 410 of FIG. 4 , 710 of FIG. 7 , 810 of FIG. 8 ) in response to the request for generating the application.

2. The electronic device according to claim 1, wherein: The secure area and the general area are configured as physically distinguished separate areas in the electronic device.

3. The electronic device according to any one of claims 1 and 2, wherein: The at least one processor is configured to: control so that in response to the operation mode of the electronic device being changed to the PE mode, at least one system service executes at least one operation configured according to the PE mode.

4. The electronic device according to any one of claims 1 to 3, wherein: The at least one processor is configured to: controlling so that, in response to the operation mode of the electronic device being changed to the PE mode, a request for configuring a context of an application running in the PE mode is transmitted from the normal area to the secure area; as well as Control is performed so that, in response to the request for configuring the context of the application, the context is configured in the security area.

5. The electronic device according to any one of claims 1 to 4, wherein: The at least one processor is configured to: perform control so that, in response to the user input, the PE mode is selected as the overall operation mode of the electronic device.

6. The electronic device according to any one of claims 1 to 4, wherein: The at least one processor is configured to: configure so that the application runs only in the PE mode.

7. The electronic device according to any one of claims 1 to 4, wherein: The general area is configured to include: A first incubation process, shortening the time to run the application in the general area; and The second incubation process shortens the time for running the application in the secure area.

8. The electronic device according to any one of claims 1 to 7, wherein: The second incubation process forks a PE configuration process (PE setup), which performs configuration required to run the application in the PE mode in the secure area.

9. The electronic device according to any one of claims 1 to 7, wherein: The kernel included in the normal area is configured to include a resource manager that manages resources of the secure area.

10. The electronic device according to any one of claims 8 or 9, wherein: The kernel is configured to receive the request for generating the application in the PE mode from the PE configuration process.

11. The electronic device according to any one of claims 1 to 9, wherein: The secure area is configured to include a firmware RMM that manages a page table (stage page table) for the secure area and manages a context of the application running in the secure area, and The firmware RMM is configured to receive the request for generating the application in the PE mode from the kernel.

12. The electronic device according to any one of claims 1 to 11, wherein: The application running in the secure area is configured to include: Android Runtime ART; and The intermediary layer is used to process the system calls invoked by the Android runtime.

13. The electronic device according to any one of claims 1 to 12, wherein: The intermediate layer is configured to configure the memory area and page table (stage page table) that the application needs to protect in the PE mode, and manage the context of the application.

14. The electronic device according to any one of claims 1 to 13, wherein: The mediation layer is configured to encrypt or decrypt the shared memory area when performing communication with another application running in the secure area.

15. A method of operating an electronic device, the method comprising: In response to user input, changing the operation mode of the electronic device to a privacy-enhanced PE mode; In response to the operation mode of the electronic device being changed to the PE mode, transmitting a request for generating an application to be run in the PE mode from the normal area (420 of FIG. 4, 720 of FIG. 7, 820 of FIG. 8) to the secure area (410 of FIG. 4, 710 of FIG. 7, 810 of FIG. 8); and In response to the request for generating the application, the application is executed in the secure area ( 410 of FIG. 4 , 710 of FIG. 7 , 810 of FIG. 8 ).