Electronic device for providing target applet by verifying applet and operation method thereof

The Allowlist mechanism in electronic devices securely controls access to applet functions within a secure element, addressing the issue of unauthorized usage and enhancing security by verifying authentication data.

WO2026034753A1PCT designated stage Publication Date: 2026-02-12SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/007142
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-10-22
Filing Date
2025-05-27
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

Existing electronic devices lack a secure mechanism to restrict access to critical applet functions and services within a secure element, leading to potential misuse and security vulnerabilities.

Method used

Implementing an Allowlist mechanism to control access to applet functions and services by verifying authentication data, ensuring only authorized applets can utilize specific applets through an Allowlist system.

Benefits of technology

Enhances security by preventing unauthorized access to critical applet functions, thereby reducing the risk of misuse and maintaining the integrity of secure element operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025007142_12022026_PF_FP_ABST
    Figure KR2025007142_12022026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed are an electronic device for providing a target applet by verifying an applet and an operation method thereof. The electronic device comprises at least one host processor and a secure element electrically connected to the at least one host processor. The secure element includes a memory for storing instructions and at least one processor for executing the instructions. When the at least one processor individually and / or collectively executes the instructions, the instructions cause the electronic device to: request a target applet to be used by an applet from an operating system (OS) of the secure element; provide instances to the applet in response to the request for the target applet; generate authentication data for the target applet in the applet and transmit the authentication data to the target applet; and verify the authentication data in the target applet to determine whether to provide, to the applet, a function of the target applet.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device for verifying an applet and providing a target applet, and method for operating the same

[0001] The present disclosure relates to an electronic device for verifying an applet and providing a target applet, and a method of operating the same.

[0002] To protect personal information, electronic devices can utilize security features to provide services requiring security. For example, an electronic device may include a secure element (e.g., an embedded SE (eSE)). Through the secure element, the electronic device can provide users with an experience for services requiring high security (e.g., digital keys, electronic banking, or electronic payments). The secure element may include one or more applets, and by executing the applets, the device can provide users with various services.

[0003] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above-described matters constitute prior art related to the present disclosure.

[0004] According to an exemplary embodiment, an electronic device may include at least one host processor comprising processing circuitry. The electronic device may include a secure element comprising processing circuitry electrically connected to the at least one host processor. The secure element may include a memory storing instructions. The secure element may include at least one processor comprising processing circuitry. The at least one processor may be individually and / or collectively configured to execute the instructions and cause the electronic device to send a request to an operating system (OS) of the secure element for a target applet that the applet intends to use. The at least one processor may be individually and / or collectively configured to execute the instructions and cause the electronic device to provide an instance of the applet in response to a request for the target applet. The at least one processor may be individually and / or collectively configured to execute the instructions and cause the electronic device to generate authentication data for the target applet from the applet and transmit the authentication data to the target applet. The at least one processor may be individually and / or collectively configured to execute the instructions and cause the electronic device to verify the authentication data from the target applet to determine whether to provide the applet with the functionality of the target applet.

[0005] According to an exemplary embodiment, a secure element may include a memory storing instructions. The secure element may include at least one processor including a processing circuit. The at least one processor may be individually and / or collectively configured to execute the instructions and cause the electronic device to request a target applet that the applet intends to use from an operating system (OS) of the secure element. The at least one processor may be individually and / or collectively configured to execute the instructions and cause the electronic device to provide an instance of the applet in response to the request for the target applet. The at least one processor may be individually and / or collectively configured to execute the instructions and cause the electronic device to generate authentication data for the target applet from the applet and transmit the authentication data to the target applet. At least one processor may be individually and / or collectively configured to execute the instructions and cause the electronic device to verify the authentication data in the target applet to determine whether to provide the functionality of the target applet to the applet.

[0006] According to an exemplary embodiment, a method of operating an electronic device may include an operation of requesting a target applet that an applet intends to use from an operating system (OS) of the secure element. The method may include an operation of providing an instance of the applet in response to the request for the target applet. The method may include an operation of generating authentication data for the target applet in the applet and transmitting the authentication data to the target applet. The method may include an operation of verifying the authentication data in the target applet to determine whether to provide the applet with the functionality of the target applet.

[0007] According to an exemplary embodiment, a method of operating a secure element may include an operation of requesting a target applet that an applet intends to use from an operating system (OS) of the secure element. The method may include an operation of providing an instance of the applet in response to the request for the target applet. The method may include an operation of generating authentication data for the target applet in the applet and transmitting the authentication data to the target applet. The method may include an operation of verifying the authentication data in the target applet to determine whether to provide the applet with the functionality of the target applet.

[0008] According to an exemplary embodiment, a non-transitory computer-readable recording medium may store one or more computer programs including instructions that, when individually and / or collectively executed by at least one processor including a processing circuit, cause an electronic device to perform an operation of requesting a target applet that an applet intends to use from an operating system (OS) of the secure element. The non-transitory computer-readable recording medium may store one or more computer programs including instructions that, when individually and / or collectively executed by at least one processor including a processing circuit, cause an electronic device to perform an operation of providing an instance of the applet in response to the request for the target applet. The non-transitory computer-readable recording medium may store one or more computer programs including instructions that, when individually and / or collectively executed by at least one processor including a processing circuit, cause an electronic device to perform an operation of generating authentication data for the target applet from the applet and transmitting the authentication data to the target applet. A non-transitory computer-readable recording medium may store one or more computer programs including instructions that, when individually and / or collectively executed by at least one processor including a processing circuit, cause an electronic device to perform an operation of verifying the authentication data in the target applet to determine whether to provide the applet with the functionality of the target applet.

[0009] FIG. 1 is a block diagram illustrating an exemplary electronic device within a network environment according to various embodiments.

[0010] FIG. 2 is a block diagram illustrating an exemplary configuration of an electronic device including a secure element (SE) according to various embodiments.

[0011] FIG. 3 is a signal flow diagram illustrating an exemplary operation of an electronic device that uses allowlist to verify an applet according to a related technology.

[0012] FIG. 4 is a drawing schematically illustrating a security element according to various embodiments.

[0013] FIGS. 5 and 6 are signal flow diagrams illustrating exemplary operations between an applet, an OS, and a target applet according to various embodiments.

[0014] FIG. 7 is a flowchart illustrating exemplary operations of a target applet according to various embodiments.

[0015] FIG. 8 is a diagram for explaining an authentication key and a recovery key according to various embodiments.

[0016] FIG. 9 is a block diagram illustrating exemplary operations of SE according to various embodiments.

[0017] FIG. 10 is a flowchart illustrating exemplary operations of an electronic device according to various embodiments.

[0018] Hereinafter, various exemplary embodiments will be described in more detail with reference to the attached drawings. In describing various embodiments with reference to the attached drawings, identical components are assigned the same reference numerals regardless of the drawing numbers, and any duplicate description thereof may not be repeated.

[0019] FIG. 1 is a block diagram illustrating an exemplary electronic device within a network environment according to various embodiments. Referring to FIG. 1 , in a network environment (100), an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). In one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio 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 subscriber identification module (196), or an antenna module (197). In various embodiments, the electronic device (101) may have at least one of these components (e.g., the connection terminal (178)) omitted, or one or more other components added. In various embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).

[0020] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (121). For example, when the electronic device (101) includes the main processor (121) and the auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a given function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as a part thereof. Therefore, the processor (120) may include various processing circuitry and / or multiple processors. For example, the term "processor" as used herein, including in the claims, may include various processing circuits including at least one processor, one or more of which may be individually and / or collectively configured in a distributed manner to perform the various functions described herein.As used herein, when "processor," "at least one processor," and "one or more processors" are described as being configured to perform multiple functions, these terms encompass, without limitation, situations where one processor performs some of the recited functions and other processor(s) perform the remainder of the recited functions, and situations where a single processor can perform all of the recited functions. Additionally, the at least one processor includes a combination of processors that perform (e.g., in a distributed manner) the various recited / disclosed functions. The at least one processor can execute program instructions to accomplish or perform the various functions.

[0021] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, in the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include a plurality of artificial neural network layers.The artificial neural network may be one of 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), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.

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

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

[0024] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

[0025] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.

[0026] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.

[0027] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).

[0028] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

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

[0030] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one 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).

[0031] The haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

[0032] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.

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

[0034] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0035] The communication module (190) may support the establishment of 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 the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one 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 module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).

[0036] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.

[0037] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one 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 method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the at least one selected antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).

[0038] According to various embodiments, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.

[0039] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).

[0040] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In one embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

[0041] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, home appliances, and the like. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.

[0042] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "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" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.

[0043] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, or any combination thereof, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0044] Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, a 'non-transitory' storage medium can mean a tangible device that does not contain signals (e.g. electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.

[0045] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.

[0046] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

[0047] FIG. 2 is a block diagram illustrating an exemplary configuration of an electronic device including a secure element (SE) according to various embodiments.

[0048] According to one embodiment, an electronic device (200) (e.g., the electronic device (101) of FIG. 1) may include at least one host processor (e.g., including various processing circuits) (202) (e.g., the processor (120) of FIG. 1) and a secure element (SE) (e.g., including various circuits) (210) (e.g., a secure element). The SE (210) may include at least one processor (e.g., including processing circuits) (212) and a memory (214). The SE (210) may be electrically connected to at least one host processor (202) to transmit and receive data and / or signals. The at least one host processor (202) may include an application processor. The at least one host processor (202) may execute an application that may communicate with the SE (210). The at least one host processor (202) may communicate with the SE (210) via the application.

[0049] According to one embodiment, the electronic device (200) may include various computing devices such as a mobile phone, a smart phone, a tablet, an e-book device, a laptop, a personal computer, a desktop, a workstation, or a server including a host processor (202) and an SE (210), various wearable devices such as a smart watch, smart glasses, or a head-mounted display (HMD), various home appliances such as a smart speaker, a smart TV, or a smart refrigerator, a smart car, a smart kiosk, an Internet of Things (IoT) device, a walking assist device (WAD), a drone, a robot, etc.

[0050] According to one embodiment, the SE (210) may include an embedded secure element (e.g., an embedded secure element (eSE). However, this is an example and the present disclosure is not limited thereto. The SE (210) may include a chip designed for protection from unauthorized access so as to securely store data, securely process data, and securely communicate with external electronic devices (not shown). At least one processor (212) within the SE (210) may include various processor circuits, store confidential data and / or cryptographic data in a memory (214), and execute restricted applications (e.g., applets). For example, the at least one processor (212) may execute payment applets requiring a high level of security and provide a reliable user interface capable of securely transmitting electronic signatures or personal information. The description provided above with reference to the processor (120) may equally apply to the processor (212).

[0051] According to one embodiment, at least one processor (212) can store applets (e.g., installation data and / or execution data) directly in memory (214) and filter access to the applets. At least one processor (212) can store data (e.g., user data) generated through execution of the applets in memory (214) and securely maintain the user data.

[0052] According to one embodiment, applets executed by at least one processor (212) can provide various security services. For example, applets can provide services requiring security, such as identification, payment, transportation card, digital key (e.g., door lock and car key, etc.). When SE (210) is included in electronic device (200), SE (210) can execute applets by receiving commands from at least one host processor (202). For example, SE (210) can execute applets by receiving commands from an application and / or framework that can communicate with SE (210) executed by at least one host processor (202). For example, at least one host processor (202) can control SE (210), and execution of applets can be triggered by at least one host processor (202). According to one embodiment, when SE (210) receives a command to use a specific applet that provides a specific function and / or a specific service from at least one host processor (202), the operations described below in FIGS. 5 to 7 may be performed.

[0053] According to one embodiment, the SE (210) may be in a form that is not included in the electronic device (200). For example, the SE (210) may be in a form that is included in a credit card, an ID card (e.g., an ID card), a transportation card, an access card, etc. In this case, the SE (210) may execute applets by receiving a command from a separate external electronic device (e.g., a reader, etc.). When the SE (210) receives a command to use a specific applet that provides a specific function and / or a specific service from the external electronic device, operations that will be described in more detail later in FIGS. 5, 6, and 7 may be performed.

[0054] In one embodiment, some applets may provide predefined functions (e.g., specific functions) or specific services to other applets. For example, some applets may provide specific functions or services, such as applet deletion, applet installation, key injection, and data storage, to other applets. However, these functions or specific services are merely examples and the present disclosure is not limited thereto. Some of the applets described above may include applets registered as Global Services of the Global Platform specification. These applets may not only provide functions or services requiring special permissions, but may also provide functions or services commonly required by multiple applets within the SE (210).

[0055] According to one embodiment, applets installed on the SE (210) can freely call and use specific applets that provide specific functions or services. An applet that wishes to use a specific applet can obtain an instance by calling an API with the AID (application identifier) ​​of the specific applet or the name of the specific function or service. For example, in the Global Platform specification, an applet can obtain an instance by calling an API with the AID or service name of a Global Service. An applet that has obtained an instance can use the specific function or service provided by the specific applet by calling the API.

[0056] For example, the Global Service of the Global Platform specification may include specific applets that provide specific functions or services to other applets, such as secure channels and cardholder verification methods (CVMs). For example, applets installed within the SE (210) can utilize required functions or services by calling secure channels and / or CVMs without having to directly implement the functions or services of secure channels and / or CVMs.

[0057] Previously, there was no way to restrict applets from using specific applet functions and / or services. Therefore, if a specific applet is a critical applet capable of performing special operations within the SE (210) (e.g., applet deletion, applet installation, key injection, and data storage), problems could arise when any applet is called and used.

[0058] Therefore, there may be a way to use an Allowlist to allow access to only some applets. Below, I'll explain how to use an Allowlist to allow access to only certain applets.

[0059] FIG. 3 is a signal flow diagram illustrating an exemplary operation of an electronic device that uses allowlist to verify an applet according to a related technology.

[0060] Referring to FIG. 3, an applet (301), an operating system (OS) (302), and a target applet (303) are illustrated.

[0061] According to one embodiment, the applet (301) may include a program designed to perform a specific function within an SE (e.g., SE (210) of FIG. 2) (e.g., a security element). The applet may include an AID as an identifier for identifying it from other applets. According to one embodiment, the applet (301) may call a target applet (303). By calling the target applet (303), the applet (301) may utilize a specific function or a specific service provided by the target applet (303).

[0062] In one embodiment, the OS (302) may be an operating system of the SE. For example, the OS (302) may include a Card OS. The OS (302) may manage the hardware resources of the SE and provide an execution environment for the applet (301) and / or the target applet (303). In one embodiment, the OS (302) may include the OPEN of the Global Platform specification.

[0063] In one embodiment, the target applet (303) may be an applet that provides a specific function or a specific service to other applets. The target applet (303) may be an applet that provides a common function or service required by one or more applets within the SE. The target applet (303) may be an applet called by the applet (301) for the purpose of using a specific function and / or a specific service. In one embodiment, the target applet (303) may include a Global Service of the Global Platform specification.

[0064] Below, we will explain exemplary operations between an applet (301), an OS (302), and a target applet (303) for use of the target applet (303).

[0065] In the exemplary embodiments below, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel. Operations (310) to (326) may be performed by at least one component (e.g., processor (212) of FIG. 2) of an electronic device (e.g., electronic device (101) of FIG. 1 and electronic device (200) of FIG. 2). For example, instructions stored in a memory (e.g., memory (214) of FIG. 2) may be executed by at least one processor, and the instructions may cause the electronic device to perform operations (310) to (326) below.

[0066] In operation (310), the applet (301) can request the target applet (303) from the OS (302).

[0067] According to one embodiment, the target applet (303) may be an applet that provides a specific function and / or a specific service that the applet (301) intends to use.

[0068] In one embodiment, an applet (301) can call a target applet (303). The applet (301) can call the target applet (303) with the AID and / or name of the target applet (303).

[0069] According to one embodiment, an applet (301) can call a target applet (303) using getservice() of the Global Platform specification.

[0070] In operation (312), the OS (302) can confirm the request of the applet (301).

[0071] According to one embodiment, the OS (302) can verify the request of the applet (301) based on the AID and / or name of the target applet (303). The OS (302) can verify the request of the applet (301) by checking the AID and / or name of the target applet (303) in the registry.

[0072] For example, the OS can verify the request of the applet (301) using the Global registry of the Global platform specification.

[0073] In operation (314), the OS (302) can provide an instance to the applet (301). The OS (302) can provide an instance to the applet (301) when the AID and / or name of the target applet (303) is confirmed in the registry.

[0074] In one embodiment, the OS (302) can verify the request of the applet (301) and provide an instance to the applet (301). The OS (302) can create a new instance and provide it to the applet (301) or provide an existing instance.

[0075] In operation (316), the applet (301) can request an SIO (sharable interface object) to the OS (302).

[0076] In one embodiment, a SIO may be an interface object that an applet (e.g., a target applet (303)) can provide to other applets. By sharing an SIO, multiple applets can interact with each other. For example, by sharing an SIO, an applet (301) can utilize specific functions and / or services provided by the target applet (301).

[0077] According to one embodiment, an applet (301) can request SIO using getServiceinterface() of the Global Platform specification.

[0078] In operation (318), the OS (302) can request SIO to the target applet (303).

[0079] According to one embodiment, the OS (302) that receives a request for SIO from an applet (301) can transmit the request to the target applet (303).

[0080] In operation (320), the target applet (303) can check whether the applet (301) is included in the Allowlist.

[0081] According to one embodiment, the Allowlist may be a list containing the AIDs of applets that can use specific functions and / or specific services of the target applet (303).

[0082] According to one embodiment, the target applet (303) can determine whether the AID of the applet (301) is included in the Allowlist. The target applet (303) can provide SIO if the AID of the applet (301) is included in the Allowlist. The target applet (303) can not provide SIO if the AID of the applet (301) is not included in the Allowlist. In the present disclosure, it is assumed that the AID of the applet (301) is included in the Allowlist.

[0083] In action (322), the target applet (303) can provide SIO to the OS (302).

[0084] In operation (324), the OS (302) can provide SIO to the applet (301).

[0085] In one embodiment, the target applet (303) and the applet (301) can share SIO.

[0086] In operation (326), the applet (301) can use the target applet (303). The applet (301) can use specific functions and / or specific services of the target applet (303). The applet (301) can use Allowlist to allow the target applet (303) to be used only for the desired applet (301).

[0087] However, according to one embodiment, there may be a case where the above-described Allowlist is bypassed. The AID is information entered when installing an applet and may be unique information of the applet that cannot be duplicated between applets. Therefore, if the designer created an Allowlist with the intention of allowing the first applet to use the target applet (303), but the second applet is installed first, rather than the first applet, and the second applet preemptively occupies the AID included in the Allowlist, the Allowlist may be bypassed.

[0088] In one embodiment, if SIO is shared by bypassing the Allowlist and the second applet uses certain functions and / or services that require authentication of the target applet (303), repeated authentication failures may render the SE unusable.

[0089] Therefore, to prevent and / or mitigate the aforementioned problems, it is necessary to prevent SIO sharing itself. Below, we will describe a method using cryptographic methods to provide SIO only to authenticated applets.

[0090] FIG. 4 is a drawing schematically illustrating a security element according to various embodiments.

[0091] Referring to FIG. 4, various software configurations of SE (410) (e.g., SE (210) of FIG. 2) (e.g., security element) are illustrated. The description of SE (410), applet, target applet (440) (e.g., target applet (303) of FIG. 3) and OS (420) (e.g., OS (302) of FIG. 3) may not be repeated as described above.

[0092] In FIG. 4, it is assumed that the target applet (440) provides specific functions and / or specific services only to the first applet (430) (e.g., applet (301) of FIG. 3). For example, only the first applet (430) can use specific functions and / or specific services of the target applet (440) by sharing SIO with the target applet (440), and access of the second applet (450) and the third applet (460) to the target applet (440) may be restricted.

[0093] In one embodiment, the first applet (430) and the target applet (440) may include the same recovery key and the same authentication key so that only the first applet (430) is allowed access to the target applet (440). The second applet (450) and the third applet (460) may not include the recovery key and the authentication key. If the second applet (450) and the third applet (460) include the recovery key and the authentication key, the recovery key and the authentication key may be different from the recovery key and the authentication key of the target applet (440).

[0094] According to one embodiment, the first applet (430) may include a first recovery key (434) and a first authentication key (436). Different keys may be used for the first recovery key (434) and the first authentication key (436) depending on the SE. For example, the first recovery key (434) and the first authentication key (436) may be different depending on the SE included in different electronic devices. The target applet (440) may include a second recovery key (444) and a second authentication key (446). The first recovery key (434) and the second recovery key (444) may be the same as a symmetric key. The first authentication key (436) and the second authentication key (446) may be the same as a symmetric key. The recovery key and authentication key of the first applet (430) and the target applet (440) can be generated based on the same master key. The generation of the recovery key and authentication key of the first applet (430) and the target applet (440) will be described in more detail later in FIG. 8.

[0095] In one embodiment, the first authentication key (436) may be used to generate authentication data for verification from the target applet (440). The second authentication key (446) may be used to verify the authentication data. The first recovery key (434) may be used to generate recovery data if verification fails. The second recovery key (444) may be used to verify the recovery data. A cryptographic method may be used to verify whether the first applet (430) can use the target applet (440), thereby increasing the level of security. The use of the first authentication key (436), the first recovery key (434), the second authentication key (446), and the second recovery key (444) will be described later with reference to FIGS. 5 and 6 .

[0096] According to one embodiment, the first applet (430) may include a first authentication value (432), and the target applet (440) may include a second authentication value (442). The initial values ​​of the first authentication value (432) and the second authentication value (442) may be 0. The first authentication value (432) and the second authentication value (442) may be updated during the process of generating and verifying authentication data. The first authentication value (432) and the second authentication value (442) may be updated during the process of generating and verifying recovery data. The level of security may be increased by not reusing authentication values ​​that have been used once.

[0097] Hereinafter, exemplary operations between the first applet (430), the OS (420) and the target applet (440) are described in more detail with reference to FIGS. 5 and 6 below.

[0098] FIGS. 5 and 6 are signal flow diagrams illustrating exemplary operations between an applet, an OS, and a target applet according to various embodiments.

[0099] Referring to FIG. 5, an applet (501) (e.g., applet (301) of FIG. 3 and first applet (430) of FIG. 4), an OS (502) (e.g., OS (302) of FIG. 3 and OS (420) of FIG. 4), and a target applet (503) (e.g., target applet (303) of FIG. 3 and target applet (440) of FIG. 4) are illustrated. The applet (501), the OS (502), and the target applet (503) have been described above, and detailed descriptions thereof may not be repeated here.

[0100] According to one embodiment, the applet (501) may include a first authentication value (e.g., the first authentication value (432) of FIG. 4), a first recovery key (e.g., the first recovery key (434) of FIG. 4), and a first authentication key (e.g., the first authentication key (436) of FIG. 4). The target applet (503) may include a second authentication value (e.g., the second authentication value (442) of FIG. 4), a second recovery key (e.g., the second recovery key (444) of FIG. 4), and a second authentication key (e.g., the second authentication key (446) of FIG. 4).

[0101] In the exemplary embodiments below, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel. Operations (510) to (528) may be performed by at least one component (e.g., processor (212) of FIG. 2) of an electronic device (e.g., electronic device (101) of FIG. 1 and electronic device (200) of FIG. 2). For example, instructions stored in a memory (e.g., memory (214) of FIG. 2) may be executed by at least one processor, and the instructions may cause the electronic device to perform operations (510) to (528) below.

[0102] Since operations (310) to (314) of FIG. 3 can be applied to operations (510) to (514), operations (510) to (514) may not be repeated here.

[0103] In action (516), the applet (501) can generate authentication data.

[0104] In one embodiment, the applet (501) can generate authentication data based on a first authentication value using a first authentication key. The applet (501) can update the first authentication value with the authentication data.

[0105] According to one embodiment, the applet (501) can generate a MAC (Message Authentication Code) value for the first authentication value using the first authentication key. The applet (501) can determine the determined MAC value as authentication data. The applet (501) can generate the MAC value using an algorithm such as HMAC and AES-CMAC. However, this is merely an example and the present disclosure is not limited thereto. For example, it will be apparent to those skilled in the art that the MAC value can be generated using any algorithm capable of generating a MAC value.

[0106] In action (518), the applet (501) can request SIO to the OS (502).

[0107] In one embodiment, the SIO request may include authentication data and the AID of the applet (501). In one embodiment, the applet (501) may request the SIO using the getServiceinterface() of the Global Platform specification.

[0108] In operation (520), the OS (502) can request SIO to the target applet (503). The OS (502) can transmit the SIO request received from the applet (501) to the target applet (503).

[0109] In operation (522), the target applet (503) can verify authentication data. The target applet (503) can verify whether the applet (501) has the authority to use a specific function and / or a specific service provided by the target applet (503).

[0110] In one embodiment, the target applet (503) can verify authentication data included in the SIO request based on the second authentication value and the second authentication key. The target applet (503) can generate a MAC value for the second authentication value using the second authentication key. The target applet (503) can generate the MAC value using the same algorithm as the algorithm used to generate the authentication data. For example, the target applet (503) can generate the MAC value using algorithms such as HMAC and AES-CMAC. However, this is merely an example and the present disclosure is not limited thereto.

[0111] According to one embodiment, the target applet (503) can compare the MAC value generated based on the second authentication value and the second authentication key with the authentication data. The target applet (503) can determine whether the MAC value and the authentication data are identical by comparing them. In FIG. 5, it is assumed that the MAC value and the authentication data are identical. Cases where the MAC value and the authentication data are different will be described in more detail in FIG. 6 below.

[0112] In one embodiment, the target applet (503) may further include an Allowlist. The Allowlist may be included in the target applet (503) in various ways. For example, the Allowlist may be included in the target applet (503) over the air. For example, the Allowlist may be included in the target applet (503) upon booting of the SE (e.g., SE (210) of FIG. 2 and SE (410) of FIG. 4). However, this is merely an example, and the present disclosure is not limited thereto.

[0113] According to one embodiment, when the target applet (503) includes an Allowlist, the target applet (503) can additionally check whether the AID of the applet (501) included in the request of the SIO is included in the Allowlist. At this time, the target applet (503) can perform operation (524) if the MAC value and the authentication data are the same and the AID of the applet (501) is included in the Allowlist. The target applet (503) can perform additional verification using the Allowlist as well as cryptographic verification based on the second authentication value and the second authentication key.

[0114] In action (524), the target applet (503) can provide SIO.

[0115] In one embodiment, if the verification is successful, the target applet (503) may provide SIO.

[0116] In operation (526), ​​the OS (502) can provide SIO to the applet (501). The OS (502) can transfer the SIO provided from the target applet (503) to the applet (501).

[0117] The description of the actions (524) and (526) is as described above in the actions (322) and (324) of FIG. 3, and the description of the actions (524) and (526) may not be repeated.

[0118] By transmitting SIO to applet (501), target applet (503) and applet (501) can share SIO.

[0119] In operation (528), the applet (501) can utilize the target applet (503). The applet (501) can utilize specific functions and / or specific services provided by the target applet (503).

[0120] Below, we will explain the operation when verification fails in operation (522).

[0121] FIG. 6 is a signal flow diagram illustrating an applet (601) (e.g., applet (301) of FIG. 3, first applet (430) of FIG. 4, and applet (501) of FIG. 5), an OS (602) (e.g., OS (302) of FIG. 3, OS (420) of FIG. 4, and OS (502) of FIG. 5), and a target applet (603) (e.g., target applet (303) of FIG. 3, target applet (440) of FIG. 4, and target applet (503) of FIG. 5). The applet (601), the OS (602), and the target applet (603) have been described above, and detailed descriptions thereof may not be repeated here.

[0122] According to one embodiment, the applet (601) may include a first authentication value (e.g., the first authentication value (432) of FIG. 4), a first recovery key (e.g., the first recovery key (434) of FIG. 4), and a first authentication key (e.g., the first authentication key (436) of FIG. 4). The target applet (603) may include a second authentication value (e.g., the second authentication value (442) of FIG. 4), a second recovery key (e.g., the second recovery key (444) of FIG. 4), and a second authentication key (e.g., the second authentication key (446) of FIG. 4).

[0123] In the following embodiments, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel. Operations (610) to (628) may be performed by at least one component (e.g., the processor (212) of FIG. 2) of an electronic device (e.g., the electronic device (101) of FIG. 1 and the electronic device (200) of FIG. 2). For example, instructions stored in a memory (e.g., the memory (214) of FIG. 2) may be executed by at least one processor, and the instructions may cause the electronic device to perform the following operations (510) to (528).

[0124] If verification fails in operation (522) of FIG. 5, the target applet (603) can perform operation (610).

[0125] In operation (610), the target applet (603) can generate a specific value. The target applet (603) can store the generated specific value. The specific value may include a random value, a value specified by the target applet (603), or a value generated by the target applet (603) through various algorithms.

[0126] In action (612), the target applet (603) can transmit a NULL value and a specific value.

[0127] In one embodiment, since verification failed, the target applet (603) may respond to the SIO request with a NULL value rather than SIO. In one embodiment, the target applet (603) may use an identifier, such as a flag, to indicate that the applet (601) requires recovery.

[0128] In operation (614), the OS (602) can transmit a NULL value and a specific value to the applet (601). The OS (602) can transmit a NULL value and a specific value received from the target applet (603) to the applet (601).

[0129] In action (616), the applet (601) can generate recovery data.

[0130] According to one embodiment, the applet (601) may generate recovery data if a NULL value and / or a specific value is received in response to the transmission of authentication data. For example, if the applet (601) receives a NULL value and / or a specific value in response to the transmission of authentication data, the applet may determine that the synchronization between the first authentication value and the second authentication value is out of sync and perform recovery.

[0131] In one embodiment, the applet (601) may generate recovery data based on a specific value using the first recovery key. For example, the applet (601) may generate a MAC value based on a specific value using the first recovery key.

[0132] In operation (618), the applet (601) can regenerate authentication data. For example, the applet (601) can regenerate a MAC value.

[0133] In one embodiment, the applet (601) may regenerate authentication data based on a specific value or recovery data based on the first authentication key. The authentication data regenerated in operation (618) may be different from the authentication data generated in operation (516) of FIG. 5.

[0134] In one embodiment, the applet (601) can update the first authentication value with the regenerated authentication data.

[0135] In action (620), the applet (601) can request the target applet (603).

[0136] In action (622), the OS (602) can confirm the request.

[0137] In action (624), the OS (602) can provide an instance to the applet (601).

[0138] For operations (620) to (624), the description of operations (620) to (624) described above in operations (310) to (314) of FIG. 3 may not be repeated.

[0139] In action (626), the applet (601) can request SIO.

[0140] In one embodiment, the SIO request may include the AID of the applet (601), regenerated authentication data, and recovery data.

[0141] In operation (628), the OS (602) can request SIO to the target applet (603). The OS (602) can transmit the SIO request received from the applet (601) to the target applet (603).

[0142] In operation (630), the target applet (603) can verify the recovery data. The target applet (603) can determine whether to provide a specific function and / or a specific service of the target applet to the applet (601) through verification based on the recovery data.

[0143] According to one embodiment, if the SIO request includes recovery data, the target applet (603) can verify the recovery data. The target applet (603) can verify the recovery data based on the second recovery key and the specific value stored in operation (610). The target applet (603) can generate comparison data using the same method as the applet (601) used to generate the recovery data based on the second recovery key and the specific value. The target applet (603) can compare the comparison data with the recovery data included in the SIO request to determine whether they are identical. If the comparison data and the recovery data are identical, the target applet can perform operation (632).

[0144] In one embodiment, if the verification of the recovery data fails in operation (630), the target applet (603) may terminate the operation without providing the SIO to the applet (601). If the verification of the recovery data fails in operation (630), the target applet (603) may perform operation (610) again. The target applet (603) may repeatedly perform operations (610) to (630) for a threshold number of times. If the threshold number of times is reached but the verification of the recovery data fails in operation (630), the target applet (603) may terminate the operation without providing the SIO to the applet (601).

[0145] For convenience of explanation, below, it is assumed that the comparison data and recovery data are the same.

[0146] In one embodiment, if the comparison data and the recovery data are identical, the target applet (603) may update the second authentication value with a specific value or the recovery data. If the authentication data is regenerated based on the specific value, the second authentication value may be updated with the specific value. If the authentication data is regenerated based on the recovery data, the second authentication value may be updated with the recovery data.

[0147] In action (632), the target applet (603) can verify the regenerated authentication data.

[0148] In one embodiment, the target applet (603) can verify the regenerated authentication data based on the updated second authentication value and the second authentication key. The target applet (603) can generate a MAC value for the updated second authentication value with the second authentication key. The target applet (603) can generate the MAC value using the same algorithm as the algorithm used to generate the authentication data. For example, the target applet (603) can generate the MAC value using algorithms such as HMAC and AES-CMAC. However, this is merely an example and the present disclosure is not limited thereto. If the verification is successful, the target applet can perform operation (634).

[0149] In one embodiment, if the verification of the authentication data fails in operation (632), the target applet (603) may perform operation (610) again. In one embodiment, if the number of times the verification has failed exceeds a threshold, the target applet (603) may terminate the operation of FIG. 6 for performing recovery without performing operation (610). The threshold may indicate a maximum number of retries for recovery. For example, if the number of times the verification has failed exceeds a threshold (e.g., 5 times), the target applet (603) may terminate the operation without generating a specific value any more.

[0150] In action (634), the target applet (603) can provide SIO.

[0151] In action (636), the OS (602) can provide SIO to the applet (601).

[0152] In action (638), the applet (601) can use the target applet.

[0153] Since the description of operations (322) to (326) of FIG. 3 and the description of operations (524) to (528) of FIG. 5 can be applied to operations (634) to (638), the description of operations (634) to (638) may not be repeated here.

[0154] Below, the operations of the present disclosure will be described based on the target applet (603) that received the SIO request.

[0155] FIG. 7 is a flowchart illustrating exemplary operations of a target applet according to various embodiments.

[0156] In the exemplary embodiments below, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel. Operations (610) to (628) may be performed by at least one component (e.g., processor (212) of FIG. 2) of an electronic device (e.g., electronic device (101) of FIG. 1 and electronic device (200) of FIG. 2). For example, instructions stored in a memory (e.g., memory (214) of FIG. 2) may be executed by at least one processor, and the instructions may cause the electronic device to perform operations (510) to (528) below.

[0157] In operation (702), a target applet (e.g., target applet (303) of FIG. 3, target applet (440) of FIG. 4, target applet (503) of FIG. 5, and target applet (603) of FIG. 6) can receive a request from SIO.

[0158] In operation (704), the target applet can determine whether the SIO request includes authentication data. If authentication data is included, the target applet can perform operation (708). If authentication data is not included, the target applet can perform operation (706).

[0159] In operation (706), the target applet can transmit a NULL value. The target applet can transmit the NULL value to the OS (e.g., OS (302) of FIG. 3, OS (420) of FIG. 4, OS (502) of FIG. 5, and OS (602) of FIG. 6).

[0160] In operation (708), the target applet may determine whether the SIO request includes recovery data. If recovery data is included, the target applet may perform operation (710). If recovery data is not included, the target applet may perform operation (716).

[0161] In operation (710), the target applet can determine whether there is a history of generating a specific value. The specific value may include a random value, a value designated by the target applet (603), or a value generated by the target applet (603) through various algorithms. If verification of authentication data has previously failed, the target applet can generate a specific value and store the specific value in an output buffer. The target applet can determine whether the specific value has been generated by determining whether the stored specific value exists. If there is a history of generating the specific value, the target applet can perform operation (712). If there is no history of generating the specific value, the target applet can perform operation (706).

[0162] In operation (712), the target applet can determine whether the verification of the recovery data was successful. The verification of the recovery data has been described in operation (630) of FIG. 6 and a detailed description thereof may not be repeated here. If the verification of the recovery data is successful, the target applet can perform operation (714). If the verification of the recovery data fails, the target applet can perform operation (706).

[0163] In operation (714), the target applet can update the second authentication value (e.g., the second authentication value (442) of FIG. 4). The target applet can update the second authentication value with a specific value or random data. If the regenerated authentication data is generated based on a specific value, the target applet can update the second authentication value with a specific value. If the regenerated authentication data is generated based on random data, the target applet can update the second authentication value with random data.

[0164] In operation (716), the electronic device can verify the authentication data and determine whether the verification of the authentication data is successful. If it is determined in operation (708) that the SIO request does not include recovery data, the authentication data to be verified in operation (716) may be data generated based on a first authentication value (e.g., the first authentication value (432) of FIG. 4). If it is determined in operation (708) that the SIO request includes recovery data, the authentication data to be verified in operation (716) may be data generated based on a specific value or random data. The verification of the authentication data has been described above in operation (522) of FIG. 5 and operation (632) of FIG. 6 and thus a detailed description thereof may not be repeated here. If the verification of the authentication data is successful, the target applet may perform operation (722). If the verification of the authentication data fails, the target applet may perform operation (718).

[0165] In operation (718), the target applet can generate a specific value. The specific value may include a random value, a value specified by the target applet (603), or a value generated by the target applet (603) through various algorithms.

[0166] In action (720), the target applet can send a NULL value and a specific value to the OS.

[0167] In operation (722), the target applet can provide SIO. The target applet can transmit SIO to the OS.

[0168] Hereinafter, a method of provisioning a recovery key and an authentication key to an applet (e.g., applet (301) of FIG. 3, first applet (430) of FIG. 4, applet (501) of FIG. 5, and applet (601) of FIG. 6) and a target applet (e.g., target applet (303) of FIG. 3, target applet (440) of FIG. 4, target applet (503) of FIG. 5, and target applet (603) of FIG. 6) to perform the operations described above in FIGS. 5, 6, and 7 will be described.

[0169] FIG. 8 is a diagram for explaining an authentication key and a recovery key according to various embodiments.

[0170] According to one embodiment, the first recovery key (e.g., the first recovery key (434) of FIG. 4) of the applet (850) (e.g., the applet (301) of FIG. 3, the first applet (430) of FIG. 4, the applet (501) of FIG. 5, and the applet (601) of FIG. 6)) and the second recovery key (e.g., the second recovery key (444) of FIG. 4) of the target applet (860) (e.g., the target applet (303) of FIG. 3, the target applet (440) of FIG. 4, the target applet (503) of FIG. 5, and the target applet (603) of FIG. 6)) may be symmetric keys. The first authentication key (e.g., the first authentication key (436) of FIG. 4) of the applet (850) and the second authentication key (e.g., the second authentication key (446) of FIG. 4) of the target applet (860) may be symmetric keys. The first recovery key and the second recovery key may be identical symmetric keys. The first authentication key and the second authentication key may be identical symmetric keys. The first recovery key and the second recovery key may be identical as a recovery key (830), and the first authentication key and the second authentication key may be identical as an authentication key (840).

[0171] According to one embodiment, the recovery key (830) and the authentication key (840) may be injected when the applet (850) and / or the target applet (860) are installed in the SE (e.g., the SE (210) of FIG. 2 and the SE (410) of FIG. 4) (e.g., the secure element). The recovery key (830) and the authentication key (840) may be injected when the applet (850) and / or the target applet (860) are installed in the chipset process before the SE is delivered to the manufacturer of the electronic device (e.g., pre-load). The recovery key (830) and the authentication key (840) may be injected when the applet (850) and / or the target applet (860) are installed after the SE is delivered to the manufacturer of the electronic device or when the user actually uses the applet (850) and / or the target applet (860) (e.g., post-load). According to one embodiment, the recovery key (830) and the authentication key (840) may be injected into the applet (850) and / or the target applet (860) through updates of the applet (850) and / or the target applet (860). However, this is merely an example, and the present disclosure is not limited thereto. For example, the injection timing of the recovery key (830) and the authentication key (840) may vary in addition to the examples described above.

[0172] However, in order for the applet and the target applet to share the recovery key (830) and the authentication key (840) as in the present disclosure, regardless of the time of key injection, the entities installing the applet (850) and / or the target applet (860) (e.g., the SE manufacturer's server (e.g., the chipset manufacturer's server (800)) and the electronic device manufacturer's server (810)) may need to be able to generate the recovery key (830) and the authentication key (840). To this end, the chipset manufacturer's server (800) and the electronic device manufacturer's server (810) may share the same master key and generate the recovery key (830) and the authentication key (840) based on the same key derivation function.

[0173] According to one embodiment, a server (800) of a chipset manufacturer and a server (810) of an electronic device manufacturer may share a master key (820) through a key ceremony. The server (800) of the chipset manufacturer and the server (810) of the electronic device manufacturer may generate a recovery key (830) and an authentication key (840) based on the master key (820). A key derivation function for deriving the recovery key (830) from the master key (820) and a key derivation function for deriving the authentication key (840) from the master key may be different. The server (800) of the chipset manufacturer and the server (810) of the electronic device manufacturer may generate the recovery key (830) using the same key derivation function. The server (800) of the chipset manufacturer and the server (810) of the electronic device manufacturer may generate the authentication key (840) using the same key derivation function.

[0174] In one embodiment, a recovery key (830) and an authentication key (840) may be generated from a single master key (e.g., master key (820)). However, by performing the key ceremony twice, the recovery key (830) may be generated based on a first master key shared between a chipset manufacturer's server (800) and an electronic device manufacturer's server (810), and the authentication key (840) may be generated based on a second master key.

[0175] In one embodiment, it is assumed that the injection of the recovery key (830) and the authentication key (840) for the target applet (860) is performed during the chipset process (e.g., pre-load), and the injection of the recovery key (830) and the authentication key (840) for the applet (850) is performed after the SE is delivered to the manufacturer of the electronic device. Although the injection of the recovery key (830) and the authentication key (840) for the target applet (860) and the applet (850) are performed at different times, the chipset manufacturer's server (800) and the electronic device manufacturer's server (810) can share the same master key (820) through a key ceremony and generate the recovery key and the authentication key using the same key derivation function. Therefore, the applet (850) and the target applet (860) can each include a first recovery key and a second recovery key in a symmetric key relationship. The applet (850) and the target applet (860) may each include a first authentication key and a second authentication key in a symmetric key relationship.

[0176] According to one embodiment, the server (810) of the electronic device manufacturer and the server of the service provider (e.g., a credit card service provider, a transportation card service provider, an access card service provider, etc.) can share a master key through a key ceremony. The server of the electronic device manufacturer can provide a target applet. The server of the service provider can provide an applet. The method by which the server of the electronic device manufacturer (810) and the server of the service provider generate a recovery key and an authentication key and inject them into the applet and the target applet has been described above and thus a detailed description thereof may not be repeated.

[0177] Below, we will explain the case where SE is not included in the electronic device.

[0178] FIG. 9 is a block diagram illustrating exemplary operations of SE according to various embodiments.

[0179] Referring to FIG. 9, an NFC card (near field communication card) (900) is illustrated as an example of a case where the SE (910) (e.g., SE (210) of FIG. 2 and SE (410) of FIG. 4) (e.g., a security element) is not included in an electronic device (e.g., electronic device (101) of FIG. 1 and electronic device (200) of FIG. 2). However, this is merely an example and the present disclosure is not limited thereto. For example, it will be apparent to those skilled in the art that the following description can be equally applied to a case where the SE (910) is not included in an electronic device.

[0180] According to one embodiment, an NFC card (900) may include an SE (910). The SE (910) may include at least one processor (912) (e.g., including a processing circuit) (e.g., the processor (212) of FIG. 2)) and a memory (914) (e.g., the memory (214) of FIG. 2).

[0181] In one embodiment, the external electronic device (920) may be a device that interacts with the NFC card (900). For example, the external electronic device may be a reader of the NFC card (900). The external electronic device (920) may include at least one processor (930) (e.g., including a processing circuit) (e.g., the processor (120) of FIG. 1 and the host processor (202) of FIG. 2) and an NFC device (e.g., including a circuit) (940). The at least one processor (930) may control the operation of the external electronic device (920) and may control the NFC device (940).

[0182] According to one embodiment, an NFC device (940) may include an NFC communication module (e.g., including communication circuitry) (942) and an NFC antenna (944). The NFC device (940) may communicate with an NFC card (900). The NFC communication module (942) may include communication circuitry for performing NFC with the NFC card (900). The NFC communication module (942) may communicate with the NFC card wirelessly via the NFC antenna (944).

[0183] According to one embodiment, communication can be performed when an external electronic device (920) and an NFC card (900) are placed adjacent to each other. When an NFC device (940) and an NFC card (900) are placed adjacent to each other, the NFC device (940) generates a magnetic field, and the current induced by the magnetic field generation supplies power to the NFC card (900), thereby allowing data transmission between the NFC device (940) and the NFC card (900).

[0184] According to one embodiment, when the NFC device (940) and the NFC card (900) transmit and / or receive data, the operations of FIGS. 5, 6, and 7 may be performed at the SE (910) of the NFC card (900). For example, data transmission between the NFC device (940) and the NFC card (900) may act as a trigger to cause the SE (910) to perform the operations of FIGS. 5, 6, and 7. For example, supplying power to the NFC card (900) may act as a trigger to cause the SE (910) to perform the operations of FIGS. 5, 6, and 7. However, this is merely an example and the present disclosure is not limited thereto.

[0185] According to one embodiment, when the operation of SE (910) is triggered, instructions stored in memory (914) may be executed by at least one processor (912). When at least one processor (912) individually and / or collectively executes instructions, the instructions may cause the SE (910) to request a target applet (e.g., target applet (303) of FIG. 3, target applet (440) of FIG. 4, target applet (503) of FIG. 5, target applet (603) of FIG. 6, and target applet (860) of FIG. 8)) that the applet (e.g., applet (301) of FIG. 3, first applet (430) of FIG. 4, applet (501) of FIG. 5, applet (601) of FIG. 6, and applet (850) of FIG. 8) wants to use from the OS of the SE (910) (e.g., OS (302) of FIG. 3, OS (420) of FIG. 4, OS (502) of FIG. 5, and OS (602) of FIG. 6). When at least one processor (912) individually and / or collectively executes the instructions, the instructions may cause the SE (910) to provide an instance to the applet in response to a request for the target applet. When at least one processor (912) individually and / or collectively executes the instructions, the instructions may cause the SE (910) to generate authentication data for the target applet from the applet and transmit it to the target applet. When at least one processor (912) individually and / or collectively executes the instructions, the instructions may cause the SE (910) to verify the authentication data from the target applet to determine whether to provide the applet with the functionality of the target applet.

[0186] The detailed description of the operations of the above-described SE (910) has been described in FIGS. 1, 2, 3, 4, 5, 6, 7, and 8, and may not be repeated here.

[0187] FIG. 10 is a flowchart illustrating exemplary operations of an electronic device according to various embodiments.

[0188] In the embodiments below, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel. Operations (1010) to (1040) may be performed by at least one component of an electronic device (e.g., the electronic device (101) of FIG. 1 and the electronic device (200) of FIG. 2). For example, instructions stored in a memory (e.g., the memory (214) of FIG. 2 and the memory (914) of FIG. 9) may be executed by at least one processor (e.g., the processor (212) of FIG. 2 and the processor (912) of FIG. 9), and the instructions may cause the electronic device to perform the operations (1010) to (1040) below.

[0189] In operation (1010), the electronic device may request a target applet (e.g., target applet (303) of FIG. 3, target applet (440) of FIG. 4, target applet (503) of FIG. 5, target applet (603) of FIG. 6, and target applet (860) of FIG. 8) to be used by an applet (e.g., applet (301) of FIG. 3, first applet (430) of FIG. 4, applet (501) of FIG. 5, applet (601) of FIG. 6, and applet (850) of FIG. 8) to an OS (e.g., OS (302) of FIG. 3, OS (420) of FIG. 4, OS (502) of FIG. 5, and OS (602) of FIG. 6) of a secure element (e.g., SE (210) of FIG. 2, SE (410) of FIG. 4, and SE (910) of FIG. 9).

[0190] In operation (1020), the electronic device may provide an instance of the applet in response to a request for a target applet.

[0191] In operation (1030), the electronic device can generate authentication data for the target applet from the applet and transmit it to the target applet.

[0192] In operation (1040), the electronic device can verify authentication data from the target applet to determine whether to provide the applet with the functionality of the target applet.

[0193] The description of the operations (1010) to (1040) has been described in detail in FIGS. 1, 2, 3, 4, 5, 6, 7, 8, and 9, and the detailed description may not be repeated here.

[0194] According to one embodiment, an electronic device may include at least one host processor (e.g., processor 120 of FIG. 1 and host processor 202 of FIG. 2). The electronic device may include a secure element electrically connected to the at least one host processor. The secure element may include a memory (e.g., memory 214 of FIG. 2 and memory 914 of FIG. 9) that stores instructions. The secure element may include at least one processor (e.g., processor 212 of FIG. 2 and processor 912 of FIG. 9) that executes instructions. When the at least one processor individually and / or collectively executes instructions, the instructions may cause the electronic device to request a target applet that the applet intends to use from the OS of the secure element. When the at least one processor individually and / or collectively executes instructions, the instructions may cause the electronic device to provide an instance as the applet in response to the request for the target applet. When at least one processor individually and / or collectively executes instructions, the instructions may cause the electronic device to generate authentication data for the target applet from the applet and transmit the authentication data to the target applet. When at least one processor individually and / or collectively executes instructions, the instructions may cause the electronic device to verify the authentication data from the target applet to determine whether to provide the applet with the functionality of the target applet.

[0195] In one embodiment, when at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to generate authentication data based on a first authentication value (e.g., the first authentication value (432) of FIG. 4) using a first authentication key (e.g., the first authentication key (436) of FIG. 4) in an applet. When at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to update the first authentication value with the authentication data.

[0196] According to one embodiment, when at least one processor individually and / or collectively executes instructions, the instructions may cause the electronic device to generate a MAC value for a first authentication value using a first authentication key. When at least one processor individually and / or collectively executes instructions, the instructions may cause the electronic device to determine the MAC value as authentication data.

[0197] In one embodiment, the applet may include a first authentication key used to generate authentication data. The applet may include a first recovery key (e.g., the first recovery key (434) of FIG. 4) used to generate recovery data in the event of a verification failure. The applet may include a first authentication value that is updated with authentication data generated by the first authentication key.

[0198] In one embodiment, the target applet may include a second authentication key (e.g., the second authentication key (446) of FIG. 4) for verifying authentication data. The target applet may include a second recovery key (e.g., the second recovery key (444) of FIG. 4) for verifying recovery data generated from the applet when verification fails. The target applet may include a second authentication value (e.g., the second authentication value (442) of FIG. 4) that is updated with the authentication data when verification of the authentication data is successful.

[0199] According to one embodiment, when at least one processor individually and / or collectively executes instructions, the instructions may cause the electronic device to verify authentication data in a target applet based on a second authentication key and a second authentication value included in the target applet.

[0200] According to one embodiment, when at least one processor individually and / or collectively executes instructions, the instructions may cause the electronic device to, if verification is successful, cause the target applet and the applet to share SIO.

[0201] In one embodiment, when at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to generate a specific value from the target applet and transmit it to the applet if verification fails. When at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to generate recovery data based on the specific value using the first recovery key from the applet. When at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to regenerate authentication data from the specific value or recovery data from the applet based on the first authentication key included in the applet. When at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to transmit the regenerated authentication data and recovery data to the target applet.

[0202] In one embodiment, when at least one processor individually and / or collectively executes instructions, the instructions may cause the electronic device to receive regenerated authentication data and recovery data from the target applet. When at least one processor individually and / or collectively executes instructions, the instructions may cause the electronic device to determine whether to provide the target applet with the functionality of the applet based on verification of the recovery data from the target applet.

[0203] In one embodiment, when at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to verify recovery data based on a second recovery key and a specific value that verify the recovery data in the target applet. When at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to update a second authentication value included in the target applet with a specific value or recovery data if the verification of the recovery data is successful. When at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to verify the regenerated authentication data with the second authentication key and the updated second authentication value to determine whether to provide the applet with the functionality of the target applet.

[0204] According to one embodiment, a secure element may include a memory that stores instructions. The secure element may include at least one processor that executes the instructions. When the at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to request a target applet that the applet intends to use from the operating system of the secure element. When the at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to provide an instance to the applet in response to the request for the target applet. When the at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to generate authentication data for the target applet from the applet and transmit it to the target applet. When the at least one processor individually and / or collectively executes the instructions, the instructions may cause the electronic device to verify the authentication data from the target applet to determine whether to provide the applet with the functionality of the target applet.

[0205] According to one embodiment, the operating method of an electronic device may include an operation of requesting a target applet that an applet intends to use from an OS of a secure element. The operating method may include an operation of providing an instance of the applet in response to the request for the target applet. The operating method may include an operation of generating authentication data for the target applet from the applet and transmitting the generated authentication data to the target applet. The operating method may include an operation of verifying the authentication data from the target applet to determine whether to provide the applet with the functionality of the target applet.

[0206] In one embodiment, the action passed to the target applet may include the action of generating authentication data based on a first authentication value using a first authentication key in the applet. The action passed to the target applet may include the action of updating the first authentication value with the authentication data.

[0207] In one embodiment, the target applet may include a second authentication key for verifying authentication data. The target applet may include a second recovery key for verifying recovery data generated from the applet if verification fails. The target applet may include a second authentication value that is updated with the authentication data if verification of the authentication data is successful.

[0208] In one embodiment, the target applet may include a second authentication key for verifying authentication data. The target applet may include a second recovery key for verifying recovery data generated from the applet if verification fails. The target applet may include a second authentication value that is updated with the authentication data if verification of the authentication data is successful.

[0209] According to one embodiment, the operation of verifying authentication data to determine whether to provide the functionality of the target applet to the applet may verify the authentication data based on a second authentication key for verifying the authentication data in the target applet and a second authentication value included in the target applet.

[0210] According to one embodiment, the method of operation may further include an operation in which the target applet and the applet share SIO if the verification is successful.

[0211] According to one embodiment, the method of operation may further include generating a specific value from the target applet and transmitting it to the applet if verification fails. The method of operation may further include generating recovery data based on the specific value using the first recovery key in the applet. The method of operation may further include regenerating authentication data from the specific value or recovery data based on the first authentication key included in the applet in the applet. The method of operation may further include transmitting the regenerated authentication data and recovery data to the target applet.

[0212] According to one embodiment, the operating method may further include receiving regenerated authentication data and recovery data from the target applet. The operating method may further include determining whether to provide the target applet's functionality to the applet through verification based on the recovery data.

[0213] According to one embodiment, a non-transitory computer-readable recording medium can store one or more programs including instructions for executing any one of the above-described operating methods.

[0214] The various embodiments and drawings of the present disclosure disclosed herein are merely specific examples to easily explain the technical contents according to the embodiments of the present disclosure and to help understand the various embodiments of the present disclosure, and are not intended to limit the scope of the embodiments of the present disclosure. Therefore, all changes or modified forms derived based on the technical ideas of the various embodiments of the present disclosure and the various embodiments disclosed herein should be construed as being included within the scope of the present disclosure, including the appended claims and their equivalents. In addition, it should be understood that any embodiment(s) disclosed herein can be used in conjunction with any embodiment(s) disclosed herein.

Claims

In the electronic device (101; 200), At least one host processor (120; 202) comprising processing circuitry; and A security element (210; 410; 910) electrically connected to at least one host processor (120; 202) Including, The above security elements (210; 410; 910) are: At least one processor (212; 912) comprising a processing circuit; and Memory for storing commands (214; 914) Including, The at least one processor (212; 912) is individually and / or collectively configured to execute the instructions and cause the electronic device (101; 200) to: The applet (301; 430; 501; 601; 850) requests the target applet (303; 440; 503; 603; 860) to be used by the OS (302; 420; 502; 602) of the security element (210; 410; 910), In response to a request for the target applet (303; 440; 503; 603; 860), an instance is provided as the applet (301; 430; 501; 601; 850). Generate authentication data for the target applet (303; 440; 503; 603; 860) from the applet (301; 430; 501; 601; 850) and transmit it to the target applet (303; 440; 503; 603; 860), Verifying the authentication data in the target applet (303; 440; 503; 603; 860) to determine whether to provide the function of the target applet (303; 440; 503; 603; 860) to the applet (301; 430; 501; 601; 850). Electronic devices (101; 200). In the first paragraph, The at least one processor (212; 912) is individually and / or collectively configured to cause the electronic device (101; 200) to: In the above applet (301; 430; 501; 601; 850), the authentication data is generated based on the first authentication value (432) using the first authentication key (436), and the first authentication value (432) is updated with the authentication data. Electronic devices (101; 200). In any one of paragraphs 1 and 2, The at least one processor (212; 912) is individually and / or collectively configured to cause the electronic device (101; 200) to: Generating a MAC value for the first authentication value (432) using the first authentication key (436) and determining the MAC value as the authentication data. Electronic devices (101; 200). In any one of the first to third paragraphs, The above applet (301; 430; 501; 601; 850) is A first authentication key (436) configured to be used to generate the above authentication data, a first recovery key (434) configured to be used to generate recovery data based on a verification failure, and a first authentication value (432) updated with the authentication data generated by the first authentication key (436). including, Electronic devices (101; 200). In any one of the first to fourth paragraphs, The above target applet (303; 440; 503; 603; 860) is A second authentication key (446) configured to verify the authentication data, a second recovery key (444) configured to verify recovery data generated from the applet (301; 430; 501; 601; 850) based on a verification failure, and a second authentication value (442) configured to be updated with the authentication data based on a success of the verification of the authentication data. including, Electronic devices (101; 200). In any one of the first to fifth paragraphs, The at least one processor (212; 912) is individually and / or collectively configured to cause the electronic device (101; 200) to: A second authentication key (446) configured to verify the authentication data in the target applet (303; 440; 503; 603; 860) and a second authentication value (442) included in the target applet (303; 440; 503; 603; 860) are used to verify the authentication data. Electronic devices (101; 200). In any one of claims 1 to 6, The at least one processor (212; 912) is individually and / or collectively configured to cause the electronic device (101; 200) to: Based on the success of the verification, the target applet (303; 440; 503; 603; 860) and the applet (301; 430; 501; 601; 850) share SIO. Electronic devices (101; 200). In any one of the first to seventh paragraphs, The at least one processor (212; 912) is individually and / or collectively configured to cause the electronic device (101; 200) to: Based on a failure of verification, a specific value is generated in the target applet (303; 440; 503; 603; 860) and transmitted to the applet (301; 430; 501; 601; 850), recovery data based on the specific value is generated using a first recovery key (434) in the applet (301; 430; 501; 601; 850), and the authentication data is regenerated from the specific value or the recovery data in the applet (301; 430; 501; 601; 850) based on a first authentication key (436) included in the applet (301; 430; 501; 601; 850), and the regenerated authentication data and the recovery data are transmitted to the target applet (303; 440; 503; 603; 860) to be transmitted, Electronic devices (101; 200). In any one of claims 1 to 8, The at least one processor (212; 912) is individually and / or collectively configured to cause the electronic device (101; 200) to: Receiving the regenerated authentication data and the recovery data from the target applet (303; 440; 503; 603; 860), and determining whether to provide the function of the target applet (303; 440; 503; 603; 860) to the applet (301; 430; 501; 601; 850) through verification based on the recovery data from the target applet (303; 440; 503; 603; 860). Electronic devices (101; 200). In any one of claims 1 to 9, The at least one processor (212; 912) is individually and / or collectively configured to cause the electronic device (101; 200) to: In the target applet (303; 440; 503; 603; 860), the recovery data is verified based on the second recovery key (444) configured to verify the recovery data and the specific value, and when the verification of the recovery data is successful, the second authentication value (442) included in the target applet (303; 440; 503; 603; 860) is updated with the specific value or the recovery data, and the regenerated authentication data is verified with the second authentication key (446) and the updated second authentication value (442) to determine whether to provide the function of the target applet (303; 440; 503; 603; 860) to the applet (301; 430; 501; 601; 850). doing, Electronic devices (101; 200). In a method of operating an electronic device (101; 200), An action of requesting the target applet (303; 440; 503; 603; 860) that the applet (301; 430; 501; 601; 850) wants to use to the OS (302; 420; 502; 602) of the security element (210; 410; 910); An action of providing an instance to the applet (301; 430; 501; 601; 850) in response to a request for the target applet (303; 440; 503; 603; 860); An operation of generating authentication data for the target applet (303; 440; 503; 603; 860) in the applet (301; 430; 501; 601; 850) and transmitting the authentication data to the target applet (303; 440; 503; 603; 860); and An operation of verifying the authentication data in the target applet (303; 440; 503; 603; 860) to determine whether to provide the function of the target applet (303; 440; 503; 603; 860) to the applet (301; 430; 501; 601; 850). including, method. In Article 11, The action to be passed to the above target applet (303; 440; 503; 603; 860) is: An operation of generating the authentication data based on the first authentication value (432) using the first authentication key (436) in the above applet (301; 430; 501; 601; 850); and An operation of updating the first authentication value (432) with the above authentication data. including, method. In any one of the 11th and 12th clauses, The above applet (301; 430; 501; 601; 850) is A first authentication key (436) used to generate the above authentication data, a first recovery key (434) used to generate recovery data based on a verification failure, and a first authentication value (432) updated with the authentication data generated by the first authentication key (436). including, including, method. In any one of Articles 11 to 13, The above target applet (303; 440; 503; 603; 860) is A second authentication key (446) for verifying the authentication data, the second recovery key (444) for verifying the recovery data generated from the applet (301; 430; 501; 601; 850) based on a verification failure, and a second authentication value (442) updated with the authentication data based on a success of the verification of the authentication data. including, method. In any one of Articles 11 to 14, The operation of verifying the above authentication data and determining whether to provide the function of the target applet (303; 440; 503; 603; 860) to the applet (301; 430; 501; 601; 850) is as follows: The authentication data is verified based on a second authentication key (446) for verifying the authentication data in the target applet (303; 440; 503; 603; 860) and a second authentication value (442) included in the target applet (303; 440; 503; 603; 860). method.

Citation Information

Patent Citations

  • Method for controlling applet access and device therefor, and system

    KR1020140013639A

  • Application access control method and electronic device implementing the same

    KR1020140112399A

  • Systems, methods, and non-transitory computer-readable medium for securely managing data on a secure element

    KR1020160055280A

  • Method and system for Non-Line of Sight determination in a wireless network

    KR1020220149437A

  • Applet-based account security protection method and system

    US20200257780A1