WO2021040205A1 - 전자 디바이스 및 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법 - Google Patents

전자 디바이스 및 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법 Download PDF

Info

Publication number
WO2021040205A1
WO2021040205A1 PCT/KR2020/007600 KR2020007600W WO2021040205A1 WO 2021040205 A1 WO2021040205 A1 WO 2021040205A1 KR 2020007600 W KR2020007600 W KR 2020007600W WO 2021040205 A1 WO2021040205 A1 WO 2021040205A1
Authority
WO
WIPO (PCT)
Prior art keywords
target device
key
electronic device
remote control
encryption
Prior art date
Application number
PCT/KR2020/007600
Other languages
English (en)
French (fr)
Inventor
정수연
안드리에이에브올렉산드르
이민규
윤강진
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to KR1020217043387A priority Critical patent/KR20220051306A/ko
Publication of WO2021040205A1 publication Critical patent/WO2021040205A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Definitions

  • It relates to a method for an electronic device to transmit a control command to a target device, and specifically, a method for an electronic device to safely transmit a remote control command to a target device using a digital key, and It relates to an electronic device that performs this method.
  • a digital key is integrated into a mobile device, for example, a smart phone using wireless communication technologies such as NFC (Near Field Communication), Bluetooth, and UWB (Ultra Wide Band).
  • NFC Near Field Communication
  • Bluetooth Bluetooth
  • UWB Ultra Wide Band
  • a user remote from the target device may need to remotely control the target device using an electronic device close to the user.
  • the target device is a device that controls a car
  • the user tries to open the door of the car remotely using an electronic device, to start the car's air conditioner, to preheat the car's engine, or to park the car. If so, there is a need for a method for an electronic device to safely and quickly transmit such remote control commands to a vehicle.
  • a method of transmitting a control command from an electronic device to a target device includes: obtaining information related to encryption based on a mutual authentication process between the electronic device and the target device; Transferring information related to the encryption from a digital key applet installed on a secure element of the electronic device to a framework; Encrypting a remote control command using the encryption-related information; And transmitting the encrypted remote control command to the target device.
  • a method of transmitting a control command from an electronic device to a target device includes: obtaining a remote control command; Transmitting a remote control command to the target device; And performing mutual authentication between the electronic device and the target device so that the target device can verify the remote control command, wherein the performing of the mutual authentication comprises: Receiving an instruction requesting a signature of the electronic device for the electronic device; And transmitting a response including the signature of the electronic device to the remote control command to the target device.
  • FIG. 1 is a diagram illustrating a method of remotely controlling a vehicle using telematics in general.
  • FIG. 2 is a flowchart of a method in which an electronic device transmits a remote control command to a vehicle using BLE communication in general.
  • FIG. 3 shows a configuration of a vehicle remote control system according to an embodiment of the present disclosure.
  • 4A is a diagram illustrating a process of providing a remote control service by a vehicle remote control system according to an embodiment of the present disclosure.
  • 4B is a diagram illustrating a process of providing a remote control service by a vehicle remote control system according to an embodiment of the present disclosure.
  • FIG. 5 is a flowchart illustrating a method of transmitting, by an electronic device, a control command to a target device according to an embodiment of the present disclosure.
  • FIG. 6 is a flowchart of a method in which a target device operates according to a remote control command according to an embodiment of the present disclosure.
  • FIG. 7 illustrates an example of a method for an electronic device to transmit a control command to a target device according to an embodiment of the present disclosure.
  • FIG. 8 illustrates an example of a method for an electronic device to transmit a control command to a target device according to an embodiment of the present disclosure.
  • FIG. 9 is a flowchart illustrating a method of obtaining, by an electronic device, an encryption key from a target device according to an embodiment of the present disclosure.
  • FIG. 10 illustrates the structure of a mail box in a digital key applet, which an electronic device uses to store an encryption key according to an embodiment of the present disclosure.
  • FIG. 11 is a flowchart of a method of obtaining, by an electronic device, a symmetric long term key according to an embodiment of the present disclosure.
  • FIG. 12 illustrates another example of a method for an electronic device to transmit a control command to a target device according to an embodiment of the present disclosure.
  • FIG. 13 is a flowchart of a method for obtaining a session key by an electronic device according to an embodiment of the present disclosure.
  • FIG. 14 is a flowchart illustrating a method of obtaining an encryption key by using information exchanged during a mutual authentication process by an electronic device according to an embodiment of the present disclosure.
  • 15 illustrates another example of a method for an electronic device to transmit a control command to a target device according to an embodiment of the present disclosure.
  • FIG. 16 illustrates the structure of a mail box in a digital key applet, which an electronic device uses to store remote control commands according to an embodiment of the present disclosure.
  • FIG. 17 illustrates another example of a method for an electronic device to transmit a remote control command to a target device according to an embodiment of the present disclosure.
  • FIG. 18 illustrates another example of a method for an electronic device to transmit a control command to a target device according to an embodiment of the present disclosure.
  • 19 is a block diagram of an electronic device according to an embodiment of the present disclosure.
  • FIG. 20 shows a block diagram of a security element according to an embodiment of the present disclosure.
  • 21 is a block diagram of a target device according to an embodiment of the present disclosure.
  • a method by which an electronic device can safely and quickly transmit remote control commands to a target device is provided.
  • An aspect of the present disclosure is a method of transmitting a control command to a target device by an electronic device, the method comprising: acquiring encryption-related information based on a mutual authentication process between the electronic device and the target device; Transferring information related to the encryption from a digital key applet installed on a secure element of the electronic device to a framework; Encrypting a remote control command using the encryption-related information; And transmitting the encrypted remote control command to the target device.
  • further comprising performing mutual authentication between the electronic device and the target device comprising: a temporary public key (ephemeral public key) of the target device from the target device. key, epk); Passing the temporary public key of the electronic device to the target device; Receiving, from the target device, first data signed with a private key of the target device in information including the temporary public key of the target device and the temporary public key of the electronic device; Verifying the first data using the public key of the target device; And transmitting, to the target device, second data signed with the secret key of the electronic device in information including the temporary public key of the target device and the temporary public key of the electronic device. have.
  • a temporary public key ephemeral public key
  • obtaining the encryption-related information in an embodiment of the present disclosure includes obtaining an encryption key (Krke) by using the temporary public key of the target device and the temporary secret key of the electronic device. To do, can provide a way.
  • Krke an encryption key
  • the obtaining of the encryption-related information includes: receiving a request for generating an encryption key from the target device; And obtaining the encryption key based on the generation request.
  • the step of obtaining the encryption-related information may include a first mutual authentication process from a command received from the target device during a mutual authentication process between the electronic device and the target device. Identifying a parameter indicating authentication; It is possible to provide a method comprising the step of obtaining an encryption key based on the identified parameter.
  • the obtaining of the encryption-related information may include performing mutual authentication between the electronic device and the target device; And obtaining an encryption key from the target device by using the secure channel generated by the mutual authentication.
  • the step of transferring the encryption-related information from the digital key applet to the framework includes the encryption from the digital key applet to a Trusted Execution Environment (TEE) within the framework. And transmitting information related to the remote control command, wherein the encrypting the remote control command includes encrypting the remote control command using the information related to the encryption in the trusted execution environment.
  • TEE Trusted Execution Environment
  • a method may be provided, further comprising the step of obtaining the remote control command generated in the framework or another application based on a user input.
  • a method may be provided, further comprising receiving information related to a state of the target device from the target device that has performed an operation corresponding to the encrypted remote control command.
  • the method further comprises generating a symmetric long-term key (Symmetric_LTS), and includes information related to the encryption.
  • Symmetric_LTS a symmetric long-term key
  • the obtaining step includes obtaining a nonce generated in the mutual authentication process, and the encrypting the remote control command includes obtaining an encryption key using the nonce and the symmetric long term key. The step of doing; And encrypting the remote control command using the encryption key.
  • the obtaining of the encryption-related information may include performing mutual authentication between the electronic device and the target device; Receiving a request for generating an encryption key from the target device; Generating the encryption key using the temporary public key of the target device received in the mutual authentication process based on the encryption key generation request on the digital key applet; Receiving a request for generating a session key including a nonce from the target device; And acquiring the session key using the nonce and the encryption key on the digital key applet based on the request for generating the session key, and transmitting information related to the encryption includes the digital key It is possible to provide a method comprising passing the session key from an applet to the framework.
  • Another aspect of the present disclosure provides a method for an electronic device to transmit a control command to a target device, the method comprising: obtaining a remote control command; Transmitting a remote control command to the target device; And performing mutual authentication between the electronic device and the target device so that the target device can verify the remote control command, wherein the performing of the mutual authentication comprises: Receiving an instruction requesting a signature of the electronic device for the electronic device; And transmitting a response including the signature of the electronic device to the remote control command to the target device.
  • Another aspect of the present disclosure is an electronic device, comprising: a security element in which a digital key applet for managing a digital key is installed; A communication unit that communicates with the target device; And at least one processor connected to the secure element and executing program instructions stored in a memory, wherein the at least one processor includes information related to encryption based on a mutual authentication process between the electronic device and the target device. And transmits the encryption-related information from the digital key applet to the framework, encrypts a remote control command using the encryption-related information, and sends the encrypted remote control command through the communication unit to the target device It is possible to provide an electronic device characterized in that the delivery to the.
  • an electronic device comprising: a security element in which a digital key applet for managing a digital key is installed; A communication unit that communicates with the target device; And at least one processor connected to the secure element and executing program instructions stored in a memory, wherein the at least one processor obtains a remote control command, transmits a remote control command to the target device, and To perform mutual authentication between the electronic device and the target device so that the target device can verify the remote control command, and to perform the mutual authentication, a signature of the electronic device for the remote control command from the target device It is possible to provide an electronic device, characterized in that receiving a request command and transmitting a response including a signature of the electronic device to the remote control command to the target device.
  • first and second may be used to describe various components, but the components should not be limited by these terms. These terms are used to distinguish one component from another.
  • digital key means a digitized virtual key, and a user can control a device or access a device by using the digital key.
  • the present disclosure relates to a method of managing a digital key.
  • digital key may be referred to as “key”, “encryption key”, “session key”, and the like.
  • An embodiment of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented with various numbers of hardware and/or software components that perform specific functions.
  • the functional blocks of the present disclosure may be implemented by one or more microprocessors, or may be implemented by circuit configurations for a predetermined function.
  • the functional blocks of the present disclosure may be implemented in various programming or scripting languages. Functional blocks may be implemented as an algorithm executed on one or more processors.
  • the present disclosure may employ conventional techniques for electronic environment setting, signal processing, and/or data processing.
  • connecting lines or connecting members between the components shown in the drawings are merely illustrative of functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that can be replaced or added.
  • MAC medium access control
  • D2D device-to-device
  • D2D communication refers to a method in which electronic devices that are geographically close directly communicate without going through an infrastructure such as a base station. Electronic devices can communicate 1:1, 1:many, and many:many. D2D communication can use unlicensed frequency bands such as UWB (Ultra Wide Band), Wi-Fi Direct, Bluetooth, and Bluetooth Low Energy (BLE). Alternatively, D2D communication may improve the frequency use efficiency of the cellular system by utilizing the licensed frequency band. D2D communication is a term referring to communication between things and things or intelligent communication of things, but D2D communication in the present disclosure is not only a simple electronic device equipped with a communication function, but also a communication function such as a smart phone or a personal computer. Communication between various types of electronic devices may be included.
  • UWB Ultra Wide Band
  • Wi-Fi Direct Wireless Fidelity
  • Bluetooth Bluetooth Low Energy
  • BLE Bluetooth Low Energy
  • D2D communication may improve the frequency use efficiency of the cellular system by utilizing the licensed frequency band.
  • D2D communication is
  • the present disclosure is a technology related to a remote key operation using a digital key.
  • the remote key operation means that the user remotely controls the target device using an electronic device close to the user. For example, if the target device is a device that controls a vehicle, the user transmits a remote control command to the target device through an electronic device to remotely open the door of the vehicle, operate the air conditioner of the vehicle, or operate the vehicle's engine. You can preheat or park your car.
  • the electronic device can safely transmit the remote control command to the target device by using the digital key stored in the secure element.
  • FIGS. 1 and 2 a general scheme that can be used by an electronic device to transmit a remote control command to a target device will be described.
  • FIG. 1 is a diagram illustrating a method of remotely controlling a vehicle using telematics in general.
  • the owner of the vehicle 103 can use Telematics to remotely control the vehicle 103 using a nearby electronic device 101.
  • the owner of the vehicle 103 may request remote control from the service center 102 of an original equipment manufacturer (OEM) of the vehicle (eg, an automobile manufacturer) through the electronic device 101.
  • the electronic device 101 may request remote control from the OEM service center 102 of the vehicle based on an owner's user input received through an application or a service center phone.
  • the OEM service center 102 of the vehicle that has received a request for remote control from the owner may transmit a remote control command to the vehicle 103 through telematics.
  • OEM original equipment manufacturer
  • the telematics-based vehicle remote control method illustrated in FIG. 1 has an advantage in that service coverage is wide. For example, with telematics technology, an owner at a company can control a car at home. On the other hand, the telematics-based vehicle remote control method has a disadvantage in that latency may occur. Therefore, it is unlikely that a telematics-based remote control method will be utilized for an operation with a high risk of accidents due to delay, such as remote parking. Accordingly, as described later, a method of transmitting a remote control command to the vehicle by the electronic device using BLE communication may also be considered.
  • FIG. 2 is a flowchart of a method in which an electronic device transmits a remote control command to a vehicle using BLE communication in general.
  • the electronic device 101 and the vehicle 103 may communicate using a BLE communication method.
  • the electronic device 101 may transmit a remote control service request (RKE Request) message to the vehicle 103 together with the digital key for the vehicle 103.
  • RKE Request remote control service request
  • the electronic device 101 may transmit a message requesting a remote control service that allows a user to remotely open a door of the vehicle 103.
  • the vehicle 103 may identify the key identifier included in the remote control service request message.
  • the vehicle 103 may generate arbitrary data using a challenge of the vehicle 103 and an operation requested from the vehicle 103.
  • the vehicle 103 may transmit a signature request for information including a key identifier and arbitrary data to the electronic device 101.
  • the electronic device 101 may check whether there is user approval for the remote control service request.
  • step S211 the electronic device 101 signs the information received from the vehicle 103 using the secret key (SK) (or private key) of the electronic device 101.
  • SK secret key
  • the framework 105 of the electronic device 101 may select a digital key applet corresponding to the vehicle 103 from the secure element 107 and transmit a sign request to the secure element 107.
  • step S213 the electronic device 101 may transmit the signed information from the security element 107 to the vehicle 103.
  • step S215 the vehicle 103 may transmit a response indicating that the signed information has been received to the electronic device 101.
  • step S217 the vehicle 103 may validate the signature of the electronic device 101, and in step S219, the vehicle 103 may change the state of the vehicle 103 to unlock. In step S221, the vehicle 103 may transmit a result that the ranging session state is changed to'vehicle_unlocked' to the electronic device 101.
  • the BLE-based vehicle remote control method shown in FIG. 2 has a disadvantage in that a delay may occur, similar to the telematics technology. Because, as shown in FIG. 2, the electronic device 101 accesses the secure element 107 and uses the digital key stored in the secure element 107 whenever transmitting a remote control command to the vehicle 103. To sign. That is, in order to prevent a replay attack by another device, the electronic device 101 must repeat the operation of step S211 of FIG. 2 each time a remote control command is transmitted. Therefore, it is unlikely that the remote control method shown in FIG. 2 will be utilized for an operation having a high risk of an accident due to delay, such as remote parking.
  • various embodiments of the present disclosure provide a method capable of continuously and rapidly transmitting a remote control command.
  • various embodiments capable of safely and quickly transmitting a remote control command will be described in detail with reference to FIGS. 3 to 21.
  • FIG. 3 shows a configuration of a vehicle remote control system according to an embodiment of the present disclosure.
  • the electronic device 300 and the vehicle 400 included in the vehicle remote control system provide a remote key service by including a UWB module and a BLE module. can do.
  • the vehicle 400 may mean a vehicle including an electronic control device, but is not limited thereto.
  • the automobile 400 may refer to a separate electronic device that is distinguished from the automobile.
  • the vehicle 400 may refer to an electronic device mounted on a vehicle, connected to a vehicle, included in a vehicle, or controlling a vehicle.
  • the vehicle 400 may mean a vehicle console, a vehicle key system, a terminal mounted on a vehicle, or a vehicle electrical system.
  • a vehicle 400 for convenience of description, it is referred to as a vehicle 400.
  • the remote key service may securely transmit a remote key command input through the electronic device 300 by a user to the vehicle 400 through a BLE connection between the electronic device 300 and the vehicle 400.
  • the remote key command input by the user may include remotely opening a door of a vehicle, remotely starting a vehicle, or remotely parking a vehicle.
  • the system may include an electronic device 300 and an automobile 400.
  • the electronic device 300 and the vehicle 400 may communicate using BLE and/or UWB.
  • the electronic device 300 may be implemented in various forms.
  • the electronic device 300 includes a smart TV, a set-top box, a mobile phone, a tablet PC, a digital camera, a laptop computer, a desktop, an e-book terminal, a digital broadcasting terminal, personal digital assistants (PDAs), and PMPs. (Portable Multimedia Player), navigation, MP3 player, wearable device, and the like.
  • PDAs personal digital assistants
  • PMPs Portable Multimedia Player
  • navigation MP3 player
  • wearable device and the like.
  • a vehicle OEM application 330, a native application 340, and a framework 310 provided by an automobile manufacturer may be installed, and the security element 320 , A BLE communication module 350, and a UWB communication module 360.
  • the configuration of the electronic device 300 is not limited to the example illustrated in FIG. 3, and may include more or fewer configurations than the configuration illustrated in FIG. 3.
  • the framework 310 may refer to a software and/or hardware environment that provides a function in which a mobile application can operate in the form of an application programming interface (API).
  • API application programming interface
  • the framework 310 may provide a digital key service to an entity existing in an area other than a security entity.
  • the framework 310 may be implemented by being included in an operating system, or may be implemented as software separate from the operating system.
  • the framework 310 may provide a digital key service.
  • the framework 310 provides an API that can be accessed by an external entity (eg, a provision server, an OEM backend server, a service provider server, etc.)
  • functions such as access control and command conversion for access to the security element 320 may be provided.
  • the security element 320 is an independent secure storage device of the electronic device 300 and is a security area in which only authenticated applications can access.
  • the security element 320 may include an embedded Secure Element (eSE), a Secure Digital Card (SD Card), a Strong box, a Security Unity, a Universal Integrated Circuit Card (UICC), or an embedded UICC (eUICC). have.
  • the electronic device 300 may exchange encrypted application protocol data units (APDUs) with the vehicle 400 using the BLE communication module 350.
  • the electronic device 300 may perform security ranging with the target device 700 using the UWB communication module 360.
  • a digital key may be used for transmission and reception of encrypted data and security ranging.
  • an applet (or code, application) for digital key management may be installed.
  • a digital key applet 321 may be installed.
  • the digital key applet 321 is installed in a security unit including a secure element, an embedded secure element, a strong box, or a security unit. It can mean an application to be used.
  • the digital key applet 321 may issue and store a digital key. More specifically, the digital key applet 321 may generate a digital key by receiving a digital key generation request from the framework 310. According to an embodiment, the digital key applet 321 may store a mailbox, which is a storage structure for storing specialized information for each digital key.
  • the framework 310 may provide a Trusted Execution Environment (TEE) 311 provided by a separate and independent security area.
  • the electronic device 300 may enhance security of remote control by encrypting a remote control command in the TEE 311 and transmitting it to the vehicle 400.
  • TEE Trusted Execution Environment
  • various embodiments of the present disclosure are not limited to the structure illustrated in FIG. 3, and a framework 310 that does not provide the TEE 311 may be used.
  • 4A illustrates a process of creating a remote control service session by a vehicle remote control system according to an embodiment of the present disclosure.
  • 4B is a diagram illustrating a process of providing a remote control service by a vehicle remote control system according to an embodiment of the present disclosure.
  • the electronic device 300 may perform a transaction with the vehicle 400.
  • the digital key applet 321 of the electronic device 300 and the vehicle 400 may perform a mutual authentication procedure using a digital key through a transaction.
  • a transaction may include a standard transaction or a fast transaction.
  • the transaction may mean a mutual authentication procedure using a digital key between the vehicle 400 and the digital key applet 321 of the electronic device 300 defined in the CCC (Car Connectivity Consortium) standard.
  • CCC Car Connectivity Consortium
  • the digital key applet 321 may derive a remote control service session key (RKE session key).
  • RKE session key may mean a service provided by a vehicle that can be used through remote control.
  • the remote control service may also be referred to as a remote key entry (RKE).
  • the electronic device 300 may obtain a session key for a remote control service from the digital key applet 321 to the framework 310.
  • the electronic device 300 may encrypt a remote control command including a user input and commands using a session key for a remote control service.
  • the electronic device 300 may transmit an encrypted remote control command to the vehicle 400.
  • an entity that relays in the middle (for example, the framework 310) Etc.) may be present.
  • the intermediate entity may be omitted and only the final end may be used for explanation.
  • the electronic device 300 includes information related to encryption stored in the digital key applet 321 (eg, a session key for a remote control service, an encryption key, etc.). ) From the digital key applet 321 in the secure element 320 to the framework 310, a plurality of remote control commands can be continuously and quickly encrypted and transmitted.
  • the digital key applet 321 eg, a session key for a remote control service, an encryption key, etc.
  • the electronic device 101 accesses the secure element 107 each time it transmits a remote control command to the vehicle 103, and uses a digital key stored in the secure element 107. I had to sign it.
  • the framework 310 may encrypt a plurality of remote control commands using information related to encryption brought from the digital key applet 321. have. Accordingly, according to an embodiment of the present disclosure, it is not necessary to access the secure element 320 every time the electronic device 300 transmits a plurality of remote control commands.
  • the vehicle 400 may be a device that controls at least some functions of the vehicle.
  • the various embodiments of the present disclosure are not limited to the electronic device 300 communicating with the vehicle 400.
  • the electronic device 300 may communicate with various target devices and transmit a remote control command.
  • the target device may be implemented in various forms.
  • target devices include smart TVs, set-top boxes, mobile phones, automobiles, tablet PCs, digital cameras, laptop computers, desktops, e-book terminals, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs ( Portable Multimedia Player), navigation, MP3 player, wearable device, and the like.
  • PDAs Personal Digital Assistants
  • PMPs Portable Multimedia Player
  • navigation MP3 player
  • wearable device wearable device, and the like.
  • the target device is not limited to the above-described example, and any device capable of communicating with a server (not shown) through a network and communicating with the electronic device 300 through short-range wireless communication may be used.
  • the target device may be provided at a gate such as a car, a hotel, a house, a building, an amusement park, or a ski resort, and may control whether to open or close a door based on a remote control command received from the electronic device 300.
  • the target device may be provided in the vehicle and may control the opening and closing of the door of the vehicle, adjusting the air conditioner, starting, parking, or driving the vehicle based on a remote control command received from the electronic device 300.
  • FIG. 5 is a flowchart of a method for an electronic device to transmit a control command to a target device according to an embodiment of the present disclosure.
  • the electronic device 300 may obtain information related to encryption based on a mutual authentication process between the electronic device 300 and the target device. Encryption-related information may be acquired and stored in a digital key applet in a secure element of the electronic device 300 according to an exemplary embodiment.
  • the electronic device 300 may perform mutual authentication with a target device and obtain an encryption key as information related to encryption.
  • the electronic device 300 may receive a temporary public key of the target device from the target device and transmit the temporary public key of the electronic device 300 to the target device.
  • the electronic device 300 may receive, from the target device, first data signed with the secret key of the target device in information including the temporary public key of the target device and the temporary public key of the electronic device 300.
  • the electronic device 300 may verify the first data using the public key of the target device.
  • the electronic device 300 may transmit second data signed with the private key of the electronic device 300 to information including the temporary public key of the target device and the temporary public key of the electronic device 300 to the target device.
  • the electronic device 300 may obtain an encryption key (Krke) from the digital key applet by using the temporary public key of the target device and the temporary secret key of the electronic device 300 received during the mutual authentication process.
  • Krke an encryption key
  • the electronic device 300 may obtain an encryption key as part of a mutual authentication process.
  • the electronic device 300 may additionally calculate an encryption key when calculating a message authentication code key or the like while performing a mutual authentication process inside the digital key applet.
  • the electronic device 300 may generate an encryption key in response to triggering of the target device.
  • the electronic device 300 may receive a request for generating an encryption key from the target device.
  • the electronic device 300 may obtain an encryption key based on the generation request received from the target device.
  • the target device may transmit to the electronic device 300 a command in which a parameter related to a request for generating an encryption key is set.
  • the electronic device 300 may generate an encryption key during an initial transaction with the target device.
  • the electronic device 300 may identify a parameter indicating that the corresponding mutual authentication process is the initial mutual authentication from the command received from the target device during the mutual authentication process with the target device.
  • the electronic device 300 may obtain an encryption key.
  • the electronic device 300 may receive an encryption key from a target device.
  • the electronic device 300 may perform mutual authentication with the target device and obtain an encryption key from the target device by using a secure channel generated by mutual authentication.
  • the electronic device 300 may generate a symmetric long-term key (Symmetric_LTS) based on a key exchange process between the electronic device 300 and a target device.
  • the electronic device 300 may generate a symmetric long term key after performing SPAKE2+ (Simple Password Authenticated Key Exchange).
  • SPAKE2+ Simple Password Authenticated Key Exchange
  • a symmetric long term key may be generated in the framework 310 of the electronic device 300.
  • the electronic device 300 may perform mutual authentication with the target device.
  • the digital key applet 321 of the electronic device 300 may obtain a nonce value during a mutual authentication process.
  • the nonce may be a new value generated each time mutual authentication.
  • the digital key applet 321 can use nonce as information related to encryption.
  • the electronic device 300 may obtain a session key as information related to encryption after performing mutual authentication with the target device.
  • the electronic device 300 may receive a request for generating an encryption key from the target device.
  • the digital key applet 321 of the electronic device 300 may generate the encryption key using the temporary public key of the target device received in the mutual authentication process based on the encryption key generation request.
  • the electronic device 300 may receive a request for generating a session key including a nonce from the target device.
  • the digital key applet 321 of the electronic device 300 may acquire a session key (SPSK, Secure Passthrough Session Key) using a nonce and an encryption key based on a session key generation request.
  • the digital key applet 321 may obtain a session key as encryption information.
  • the electronic device 300 may transmit information related to encryption from a digital key applet installed on the secure element of the electronic device 300 to the framework.
  • the electronic device 300 according to an embodiment of the present disclosure may receive encryption-related information to the TEE 311 in the framework 310.
  • information related to encryption may include an encryption key (Krke) obtained using a temporary key received in a mutual authentication process, a nonce value obtained in a mutual authentication process, or an encryption key ( Krke) and a session key (SPSK) obtained using a nonce may be included.
  • Krke an encryption key obtained using a temporary key received in a mutual authentication process
  • nonce value obtained in a mutual authentication process
  • SPSK session key
  • the electronic device 300 may encrypt a remote control command using information related to encryption.
  • the framework 310 of the electronic device 300 may encrypt a remote control command using information related to encryption received from the digital key applet 321.
  • the electronic device 300 may obtain a remote control command reflecting a user input.
  • the remote control command may be generated in the framework 310 of the electronic device 300 based on a user input.
  • the remote control command may be generated in another application based on a user input.
  • the electronic device 300 may encrypt a remote control command in the TEE 311 in the framework 310.
  • the encryption key may be obtained using the nonce and a symmetric long term key.
  • the electronic device 300 may encrypt a remote control command using an encryption key obtained using a nonce and a symmetric long term key.
  • the remote control command may be encrypted using the session key.
  • step S540 the electronic device 300 according to an embodiment may transmit an encrypted remote control command to the target device.
  • the target device may decrypt the encrypted remote control command and perform a predetermined operation corresponding to the remote control command. Also, the target device may transmit a result of performing a predetermined operation corresponding to the remote control command to the electronic device 300.
  • the electronic device 300 may receive information related to a state of the target device from the target device and may update state information of the target device.
  • FIG. 6 is a flowchart of a method in which a target device operates according to a remote control command according to an embodiment of the present disclosure.
  • the target device may perform at least some of the operations performed by the electronic device 300 to obtain the encryption key or the session key in steps S510 to S530 of FIG. 5. Redundant description of FIG. 5 is omitted.
  • the target device according to an embodiment may perform mutual authentication with the electronic device 300.
  • the target device according to an embodiment may obtain information related to encryption based on a mutual authentication process with the electronic device 300.
  • encryption-related information uses an encryption key (Krke) obtained using a temporary key received in the mutual authentication process, a nonce value obtained in the mutual authentication process, or an encryption key (Krke) and nonce. It may include at least one of the acquired session keys (SPSK).
  • SPSK acquired session keys
  • the target device may receive an encrypted remote control command from the electronic device 300.
  • the encrypted remote control command received by the target device may be a remote control command encrypted using an encryption key or a session key in step S530 of FIG. 5.
  • the target device may decrypt the encrypted remote control command.
  • the target device may obtain an encryption key or a session key from information related to encryption obtained in a process of mutual authentication with the electronic device 300.
  • the target device may decrypt the encrypted remote control command using the encryption key or the session key.
  • the target device may perform a predetermined operation corresponding to the remote control command based on the decrypted remote control command.
  • the target device may transmit a result of performing a predetermined operation corresponding to the remote control command to the electronic device 300.
  • the electronic device 300 may receive information related to a state of the target device from the target device and may update state information of the target device.
  • FIG. 7 illustrates an example of a method for an electronic device to transmit a control command to a target device according to an embodiment of the present disclosure.
  • step S700 the framework 310 of the electronic device 300 transmits a notification to the target device 700 to perform a process for transmitting a remote control command.
  • Step S700 may be omitted depending on the implementation.
  • the target device 700 and the digital key applet 321 of the electronic device 300 may perform a transaction.
  • the transaction may include a standard transaction or a high-speed transaction, and may mean a mutual authentication procedure.
  • step S701 the target device 700 and the digital key applet 321 of the electronic device 300 may perform mutual authentication.
  • the digital key applet 321 may calculate an encryption key (Krke) to be used to transmit the remote control message.
  • the digital key applet 321 may calculate an encryption key (Krke) as part of the mutual authentication step.
  • the digital key applet 321 may additionally calculate an encryption key when calculating a key during mutual authentication and a message authentication code key, as shown in Table 1 below.
  • [Table 1] shows a procedure for processing the AUTH0 command defined in the CCC standard.
  • the AUTH0 command is used by the target device to request the electronic device to perform an authentication procedure.
  • the target device 700 may also calculate the encryption key Krke in the same manner as the digital key applet 321.
  • the digital key applet 321 may transmit the encryption key (Krke) to the TEE 311 of the framework 310.
  • the TEE 311 obtains a remote control command RkeMsg. I can.
  • the remote control command RkeMsg may be generated in the framework 310 or the TEE 311 based on a user input, or may be generated in another application based on a user input.
  • step S706 the TEE 311 may encrypt the remote control command RkeMsg using the encryption key Krke.
  • the TEE 311 may transmit the encrypted remote control command RkeMsg to the target device 700.
  • the target device 700 may decrypt the received encrypted remote control command RkeMsg to check the remote control command RkeMsg.
  • the target device 700 may perform an operation corresponding to the remote control command RkeMsg.
  • the target device 700 may update the target device state change by transmitting the target device state change according to the operation corresponding to the remote control command RkeMsg to the framework 310.
  • the vehicle state change may be updated.
  • the state of the vehicle may include a door lock/unlock or an engine start.
  • Steps S710 to S714 are the same as steps S705 to S709 described above.
  • the electronic device 300 transmits a plurality of remote control commands (RkeMsg) to the TEE 311 after performing one transaction with the target device 700. It may be transmitted to the target device 700 through.
  • the TEE 311 may encrypt a plurality of remote control commands RkeMsg using the encryption key Krke received in step S704. Accordingly, the electronic device 300 may encrypt and transmit the remote control commands without accessing the digital key applet 321 every time a plurality of remote control commands are transmitted.
  • the electronic device 300 may transmit a remote control command to the target device using the TEE 311 as shown in FIG. 7.
  • the present disclosure is not limited to the example shown in FIG. 7.
  • the electronic device 300 according to an exemplary embodiment may transmit a remote control command from the framework 310 providing service level security without using the TEE 311.
  • FIG. 8 illustrates an example of a method for an electronic device to transmit a remote control command to a target device according to an embodiment of the present disclosure.
  • steps S704, S705, S706, S710, and S711 are performed in the TEE 311, but in FIG. 8, S804, S805, S806, S810, S811 are not the high security level TEE 311 but the service level framework There is only a difference in that it is performed at 310, and steps S800 to S814 of FIG. 8 are the same as steps S700 to S714 of FIG. 7. Therefore, redundant descriptions will be omitted.
  • the electronic device 300 may encrypt and transmit the remote control command RkeMsg using the encryption key Krke.
  • the encryption key (Krke) is a digital key used to securely protect commands and data transmitted through BLE.
  • the electronic device 300 may automatically obtain an encryption key as part of a mutual authentication process.
  • the electronic device 300 may additionally calculate an encryption key while performing a mutual authentication process inside the digital key applet 321.
  • the electronic device 300 may generate an encryption key in response to triggering of the target device 700.
  • the electronic device 300 may receive a request for generating an encryption key from the target device 700.
  • the target device 700 may request the digital key applet 321 of the electronic device 300 to generate an encryption key using the AUTHO command defined in the CCC standard.
  • the target device 700 may request generation of an encryption key by setting a predetermined parameter of the AUTH0 command and transmitting it to the digital key applet 321 as shown in [Table 2].
  • [Table 2] shows parameters P1 and P2 included in the AUTH0 command defined in the CCC standard.
  • the AUTH0 command in [Table 2] includes an encryption key generation request parameter.
  • the electronic device 300 When bit3 of the P1 parameter included in the AUTH0 command received from the target device 700 by the electronic device 300 is set to 1, the electronic device 300 generates a key (RkeMsgEnckey) for encrypting a remote control message. It can be determined that this has been requested. When generation of a key (RkeMsgEnckey) for encrypting the remote control message is requested, the digital key applet 321 calculates the encryption key (Krke).
  • the method of requesting the generation of the encryption key by the target device 700 is not limited to a method of setting parameters included in AUTH0.
  • the target device 700 may transmit a separate command requesting the generation of a key (RkeMsgEnckey) for encrypting a remote control message to the electronic device 300.
  • the electronic device 300 may generate an encryption key during an initial transaction with the target device 700.
  • the target device 700 in the mutual authentication step between the electronic device 300 and the target device 700, the first transaction for mutual authentication to be performed after the BLE connection between the electronic device 300 and the target device 700 It can indicate that the transaction is being performed.
  • [Table 3] shows parameters P1 and P2 included in the AUTH0 command defined in the CCC standard.
  • the AUTH0 command in [Table 3] includes a parameter indicating that it is the first transaction (Initial transaction).
  • the digital key applet 321 may determine that the currently performed transaction is the first transaction after the BLE connection. If it is determined that it is the first transaction, the digital key applet 321 calculates an encryption key (Krke).
  • the electronic device 300 may receive an encryption key from a vehicle.
  • FIG. 9 is a flowchart illustrating a method of obtaining, by an electronic device, an encryption key from a target device according to an embodiment of the present disclosure.
  • the digital key applet 321 of the electronic device 300 may receive and store an encryption key Krke from the target device 700.
  • step S901 the target device 700 and the digital key applet 321 may perform a transaction. After performing the transaction, communication between the target device 700 and the digital key applet 321 through a secure channel is possible.
  • step S902 the target device 700 transmits the encryption key (Krke) to the digital key applet 321 using the secure channel generated in step S901, and sends the encryption key (Krke) to the digital key applet 321 Can be saved on.
  • the target device 700 may transmit data including an encryption key to the digital key applet 321 as shown in Table 4 below.
  • the target device 700 may store the encryption key in a mailbox in the digital key applet 321 by using an exchange command.
  • the mailbox is a storage structure that stores information specialized for each digital key, and can be stored in a digital key applet.
  • an exchange command is a command defined in the CCC standard, and data from a mailbox It is a command to read, write, or set.
  • FIG. 10 illustrates the structure of a mail box in a digital key applet, which an electronic device uses to store an encryption key according to an embodiment of the present disclosure.
  • the target device 700 stores a key (RkeMsgEnckey) 1002 for encrypting a remote control message in a mailbox using an Exchange command, and sets a corresponding bit 1001 of SigBmp to 1. I can.
  • a key (RkeMsgEnckey) 1002 for encrypting a remote control message in a mailbox using an Exchange command
  • the digital key applet 321 may transmit a notification notifying that there is a change in SigBmp to the framework 310 or the TEE 311. Alternatively, the digital key applet 321 may transmit a notification to the framework 310 or the TEE 311 informing that a key (RkeMsgEnckey) 1002 for encrypting a remote control message has been stored.
  • the framework 310 or TEE 311 reads an encryption key (RkeEncKey) 1002 from the mailbox of the digital key applet 321 using a private data acquisition command (GET PRIVATE DATAcommand).
  • the framework 310 of the electronic device 300 may use owner pairing to provide security at a service level when transmitting a remote control command.
  • Owner pairing may mean an initial connection process between the target device 700 and the electronic device 300.
  • a symmetric long-term key for remote control service Long term key can be generated and registered together.
  • FIGS. 11 and 12 a method of safely transmitting a remote control command using a symmetric long term key generated during an owner pairing process between the electronic device 300 and the target device 700 according to an embodiment of the present disclosure is illustrated in FIGS. 11 and 12. It will be described in detail with reference to.
  • FIG. 11 is a flowchart of a method for generating a symmetric long term key by an electronic device according to an embodiment of the present disclosure.
  • an encryption key to be used by the electronic device 300 and the target device 700 may be generated.
  • SPAKE2+ Simple Password Authenticated Key Exchange
  • SPAKE2+ is a method by which the target device 700 verifies the owner of the target device 700 and may be performed in the owner pairing step.
  • SPAKE2+ may be a method for the target device 700 to verify the electronic device 300 by verifying a password input through the electronic device 300. After performing SPAKE2+, the target device 700 and the electronic device 300 may generate a session key that can be used for encryption and/or decryption.
  • the framework 310 may additionally generate and store a symmetric long term key (Symmetric_LTS) (S1102).
  • Symmetric_LTS a symmetric long term key
  • the symmetric long term key is a value that can be calculated equally by the target device 700 and the electronic device 300 using a value generated after performing SPKAE2+.
  • the target device 700 may additionally generate and store the same symmetric long term key (Symmetric_LTS) (S1103).
  • FIG. 12 illustrates another example of a method for an electronic device to transmit a control command to a target device according to an embodiment of the present disclosure.
  • step S1201 the target device 700 and the framework 310 of the electronic device 300 may be connected by BLE.
  • step S1202 the target device 700 and the digital key applet 321 may perform mutual authentication through a transaction.
  • step S1203 the digital key applet 321 may calculate a remote control nonce (RkeNonce).
  • step S1213 the target device 700 may calculate the same nonce for remote control (RkeNonce).
  • the remote control nonce (RkeNonce) is a new value generated for each mutual authentication, and can be used to calculate a new value for each mutual authentication when calculating the encryption key (Krke) using a symmetric long term key (symmetric_LTS).
  • the remote control nonce (RkeNonce) uses the same method as the methods of generating the encryption key (Krke) described above with reference to [Table 2], [Table 3], [Table 4], and Figs. Can be created.
  • RkeNonce for remote control may be additionally calculated when calculating a key during mutual authentication and a Message Authentication Code key, as shown in [Table 5] below.
  • [Table 5] shows the procedure for processing the AUTH0 command defined in the CCC standard.
  • step S1204 the digital key applet 321 may transmit RkeNonce for remote control to the framework 310 or the TEE 311.
  • the framework 310 or TEE 311 that obtained the remote control nonce (RkeNonce) in step S1205 may calculate the encryption key (Krke) using a symmetric long term key (symmetric_LTS) and a remote control nonce (RkeNonce). .
  • the encryption key (Krke) can be derived (derivation) as shown in the following [Table 6].
  • a symmetric long term key (symmetric_LTK) may be used as a key
  • a remote control nonce (RkeNonce) may be used as a derivation context.
  • a transaction identifier of a recently performed transaction between the target device 700 and the digital key applet 321 may be additionally used in the derivation context.
  • the encryption key (Krke) or the session key (SPSK) is data exchanged between the target device 700 and the electronic device 300 (eg, exchanged between a vehicle and a terminal). It can be used to additionally protect remote control commands, vehicle status, vehicle diagnostic information, and vehicle environment information (internal temperature, remote control start alarm, etc.).
  • a new command may be defined to generate an encryption key (Krke). Therefore, hereinafter, a method of safely transmitting a remote control command to the target device 700 by the electronic device 300 using a command newly defined according to an embodiment of the present disclosure is described with reference to the flowcharts of FIGS. 13 to 15. It will be described in detail. Further, an additional operation of the electronic device for generating an encryption key (Krke) will be described in detail with reference to FIGS. 13 to 15.
  • FIG. 13 is a flowchart of a method for obtaining a session key by an electronic device according to an embodiment of the present disclosure.
  • the electronic device 300 may perform mutual authentication through a standard transaction or a fast transaction with the target device 700.
  • the electronic device 300 may receive a command to generate a ranging key and a session key from the target device 700.
  • the request to generate a session key (SPSK) in secure element 320 may be included as part of another command, or may be a command independent from other commands.
  • the electronic device 300 may generate and store a session key SPSK in the secure element 320 based on a command of the target device 700. Additionally, the session key (SPSK) may be mapped and stored with a digital key identification.
  • the digital key identifier is not limited as a unique identifier of the digital key.
  • the digital key identifier is information specifying a digital key (e.g., a unique identifier assigned from the target device 700, a unique encryption key identifier (Krke ID) assigned when the target device 700 generates a key), etc. ), or the transaction ID (or session ID) of the mutual authentication step performed before generating the encryption key (Krke), or additionally include these information and store it together. have.
  • step S1304 the electronic device 300 may return a result of generating a session key (SPSK) to the target device 700.
  • the generation result may be 4 bytes of status words or a status code indicating the result of the operation execution.
  • the target device 700 may generate and store a session key SPSK.
  • FIG. 14 is a flowchart of a method of obtaining an encryption key by using information exchanged during a mutual authentication process by an electronic device according to an embodiment of the present disclosure.
  • Steps S1401 to S1404 show a mutual authentication method between the electronic device 300 and the target device 700.
  • the electronic device 300 and the target device 700 may perform authentication by verifying the signature of the other party.
  • the electronic device 300 and the target device 700 advance a public key (PK) corresponding to a secret key (SK) (or a private key) used by the other party for signing.
  • PK public key
  • SK secret key
  • the target device 700 signs data using the secret key of the target device 700 and delivers it to the digital key applet 321 of the electronic device 300
  • the digital key applet 321 is held in advance.
  • the signature of the target device 700 may be verified using the public key of the target device 700 that was being used.
  • the electronic device 300 signs data using the secret key of the electronic device 300 and delivers it to the target device 700
  • the target device 700 The signature of the electronic device 300 may be verified using the public key.
  • the target device 700 generates a temporary key pair of the target device 700 including a temporary secret key and a temporary public key, and the digital key applet 321 of the electronic device 300 ), the temporary public key of the target device 700 may be delivered.
  • the target device 700 may generate a temporary public key (v.epk) of the vehicle and a temporary secret key (v.esk) of the vehicle as a temporary key pair. have.
  • the electronic device 300 may generate a temporary key pair of the electronic device 300 and transmit the temporary public key of the electronic device 300 to the target device 700.
  • the electronic device 300 may generate a temporary public key (d.epk) of the device and a temporary secret key (d.esk) of the device as a temporary key pair.
  • step S1403 the target device 700 digitally signs information including the temporary public key of the target device and the temporary public key of the electronic device 300 exchanged using the secret key of the target device 700. It can be delivered to the key applet 321.
  • the digital key applet 321 may verify the received signature of the target device 700 by using the public key of the target device 700 previously held. If the verification is successful, the digital key applet 321 makes a signature using the secret key of the electronic device 300 on the information including the temporary public key of the target device and the temporary public key of the electronic device 300 that have been exchanged. Then, it can be delivered to the target device 700. The target device 700 may verify the received signature of the electronic device 300 by using the public key of the electronic device 300 previously held.
  • step S1405 the target device 700 may transmit a message requesting the generation of an encryption key Krke to the digital key applet 321.
  • the digital key applet 321 may generate an encryption key (Krke) by using the temporary public key of the target device 700 and the temporary secret key of the electronic device 300 that have already been exchanged as factors. .
  • the following algorithm may be used.
  • the electronic device 300 generates a common key by performing ECKA-DH (Elliptic Curve Cryptography Diffie-Hellman Key Agreement) using the temporary secret key of the electronic device 300 and the temporary public key of the target device. do.
  • An encryption key (Krke) can be calculated by applying an additional key derivation function such as a hash to the generated common key.
  • the message for requesting the target device 700 to generate an encryption key (Krke) from the digital key applet 321 is a message used solely for the encryption key generation request or an encryption key (Krke). ) It may be a message including a specific field, parameter, or indicator indicating that creation is requested.
  • the electronic device 300 may return a result of generating the encryption key Krke to the target device 700.
  • the result of generating the encryption key Krke may include information on whether the generation of the encryption key Krke has succeeded or failed.
  • the target device 700 may also generate and store the encryption key Krke in step S1408.
  • the target device 700 may generate an encryption key (Krke) by using the temporary public key of the electronic device 300 that has already been exchanged and the temporary secret key of the target device 700 as factors.
  • Krke an encryption key generated according to the above-described process.
  • 15 illustrates another example of a method for an electronic device to transmit a control command to a target device according to an embodiment of the present disclosure.
  • the encryption key Krke may be stored in the digital key applet 321.
  • the digital key applet 321 may generate a session key (SPSK) using the encryption key (Krke).
  • the digital key applet 321 may transmit a session key (SPSK) to the framework 310 or the TEE 311.
  • the framework 310 (or AP, TEE 311) may perform secure communication by encrypting or decrypting data using a session key (SPSK).
  • the target device 700 may request the digital key applet 321 to generate a session key (SPSK).
  • the command requesting the session key SPSK may include a nonce, which is a random value generated by the target device 700.
  • the message for requesting the target device 700 to generate a session key (SPSK) from the digital key applet 321 is a message used solely for a request to generate a session key (SPSK) or to generate a session key (SPSK). It may be a message including a specific field, parameter, or indicator indicating that the request is made.
  • the session key (SPSK) generation request is directly transmitted from the target device 700 to the digital key applet 321, or indirectly transmitted from the target device 700 to the digital key applet 321 via the framework 310. I can.
  • the digital key applet 321 may generate a session key SPSK using the nonce received from the target device 700 and the encryption key Krke derived in advance.
  • step S1503 the digital key applet 321 may return a result of generating the session key (SPSK) to the target device 700.
  • the target device 700 receiving the result of generating the session key SPSK from the digital key applet 321 may also generate the session key SPSK using the nonce and the encryption key Krke.
  • the session key may be transferred from the digital key applet 321 to the framework 310 (or AP, TEE 311).
  • the framework 310 (or AP, TEE 311) transmits a command for receiving a session key (SPSK) to the digital key applet 321, and as a response to the command, the session key ( SPSK) can be received.
  • SPSK session key
  • the framework 310 (or AP, TEE 311) of the electronic device 300 and the target device 700 use a session key (SPSK) to provide a message (e.g., remote It is possible to perform secure communication by performing encryption or decryption of control message) and calculation or verification of media access control (MAC).
  • SPSK session key
  • MAC media access control
  • a remote control message may be delivered using a mailbox in the digital key applet 321.
  • a UWB digital key may support remote key services.
  • an existing mailbox mechanism may be used to deliver remote key entry messages (RkeMsg) from the electronic device 300 to the target device 700.
  • keMsg remote key entry messages
  • FIG. 16 illustrates the structure of a mail box in a digital key applet, which an electronic device uses to store remote control commands according to an embodiment of the present disclosure.
  • a field 1602 for storing a remote control message may be newly defined in the private mailbox as RkeMsgData.
  • bit4 1601 is set in SigBmp.
  • the electronic device 300 may store the remote control message RkeMsg in the mailbox and set SigBmp from the first value to the second value.
  • the framework 310 of the electronic device 300 may read a remote control message from a corresponding mailbox by viewing a value set in SigBmp. After reading the remote control message, the framework 310 may delete the remote control message from the corresponding mailbox and reset SigBmp to the first value.
  • a remote control message (RkeMsg) carried in a Remote Key Command (RK command) may be set by the framework 310 for remote key service and read by the target device 700.
  • the remote key command field contains a set of messages for remote key entry/access for remote control of the target device 700.
  • the remote control message may exist in the private mailbox until it is consumed and removed by the target device 700.
  • the length of the data field may be defined as (MAILBOX_CONTENT_END_OFFSET-RKEMSG_DATA_OFFSET).
  • RKEMSG_DATA_BIT (or RKEMSG_DATA_OFFSET) is used to store a remote key message to be prepared by the target device 700, and the starting point of the remote control message (Rke MSG Data) data structure can be defined. have.
  • the offset value may be a value specified by a manufacturer of the electronic device 300 or the target device 700.
  • Remote key entry/access allows a user to control the target device 700 by user interaction with the electronic device 300.
  • remote key entry/access allows a user to perform remote control functions such as opening and closing a car door or starting an engine.
  • the remote control message (RkeMsg) can be stored in the digital key applet and read by the target device 700 after the transaction. 17 shows an operation for remote key access.
  • FIG. 17 illustrates another example of a method for an electronic device to transmit a remote control command to a target device according to an embodiment of the present disclosure.
  • the application 1780 of the electronic device 300 may generate a remote control message RkeMsg based on a user input through a user interface.
  • the application 1780 may transmit a remote control message (RkeMsg) to the framework 310. Since the format of the remote control message (RkeMsg) varies depending on the manufacturer of the target device 700 (eg, automobile manufacturer), the framework 310 and the digital key applet 321 of the electronic device 300 are understood. It is difficult to do.
  • the framework 310 may store the remote control message RkeMsg in the private mailbox in the digital key applet 321.
  • the framework 310 may store the remote control message RkeMsg in the private mailbox in the digital key applet 321 and update the SigBmp bit4 1601 to 1 as shown in FIG. 16.
  • step S1704 If there is no BLE connection established between the electronic device 300 and the target device 700, a BLE connection may be established between the electronic device 300 and the target device 700 in step S1704. If there is a previously established BLE connection, step S1704 may be omitted.
  • step S1705 the framework 310 may transmit a notification that the remote control message RkeMsg has been stored in the mailbox to the target device 700.
  • the target device 700 may perform a standard transaction or a fast transaction to retrieve the remote control message RkeMsg from the digital key applet 321 and read the mailbox.
  • the target device 700 may perform a corresponding operation based on the remote key entry/access request included in the remote control message RkeMsg.
  • the target device 700 may update the state of the target device 700 by transmitting state information of the target device 700 to the electronic device 300.
  • a method of transmitting a remote control command using a transaction procedure may be used.
  • the framework 310 of the electronic device 300 may first transmit a remote control message RkeMsg to the target device 700.
  • the target device 700 may request a digital key signature for the received remote control message RkeMsg, receive and confirm the signature result, and then perform a remote control operation.
  • a remote control message RkeMsg may request a digital key signature for the received remote control message RkeMsg, receive and confirm the signature result, and then perform a remote control operation.
  • FIG. 18 illustrates another example of a method for an electronic device to transmit a control command to a target device according to an embodiment of the present disclosure.
  • the framework 310 of the electronic device 300 may acquire a remote control message reflecting a user input.
  • the remote control message may be a message generated by another application or a message directly generated by the framework 310.
  • step S1802 the framework 310 may establish a BLE connection with the target device 700. If there is a previously established BLE connection, step S1802 may be omitted.
  • step S1803 the framework 310 may transmit the remote control message obtained in step S1801 to the target device 700.
  • step S1804 the electronic device 300 according to an embodiment transmits a remote control command to the target device 700, and provides the electronic device 300 and the target device so that the target device 700 can verify the remote control command.
  • Mutual authentication between 700 can be performed.
  • the electronic device 300 receives a command requesting a signature of the electronic device 300 for a remote control command from the target device 700, and signs the electronic device 300 for the remote control command.
  • the included response may be delivered to the target device 700.
  • the target device 700 receiving the remote control message in step S1804 may request the electronic device 300 to sign the received remote control message.
  • the signature request of the target device 700 may include a remote control message.
  • the signature request may include a random value generated by the target device 700.
  • the signing request may be performed as part of the mutual authentication step.
  • the target device 700 may transmit information necessary for the signature to the electronic device 300 by including information necessary for the signature in the request.
  • Tables 8 to 10 below show examples of commands that may be used in the mutual authentication step according to an embodiment of the present disclosure.
  • a fast transaction may be performed between the electronic device 300 and the target device 700.
  • the target device 700 may transmit the command shown in Table 8 below to the electronic device 300.
  • Table 8 shows information included in the AUTH0 command defined in the CCC standard.
  • the remote key command field of Table 8 may be included in the AUTH0 command only when a remote control message is received from the electronic device 300.
  • the received remote control message RkeMsg may be stored as it is, or a value processed or calculated based on a separate received remote control message RkeMsg may be stored.
  • the electronic device 300 receiving the AUTH0 command from the target device 700 may transmit an AUTH0 response.
  • the AUTH0 response may include information included in [Table 9] below.
  • the digital key applet 321 may calculate a cryptogram by adding the remote key command.
  • the context used to calculate the cryptogram is reader_PK.x
  • a standard transaction may be performed between the electronic device 300 and the target device 700.
  • the target device 700 may transmit the command of [Table 8] to the electronic device 300 in the same manner as A1 of step S1804-1.
  • the electronic device 300 receiving the AUTH0 command from the target device 700 may transmit an AUTH0 response.
  • the AUTH0 response may or may not contain a cryptogram.
  • the target device 700 may transmit an AUTH1 command including the signature of the target device 700 to the digital key applet 321.
  • the AUTH1 command defined in the CCC standard may be used.
  • the digital key applet 321 may respond to the AUTH1 command through an AUTH1 response including a signature value using the digital key.
  • the AUTH1 response may include a signature value for the information in [Table 10] below.
  • the remote key command field in [Table 10] can be included only when the remote key command is included in the AUTH0 command.
  • a remote control command may be safely transmitted from the electronic device 300 to the target device 700.
  • a specific configuration of the electronic device 300 will be described.
  • 19 is a block diagram of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 300 may include a personalized mobile device, but is not limited thereto, and may include various types of electronic devices.
  • the electronic device 300 may include a smartphone, a tablet PC, a camera, and a wearable device.
  • the electronic device 300 may include a communication unit 1910, a memory 1920, a security element 1930, and a bus 1950 connecting the processor 1940 and each component.
  • the electronic device 300 may be implemented by more or less components than those shown in FIG. 19.
  • the electronic device 300 is illustrated as including one processor, but embodiments are not limited thereto, and the electronic device 300 may include a plurality of processors. At least some of the operations and functions of the processor 1940 described below may be performed by a plurality of processors.
  • the electronic device 300 illustrated in FIG. 19 may perform a method of operating the electronic device 300 according to various embodiments of the present disclosure, and descriptions of FIGS. 1 to 18 may be applied. Therefore, the overlapping content as described above will be omitted.
  • the communication unit 1910 may perform wired or wireless communication with other devices or networks.
  • the communication unit 1910 may include a communication module supporting at least one of various wired and wireless communication methods.
  • the communication module may be in the form of a chipset, or may be a sticker/barcode (e.g. a sticker including an NFC tag) including information necessary for communication.
  • the communication unit 1910 may include a communication module for short range communication.
  • the communication unit 1910 is a communication module for performing various short-range communication such as infrared communication, MST (Magnetic Secure Transmission, magnetic security communication) in addition to Wi-Fi, Wi-Fi Direct, Bluetooth, BLE, and NFC described above. Can include.
  • MST Magnetic Secure Transmission, magnetic security communication
  • Various types of data such as programs and files such as applications may be installed and stored in the memory 1920.
  • the processor 1940 may access and use data stored in the memory 1920 or may store new data in the memory 1920.
  • a program eg, a framework
  • data for digital key management may be installed and stored in the memory 1920.
  • the memory 1920 is a flash memory type, a hard disk type, a multimedia card micro type, and a card type memory (for example, SD or XD Memory, etc.), RAM (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (ROM, Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), It may include at least one type of storage medium among magnetic memory, magnetic disk, and optical disk.
  • the electronic device 300 includes a security element, and the security element may perform processing such as generating, deleting, and managing a digital key for controlling or accessing an external device, and authenticating a digital key. You can do it. Furthermore, the security element may provide a function of authenticating access to a digital key of an external entity such as a service provider server, and verifying the authority to safely manage the digital key.
  • the security element may perform processing such as generating, deleting, and managing a digital key for controlling or accessing an external device, and authenticating a digital key. You can do it.
  • the security element may provide a function of authenticating access to a digital key of an external entity such as a service provider server, and verifying the authority to safely manage the digital key.
  • the security element 1930 is an independent secure storage device of the electronic device 300 and is a security area that only authenticated applications can access.
  • the security element 1930 may be configured to be physically isolated from other hardware components.
  • programs and data for management of digital keys eg, security domains, applets, etc. may be installed and stored in the secure element 1930.
  • the processor 1940 controls the overall operation of the electronic device 300 and may include at least one processor such as a CPU or a GPU.
  • the processor 1940 may control other components included in the electronic device 300 to perform an operation for managing a digital key.
  • the processor 1940 may execute a program stored in the memory 1920 and the secure element 1930, read a stored file, or store a new file.
  • the processor 1940 receives a digital key processing request from an external device or application using a framework, and transmits the digital key processing request and authentication information stored in the framework to the security domain of the security element and/or You can pass it as an instance.
  • the processor 1940 may use an applet executed in the secure element 1930 to process a digital key based on a request for processing a digital key, authentication information received from the framework, and authentication information stored in the secure element.
  • the processing of the digital key may include at least one operation of generating, deleting, and managing the digital key.
  • the bus BUS 1650 is a common data transmission path connecting the communication unit 1910, the memory 1920, the security element 1930, and the processor 1940.
  • the processor 1940 may obtain information related to encryption based on a mutual authentication process between the electronic device 300 and the target device 700.
  • the processor 1940 may transmit encryption-related information from the digital key applet to the framework, and encrypt the remote control command using the encryption-related information.
  • the processor 1940 may transmit an encrypted remote control command to the target device 700 through the communication unit 1910.
  • the processor 1940 receives a temporary public key of the target device 700 from the target device 700 in order to perform mutual authentication between the electronic device 300 and the target device 700, and The temporary public key of the electronic device 300 may be delivered to 700.
  • the processor 1940 may receive, from the target device, first data signed with the secret key of the target device 700 in information including the temporary public key of the target device 700 and the temporary public key of the electronic device 300. have.
  • the processor 1940 may verify the first data using the public key of the target device 700.
  • the processor 1940 sends second data signed with the secret key of the electronic device 300 to information including the temporary public key of the target device 700 and the temporary public key of the electronic device 300 to the target device 700. Can be transmitted.
  • the processor 1940 may obtain the encryption key Krke as information related to encryption by using the temporary public key of the target device 700 and the temporary secret key of the electronic device 300.
  • the processor 1940 may encrypt the remote control command transmitted from the digital key applet using the encryption key Krke.
  • the processor 1940 may transmit the encrypted remote control command to the target device 700.
  • the processor 1940 may generate a long-term symmetric key (Symmetric_LTS) based on a key exchange process with the target device 700.
  • the processor 1940 may acquire a nonce generated during the mutual authentication process.
  • the processor 1940 may obtain an encryption key as information related to encryption by using a nonce and a symmetric long term key.
  • the processor 1940 may encrypt a remote control command using an encryption key.
  • the processor 1940 may perform mutual authentication with the target device 700 and receive a request for generating an encryption key from the target device 700.
  • the processor 1940 may generate the encryption key using the temporary public key of the target device received in the mutual authentication process based on the request to generate the encryption key on the digital key applet.
  • the processor 1940 may receive a request for generating a session key including a nonce from the target device 700.
  • the digital key applet may obtain a session key using a nonce and an encryption key based on a session key generation request, and transmit the session key to the framework.
  • the processor 1940 may obtain a remote control command reflecting a user input and transmit the remote control command to the target device 700.
  • the processor 1940 may perform mutual authentication between the electronic device 300 and the target device 700 so that the target device 700 may verify the remote control command.
  • the processor 1940 receives a command for requesting a signature of the electronic device 300 for a remote control command from the target device 700 in order to perform mutual authentication, and A response including the signature may be delivered to the target device 700.
  • FIG. 20 shows a block diagram of a secure element 1930 according to an embodiment of the present disclosure.
  • the security element 1930 may correspond to the security element 1930 described above in FIG. 19.
  • the secure element 1930 may include a communication interface 2010, a memory 2020, and a processor 2030.
  • the security element 1930 is an independent secure storage device of the electronic device 300 and is a security area in which only authenticated applications can access.
  • the security element 1930 may include an embedded Secure Element (eSE), a Universal Integrated Circuit Card (UICC), a Secure Digital Card (SD Card), or an embedded UICC (eUICC).
  • eSE embedded Secure Element
  • UICC Universal Integrated Circuit Card
  • SD Card Secure Digital Card
  • eUICC embedded UICC
  • the communication interface 2010 may communicate with the host 2001.
  • the communication interface 2010 may include at least one of various wired/wireless communication interfaces for communicating with the host 2001.
  • the host 2001 may be one of devices included in the electronic device 300, and may include, for example, an application processor (AP), a framework 310, a TEE 311, a memory, and the like.
  • the communication interface 2010 is, for example, a serial interface such as ISO 7816, Universal Serial Bus (USB), Inter-Integrated Circuit (I2C), Serial Peripheral Interface (SPI), Single Wire Protocol (SWP), or two hardware devices. It may be any serial interface commonly used for communication between them.
  • the communication interface 2010 may be a wireless interface such as IS0 14443, Zigbee, Bluetooth, BLE, etc. that directly connects the antenna to the hardware device.
  • the communication interface 2010 may be a parallel interface connected to the central bus BUS of the electronic device 300. In this case, the communication interface 2010 is used to receive commands and data from the host 2001. It may also contain a buffer.
  • the processor 2030 may access and use data stored in the memory 2020, or may store new data in the memory 2020.
  • a program and data for processing a digital key may be installed and stored in the memory 2020.
  • the memory 2020 may be a nonvolatile memory device.
  • the processor 2030 controls the overall operation of the security element 1930 and may include at least one processor such as a CPU or a GPU.
  • Processor 2030 may control other components included in secure element 1930 to perform an operation to process the digital key.
  • the processor 2030 may execute a program stored in the memory 2020, read a stored file, or store a new file.
  • the processor 2030 may perform an operation for processing a digital key by executing a program stored in the memory 2020.
  • a lightweight application may be installed and driven in the security element 1930 according to an embodiment.
  • the applet may store the digital key inside the secure element 1930 and provide services such as use, deletion, and management of the stored key.
  • Such an applet may be pre-mounted on the security element 1930, or may be loaded or installed later as needed.
  • 21 is a block diagram of a target device according to an embodiment of the present disclosure.
  • the target device 700 may include an electronic device mounted on a vehicle, connected to a vehicle, included in a vehicle, or controlling the vehicle.
  • the target device 700 may include a vehicle console, a vehicle key system, a terminal mounted on a vehicle, or a vehicle electrical system.
  • the target device 700 may control whether or not to open or close a vehicle door, a trunk gate, and an oil inlet in a vehicle, as well as control start-up and air conditioner.
  • the target device 700 is not limited to the above, and may include various types of electronic devices.
  • the target device 700 includes a smart TV, a set-top box, a mobile phone, a tablet PC, a digital camera, a laptop computer, a desktop, an e-book terminal, a digital broadcasting terminal, personal digital assistants (PDAs), and PMPs. (Portable Multimedia Player), navigation, MP3 player, wearable device, and the like.
  • PDAs personal digital assistants
  • PMPs Portable Multimedia Player
  • the target device 700 is not limited to the above-described example, and any device capable of communicating with a server (not shown) through a network and communicating with the electronic device 300 through short-range wireless communication may be used. I can.
  • the target device 700 may include a communication unit 2110, a memory 2120, and a processor 2140. However, the target device 700 may be implemented by more or less components than those shown in FIG. 21.
  • the target device 700 is illustrated as including one processor, but embodiments are not limited thereto, and the target device 700 may include a plurality of processors. At least some of the operations and functions of the processor 2140 described below may be performed by a plurality of processors.
  • the target device 700 illustrated in FIG. 21 may perform a method of operating the target device 700 according to various embodiments of the present disclosure, and descriptions of FIGS. 1 to 18 may be applied. Therefore, the overlapping content as described above will be omitted.
  • the communication unit 2110 may perform wired or wireless communication with other devices or networks.
  • the communication unit 2110 may include a communication module supporting at least one of various wired and wireless communication methods.
  • the communication module may be in the form of a chipset, or may be a sticker/barcode (e.g. a sticker including an NFC tag) including information necessary for communication.
  • the communication unit 2110 may include a communication module for short range communication.
  • the communication unit 2110 is a communication module for performing various short-range communication such as infrared communication, magnetic secure transmission (MST), in addition to Wi-Fi, Wi-Fi Direct, Bluetooth, BLE, and NFC described above. Can include.
  • MST magnetic secure transmission
  • Various types of data such as programs and files such as applications may be installed and stored in the memory 2120.
  • the processor 2140 may access and use data stored in the memory 2120 or may store new data in the memory 2120.
  • a program eg, a framework
  • data for digital key management may be installed and stored in the memory 2120.
  • the memory 2120 is a flash memory type, a hard disk type, a multimedia card micro type, and a card type memory (for example, SD or XD Memory, etc.), RAM (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (ROM, Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), It may include at least one type of storage medium among magnetic memory, magnetic disk, and optical disk.
  • the processor 2140 may receive a digital key processing request from an external device or application, and transmit the digital key processing request and authentication information stored in the framework to the security domain and/or instance of the security element. .
  • the processor 2140 may process a digital key based on a request for processing a digital key, authentication information received from the framework, and authentication information stored in the security element, using an applet executed in the secure element.
  • the processing of the digital key may include at least one operation of generating, deleting, and managing the digital key.
  • the processor 2140 may perform mutual authentication with the electronic device 300.
  • the processor 2140 of the target device 700 may obtain information related to encryption based on a mutual authentication process with the electronic device 300.
  • the processor 2140 may receive an encrypted remote control command from the electronic device 300.
  • the processor 2140 may decrypt the encrypted remote control command and perform a predetermined operation corresponding to the remote control command.
  • the processor 2140 obtains an encryption key or a session key from information related to encryption obtained in the process of mutual authentication with the electronic device 300, and decrypts the encrypted remote control command using the encryption key or session key. I can.
  • the processor 2140 may transmit a result of performing a predetermined operation corresponding to the remote control command to the electronic device 300 and update state information of the target device.
  • the disclosed embodiments may be implemented as a S/W program including commands stored in a computer-readable storage media.
  • the computer as a device capable of calling a command stored from a storage medium and performing operations according to the disclosed embodiments according to the called command, may include an image transmission device and an image reception device according to the disclosed embodiments.
  • the computer-readable storage medium may be provided in the form of a non-transitory storage medium.
  • non-transient means that the storage medium does not contain a signal and is tangible, but does not distinguish between semi-permanent or temporary storage of data in the storage medium.
  • an electronic device or method according to the disclosed embodiments may be included in a computer program product and provided.
  • Computer program products can be traded between sellers and buyers as commodities.
  • the computer program product may include a S/W program and a computer-readable storage medium in which the S/W program is stored.
  • the computer program product may include a product (e.g., a downloadable app) electronically distributed through an electronic device manufacturer or an electronic market (e.g., Google Play Store, App Store). have.
  • a product e.g., a downloadable app
  • an electronic market e.g., Google Play Store, App Store
  • the storage medium may be a server of a manufacturer, a server of an electronic market, or a storage medium of a relay server temporarily storing an SW program.
  • the computer program product may include a storage medium of a server or a storage medium of a terminal in a system consisting of a server and a terminal (eg, an electronic device using a digital key or a target device).
  • a terminal eg, an electronic device using a digital key or a target device.
  • the computer program product may include a storage medium of the third device.
  • the computer program product may include a S/W program itself transmitted from a server to a terminal or a third device, or transmitted from a third device to a terminal.
  • one of the server, the terminal, and the third device may execute the computer program product to perform the method according to the disclosed embodiments.
  • two or more of the server, the terminal, and the third device may execute a computer program product to distribute and implement the method according to the disclosed embodiments.
  • a server may execute a computer program product stored in the server to control a terminal connected to the server in communication to perform the method according to the disclosed embodiments.
  • the third device may control a terminal connected in communication with the third device to perform the method according to the disclosed embodiment.
  • the third device may remotely control an electronic device or a target device to manage digital keys or exchange remote control messages.
  • the third device may download the computer program product from the server and execute the downloaded computer program product.
  • the third device may perform a method according to the disclosed embodiments by executing a computer program product provided in a preloaded state.

Abstract

전자 디바이스가 안전하고 빠르게 원격 제어 명령을 타겟 디바이스에게 전달할 수 있는 방법이 제공된다. 본 개시의 일 측면은 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법에 있어서, 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증 과정에 기초하여, 암호화와 관련된 정보를 획득하는 단계; 상기 전자 디바이스의 보안 요소 상에 설치된 디지털 키 애플릿으로부터 프레임워크로 상기 암호화와 관련된 정보를 전달하는 단계; 상기 암호화와 관련된 정보를 이용하여 원격 제어 명령을 암호화 하는 단계; 및 암호화된 상기 원격 제어 명령을 상기 타겟 디바이스에게 전달하는 단계를 포함하는, 방법을 제공할 수 있다.

Description

전자 디바이스 및 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법
전자 디바이스가 타겟 디바이스에게 제어 명령(control command)을 전달하는 방법에 관한 것으로, 구체적으로는, 전자 디바이스가 디지털 키를 이용하여 원격 제어 명령(remote control command)을 타겟 디바이스에게 안전하게 전달하기 위한 방법 및 이러한 방법을 수행하는 전자 디바이스에 관한 것이다.
스마트 폰, 태블릿 PC와 같은 개인화된 전자 기기가 보급됨에 따라 디지털 키, 즉, 디지털화된 가상의 키를 이용한 보안, 인증 등을 수행하기 위한 기술이 개발되고 있다. 이러한 디지털 키 기술의 한 방안으로, NFC(Near Field Communication), Bluetooth, 및 UWB(Ultra Wide Band) 등과 같은 무선 통신 기술을 사용하여 디지털 키를 모바일 디바이스, 예를 들어, 스마트 폰에 통합하는 형태의 기술이 개발되고 있다. 즉, 디지털 키가 모바일 디바이스 내에 삽입되고, 모바일 디바이스의 사용자는 디지털 키를 이용함으로써, 물리적인 키 대신에 문을 개폐하거나, 다른 디바이스를 제어하거나 매체 접근(Media Access)을 수행할 수 있다.
이와 같이, 디지털 키의 사용은 사용자 편의 및 산업적 효과에 있어 큰 개선을 가져올 수 있는 반면, 보안에 대한 우려 역시 제기되고 있다. 즉, 디지털 키는 기본적으로 전자 디바이스와의 결합을 필요로 하므로, 전자 디바이스에 대한 해킹 등과 같은 악의적인 사용에 노출될 수 있다. 따라서, 디지털 키를 전자 디바이스에 안전하게 저장하고 접근하기 위한 기술이 필요하다.
타겟 디바이스로부터 멀리 떨어진 사용자가 사용자로부터 가까운 전자 디바이스를 이용하여 원격으로 타겟 디바이스를 제어할 필요가 있을 수 있다. 예를 들어, 타겟 디바이스가 자동차를 제어하는 디바이스인 경우, 사용자가 전자 디바이스를 이용하여 원격으로 자동차의 문을 열려고 하거나, 자동차의 에어컨을 가동시키려고 하거나, 자동차의 엔진을 예열 시키려고 하거나, 자동차를 주차시키려고 하는 경우, 전자 디바이스가 이러한 원격 제어 명령을 안전하고 빠르게 자동차에게 전달하기 위한 방법이 요구된다.
본 개시의 일 실시예에 따르면, 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법은, 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증 과정에 기초하여, 암호화와 관련된 정보를 획득하는 단계; 상기 전자 디바이스의 보안 요소 상에 설치된 디지털 키 애플릿으로부터 프레임워크로 상기 암호화와 관련된 정보를 전달하는 단계; 상기 암호화와 관련된 정보를 이용하여 원격 제어 명령을 암호화 하는 단계; 및 암호화된 상기 원격 제어 명령을 상기 타겟 디바이스에게 전달하는 단계를 포함할 수 있다.
본 개시의 다른 일 실시예에 따르면, 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법은, 원격 제어 명령을 획득하는 단계; 상기 타겟 디바이스에게 원격 제어 명령을 전송하는 단계; 및 상기 타겟 디바이스가 상기 원격 제어 명령을 검증할 수 있도록 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하는 단계를 포함하고, 상기 상호 인증을 수행하는 단계는, 상기 타겟 디바이스로부터 상기 원격 제어 명령에 대한 상기 전자 디바이스의 서명을 요청하는 명령을 수신하는 단계; 및 상기 원격 제어 명령에 대한 상기 전자 디바이스의 서명을 포함하는 응답을 상기 타겟 디바이스에게 전달하는 단계를 포함할 수 있다.
도 1은 일반적으로 텔레매틱스(telematics)를 이용하여 차량을 원격 제어하는 방법을 설명하는 도면이다.
도 2는 일반적으로 전자 디바이스가 BLE 통신을 이용하여 원격 제어 명령을 자동차에게 전달하는 방법의 흐름도이다.
도 3은 본 개시의 일 실시예에 따른 자동차 원격 제어 시스템의 구성을 도시한다.
도 4a는 본 개시의 일 실시예에 따른 자동차 원격 제어 시스템이 원격 제어 서비스를 제공하는 과정을 설명하기 위한 도면이다.
도 4b는 본 개시의 일 실시예에 따른 자동차 원격 제어 시스템이 원격 제어 서비스를 제공하는 과정을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법의 흐름도를 도시한다.
도 6은 본 개시의 일 실시예에 따라 타겟 디바이스가 원격 제어 명령에 따라 동작하는 방법의 흐름도를 도시한다.
도 7은 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법의 일 예를 도시한다.
도 8은 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법의 일 예를 도시한다.
도 9는 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스로부터 암호화용 키를 획득하는 방법의 흐름도를 도시한다.
도 10은 본 개시의 일 실시예에 따라 전자 디바이스가 암호화용 키를 저장하기 위해 이용하는, 디지털 키 애플릿 내의 메일 박스의 구조를 도시한다.
도 11은 본 개시의 일 실시예에 따라 전자 디바이스가 대칭 롱텀 키를 획득하는 방법의 흐름도를 도시한다.
도 12는 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법의 다른 일 예를 도시한다.
도 13은 본 개시의 일 실시예에 따라 전자 디바이스가 세션 키를 획득하는 방법의 흐름도를 도시한다.
도 14는 본 개시의 일 실시예에 따라 전자 디바이스가 상호 인증 과정에서 교환되는 정보를 이용하여 암호화용 키를 획득하는 방법의 흐름도를 도시한다.
도 15는 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법의 다른 일 예를 도시한다.
도 16은 본 개시의 일 실시예에 따라 전자 디바이스가 원격 제어 명령을 저장하기 위해 이용하는, 디지털 키 애플릿 내의 메일 박스의 구조를 도시한다.
도 17는 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 원격 제어 명령을 전달하는 방법의 다른 일 예를 도시한다.
도 18은 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법의 다른 일 예를 도시한다.
도 19는 본 개시의 일 실시예에 따른 전자 디바이스의 블록도를 도시한다.
도 20은 본 개시의 일 실시예에 따른 보안 요소의 블록도를 도시한다.
도 21은 본 개시의 일 실시예에 따른 타겟 디바이스의 블록도를 도시한다.
전자 디바이스가 안전하고 빠르게 원격 제어 명령을 타겟 디바이스에게 전달할 수 있는 방법이 제공된다.
본 개시의 일 측면은 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법에 있어서, 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증 과정에 기초하여, 암호화와 관련된 정보를 획득하는 단계; 상기 전자 디바이스의 보안 요소 상에 설치된 디지털 키 애플릿으로부터 프레임워크로 상기 암호화와 관련된 정보를 전달하는 단계; 상기 암호화와 관련된 정보를 이용하여 원격 제어 명령을 암호화 하는 단계; 및 암호화된 상기 원격 제어 명령을 상기 타겟 디바이스에게 전달하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하는 단계를 더 포함하고, 상기 상호 인증을 수행하는 단계는, 상기 타겟 디바이스로부터 상기 타겟 디바이스의 임시 공개 키(ephemeral public key, epk)를 수신하는 단계; 상기 타겟 디바이스에게 상기 전자 디바이스의 임시 공개 키를 전달하는 단계; 상기 타겟 디바이스의 임시 공개 키와 상기 전자 디바이스의 임시 공개 키를 포함하는 정보에 상기 타겟 디바이스의 비밀 키(private key)로 서명한 제1 데이터를 상기 타겟 디바이스로부터 수신하는 단계; 상기 타겟 디바이스의 공개 키를 이용하여 상기 제1 데이터를 검증하는 단계; 및 상기 타겟 디바이스의 임시 공개 키와 상기 전자 디바이스의 임시 공개 키를 포함하는 정보에 상기 전자 디바이스의 비밀 키로 서명한 제2 데이터를 상기 타겟 디바이스에게 전송하는 단계를 더 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 암호화와 관련된 정보를 획득하는 단계는, 상기 타겟 디바이스의 임시 공개 키와 상기 전자 디바이스의 임시 비밀 키를 이용하여, 암호화용 키(Krke)를 획득하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 암호화와 관련된 정보를 획득하는 단계는, 상기 타겟 디바이스로부터 암호화용 키의 생성 요청을 수신하는 단계; 및 상기 생성 요청에 기초하여, 상기 암호화용 키를 획득하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 암호화와 관련된 정보를 획득하는 단계는, 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증 과정에서 상기 타겟 디바이스로부터 수신된 명령(command)으로부터, 상기 상호 인증 과정이 최초 상호 인증임을 나타내는 파라미터를 식별하는 단계; 상기 식별된 파라미터에 기초하여 암호화용 키를 획득하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 암호화와 관련된 정보를 획득하는 단계는, 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하는 단계; 및 상기 상호 인증에 의해 생성된 보안 채널을 이용하여 상기 타겟 디바이스로부터 암호화용 키를 획득하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 디지털 키 애플릿으로부터 상기 프레임워크로 상기 암호화와 관련된 정보를 전달하는 단계는, 상기 디지털 키 애플릿으로부터 상기 프레임워크 내의 신뢰 실행 환경(TEE, Trusted Execution Environment)으로 상기 암호화와 관련된 정보를 전달하는 단계를 포함하고, 상기 원격 제어 명령을 암호화 하는 단계는, 상기 신뢰 실행 환경에서 상기 암호화와 관련된 정보를 이용하여 상기 원격 제어 명령을 암호화 하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 사용자 입력에 기초하여 상기 프레임워크 또는 다른 애플리케이션에서 생성된 상기 원격 제어 명령을 획득하는 단계를 더 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 암호화된 원격 제어 명령에 대응하는 동작을 수행한 상기 타겟 디바이스로부터, 상기 타겟 디바이스의 상태와 관련된 정보를 수신하는 단계를 더 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 전자 디바이스와 상기 타겟 디바이스 간의 키 교환 과정에 기초하여, 대칭 롱텀 키(symmetric Long-term key, Symmetric_LTS)를 생성하는 단계를 더 포함하고, 상기 암호화와 관련된 정보를 획득하는 단계는, 상기 상호 인증 과정에서 생성되는 논스(nonce)를 획득하는 단계를 포함하고, 상기 원격 제어 명령을 암호화 하는 단계는, 상기 논스 및 상기 대칭 롱텀 키를 이용하여, 암호화용 키를 획득하는 단계; 및 상기 암호화용 키를 이용하여 상기 원격 제어 명령을 암호화 하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 암호화와 관련된 정보를 획득하는 단계는, 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하는 단계; 상기 타겟 디바이스로부터 암호화용 키의 생성 요청을 수신하는 단계; 상기 디지털 키 애플릿 상에서 상기 암호화용 키 생성 요청에 기초하여, 상기 상호 인증 과정에서 수신된 상기 타겟 디바이스의 임시 공개 키를 이용하여 상기 암호화용 키를 생성하는 단계; 상기 타겟 디바이스로부터 논스를 포함하는 세션 키의 생성 요청을 수신하는 단계; 및 상기 디지털 키 애플릿 상에서 상기 세션 키 생성 요청에 기초하여, 상기 논스 및 상기 암호화용 키를 이용하여 상기 세션 키를 획득하는 단계를 포함하고, 상기 암호화와 관련된 정보를 전달하는 단계는, 상기 디지털 키 애플릿으로부터 상기 프레임워크로 상기 세션 키를 전달하는 단계를 포함하는, 방법을 제공할 수 있다.
본 개시의 다른 측면은 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법에 있어서, 원격 제어 명령을 획득하는 단계; 상기 타겟 디바이스에게 원격 제어 명령을 전송하는 단계; 및 상기 타겟 디바이스가 상기 원격 제어 명령을 검증할 수 있도록 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하는 단계를 포함하고, 상기 상호 인증을 수행하는 단계는, 상기 타겟 디바이스로부터 상기 원격 제어 명령에 대한 상기 전자 디바이스의 서명을 요청하는 명령을 수신하는 단계; 및 상기 원격 제어 명령에 대한 상기 전자 디바이스의 서명을 포함하는 응답을 상기 타겟 디바이스에게 전달하는 단계를 포함하는, 방법을 제공할 수 있다.
본 개시의 다른 측면은 전자 디바이스에 있어서, 디지털 키를 관리하는 디지털 키 애플릿이 설치된 보안 요소; 타겟 디바이스와 통신하는 통신부; 및 상기 보안 요소에 연결되고, 메모리에 저장된 프로그램 명령어들을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증 과정에 기초하여, 암호화와 관련된 정보를 획득하고, 상기 디지털 키 애플릿으로부터 프레임워크로 상기 암호화와 관련된 정보를 전달하고, 상기 암호화와 관련된 정보를 이용하여 원격 제어 명령을 암호화 하고, 상기 통신부를 통해 암호화된 상기 원격 제어 명령을 상기 타겟 디바이스에게 전달하는 것을 특징으로 하는 전자 디바이스를 제공할 수 있다.
본 개시의 다른 측면은 전자 디바이스에 있어서, 디지털 키를 관리하는 디지털 키 애플릿이 설치된 보안 요소; 타겟 디바이스와 통신하는 통신부; 및 상기 보안 요소에 연결되고, 메모리에 저장된 프로그램 명령어들을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 원격 제어 명령을 획득하고, 상기 타겟 디바이스에게 원격 제어 명령을 전송하고, 상기 타겟 디바이스가 상기 원격 제어 명령을 검증할 수 있도록 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하고, 상기 상호 인증을 수행하기 위해서, 상기 타겟 디바이스로부터 상기 원격 제어 명령에 대한 상기 전자 디바이스의 서명을 요청하는 명령을 수신하고, 상기 원격 제어 명령에 대한 상기 전자 디바이스의 서명을 포함하는 응답을 상기 타겟 디바이스에게 전달하는 것을 특징으로 하는, 전자 디바이스를 제공할 수 있다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시 예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 또한, 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에서 사용되는 용어는, 본 개시에서 언급되는 기능을 고려하여 현재 사용되는 일반적인 용어로 기재되었으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 다양한 다른 용어를 의미할 수 있다. 따라서 본 개시에서 사용되는 용어는 용어의 명칭만으로 해석되어서는 안되며, 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 해석되어야 한다.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 이 용어들에 의해 한정되어서는 안 된다. 이 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용된다.
또한, 본 개시에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것이며, 본 개시를 한정하려는 의도로 사용되는 것이 아니다. 단수의 표현은 문맥상 명백하게 단수를 뜻하지 않는 한, 복수의 의미를 포함한다. 또한, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본 명세서 전반에 걸쳐 사용된 “상기” 및 이와 유사한 지시어는 단수 및 복수 모두를 지시하는 것일 수 있다. 또한, 본 개시에 따른 방법을 설명하는 단계들의 순서를 명백하게 지정하는 기재가 없다면, 기재된 단계들은 적당한 순서로 행해 질 수 있다. 기재된 단계들의 기재 순서에 따라 본 개시가 한정되는 것은 아니다.
본 명세서에서 “디지털 키”는, 디지털화 된 가상의 키를 의미하고, 사용자는 디지털 키를 이용함으로써 디바이스를 제어하거나 디바이스에 접근할 수 있다. 본 개시는 디지털 키를 관리하는 방법에 관한 것으로서, 이하에서 “디지털 키”는 “키”, “암호화용 키”, “세션 키” 등으로 지칭될 수 있다.
본 명세서에서 다양한 곳에 등장하는 "일 실시 예에서" 등의 어구는 반드시 모두 동일한 실시 예를 가리키는 것은 아니다.
본 개시의 일 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어 질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어 질 수 있다.
본 개시의 다양한 실시 예들은 D2D(Device-to-Device) 통신에 기초한 매체 접근 제어(medium access control, MAC)에 관한 기술이다.
D2D 통신이란 기지국과 같은 인프라를 거치지 않고 지리적으로 근접한 전자 디바이스들이 직접적으로 통신하는 방식을 말한다. 전자 디바이스들은 1:1, 1:다(多), 다(多):다(多)로 통신할 수 있다. D2D 통신은 UWB(Ultra Wide Band), 와이파이 다이렉트(Wi-Fi Direct), 블루투스(Bluetooth), BLE(Bluetooth Low Energy)와 같이 비면허 주파수 대역을 사용할 수 있다. 또는, D2D 통신은 면허 주파수 대역을 활용하여 셀룰러 시스템의 주파수 이용 효율을 향상시킬 수도 있다. D2D 통신은 사물과 사물 간의 통신이나 사물 지능 통신을 지칭하는 용어로 제한적으로 사용되기도 하지만, 본 개시에서의 D2D 통신은 통신 기능이 장착된 단순한 전자 디바이스는 물론, 스마트 폰이나 개인용 컴퓨터와 같이 통신 기능을 갖춘 다양한 형태의 전자 디바이스들 간의 통신을 모두 포함할 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
본 개시는 디지털 키를 이용한 원격 키 동작(Remote Key Operation)에 관한 기술이다. 원격 키 동작이란, 사용자가 사용자로부터 가까운 전자 디바이스를 이용하여 원격으로 타겟 디바이스를 제어하는 것을 의미한다. 예를 들어, 타겟 디바이스가 자동차를 제어하는 디바이스인 경우, 사용자는 전자 디바이스를 통해 타겟 디바이스에게 원격 제어 명령을 전달함으로써, 원격으로 자동차의 문을 열거나, 자동차의 에어컨을 가동시거나, 자동차의 엔진을 예열 시키거나, 자동차를 주차할 수 있다.
이 때, 전자 디바이스는 보안 요소 내에 저장된 디지털 키를 이용함으로써, 원격 제어 명령을 안전하게 타겟 디바이스에게 전달할 수 있다. 이하에서는, 도 1 및 도 2를 참조하여, 전자 디바이스가 타겟 디바이스에게 원격 제어 명령을 전달하기 위해 이용될 수 있는 일반적인 방식을 설명한다.
도 1은 일반적으로 텔레매틱스(telematics)를 이용하여 차량을 원격 제어하는 방법을 설명하는 도면이다.
자동차(103)의 오너는 가까운 전자 디바이스(101)를 이용하여 자동차(103)를 원격으로 제어하기 위하여 텔레매틱스(Telematics)를 이용할 수 있다. 자동차(103)의 오너는 전자 디바이스(101)를 통해 차량의 OEM (Original Equipment Manufacturer)(예를 들어, 자동차 제조사 등)의 서비스 센터(102)에게 원격 제어를 요청할 수 있다. 전자 디바이스(101)는, 애플리케이션 또는 서비스 센터 전화 등을 통하여 수신된 오너의 사용자 입력에 기초하여, 차량의 OEM 서비스 센터(102)에게 원격 제어를 요청할 수 있다. 오너로부터 원격 제어를 요청 받은 차량의 OEM 서비스 센터(102)는, 텔레매틱스를 통해 원격 제어 명령을 자동차(103)에게 전송할 수 있다.
도 1에 도시된 텔레매틱스 기반 자동차 원격 제어 방법은, 서비스 제공 가능 범위(service coverage)가 넓다는 장점이 있다. 예를 들어, 텔레매틱스 기술을 이용하면, 회사에 있는 오너가 집에 있는 자동차를 제어할 수 있다. 반면에, 텔레매틱스 기반 자동차 원격 제어 방법은, 지연(latency)이 발생할 수 있다는 단점이 있다. 따라서, 원격 주차와 같이 지연에 의한 사고 발생 리스크가 큰 동작에 대해서는, 텔레매틱스 기반 원격 제어 방법이 활용될 가능성이 낮다. 따라서, 후술하는 바와 같이 전자 디바이스가 BLE 통신을 이용하여 자동차에게 원격 제어 명령을 전달하는 방법도 고려될 수 있다.
도 2는 일반적으로 전자 디바이스가 BLE 통신을 이용하여 원격 제어 명령을 자동차에게 전달하는 방법의 흐름도이다.
도 2에서 전자 디바이스(101)와 자동차(103)는 BLE 통신 방식을 이용하여 통신할 수 있다. 단계 S201에서 전자 디바이스(101)는, 자동차(103)에 대한 디지털 키와 함께 원격 제어 서비스 요청(RKE Request) 메시지를 자동차(103)에게 전송할 수 있다. 예를 들어, 전자 디바이스(101)는, 사용자가 원격으로 자동차(103) 문을 열 수 있도록 하는 원격 제어 서비스를 요청하는 메시지를 전송할 수 있다.
단계 S203에서 자동차(103)는 원격 제어 서비스 요청 메시지에 포함된 키 식별자를 식별할 수 있다. 단계 S205에서 자동차(103)는, 자동차(103) 챌린지(challenge) 및 자동차(103)에게 요청된 동작을 이용하여 임의의 데이터(arbitrary data)를 생성할 수 있다. 단계 S207에서 자동차(103)는, 키 식별자 및 임의의 데이터를 포함하는 정보에 대한 서명 요청을 전자 디바이스(101)에게 전송할 수 있다. 단계 S209에서 전자 디바이스(101)는 원격 제어 서비스 요청에 대한 사용자 승인이 있었는 지 여부를 체크할 수 있다.
단계 S211에서 전자 디바이스(101)는, 전자 디바이스(101)의 비밀 키(secret key, SK)(또는, 개인 키(private key))를 이용하여, 자동차(103)로부터 수신된 정보에 서명을 할 수 있다. 단계 S211에서 전자 디바이스(101)의 프레임워크(105)는, 자동차(103)에 대응하는 디지털 키 애플릿을 보안 요소(107)로부터 선택하고, 보안 요소(107)에게 사인 요청을 전달할 수 있다.
단계 S213에서 전자 디바이스(101)는, 보안 요소(107)로부터 자동차(103)에게 서명된 정보를 전달할 수 있다. 단계 S215에서 자동차(103)는, 서명된 정보를 전달 받았다는 응답을 전자 디바이스(101)에게 전달할 수 있다.
단계 S217에서 자동차(103)는, 전자 디바이스(101)의 서명을 승인(validate)하고, 단계 S219에서 자동차(103)의 상태를 잠금 해제로 변경할 수 있다. 단계 S221에서 자동차(103)는, 레인징 세션 상태가 '자동차_잠금 해제(vehicle_unlocked)'로 변경되었다는 결과를 전자 디바이스(101)에게 전달할 수 있다.
도 2에 도시된 BLE 기반 자동차 원격 제어 방법은, 텔레매틱스 기술과 마찬가지로, 지연이 발생할 수 있다는 단점이 있다. 왜냐하면, 도 2에 도시된 바와 같이, 전자 디바이스(101)는, 자동차(103)에게 원격 제어 명령을 전달할 때마다, 보안 요소(107)에 접근하고, 보안 요소(107) 내에 저장된 디지털 키를 이용하여 서명을 해야한다. 즉, 다른 디바이스에 의한 리플레이(replay) 어택을 방지하기 위해서는, 전자 디바이스(101)는 도 2의 단계 S211의 동작을 원격 제어 명령을 전달할 때마다 반복해야 한다. 따라서, 원격 주차와 같이 지연에 의한 사고 발생 리스크가 큰 동작에 대해서는, 도 2에 도시된 원격 제어 방법이 활용될 가능성이 낮다.
도 1 및 도 2에 도시된 방법들의 문제점을 해결하기 위하여, 본 개시의 다양한 실시예들은 원격 제어 명령을 연속적으로 신속하게 전달할 수 있는 방법을 제공한다. 이하에서는, 도 3 내지 도 21을 참조하여 원격 제어 명령을 안전하고 빠르게 전달할 수 있는 다양한 실시예들을 구체적으로 설명한다.
도 3은 본 개시의 일 실시예에 따른 자동차 원격 제어 시스템의 구성을 도시한다.
도 3에 도시된 바와 같이, 일 실시예에 따른 자동차 원격 제어 시스템에 포함되는 전자 디바이스(300) 및 자동차(400)는, UWB 모듈 및 BLE 모듈을 포함함으로써 원격 키 서비스(Remote Key service)를 제공할 수 있다. 본 개시에서 자동차(400)는, 전자 제어 장치를 포함하는 자동차를 의미할 수 있으나 이에 제한되지 않는다. 자동차(400)는, 자동차와 구별되는 별도의 전자 디바이스를 의미할 수 있다. 자동차(400)는, 자동차에 탑재되거나, 자동차에 연결되거나, 자동차에 포함되거나, 자동차를 제어하는 전자 디바이스를 의미할 수 있다. 예를 들어, 자동차(400)는, 자동차 콘솔, 자동차 키 시스템, 자동차에 탑재된 단말, 또는 자동차 전장 시스템을 의미할 수 있다. 이하에서는 설명의 편의를 위하여, 자동차(400)라고 지칭한다.
원격 키 서비스는, 전자 디바이스(300)와 자동차(400) 간의 BLE 연결을 통해서 사용자가 전자 디바이스(300)를 통해 입력한 원격 키 명령(remote key command)를 자동차(400)에 안전하게 전달할 수 있다. 예를 들어, 사용자가 입력한 원격 키 명령은, 원격으로 자동차의 문 열기, 원격으로 자동차의 시동 걸기, 또는 원격으로 주차하기 등을 포함할 수 있다.본 개시의 일 실시예에 따른 자동차 원격 제어 시스템은, 전자 디바이스(300) 및 자동차(400)를 포함할 수 있다. 전자 디바이스(300)와 자동차(400)는, BLE 및/또는 UWB를 이용하여 통신할 수 있다.
일 실시예에 따른 전자 디바이스(300)는 다양한 형태로 구현될 수 있다. 예를 들어, 전자 디바이스(300)는, 스마트 TV, 셋탑 박스, 휴대폰, 태블릿 PC, 디지털 카메라, 노트북 컴퓨터(laptop computer), 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등을 포함할 수 있다.
도 3을 참조하면, 전자 디바이스(300)에는, 자동차 제조사에서 제공하는 자동차 OEM 애플리케이션(330), 네이티브 애플리케이션(340), 및 프레임 워크(310) 등이 설치되어 있을 수 있고, 보안 요소(320), BLE 통신 모듈(350), 및 UWB 통신 모듈(360)을 포함할 수 있다. 다만, 전자 디바이스(300)의 구성은 도 3에 도시된 예로 한정되는 것은 아니며, 도 3에 도시된 구성보다 더 많은 구성을을 포함할 수도 있고 더 적은 구성을 포함할 수도 있다.
프레임워크(310)는, 모바일 어플리케이션이 동작할 수 있는 기능을 API(Application Programming Interface) 형태로 제공하는 소프트웨어 및/또는 하드웨어 환경을 의미할 수 있다. 프레임워크(310)는, 보안 개체(security entity)가 아닌 영역에 존재하는 개체로 디지털 키 서비스를 제공할 수 있다.
예를 들어, 프레임워크(310)는, 운영 체제(Operating System)에 포함되어 구현되거나, 운영 체제와는 별도의 소프트웨어로 구현될 수 있다. 프레임워크(310)는 디지털 키 서비스를 제공할 수 있다. 프레임워크(310)는, 외부 엔티티(예를 들어, 제공 서버(Provision server), 제조사 업체의 백엔드 서버(OEM Backend server), 서비스 제공자 서버(Service Provider server) 등)가 접근할 수 있는 API를 제공하고, 보안 요소(320)에 접근(access)을 위한 엑세스 컨트롤 및 명령어(command) 변환 등과 같은 기능을 제공할 수 있다.
일 실시예에 따른 보안 요소(320)는 전자 디바이스(300)의 독립된 보안 저장 장치로, 인증된 애플리케이션만 접근 가능한 보안 영역이다. 예를 들어, 보안 요소(320)는, embedded Secure Element(eSE), Secure Digital Card(SD Card), Strong box, Security Unity, Universal integrated Circuit Card(UICC) 또는 embedded UICC (eUICC) 등을 포함할 수 있다.
전자 디바이스(300)는, BLE 통신 모듈(350)을 이용하여, 자동차(400)와 암호화된 APDU(Application Protocol Data Unit)을 주고받을 수 있다. 또한, 전자 디바이스(300)는, UWB 통신 모듈(360)을 이용하여 타겟 디바이스(700)와 보안 레인징을 수행할 수 있다. 이 때, 암호화된 데이터의 송수신 및 보안 레인징을 위해서는, 디지털 키가 이용될 수 있다.
일 실시예에 따른 전자 디바이스(300)의 보안 요소(320) 내에는, 디지털 키 관리를 위한 애플릿(또는 코드, 애플리케이션)이 설치될 수 있다. 예를 들어, 본 개시의 일 실시예에 다른 전자 디바이스(300)의 보안 요소(320) 내에는, 디지털 키 애플릿(Digital key Applet)(321)이 설치될 수 있다.
디지털 키 애플릿(321)은, 보안 요소(Secure Element), 임베디드 보안 요소(embeded Secure Element), 스트롱 박스(Strong Box), 또는 보안 유닛(Security Unit) 등을 포함하는 보안 개체(Security Unit)에 설치되는 애플리케이션을 의미할 수 있다.
디지털 키 애플릿(321)은 디지털 키를 발행하여 저장할 수 있다. 보다 구체적으로, 디지털 키 애플릿(321)은 프레임워크(310)로부터 디지털 키 생성 요청을 수신하여, 디지털 키를 생성할 수 있다. 일 실시예에 따르면, 디지털 키 애플릿(321)은, 디지털 키 별 특화 정보를 저장하는 저장 구조체인 메일박스(mailbox)를 저장할 수 있다.
일 실시예에 따른 프레임워크(310)는, 별도로 독립된 보안 영역이 제공하는 신뢰 실행 환경(Trusted Execution Environment, TEE)(311)을 제공할 수 있다. 일 실시예에 따른 전자 디바이스(300)는, TEE(311)에서 원격 제어 명령을 암호화하고 자동차(400)에게 전달함으로써, 원격 제어의 보안성을 높일 수 있다. 그러나, 본 개시의 다양한 실시예들은 도 3에 도시된 구조에 제한되지 않으며, TEE(311)을 제공하지 않는 프레임워크(310)가 이용될 수 있다.
이하에서는, 도 4a 및 도 4b를 참조하여, 도 3에 도시된 전자 디바이스(300)가 자동차(400)에게 원격 제어 명령을 전달하는 방법을 간단하게 설명한다.
도 4a는 본 개시의 일 실시예에 따른 자동차 원격 제어 시스템이 원격 제어 서비스 세션을 생성하는 과정을 설명할 수 있다. 도 4b는 본 개시의 일 실시예에 따른 자동차 원격 제어 시스템이 원격 제어 서비스를 제공하는 과정을 설명하기 위한 도면이다.
도 4a의 단계 S301에서 본 개시의 일 실시예에 따른 전자 디바이스(300)는, 자동차(400)와 트랜잭션(transaction)을 수행할 수 있다. 전자 디바이스(300)의 디지털 키 애플릿(321)과 자동차(400)는 트랜잭션을 통해 디지털 키를 이용한 상호 인증 절차를 수행할 수 있다.
예를 들어, 트랜잭션은 표준 트랜잭션(standard transaction) 또는 고속 트랜잭션(fast transaction)을 포함할 수 있다. 트랜잭션은, CCC(Car Connectivity Consortium) 규격에 정의된 자동차(400)와 전자 디바이스(300)의 디지털 키 애플릿(321) 간의 디지털키를 이용한 상호 인증 절차를 의미할 수 있다.
단계 S302에서 일 실시예에 따른 디지털 키 애플릿(321)은, 원격 제어 서비스용 세션 키(RKE session key)를 도출할 수 있다. 본 개시에서 원격 제어 서비스는, 원격 제어를 통해 이용할 수 있는 자동차가 제공하는 서비스를 의미할 수 있다. 원격 제어 서비스는, 원격 키 엔트리(Remote Key Entry, RKE)라고도 지칭될 수 있다.
도 4b의 단계 S303에서 전자 디바이스(300)는, 디지털 키 애플릿(321)으로부터 프레임워크(310)로 원격 제어 서비스 용 세션 키를 가져올 수 있다. 단계 S304에서 전자 디바이스(300)는, 사용자 입력, 명령들을 포함하는 원격 제어 명령을 원격 제어 서비스 용 세션 키를 이용하여 암호화할 수 있다. 전자 디바이스(300)는 암호화된 원격 제어 명령을 자동차(400)에게 전송할 수 있다.
본 개시에서 디지털 키 애플릿(321)과 자동차(400), 또는 TEE(311)와 자동차(400) 간의 정보 교환에 있어서, 중간에 릴레이(relay)를 해주는 개체(예를 들어, 프레임워크(310) 등)가 존재할 수도 있다. 그러나 양단간(end to end) 정보 교환을 설명함에 있어서, 중간 개체는 생략하고 최종 단만 이용하여 설명할 수 있다.
도 4b에 도시된 바와 같이, 일 실시예에 따른 전자 디바이스(300)는, 디지털 키 애플릿(321)에 저장되어 있는 암호화와 관련된 정보(예를 들어, 원격 제어 서비스용 세션 키, 암호화용 키 등)를 보안 요소(320) 내의 디지털 키 애플릿(321)으로부터 프레임워크(310)로 가지고 옴(fetch)으로써, 복수의 원격 제어 명령들을 연속적으로 신속하게 암호화하여 전달할 수 있다.
도 2에 도시된 절차에 따르면, 전자 디바이스(101)는, 자동차(103)에게 원격 제어 명령을 전달할 때마다, 보안 요소(107)에 접근하고, 보안 요소(107) 내에 저장된 디지털 키를 이용하여 서명을 해야했다. 그러나, 도 4a 및 4b에 도시된 본 개시의 일 실시예에 따르면, 프레임워크(310)는, 디지털 키 애플릿(321)으로부터 가지고 온 암호화와 관련된 정보를 이용하여 복수의 원격 제어 명령들을 암호화할 수 있다. 따라서, 본 개시의 일 실시예에 따르면, 전자 디바이스(300)가 복수의 원격 제어 명령들을 전송할 때마다 매번 보안 요소(320)에 접근하지 않아도 된다.
도 3, 도 4a 및 도 4b는, 본 개시의 일 실시예에 따라 전자 디바이스(300)가 자동차(400)에게 원격 제어 명령을 전달하는 경우를 예로서 도시한다. 자동차(400)는, 자동차의 적어도 일부 기능을 제어하는 디바이스일 수 있다. 그러나, 본 개시의 다양한 실시예들은 전자 디바이스(300)가 자동차(400)와 통신하는 것으로 제한되지 않는다. 전자 디바이스(300)는, 다양한 타겟 디바이스와 통신하고, 원격 제어 명령을 전달할 수 있다.
예를 들어, 타겟 디바이스는 다양한 형태로 구현될 수 있다. 예를 들어, 타겟 디바이스는, 스마트 TV, 셋탑 박스, 휴대폰, 자동차, 태블릿 PC, 디지털 카메라, 노트북 컴퓨터(laptop computer), 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등을 포함할 수 있다. 다만 타겟 디바이스는 전술된 예에 한정되는 것은 아니고, 네트워크를 통해 서버(미도시)와 통신하고, 근거리 무선 통신을 통해 전자 디바이스(300)와 통신할 수 있는 장치이면 어느 것이든 가능할 수 있다.
예를 들어, 타겟 디바이스는 자동차, 호텔, 집, 빌딩, 놀이 공원, 스키장 등의 게이트에 구비되고, 전자 디바이스(300)로부터 수신된 원격 제어 명령에 기초하여 문의 개폐 여부를 제어할 수 있다. 또는, 타겟 디바이스는 자동차에 구비되어, 전자 디바이스(300)로부터 수신된 원격 제어 명령에 기초하여 자동차의 문 개폐, 에어컨 조절, 시동, 주차, 또는 주행 등을 제어할 수 있다.
이하에서는 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법을 도 5의 흐름도를 참조하여 구체적으로 설명한다.
도 5는 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법의 흐름도를 도시한다.
단계 S510에서 일 실시예에 따른 전자 디바이스(300)는, 전자 디바이스(300)와 타겟 디바이스 간의 상호 인증 과정에 기초하여, 암호화와 관련된 정보를 획득할 수 있다. 일 실시예에 따른 전자 디바이스(300)의 보안 요소 내의 디지털 키 애플릿에서 암호화와 관련된 정보를 획득하고 저장할 수 있다.
본 개시의 일 실시예에 따른 전자 디바이스(300)는, 타겟 디바이스와의 상호 인증을 수행하고 암호화와 관련된 정보로서 암호화용 키를 획득할 수 있다.
일 실시예에 따른 상호 인증 과정에서 전자 디바이스(300)는, 타겟 디바이스로부터 타겟 디바이스의 임시 공개 키를 수신하고, 타겟 디바이스에게 전자 디바이스(300)의 임시 공개 키를 전달할 수 있다. 전자 디바이스(300)는, 타겟 디바이스의 임시 공개 키와 전자 디바이스(300)의 임시 공개 키를 포함하는 정보에 타겟 디바이스의 비밀 키로 서명한 제1 데이터를 타겟 디바이스로부터 수신할 수 있다. 전자 디바이스(300)는, 타겟 디바이스의 공개 키를 이용하여 제1 데이터를 검증할 수 있다. 전자 디바이스(300)는, 타겟 디바이스의 임시 공개 키와 전자 디바이스(300)의 임시 공개 키를 포함하는 정보에 전자 디바이스(300)의 비밀 키로 서명한 제2 데이터를 타겟 디바이스에게 전송할 수 있다.
전자 디바이스(300)는, 상호 인증 과정에서 수신된 타겟 디바이스의 임시 공개 키와 전자 디바이스(300)의 임시 비밀 키를 이용하여, 디지털 키 애플릿에서 암호화용 키(Krke)를 획득할 수 있다.
일 예로서, 전자 디바이스(300)는, 상호 인증 과정의 일부분으로서 암호화용 키를 획득할 수 있다. 예를 들어, 전자 디바이스(300)는, 디지털 키 애플릿 내부에서 상호 인증 과정을 수행하는 중에 메시지 인증 코드 키(Message Authentication Code key) 등을 계산할 때 추가로 암호화용 키를 계산할 수 있다.
다른 예로서, 전자 디바이스(300)는, 타겟 디바이스의 트리거링에 응답하여 암호화용 키를 생성할 수 있다. 전자 디바이스(300)는, 타겟 디바이스로부터 암호화용 키의 생성 요청을 수신할 수 있다. 전자 디바이스(300)는, 타겟 디바이스로부터 수신된 생성 요청에 기초하여, 암호화용 키를 획득할 수 있다. 예를 들어, 타겟 디바이스는, 암호화용 키 생성 요청과 관련된 파라미터가 설정된 명령을 전자 디바이스(300)에게 전송할 수 있다.
또 다른 예로서, 전자 디바이스(300)는, 타겟 디바이스와의 최초 트랜잭션 시 암호화용 키를 생성할 수 있다. 전자 디바이스(300)는, 타겟 디바이스와의 상호 인증 과정에서 타겟 디바이스로부터 수신된 명령으로부터, 해당 상호 인증 과정이 최초 상호 인증임을 나타내는 파라미터를 식별할 수 있다. 전자 디바이스(300)는, 식별된 파라미터에 기초하여 해당 상호 인증 과정이 최초 상호 인증이라고 판단되는 경우, 암호화용 키를 획득할 수 있다.
또 다른 예로서, 전자 디바이스(300)는, 타겟 디바이스로부터 암호화용 키를 전달받을 수 있다. 전자 디바이스(300)는, 타겟 디바이스와의 상호 인증을 수행하고, 상호 인증에 의해 생성된 보안 채널을 이용하여 타겟 디바이스로부터 암호화용 키를 획득할 수 있다.
한편, 본 개시의 다른 일 실시예에 따른 전자 디바이스(300)는, 전자 디바이스(300)와 타겟 디바이스 간의 키 교환 과정에 기초하여, 대칭 롱텀 키(symmetric Long-term key, Symmetric_LTS)를 생성할 수 있다. 예를 들어, 전자 디바이스(300)는, SPAKE2+(Simple Password Authenticated Key Exchange)를 수행한 후에 대칭 롱텀 키를 생성할 수 있다. 전자 디바이스(300)의 프레임워크(310)에서 대칭 롱텀 키가 생성될 수 있다. 그리고, 전자 디바이스(300)는, 타겟 디바이스와의 상호 인증을 수행할 수 있다. 전자 디바이스(300)의 디지털 키 애플릿(321)은, 상호 인증 과정에서 논스(nonce) 값을 획득할 수 있다. 예를 들어, 논스는, 상호 인증시마다 생성되는 새로운 값일 수 있다. 디지털 키 애플릿(321)은, 논스를 암호화와 관련된 정보로서 이용할 수 있다.
한편, 본 개시의 다른 일 실시예에 따른 전자 디바이스(300)는, 타겟 디바이스와의 상호 인증을 수행한 후, 암호화와 관련된 정보로서 세션 키를 획득할 수 있다.
전자 디바이스(300)는, 타겟 디바이스로부터 암호화용 키의 생성 요청을 수신할 수 있다. 전자 디바이스(300)의 디지털 키 애플릿(321)은, 암호화용 키 생성 요청에 기초하여, 상호 인증 과정에서 수신된 타겟 디바이스의 임시 공개 키를 이용하여 암호화용 키를 생성할 수 있다. 전자 디바이스(300)는, 타겟 디바이스로부터 논스를 포함하는 세션 키의 생성 요청을 수신할 수 있다. 전자 디바이스(300)의 디지털 키 애플릿(321)은, 세션 키 생성 요청에 기초하여, 논스 및 암호화용 키를 이용하여 세션 키(SPSK, Secure Passthrough Session Key)를 획득할 수 있다. 디지털 키 애플릿(321)은, 세션 키를 암호화용 정보로서 획득할 수 있다.
단계 S520에서 일 실시예에 따른 전자 디바이스(300)는, 전자 디바이스(300)의 보안 요소 상에 설치된 디지털 키 애플릿으로부터 프레임워크로 암호화와 관련된 정보를 전달할 수 있다. 본 개시의 일 실시예에 따른 전자 디바이스(300)는, 프레임워크(310) 내의 TEE(311)로 암호화와 관련된 정보를 전달받을 수 있다.
본 개시의 다양한 실시예들에 따르면, 암호화와 관련된 정보는, 상호 인증 과정에서 수신된 임시 키를 이용하여 획득된 암호화용 키(Krke), 상호 인증 과정에서 획득된 논스 값, 또는 암호화용 키(Krke) 및 논스를 이용하여 획득된 세션 키(SPSK) 중 적어도 하나를 포함할 수 있다.
단계 S530에서 일 실시예에 따른 전자 디바이스(300)는, 암호화와 관련된 정보를 이용하여 원격 제어 명령을 암호화 할 수 있다. 전자 디바이스(300)의 프레임워크(310)는, 디지털 키 애플릿(321)으로부터 전달받은 암호화와 관련된 정보를 이용하여 원격 제어 명령을 암호화할 수 있다.
일 실시예에 따른 전자 디바이스(300)는, 사용자 입력이 반영된 원격 제어 명령을 획득할 수 있다. 예를 들어, 원격 제어 명령은, 사용자 입력에 기초하여 전자 디바이스(300)의 프레임워크(310)에서 생성될 수 있다. 또는, 원격 제어 명령은, 사용자 입력에 기초하여 다른 애플리케이션에서 생성될 수 있다.
일 실시예에 따른 전자 디바이스(300)는, 프레임워크(310) 내의 TEE(311)에서 원격 제어 명령을 암호화 할 수 있다.
본 개시의 일 실시예에 따른 전자 디바이스(300)의 프레임워크(310)는, 단계 S520에서 암호화와 관련된 정보로서 논스를 획득한 경우, 논스 및 대칭 롱텀 키를 이용하여 암호화용 키를 획득할 수 있다. 전자 디바이스(300)는, 논스 및 대칭 롱텀 키를 이용하여 획득된 암호화용 키를 이용하여 원격 제어 명령을 암호화 할 수 있다.
본 개시의 일 실시예에 따른 전자 디바이스(300)의 프레임워크(310)는, 단계 S520에서 암호화와 관련된 정보로서 세션 키를 획득한 경우, 세션 키를 이용하여 원격 제어 명령을 암호화 할 수 있다.
단계 S540에서 일 실시예에 따른 전자 디바이스(300)는, 암호화된 원격 제어 명령을 타겟 디바이스에게 전달할 수 있다.
타겟 디바이스는, 암호화된 원격 제어 명령을 복호화 하고, 원격 제어 명령에 대응하는 소정 동작을 수행할 수 있다. 또한, 타겟 디바이스는, 원격 제어 명령에 대응하는 소정 동작을 수행한 결과를 전자 디바이스(300)에게 전달할 수 있다. 전자 디바이스(300)는, 타겟 디바이스로부터 타겟 디바이스의 상태와 관련된 정보를 수신하고, 타겟 디바이스의 상태 정보를 업데이트 할 수 있다.
이하에서는, 도 6을 참조하여 본 개시의 일 실시예에 따라 타겟 디바이스가 전자 디바이스(300)로부터 암호화된 원격 제어 명령을 수신하는 과정을 설명한다.
도 6은 본 개시의 일 실시예에 따라 타겟 디바이스가 원격 제어 명령에 따라 동작하는 방법의 흐름도를 도시한다.
타겟 디바이스가 암호화된 원격 제어 명령을 해독하기 위해서는, 전자 디바이스(300)가 이용한 암호화용 키 또는 세션 키가 필요하다. 따라서, 도 5의 단계 S510 내지 S530에서 전자 디바이스(300)가 암호화용 키 또는 세션 키를 획득하기 위해서 수행된 동작들의 적어도 일부를 타겟 디바이스가 수행할 수 있다. 도 5와 중복되는 설명은 생략한다.
단계 S610에서 일 실시예에 따른 타겟 디바이스는, 전자 디바이스(300)와 상호 인증을 수행할 수 있다. 일 실시예에 따른 타겟 디바이스는, 전자 디바이스(300)와의 상호 인증 과정에 기초하여, 암호화와 관련된 정보를 획득할 수 있다.
예를 들어, 암호화와 관련된 정보는, 상호 인증 과정에서 수신된 임시 키를 이용하여 획득된 암호화용 키(Krke), 상호 인증 과정에서 획득된 논스 값, 또는 암호화용 키(Krke) 및 논스를 이용하여 획득된 세션 키(SPSK) 중 적어도 하나를 포함할 수 있다.
단계 S620에서 일 실시예에 따른 타겟 디바이스는, 전자 디바이스(300)로부터 암호화된 원격 제어 명령을 수신할 수 있다. 타겟 디바이스가 수신한 암호화된 원격 제어 명령은, 도 5의 단계 S530에서 암호화용 키 또는 세션 키를 이용하여 암호화된 원격 제어 명령일 수 있다.
단계 S630에서 일 실시예에 따른 타겟 디바이스는, 암호화된 원격 제어 명령을 복호화 할 수 있다.
타겟 디바이스는, 전자 디바이스(300)와의 상호 인증 과정에서 획득된 암호화와 관련된 정보로부터 암호화용 키 또는 세션 키를 획득할 수 있다. 타겟 디바이스는, 암호화용 키 또는 세션 키를 이용하여, 암호화된 원격 제어 명령을 복호화할 수 있다.
타겟 디바이스는, 복호화된 원격 제어 명령에 기초하여, 원격 제어 명령에 대응하는 소정 동작을 수행할 수 있다
또한, 타겟 디바이스는, 원격 제어 명령에 대응하는 소정 동작을 수행한 결과를 전자 디바이스(300)에게 전달할 수 있다. 전자 디바이스(300)는, 타겟 디바이스로부터 타겟 디바이스의 상태와 관련된 정보를 수신하고, 타겟 디바이스의 상태 정보를 업데이트 할 수 있다.
이하에서는 본 개시의 일 실시예에 따라 전자 디바이스(300)가 프레임워크(310)의 TEE(311)을 이용하여 타겟 디바이스에게 제어 명령을 전달하는 방법을 도 7의 흐름도를 참조하여 구체적으로 설명한다.
도 7은 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법의 일 예를 도시한다.
도 7에서 전자 디바이스(300)와 타겟 디바이스(700) 간의 BLE 연결이 확립(establish)된 것이 가정된다.
단계 S700에서 전자 디바이스(300)의 프레임워크(310)는 타겟 디바이스(700)에게 원격 제어 명령을 전송하기 위한 프로세스를 수행하자는 알림(notification)을 전송한다. 단계 S700은 구현에 따라 생략될 수 있다.
단계 S701에서 타겟 디바이스(700)와 전자 디바이스(300)의 디지털 키 애플릿(321)이 트랜잭션을 수행할 수 있다. 트랜잭션은, 표준 트랜잭션 또는 고속 트랜잭션을 포함할 수 있고, 상호 인증 절차를 의미할 수 있다.
단계 S701에서 타겟 디바이스(700)와 전자 디바이스(300)의 디지털 키 애플릿(321)이 상호 인증을 수행할 수 있다.
단계 S702에서 디지털 키 애플릿(321)이 원격 제어 메시지를 전송하기 위해 이용할 암호화 용 키(Krke)를 계산할 수 있다. 예를 들어, 디지털 키 애플릿(321)은, 상호 인증 단계의 일부분으로서 암호화용 키(Krke)를 계산할 수 있다. 디지털 키 애플릿(321)은, 아래의 [표 1]과 같이, 상호 인증 중에 키 및, Message Authentication Code 키 등을 계산할 때 추가로 암호화용 키를 계산할 수 있다.
[표 1]
Figure PCTKR2020007600-appb-img-000001
[표 1]은 CCC 규격에서 정의되는 AUTH0 명령을 처리하는 절차를 도시한다. AUTH0 명령은, 타겟 디바이스가 전자 디바이스에게 인증 절차(authentication procedure) 수행을 요청하는 데 사용된다..
단계 S703에서 타겟 디바이스(700)도, 디지털 키 애플릿(321)과 동일한 방법으로 암호화용 키(Krke)를 계산할 수 있다.
단계 S704에서 디지털 키 애플릿(321)이 프레임워크(310)의 TEE(311)에게 암호화용 키(Krke)를 전달할 수 있다.단계 S705에서 TEE(311)는, 원격 제어 명령(RkeMsg)를 획득할 수 있다. 예를 들어, 원격 제어 명령(RkeMsg)은, 사용자 입력에 기초하여 프레임워크(310) 또는 TEE(311)에서 생성되거나, 사용자 입력에 기초하여 다른 애플리케이션에서 생성될 수 있다.
단계 S706에서 TEE(311)는, 암호화용 키(Krke)를 이용하여 원격 제어 명령(RkeMsg)을 암호화할 수 있다.
단계 S707에서 TEE(311)가 암호화된 원격 제어 명령(RkeMsg)을 타겟 디바이스(700)에게 전송할 수 있다. 단계 S708에서 타겟 디바이스(700)는, 수신된 암호화된 원격 제어 명령(RkeMsg)을 복호화하여 원격 제어 명령(RkeMsg)를 확인할 수 있다. 타겟 디바이스(700)는, 원격 제어 명령(RkeMsg)에 대응하는 동작을 수행할 수 있다.
단계 S709에서 타겟 디바이스(700)는, 원격 제어 명령(RkeMsg)에 대응하는 동작을 수행함에 따른 타겟 디바이스 상태 변화를 프레임 워크(310)에게 전송함으로써, 타겟 디바이스 상태 변화를 업데이트할 수 있다.
예를 들어, 타겟 디바이스가 자동차인 경우, 자동차 상태 변화를 업데이트할 수 있다. 자동차의 상태는, 자동차 문의 잠금/잠금 해제(door lock/unlock), 또는 엔진 시동(enging start) 등을 포함할 수 있다.
단계 S710 내지 단계 S714는, 앞서 설명한 단계 S705 내지 단계 S709와 동일하다. 도 7에 도시된 바와 같이, 본 개시의 일 실시예에 따른 전자 디바이스(300)는, 타겟 디바이스(700)와 한번의 트랜잭션을 수행한 후, 복수의 원격 제어 명령(RkeMsg)들을 TEE(311)를 통해서 타겟 디바이스(700)에게 전송할 수 있다. TEE(311)는, 단계 S704에서 전달받은 암호화용 키(Krke)를 이용하여, 복수의 원격 제어 명령(RkeMsg)들을 암호화할 수 있다. 따라서, 전자 디바이스(300)는, 복수의 원격 제어 명령들을 전송할 때마다 매번 디지털 키 애플릿(321)에 접근하지 않아도 원격 제어 명령들을 암호화하여 전송할 수 있다.
본 개시의 일 실시예에 따른 전자 디바이스(300)는, 도 7에 도시된 바와 같이 TEE(311)을 이용하여 타겟 디바이스에게 원격 제어 명령을 전달할 수 있다. 그러나 본 개시는 도 7에 도시된 예에 제한되지 않는다. 도 8에 도시된 바와 같이 일 실시예에 따른 전자 디바이스(300)는, TEE(311)을 이용하지 않고, 서비스 레벨의 보안성을 제공하는 프레임워크(310)에서 원격 제어 명령을 전달할 수 있다.
도 8은 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 원격 제어 명령을 전달하는 방법의 일 예를 도시한다.
도 7에서 단계 S704, S705, S706, S710, S711은 TEE(311)에서 수행되지만, 도 8에서 S804, S805, S806, S810, S811은 높은 보안 레벨의 TEE(311)가 아닌 서비스 레벨의 프레임워크(310)에서 수행된다는 점에서 차이가 있을 뿐, 도 8의 단계 S800 내지 S814는 도 7의 단계 S700 내지 S714에 동일하다. 따라서, 중복되는 설명은 생략한다.
상술한 바와 같이 일 실시예에 따른 전자 디바이스(300)는, 암호화용 키(Krke)를 이용하여 원격 제어 명령(RkeMsg)을 암호화 하여 전송할 수 있다. 암호화용 키(Krke)는, BLE를 통해 전달되는 명령어 및 데이터를 안전하게 보호하기 위하여 이용되는 디지털 키이다.
일 예로서, 전자 디바이스(300)는, 상호 인증 과정의 일부분으로서 자동으로 암호화용 키를 획득할 수 있다. 예를 들어, 전자 디바이스(300)는, 디지털 키 애플릿(321) 내부에서 상호 인증 과정을 수행하는 중에 추가로 암호화용 키를 계산할 수 있다.
다른 예로서, 전자 디바이스(300)는, 타겟 디바이스(700)의 트리거링에 응답하여 암호화용 키를 생성할 수 있다.
전자 디바이스(300)는, 타겟 디바이스(700)로부터 암호화용 키의 생성 요청을 수신할 수 있다. 타겟 디바이스(700)는 CCC 규격에서 정의되는 AUTHO 명령을 이용하여 전자 디바이스(300)의 디지털 키 애플릿(321)에게 암호화용 키 생성을 요청할 수 있다. 예를 들어, 타겟 디바이스(700)는, [표 2]와 같이 AUTH0 명령의 소정 파라미터를 설정하여 디지털 키 애플릿(321)에게 전송함으로써, 암호화용 키 생성을 요청할 수 있다.
[표 2]
Figure PCTKR2020007600-appb-img-000002
[표 2]는 CCC 규격에서 정의되는 AUTH0 명령에 포함되는 P1, P2 파라미터들을 도시한다. [표 2]의 AUTH0 명령은 암호화용 키 생성 요청 파라미터를 포함한다.
전자 디바이스(300)가 타겟 디바이스(700)로부터 수신한 AUTH0 명령에 포함되는 P1 파라미터의 bit3가 1로 설정되는 경우, 전자 디바이스(300)는, 원격 제어 메시지를 암호화 하기 위한 키(RkeMsgEnckey)의 생성이 요청되었다고 판단할 수 있다. 원격 제어 메시지를 암호화 하기 위한 키(RkeMsgEnckey)의 생성이 요청되면, 디지털 키 애플릿(321)은 암호화용 키(Krke)를 계산한다.
타겟 디바이스(700)가 암호화용 키의 생성을 요청하는 방법은, AUTH0에 포함되는 파라미터를 설정하는 방법에 제한되지 않는다. 예를 들어, 타겟 디바이스(700)는, 원격 제어 메시지를 암호화 하기 위한 키(RkeMsgEnckey)의 생성을 요청하는 별도의 명령을 전자 디바이스(300)에게 전송할 수 있다.
또 다른 예로서, 전자 디바이스(300)는, 타겟 디바이스(700)와의 최초 트랜잭션 시 암호화용 키를 생성할 수 있다.
타겟 디바이스(700)는, 전자 디바이스(300)와 타겟 디바이스(700) 간의 상호 인증 단계에서, 현재 수행하는 상호 인증을 위한 트랜잭션이 전자 디바이스(300)와 타겟 디바이스(700) 간의 BLE 연결 후 첫번째로 수행되는 트랜잭션임을 알려줄 수 있다.
[표 3]
Figure PCTKR2020007600-appb-img-000003
[표 3]은 CCC 규격에서 정의되는 AUTH0 명령에 포함되는 P1, P2 파라미터들을 도시한다. [표 3]의 AUTH0 명령은 최초 트랜잭션임을 나타내는 파라미터(Initial transaction)를 포함한다.
디지털 키 애플릿(321)은, 타겟 디바이스(700)로부터 수신한 AUTH0 명령에 포함되는 P1 파라미터의 bit3가 1로 설정되는 경우, 현재 수행되는 트랜잭션이 BLE 연결 이후 최초의 트랜잭션이라고 판단할 수 있다. 최초의 트랜잭션이라고 판단되면, 디지털 키 애플릿(321)은 암호화용 키(Krke)를 계산한다.
또 다른 예로서, 전자 디바이스(300)는, 자동차로부터 암호화용 키를 전달받을 수 있다.
도 9는 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스로부터 암호화용 키를 획득하는 방법의 흐름도를 도시한다.
도 9에 도시된 바와 같이 일 실시예에 따른 전자 디바이스(300)의 디지털 키 애플릿(321)은, 타겟 디바이스(700)로부터 암호화용 키(Krke)를 수신하고 저장할 수 있다.
단계 S901에서 타겟 디바이스(700)와 디지털 키 애플릿(321)이 트랜잭션을 수행할 수 있다. 트랜잭션을 수행한 후, 타겟 디바이스(700)와 디지털 키 애플릿(321) 간에는 보안 채널을 통한 통신이 가능하다.
단계 S902에서 타겟 디바이스(700)는, 단계 S901에서 생성된 보안 채널을 이용하여, 암호화용 키(Krke)를 디지털 키 애플릿(321)에게 전송하고 암호화용 키(Krke)를 디지털 키 애플릿(321)에 저장할 수 있다.
일 예로서, 타겟 디바이스(700)는, 아래의 [표 4]와 같이, 암호화용 키를 포함하는 데이터를 디지털 키 애플릿(321)에게 전달할 수 있다.
[표 4]
Figure PCTKR2020007600-appb-img-000004
다른 예로서, 타겟 디바이스(700)는, 교환 명령(Exchange command)을 이용하여 디지털 키 애플릿(321) 내의 메일 박스(mailbox)에 암호화용 키를 저장할 수 있다. 메일 박스는, 디지털 키 별로 특화된 정보를 저장하고 있는 저장 구조체로서, 디지털 키 애플릿 내에 저장될 수 있다.예를 들어, 교환 명령(Exchange command)은, CCC 규격에서 정의되는 명령으로서, 메일 박스로부터 데이터를 읽거나, 쓰거나, 또는 세팅하도록 하는 명령이다.
도 10은 본 개시의 일 실시예에 따라 전자 디바이스가 암호화용 키를 저장하기 위해 이용하는, 디지털 키 애플릿 내의 메일 박스의 구조를 도시한다.
타겟 디바이스(700)는, 교환 명령(Exchange command)를 이용하여, 메일 박스 내에 원격 제어 메시지를 암호화 하기 위한 키(RkeMsgEnckey)(1002)를 저장하고, SigBmp의 대응되는 bit(1001)를 1로 설정할 수 있다.
디지털 키 애플릿(321)은, 프레임워크(310) 또는 TEE(311)에게 SigBmp에 변화가 있음을 알리는 알림을 전송할 수 있다. 또는, 디지털 키 애플릿(321)은, 프레임워크(310) 또는 TEE(311)에게 원격 제어 메시지를 암호화 하기 위한 키(RkeMsgEnckey)(1002)가 저장되었음을 알리는 알림을 전송할 수 있다. 프레임워크(310) 또는 TEE(311)는, 프라이빗 데이터 획득 명령(GET PRIVATE DATAcommand)을 이용하여 디지털 키 애플릿(321)의메일박스로부터 암호화용 키(RkeEncKey)(1002)를 독출한다.
한편, 일 실시예에 따른 전자 디바이스(300)의 프레임워크(310)는, 원격 제어 명령을 전송함에 있어서 서비스 레벨의 보안을 제공하기 위해서 오너 페어링(owner pairing)을 이용할 수 있다. 오너 페어링은, 타겟 디바이스(700)와 전자 디바이스(300) 간의 최초 연결 과정을 의미할 수 있다.
본 개시의 일 실시예에 따르면, 전자 디바이스(300)(예를 들어, 모바일 단말)가 타겟 디바이스(700)(예를 들어, 자동차)에 최초로 등록될 때, 원격 제어 서비스용 대칭 롱텀 키(symmetric Long term key)가 함께 생성되어 등록될 수 있다.
이하에서는 본 개시의 일 실시예에 따라 전자 디바이스(300)와 타겟 디바이스(700) 간의 오너 페어링 과정에서 생성된 대칭 롱텀 키를 이용하여 안전하게 원격 제어 명령을 전달하는 방법을 도 11 및 도 12의 흐름도를 참조하여 구체적으로 설명한다.
도 11은 본 개시의 일 실시예에 따라 전자 디바이스가 대칭 롱텀 키를 생성하는 방법의 흐름도를 도시한다.
도 11에 도시된 바와 같이, 본 개시의 일 실시예에 따르면, 오너 페어링 단계에서, 전자 디바이스(300)와 타겟 디바이스(700)가 사용할 암호화 키가 생성될 수 있다.
단계 S1101에서 전자 디바이스(300)의 프레임워크(310)와 타겟 디바이스(700) 간에 SPAKE2+( Simple Password Authenticated Key Exchange)가 수행될 수 있다. SPAKE2+는, 타겟 디바이스(700)가 타겟 디바이스(700)의 오너를 검증하는 방법으로서, 오너 페어링 단계에서 수행될 수 있다.
예를 들어, SPAKE2+는 전자 디바이스(300)를 통해 입력되는 패스워드를 검증함으로써, 타겟 디바이스(700)가 전자 디바이스(300)를 검증하는 방법일 수 있다. SPAKE2+를 수행한 후, 타겟 디바이스(700)와 전자 디바이스(300)는, 암호화 및/또는 복호화에 이용될 수 있는 세션 키를 생성할 수 있다.
SPAKE2+ 과정에서 세션 키가 생성될 때, 일 실시예에 따른 프레임워크(310)는, 대칭 롱텀 키(symmetric key, Symmetric_LTS)를 추가로 생성하여 저장할 수 있다(S1102). 대칭 롱텀 키는, SPKAE2+ 수행 후 생성되는 값을 이용하여 타겟 디바이스(700)와 전자 디바이스(300)가 동일하게 계산해 낼 수 있는 값이다. 일 실시예에 따른 타겟 디바이스(700)도, 동일한 대칭 롱텀 키(symmetric key, Symmetric_LTS)를 추가로 생성하여 저장할 수 있다(S1103).
이후, 전자 디바이스(300)로부터 타겟 디바이스(700)로의 원격 제어 메시지(RkeMsg)의 전달이 필요한 경우, 도 12에 도시된 단계들이 수행될 수 있다.
도 12는 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법의 다른 일 예를 도시한다.
단계 S1201에서 타겟 디바이스(700)와 전자 디바이스(300)의 프레임워크(310)가 BLE로 연결될 수 있다.
단계 S1202에서 타겟 디바이스(700)와 디지털 키 애플릿(321)가 트랜잭션을 통해 상호 인증을 수행할 수 있다. 상호 인증을 수행한 후, 단계 S1203에서 디지털 키 애플릿(321)이 원격 제어용 논스(RkeNonce)를 계산할 수 있다. 단계 S1213에서 타겟 디바이스(700)가 동일한 원격 제어용 논스(RkeNonce)를 계산할 수 있다.
원격 제어용 논스(RkeNonce)는, 상호 인증 시마다 생성되는 새로운 값으로, 대칭 롱텀 키(symmetric_LTS)를 이용해서 암호화용 키(Krke)를 계산할 때 상호 인증 시 마다 새로운 값을 계산해내기 위해서 이용될 수 있다. 원격 제어용 논스(RkeNonce)는, [표 2], [표 3], [표 4], 도 9 및 도 10을 참조하여 상술한 암호화용 키(Krke)를 생성하는 방법들과 동일한 방법을 이용하여 생성될 수 있다.
예를 들어, 원격 제어용 논스(RkeNonce)는, 아래의 [표 5]와 같이 상호 인증 중에 키 및, Message Authentication Code 키 등을 계산할 때 추가로 계산될 수 있다.
[표 5]
Figure PCTKR2020007600-appb-img-000005
[표 5]는 CCC 규격에서 정의되는 AUTH0 명령을 처리하는 절차를 도시한다.
단계 S1204에서 디지털 키 애플릿(321)은 프레임워크(310) 또는 TEE(311)로 원격 제어용 논스(RkeNonce)를 전달할 수 있다.
단계 S1205에서 원격 제어용 논스(RkeNonce)를 획득한 프레임워크(310) 또는 TEE(311)는, 대칭 롱텀 키(symmetric_LTS)와 원격 제어용 논스(RkeNonce)를 이용하여 암호화용 키(Krke)를 계산할 수 있다. 예를 들어, 암호화용 키(Krke)는 다음의 [표 6]과 같이 유도(derivation)될 수 있다.
[표 6]
Figure PCTKR2020007600-appb-img-000006
[표 6]을 참조하면, 키(Key)로서 대칭 롱텀 키(symmetric_LTK)가 사용되고, 유도 컨택스트(Derivation context)로서 원격 제어용 논스(RkeNonce)가 사용될 수 있다. 예를 들어, 유도 컨택스트에는 타겟 디바이스(700)-디지털 키 애플릿(321) 간에 최근에 수행된 트랜잭션의 트랜잭션 식별자가 추가로 사용될 수 있다.
한편, 본 개시의 일 실시예에 따른 암호화용 키(Krke) 또는 세션 키(SPSK)는 타겟 디바이스(700)와 전자 디바이스(300) 사이에서 교환하는 데이터(예를 들어, 자동차와 단말 간에 교환하는 원격 제어 명령, 자동차 상태, 자동차 진단 정보, 자동차 환경 정보(내부 온도, 원격 제어 시작 알람 등))를 추가적으로 보호하는데 이용될 수 있다.
앞서 설명한 실시예들과 비교하여 후술한 실시예에 따르면, 암호화용 키(Krke)를 생성하기 위해 새로운 명령이 정의될 수 있다. 따라서, 이하에서는 본 개시의 일 실시예에 따라 새롭게 정의되는 명령을 이용하여 전자 디바이스(300)가 타겟 디바이스(700)에게 안전하게 원격 제어 명령을 전달하는 방법을 도 13 내지 도 15의 흐름도를 참조하여 구체적으로 설명한다. 또한, 도 13 내지 도 15를 참조하여, 암호화용 키(Krke)의 생성을 위한 전자 디바이스의 추가 동작을 상세하게 설명한다.
도 13은 본 개시의 일 실시예에 따라 전자 디바이스가 세션 키를 획득하는 방법의 흐름도를 도시한다.
도 13은 전자 디바이스(300)의 보안 요소(320) 내에서 세션 키(SPSK)를 생성하는 단계들을 설명한다.
단계 S1301에서 일 실시예에 따른 전자 디바이스(300)는 타겟 디바이스(700)와의 표준 트랜잭션 또는 패스트 트랜잭션(Standard Transaction or Fast Transaction)을 통해 상호 인증을 수행할 수 있다. 단계 S1302에서 전자 디바이스(300)는, 타겟 디바이스(700)로부터 레인징 키 및 세션 키를 생성하라는 명령을 수신할 수 있다. 보안 요소(320)에서 세션 키(SPSK)를 생성하라는 요청은, 다른 명령에 일부분으로서 포함되거나, 다른 명령들로부터 독립적인 명령일 수 있다. 단계 S1303에서 전자 디바이스(300)는, 타겟 디바이스(700)의 명령에 기초하여, 보안 요소(320)에서 세션 키(SPSK)를 생성하여 저장할 수 있다. 부가적으로 세션 키(SPSK)는 디지털 키 식별자(digital key identification)와 맵핑되어 저장될 있다.
이 때, 디지털 키 식별자는 디지털 키의 고유한 식별자로서 한정되지 않는다. 디지털 키 식별자는, 디지털 키를 특정하는 정보(예를 들어, 타겟 디바이스(700)로부터 할당받은 고유한 식별자, 타겟 디바이스(700)가 키 생성 시 할당한 고유의 암호화용 키 식별자(Krke ID)등), 또는 암호화용 키(Krke)를 생성하기 전에 수행된 상호 인증 단계의 트랜잭션 식별자(transaction ID) (또는, 세션 식별자(session ID))로 대체되거나, 이들 정보를 추가로 포함하여 함께 저장 될 수 있다.
단계 S1304에서 전자 디바이스(300)는, 타겟 디바이스(700)에게 세션 키(SPSK) 생성 결과를 회신할 수 있다. 생성 결과는 동작 수행 결과를 알려주는 4바이트의 status words 혹은 상태 코드 일 수 있다.
단계 S1305에서 타겟 디바이스(700)는, 세션 키(SPSK)를 생성하고 저장할 수 있다.
다음으로, 도 14는 본 개시의 일 실시예에 따라 전자 디바이스가 상호 인증 과정에서 교환되는 정보를 이용하여 암호화용 키를 획득하는 방법의 흐름도를 도시한다.
단계 S1401 내지 S1404는 전자 디바이스(300)와 타겟 디바이스(700) 간의 상호 인증 방법을 보여준다. 전자 디바이스(300)와 타겟 디바이스(700)는, 상대방의 서명을 검증함으로써 인증을 수행할 수 있다. 전자 디바이스(300)와 타겟 디바이스(700)는, 상대방이 서명에 사용하는 비밀 키(secret key, SK)(또는, 개인 키(private key))에 대응하는 공유 키(public key, PK)를 사전에 보유하고 있다고 가정한다. 따라서, 타겟 디바이스(700)가 타겟 디바이스(700)의 비밀 키를 이용하여 데이터에 서명을 하고 전자 디바이스(300)의 디지털 키 애플릿(321)에게 전달하면, 디지털 키 애플릿(321)은 사전에 보유하고 있던 타겟 디바이스(700)의 공개 키를 이용하여 타겟 디바이스(700)의 서명을 검증할 수 있다. 이와 마찬가지로 전자 디바이스(300)가 전자 디바이스(300)의 비밀 키를 이용하여 데이터에 서명을 하고 타겟 디바이스(700)에게 전달하면, 타겟 디바이스(700)는 사전에 보유하고 있던 전자 디바이스(300)의 공개 키를 이용하여 전자 디바이스(300)의 서명을 검증할 수 있다.
단계 S1401에서 타겟 디바이스(700)는, 임시 비밀 키, 및 임시 공개 키를 포함하는 타겟 디바이스(700)의 임시 키 쌍(ephemeral key pair)을 생성하고, 전자 디바이스(300)의 디지털 키 애플릿(321)에게 타겟 디바이스(700)의 임시 공개 키를 전달할 수 있다. 예를 들어, 타겟 디바이스(700)가 자동차인 경우, 타겟 디바이스(700)는, 임시 키 쌍으로서 자동차의 임시 공개 키(v.epk) 및 자동차의 임시 비밀 키(v.esk)를 생성할 수 있다.
단계 S1402에서 전자 디바이스(300)는, 전자 디바이스(300)의 임시 키 쌍을 생성하고, 타겟 디바이스(700)에게 전자 디바이스(300)의 임시 공개 키를 전달할 수 있다. 예를 들어, 전자 디바이스(300)는, 임시 키 쌍으로서 디바이스의 임시 공개 키(d.epk) 및 디바이스의 임시 비밀 키(d.esk)를 생성할 수 있다.
단계 S1403에서 타겟 디바이스(700)는, 상호 교환한 타겟 디바이스의 임시 공개 키와 전자 디바이스(300)의 임시 공개 키를 포함하는 정보에, 타겟 디바이스(700)의 비밀 키를 이용하여 서명을 하여 디지털 키 애플릿(321)에게 전달 할 수 있다.
단계 S1404에서 디지털 키 애플릿(321)은, 기 보유하고 있던 타겟 디바이스(700)의 공개 키를 이용하여, 수신된 타겟 디바이스(700)의 서명을 검증할 수 있다. 검증에 성공하면 디지털 키 애플릿(321)은, 상호 교환한 타겟 디바이스의 임시 공개 키와 전자 디바이스(300)의 임시 공개 키를 포함하는 정보에, 전자 디바이스(300)의 비밀 키를 이용하여 서명을 하여 타겟 디바이스(700)에게 전달할 수 있다. 타겟 디바이스(700)는, 기 보유하고 있던 전자 디바이스(300)의 공개 키를 이용하여, 수신된 전자 디바이스(300)의 서명을 검증할 수 있다.
단계 S1405에서 타겟 디바이스(700)는, 암호화용 키(Krke)의 생성을 요청하는 메시지를 디지털 키 애플릿(321)에게 전송할 수 있다. 단계 S1406에서 디지털 키 애플릿(321)은, 이미 교환한 타겟 디바이스(700)의 임시 공개 키와 전자 디바이스(300)의 임시 비밀 키를 인자로 활용하여, 암호화용 키(Krke)를 생성할 수 있다.
예를 들어, 전자 디바이스(300)가 암호화용 키(Krke)를 생성하기 위해서 다음과 같은 알고리즘을 이용할 수 있다.
먼저, 전자 디바이스(300)는, 전자 디바이스(300)의 임시 비밀 키와 타겟 디바이스의 임시 공개 키를 이용하여, ECKA-DH (Elliptic Curve Cryptography Diffie-Hellman Key Agreement) 를 수행하여 공통의 키를 생성한다. 생성된 공통의 키에 대하여 해쉬(Hash) 등 추가적인 키 유도 함수(Key derivation function)를 적용함으로써 암호화용 키(Krke)를 계산할 수 있다.
단계 S1405에서 타겟 디바이스(700)가 디지털 키 애플릿(321)에게 암호화용 키(Krke)를 생성할 것을 요청하는 메시지는, 암호화용 키 생성 요청을 위해 단독으로 이용되는 메시지이거나 또는 암호화용 키(Krke) 생성을 요청함을 의미하는 특정 필드, 파라미터, 또는 인디케이터 등을 포함하는 메시지일 수 있다.
단계 S1407에서 전자 디바이스(300)는, 암호화용 키(Krke)를 생성한 결과를 타겟 디바이스(700)에게 회신할 수 있다. 암호화용 키(Krke)를 생성한 결과는, 암호화용 키(Krke)의 생성에 성공하였는 지 또는 실패하였는 지 등에 대한 정보를 포함할 수 있다.
단말이 암호화용 키(Krke)의 생성에 성공한 경우, 단계 S1408에서 타겟 디바이스(700)도 암호화용 키(Krke)를 생성하여 저장할 수 있다. 타겟 디바이스(700)는, 이미 교환한 전자 디바이스(300)의 임시 공개 키와 타겟 디바이스(700)의 임시 비밀 키를 인자로 활용하여, 암호화용 키(Krke)를 생성할 수 있다. 상술한 과정에 따라 생성된 암호화용 키(Krke)가 활용되는 방법을 이하에서 도 15를 참조하여 설명한다.
도 15는 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법의 다른 일 예를 도시한다.
일 실시예에 따르면, 암호화용 키(Krke)는 디지털 키 애플릿(321) 내에 저장될 수 있다. 원격 제어용 메시지(RkeMsg) 등을 암호화 또는 복호화여 안전하게 타겟 디바이스(700)에게 전송하기 위해서, 디지털 키 애플릿(321)은 암호화용 키(Krke)를 이용하여 세션 키(SPSK)를 생성할 수 있다. 디지털 키 애플릿(321)은, 세션 키(SPSK)를 프레임워크(310) 또는 TEE(311) 등에 전달할 수 있다. 프레임워크(310)(또는, AP, TEE(311))는, 세션 키(SPSK)를 이용하여 데이터를 암호화 또는 복호화 함으로써 보안 통신을 수행할 수 있다.
단계 S1501에서 타겟 디바이스(700)는, 디지털 키 애플릿(321)에게 세션 키(SPSK) 생성을 요청할 수 있다. 세션 키(SPSK)를 요청하는 명령에는, 타겟 디바이스(700)가 생성한 랜덤 값인 논스가 포함될 수 있다. 타겟 디바이스(700)가 디지털 키 애플릿(321)에게 세션 키(SPSK)를 생성할 것을 요청하는 메시지는, 세션 키(SPSK) 생성 요청을 위해 단독으로 이용되는 메시지이거나 또는 세션 키(SPSK) 생성을 요청함을 의미하는 특정 필드, 파라미터, 또는 인디케이터 등을 포함하는 메시지일 수 있다. 세션 키(SPSK) 생성 요청은, 타겟 디바이스(700)로부터 디지털 키 애플릿(321)으로 직접 전달 되거나, 타겟 디바이스(700)로부터 프레임워크(310)를 거쳐 디지털 키 애플릿(321)에게 간접적으로 전달될 수 있다.
단계 S1502에서 디지털 키 애플릿(321)이, 타겟 디바이스(700)로부터 전달 받은 논스와 미리 유도된 암호화용 키(Krke)를 이용하여 세션 키(SPSK)를 생성할 수 있다.
단계 S1503에서 디지털 키 애플릿(321)이 세션 키(SPSK) 생성 결과를 타겟 디바이스(700)에게 회신할 수 있다. 단계 S1505에서, 디지털 키 애플릿(321)으로부터 세션 키(SPSK) 생성 결과를 수신한 타겟 디바이스(700)도, 논스와 암호화용 키(Krke)를 이용하여 세션 키(SPSK)를 생성할 수 있다.
단계 S1504에서 세션 키(SPSK)가 디지털 키 애플릿(321)으로부터 프레임워크(310)(또는, AP, TEE(311))에게 전달될 수 있다.
예를 들어, 프레임워크(310)(또는, AP, TEE(311))는, 세션 키(SPSK)를 받아오기 위한 명령을 디지털 키 애플릿(321)에게 전달하고, 해당 명령의 응답으로서 세션 키(SPSK)를 수신할 수 있다.
단계 S1506 내지 S1511에서 전자 디바이스(300)의 프레임워크(310)(또는, AP, TEE(311))와 타겟 디바이스(700)는, 세션 키(SPSK)를 이용하여, 메시지(예를 들어, 원격 제어용 메시지)의 암호화 또는 복호화, 매체 접근 제어(MAC)의 계산 또는 검증 등을 수행함으로 보안 통신을 수행할 수 있다.
한편, 본 개시의 일 실시예에 따르면 디지털 키 애플릿(321) 내의 메일박스(mailbox)를 이용하여 원격 제어 메시지를 전달할 수 있다.
본 개시의 일 실시예에 따른 UWB 디지털 키는, 원격 키 서비스들을 지원할 수 있다. 원격 키 서비스들을 지원하기 위해서, 전자 디바이스(300)로부터 타겟 디바이스(700)로 원격 제어 메시지(Remote Key Entry messages, RkeMsg)를 전달하기 위해 기존의 메일박스 메커니즘이 이용될 수 있다.
도 16은 본 개시의 일 실시예에 따라 전자 디바이스가 원격 제어 명령을 저장하기 위해 이용하는, 디지털 키 애플릿 내의 메일 박스의 구조를 도시한다.
도 16에 도시된 바와 같이, 원격 제어 메시지(RkeMsg)를 저장하기 위한 필드(1602)가 RkeMsgData로서 프라이빗 메일 박스 내에 새롭게 정의될 수 있다. RkeMsgData 필드가 변경되면, SigBmp 내에서 bit4(1601)가 설정된다.
전자 디바이스(300)는, 메일 박스 내에 원격 제어 메시지(RkeMsg)를 저장하고 SigBmp를 제1 값으로부터 제2 값으로 설정할 수 있다. 전자 디바이스(300)의 프레임워크(310)는 SigBmp에 설정된 값을 보고 해당 메일 박스로부터 원격 제어 메시지를 독출할 수 있다. 프레임워크(310)는, 원격 제어 메시지를 독출한 후, 해당 메일 박스에서 원격 제어 메시지를 삭제하고 SigBmp를 제1 값으로 리셋할 수 있다.
원격 키 명령(Remote Key Command, RK command) 내에 운반되는 원격 제어 메시지(RkeMsg)는, 원격 키 서비스를 위해 프레임워크(310)에 의해 설정되고 타겟 디바이스(700)에 의해 판독될 수 있다. 원격 키 명령 필드는, 타겟 디바이스(700)의 원격 제어를 위한 원격 키 엔트리/액세스에 대한 메시지들의 세트를 포함한다. 원격 제어 메시지는, 타겟 디바이스(700)에 의해 소비되고 제거될때까지 프라이빗 메일박스 내에 존재할 수 있다. 데이터 필드의 길이는 (MAILBOX_CONTENT_END_OFFSET - RKEMSG_DATA_OFFSET)로 정의될 수 있다.
아래의 정수(constant)는 본 개시의 나머지 부분에 대해서 추가적으로 정의될 수 있다.
RKEMSG_DATA_BIT = 04h
아래의 [표 7]은, 원격 키 명령(RKCmd) 필드를 포함하는 프라이빗 메일박스 메모리 매핑을 나타낸다.
[표 7]
Figure PCTKR2020007600-appb-img-000007
상기 [표 7]에서 RKEMSG_DATA_BIT(또는, RKEMSG_DATA_OFFSET)은, 타겟 디바이스(700)에 의해 준비 되도록 원격 키 메시지를 저장하기 위해 이용되고,원격 제어 메시지(Rke MSG Data) 데이터 구조의 시작 지점을 정의할 수 있다. 오프셋 값은, 전자 디바이스(300) 또는 타겟 디바이스(700) 제조사에 의해 특정되는 값일 수 있다.
원격 키 엔트리/액세스는, 전자 디바이스(300)와의 사용자 상호 작용에 의해 사용자가 타겟 디바이스(700)를 제어할 수 있도록 한다. 예를 들어, 원격 키 엔트리/액세스에 의하면 사용자가 자동차의 문을 개폐하거나, 엔진 시동을 거는 등의 원격 제어 기능 등을할 수 있도록 한다.
원격 키 엔트리/액세스에 대해서, 원격 제어 메시지(RkeMsg)는 디지털 키 애플릿 내에 저장되고 트랜잭션 이후 타겟 디바이스(700)에 의해 독출될 수 있다. 도 17은 원격 키 액세스를 위한 동작을 도시한다.
도 17은 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 원격 제어 명령을 전달하는 방법의 다른 일 예를 도시한다.
단계 S1701에서 전자 디바이스(300)의 애플리케이션(1780)은, 사용자 인터페이스를 통한 사용자 입력에 기초하여 원격 제어 메시지(RkeMsg)를 생성할 수 있다. 단계 S1702에서 애플리케이션(1780)은, 프레임워크(310)에게 원격 제어 메시지(RkeMsg)를 전송할 수 있다. 원격 제어 메시지(RkeMsg)의 형식은, 타겟 디바이스(700)의 제조사(예를 들면, 자동차 제조사)에 따라 달라지므로, 전자 디바이스(300)의 프레임워크(310) 및 디지털 키 애플릿(321)은 이해하기 어렵다. 애플리케이션(1780)으로부터 원격 제어 메시지(RkeMsg)가 수신되면, 프레임워크(310)는 원격 제어 메시지(RkeMsg)를 디지털 키 애플릿(321) 내의 프라이빗 메일박스 내에 저장할 수 있다. 프레임워크(310)는 원격 제어 메시지(RkeMsg)를 디지털 키 애플릿(321) 내의 프라이빗 메일박스 내에 저장하고, 도 16에 도시된 바와 같이 SigBmp bit4(1601)를 1로 업데이트할 수 있다.
전자 디바이스(300)와 타겟 디바이스(700) 간에 수립된 BLE 연결이 없다면, 단계 S1704에서 전자 디바이스(300)와 타겟 디바이스(700) 간에 BLE 연결을 셋업할 수 있다. 만약 이 전에 수립된 BLE 연결이 있다면, 단계 S1704는 생략될 수 있다.
단계 S1705에서 프레임워크(310)는, 원격 제어 메시지(RkeMsg)가 메일박스 내에 저장되었다는 알림을 타겟 디바이스(700)에게 전송할 수 있다. 알림을 수신하면, 단계 S1706에서 타겟 디바이스(700)는, 디지털 키 애플릿(321)으로부터 원격 제어 메시지(RkeMsg)를 회수하기 위해서 표준 트랜잭션 또는 패스트 트랜잭션을 수행하고 메일박스를 판독할 수 있다.
단계 S1707에서 타겟 디바이스(700)는, 원격 제어 메시지(RkeMsg)에 포함되는 원격 키 엔트리/액세스 요청에 기초하여, 대응되는 동작을 수행할 수 있다. 단계 S1708에서 타겟 디바이스(700)는, 전자 디바이스(300)에게 타겟 디바이스(700)의 상태 정보를 전송함으로써 타겟 디바이스(700)의 상태를 업데이트할 수 있다.
한편, 상호 인증을 수행한 후에 원격 제어 명령을 전송하는 상술한 실시예들과 달리, 본 개시의 일 실시예에 따라 트랜잭션 절차를 이용하여 원격 제어 명령을 전달하는 방법이 이용될 수 있다.
일 실시예에 따른 전자 디바이스(300)의 프레임워크(310)는, 타겟 디바이스(700)에게 원격 제어 메시지(RkeMsg)를 먼저 전송할 수 있다. 타겟 디바이스(700)는, 수신된 원격 제어 메시지(RkeMsg)에 대한 디지털 키 서명을 요청하고, 서명 결과를 받아 확인한 후에 원격 제어 동작을 수행할 수 있다. 이하에서는 도 18을 참조하여, 보다 구체적으로 살펴 본다.
도 18은 본 개시의 일 실시예에 따라 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법의 다른 일 예를 도시한다.
단계 S1801에서 전자 디바이스(300)의 프레임워크(310)는, 사용자 입력이 반영된 원격 제어 메시지를 획득할 수 있다. 예를 들어, 원격 제어 메시지는 다른 애플리케이션에서 생성된 메시지이거나, 프레임워크(310)가 직접 생성한 메시지일 수 있다.
단계 S1802에서 프레임워크(310)는, 타겟 디바이스(700)와 BLE 연결을 수립할 수 있다. 만약 이 전에 수립된 BLE 연결이 있다면, 단계 S1802는 생략될 수 있다.
단계 S1803에서 프레임워크(310)는 단계 S1801에서 획득된 원격 제어 메시지를 타겟 디바이스(700)에게 전송할 수 있다.
단계 S1804에서 일 실시예에 따른 전자 디바이스(300)는, 타겟 디바이스(700)에게 원격 제어 명령을 전송하고, 타겟 디바이스(700)가 원격 제어 명령을 검증할 수 있도록 전자 디바이스(300)와 타겟 디바이스(700) 간의 상호 인증을 수행할 수 있다. 상호 인증 과정에서 전자 디바이스(300)는, 타겟 디바이스(700)로부터 원격 제어 명령에 대한 전자 디바이스(300)의 서명을 요청하는 명령을 수신하고, 원격 제어 명령에 대한 전자 디바이스(300)의 서명을 포함하는 응답을 타겟 디바이스(700)에게 전달할 수 있다.
단계 S1804에서 원격 제어 메시지를 수신한 타겟 디바이스(700)는, 전자 디바이스(300)에게 수신된 원격 제어 메시지에 대한 서명을 요청할 수 있다. 예를 들어, 타겟 디바이스(700)의 서명 요청은, 원격 제어 메시지를 포함할 수 있다. 또는, 서명 요청은, 타겟 디바이스(700)가 생성한 랜덤 값을 포함할 수 있다. 또는, 서명 요청은 상호 인증 단계의 일부로서 수행될 수 있다.
타겟 디바이스(700)가, 트랜잭션 단계에서 전자 디바이스(300)에게 서명을 요청하는 경우, 서명에 필요한 정보를 요청에 포함하여 타겟 디바이스(700)가 전자 디바이스(300)에게 전송할 수 있다.
아래의 표 8 내지 표 10은 본 개시의 일 실시예에 따라 상호 인증 단계에서 이용될 수 있는 명령의 예를 도시한다.
단계 S1804-1에서 전자 디바이스(300)와 타겟 디바이스(700) 간에는 패스트 트랜잭션이 수행될 수 있다. 패스트 트랜잭션의 경우, 타겟 디바이스(700)는 아래의 [표 8]의 명령을 전자 디바이스(300)에게 전송할 수 있다.
[표 8]
Figure PCTKR2020007600-appb-img-000008
[표 8]은 CCC 규격에서 정의되는 AUTH0 명령에 포함되는 정보들을 나타낸다. [표 8]의 remote key command 필드는, 전자 디바이스(300)로부터 원격 제어 메시지를 받은 경우에만, AUTH0 명령에 포함될 수 있다.
Remote key command 필드에는, 수신한 원격 제어 메시지(RkeMsg)가 그대로 저장되거나, 별도의 수신된 원격 제어 메시지(RkeMsg)에 기반하여 처리 또는계산된 값이 저장될 수 있다.
타겟 디바이스(700)로부터 AUTH0 명령을 수신한 전자 디바이스(300)는 AUTH0 응답을 전송할 수 있다. AUTH0 응답은 아래 [표 9]에 포함되는 정보들을 포함할 수 있다.
[표 9]
Figure PCTKR2020007600-appb-img-000009
만약 [표 8]과 같이 Remote key command 필드가 AUTH0 명령에 포함되어 있었다면, 디지털 키 애플릿(321)은 Remote key command를 추가하여 크립토그램(cryptogram)을 계산할 수 있다. 예를 들어, 크립토그램 계산에 사용되는 컨텍스트는 reader_PK.x || endpoint_PK.x || transaction_identifier || reader_identifier || remote key command 일 수 있다.
한편, 단계 S1804-2에서 전자 디바이스(300)와 타겟 디바이스(700) 간에는 표준 트랜잭션이 수행될 수 있다. 표준 트랜잭션의 경우, 단계 S1804-1의 A1과 동일하게, 타겟 디바이스(700)는 [표 8]의 명령을 전자 디바이스(300)에게 전송할 수 있다. 타겟 디바이스(700)로부터 AUTH0 명령을 수신한 전자 디바이스(300)는 AUTH0 응답을 전송할 수 있다. AUTH0 응답에는 크립토그램이 포함될 수도 있고 포함되지 않을 수도 있다.
타겟 디바이스(700)는, 디지털 키 애플릿(321)에게 타겟 디바이스(700)의 서명을 포함하는 AUTH1 명령을 송신할 수 있다. 이 때, CCC 규격에서 정의되는 AUTH1 명령이 이용될 수 있다.
디지털 키 애플릿(321)이 디지털 키를 이용한 서명 값을 포함하는 AUTH1 응답을 통해, AUTH1 명령에 응답할 수 있다. 예를 들어, AUTH1 응답은 아래의 [표 10의 정보에 대한 서명값을 포함할 수 있다.
[표 10]
Figure PCTKR2020007600-appb-img-000010
[표 10]의 remote key command 필드는, AUTH0 명령에 Remote key command가 포함되어 있었던 경우에만 포함될 수 있다.
상술한 바와 같이 본 개시의 다양한 실시예들에 따르면, 전자 디바이스(300)로부터 타겟 디바이스(700)로 원격 제어 명령을 안전하게 전달할 수 있다. 이하에서는, 전자 디바이스(300)의 구체적인 구성을 설명한다.
도 19는 본 개시의 일 실시예에 따른 전자 디바이스의 블록도를 도시한다.
본 개시의 일 실시예에 따른 전자 디바이스(300)는 개인화된 모바일 디바이스를 포함할 수 있으나 이에 한정되지 않고, 다양한 종류의 전자 디바이스를 포함할 수 있다. 예를 들어, 전자 디바이스(300)는 스마트폰, 태블릿 PC, 카메라 및 웨어러블 장치 등을 포함할 수 있다.
도 19를 참조하면, 전자 디바이스(300)는 통신부(1910), 메모리(1920), 보안 요소(1930) 및 프로세서(1940)와 각 구성을 연결하는 버스(1950)를 포함할 수 있다. 그러나, 도 19에 도시된 구성 요소보다 많거나 적은 구성 요소에 의해 전자 디바이스(300)가 구현될 수 있다.
도 19에서는 전자 디바이스(300)가 하나의 프로세서를 포함하는 것으로 도시되었으나, 실시 예는 이에 제한되지 않으며, 전자 디바이스(300)는 복수의 프로세서들을 포함할 수 있다. 이하, 서술되는 프로세서(1940)의 동작 및 기능들의 적어도 일부는 복수의 프로세서들에 의해 수행될 수 있다.
도 19에 도시된 전자 디바이스(300)는, 본 개시의 다양한 실시 예들에 따른 전자 디바이스(300)의 동작 방법을 수행할 수 있으며, 도 1 내지 도 18에 대한 설명들이 적용될 수 있다. 따라서, 상술한 바와 중복되는 내용은 생략한다.
일 실시예에 따른 통신부(1910)는, 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(1910)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태일 수도 있고, 또는 통신에 필요한 정보를 포함하는 스티커/바코드(e.g. NFC tag를 포함하는 스티커)등일 수도 있다.
일 실시예에서 통신부(1910)는 근거리 통신(short range communication)을 위한 통신 모듈을 포함할 수 있다. 예를 들어, 통신부(1910)는 위에서 설명한 Wi-Fi, Wi-Fi Direct, 블루투스, BLE, NFC 외에 적외선 통신, MST(Magnetic Secure Transmission, 마그네틱 보안 통신과 같은 다양한 근거리 통신을 수행하기 위한 통신 모듈을 포함할 수 있다.
메모리(1920)에는 애플리케이션과 같은 프로그램 및 파일 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 프로세서(1940)는 메모리(1920)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(1920)에 저장할 수도 있다. 일 실시예에서, 메모리(1920)에는 디지털 키의 관리를 위한 프로그램(예를 들어, 프레임워크) 및 데이터가 설치 및 저장될 수 있다.
예를 들어, 메모리(1920)는, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
일 실시예에 따른 전자 디바이스(300)는 보안 요소를 포함하며, 보안 요소는 외부 디바이스를 제어하거나 접근하기 위한 디지털 키를 생성, 삭제, 관리 등의 처리를 수행할 수 있으며, 디지털 키에 대한 인증을 수행할 수 있다. 나아가, 보안 요소는 서비스 제공자 서버와 같은 외부 엔티티의 디지털 키에 대한 접근에 대해서 인증하고, 권한을 확인하여 디지털 키를 안전하게 관리할 수 있는 기능을 제공할 수 있다.
보안 요소(1930)는 전자 디바이스(300)의 독립된 보안 저장 장치로, 인증된 애플리케이션만 접근 가능한 보안 영역이다. 보안 요소(1930)는 다른 하드웨어 구성과 물리적으로 분리(isolate)되도록 구성될 수 있다. 일 실시예에 따르면, 디지털 키의 관리를 위한 프로그램 및 데이터(예를 들어, 보안 도메인, 애플릿 등)가 보안 요소(1930)에 설치 및 저장될 수도 있다.
프로세서(1940)는 전자 디바이스(300)의 전체적인 동작을 제어하며, CPU, GPU 등과 같은 프로세서를 적어도 하나 이상 포함할 수 있다. 프로세서(1940)는 디지털 키의 관리를 위한 동작을 수행하도록 전자 디바이스(300)에 포함된 다른 구성들을 제어할 수 있다. 예를 들어, 프로세서(1940)는 메모리(1920) 및 보안 요소(1930)에 저장된 프로그램을 실행시키거나, 저장된 파일을 읽어오거나, 새로운 파일을 저장할 수도 있다.
일 실시예에 따르면 프로세서(1940)는 프레임워크를 이용하여 외부 디바이스 또는 애플리케이션으로부터 디지털 키의 처리 요청을 수신하고, 디지털 키의 처리 요청과 프레임워크에 저장된 인증 정보를 보안 요소의 보안 도메인 및/또는 인스턴스로 전달할 수 있다. 프로세서(1940)는, 보안 요소(1930)에서 실행되는 애플릿을 이용하여, 디지털 키의 처리 요청, 프레임워크로부터 전달 받은 인증 정보 및 보안 요소에 저장된 인증 정보를 기초로 디지털 키의 처리를 수행할 수 있다. 여기서, 디지털 키의 처리는, 디지털 키의 생성, 삭제 및 관리 중 적어도 하나 이상의 동작을 포함할 수 있다.
버스(BUS, 1650)는 통신부(1910), 메모리(1920), 보안 요소(1930) 및 프로세서(1940)를 연결하는 공통 데이터 전송 통로이다.
본 개시의 일 실시예에 따른 프로세서(1940)는, 전자 디바이스(300)와 상기 타겟 디바이스(700) 간의 상호 인증 과정에 기초하여, 암호화와 관련된 정보를 획득할 수 있다. 프로세서(1940)는, 디지털 키 애플릿으로부터 프레임워크로 암호화와 관련된 정보를 전달하고, 암호화와 관련된 정보를 이용하여 원격 제어 명령을 암호화 할 수 있다. 프로세서(1940)는, 통신부(1910)를 통해 암호화된 원격 제어 명령을 타겟 디바이스(700)에게 전달할 수 있다.
일 예로서, 프로세서(1940)는, 전자 디바이스(300)와 타겟 디바이스(700) 간의 상호 인증을 수행하기 위하여, 타겟 디바이스(700)로부터 타겟 디바이스(700)의 임시 공개 키를 수신하고, 타겟 디바이스(700)에게 전자 디바이스(300)의 임시 공개 키를 전달할 수 있다. 프로세서(1940)는, 타겟 디바이스(700)의 임시 공개 키와 전자 디바이스(300)의 임시 공개 키를 포함하는 정보에 타겟 디바이스(700)의 비밀 키로 서명한 제1 데이터를 타겟 디바이스로부터 수신할 수 있다. 프로세서(1940)는, 타겟 디바이스(700)의 공개 키를 이용하여 제1 데이터를 검증할 수 있다. 프로세서(1940)는, 타겟 디바이스(700)의 임시 공개 키와 전자 디바이스(300)의 임시 공개 키를 포함하는 정보에 전자 디바이스(300)의 비밀 키로 서명한 제2 데이터를 타겟 디바이스(700)에게 전송할 수 있다. 프로세서(1940)는, 타겟 디바이스(700)의 임시 공개 키와 전자 디바이스(300)의 임시 비밀 키를 이용하여, 암호화용 키(Krke)를 암호화와 관련된 정보로서 획득할 수 있다.
프로세서(1940)는, 암호화용 키(Krke)를 이용하여, 디지털 키 애플릿으로부터 전달된 원격 제어 명령을 암호화할 수 있다. 프로세서(1940)는, 암호화된 원격 제어 명령을 타겟 디바이스(700)에게 전달할 수 있다.
다른 일 예로서, 프로세서(1940)는, 타겟 디바이스(700)와의 키 교환 과정에 기초하여, 대칭 롱텀 키(Long-term symmetric key, Symmetric_LTS)를 생성할 수 있다. 그리고, 프로세서(1940)는, 상호 인증 과정에서 생성되는 논스(nonce)를 획득할 수 있다. 프로세서(1940)는, 논스 및 대칭 롱텀 키를 이용하여, 암호화용 키를 암호화와 관련된 정보로서 획득할 수 있다. 프로세서(1940)는, 암호화용 키를 이용하여 원격 제어 명령을 암호화 할 수 있다.
또 다른 일 예로서, 프로세서(1940)는, 타겟 디바이스(700)와의 상호 인증을 수행하고, 타겟 디바이스(700)로부터 암호화용 키의 생성 요청을 수신할 수 있다. 프로세서(1940)는, 디지털 키 애플릿 상에서 암호화용 키 생성 요청에 기초하여, 상호 인증 과정에서 수신된 타겟 디바이스의 임시 공개 키를 이용하여 암호화용 키를 생성할 수 있다.
프로세서(1940)는, 타겟 디바이스(700)로부터 논스를 포함하는 세션 키의 생성 요청을 수신할 수 있다. 디지털 키 애플릿은, 세션 키 생성 요청에 기초하여, 논스 및 암호화용 키를 이용하여 세션 키를 획득하고, 프레임워크로 세션 키를 전달할 수 있다.
또 다른 일 예로서, 프로세서(1940)는, 사용자 입력이 반영된 원격 제어 명령을 획득하고, 타겟 디바이스(700)에게 원격 제어 명령을 전송할 수 있다. 프로세서(1940)는, 타겟 디바이스(700)가 원격 제어 명령을 검증할 수 있도록 전자 디바이스(300)와 타겟 디바이스(700) 간의 상호 인증을 수행할 수 있다. 프로세서(1940)는, 상호 인증을 수행하기 위해서, 타겟 디바이스(700)로부터 원격 제어 명령에 대한 전자 디바이스(300)의 서명을 요청하는 명령을 수신하고, 원격 제어 명령에 대한 전자 디바이스(300)의 서명을 포함하는 응답을 타겟 디바이스(700)에게 전달할 수 있다.
도 20은 본 개시의 일 실시예에 따른 보안 요소(1930)의 블록도를 도시한다.
보안 요소(1930)는 도 19에서 전술한 보안 요소(1930)에 대응될 수 있다.
도 20을 참조하면, 보안 요소(1930)는 통신 인터페이스(2010), 메모리(2020) 및 프로세서(2030)를 포함할 수 있다.
일 실시예에 따른 보안 요소(1930)는 전자 디바이스(300)의 독립된 보안 저장 장치로, 인증된 애플리케이션만 접근 가능한 보안 영역이다. 예를 들어, 보안 요소(1930)는 embedded Secure Element(eSE), Universal integrated Circuit Card(UICC), Secure Digital Card(SD Card), 또는 embedded UICC (eUICC) 등을 포함할 수 있다.
통신 인터페이스(2010)는 호스트(Host, 2001)와 통신할 수 있다. 일 실시예에서, 통신 인터페이스(2010)는 호스트(2001)와 통신하기 위한 다양한 유무선 통신 인터페이스 중 적어도 하나를 포함할 수 있다. 여기서 호스트(2001)는 전자 디바이스(300)에 포함된 장치들 중 하나일 수 있으며, 예를 들어, AP(Application Processor), 프레임워크(310), TEE(311), 메모리 등을 포함할 수 있다. 통신 인터페이스(2010)는 예를 들어, ISO 7816, USB(Universal Serial Bus), I2C(Inter-Integrated Circuit), SPI(Serial Peripheral Interface), SWP(Single Wire Protocol)와 같은 직렬 인터페이스 또는 두 개의 하드웨어 장치들 사이의 통신에 일반적으로 사용되는 임의의 직렬 인터페이스일 수 있다. 또한, 안테나를 하드웨어 장치에 직접 연결시키는 IS0 14443, 지그비(Zigbee), 블루투스(Bluetooth), BLE 등과 같은 무선 인터페이스일 수도 있다. 나아가, 통신 인터페이스(2010)는 전자 디바이스(300)의 중앙 버스(BUS)에 연결되는 병렬 인터페이스일 수도 있으며, 이 경우, 통신 인터페이스(2010)는 호스트(2001)로부터의 커맨드와 데이터를 수신하기 위한 버퍼를 포함할 수도 있다.
메모리(2020)에는 애플릿과 같은 프로그램 및 파일 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 프로세서(2030)는 메모리(2020)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(2020)에 저장할 수도 있다. 일 실시예에서, 메모리(2020)에는 디지털 키를 처리하기 위한 프로그램 및 데이터가 설치 및 저장될 수 있다. 메모리(2020)는, 비휘발성 기억 장치일 수 있다.
프로세서(2030)는 보안 요소(1930)의 전체적인 동작을 제어하며, CPU, GPU 등과 같은 프로세서를 적어도 하나 이상 포함할 수 있다. 프로세서(2030)는 디지털 키를 처리하기 위한 동작을 수행하도록 보안 요소(1930)에 포함된 다른 구성들을 제어할 수 있다. 예를 들어, 프로세서(2030)는 메모리(2020)에 저장된 프로그램을 실행시키거나, 저장된 파일을 읽어오거나, 새로운 파일을 저장할 수도 있다. 일 실시예에서, 프로세서(2030)는 메모리(2020)에 저장된 프로그램을 실행함으로써, 디지털 키를 처리하기 위한 동작을 수행할 수 있다.
일 실시예에 따른 보안 요소(1930)에는 경량화된 애플리케이션(또는 애플릿(applet))이 설치되어 구동될 수 있다. 애플릿은 디지털 키를 보안 요소(1930) 내부에 저장하고, 저장된 키의 사용, 삭제, 관리 등의 서비스를 제공할 수 있다. 이러한 애플릿은 보안 요소(1930)에 선 탑재되어 있거나, 추후 필요에 따라 로딩되거나 혹은 설치될 수 있다.
도 21은 본 개시의 일 실시예에 따른 타겟 디바이스의 블록도를 도시한다.
본 개시의 일 실시예에 따른 타겟 디바이스(700)는, 자동차에 탑재되거나, 자동차에 연결되거나, 자동차에 포함되거나, 자동차를 제어하는 전자 디바이스를 포함할 수 있다. 타겟 디바이스(700)는, 자동차 콘솔, 자동차 키 시스템, 자동차에 탑재된 단말, 또는 자동차 전장 시스템을 포함할 수 있다. 예를 들어, 타겟 디바이스(700)는 자동차에서 차량 도어, 트렁크 게이트, 주유구 등의 개폐 여부를 제어할 뿐만 아니라, 시동, 에어컨 등을 제어할 수 있다.
그러나 본 개시의 일 실시예에 따른 타겟 디바이스(700)는, 상술한 바에 제한되지 않으며, 다양한 종류의 전자 디바이스를 포함할 수 있다. 예를 들어, 타겟 디바이스(700)는, 스마트 TV, 셋탑 박스, 휴대폰, 태블릿 PC, 디지털 카메라, 노트북 컴퓨터(laptop computer), 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등을 포함할 수 있다. 다만, 타겟 디바이스(700)는 전술된 예에 한정되는 것은 아니고, 네트워크를 통해 서버(미도시)와 통신하고, 근거리 무선 통신을 통해 전자 디바이스(300)와 통신할 수 있는 장치이면 어느 것이든 가능할 수 있다.
도 21을 참조하면, 타겟 디바이스(700)는 통신부(2110), 메모리(2120) 및 프로세서(2140)를 포함할 수 있다. 그러나, 도 21에 도시된 구성 요소보다 많거나 적은 구성 요소에 의해 타겟 디바이스(700)가 구현될 수 있다.
도 21에서는 타겟 디바이스(700)가 하나의 프로세서를 포함하는 것으로 도시되었으나, 실시 예는 이에 제한되지 않으며, 타겟 디바이스(700)는 복수의 프로세서들을 포함할 수 있다. 이하, 서술되는 프로세서(2140)의 동작 및 기능들의 적어도 일부는 복수의 프로세서들에 의해 수행될 수 있다.
도 21에 도시된 타겟 디바이스(700)는, 본 개시의 다양한 실시 예들에 따른 타겟 디바이스(700)의 동작 방법을 수행할 수 있으며, 도 1 내지 도 18에 대한 설명들이 적용될 수 있다. 따라서, 상술한 바와 중복되는 내용은 생략한다.
일 실시예에 따른 통신부(2110)는, 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(2110)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태일 수도 있고, 또는 통신에 필요한 정보를 포함하는 스티커/바코드(e.g. NFC tag를 포함하는 스티커)등일 수도 있다.
일 실시예에서 통신부(2110)는 근거리 통신(short range communication)을 위한 통신 모듈을 포함할 수 있다. 예를 들어, 통신부(2110)는 위에서 설명한 Wi-Fi, Wi-Fi Direct, 블루투스, BLE, NFC 외에 적외선 통신, MST(Magnetic Secure Transmission, 마그네틱 보안 통신과 같은 다양한 근거리 통신을 수행하기 위한 통신 모듈을 포함할 수 있다.
메모리(2120)에는 애플리케이션과 같은 프로그램 및 파일 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 프로세서(2140)는 메모리(2120)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(2120)에 저장할 수도 있다. 일 실시예에서, 메모리(2120)에는 디지털 키의 관리를 위한 프로그램(예를 들어, 프레임워크) 및 데이터가 설치 및 저장될 수 있다.
예를 들어, 메모리(2120)는, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
일 실시예에 따르면 프로세서(2140)는 외부 디바이스 또는 애플리케이션으로부터 디지털 키의 처리 요청을 수신하고, 디지털 키의 처리 요청과 프레임워크에 저장된 인증 정보를 보안 요소의 보안 도메인 및/또는 인스턴스로 전달할 수 있다. 프로세서(2140)는, 보안 요소에서 실행되는 애플릿을 이용하여, 디지털 키의 처리 요청, 프레임워크로부터 전달 받은 인증 정보 및 보안 요소에 저장된 인증 정보를 기초로 디지털 키의 처리를 수행할 수 있다. 여기서, 디지털 키의 처리는, 디지털 키의 생성, 삭제 및 관리 중 적어도 하나 이상의 동작을 포함할 수 있다.
본 개시의 일 실시예에 따른 프로세서(2140)는, 전자 디바이스(300)와 상호 인증을 수행할 수 있다. 일 실시예에 따른 타겟 디바이스(700)의 프로세서(2140)는, 전자 디바이스(300)와의 상호 인증 과정에 기초하여, 암호화와 관련된 정보를 획득할 수 있다. 일 실시예에 따른 프로세서(2140)는, 전자 디바이스(300)로부터 암호화된 원격 제어 명령을 수신할 수 있다. 일 실시예에 프로세서(2140)는, 암호화된 원격 제어 명령을 복호화 하고, 원격 제어 명령에 대응하는 소정 동작을 수행할 수 있다. 프로세서(2140)는, 전자 디바이스(300)와의 상호 인증 과정에서 획득된 암호화와 관련된 정보로부터 암호화용 키 또는 세션 키를 획득하고, 암호화용 키 또는 세션 키를 이용하여 암호화된 원격 제어 명령을 복호화할 수 있다.
또한, 프로세서(2140)는, 원격 제어 명령에 대응하는 소정 동작을 수행한 결과를 전자 디바이스(300)에게 전달하고, 타겟 디바이스의 상태 정보를 업데이트 할 수 있다.
개시된 실시 예들은 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 S/W 프로그램으로 구현될 수 있다.
컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시 예에 따른 동작이 가능한 장치로서, 개시된 실시 예들에 따른 영상 전송 장치 및 영상 수신 장치를 포함할 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 개시된 실시 예들에 따른 전자 장치 또는 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 단말(예로, 디지털 키를 이용하는 전자 디바이스, 또는 타겟 디바이스)로 구성되는 시스템에서, 서버의 저장매체 또는 단말의 저장매체를 포함할 수 있다. 또는, 서버 또는 단말과 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 단말 또는 제3 장치로 전송되거나, 제3 장치로부터 단말로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 단말 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시 예들에 따른 방법을 수행할 수 있다. 또는, 서버, 단말 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시 예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 단말이 개시된 실시 예들에 따른 방법을 수행하도록 제어할 수 있다.
또 다른 예로, 제3 장치가 컴퓨터 프로그램 제품을 실행하여, 제3 장치와 통신 연결된 단말이 개시된 실시 예에 따른 방법을 수행하도록 제어할 수 있다. 구체적인 예로, 제3 장치는 전자 디바이스 또는 타겟 디바이스를 원격 제어하여, 디지털 키를 관리하거나 원격 제어 메시지를 교환하도록 제어할 수 있다.
제3 장치가 컴퓨터 프로그램 제품을 실행하는 경우, 제3 장치는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제3 장치는 프리로드된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시 예들에 따른 방법을 수행할 수도 있다.

Claims (17)

  1. 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법에 있어서,
    상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증 과정에 기초하여, 암호화와 관련된 정보를 획득하는 단계;
    상기 전자 디바이스의 보안 요소 상에 설치된 디지털 키 애플릿으로부터 프레임워크로 상기 암호화와 관련된 정보를 전달하는 단계;
    상기 암호화와 관련된 정보를 이용하여 원격 제어 명령을 암호화 하는 단계; 및
    암호화된 상기 원격 제어 명령을 상기 타겟 디바이스에게 전달하는 단계를 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하는 단계를 더 포함하고,
    상기 상호 인증을 수행하는 단계는,
    상기 타겟 디바이스로부터 상기 타겟 디바이스의 임시 공개 키(ephemeral public key, epk)를 수신하는 단계;
    상기 타겟 디바이스에게 상기 전자 디바이스의 임시 공개 키를 전달하는 단계;
    상기 타겟 디바이스의 임시 공개 키와 상기 전자 디바이스의 임시 공개 키를 포함하는 정보에 상기 타겟 디바이스의 비밀 키(private key)로 서명한 제1 데이터를 상기 타겟 디바이스로부터 수신하는 단계;
    상기 타겟 디바이스의 공개 키를 이용하여 상기 제1 데이터를 검증하는 단계; 및
    상기 타겟 디바이스의 임시 공개 키와 상기 전자 디바이스의 임시 공개 키를 포함하는 정보에 상기 전자 디바이스의 비밀 키로 서명한 제2 데이터를 상기 타겟 디바이스에게 전송하는 단계를 더 포함하는, 방법.
  3. 제2 항에 있어서,
    상기 암호화와 관련된 정보를 획득하는 단계는,
    상기 타겟 디바이스의 임시 공개 키와 상기 전자 디바이스의 임시 비밀 키를 이용하여, 암호화용 키(Krke)를 획득하는 단계를 포함하는, 방법.
  4. 제1 항에 있어서,
    상기 암호화와 관련된 정보를 획득하는 단계는,
    상기 타겟 디바이스로부터 암호화용 키의 생성 요청을 수신하는 단계; 및
    상기 생성 요청에 기초하여, 상기 암호화용 키를 획득하는 단계를 포함하는, 방법.
  5. 제1 항에 있어서,
    상기 암호화와 관련된 정보를 획득하는 단계는,
    상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증 과정에서 상기 타겟 디바이스로부터 수신된 명령(command)으로부터, 상기 상호 인증 과정이 최초 상호 인증임을 나타내는 파라미터를 식별하는 단계;
    상기 식별된 파라미터에 기초하여 암호화용 키를 획득하는 단계를 포함하는, 방법.
  6. 제1 항에 있어서,
    상기 암호화와 관련된 정보를 획득하는 단계는,
    상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하는 단계; 및
    상기 상호 인증에 의해 생성된 보안 채널을 이용하여 상기 타겟 디바이스로부터 암호화용 키를 획득하는 단계를 포함하는, 방법.
  7. 제1 항에 있어서,
    상기 디지털 키 애플릿으로부터 상기 프레임워크로 상기 암호화와 관련된 정보를 전달하는 단계는,
    상기 디지털 키 애플릿으로부터 상기 프레임워크 내의 신뢰 실행 환경(TEE, Trusted Execution Environment)으로 상기 암호화와 관련된 정보를 전달하는 단계를 포함하고,
    상기 원격 제어 명령을 암호화 하는 단계는,
    상기 신뢰 실행 환경에서 상기 암호화와 관련된 정보를 이용하여 상기 원격 제어 명령을 암호화 하는 단계를 포함하는, 방법.
  8. 제1 항에 있어서,
    사용자 입력에 기초하여 상기 프레임워크 또는 다른 애플리케이션에서 생성된 상기 원격 제어 명령을 획득하는 단계를 더 포함하는, 방법.
  9. 제1 항에 있어서,
    상기 암호화된 원격 제어 명령에 대응하는 동작을 수행한 상기 타겟 디바이스로부터, 상기 타겟 디바이스의 상태와 관련된 정보를 수신하는 단계를 더 포함하는, 방법.
  10. 제1 항에 있어서,
    상기 전자 디바이스와 상기 타겟 디바이스 간의 키 교환 과정에 기초하여, 대칭 롱텀 키(symmetric Long-term key, Symmetric_LTS)를 생성하는 단계를 더 포함하고,
    상기 암호화와 관련된 정보를 획득하는 단계는,
    상기 상호 인증 과정에서 생성되는 논스(nonce)를 획득하는 단계를 포함하고,
    상기 원격 제어 명령을 암호화 하는 단계는,
    상기 논스 및 상기 대칭 롱텀 키를 이용하여, 암호화용 키를 획득하는 단계; 및
    상기 암호화용 키를 이용하여 상기 원격 제어 명령을 암호화 하는 단계를 포함하는, 방법.
  11. 제1 항에 있어서,
    상기 암호화와 관련된 정보를 획득하는 단계는,
    상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하는 단계;
    상기 타겟 디바이스로부터 암호화용 키의 생성 요청을 수신하는 단계;
    상기 디지털 키 애플릿 상에서 상기 암호화용 키 생성 요청에 기초하여, 상기 상호 인증 과정에서 수신된 상기 타겟 디바이스의 임시 공개 키를 이용하여 상기 암호화용 키를 생성하는 단계;
    상기 타겟 디바이스로부터 논스를 포함하는 세션 키의 생성 요청을 수신하는 단계; 및
    상기 디지털 키 애플릿 상에서 상기 세션 키 생성 요청에 기초하여, 상기 논스 및 상기 암호화용 키를 이용하여 상기 세션 키를 획득하는 단계를 포함하고,
    상기 암호화와 관련된 정보를 전달하는 단계는,
    상기 디지털 키 애플릿으로부터 상기 프레임워크로 상기 세션 키를 전달하는 단계를 포함하는, 방법.
  12. 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법에 있어서,
    원격 제어 명령을 획득하는 단계;
    상기 타겟 디바이스에게 원격 제어 명령을 전송하는 단계; 및
    상기 타겟 디바이스가 상기 원격 제어 명령을 검증할 수 있도록 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하는 단계를 포함하고,
    상기 상호 인증을 수행하는 단계는,
    상기 타겟 디바이스로부터 상기 원격 제어 명령에 대한 상기 전자 디바이스의 서명을 요청하는 명령을 수신하는 단계; 및
    상기 원격 제어 명령에 대한 상기 전자 디바이스의 서명을 포함하는 응답을 상기 타겟 디바이스에게 전달하는 단계를 포함하는, 방법.
  13. 전자 디바이스에 있어서,
    디지털 키를 관리하는 디지털 키 애플릿이 설치된 보안 요소;
    타겟 디바이스와 통신하는 통신부; 및
    상기 보안 요소에 연결되고, 메모리에 저장된 프로그램 명령어들을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증 과정에 기초하여, 암호화와 관련된 정보를 획득하고,
    상기 디지털 키 애플릿으로부터 프레임워크로 상기 암호화와 관련된 정보를 전달하고,
    상기 암호화와 관련된 정보를 이용하여 원격 제어 명령을 암호화 하고,
    상기 통신부를 통해 암호화된 상기 원격 제어 명령을 상기 타겟 디바이스에게 전달하는 것을 특징으로 하는 전자 디바이스.
  14. 제13 항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하기 위하여,
    상기 타겟 디바이스로부터 상기 타겟 디바이스의 임시 공개 키를 수신하고,
    상기 타겟 디바이스에게 상기 전자 디바이스의 임시 공개 키를 전달하고,
    상기 타겟 디바이스의 임시 공개 키와 상기 전자 디바이스의 임시 공개 키를 포함하는 정보에 상기 타겟 디바이스의 비밀 키로 서명한 제1 데이터를 상기 타겟 디바이스로부터 수신하고,
    상기 타겟 디바이스의 공개 키를 이용하여 상기 제1 데이터를 검증하고,
    상기 타겟 디바이스의 임시 공개 키와 상기 전자 디바이스의 임시 공개 키를 포함하는 정보에 상기 전자 디바이스의 비밀 키로 서명한 제2 데이터를 상기 타겟 디바이스에게 전송하는 것을 특징으로 하는, 전자 디바이스.
  15. 제13 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 전자 디바이스와 상기 타겟 디바이스 간의 키 교환 과정에 기초하여, 대칭 롱텀 키(Long-term symmetric key, Symmetric_LTS)를 생성하고,
    상기 상호 인증 과정에서 생성되는 논스(nonce)를 획득하고,
    상기 논스 및 상기 대칭 롱텀 키를 이용하여, 암호화용 키를 획득하고, 상기 암호화용 키를 이용하여 상기 원격 제어 명령을 암호화 하는 것을 특징으로 하는, 전자 디바이스.
  16. 제13 항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 암호화와 관련된 정보를 획득하기 위해서,
    상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하고,
    상기 타겟 디바이스로부터 암호화용 키의 생성 요청을 수신하고, 상기 디지털 키 애플릿 상에서 상기 암호화용 키 생성 요청에 기초하여, 상기 상호 인증 과정에서 수신된 상기 타겟 디바이스의 임시 공개 키를 이용하여 상기 암호화용 키를 생성하고,
    상기 타겟 디바이스로부터 논스를 포함하는 세션 키의 생성 요청을 수신하고,
    상기 디지털 키 애플릿 상에서 상기 세션 키 생성 요청에 기초하여, 상기 논스 및 상기 암호화용 키를 이용하여 상기 세션 키를 획득하고,
    상기 디지털 키 애플릿으로부터 상기 프레임워크로 상기 세션 키를 전달하는 것을 특징으로 하는, 전자 디바이스.
  17. 전자 디바이스에 있어서,
    디지털 키를 관리하는 디지털 키 애플릿이 설치된 보안 요소;
    타겟 디바이스와 통신하는 통신부; 및
    상기 보안 요소에 연결되고, 메모리에 저장된 프로그램 명령어들을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    원격 제어 명령을 획득하고,
    상기 타겟 디바이스에게 원격 제어 명령을 전송하고,
    상기 타겟 디바이스가 상기 원격 제어 명령을 검증할 수 있도록 상기 전자 디바이스와 상기 타겟 디바이스 간의 상호 인증을 수행하고,
    상기 상호 인증을 수행하기 위해서, 상기 타겟 디바이스로부터 상기 원격 제어 명령에 대한 상기 전자 디바이스의 서명을 요청하는 명령을 수신하고, 상기 원격 제어 명령에 대한 상기 전자 디바이스의 서명을 포함하는 응답을 상기 타겟 디바이스에게 전달하는 것을 특징으로 하는, 전자 디바이스.
PCT/KR2020/007600 2019-08-23 2020-06-11 전자 디바이스 및 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법 WO2021040205A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217043387A KR20220051306A (ko) 2019-08-23 2020-06-11 전자 디바이스 및 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962890711P 2019-08-23 2019-08-23
US62/890,711 2019-08-23

Publications (1)

Publication Number Publication Date
WO2021040205A1 true WO2021040205A1 (ko) 2021-03-04

Family

ID=74646894

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/007600 WO2021040205A1 (ko) 2019-08-23 2020-06-11 전자 디바이스 및 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법

Country Status (3)

Country Link
US (1) US20210058252A1 (ko)
KR (1) KR20220051306A (ko)
WO (1) WO2021040205A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200112559A (ko) * 2019-03-22 2020-10-05 삼성전자주식회사 통신 방법 및 통신 디바이스
US11368295B2 (en) * 2019-07-19 2022-06-21 Shing Kwong Fung Communication system using a random code as an encryption code
JP7383583B2 (ja) * 2020-07-30 2023-11-20 株式会社東海理化電機製作所 制御装置、プログラム、およびシステム
JP2022137878A (ja) * 2021-03-09 2022-09-22 株式会社東海理化電機製作所 通信装置、プログラム、およびシステム
KR20220155867A (ko) * 2021-05-17 2022-11-24 삼성전자주식회사 Uwb 보안 레인징을 수행하기 위한 방법 및 장치
CN113382409B (zh) * 2021-08-12 2021-11-09 北京百瑞互联技术有限公司 一种车辆蓝牙密钥分发方法、装置、介质及设备
CN114513357A (zh) * 2022-02-15 2022-05-17 成都国信安信息产业基地有限公司 嵌入式设备的集成控制方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478434B1 (en) * 2000-05-31 2009-01-13 International Business Machines Corporation Authentication and authorization protocol for secure web-based access to a protected resource
US20160358396A1 (en) * 2015-06-03 2016-12-08 Nxp B.V. Nfc based secure car key
KR20170041443A (ko) * 2015-10-07 2017-04-17 현대모비스 주식회사 사용자 단말을 이용한 차량 제어 장치 및 방법
US20170164192A1 (en) * 2015-12-07 2017-06-08 GM Global Technology Operations LLC Bluetooth low energy (ble) communication between a mobile device and a vehicle
WO2019025749A1 (en) * 2017-08-02 2019-02-07 Realvnc Ltd REMOTE CONTROL OF A COMPUTER DEVICE

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100986533B1 (ko) * 2008-07-29 2010-10-07 현대자동차주식회사 차량용 원격 제어 시스템
US8947202B2 (en) * 2011-10-20 2015-02-03 Apple Inc. Accessing a vehicle using portable devices
EP2903204A1 (en) * 2014-02-03 2015-08-05 Tata Consultancy Services Limited A computer implemented system and method for lightweight authentication on datagram transport for internet of things
FR3030987B1 (fr) * 2014-12-23 2018-03-23 Valeo Comfort And Driving Assistance Procede de reconnaissance automatique entre un appareil mobile et un vehicule automobile aptes a fonctionner selon le protocole ble
JP6465098B2 (ja) * 2016-11-24 2019-02-06 トヨタ自動車株式会社 車両用認証システム
JP6861292B2 (ja) * 2017-03-01 2021-04-21 アップル インコーポレイテッドApple Inc. モバイルデバイスを使用したシステムアクセス
US10798079B2 (en) * 2017-11-07 2020-10-06 Ford Global Technologies, Llc Vehicle with mobile to vehicle automated network provisioning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478434B1 (en) * 2000-05-31 2009-01-13 International Business Machines Corporation Authentication and authorization protocol for secure web-based access to a protected resource
US20160358396A1 (en) * 2015-06-03 2016-12-08 Nxp B.V. Nfc based secure car key
KR20170041443A (ko) * 2015-10-07 2017-04-17 현대모비스 주식회사 사용자 단말을 이용한 차량 제어 장치 및 방법
US20170164192A1 (en) * 2015-12-07 2017-06-08 GM Global Technology Operations LLC Bluetooth low energy (ble) communication between a mobile device and a vehicle
WO2019025749A1 (en) * 2017-08-02 2019-02-07 Realvnc Ltd REMOTE CONTROL OF A COMPUTER DEVICE

Also Published As

Publication number Publication date
KR20220051306A (ko) 2022-04-26
US20210058252A1 (en) 2021-02-25

Similar Documents

Publication Publication Date Title
WO2021040205A1 (ko) 전자 디바이스 및 전자 디바이스가 타겟 디바이스에게 제어 명령을 전달하는 방법
WO2019221504A1 (en) Control method of secure module connected to a plurality of processors and electronic device for implementing the same
WO2020197221A1 (ko) 통신 방법 및 통신 디바이스
WO2016003200A1 (en) Method and apparatus for installing profile for euicc
WO2020050555A1 (en) Method for uwb transaction and electronic device therefor
WO2020235782A1 (ko) 분산 환경에서의 신원 인증 방법
WO2016076638A1 (en) Apparatus and method for payment
WO2020022578A1 (ko) 무선 충전을 이용하여 통신 채널을 제어하는 전자 장치 및 전자 장치의 동작 방법
WO2019146812A1 (ko) 차량용 업데이트 시스템 및 제어 방법
WO2015194836A1 (ko) 키 공유 방법 및 장치
WO2019143081A1 (ko) 데이터 통신을 제어하는 방법 및 전자 장치
WO2021112603A1 (en) Method and electronic device for managing digital keys
WO2019132555A1 (ko) 이모지가 포함된 메시지를 송수신하는 전자 장치 및 그 전자 장치를 제어하는 방법
WO2021015568A1 (en) Electronic device and method for protecting personal information using secure switch
WO2018164486A1 (ko) 전자 장치 및 그의 무선 통신 연결 제어 방법
WO2021241849A1 (ko) 에지 컴퓨팅 서비스를 수행하는 전자 장치 및 전자 장치의 동작 방법
WO2019139247A1 (en) Electronic device for managing embedded subscriber identification module and method for same
AU2019337074A2 (en) Method for UWB transaction and electronic device therefor
WO2020105892A1 (ko) 디바이스가 디지털 키를 공유하는 방법
WO2019194428A1 (ko) 외부 전자 장치의 키를 공유하는 전자 장치 및 전자 장치의 동작 방법
WO2021235893A1 (ko) 전자 디바이스 및 전자 디바이스가 레인징 기반 서비스를 제공하는 방법
WO2017188497A1 (ko) 무결성 및 보안성이 강화된 사용자 인증방법
WO2021162427A1 (ko) 전자 장치 및 전자 장치에서의 피어 투 피어 서비스 수행 방법
WO2020149500A1 (ko) 공유된 키를 등록하기 위한 방법 및 장치
WO2016048054A2 (ko) 데이터 통신 보안을 위한 방법, 장치 및 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20858335

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20858335

Country of ref document: EP

Kind code of ref document: A1