WO2020130348A1 - 디바이스 고유암호키 생성기 및 방법 - Google Patents
디바이스 고유암호키 생성기 및 방법 Download PDFInfo
- Publication number
- WO2020130348A1 WO2020130348A1 PCT/KR2019/015129 KR2019015129W WO2020130348A1 WO 2020130348 A1 WO2020130348 A1 WO 2020130348A1 KR 2019015129 W KR2019015129 W KR 2019015129W WO 2020130348 A1 WO2020130348 A1 WO 2020130348A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- encryption key
- execution
- unique
- key
- specific
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Definitions
- the present invention relates to an electronic device, and more particularly, to a generator and a method for generating a unique encryption key to be used exclusively for a single device.
- the Internet of Things is a system that is connected to the Internet to collect, control, and manage information by mounting sensors and processors on things (such as devices).
- Devices constituting the Internet of Things have various forms and characteristics ranging from devices that have very simple sensing functions and perform serial communication at the SPI (Serial Peripheral Interface) level to devices with various sensing functions such as smartphones and devices with high-performance computing capabilities.
- SPI Serial Peripheral Interface
- IoT In this IoT, it is a very important technical issue to prevent malfunction or unintended functioning due to a device that plays a malicious role.
- Device authentication and identification are essential to strengthen device security in the Internet of Things.
- a technology used for authentication and identification of IoT devices a method of using a certificate, a method of using an ID/password, a method of using a token having authority, and an identification device such as a subscriber identity module (SIM)
- SIM subscriber identity module
- Various methods are used, such as a method and a method using a unique identifier.
- the Physical Unclonable Function is a technology that generates physically unique codes related to authentication and security, and conventionally uses a ring oscillator, a latch, and the like. Therefore, techniques for generating each unique key have been proposed.
- each physical copy protection function cell operates according to the control signal, and a charge sharing circuit including a circuit in which two or more capacitors are disposed in parallel, and the charge sharing circuit detects a difference in capacity of some capacitors among the capacitors Comparator and input signal (Challenge) for performing a logical exclusive sum (exclusive-OR) operation on the signal output from the comparator, and outputs the resulting output signal (Response) logical exclusive sum (exclusive-OR) )
- a configuration comprising a gate is disclosed.
- a security key providing technology using hardware-specific information. For example, in the case of a microcontroller unit (MCU) of a semiconductor, a lot number, which is unique information of the semiconductor, and a coordinate of a wafer (ie, arbitrary position coordinates based on the x and y axes) are used. After the security key is generated, it can be recorded as a security key unique to the semiconductor chip.
- MCU microcontroller unit
- a unique encryption key dedicated to a device is generated using a unique identifier of a device, but through a unique key and an execution-only routine stored in a trusted execution environment (TEE) that is not accessible to the outside. It is intended to provide a device-specific encryption key generator and a method of generating the same, which can generate and provide a unique encryption key that can be used exclusively for one device by generating a unique encryption key dedicated to the device.
- TEE trusted execution environment
- a device-specific encryption key generator includes a memory in which a firmware and a unique key for performing an execution-only routine are stored in such a way that external access is impossible, and the execution
- An execution-only memory device including a controller that executes a dedicated routine to process a unique encryption key for any device; And a processor that transmits a request to generate a unique encryption key for a specific device and a unique identifier of the specific device to the execution-only memory device.
- the controller of the execution-only memory device when a request for generating a unique encryption key for the specific device and the identifier of the specific device are received, according to the execution of the execution-only routine, the identifier of the specific device and the memory are stored in the memory A key calculation algorithm is processed based on the unique key, and a unique encryption key generated according to the result of processing the key calculation algorithm is output as a unique encryption key of the specific device.
- controller of the execution-only memory device according to execution of the execution-only routine, outputs the unique encryption key, discards the unique encryption key, and receives a request to generate a unique encryption key of the specific device of the processor Each time, a unique encryption key can be generated.
- controller of the execution-only memory device may process the key calculation by using the identifier of the specific device and the unique key as inputs to the symmetric key algorithm according to the execution of the execution-only routine.
- controller of the execution-only memory device may process the key calculation by using the identifier of the specific device and the unique key as an input of a hash function algorithm according to execution of the execution-only routine.
- the identifier of the specific device is a serial number uniquely assigned to the corresponding product model
- the unique key stored in the memory of the execution-only memory device may include at least one of arbitrary numbers and letters.
- a processor transmits a request for generating a unique encryption key for a specific device and a unique identifier of the specific device to an execution-only memory device To do;
- the execution-only memory device executing an execution-only routine stored therein to generate a unique encryption key;
- the execution-only memory device outputting the generated unique encryption key to the processor as the unique encryption key of the specific device.
- the step of generating the unique encryption key by the execution-only memory device may include: obtaining a unique key stored by the controller of the execution-only memory device such that external access to the internal memory is impossible; And the controller processing a key calculation algorithm based on the identifier of the specific device received from the processor and the stored unique key to generate a unique encryption key.
- the execution-only memory device further comprising the step of discarding the generated unique encryption key according to the execution of the execution-only routine
- the execution The dedicated routine may be set to generate a new unique encryption key each time a unique encryption key generation request is received from the processor.
- key calculation may be performed by using the identifier of the specific device and the unique key as inputs to the symmetric key algorithm.
- key calculation may be performed by using the identifier of the specific device and the unique key as an input of a hash algorithm.
- the identifier of the specific device is a serial number uniquely assigned to the corresponding product model
- the unique key stored in the memory of the execution-only memory device may include at least one of arbitrary numbers and letters.
- a recording medium in which a device-specific encryption key generation program is recorded includes: when a request for generating a unique encryption key for a specific device is received, executing an execution-only routine; Loading a unique identifier of the specific device from a predetermined path; Reading a unique key stored in one internal area without external access; Generating a unique encryption key by processing a key calculation algorithm based on the identifier of the specific device and the unique key; And a program for executing the step of outputting the unique encryption key generated according to the processing result of the key calculation algorithm.
- device security can be greatly improved by generating an unclonable encryption key using a unique identifier of the device and a unique key stored so that it cannot be obtained from the outside.
- the process of calculating the unique encryption key as well as the unique encryption key dedicated to the device is also externally performed. It is not exposed.
- the device-specific encryption key generated in the execution-only memory device is discarded immediately after output, and is not stored on the device or the execution-only memory device, thereby preventing exposure to the outside.
- the problem solving means of the present invention by using a device identifier and a dedicated memory for execution among technologies previously applied to a CPU, a separate part and information for implementing a device-specific encryption key generator are not required, and thus can be applied to a large number of hardware. It can be widely applied at low cost.
- FIG. 1 is a block diagram illustrating the configuration of a device-specific encryption key generator according to an embodiment of the present invention.
- FIG. 2 is a block diagram illustrating the configuration of a device-specific encryption key generator according to another embodiment of the present invention.
- FIG. 3 is a block diagram showing the configuration of an execution-only memory device according to an embodiment of the present invention.
- FIG. 4 is a conceptual diagram illustrating a process of generating a device-specific encryption device for an execution-only memory device according to an embodiment of the present invention.
- FIG. 5 is a flowchart illustrating a device-specific encryption key generation routine executed in an execution-only memory device according to an embodiment of the present invention.
- FIG. 6 is a flowchart illustrating a device-specific encryption key generation method according to an embodiment of the present invention.
- FIG. 1 is a block diagram illustrating the configuration of a device-specific encryption key generator according to an embodiment of the present invention.
- the device-specific encryption key generator 11 is included as a part in the specific device 10, but the device-specific encryption key generator 11 according to an embodiment of the present invention is external to the device 10. It is also possible to implement separately or detachably mounted on the device 10 to be electrically connected and interlocked with the device 10.
- the device 10 refers to the electronic device itself that processes a specific operation or function that is preset alone, or is included as an part in an electronic device, or independently or interlocks with other devices in the device Can be operated, the operation and function is not limited.
- the device 10 may be a smart phone, a tablet personal computer (PC), a mobile phone, a video phone, a desktop personal computer (PC), a laptop personal computer, or a netbook. It may be a computer (netbook computer), or a smart watch. Further, the device 10 may be a smart home appliance, for example, a television, a digital video disk (DVD) player, audio, refrigerator, air conditioner, cleaner, oven, microwave, washing machine, and air cleaner , A set-top box, a home automation control panel, a security control panel, a game console, and the like.
- a smart home appliance for example, a television, a digital video disk (DVD) player, audio, refrigerator, air conditioner, cleaner, oven, microwave, washing machine, and air cleaner , A set-top box, a home automation control panel, a security control panel, a game console, and the like.
- DVD digital video disk
- the device 10 may be an Internet of Things device, for example, various sensors, electricity or gas meters, sprinkler devices, fire alarms, thermostats, exercise equipment, hot water tanks, heaters , A boiler, a navigation device, a global positioning system receiver (GPS receiver), an event data recorder (EDR), a flight data recorder (FDR), an automobile infotainment device, and the like.
- device 10 may be a combination of one or more of the various devices described above.
- the device 10 is not limited to the aforementioned devices, and may include a new electronic device according to the development of technology.
- the device-specific encryption key generator 11 includes a processor 110 and an eXecute Only Memory (XOM) device 120.
- XOM eXecute Only Memory
- An execution-only memory (XOM) device is a memory device that allows only instruction fetches, and access for reading and writing is not allowed. When such an execution-only memory device is used, it is possible to prevent any user from accessing code on the execution-only memory device for reading or writing. For example, it is possible to place the firmware in an execution-only memory device and load user codes and drivers separately, thereby preventing other users (eg, external external firmware) from reading the corresponding code.
- the processor 110 controls the overall operation for providing a unique encryption key (hereinafter referred to as a'unique encryption key') to be used exclusively for the device 10.
- the processor 110 may be implemented by including at least one processing unit (CPU, micro-processor, DSP, etc.), random access memory (RAM), read-only memory (ROM), and the like.
- an encryption key means a key information value required for an encryption algorithm that encrypts or decrypts plain text, and is used to encrypt or decrypt an arbitrary message.
- the unique encryption key of the device 10 may be used to encrypt messages transmitted and received between the device 10 and a server (not shown) when the device 10 is defined as a client.
- the client i.e., device 10
- the server is a power provider's server
- the power provider's server will charge for the power supplied based on data received from the power meter located in each home. It can be calculated and charged.
- a message is encrypted using a unique encryption key of its own to ensure confidentiality and integrity of the data.
- the processor 110 transmits a request for generating a unique encryption key to the execution-only memory device 120 according to a request for generating a unique encryption key for the device 10 requested from the outside or generated by the device 10 itself do.
- the processor 110 provides a unique identifier of the device 10 (hereinafter referred to as a “device identifier”) to the execution-only memory device 120.
- the device identifier is uniquely assigned to identify the device 10 from other devices, for example, a serial number uniquely assigned to a corresponding product model by a manufacturer when manufacturing the device 10 Can.
- the processor 110 receives the unique encryption key generated from the execution-only memory device 120 and uses it as the encryption key of the device 10. That is, the processor 110 provides a unique encryption key to a corresponding destination in response to a request for a unique encryption key generated from the outside or generated from the outside of the device 10.
- the device-specific encryption key generator 11 is an execution-only memory device 120 that rejects read and write operations and allows only specific execution operations to generate and provide a device-specific encryption key.
- the execution-only memory device 120 generates and outputs a unique encryption key for a specific device by performing an execution-only routine according to an external (eg, processor 110) request. At this time, operations such as data processing and operations executed in the execution-only memory device 120 cannot be read or written externally, and only the output result can be confirmed.
- an external eg, processor 110
- execution-only memory device 120 The features and operations of the execution-only memory device 120 will be described in detail with reference to FIGS. 3 to 5 below.
- the device-specific encryption key generator 11 may additionally include a detailed configuration for performing processing such as data transmission and reception between devices inside the device 10 or with external devices (not shown).
- FIG. 2 is a block diagram illustrating the configuration of a device-specific encryption key generator according to another embodiment of the present invention.
- the device-specific encryption key generator 12 includes all the configurations of the device-specific encryption key generator 11 described above with reference to the communication module 130 and the memory 140 It includes more.
- the communication module 130 transmits the device-specific encryption key request generated within the device 10 or the device-specific encryption key request received from the outside of the device 10 to the processor 110.
- the communication module 130 transmits the unique encryption key of the device 10 to the request target in response to the device unique encryption key request under the control of the processor 110.
- a device-specific encryption key generation program is stored, and the program is driven by the processor 110. Also, at least one program for overall controlling the operation of the device-specific encryption key generator 12 may be further stored in the memory 140.
- a unique identifier (ie, device identifier) of the device 10 is stored in the memory 140.
- the memory 140 may be a non-volatile storage device that maintains stored information even when power is not supplied, and a volatile storage device that requires power to maintain the stored information.
- the memory 140 may temporarily or permanently store data processed by the processor 110.
- the memory 140 may include a magnetic storage media or a flash storage media in addition to a volatile storage device that requires power to maintain stored information, but is not limited thereto.
- the processor 110 may control the overall operation for providing the unique encryption key of the device 10 by executing the device unique encryption key generation program stored in the memory 140.
- the processor 110 may read a program stored in the memory 140 into RAM and execute it through at least one processing unit.
- the processor 110 executes the device unique encryption key generation program. Accordingly, the unique encryption key is requested from the execution-only memory device 120. At this time, the processor 110 may obtain the device identifier of the device 10 from the memory 140 and provide it to the execution-only memory device 120.
- the processor 110 receives the unique encryption key of the device 10 from the execution-only memory device 120 in response to the device unique encryption key generation request, and provides the received unique encryption key to the request target. That is, the processor 110 responds to a request for a device-specific encryption key from inside or outside the device 10 received through the communication module 130, and sets the device to the corresponding request target through the communication module 130 as a destination ( Provide a unique encryption key of 10).
- an operation-only memory device 120 will be described in detail with respect to an operation processed by the processor 110 as it receives a request for generating a device-specific encryption key.
- FIG. 3 is a block diagram showing the configuration of an execution-only memory device according to an embodiment of the present invention.
- Figure 4 is a conceptual diagram for explaining the process of generating a device-specific encryption device for an execution-only memory device according to an embodiment of the present invention.
- 5 is a flowchart illustrating a device-specific encryption key generation routine executed in an execution-only memory device according to an embodiment of the present invention.
- the execution-only memory device 120 includes a memory 122 and a controller 121 for controlling the operation of the memory 122.
- the controller 121 may control data input and output to the memory 122.
- the controller 121 and the memory 122 may be connected through a bus channel, and control signals and data signals may be transmitted between the controller 121 and the memory 122 through a bus channel.
- the controller 121 may include one or more hardware components (eg, analog circuits, logic circuits, etc.) that are configured to perform the functions described below. Additionally or alternatively, the controller 121 can include one or more processor cores. The functions of the controller 121 to be described below may be implemented as program code of software and/or firmware, and the processor core(s) of the controller 121 may execute a set of instructions of the program code. The processor core(s) of the controller 121 may process various types of arithmetic operations and/or logical operations to execute a set of instructions.
- the controller 121 executes a device-specific encryption key generation routine in response to a device-specific encryption key generation request received from an external device (for example, the processor 110).
- the device-specific encryption key generation routine is an execution-only routine, and the controller 121 restricts external access, such as reading or writing, to the execution-only routine, and only allows output of the execution result to the outside.
- the memory 122 may include volatile memory and/or non-volatile memory.
- a specific key ie, a specific area of the memory 122 of the execution-only memory device 120 stores a unique key and firmware for executing an execution-only routine.
- the unique key may be data including at least one of arbitrary numbers and letters.
- the firmware and the unique key stored in the execution-only memory device 120 may be stored by the memory device manufacturer during or immediately after the manufacturing process of the execution-only memory device 120.
- the execution-only memory device 120 includes firmware that performs a unique key and device-specific encryption key generation routine uniquely assigned to the execution-only memory device 120 (for example,'key calculation firmware'). ') is stored for external access.
- the unique key stored in the execution-only memory device 120 is read-processed only within the execution-only memory device 120 by key calculation firmware, and all processes are handled in response to an external connection or request (ie, read, write, Erase, etc.) is rejected.
- the firmware stored in the execution-only memory device 120 includes execution-only routines for executing a predetermined key calculation algorithm. According to the execution of the key calculation algorithm, the unique encryption key generation using the unique key stored in the execution-only memory device 120 is processed.
- the controller 121 executes an execution-only routine in response to a request for generating a device-specific encryption key for the device 10 from the processor 110 (S110).
- the controller 121 Upon execution of the execution-only routine, the controller 121 generates a unique encryption key of the device 10 based on the unique key stored in the memory 122 and the device identifier of the device 10 obtained from the processor 110. (S120).
- the controller 121 acquires a unique key stored in a region (ie, memory 122) of the execution-only memory device 120 (S121), and obtains an identifier of the device 10 from the processor 110 (S122).
- the order in which the controller 121 acquires the unique key (S121) and the obtaining the device identifier (S122) is not limited in order, and may be processed in parallel.
- the controller 121 executes The step of acquiring the device identifier of the specific device 10 may be performed first while executing the dedicated routine.
- the controller 121 generates a unique encryption key by performing a predetermined key calculation algorithm based on the obtained unique key and device identifier (S123).
- the controller 121 may use a symmetric-key algorithm as a key calculation algorithm, and may process key calculation by using a unique key and a device identifier as inputs of the symmetric key algorithm.
- a symmetric-key algorithm For example, an AES algorithm (Advanced Encryption Standard Algorithm) may be applied as a symmetric key encryption algorithm.
- the controller 121 may use a hash function algorithm as a key calculation algorithm, and process a key calculation by using a unique key and a device identifier as an input of the hash function algorithm.
- a hash function algorithm For example, a SHA Hash (Secure Hash Algorithm) may be applied as a hash function algorithm.
- the key calculation algorithm may have a function characteristic, and an input value and an output value may have a 1:1 relationship.
- the controller 121 outputs the generated unique encryption key to the processor 110 as the unique encryption key of the device 10 (S130).
- controller 121 of the execution-only memory device 120 may output the generated unique encryption key to the processor 110 and immediately discard the corresponding unique encryption key (( S140).
- the execution-only memory device 120 does not separately store the generated unique encryption key, and performs the unique encryption key generation process every time the processor 110 requests the unique encryption key, thereby exposing the unique encryption key to the outside. Can be prevented more effectively.
- the device-specific encryption key generation method illustrated in FIG. 6 may be processed by the processor 110 described above.
- FIG. 6 is a flowchart illustrating a device-specific encryption key generation method according to an embodiment of the present invention.
- a request for generating a unique encryption key for a specific device (that is, the device 10) is generated (S210)
- a request for generating a device unique encryption key for a specific device is transmitted to the execution-only memory device 120 (S220).
- a request for generating a device-specific encryption key may occur internally in the corresponding device, or may be received from another external device.
- a unique identifier (ie, device identifier) of a specific device may be provided to the execution-only memory device 120 along with a request for generating a device-specific encryption key. Also, it is possible to sequentially provide the device identifiers at the request of the execution-only memory device 120 or after the device-specific encryption key generation request.
- the unique encryption key for the device 10 generated according to the execution of the execution-only routine in the execution-only memory device 120 is received from the execution-only memory device 120 (S230).
- the execution-only memory device 120 executes the execution-only routine to read the stored unique key so that external access is not possible therein and also loads the device identifier from the predetermined path ( Example: Acquiring data provided by the processor 110), and generates a unique encryption key by using a unique key and a device identifier as inputs to a predetermined key calculation algorithm.
- the key calculation algorithm may be set as a function that processes arbitrary calculations, such as a symmetric key algorithm or a hash function algorithm.
- the execution-only memory device 120 outputs a unique encryption key generated as a result of processing the calculation algorithm according to the execution-only routine.
- the received unique encryption key is used as an encryption key of the specific device (S240).
- a unique encryption key is provided as a target of the request.
- the method for generating a device-specific encryption key according to an embodiment of the present invention described above may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer.
- Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
- the computer-readable medium may include a computer storage medium, and the computer storage medium is volatile and implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Non-volatile, removable and non-removable media are all included.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
디바이스 고유암호키 생성 방법은, 프로세서가 실행 전용 메모리 장치로 특정 디바이스에 대한 고유암호키 생성 요청 및 특정 디바이스의 식별자를 전송하고, 실행 전용 메모리 장치가 내부에 저장된 실행 전용 루틴을 실행하여 고유암호키를 생성하고, 실행 전용 메모리 장치가 생성된 고유암호키를 특정 디바이스의 고유암호키로서 프로세서로 출력하되, 실행 전용 메모리 장치의 컨트롤러가 내부 메모리에 외부 접근 불가능하게 저장된 고유키를 획득하고, 프로세서로부터 수신된 특정 디바이스의 식별자와 고유키에 기초하여 키 계산 알고리즘을 처리하여 고유암호키를 생성한다.
Description
본 발명은 전자 장치에 관한 것으로, 보다 구체적으로는 단일 디바이스에 대해서만 전용으로 사용될 고유암호키를 생성하는 생성기 및 그 생성 방법에 관한 것이다.
사물인터넷(Internet of Things, IoT)은 사물(예: 디바이스)에 센서와 프로세서를 장착하여 정보를 수집하고 제어 및 관리할 수 있도록 인터넷으로 연결되어 있는 시스템이다. 사물인터넷을 구성하는 디바이스는 매우 단순한 센싱 기능을 갖고 SPI(Serial Peripheral Interface) 수준의 시리얼 통신을 수행하는 디바이스에서부터 스마트폰과 같은 다양한 센싱 기능과 고성능 계산 능력을 갖는 디바이스에 이르기까지 다양한 형태 및 특성을 갖는다.
이러한 사물인터넷에서는 악의적 역할을 수행하는 디바이스로 인한 오동작 혹은 의도하지 않은 기능이 수행되는 것을 방지하는 것이 매우 중요한 기술 이슈이다. 사물인터넷의 디바이스 보안 강화를 위해서는 디바이스 인증 및 식별이 반드시 필요하다. 사물인터넷 디바이스에 대한 인증 및 식별을 위해 사용되고 있는 기술로서는, 인증서를 사용하는 방법, ID/패스워드를 이용하는 방법, 권한을 가지는 토큰을 사용하는 방법, SIM(Subscriber Identity Module)과 같은 식별 장치를 사용하는 방법, 및 고유한 식별자를 사용하는 방법 등 다양한 방법이 사용되고 있다.
사물인터넷의 다양한 디바이스상에서 데이터에 대한 기밀성, 무결성 등 기본적 보안 요구 사항을 만족하기 위해선 암/복호화 및 해시값, MIC(Message Integrity Code)값 등을 생성할 수 있는 암호 알고리즘을 제공해야 한다. 이를 위해 다양한 암호 알고리즘이 적용되고 있으며, 이러한 암호 알고리즘을 이용하여 사물인터넷 디바이스에서 송수신되는 메시지를 암호키로 암호화하는 방식이 사용되고 있다.
한편, 최근 들어 좀 더 강력한 보안을 위해 하드웨어의 고유한 특성을 이용하여 복제가 불가능한 암호키 등을 생성하는 다양한 기술들이 제안되고 있다. 그 중 물리적 복제 방지 기능(Physical Unclonable Function, PUF)은 인증 및 보안에 관련하여 물리적으로 고유한 코드(code)를 발생시키는 기술로서, 종래에는 링오실레이터(Ring Oscillator), 래치(Latch) 등을 이용하여 각각의 고유한 키(Key)를 생성하는 기술들이 제안되었다.
이와 관련하여, 대한민국 등록특허 제1408619호(발명의 명칭: 커패시터 용량 편차 기반 물리적 복제 방지 기능 시스템)에는, 2 이상의 물리적 복제 방지 기능(PUF) 셀(Cell) 및 각 물리적 복제 방지 기능 셀의 동작을 제어하는 제어 신호를 발생시키기 위한 제어신호 발생부를 포함한 구성이 개시되어 있다. 구체적으로, 각 물리적 복제 방지 기능 셀은, 상기 제어신호에 따라 동작하며, 2 이상의 커패시터가 병렬로 배치된 회로를 포함하는 전하 공유 회로, 상기 전하 공유 회로에서 커패시터들 중에서 일부 커패시터의 용량 차이를 검출하기 위한 비교기 및 입력 신호(Challenge)와 상기 비교기에서 출력된 신호에 대하여 논리적 배타 합(exclusive-OR) 연산을 수행하고, 그 결과인 출력신호(Response)를 출력하기 위한 논리적 배타 합(exclusive-OR) 게이트를 포함하는 구성이 개시되어 있다.
이러한 하드웨어를 이용하여 설계된 PUF의 경우 전용하드웨어가 필수적이며, 대부분의 장치에서 전용하드웨어가 CPU 외부에 구성되므로 그 활용 및 비용 상에 한계가 있었다. 하드웨어 PUF의 단점을 극복하기 위해 소프트웨어적으로 PUF를 구현하는 기술 또한 개발되었다. 그러나 소프트웨어 PUF의 경우에도 비용적인 문제가 발생될 가능성이 높을 뿐만 아니라, 두 종류의 PUF 모두 온도, 습도, 전류, 전압 등의 환경 변화에 따른 안정성을 보장할 수 없다는 문제가 있었다.
PUF의 한계를 극복하기 위하여 하드웨어 고유 정보를 활용한 보안키 제공 기술이 개발되었다. 예를 들어, 반도체의 MCU(Micro Controller Unit)의 경우, 반도체의 고유 정보인 로트(lot) 번호와 웨이퍼(wafer)의 좌표(즉, x 및 y축을 기준으로 한 임의의 위치 좌표)를 이용하여 보안키를 생성한 후 반도체칩에 고유한 보안키로서 기록할 수 있다.
그러나 종래에는 임의의 펌웨어(Firmware)에서 하드웨어 고유키를 읽는 것이 가능하므로, 암호키를 만들어내는 규칙(또는 공식)이 노출될 경우 외부에서 암호키를 쉽게 계산할 수 있다는 문제가 있었다.
본 발명의 실시예는 디바이스의 고유한 식별자를 이용하여 디바이스 전용의 고유암호키를 생성하되, 외부의 접근이 불가한 TEE(Trusted Execution Environment: 보안 실행 환경)에 저장된 고유키와 실행 전용 루틴을 통해 디바이스 전용의 고유암호키를 생성함으로써, 하나의 디바이스에 대해서만 전용으로 사용할 수 있는 고유암호키를 생성 및 제공할 수 있는, 디바이스 고유암호키 생성기 및 그 생성 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 측면에 따른 디바이스 고유암호키 생성기는, 실행 전용 루틴을 수행하기 위한 펌웨어 및 고유키가 각각 외부 접근이 불가능하게 저장된 메모리, 및 상기 실행 전용 루틴을 실행하여 임의의 디바이스에 대한 고유암호키 생성을 처리하는 컨트롤러를 포함하는 실행 전용 메모리 장치; 및 상기 실행 전용 메모리 장치로 특정 디바이스에 대한 고유암호키 생성 요청 및 상기 특정 디바이스의 고유한 식별자를 전송하는 프로세서를 포함한다. 이때, 상기 실행 전용 메모리 장치의 컨트롤러는, 상기 특정 디바이스에 대한 고유암호키 생성 요청 및 상기 특정 디바이스의 식별자가 수신되면, 상기 실행 전용 루틴의 실행에 따라, 상기 특정 디바이스의 식별자와 상기 메모리에 저장되어 있는 고유키에 기초하여 키 계산 알고리즘을 처리하고, 상기 키 계산 알고리즘을 처리한 결과에 따라 생성된 고유암호키를 상기 특정 디바이스의 고유암호키로서 출력한다.
또한, 상기 실행 전용 메모리 장치의 컨트롤러는, 상기 실행 전용 루틴의 실행에 따라, 상기 고유암호키를 출력한 후 상기 고유암호키를 폐기하며, 상기 프로세서의 상기 특정 디바이스의 고유암호키 생성 요청을 수신할 때마다 고유암호키를 새로 생성할 수 있다.
또한, 상기 실행 전용 메모리 장치의 컨트롤러는, 상기 실행 전용 루틴의 실행에 따라, 상기 특정 디바이스의 식별자 및 상기 고유키를 대칭키 알고리즘의 입력으로 하여 키 계산을 처리할 수 있다.
또한, 상기 실행 전용 메모리 장치의 컨트롤러는, 상기 실행 전용 루틴의 실행에 따라, 상기 특정 디바이스의 식별자 및 상기 고유키를 해시 함수 알고리즘의 입력으로 하여 키 계산을 처리할 수 있다.
또한, 상기 특정 디바이스의 식별자는 해당 제품 모델에 대해 고유하게 부여된 시리얼 넘버이고, 상기 실행 전용 메모리 장치의 메모리에 저장된 고유키는 임의의 숫자 및 문자 중 적어도 하나를 포함할 수 있다.
본 발명의 다른 측면에 따른 디바이스 고유암호키 생성기에 의해 수행되는 디바이스 고유암호키 생성 방법은, 프로세서가 특정 디바이스에 대한 고유암호키 생성 요청 및 상기 특정 디바이스의 고유한 식별자를 실행 전용 메모리 장치로 전송하는 단계; 상기 실행 전용 메모리 장치가 내부에 저장된 실행 전용 루틴을 실행하여 고유암호키를 생성하는 단계; 및 상기 실행 전용 메모리 장치가 상기 생성된 고유암호키를 상기 특정 디바이스의 고유암호키로서 상기 프로세서로 출력하는 단계를 포함한다. 이때, 상기 실행 전용 메모리 장치가 상기 고유암호키를 생성하는 단계는, 상기 실행 전용 메모리 장치의 컨트롤러가 내부 메모리에 외부 접근이 불가능하게 저장된 고유키를 획득하는 단계; 및 상기 컨트롤러가 상기 프로세서로부터 수신된 상기 특정 디바이스의 식별자와 상기 저장된 고유키에 기초하여 키 계산 알고리즘을 처리하여 고유암호키를 생성하는 단계를 포함한다.
또한, 상기 생성된 고유암호키를 상기 프로세서로 출력하는 단계 이후에, 상기 실행 전용 메모리 장치가 상기 실행 전용 루틴의 실행에 따라, 상기 생성된 고유암호키를 폐기하는 단계를 더 포함하며, 상기 실행 전용 루틴은, 상기 프로세서로부터의 고유암호키 생성 요청 수신 시마다 고유암호키를 새로 생성하도록 설정될 수 있다.
또한, 상기 키 계산 알고리즘을 처리하여 고유암호키를 생성하는 단계는, 상기 특정 디바이스의 식별자 및 상기 고유키를 대칭키 알고리즘의 입력으로 하여 키 계산을 처리할 수 있다.
또한, 상기 키 계산 알고리즘을 처리하여 고유암호키를 생성하는 단계는, 상기 특정 디바이스의 식별자 및 상기 고유키를 해시 알고리즘의 입력으로 하여 키 계산을 처리할 수 있다.
또한, 상기 특정 디바이스의 식별자는 해당 제품 모델에 대해 고유하게 부여된 시리얼 넘버이고, 상기 실행 전용 메모리 장치의 메모리에 저장된 고유키는 임의의 숫자 및 문자 중 적어도 하나를 포함할 수 있다.
본 발명의 또 다른 측면에 따른 디바이스 고유암호키 생성 프로그램이 기록된 기록매체는, 특정 디바이스에 대한 고유암호키 생성 요청이 수신되면, 실행 전용 루틴을 실행하는 단계; 기설정된 경로로부터 상기 특정 디바이스의 고유한 식별자를 로딩하는 단계; 외부 접근이 불가능하게 내부 일 영역에 저장된 고유키를 읽어오는 단계; 상기 특정 디바이스의 식별자 및 상기 고유키에 기초하여 키 계산 알고리즘을 처리하여 고유암호키를 생성하는 단계; 및 상기 키 계산 알고리즘의 처리 결과에 따라 생성된 고유암호키를 출력하는 단계를 실행시키기 위한 프로그램이 기록되어 있다.
전술한 본 발명의 과제 해결 수단에 의하면, 디바이스의 고유한 식별자 및 외부에서 획득할 수 없도록 저장된 고유키를 이용하여 복제가 불가능한(Unclonable) 암호키를 생성함으로써 디바이스 보안성을 크게 높일 수 있다.
즉, 실행 전용 메모리 장치 상에서만 확인할 수 있는 정보와 실행 전용 메모리 장치에서만 실행할 수 있는 펌웨어를 사용하여 디바이스의 고유암호키를 생성함으로써, 디바이스 전용의 고유암호키 뿐만 아니라 고유암호키 계산 과정 또한 외부로 노출되지 않는다.
또한, 본 발명의 과제 해결 수단에 의하면, 실행 전용 메모리 장치에서 생성된 디바이스 고유암호키는 출력 직후 폐기되어 디바이스 또는 실행 전용 메모리 장치 상에 저장되지 않아, 외부로의 노출을 차단할 수 있다.
또한, 본 발명의 과제 해결 수단에 의하면, 기존에 CPU 등에 적용되어 있는 기술 중 디바이스 식별자 및 실행 전용 메모리를 사용함으로써, 디바이스 고유암호키 생성기 구현을 위한 별도의 부품 및 정보가 필요치 않아 다수의 하드웨어에 저비용으로 넓게 적용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 디바이스 고유암호키 생성기의 구성을 설명하기 위한 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 디바이스 고유암호키 생성기의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 실행 전용 메모리 장치의 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 실행 전용 메모리 장치의 디바이스 고유암호기 생성 과정을 설명하기 위한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 실행 전용 메모리 장치에서 실행되는 디바이스 고유암호키 생성 루틴을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 디바이스 고유암호키 생성 방법을 설명하기 위한 순서도이다.
아래에서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자들(이하, 통상의 기술자들)이 본 발명을 용이하게 실시할 수 있도록, 첨부되는 도면들을 참조하여 몇몇 실시 예가 명확하고 상세하게 설명될 것이다.
도 1은 본 발명의 일 실시예에 따른 디바이스 고유암호키 생성기의 구성을 설명하기 위한 블록도이다.
도 1에서는 디바이스 고유암호키 생성기(11)가 특정 디바이스(10) 내에 일 부분으로서 포함된 것을 설명하나, 본 발명의 일 실시예에 따른 디바이스 고유암호키 생성기(11)는 디바이스(10) 외부에 별도로 구현되거나 또는 디바이스(10)에 착탈 가능하게 장착되어 디바이스(10)와 전기적으로 연결 및 연동되도록 구현되는 것도 가능하다.
본 발명의 일 실시예에 따른 디바이스(10)는 단독으로 기설정된 특정 동작 또는 기능을 처리하는 전자 장치 자체를 의미하거나, 또는 전자 장치에 일 부품으로서 포함되어 독자적으로 또는 장치 내 다른 디바이스들과 연동하여 동작할 수 있으며, 그 동작 및 기능은 한정되지 않는다.
예를 들면, 디바이스(10)는 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 또는 스마트 와치(smart watch) 등 일 수 있다. 또한, 디바이스(10)는 스마트 가전 제품(smart home appliance)일 수 있으며, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), 게임 콘솔 등일 수 있다. 또한, 디바이스(10)는 사물 인터넷(internet of things) 장치일 수 있으며, 예를 들어, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 운동기구, 온수탱크, 히터, 보일러, 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치 등일 수 있다. 다양한 실시예에서, 디바이스(10)는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 다만, 디바이스(10)는 전술한 기기들에 한정되는 것은 아니며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
도 1로 돌아가서, 본 발명의 일 실시예에 따른 디바이스 고유암호키 생성기(11)는 프로세서(110) 및 실행 전용 메모리(eXecute Only Memory, XOM) 장치(120)를 포함한다.
실행 전용 메모리(XOM) 장치는, 명령 페치(instruction fetches)만 허용하는 메모리 장치로서, 읽기 및 쓰기를 위한 액세스는 허용되지 않는다. 이러한 실행 전용 메모리 장치를 사용할 경우, 임의의 사용자가 실행 전용 메모리 장치 상의 코드를 읽기 또는 쓰기 등을 위해 액세스하는 것을 방지할 수 있다. 예를 들어, 실행 전용 메모리 장치에 펌웨어를 배치하고 사용자 코드와 드라이버들을 별도로 로드(load)할 수 있어, 다른 사용자(예: 외부의 다른 펌웨어)가 해당 코드를 읽기 하는 것을 방지할 수 있다.
프로세서(110)는 디바이스(10)에 대해서만 전용적으로 사용될 고유한 암호키(이하, '고유암호키(unique encryption key)'라고 지칭함)를 제공하기 위한 전반적인 동작을 제어한다. 이를 위해, 프로세서(110)는 적어도 하나의 프로세싱 유닛(CPU, micro-processor, DSP 등), RAM(Random Access Memory), ROM(Read-Only Memory) 등을 포함하여 구현될 수 있다.
일반적으로 암호키(encryption key)는 평문을 암호화 또는 복호화시키는 암호 알고리즘에 필요한 핵심 정보 값을 의미하며, 임의의 메시지를 암호화 또는 복호화 하는데 사용된다. 본 발명의 일 실시예에서, 디바이스(10)의 고유암호키는, 디바이스(10)를 클라이언트라고 정의할 경우 디바이스(10)와 서버(미도시) 간에 송수신되는 메시지들을 암호화하는데 사용될 수 있다. 예를 들어, 클라이언트(즉, 디바이스(10))가 전력 검침기이고 서버가 전력 공급자의 서버일 경우, 전력 공급자의 서버는 각 가정에 위치한 전력 검침기로부터 수신된 데이터에 기초하여 공급 전력에 대한 요금을 산정하여 부과할 수 있다. 이때, 각각의 전력 검침기 별로 전력 공급자 서버와의 데이터 송수신 시 자신만의 고유한 암호키를 사용하여 메시지를 암호화함으로써 해당 데이터에 대한 기밀성 및 무결성을 보장할 수 있다.
구체적으로, 프로세서(110)는 외부로부터 요청된 또는 디바이스(10) 자체에서 발생된 디바이스(10)에 대한 고유암호키 생성 요청에 따라, 실행 전용 메모리 장치(120)로 고유암호키 생성 요청을 전송한다. 이때, 프로세서(110)는 디바이스(10)의 고유한 식별자(이하, '디바이스 식별자(Unique ID)'라고 지칭함)를 실행 전용 메모리 장치(120)로 제공한다.
디바이스 식별자는 디바이스(10)를 다른 디바이스들로부터 식별하기 위해 고유하게 부여되는 것으로서, 예를 들어 디바이스(10)의 제조 시 제조사에 의해 해당 제품 모델에 대해 고유하게 부여된 일련번호(serial number)일 수 있다.
그리고 프로세서(110)는 실행 전용 메모리 장치(120)로부터 생성된 고유암호키를 수신하여, 디바이스(10)의 암호키로서 사용한다. 즉, 프로세서(110)는 디바이스(10)의 외부에서 요청되거나 내부에서 발생된 고유암호키 요청에 응답하여 해당 목적지로 고유암호키를 제공한다.
메모리의 일반적인 기능은 읽기, 쓰기, 실행 동작 등을 의미한다. 이에 비해, 본 발명의 일 실시예에 따른 디바이스 고유암호키 생성기(11)는 디바이스 고유암호키 생성 및 제공을 위해, 읽기 및 쓰기 동작을 거부하고 특정 실행 동작만 허용하는 실행 전용 메모리 장치(120)를 사용한다.
실행 전용 메모리 장치(120)는 외부(예: 프로세서(110)) 요청에 따라 실행 전용 루틴을 수행하여 특정 디바이스에 대한 고유암호키를 생성 및 출력한다. 이때, 실행 전용 메모리 장치(120) 내에서 실행되는 데이터 처리 및 연산 등의 동작은 외부에서 읽기 또는 쓰기할 수 없으며 출력된 결과만을 확인할 수 있다.
이와 같은 실행 전용 메모리 장치(120)의 특징 및 동작에 대해서는 아래 도 3 내지 도 5에서 상세히 설명하도록 한다.
한편, 디바이스 고유암호키 생성기(11)는 디바이스(10) 내부의 구성 간 또는 외부 장치(미도시)들과의 데이터 송수신 등의 처리를 수행하기 위한 세부 구성을 추가적으로 포함할 수 있다.
도 2는 본 발명의 다른 실시예에 따른 디바이스 고유암호키 생성기의 구성을 설명하기 위한 블록도이다.
이때, 본 발명의 다른 실시예에 따른 디바이스 고유암호키 생성기(12)는 앞서 도 1에서 설명한 디바이스 고유암호키 생성기(11)의 모든 구성을 포함하되, 통신모듈(130) 및 메모리(140)를 더 포함한다.
통신모듈(130)은 디바이스(10) 내부에서 발생된 디바이스 고유암호키 요청, 또는 디바이스(10) 외부로부터 수신된 디바이스 고유암호키 요청을 프로세서(110)로 전달한다.
그리고 통신모듈(130)은 프로세서(110)의 제어에 따라 디바이스 고유암호키 요청에 대한 응답으로서 디바이스(10)의 고유암호키를 해당 요청 대상에게 전송한다.
메모리(140)에는 디바이스 고유암호키 생성 프로그램이 저장되어 있으며, 이 프로그램은 프로세서(110)에 의하여 구동된다. 또한, 메모리(140)에는 디바이스 고유암호키 생성기(12)의 동작을 전반적으로 제어하기 위한 적어도 하나의 프로그램이 더 저장되어 있을 수 있다.
또한, 메모리(140)에는 디바이스(10)의 고유한 식별자(즉, 디바이스 식별자)가 저장되어 있다.
메모리(140)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것일 수 있다.
또한, 메모리(140)는 프로세서(110)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행할 수 있다. 여기서, 메모리(140)는 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치 외에 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 이에 한정되는 것은 아니다.
이때, 프로세서(110)는 메모리(140)에 저장된 디바이스 고유암호키 생성 프로그램을 실행하여 디바이스(10)의 고유암호키를 제공하기 위한 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(110)는 메모리(140)에 저장된 프로그램을 RAM으로 독출하여 적어도 하나의 프로세싱 유닛을 통해 실행할 수 있다.
구체적으로, 프로세서(110)는 통신모듈(130)을 통해 외부로부터의 디바이스 고유암호키 요청 또는 디바이스(10) 자체적으로 발생된 디바이스 고유암호키 요청을 수신하면, 디바이스 고유암호키 생성 프로그램의 실행에 따라 실행 전용 메모리 장치(120)로 고유암호키를 요청한다. 이때, 프로세서(110)는 디바이스(10)의 디바이스 식별자를 메모리(140)로부터 획득하여 실행 전용 메모리 장치(120)로 제공할 수 있다.
그리고 프로세서(110)는 디바이스 고유암호키 생성 요청에 대응하여 실행 전용 메모리 장치(120)로부터 디바이스(10)의 고유암호키를 수신하고, 수신된 고유암호키를 해당 요청 대상에게 제공한다. 즉, 프로세서(110)는 통신모듈(130)을 통해 수신된 디바이스(10) 내부 또는 외부로부터의 디바이스 고유암호키 요청에 응답하여, 통신모듈(130)을 통해 해당 요청 대상을 목적지로하여 디바이스(10)의 고유암호키를 제공한다.
이하, 도 3 내지 도 5를 참조하여, 실행 전용 메모리 장치(120)가 프로세서(110)로부터 디바이스 고유암호키 생성 요청을 수신함에 따라 처리하는 동작에 대해서 상세히 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 실행 전용 메모리 장치의 구성을 나타낸 블록도이다. 그리고 도 4는 본 발명의 일 실시예에 따른 실행 전용 메모리 장치의 디바이스 고유암호기 생성 과정을 설명하기 위한 개념도이다. 또한, 도 5는 본 발명의 일 실시예에 따른 실행 전용 메모리 장치에서 실행되는 디바이스 고유암호키 생성 루틴을 설명하기 위한 순서도이다.
도 3에서와 같이, 실행 전용 메모리 장치(120)는 메모리(122) 및 메모리(122)의 동작을 제어하기 위한 컨트롤러(121)를 포함한다.
컨트롤러(121)는 메모리(122)로의 데이터 입출력을 제어할 수 있다. 컨트롤러(121)와 메모리(122)는 버스 채널을 통해 연결될 수 있으며, 제어 신호 및 데이터 신호는 버스 채널을 통해 컨트롤러(121)와 메모리(122) 사이에서 전송될 수 있다.
컨트롤러(121)는 아래에서 설명될 기능들을 수행하도록 구성되는 하나 이상의 하드웨어 구성 요소들(예컨대, 아날로그 회로, 논리 회로 등)을 포함할 수 있다. 추가로 또는 대안적으로, 컨트롤러(121)는 하나 이상의 프로세서 코어들을 포함할 수 있다. 아래에서 설명될 컨트롤러(121)의 기능들은 소프트웨어 및/또는 펌웨어의 프로그램 코드로 구현될 수 있고, 컨트롤러(121)의 프로세서 코어(들)는 프로그램 코드의 명령어 집합을 실행할 수 있다. 컨트롤러(121)의 프로세서 코어(들)는 명령어 집합을 실행하기 위해 다양한 종류의 산술 연산들 및/또는 논리 연산들을 처리할 수 있다.
컨트롤러(121)는 외부(예: 프로세서(110))로부터 수신된 디바이스 고유암호키 생성 요청에 대응하여 디바이스 고유암호키 생성 루틴을 실행한다. 디바이스 고유암호키 생성 루틴은 실행 전용 루틴으로서, 컨트롤러(121)는 해당 실행 전용 루틴에 대한 읽기 또는 쓰기 등의 외부 접근을 제한하고 외부로 실행 결과 출력만을 허가한다.
메모리(122)는 휘발성 메모리 및/또는 비휘발성 메모리를 포함할 수 있다.
이때, 실행 전용 메모리 장치(120)의 일 영역(즉, 메모리(122)의 일 영역)에는 고유키(Unique Key) 및 실행 전용 루틴을 실행하기 위한 펌웨어가 저장되어 있다. 고유키는 임의의 숫자 및 문자 중 적어도 하나를 포함하는 데이터일 수 있다. 실행 전용 메모리 장치(120)에 저장되는 펌웨어 및 고유키는 실행 전용 메모리 장치(120)의 제조 과정 동안 또는 제조 직후에 해당 메모리 장치 제조사에 의해 저장될 수 있다.
도4를 참조하면, 실행 전용 메모리 장치(120)에는 해당 실행 전용 메모리 장치(120)에 대해 유일하게 부여된 고유키 및 디바이스 고유암호키 생성 루틴을 수행하는 펌웨어(예를 들어, '키 계산 펌웨어')가 외부 접근이 불가능하게 저장되어 있다.
이때, 실행 전용 메모리 장치(120)에 저장되어 있는 고유키는 키 계산 펌웨어에 의해서 실행 전용 메모리 장치(120) 내에서만 읽기 처리될 뿐 외부 접속 또는 요구에 대응하여서는 모든 처리(즉, 읽기, 쓰기, 소거 등)가 거부된다.
또한, 실행 전용 메모리 장치(120)에 저장된 펌웨어는 기설정된 키(key) 계산 알고리즘을 실행하기 위한 실행 전용 루틴을 포함한다. 키 계산 알고리즘의 실행에 따라 실행 전용 메모리 장치(120)에 저장되어 있는 고유키를 사용한 고유암호키 생성이 처리된다.
이에 따라, 복수의 디바이스 별로 동일한 키 계산 알고리즘을 사용한다 가정하더라도, 디바이스 별로 각 실행 전용 메모리 장치(120)에 저장된 고유키가 상이하기 때문에 디바이스 별로 각각 서로 다른 고유암호키가 생성된다. 뿐만 아니라, 키 계산 알고리즘(즉, 키 계산 과정)은 실행 전용 메모리 장치(120) 상에서만 동작하므로 외부에 노출되지 않는다.
도 5를 참조하여, 실행 전용 메모리 장치(120)의 컨트롤러(121)가 프로세서(110)로부터 고유암호키 생성 요청을 수신한 후 디바이스 고유암호키 생성을 처리하는 과정에 대해서 설명하도록 한다.
컨트롤러(121)는 프로세서(110)로부터의 디바이스(10)에 대한 디바이스 고유암호키 생성 요청에 응답하여 실행 전용 루틴을 실행한다(S110).
실행 전용 루틴의 실행에 따라, 컨트롤러(121)는 메모리(122)에 저장된 고유키 및 프로세서(110)로부터 획득한 디바이스(10)의 디바이스 식별자에 기초하여 디바이스(10)의 고유암호키를 생성한다(S120).
구체적으로, 컨트롤러(121)는 실행 전용 메모리 장치(120)의 일 영역(즉, 메모리(122))에 저장된 고유키를 획득하고(S121), 프로세서(110)로부터 디바이스(10)의 식별자를 획득한다(S122). 이때, 컨트롤러(121)가 고유키를 획득하는 단계(S121) 및 디바이스 식별자를 획득하는 단계(S122)는 그 순서가 한정되지 않으며 병렬적으로 처리될 수도 있다. 예를 들어, 프로세서(110)가 특정 디바이스(10)에 대한 고유암호키 생성 요청과 함께 특정 디바이스(10)의 디바이스 식별자를 실행 전용 메모리 장치(120)로 전송한 경우, 컨트롤러(121)는 실행 전용 루틴을 실행함과 동시에 특정 디바이스(10)의 디바이스 식별자를 획득하는 단계를 먼저 수행할 수 있다.
그런 다음, 컨트롤러(121)는 획득한 고유키 및 디바이스 식별자에 기초하여 기설정된 키 계산 알고리즘을 수행하여 고유암호키를 생성한다(S123).
이때, 컨트롤러(121)는 키 계산 알고리즘으로서 대칭키 알고리즘(symmetric-key algorithm)을 사용할 수 있으며, 고유키 및 디바이스 식별자를 대칭키 알고리즘의 입력으로 하여 키 계산을 처리할 수 있다. 예를 들어, 대칭키 암호 알고리즘으로서 AES 알고리즘(Advanced Encryption Standard Algorithm)이 적용될 수 있다.
또한, 컨트롤러(121)는 키 계산 알고리즘으로서 해시 함수 알고리즘(Hash Function Algorithm)을 사용할 수 있으며, 고유키 및 디바이스 식별자를 해시 함수 알고리즘의 입력으로 하여 키 계산을 처리할 수 있다. 예를 들어, 해시 함수 알고리즘으로서 SHA 알고리즘(Secure Hash Algorithm)이 적용될 수 있다.
이와 같이, 키 계산 알고리즘은 함수의 특성을 지닐 수 있으며, 입력값과 출력값은 1:1의 연관성을 가질 수 있다.
다음으로, 실행 전용 루틴에 따라, 컨트롤러(121)는 생성된 고유암호키를 디바이스(10)의 고유암호키로서 프로세서(110)로 출력한다(S130).
또한, 본 발명의 일 실시예에 따른 실행 전용 메모리 장치(120)의 컨트롤러(121)는 생성된 고유암호키를 프로세서(110)로 출력한 후, 해당 고유암호키를 곧바로 폐기 처리할 수 있다(S140).
즉, 실행 전용 메모리 장치(120)는 생성된 고유암호키를 별도로 저장해두지 않으며, 프로세서(110)의 고유암호키 요청 시마다 매번 고유암호키 생성 처리를 수행함으로써, 외부로 해당 고유암호키가 노출되는 것을 더욱 효과적으로 방지할 수 있다.
이하, 도 6을 참조하여 본 발명의 일 실시예에 따른 디바이스 고유암호키 생성 방법에 대해서 설명하도록 한다. 이때, 도 6에 도시된 디바이스 고유암호키 생성 방법은 이상에서 설명한 프로세서(110)에 의해 처리될 수 있다.
도 6은 본 발명의 일 실시예에 따른 디바이스 고유암호키 생성 방법을 설명하기 위한 순서도이다.
특정 디바이스(즉, 디바이스(10))에 대한 고유암호키 생성 요청이 발생되면(S210), 실행 전용 메모리 장치(120)로 특정 디바이스에 대한 디바이스 고유암호키 생성 요청을 전송한다(S220).
이때, 디바이스 고유암호키 생성 요청은 해당 디바이스 내부에서 자체적으로 발생할 수 있으며, 외부 다른 장치로부터 수신될 수도 있다.
또한, 디바이스 고유암호키 생성 요청과 함께 특정 디바이스의 고유한 식별자(즉, 디바이스 식별자)를 실행 전용 메모리 장치(120)로 제공할 수 있다. 또한, 실행 전용 메모리 장치(120)의 요청에 의해 또는 디바이스 고유암호키 생성 요청 이후에 순차적으로 디바이스 식별자를 제공하는 것도 가능하다.
그런 다음, 실행 전용 메모리 장치(120) 내에서 실행 전용 루틴의 실행에 따라 생성된 디바이스(10)에 대한 고유암호키를, 실행 전용 메모리 장치(120)로부터 수신한다(S230).
구체적으로, 실행 전용 메모리 장치(120)는 디바이스 고유암호키 생성 요청이 수신되면, 실행 전용 루틴을 실행하여 내부에 외부 접근이 불가하도록 저장된 고유키를 읽어오고 또한 기설정된 경로로부터 디바이스 식별자를 로딩(예: 프로세서(110)가 제공한 데이터 획득)하며, 고유키 및 디바이스 식별자를 기설정된 키 계산 알고리즘의 입력으로 하여 고유암호키를 생성한다. 이때, 키 계산 알고리즘은 대칭키 알고리즘 또는 해시 함수 알고리즘 등 임의의 계산을 처리하는 함수로 설정될 수 있다. 그리고 실행 전용 메모리 장치(120)는 실행 전용 루틴에 따라, 계산 알고리즘의 처리 결과로서 생성된 고유암호키를 출력한다.
다음으로, 수신된 고유암호키를 해당 특정 디바이스의 암호키로서 사용한다(S240).
이때, 상기 단계 (S210)에서 발생된 디바이스 고유암호키 생성 요청에 대응하여, 해당 요청 대상으로 고유암호키를 제공한다.
또한, 고유암호키는 실행 전용 메모리 장치(120)에서 출력된 후 즉시 폐기되므로, 보안키 생성 요청이 발생될 때마다 위와 같은 단계 (S210) 내지 (S240)이 반복 처리된다.
이상에서 설명한 본 발명의 일 실시예에 따른 디바이스 고유암호키 생성 방법은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있으며, 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Claims (11)
- 디바이스 고유암호키 생성기에 있어서,실행 전용 루틴을 수행하기 위한 펌웨어 및 고유키가 각각 외부 접근이 불가능하게 저장된 메모리, 및 상기 실행 전용 루틴을 실행하여 임의의 디바이스에 대한 고유암호키 생성을 처리하는 컨트롤러를 포함하는 실행 전용 메모리 장치; 및상기 실행 전용 메모리 장치로 특정 디바이스에 대한 고유암호키 생성 요청 및 상기 특정 디바이스의 고유한 식별자를 전송하는 프로세서를 포함하되,상기 실행 전용 메모리 장치의 컨트롤러는,상기 특정 디바이스에 대한 고유암호키 생성 요청 및 상기 특정 디바이스의 식별자가 수신되면, 상기 실행 전용 루틴의 실행에 따라, 상기 특정 디바이스의 식별자와 상기 메모리에 저장되어 있는 고유키에 기초하여 키 계산 알고리즘을 처리하고, 상기 키 계산 알고리즘을 처리한 결과에 따라 생성된 고유암호키를 상기 특정 디바이스의 고유암호키로서 출력하는 것인, 디바이스 고유암호키 생성기.
- 제 1 항에 있어서,상기 실행 전용 메모리 장치의 컨트롤러는,상기 실행 전용 루틴의 실행에 따라, 상기 고유암호키를 출력한 후 상기 고유암호키를 폐기하며,상기 프로세서의 상기 특정 디바이스의 고유암호키 생성 요청을 수신할 때마다 고유암호키를 새로 생성하는 것인, 디바이스 고유암호키 생성기.
- 제 1 항에 있어서,상기 실행 전용 메모리 장치의 컨트롤러는,상기 실행 전용 루틴의 실행에 따라,상기 특정 디바이스의 식별자 및 상기 고유키를 대칭키 알고리즘의 입력으로 하여 키 계산을 처리하는 것인, 디바이스 고유암호키 생성기.
- 제 1 항에 있어서,상기 실행 전용 메모리 장치의 컨트롤러는,상기 실행 전용 루틴의 실행에 따라,상기 특정 디바이스의 식별자 및 상기 고유키를 해시 함수 알고리즘의 입력으로 하여 키 계산을 처리하는 것인, 디바이스 고유암호키 생성기.
- 제 1 항에 있어서,상기 특정 디바이스의 식별자는 해당 제품 모델에 대해 고유하게 부여된 시리얼 넘버이고,상기 실행 전용 메모리 장치의 메모리에 저장된 고유키는 임의의 숫자 및 문자 중 적어도 하나를 포함하는 것인, 디바이스 고유암호키 생성기.
- 디바이스 고유암호키 생성기에 의해 수행되는 디바이스 고유암호키 생성 방법에 있어서,프로세서가 특정 디바이스에 대한 고유암호키 생성 요청 및 상기 특정 디바이스의 고유한 식별자를 실행 전용 메모리 장치로 전송하는 단계;상기 실행 전용 메모리 장치가 내부에 저장된 실행 전용 루틴을 실행하여 고유암호키를 생성하는 단계; 및상기 실행 전용 메모리 장치가 상기 생성된 고유암호키를 상기 특정 디바이스의 고유암호키로서 상기 프로세서로 출력하는 단계를 포함하며,상기 실행 전용 메모리 장치가 상기 고유암호키를 생성하는 단계는,상기 실행 전용 메모리 장치의 컨트롤러가 내부 메모리에 외부 접근이 불가능하게 저장된 고유키를 획득하는 단계; 및상기 컨트롤러가 상기 프로세서로부터 수신된 상기 특정 디바이스의 식별자와 상기 저장된 고유키에 기초하여 키 계산 알고리즘을 처리하여 고유암호키를 생성하는 단계를 포함하는 것인, 디바이스 고유암호키 생성 방법.
- 제 6 항에 있어서,상기 생성된 고유암호키를 상기 프로세서로 출력하는 단계 이후에,상기 실행 전용 메모리 장치가 상기 실행 전용 루틴의 실행에 따라, 상기 생성된 고유암호키를 폐기하는 단계를 더 포함하며,상기 실행 전용 루틴은, 상기 프로세서로부터의 고유암호키 생성 요청 수신 시마다 고유암호키를 새로 생성하도록 설정된 것인, 디바이스 고유암호키 생성 방법.
- 제 6 항에 있어서,상기 키 계산 알고리즘을 처리하여 고유암호키를 생성하는 단계는,상기 특정 디바이스의 식별자 및 상기 고유키를 대칭키 알고리즘의 입력으로 하여 키 계산을 처리하는 것인, 디바이스 고유암호키 생성 방법.
- 제 6 항에 있어서,상기 키 계산 알고리즘을 처리하여 고유암호키를 생성하는 단계는,상기 특정 디바이스의 식별자 및 상기 고유키를 해시 알고리즘의 입력으로 하여 키 계산을 처리하는 것인, 디바이스 고유암호키 생성 방법.
- 제 6 항에 있어서,상기 특정 디바이스의 식별자는 해당 제품 모델에 대해 고유하게 부여된 시리얼 넘버이고,상기 실행 전용 메모리 장치의 메모리에 저장된 고유키는 임의의 숫자 및 문자 중 적어도 하나를 포함하는 것인, 디바이스 고유암호키 생성 방법.
- 디바이스 고유암호키 생성 프로그램이 기록된 기록매체에 있어서,특정 디바이스에 대한 고유암호키 생성 요청이 수신되면, 실행 전용 루틴을 실행하는 단계;기설정된 경로로부터 상기 특정 디바이스의 고유한 식별자를 로딩하는 단계;외부 접근이 불가능하게 내부 일 영역에 저장된 고유키를 읽어오는 단계;상기 특정 디바이스의 식별자 및 상기 고유키에 기초하여 키 계산 알고리즘을 처리하여 고유암호키를 생성하는 단계; 및상기 키 계산 알고리즘의 처리 결과에 따라 생성된 고유암호키를 출력하는 단계를 실행시키기 위한 프로그램이 기록된 기록 매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/414,315 US20220038275A1 (en) | 2018-12-18 | 2019-11-08 | Device-specific encryption key generator and method |
CN201980077614.0A CN113168481A (zh) | 2018-12-18 | 2019-11-08 | 设备固有加密密钥生成器及方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180164134A KR102263877B1 (ko) | 2018-12-18 | 2018-12-18 | 디바이스 고유암호키 생성기 및 방법 |
KR10-2018-0164134 | 2018-12-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020130348A1 true WO2020130348A1 (ko) | 2020-06-25 |
Family
ID=71101841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/015129 WO2020130348A1 (ko) | 2018-12-18 | 2019-11-08 | 디바이스 고유암호키 생성기 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220038275A1 (ko) |
KR (1) | KR102263877B1 (ko) |
CN (1) | CN113168481A (ko) |
WO (1) | WO2020130348A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220129579A1 (en) * | 2020-10-28 | 2022-04-28 | Electronics And Telecommunications Research Institute | Method and apparatus for providing metering information that provides security for personal information |
US11558190B2 (en) * | 2020-12-07 | 2023-01-17 | International Business Machines Corporation | Using keys for selectively preventing execution of commands on a device |
KR102576566B1 (ko) * | 2021-05-17 | 2023-09-08 | (주)유미테크 | 데이터 암호화 시스템 및 방법 |
CN114491681A (zh) * | 2022-01-10 | 2022-05-13 | 温州大学 | 一种电压控制的处理器spuf |
US12088581B2 (en) * | 2022-05-16 | 2024-09-10 | Micron Technology, Inc. | Track activities of components in endpoints having secure memory devices via identity validation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006113877A (ja) * | 2004-10-15 | 2006-04-27 | Willcom Inc | 接続機器認証システム |
US20090122981A1 (en) * | 2005-01-24 | 2009-05-14 | Yuichi Kaji | Encryption Key Generation Device |
JP2012008641A (ja) * | 2010-06-22 | 2012-01-12 | Toshiba Tec Corp | セキュリティデバイス及び情報処理装置 |
KR20140071775A (ko) * | 2012-12-04 | 2014-06-12 | 한국전자통신연구원 | 암호키 관리 시스템 및 방법 |
KR20180082703A (ko) * | 2017-01-10 | 2018-07-19 | 한국전자통신연구원 | 소프트웨어 인증장치를 위한 키 관리 방법 및 장치 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7979716B2 (en) * | 2004-11-18 | 2011-07-12 | Biogy, Inc. | Method of generating access keys |
JP4836504B2 (ja) * | 2005-06-30 | 2011-12-14 | 富士通株式会社 | Icチップ、ボード、情報処理装置及びコンピュータプログラム |
US8958562B2 (en) * | 2007-01-16 | 2015-02-17 | Voltage Security, Inc. | Format-preserving cryptographic systems |
JP2009169989A (ja) * | 2009-05-07 | 2009-07-30 | Panasonic Corp | プログラム実装方法および情報処理装置 |
KR20130048508A (ko) * | 2011-11-02 | 2013-05-10 | 에스케이플래닛 주식회사 | 단말기의 루트 키 생성 시스템 및 방법과 장치, 그리고 이를 지원하는 단말기 |
KR101959738B1 (ko) * | 2012-05-24 | 2019-03-19 | 삼성전자 주식회사 | 장치 식별자와 사용자 인증 정보에 기반한 보안 키 생성 장치 |
CN104704768B (zh) * | 2012-10-04 | 2018-01-05 | 本质Id有限责任公司 | 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统 |
US9122893B1 (en) * | 2014-02-24 | 2015-09-01 | International Business Machines Corporation | Trusted platform module switching |
US10735200B2 (en) * | 2015-03-27 | 2020-08-04 | Comcast Cable Communications, Llc | Methods and systems for key generation |
DE102015208525A1 (de) * | 2015-05-07 | 2016-03-24 | Siemens Aktiengesellschaft | Generieren eines kryptographischen Schlüssels |
US10484172B2 (en) * | 2015-06-05 | 2019-11-19 | Apple Inc. | Secure circuit for encryption key generation |
CN108141755A (zh) * | 2015-08-17 | 2018-06-08 | 瑞典爱立信有限公司 | 用于直接通信密钥建立的方法和设备 |
CN105488433B (zh) * | 2016-01-08 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 终端密钥生成方法及装置 |
US10922441B2 (en) * | 2018-05-04 | 2021-02-16 | Huawei Technologies Co., Ltd. | Device and method for data security with a trusted execution environment |
CN108768664B (zh) * | 2018-06-06 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置、系统、存储介质和计算机设备 |
-
2018
- 2018-12-18 KR KR1020180164134A patent/KR102263877B1/ko active IP Right Grant
-
2019
- 2019-11-08 US US17/414,315 patent/US20220038275A1/en not_active Abandoned
- 2019-11-08 CN CN201980077614.0A patent/CN113168481A/zh active Pending
- 2019-11-08 WO PCT/KR2019/015129 patent/WO2020130348A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006113877A (ja) * | 2004-10-15 | 2006-04-27 | Willcom Inc | 接続機器認証システム |
US20090122981A1 (en) * | 2005-01-24 | 2009-05-14 | Yuichi Kaji | Encryption Key Generation Device |
JP2012008641A (ja) * | 2010-06-22 | 2012-01-12 | Toshiba Tec Corp | セキュリティデバイス及び情報処理装置 |
KR20140071775A (ko) * | 2012-12-04 | 2014-06-12 | 한국전자통신연구원 | 암호키 관리 시스템 및 방법 |
KR20180082703A (ko) * | 2017-01-10 | 2018-07-19 | 한국전자통신연구원 | 소프트웨어 인증장치를 위한 키 관리 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN113168481A (zh) | 2021-07-23 |
KR20200075451A (ko) | 2020-06-26 |
US20220038275A1 (en) | 2022-02-03 |
KR102263877B1 (ko) | 2021-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020130348A1 (ko) | 디바이스 고유암호키 생성기 및 방법 | |
US11921911B2 (en) | Peripheral device | |
WO2021071157A1 (en) | Electronic device and method for managing blockchain address using the same | |
US9509502B2 (en) | Symmetric keying and chain of trust | |
US9768951B2 (en) | Symmetric keying and chain of trust | |
WO2018062761A1 (ko) | 보안 기능이 강화된 디바이스의 초기화 방법 및 디바이스의 펌웨어 업데이트 방법 | |
US9521125B2 (en) | Pseudonymous remote attestation utilizing a chain-of-trust | |
US9386045B2 (en) | Device communication based on device trustworthiness | |
CN109154972B (zh) | 使用基于硬件的安全隔离区域来防止电子设备上的盗版和作弊 | |
WO2017111383A1 (ko) | 생체 정보 기반 인증 장치, 이와 연동하는 제어 서버, 그리고 이들의 생체 정보 기반 로그인 방법 | |
WO2017057880A1 (en) | Apparatus and method for protection of critical embedded system components via hardware-isolated secure element-based monitor | |
WO2022075563A1 (ko) | 하드웨어 장치의 식별 정보를 생성하고 인증하는 전자 장치 및 이의 동작 방법 | |
US11520859B2 (en) | Display of protected content using trusted execution environment | |
CN114662135A (zh) | 数据访问方法、计算机设备及可读存储介质 | |
EP3221996B1 (en) | Symmetric keying and chain of trust | |
CN116502189A (zh) | 软件授权方法、系统、设备和存储介质 | |
CN107317925B (zh) | 移动终端 | |
WO2020197283A1 (ko) | 전자 디바이스를 인증하기 위한 방법 및 그에 따른 장치 | |
Yoshida et al. | Towards trusted iot sensing systems: Implementing puf as secure key generator for root of trust and message authentication code | |
WO2024049138A1 (ko) | 배터리 팩 및 이의 펌웨어 업데이트 방법 | |
WO2020214001A1 (ko) | Pki 기반의 일회성 아이디를 사용하여 서비스를 사용하는 방법, 및 이를 사용한 사용자 단말 | |
WO2023068402A1 (ko) | 키 격리 기반의 서명 방법 및 시스템 | |
CN116015976A (zh) | 一种数据加密传输方法及装置 | |
CN115659288A (zh) | 一种变电站嵌入式装置及软件版本管控方法、终端及存储介质 | |
CN117544328A (zh) | 物联网接入方法、装置、终端及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19900743 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: 19900743 Country of ref document: EP Kind code of ref document: A1 |