KR102296742B1 - Component for provisioning of security data and product including the same - Google Patents

Component for provisioning of security data and product including the same Download PDF

Info

Publication number
KR102296742B1
KR102296742B1 KR1020170049805A KR20170049805A KR102296742B1 KR 102296742 B1 KR102296742 B1 KR 102296742B1 KR 1020170049805 A KR1020170049805 A KR 1020170049805A KR 20170049805 A KR20170049805 A KR 20170049805A KR 102296742 B1 KR102296742 B1 KR 102296742B1
Authority
KR
South Korea
Prior art keywords
data
security
user
key
component
Prior art date
Application number
KR1020170049805A
Other languages
Korean (ko)
Other versions
KR20180056351A (en
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 US15/794,190 priority Critical patent/US11210678B2/en
Publication of KR20180056351A publication Critical patent/KR20180056351A/en
Application granted granted Critical
Publication of KR102296742B1 publication Critical patent/KR102296742B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

본 개시의 예시적 실시예에 따른 보안 부품은, 입력 데이터에 포함된 부품 사용자 데이터에 기초하여 입력 데이터가 부품의 정당한 사용자에 의해서 제공된 것인지 여부를 판단함으로써, 입력 데이터의 인증을 수행하는 사용자 인증 처리기, 인증된 입력 데이터의 인증된 부품 사용자 데이터에 기초하여 마스터 키를 생성하는 마스터 키 생성기, 마스터 키에 기초하여 인증된 입력 데이터에 포함된 암호화된 데이터를 복호화함으로써 보안 데이터를 생성하는 복호화 처리기, 및 보안 데이터를 저장하는 보안 저장소를 포함할 수 있다.A security component according to an exemplary embodiment of the present disclosure is a user authentication processor that performs authentication of input data by determining whether the input data is provided by a legitimate user of the component based on the component user data included in the input data. , a master key generator that generates a master key based on the authenticated part user data of the authenticated input data, a decryption processor that generates security data by decrypting encrypted data included in the authenticated input data based on the master key, and It may include a secure storage for storing secure data.

Description

보안 정보의 주입을 위한 부품 및 이를 포함하는 제품{COMPONENT FOR PROVISIONING OF SECURITY DATA AND PRODUCT INCLUDING THE SAME}COMPONENT FOR PROVISIONING OF SECURITY DATA AND PRODUCT INCLUDING THE SAME

본 개시의 기술적 사상은 보안 정보의 주입에 관한 것으로서, 자세하게는 보안 정보의 주입을 위한 부품 및 이를 포함하는 제품에 관한 것이다.The technical idea of the present disclosure relates to injection of security information, and more particularly, to a part for injection of security information and a product including the same.

외부의 부적절한 접근으로부터 보호되어야 하는 보안 정보는 다양한 방식으로 제품에 포함될 수 있다. 예를 들면, 부품 사용자는 보안 정보를 포함하는 부품을 부품 공급자로부터 공급받을 수도 있고, 또는 제품의 생산 단계에서 보안 정보를 부품이나 부품을 포함하는 제품에 주입할 수도 있다. 전자의 방식은 상대적으로 안전하게 보안 정보를 제품에 포함시킬 수 있는 한편, 부품 공급자에 대한 보안 정보의 노출이 불가피할 뿐만 아니라 부품의 사용환경 변화에 따른 보안 정보의 변경이 용이하지 아니할 수 있다. 또한, 후자의 방식은 보안 정보의 변경이 용이할 수 있는 한편, 보안 정보의 주입을 위한 인터페이스에 기인하여 제품 외부의 부적절한 접근에 대한 보안 정보의 보호가 취약할 수 있다.Security information that must be protected from inappropriate external access can be included in the product in various ways. For example, a component user may receive a component including security information from a component supplier, or may inject security information into the component or a product including the component in the production stage of the product. In the former method, security information can be included in a product relatively safely, and it may not be easy to change security information according to changes in the use environment of parts, as well as inevitably exposing security information to parts suppliers. In addition, in the latter method, security information may be easily changed, and protection of security information against improper access outside the product may be weak due to an interface for injection of security information.

본 개시의 기술적 사상은, 외부의 부적절한 접근으로부터 보호되는 보안 정보를 안전하게 제품에 주입하기 위하여 제품에 포함되는 부품 및 보안 정보의 주입 방법을 제공한다.The technical idea of the present disclosure provides a method for injecting parts and security information included in a product in order to safely inject security information protected from inappropriate external access into the product.

상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따라, 제품에 포함되어 제품을 인증하기 위한 입력 데이터를 처리하는 보안 부품은, 입력 데이터에 포함된 부품 사용자 데이터에 기초하여 입력 데이터가 부품의 정당한 사용자에 의해서 제공된 것인지 여부를 판단함으로써, 입력 데이터의 인증을 수행하는 사용자 인증 처리기, 인증된 입력 데이터의 인증된 부품 사용자 데이터에 기초하여 마스터 키를 생성하는 마스터 키 생성기, 마스터 키에 기초하여 인증된 입력 데이터에 포함된 암호화된 데이터를 복호화함으로써 보안 데이터를 생성하는 복호화 처리기, 및 보안 데이터를 저장하는 보안 저장소를 포함할 수 있다.In order to achieve the above object, according to an aspect of the technical idea of the present disclosure, a security component that is included in the product and processes input data for authenticating the product is input based on the component user data included in the input data. A user authentication processor that performs authentication of input data by judging whether the data is provided by a legitimate user of the part, a master key generator that generates a master key based on the authenticated part user data of the authenticated input data, a master key It may include a decryption processor for generating secure data by decrypting the encrypted data included in the authenticated input data based on the, and a secure storage for storing the secure data.

본 개시의 기술적 사상의 일측면에 따라, 내부에 저장된 보안 데이터에 기초하여 외부로부터의 제품 인증 요청에 응답하는 제품은, 제품의 외부로부터, 암호화된 데이터 및 부품 사용자 데이터를 포함하는 입력 데이터를 수신하는 통신 인터페이스, 부품 사용자 데이터에 기초하여 입력 데이터의 인증을 수행하고, 인증된 입력 데이터의 인증된 부품 사용자 데이터에 기초하여 인증된 입력 데이터의 인증된 암호화된 데이터를 복호화함으로써 보안 데이터를 생성하고, 보안 데이터를 저장하는 보안 부품을 포함할 수 있다. According to an aspect of the technical idea of the present disclosure, a product that responds to a product authentication request from the outside based on the security data stored therein receives input data including encrypted data and part user data from the outside of the product a communication interface that performs authentication of input data based on the part user data, and generates security data by decrypting the authenticated encrypted data of the input data authenticated based on the authenticated part user data of the authenticated input data, It may include a security component that stores security data.

본 개시의 기술적 사상에 따른 보안 정보의 주입을 위한 부품 및 방법에 의하면, 부품 사용자의 제어 하에서 보안 정보가 부품을 포함하는 제품에 안전하게 주입될 수 있다.According to the component and method for injection of security information according to the technical spirit of the present disclosure, security information can be safely injected into a product including the component under the control of the component user.

또한, 본 개시의 기술적 사상에 따른 보안 정보의 주입을 위한 부품 및 방법에 의하면, 보안 정보가 용이하게 변경될 수 있으므로, 부품 사용자에 의한 부품을 포함하는 제품의 활용도가 현저하게 향상될 수 있다.In addition, according to the parts and method for injecting security information according to the technical idea of the present disclosure, since the security information can be easily changed, the utilization of the product including the parts by the parts user can be remarkably improved.

또한, 본 개시의 기술적 사상에 따른 보안 정보의 주입을 위한 부품 및 방법에 의하면, 예비적인 보안 정보를 포함하는 부품의 생산이 방지됨으로써 부품 공급자에 의한 부품의 생산성이 현저하게 향상될 수 있다.In addition, according to the parts and method for injecting security information according to the technical spirit of the present disclosure, the production of parts including preliminary security information is prevented, so that the productivity of the parts by the parts supplier can be remarkably improved.

도 1은 본 개시의 예시적 실시예에 따라 보안 정보를 포함하는 제품 및 주변 시스템들을 개략적으로 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따라 도 1의 입력 데이터를 나타내는 도면이다.
도 3은 본 개시의 예시적 실시예에 따른 도 1의 보안 부품의 예시를 나타내는 블록도이다.
도 4는 본 개시의 예시적 실시예에 따라 도 3의 사용자 인증 처리기의 예시적인 동작을 나타내는 순서도이다.
도 5는 본 개시의 예시적 실시예에 따른 도 1의 보안 부품의 예시를 나타내는 블록도이다.
도 6은 본 개시의 예시적 실시예에 따른 입력 데이터를 나타내는 도면이다.
도 7은 본 개시의 예시적 실시예에 따라 도 6의 입력 데이터를 수신하는 도 1의 보안 부품의 예시적인 동작을 나타내는 순서도이다.
도 8은 본 개시의 예시적 실시예에 따라 보안 부품에 보안 정보를 주입하기 위한 동작을 시간의 흐름에 따라 나타내는 도면이다.
도 9는 본 개시의 예시적 실시예에 따라 보안 정보를 주입하는 방법을 나타내는 순서도이다.
도 10은 본 개시의 예시적 실시예에 따라 도 1의 제품의 예시를 나타내는 블록도이다.
도 11은 본 개시의 예시적 실시예에 따라 도 10의 IoT 기기의 하드웨어 및 소프트웨어의 예시적인 구조를 나타내는 블록도이다.
도 12는 본 개시의 예시적 실시예에 따른 보안 부품을 포함하는 제품이 사용되는 네트워크 시스템을 나타내는 도면이다.
1 is a block diagram schematically illustrating a product including security information and peripheral systems according to an exemplary embodiment of the present disclosure;
FIG. 2 is a diagram illustrating input data of FIG. 1 according to an exemplary embodiment of the present disclosure;
Fig. 3 is a block diagram illustrating an example of the security component of Fig. 1 according to an exemplary embodiment of the present disclosure;
4 is a flowchart illustrating an exemplary operation of the user authentication processor of FIG. 3 according to an exemplary embodiment of the present disclosure;
Fig. 5 is a block diagram illustrating an example of the security component of Fig. 1 according to an exemplary embodiment of the present disclosure;
6 is a diagram illustrating input data according to an exemplary embodiment of the present disclosure.
7 is a flow chart illustrating exemplary operation of the security component of FIG. 1 receiving input data of FIG. 6 in accordance with an exemplary embodiment of the present disclosure;
8 is a diagram illustrating an operation for injecting security information into a security component over time according to an exemplary embodiment of the present disclosure;
9 is a flowchart illustrating a method of injecting security information according to an exemplary embodiment of the present disclosure.
10 is a block diagram illustrating an example of the product of FIG. 1 according to an exemplary embodiment of the present disclosure;
11 is a block diagram illustrating an exemplary structure of hardware and software of the IoT device of FIG. 10 according to an exemplary embodiment of the present disclosure.
12 is a diagram illustrating a network system in which a product including a security component is used according to an exemplary embodiment of the present disclosure.

도 1은 본 개시의 예시적 실시예에 따라 보안 정보를 포함하는 제품(100) 및 주변 시스템들(200, 300)을 개략적으로 나타내는 블록도이다. 도 1에 도시된 바와 같이, 제품(100)은 데이터 주입 시스템(200) 및 인증 시스템(300)과 통신할 수 있고, 통신 인터페이스(110), 보안 부품(120) 및 인증 요청 처리기(130)를 포함할 수 있다. 제품(100)에 포함된 구성요소들로서, 통신 인터페이스(110), 보안 부품(120) 및 인증 요청 처리기(130) 각각은 논리 합성 등을 통해서 설계되는 로직 블록을 포함할 수도 있고, 프로세서에 의해서 실행되는 소프트웨어 블록을 포함할 수도 있다.1 is a block diagram schematically illustrating a product 100 including security information and peripheral systems 200 and 300 according to an exemplary embodiment of the present disclosure. As shown in FIG. 1 , the product 100 may communicate with the data injection system 200 and the authentication system 300 , and may include a communication interface 110 , a security component 120 , and an authentication request processor 130 . may include As components included in the product 100 , each of the communication interface 110 , the security component 120 , and the authentication request processor 130 may include a logic block designed through logic synthesis, etc., and executed by the processor It may also include a software block that is

제품(product)(100)은 보안 정보를 포함하는 개체로서 보안 정보에 기초하여 외부의 요청, 예컨대 인증 요청(A_REQ)에 응답할 수 있다. 예를 들면, 제품(100)은 퍼스널 컴퓨터, 네트워크 서버, 태블릿 PC, e-리더, PDA(personal digital assistant), PMP(portable multimedia player), 모바일 폰, 스마트 폰, 웨어러블 기기 등과 같이 독립적인 컴퓨팅 장치일 수도 있고, 자동차, 기계 장치, 제조 설비, 도어, 조명 등과 같이 특정한 기능을 제공하는 임의의 물체(object)일 수도 있다. The product 100 is an entity including security information and may respond to an external request, for example, an authentication request (A_REQ) based on the security information. For example, the product 100 may be an independent computing device such as a personal computer, a network server, a tablet PC, an e-reader, a personal digital assistant (PDA), a portable multimedia player (PMP), a mobile phone, a smart phone, a wearable device, and the like. may be, or may be any object that provides a specific function, such as an automobile, a mechanical device, a manufacturing facility, a door, a lighting, and the like.

제품(100)은 제품(100)에 포함된 통신 인터페이스(110)를 통해서 다른 장치, 예컨대 데이터 주입 시스템(200), 인증 시스템(300) 또는 제품(100)과 유사한 다른 제품 등과 통신할 수 있다. 예를 들면, 제품(100)은 통신 인터페이스(110)를 통해서, 예컨대 LTE(Long Term Evolution) 시스템, CDMA(Code Division Multiple Access) 시스템, GSM(Global System for Mobile Communications) 시스템 등과 같은 이동 통신(mobile telecommunication) 시스템에 접속할 수도 있고, WAN(wide area network), LAN(local area network), WLAN(wireless local area network) 등과 같이 통신 네트워크에 접속할 수도 있고, 사물 인터넷(Internet of Things; IoT)에 접속할 수도 있다. 통신 인터페이스(110)는 하나 이상의 통신 방식을 지원할 수 있고, 예컨대 도 1에서 데이터 주입 시스템(200) 및 인증 시스템(300)은 동일하거나 상이한 통신 방식들을 통해서 제품(100)과 통신할 수도 있다.The product 100 may communicate with other devices, such as the data injection system 200 , the authentication system 300 , or other products similar to the product 100 , through the communication interface 110 included in the product 100 . For example, the product 100 through the communication interface 110, for example, LTE (Long Term Evolution) system, CDMA (Code Division Multiple Access) system, GSM (Global System for Mobile Communications) system, such as mobile communications (mobile) It may be connected to a telecommunication) system, it may be connected to a communication network such as a wide area network (WAN), a local area network (LAN), a wireless local area network (WLAN), etc., and may be connected to the Internet of Things (IoT). have. The communication interface 110 may support one or more communication methods, for example, the data injection system 200 and the authentication system 300 in FIG. 1 may communicate with the product 100 through the same or different communication methods.

보안 정보는 제품(100)의 사용자에 관한 개인 정보를 포함할 수도 있고, 제품(100)의 인증을 위한 정보로서 제품(100)의 식별자(ID), 제품(100)의 공급자 정보, 증명 정보(certificate), 개인 키(private key) 및 사전공유 키(pre-shared key; PSK) 중 적어도 하나를 포함할 수도 있다. 보안 정보에 포함된 제품(100)의 인증을 위한 정보는, 비제한적인 예시로서 제품(100)의 원격 조작, 소프트웨어 업그레이드 등과 같이, 제품(100)의 인증을 필요로 하는 작업에 이용될 수 있다. 예를 들면, 제품(100)이 통신 인터페이스(110)를 통해서 사물 인터넷에 접속하는 경우, 제품(100)에서 스스로 취득된 정보의 통신 인터페이스(110)를 통한 전송 또는 통신 인터페이스(110)를 통해서 외부로부터 수신되는 정보에 대한 신뢰도는 제품(100)의 인증에 기반할 수 있다. 이에 따라, 보안 정보가 정당하지 아니한 시도에 기인하여 노출, 삭제 또는 변경되는 것을 방지하기 위하여, 제품(100) 외부의 부적절한 접근으로부터 보안 정보는 안전하게 보호될 필요가 있다. The security information may include personal information about the user of the product 100, and as information for authentication of the product 100, an identifier (ID) of the product 100, supplier information of the product 100, authentication information ( certificate), a private key, and a pre-shared key (PSK). Information for authentication of the product 100 included in the security information, as a non-limiting example, may be used for tasks requiring authentication of the product 100, such as remote operation of the product 100, software upgrade, etc. . For example, when the product 100 accesses the Internet of Things through the communication interface 110 , the product 100 transmits information acquired by itself through the communication interface 110 or externally through the communication interface 110 . The reliability of the information received from the product 100 may be based on the authentication of the product 100 . Accordingly, in order to prevent the security information from being exposed, deleted, or changed due to an unreasonable attempt, the security information needs to be safely protected from inappropriate access from outside the product 100 .

보안 정보는 제품(100)에 포함된 보안 부품(120)에 포함될 수 있다. 예를 들면, 보안 부품(120)은 반도체 메모리 장치와 같이 데이터를 저장할 수 있는 구성요소를 포함할 수 있고, 보안 정보는 보안 부품(120)에 포함된 그러한 구성요소에 저장될 수 있다. 보안 부품(120)에 보안 정보를 포함시키기 위하여, 보안 부품(120)의 생산 단계에서 보안 부품(120)에 보안 정보가 주입되는 경우, 보안 부품(120)의 사용자에 의한 보안 부품(120)의 활용도가 감소할 뿐만 아니라, 보안 부품(120)의 공급자에 의한 보안 부품(120)의 생산 효율이 감소할 수 있다. 예를 들면, 제품(100)이 통신 인터페이스(110)를 통해서 사물 인터넷에 접속되는 경우와 같이, 다양한 사용 환경들에 적합하도록 제품(100)이 공급될 필요가 있는 경우, 보안 부품(120)에 포함된 보안 정보의 수정이 용이하지 아니함에 기인하여 보안 부품(120)의 사용자(또는 제품(100)의 공급자 또는 생산자)에 의한 보안 부품(120)의 활용도는 감소할 수 있다. 또한, 보안 정보의 주입을 위한 공정 및 예비적으로 주입된 보안 부품(120)의 준비 등에 기인하여, 보안 부품(120)의 공급자(또는 생산자)에 의한 보안 부품(120)의 생산 효율은 감소할 수 있다. 후술되는 바와 같이, 본 개시의 예시적 실시예들에 따른 보안 부품(120) 및 보안 정보의 주입 방법에 의하면, 보안 정보는 보안 부품(120)에 안전하게 사후적으로(즉, 보안 부품(120)의 출하 후) 주입될 수 있고, 이에 따라 보안 부품(120)의 사용자 및 공급자 모두가 유리할 수 있다. 본 명세서에서, 보안 부품(120)의 사용자는 보안 부품(120)을 사용하여 제품(100)을 공급하는 제품(100)의 공급자 및/또는 생산자를 포함할 수도 있고, 보안 부품(120)을 포함하는 제품(100)을 (예컨대, 커스텀화하여) 사용하는 개발자 및/또는 사용자를 포함할 수도 있다. 또한, 본 명세서에서, 보안 부품(120)의 공급자는 보안 부품(120)을 공급하는 보안 부품(120)의 생산자를 포함할 수 있다.The security information may be included in the security component 120 included in the product 100 . For example, the security component 120 may include a component capable of storing data, such as a semiconductor memory device, and the security information may be stored in the component included in the security component 120 . In order to include the security information in the security component 120, when the security information is injected into the security component 120 in the production stage of the security component 120, the security component 120 by the user of the security component 120 In addition to a decrease in utilization, the production efficiency of the security component 120 by the supplier of the security component 120 may decrease. For example, when the product 100 needs to be supplied to be suitable for various use environments, such as when the product 100 is connected to the Internet of Things through the communication interface 110 , the security component 120 is Due to the difficulty in modifying the included security information, the utilization of the security component 120 by the user (or the supplier or producer of the product 100) of the security component 120 may decrease. In addition, due to the process for the injection of security information and the preparation of the pre-injected security component 120 , the production efficiency of the security component 120 by the supplier (or producer) of the security component 120 may decrease. can As will be described later, according to the security component 120 and the method of injecting security information according to exemplary embodiments of the present disclosure, the security information is securely stored in the security component 120 post-mortem (ie, the security component 120 ). after shipment of) can be injected, which can be beneficial to both the user and the supplier of the security component 120 . In this specification, a user of the security component 120 may include a supplier and/or producer of the product 100 that supplies the product 100 using the security component 120 , and includes the security component 120 . may include developers and/or users who use (eg, customize) the product 100 . In addition, in this specification, the supplier of the security component 120 may include a manufacturer of the security component 120 to supply the security component (120).

도 1을 참조하면, 데이터 주입 시스템(200)은 통신 인터페이스(110)를 통해서 보안 부품(120)에 입력 데이터(D_IN)를 제공할 수 있다. 데이터 주입 시스템(200)은 보안 정보의 주입을 위하여 보안 부품(120)의 사용자, 예컨대 제품(100)의 공급자 또는 생산자에 의해서 운영될 수 있다. 예를 들면, 데이터 주입 시스템(200)은, 제품(100)의 생산 단계에서 입력 데이터(D_IN)를 제공할 수도 있고, 제품(100)이 출하된 이후 입력 데이터(D_IN)를 제공할 수도 있다. 도 2를 참조하여 후술되는 바와 같이, 입력 데이터(D_IN)는 부품 사용자 정보 및 암호화된(encrypted) 데이터를 포함할 수 있고, 보안 정보는 암호화된 데이터의 일부로서 암호화되어 데이터 주입 시스템(200)으로부터 제공될 수 있다.Referring to FIG. 1 , the data injection system 200 may provide input data D_IN to the security component 120 through the communication interface 110 . The data injection system 200 may be operated by a user of the security component 120 , for example, a supplier or a producer of the product 100 for injection of security information. For example, the data injection system 200 may provide the input data D_IN in the production stage of the product 100 , or may provide the input data D_IN after the product 100 is shipped. As will be described later with reference to FIG. 2 , the input data D_IN may include part user information and encrypted data, and the security information is encrypted as a part of the encrypted data and is transmitted from the data injection system 200 . may be provided.

보안 부품(120)은 입력 데이터(D_IN)를 수신할 수 있고, 인증 요청 처리기(130)에 보안 데이터(D_SEC)를 제공할 수 있다. 보안 부품(120)은 입력 데이터(D_IN)가 보안 부품(120)의 정당한 사용자에 의해서 제공된 것인지 여부를 판단함으로써 입력 데이터(D_IN)를 인증할 수 있고, 인증된 입력 데이터(D_IN)로부터 보안 데이터(D_SEC)를 저장하고, 인증 요청 처리기(130)에 보안 데이터(D_SEC)를 제공할 수 있다. 보안 부품(120)에 대한 자세한 내용은 도 3 및 도 5 등을 참조하여 후술될 것이다.The security component 120 may receive the input data D_IN and provide the security data D_SEC to the authentication request processor 130 . The security component 120 may authenticate the input data D_IN by determining whether the input data D_IN is provided by a legitimate user of the security component 120 , and from the authenticated input data D_IN to the security data ( D_SEC) and may provide security data D_SEC to the authentication request processor 130 . Details of the security component 120 will be described later with reference to FIGS. 3 and 5 .

인증 시스템(300)은 통신 인터페이스(110)를 통해서 보안 부품(120)에 인증 요청(A_REQ)을 제공할 수 있고, 제품(100)에 포함된 인증 요청 처리기(130)는 인증 응답(A_RES)을 통신 인터페이스(110)를 통해서 인증 시스템(300)에 제공할 수 있다. 인증 시스템(300)은, 제품(100)을 인증하기 위하여 보안 부품(120)의 사용자, 예컨대 제품(100)의 공급자 또는 생산자에 의해서 운영될 수 있다. 예를 들면, 인증 시스템(300)은 제품(100)을 원격 제어하거나 제품(100)에 포함된 소프트웨어 업그레이드 등을 수행하기 위하여 인증 요청(A_REQ)을 제품(100)에 제공할 수 있고, 제품(100)으로부터 제공된 인증 응답(A_RES)에 기초하여 제품(100)을 인증할 수 있다. 비록 도시되지 아니하였으나, 제품(100)과 유사한 다른 제품 역시 제품(100)과의 통신을 위하여 제품(100)에 인증 요청(A_REQ)을 제공할 수도 있다.The authentication system 300 may provide an authentication request (A_REQ) to the security component 120 through the communication interface 110 , and the authentication request processor 130 included in the product 100 transmits the authentication response (A_RES). It may be provided to the authentication system 300 through the communication interface 110 . The authentication system 300 may be operated by a user of the security component 120 , for example, a supplier or a producer of the product 100 in order to authenticate the product 100 . For example, the authentication system 300 may provide an authentication request (A_REQ) to the product 100 to remotely control the product 100 or perform software upgrade included in the product 100, and the product ( The product 100 may be authenticated based on the authentication response A_RES provided from 100 . Although not shown, other products similar to the product 100 may also provide an authentication request (A_REQ) to the product 100 for communication with the product 100 .

인증 요청 처리기(130)는 보안 부품(120)에 제공하는 보안 데이터(D_SEC)에 기초하여 인증 응답(A_RES)을 통신 인터페이스(110)를 통해서 인증 시스템(300)에 제공할 수 있다. 예를 들면, 인증 요청 처리기(130)는 보안 데이터(D_SEC)에 기초하여 제품(100)의 식별자(ID)를 인증 응답(A_RES)으로서 인증 시스템(300)에 제공할 수 있다.The authentication request processor 130 may provide the authentication response A_RES to the authentication system 300 through the communication interface 110 based on the security data D_SEC provided to the security component 120 . For example, the authentication request processor 130 may provide the identifier (ID) of the product 100 to the authentication system 300 as an authentication response (A_RES) based on the security data (D_SEC).

도 2는 본 개시의 예시적 실시예에 따라 도 1의 입력 데이터(D_IN)를 나타내는 도면이다. 도 1을 참조하여 전술된 바와 같이, 입력 데이터(D_IN)는 데이터 주입 시스템(200)으로부터 제품(100)에 제공될 수 있고, 제품(100)에 포함된 보안 부품(120)은 입력 데이터(D_IN)를 수신할 수 있다. 이하에서, 도 2는 도 1을 참조하여 설명될 것이다.FIG. 2 is a diagram illustrating input data D_IN of FIG. 1 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 1 , the input data D_IN may be provided to the product 100 from the data injection system 200 , and the security component 120 included in the product 100 may include the input data D_IN ) can be received. Hereinafter, FIG. 2 will be described with reference to FIG. 1 .

도 2를 참조하면, 입력 데이터(D_IN)는 부품 사용자 데이터(D_USR) 및 암호화된 데이터(D_ENC)를 포함할 수 있다. 부품 사용자 데이터(D_USR)는 보안 부품(120)의 사용자(예컨대, 제품(100)의 공급자 또는 생산자)에 대한 정보를 포함할 수 있다. 예를 들면, 도 2에 도시된 바와 같이, 부품 사용자 데이터(D_USR)는 사용자 식별자(U_ID), 사용자 키(U_KEY) 및 시드(또는 시드 데이터)(SEED)를 포함할 수 있다. 도 8 등을 참조하여 후술되는 바와 같이, 부품 사용자 데이터(D_USR)는 보안 부품(120)의 공급자로부터 보안 부품(120)의 사용자에 제공된 데이터일 수 있다. 즉, 보안 부품(120)의 공급자는, 보안 부품(120)의 공급 전후에 보안 부품(120)의 사용자에 사용자 식별자(U_ID), 사용자 키(U_KEU) 및 시드(SEED)를 발급할 수 있고, 보안 부품(120)의 사용자는, 입력 데이터(D_IN)의 일부로서 사용자 식별자(U_ID), 사용자 키(U_KEU) 및 시드(SEED)를 보안 부품(120)에 제공할 수 있다. 도 3 등을 참조하여 후술되는 바와 같이, 부품 사용자 데이터(D_USR)는 보안 부품(120)이 입력 데이터(D_IN)를 인증하고, 암호화된 데이터(D_ENC)를 복호화하는데 사용될 수 있다.Referring to FIG. 2 , input data D_IN may include part user data D_USR and encrypted data D_ENC. The component user data D_USR may include information about a user of the secure component 120 (eg, a supplier or a producer of the product 100 ). For example, as shown in FIG. 2 , the part user data D_USR may include a user identifier U_ID, a user key U_KEY, and a seed (or seed data) SEED. As will be described later with reference to FIG. 8 , the component user data D_USR may be data provided to the user of the security component 120 from the supplier of the security component 120 . That is, the supplier of the security component 120 may issue a user identifier (U_ID), a user key (U_KEU) and a seed (SEED) to the user of the security component 120 before and after supply of the security component 120 , The user of the security component 120 may provide the user identifier U_ID, the user key U_KEU, and the seed SEED to the security component 120 as part of the input data D_IN. As will be described later with reference to FIG. 3 and the like, the component user data D_USR may be used by the security component 120 to authenticate the input data D_IN and to decrypt the encrypted data D_ENC.

암호화된 데이터(D_ENC)는 보안 부품(120)의 사용자에 의해서 사전에 보안 정보를 암호화함으로써 생성된 데이터를 포함할 수 있다. 데이터 주입 시스템(200)으로부터 제품(100)에 입력 데이터(D_IN)를 제공하는 과정에서 입력 데이터(D_IN)가 부적절한 접근에 의해서 노출되는 경우 보안 정보를 보호하기 위하여, 보안 정보는 암호화되어 입력 데이터(D_IN)에 포함될 수 있다. 보안 부품(120)의 사용자가 사용하는 보안 정보의 암호화 방식은 보안 부품(120)의 공급자와 사전에 공유될 수 있고, 보안 부품(120)의 공급자에 의해서 제공된 암호화 키(예컨대, 도 8의 M_KEY)를 사용하여 암호화될 수 있다. 이에 따라, 보안 부품(120)의 사용자는 자신에게 발급된 마스터 키에 대한 보안을 유지함으로써, 입력 데이터(D_IN)가 노출되더라도 암호화된 데이터(D_ENC)의 일부로서 입력 데이터(D_IN)에 포함된 보안 정보를 외부의 부적절한 접근으로부터 보호할 수 있다.The encrypted data D_ENC may include data generated by encrypting security information in advance by a user of the security component 120 . In order to protect security information when the input data D_IN is exposed by improper access in the process of providing the input data D_IN from the data injection system 200 to the product 100, the security information is encrypted and the input data ( D_IN). The encryption method of the security information used by the user of the security component 120 may be shared in advance with the provider of the security component 120 , and an encryption key (eg, M_KEY in FIG. 8 ) provided by the provider of the security component 120 . ) can be encrypted using Accordingly, by maintaining the security of the master key issued to the user of the security component 120 , even if the input data D_IN is exposed, the security included in the input data D_IN as a part of the encrypted data D_ENC Information can be protected from inappropriate external access.

도 3은 본 개시의 예시적 실시예에 따른 도 1의 보안 부품(120)의 예시를 나타내는 블록도이다. 도 1을 참조하여 전술된 바와 같이, 도 3의 보안 부품(120')은, 도 1의 데이터 주입 시스템(200)으로부터 제공되는 입력 데이터(DIN)를 수신할 수 있고, 보안 데이터(D_SEC)를 도 1의 인증 요청 처리기(130)에 제공할 수 있다. 도 3에 도시된 바와 같이, 보안 부품(120')은 사용자 인증 처리기(121'), 마스터 키 생성기(122'), 복호화 처리기(123') 및 보안 저장소(124')를 포함할 수 있고, 사용자 인증 처리기(121'), 마스터 키 생성기(122'), 복호화 처리기(123') 및 보안 저장소(124') 각각은 논리 합성 등을 통해서 설계되는 로직 블록을 포함할 수도 있고, 프로세서에 의해서 실행되는 소프트웨어 블록을 포함할 수도 있다. 이하에서 도 3은 1을 참조하여 설명될 것이다.3 is a block diagram illustrating an example of the security component 120 of FIG. 1 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 1 , the security component 120 ′ of FIG. 3 may receive the input data DIN provided from the data injection system 200 of FIG. 1 , and receive the security data D_SEC It may be provided to the authentication request processor 130 of FIG. 1 . 3, the secure component 120' may include a user authentication processor 121', a master key generator 122', a decryption processor 123' and a secure storage 124', Each of the user authentication processor 121', the master key generator 122', the decryption processor 123', and the secure storage 124' may include a logic block designed through logical synthesis or the like, and is executed by the processor. It may also include a software block that is Hereinafter, FIG. 3 will be described with reference to 1. FIG.

사용자 인증 처리기(121')는 입력 데이터(D_IN)에 포함된 사용자 식별자(U_ID) 및 사용자 키(U_KEY)를 사용하여 입력 데이터(D_IN)가 보안 부품(120')의 정당한 사용자에 의해서 제공된 것인지를 판단함으로써 입력 데이터(D_IN)를 인증할 수 있다. 도 2를 참조하여 전술된 바와 같이, 사용자 식별자(U_ID) 및 사용자 키(U_KEY)는 보안 부품(120')의 공급자에 의해서 보안 부품(120')의 정당한 사용자에게 사전에 제공될 수 있다. 보안 부품(120')의 정당한 사용자에게 제공된 사용자 식별자(U_ID) 및 사용자 키(U_KEY)는 미리 정해진 관계를 만족할 수 있고, 이에 따라 사용자 인증 처리기(121')는 입력 데이터(D_IN)에 포함된 사용자 식별자(U_ID) 및 사용자 키(U_KEY)의 관계가 그러한 미리 정해진 관계를 만족하는지 여부를 검출함으로써, 입력 데이터(D_IN)가 보안 부품(120')의 정당한 사용자에 의해서 제공된 것인 것 여부를 판단할 수 있다. 사용자 인증 처리기(121')는 입력 데이터(D_IN)가 보안 부품(120')의 정당한 사용자에 의해서 제공된 것으로 판단된 경우, 즉 입력 데이터(D_IN)의 인증에 성공한 경우 활성화된 인에이블 신호(ENA)를 제공할 수 있는 한편, 그렇지 아니한 경우 비활성화된 인에이블 신호(ENA)를 제공할 수 있다. 사용자 인증 처리기(121')의 동작에 대한 자세한 내용은 도 4를 참조하여 후술될 것이다.The user authentication processor 121 ′ uses the user identifier U_ID and the user key U_KEY included in the input data D_IN to determine whether the input data D_IN is provided by a legitimate user of the security component 120 ′. By determining, the input data D_IN may be authenticated. As described above with reference to FIG. 2 , the user identifier U_ID and the user key U_KEY may be provided in advance to a legitimate user of the secure component 120 ′ by the supplier of the secure component 120 ′. The user identifier (U_ID) and the user key (U_KEY) provided to the legitimate user of the security component 120' may satisfy a predetermined relationship, and accordingly, the user authentication processor 121' is the user included in the input data D_IN. By detecting whether the relationship between the identifier U_ID and the user key U_KEY satisfies such a predetermined relationship, it can be determined whether the input data D_IN is provided by a legitimate user of the secure component 120'. can The user authentication processor 121 ′ activates the enable signal ENA when it is determined that the input data D_IN is provided by a legitimate user of the security component 120 ′, that is, when authentication of the input data D_IN is successful. may be provided, otherwise, an inactivated enable signal ENA may be provided. Details of the operation of the user authentication processor 121 ′ will be described later with reference to FIG. 4 .

마스터 키 생성기(122')는 입력 데이터(D_IN)에 포함된 시드(SEED)를 사용하여 마스터 키(M_KEY)를 생성할 수 있다. 도 2를 참조하여 전술된 바와 같이, 시드(SEED)는 보안 부품(120')의 공급자에 의해서 보안 부품(120')의 정당한 사용자에게 사전에 제공될 수 있고, 보안 정보를 암호화하는데 사용한 마스터 키 역시 보안 부품(120')의 공급자에 의해서 보안 부품(120')의 정당한 사용자에게 사전에 제공될 수 있다. 보안 부품(120')의 정당한 사용자에게 제공된 시드(SEED) 및 마스터 키는 미리 정해진 관계를 만족할 수 있고, 이에 따라 마스터 키 생성기(122')에 의해서 생성된 마스터 키(M_KEY)는 시드(SEED)가 보안 부품(120')의 정당한 사용자의 것이라면, 보안 정보가 암호화될 때 사용된 마스터 키와 일치할 수 있다. 이에 따라, 마스터 키(M_KEY)는 입력 데이터(D_IN)가 제품(100)에 전송되는 과정에서 외부에 노출되지 아니할 수 있고, 결과적으로 마스터 키(M_KEY)에 의해서 암호화된 보안 정보는 보호될 수 있다.The master key generator 122 ′ may generate the master key M_KEY by using the seed SEED included in the input data D_IN. As described above with reference to FIG. 2 , the seed SEED may be provided in advance to a legitimate user of the secure component 120 ′ by the supplier of the secure component 120 ′, and a master key used to encrypt the security information. It may also be provided in advance to legitimate users of the secure component 120' by the supplier of the secure component 120'. The seed SEED and the master key provided to the legitimate user of the security component 120' may satisfy a predetermined relationship, and accordingly, the master key M_KEY generated by the master key generator 122' is the seed SEED. If is of a legitimate user of the secure component 120', it may match the master key used when the secure information was encrypted. Accordingly, the master key M_KEY may not be exposed to the outside while the input data D_IN is transmitted to the product 100 , and as a result, security information encrypted by the master key M_KEY may be protected. .

복호화 처리기(123')는 마스터 키 생성기(122')로부터 제공된 마스터 키(M_KEY)를 사용하여 입력 데이터(D_IN)에 포함된 암호화된 데이터(D_ENC)를 복호화할 수 있다. 보안 부품(120')의 정당한 사용자에 의해서 제공된 입력 데이터(D_IN)는, 보안 부품(120')의 공급자로부터 제공된 마스터 키를 사용하여 보안 부품(120')의 공급자와 공유된 방식으로 보안 정보를 암호화함으로써 생성된 암호화된 데이터(D_ENC)를 포함하므로, 마스터 키 생성기(122')가 제공한 마스터 키(M_KEY)가 정당한 것이라면 복호화 처리기(123')가 암호화된 데이터(D_ENC)를 복호화함으로써 생성한 보안 데이터(D_SEC)는 보안 정보를 포함할 수 있다.The decryption processor 123 ′ may decrypt the encrypted data D_ENC included in the input data D_IN using the master key M_KEY provided from the master key generator 122 ′. The input data D_IN provided by a legitimate user of the secure component 120' uses a master key provided from the supplier of the secure component 120' to obtain security information in a shared manner with the supplier of the secure component 120'. Since the encrypted data (D_ENC) generated by encryption is included, if the master key (M_KEY) provided by the master key generator 122' is legitimate, the decryption processor 123' generates the encrypted data (D_ENC) by decrypting it. The security data D_SEC may include security information.

보안 저장소(124')는 복호화 처리기(123')로부터 제공되는 보안 데이터(D_SEC)를 저장할 수 있고, 저장된 보안 데이터(D_SEC)를 도 1의 인증 요청 처리기(130)에 제공할 수 있다. 예를 들면, 보안 저장소(124')는 보안 부품(120')에 공급되는 전력이 차단되더라도 저장된 데이터를 소실하지 아니하는 비휘발성 메모리로서, 비제한적인 예시로서 EEPROM(non-volatile memory such as a Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 등을 포함할 수 있다. 일부 실시예들에서, 보안 저장소(124')는 보안 데이터(D_SEC)의 적어도 일부를 저장하는 OTP(One Time Programmable) 메모리를 포함할 수 있고, 보안 데이터(D_SEC)의 적어도 일부는 OTP 메모리에 저장됨으로써 삭제 및/또는 변경이 방지될 수 있다. 일부 실시예들에서, 보안 저장소(124')는 보안 데이터(D_SEC)의 적어도 일부를 저장하는 재기입 가능한(rewritable) 메모리를 포함할 수 있고, 보안 데이터(D_SEC)의 적어도 일부는 재기입 가능한 메모리에 저장됨으로써 삭제 및/또는 변경될 수 있다.The secure storage 124 ′ may store the security data D_SEC provided from the decryption processor 123 ′ and provide the stored security data D_SEC to the authentication request processor 130 of FIG. 1 . For example, the secure storage 124 ′ is a non-volatile memory that does not lose stored data even when power supplied to the secure component 120 ′ is cut off, and as a non-limiting example, non-volatile memory (EEPROM) such as a Electrically Erasable Programmable Read-Only Memory), Flash memory, Phase Change Random Access Memory (PRAM), Resistance Random Access Memory (RRAM), Nano Floating Gate Memory (NFGM), Polymer Random Access Memory (PoRAM), MRAM (Magnetic Random Access Memory), FRAM (Ferroelectric Random Access Memory), and the like may be included. In some embodiments, the secure storage 124 ′ may include a One Time Programmable (OTP) memory that stores at least a portion of the secure data D_SEC, and at least a portion of the secure data D_SEC is stored in the OTP memory. Thus, deletion and/or alteration may be prevented. In some embodiments, secure storage 124 ′ may include a rewritable memory that stores at least a portion of secure data D_SEC, wherein at least a portion of secure data D_SEC is a rewritable memory. may be deleted and/or changed by being stored in

도 3에 도시된 바와 같이, 마스터 키 생성기(122'), 복호화 처리기(123') 및 보안 저장소(124')는 제1 그룹(G1)에 포함될 수 있다. 제1 그룹(G1)은 사용자 인증 처리기(121')로부터 인에이블 신호(ENA)를 수신할 수 있고, 제1 그룹(G1)에 포함된 마스터 키 생성기(122'), 복호화 처리기(123') 및 보안 저장소(124') 중 적어도 하나는, 활성화된 인에이블 신호(ENA)에 응답하여 동작을 수행할 수 있는 한편, 비활성화된 인에이블 신호(ENA)에 응답하여 적어도 일부 동작을 수행하지 아니할 수 있다. 예를 들면, 마스터 키 생성기(122') 및 복호화 처리기(123')는 비활성화된 인에이블 신호(ENA)에 응답하여 디스에이블될 수 있고, 보안 저장소(124')는 비활성화된 인에이블 신호(ENA)에 응답하여 보안 데이터(D_SEC)의 출력 동작만을 수행할 수 있다.As shown in FIG. 3 , the master key generator 122 ′, the decryption processor 123 ′, and the secure storage 124 ′ may be included in the first group G1 . The first group G1 may receive the enable signal ENA from the user authentication processor 121', and the master key generator 122' and the decryption processor 123' included in the first group G1. and at least one of the secure storage 124 ′ may perform an operation in response to the activated enable signal ENA, and may not perform at least some operations in response to the deactivated enable signal ENA. have. For example, the master key generator 122' and the decryption processor 123' may be disabled in response to a deactivated enable signal ENA, and the secure storage 124' may be disabled in response to a deactivated enable signal ENA. ), only the output operation of the security data (D_SEC) can be performed.

일 실시예에서, 보안 부품(120')은 인증된 입력 데이터(D_IN)로부터 생성된 보안 데이터(D_SEC)를 저장한 후, 저장된 보안 데이터(D_SEC)가 불변하도록 설정될 수 있다. 즉, 사용자 인증 처리기(121'), 마스터 키 생성기(122'), 복호화 처리기(123') 및 보안 저장소(124') 중 적어도 하나는 최초의 인증된 입력 데이터(D_IN)에 대한 동작만을 수행할 수 있다. 예를 들면, 보안 부품(120')은 최초의 인증된 입력 데이터(D_IN)에 대한 동작의 완료 여부에 대한 정보를 저장하는 메모리 소자를 포함할 수 있고, 사용자 인증 처리기(121'), 마스터 키 생성기(122'), 복호화 처리기(123') 및 보안 저장소(124') 중 적어도 하나는 상기 메모리 소자에 저장된 정보에 따라 보안 부품(120')에 제공되는 입력 데이터(D_IN)를 무시할 수 있고, 이미 저장된 보안 데이터(D_SEC)는 보호될 수 있다. 일부 실시예들에서, 최초의 인증된 입력 데이터(D_IN)에 대한 동작의 완료 여부에 대한 정보를 저장하는 메모리 소자는 안티-퓨즈와 같이 비가역적으로 정보를 저장하는 OTP 소자를 포함할 수 있고, 최초의 인증된 입력 데이터(D_IN)에 대한 동작이 완료된 경우, OTP 소자가 프로그램될 수 있다. 일부 실시예들에서, 최초의 인증된 입력 데이터(D_IN)에 대한 동작의 완료 여부에 대한 정보를 저장하는 메모리 소자는 재기입 가능한 메모리 소자를 포함할 수 있고, 최초의 인증된 입력 데이터(D_IN)에 대한 동작이 완료된 경우, 완료를 나타내는 데이터가 재기입 가능한 메모리 소자에 기입될 수 있다. In an embodiment, the security component 120 ′ may be set to be immutable after storing the security data D_SEC generated from the authenticated input data D_IN. That is, at least one of the user authentication processor 121', the master key generator 122', the decryption processor 123', and the secure storage 124' performs only the operation on the first authenticated input data D_IN. can For example, the security component 120' may include a memory device that stores information on whether an operation is completed for the first authenticated input data D_IN, the user authentication processor 121', the master key At least one of the generator 122', the decryption processor 123', and the secure storage 124' may ignore the input data D_IN provided to the secure component 120' according to the information stored in the memory device, The previously stored security data D_SEC may be protected. In some embodiments, the memory device that stores information on whether the operation on the first authenticated input data D_IN is completed may include an OTP device that irreversibly stores information, such as an anti-fuse, When the operation on the first authenticated input data D_IN is completed, the OTP device may be programmed. In some embodiments, a memory device that stores information on whether an operation on the first authenticated input data D_IN is completed may include a rewritable memory device, and the first authenticated input data D_IN may include a rewritable memory device. When the operation is completed, data indicating the completion may be written to the rewritable memory device.

도 4는 본 개시의 예시적 실시예에 따라 도 3의 사용자 인증 처리기(121')의 예시적인 동작을 나타내는 순서도이다. 도 3을 참조하여 전술된 바와 같이, 사용자 인증 처리기(121')는 입력 데이터(D_IN)에 포함된 사용자 식별자(U_ID) 및 사용자 키(U_KEY)를 사용하여 입력 데이터(D_IN)가 보안 부품(120')의 정당한 사용자에 의해서 제공된 것인지를 판단함으로써 입력 데이터(D_IN)를 인증할 수 있다. 이하에서 도 4는 도 3을 참조하여 설명될 것이다.4 is a flowchart illustrating an exemplary operation of the user authentication processor 121' of FIG. 3 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 3 , the user authentication processor 121 ′ uses the user identifier U_ID and the user key U_KEY included in the input data D_IN to determine the input data D_IN to the security component 120 . '), it is possible to authenticate the input data (D_IN) by determining whether it is provided by a legitimate user. Hereinafter, FIG. 4 will be described with reference to FIG. 3 .

도 4를 참조하면, 단계 S41에서 사용자 식별자(U_ID)로부터 평가 키를 생성하는 동작이 수행될 수 있다. 예를 들면, 사용자 인증 처리기(121')는 미리 정해진 방식, 예컨대 수학 연산, 논리 연산, 룩업 테이블 등에 기초하여 사용자 식별자(U_ID)로부터 평가 키를 생성할 수 있다. 사용자 인증 처리기(121')는, 보안 부품(120')의 정당한 사용자에게 발급된 사용자 식별자(U_ID)로부터 생성된 평가 키가 사용자 식별자(U_ID)와 동시에 발급된 사용자 키(U_KEY)와 일치하도록, 보안 부품(120')의 공급자에 의해서 설계될 수 있다.Referring to FIG. 4 , an operation of generating an evaluation key from a user identifier (U_ID) may be performed in step S41. For example, the user authentication processor 121 ′ may generate an evaluation key from the user identifier U_ID based on a predetermined method, for example, a mathematical operation, a logical operation, a lookup table, or the like. The user authentication processor 121' is configured such that the evaluation key generated from the user identifier (U_ID) issued to the rightful user of the security component 120' matches the user key (U_KEY) issued at the same time as the user identifier (U_ID), It may be designed by the supplier of the security component 120'.

단계 S42에서, 평가 키가 사용자 키(U_KEY)와 일치하는지 여부를 판단하는 동작이 수행될 수 있다. 평가 키와 사용자 키(U_KEY)가 일치하는 경우, 즉 입력 데이터(D_IN)에 포함된 사용자 식별자(U_ID) 및 사용자 키(U_KEY)가 보안 부품(120')의 정당한 사용자의 것인 경우, 단계 S43에서 인에이블 신호(ENA)를 활성화시키는 동작이 수행될 수 있다. 다른 한편으로, 평가 키와 사용자 키(U_KEY)가 일치하지 아니하는 경우, 즉 입력 데이터(D_IN)에 포함된 사용자 식별자(U_ID) 및 사용자 키(U_KEY)가 보안 부품(120')의 정당한 사용자의 것이 아닌 경우, 단계 S44에서 인에이블 신호(ENA)를 비활성화시키는 동작이 수행될 수 있다.In step S42, an operation of determining whether the evaluation key matches the user key (U_KEY) may be performed. When the evaluation key and the user key (U_KEY) match, that is, when the user identifier (U_ID) and the user key (U_KEY) included in the input data D_IN are those of a legitimate user of the secure part 120', step S43 An operation of activating the enable signal ENA may be performed. On the other hand, if the evaluation key and the user key (U_KEY) do not match, that is, the user identifier (U_ID) and the user key (U_KEY) included in the input data D_IN are the If not, an operation of deactivating the enable signal ENA may be performed in step S44.

도 5는 본 개시의 예시적 실시예에 따른 도 1의 보안 부품(120)의 예시를 나타내는 블록도이다. 도 1을 참조하여 전술된 바와 같이, 도 5의 보안 부품(120")은, 도 1의 데이터 주입 시스템(200)으로부터 제공되는 입력 데이터(DIN')를 수신할 수 있고, 보안 데이터(D_SEC)를 도 1의 인증 요청 처리기(130)에 제공할 수 있다. 도 5에 도시된 바와 같이, 보안 부품(120")은 사용자 인증 처리기(121"), 마스터 키 생성기(122"), 복호화 처리기(123") 및 보안 저장소(124")를 포함할 수 있다. 도 3의 보안 부품(120')과 비교할 때, 보안 부품(120")이 수신하는 입력 데이터(D_IN")에서 시드(SEED)는 제외될 수 있다. 이하에서, 도 5의 보안 부품(120")에 대한 설명 중 도 3의 보안 부품(120')에 대한 설명과 중복되는 내용은 생략될 것이다.5 is a block diagram illustrating an example of the security component 120 of FIG. 1 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 1 , the security component 120 ″ of FIG. 5 may receive input data DIN′ provided from the data injection system 200 of FIG. 1 , and secure data D_SEC. may be provided to the authentication request processor 130 of Fig. 1. As shown in Fig. 5, the security component 120" includes a user authentication processor 121", a master key generator 122", and a decryption processor ( 123") and secure storage 124". Compared with the security component 120 ′ of FIG. 3 , the seed SEED may be excluded from the input data D_IN″ received by the security component 120 ″. Hereinafter, content that overlaps with the description of the security component 120' of FIG. 3 among the description of the security component 120 ″ of FIG. 5 will be omitted.

본 개시의 예시적 실시예에 따라, 보안 부품(120")에서 마스터 키(M_KEY)는 사용자 식별자(U_ID) 및/또는 사용자 키(U_KEY)로부터 생성될 수 있다. 즉, 보안 부품(120")의 공급자는 별도의 시드 정보를 보안 부품(120")의 정당한 사용자에게 발급하는 대신, 사용자 식별자(U_ID) 및/또는 사용자 키(U_KEY)와 일정한 관계를 가지는 마스터 키를 보안 부품(120")의 정당한 사용자에게 발급할 수 있다. 보안 부품(120")의 사용자는 보안 부품(120")의 공급자로부터 제공된 마스터 키를 사용하여 보안 정보를 암호화함으로써 암호화된 데이터(D_ENC)를 준비할 수 있고, 암호화된 데이터(D_ENC) 및 사용자 데이터(D_USR)로서 사용자 식별자(U_ID)를 포함하는 입력 데이터(D_IN')를 보안 부품(120")에 제공할 수 있다.According to an exemplary embodiment of the present disclosure, the master key (M_KEY) in the secure component 120″ may be generated from a user identifier (U_ID) and/or a user key (U_KEY). That is, the secure component 120″. Instead of issuing separate seed information to a legitimate user of the secure component 120", the provider of It can be issued to legitimate users. The user of the secure component 120" can prepare the encrypted data D_ENC by encrypting the security information using the master key provided from the supplier of the secure component 120", and the encrypted data D_ENC and the user data The input data D_IN' including the user identifier U_ID as (D_USR) may be provided to the security component 120 ″.

도 5에 도시된 바와 같이, 마스터 키 생성기(122")는 사용자 인증 처리기(121")에 의해서 인증된 입력 데이터(D_IN")에서 사용자 식별자(U_ID) 및/또는 사용자 키(U_KEY)를 수신할 수 있고, 사용자 식별자(U_ID) 및/또는 사용자 키(U_KEY)로부터 미리 정해진 방식에 따라 마스터 키(M_KEY)를 생성할 수 있다.5, the master key generator 122" receives the user identifier (U_ID) and/or the user key (U_KEY) from the input data (D_IN") authenticated by the user authentication processor 121". and may generate a master key (M_KEY) from the user identifier (U_ID) and/or the user key (U_KEY) according to a predetermined method.

도 6은 본 개시의 예시적 실시예에 따른 입력 데이터(D_IN")를 나타내는 도면이고, 도 7은 본 개시의 예시적 실시예에 따라 도 6의 입력 데이터(D_IN")를 수신하는 도 1의 보안 부품(120)의 예시적인 동작을 나타내는 순서도이다. 예를 들면, 도 6의 입력 데이터(D_IN")는 도 3의 보안 부품(120')에 제공될 수 있고, 도 7의 순서도는 도 3의 보안 부품(120')의 동작을 나타낼 수 있다. 이하에서, 도 6 및 도 7은 도 3을 참조하여 설명될 것이다.FIG. 6 is a diagram illustrating input data D_IN" according to an exemplary embodiment of the present disclosure, and FIG. 7 is a diagram of FIG. 1 receiving input data D_IN" of FIG. 6 according to an exemplary embodiment of the present disclosure. A flowchart illustrating an exemplary operation of the secure component 120 . For example, the input data D_IN″ of FIG. 6 may be provided to the security component 120 ′ of FIG. 3 , and the flowchart of FIG. 7 may represent the operation of the security component 120 ′ of FIG. 3 . Hereinafter, FIGS. 6 and 7 will be described with reference to FIG. 3 .

도 6을 참조하면, 입력 데이터(D_IN")는 사용자 데이터(D_USR), 잠금 데이터(LOCK) 및 암호화된 데이터(D_ENC)를 포함할 수 있다. 도 2를 참조하여 전술된 바와 유사하게, 사용자 데이터(D_USR)는 보안 부품(120')의 정당한 사용자가 보안 부품(120')의 공급자로부터 발급받은 사용자 식별자(U_ID), 사용자 키(U_KEY) 및 시드(SEED)를 포함할 수 있다. 일 실시예에서, 도 5를 참조하여 전술된 바와 같이, 사용자 데이터(D_USR)는 사용자 식별자(U_ID) 및 사용자 키(U_KEY)만을 포함할 수도 있다. 암호화된 데이터(D_ENC)는, 도 2를 참조하여 전술된 바와 유사하게, 보안 부품(120')의 정당한 사용자가 보안 부품(120')의 공급자로부터 발급받은 마스터 키에 기초하여 보안 정보를 암호화함으로써 생성될 수 있다. Referring to FIG. 6 , input data D_IN" may include user data D_USR, lock data LOCK, and encrypted data D_ENC. Similar to that described above with reference to FIG. 2 , user data (D_USR) may include a user identifier (U_ID), a user key (U_KEY), and a seed (SEED) issued by a legitimate user of the secure component 120 ′ from the supplier of the secure component 120 ′. In , as described above with reference to Fig. 5, the user data (D_USR) may include only the user identifier (U_ID) and the user key (U_KEY) The encrypted data (D_ENC) is described above with reference to Fig. 2 . Similarly, a legitimate user of the secure component 120' may be created by encrypting the security information based on a master key issued from the supplier of the secure component 120'.

잠금 데이터(LOCK)는 보안 부품(120')에 저장된 보안 데이터(D_SEC)가 추후 다른 입력 데이터(D_IN")의 제공에 기인하여 변경되도록 허용할지 여부를 나타내는 정보를 포함할 수 있다. 즉, 보안 부품(120')은 보안 데이터(D_SEC)를 저장한 후, 인증된 입력 데이터(D_IN")의 잠금 데이터(LOCK)에 따라 잠금 기능이 활성화된 경우, 보안 데이터(D_SEC)가 불변하도록 영구적으로 설정될 수 있다.The lock data LOCK may include information indicating whether to allow the security data D_SEC stored in the security component 120' to be changed due to the provision of other input data D_IN" in the future. That is, security After storing the security data D_SEC, the part 120' permanently sets the security data D_SEC to be immutable when the lock function is activated according to the lock data LOCK of the authenticated input data D_IN" can be

도 7을 참조하면, 단계 S71에서 잠금 기능 활성화 여부를 판단하는 동작이 수행될 수 있다. 예를 들면, 보안 부품(120')의 사용자 인증 처리기(121'), 마스터 키 생성기(122'), 복호화 처리기(123') 및 보안 저장소(124') 중 적어도 하나는, 인증된 입력 데이터(D_IN")에 포함된 잠금 데이터(LOCK)에 기초하여 잠금 기능의 활성화 여부를 판단할 수 있다. 잠금 데이터(LOCK)에 따라 잠금 기능이 활성화된 경우, 단계 S72가 후속해서 수행될 수 있다.Referring to FIG. 7 , an operation of determining whether to activate the lock function may be performed in step S71. For example, at least one of the user authentication processor 121', the master key generator 122', the decryption processor 123', and the secure storage 124' of the secure component 120' includes the authenticated input data ( D_IN"), it may be determined whether the lock function is activated based on the lock data LOCK. When the lock function is activated according to the lock data LOCK, step S72 may be subsequently performed.

단계 S72에서, 저장된 보안 데이터(D_SEC)가 불변하도록 영구적으로 설정하는 동작이 수행될 수 있다. 예를 들면, 사용자 인증 처리기(121'), 마스터 키 생성기(122'), 복호화 처리기(123') 및 보안 저장소(124') 중 적어도 하나는, 보안 데이터(D_SEC)가 보안 저장소(124')에 저장되면 저장된 보안 데이터(D_SEC)가 불변하도록 영구적으로 설정될 수 있다. 즉, 사용자 인증 처리기(121'), 마스터 키 생성기(122'), 복호화 처리기(123') 및 보안 저장소(124') 중 적어도 하나는, 보안 데이터(D_SEC)의 저장 이후 수신되는 입력 데이터(D_IN)에 대한 동작을 수행하지 아니하도록 설정될 수 있다. 도 3을 참조하여 전술된 바와 같이, 보안 부품(120')은 안티-퓨즈와 같은 OTP 소자를 포함할 수 있고, 잠금 기능이 활성화된 경우 OTP 소자가 프로그램될 수 있다. 사용자 인증 처리기(121'), 마스터 키 생성기(122'), 복호화 처리기(123') 및 보안 저장소(124') 중 적어도 하나는 프로그램된 OTP 소자에 기초하여, 이후 보안 부품(120')에 제공되는 입력 데이터(D_IN)를 무시할 수 있다.In step S72, an operation of permanently setting the stored security data D_SEC to be immutable may be performed. For example, at least one of the user authentication processor 121', the master key generator 122', the decryption processor 123', and the secure storage 124', the secure data (D_SEC) is the secure store 124'. When stored in , the stored security data (D_SEC) can be permanently set to be immutable. That is, at least one of the user authentication processor 121', the master key generator 122', the decryption processor 123', and the secure storage 124' is input data D_IN received after the secure data D_SEC is stored. ) may be set not to perform an operation for As described above with reference to FIG. 3 , the security component 120 ′ may include an OTP element such as an anti-fuse, and the OTP element may be programmed when the lock function is activated. At least one of the user authentication processor 121', the master key generator 122', the decryption processor 123' and the secure storage 124' is based on the programmed OTP element, and then provided to the secure component 120' The input data (D_IN) to be used can be ignored.

도 8은 본 개시의 예시적 실시예에 따라 보안 부품(120")에 보안 정보를 주입하기 위한 동작을 시간의 흐름에 따라 나타내는 도면이다. 구체적으로, 도 8은 보안 부품(120") 및 외부 시스템들(200, 400, 500) 사이에서 전송되는 신호들을 시간의 흐름에 따라 나타내는 도면이다. 도 8에 도시된 바와 같이, 보안 부품(120"), 데이터 주입 시스템(200), 계정 발급 시스템(400) 및 데이터 처리 시스템(500)은 서로 통신할 수 있다. 시스템들(200, 400, 500)은 임의의 통신 방식으로 통신함으로써 신호를 송수신할 수 있다. 예를 들면, 시스템들(200, 400, 500)은 인터넷과 같은 네트워크에 접속될 수도 있고, 시스템들(200, 400, 500) 중 적어도 2개는 전용의 통신 채널을 통해서 직접 통신할 수도 있다. 비록 도 8에 도시되지 아니하였으나, 보안 부품(120")은 특정한 목적을 가지는 제품(예컨대, 도 1의 제품(100))에 포함될 수 있고, 데이터 주입 시스템(200) 및 데이터 처리 시스템(500)은 보안 부품(120")을 포함하는 제품에 신호를 전송하거나 그 제품으로부터 신호를 수신함으로써 보안 부품(120)과 통신할 수 있다. 이하에서, 도 8은 도 5를 참조하여 설명될 것이다.Fig. 8 is a diagram illustrating an operation for injecting security information into the secure component 120" over time according to an exemplary embodiment of the present disclosure. Specifically, Fig. 8 is a view showing the secure component 120" and the external It is a diagram showing signals transmitted between the systems 200 , 400 , and 500 over time. As shown in Figure 8, the secure component 120", the data injection system 200, the account issuance system 400, and the data processing system 500 may communicate with each other. Systems 200, 400, 500 ) can transmit and receive signals by communicating in any communication method For example, the systems 200 , 400 , 500 may be connected to a network such as the Internet, and among the systems 200 , 400 , 500 At least two may communicate directly through a dedicated communication channel. Although not shown in FIG. 8 , the security component 120 ″ may be included in a product having a specific purpose (eg, the product 100 of FIG. 1 ). The data injection system 200 and data processing system 500 may communicate with the secure component 120 by sending a signal to or receiving a signal from the product including the secure component 120 ″. Hereinafter, FIG. 8 will be described with reference to FIG. 5 .

계정 발급 시스템(400)은 보안 부품(120)의 공급자에 의해서 운영될 수 있고, 데이터 주입 시스템(200) 및 데이터 처리 시스템(500)은 보안 부품(120)의 정당한 사용자에 의해서 운영될 수 있다. 본 명세서에서 시스템의 운영은 운영 주체, 예컨대 보안 부품(120)의 공급자 및 보안 부품(120)의 정당한 사용자에 의해서 직접적으로 운영되는 것뿐만 아니라 운영 주체의 제어 하에 있는 다른 주체에 의해서 운영되는 것을 지칭할 수 있다. The account issuance system 400 may be operated by a supplier of the secure component 120 , and the data injection system 200 and the data processing system 500 may be operated by a legitimate user of the secure component 120 . In this specification, the operation of the system refers not only to being directly operated by an operating entity, for example, a supplier of the secure component 120 and a legitimate user of the secure component 120 , but also to being operated by another entity under the control of the operating entity. can do.

도 8을 참조하면, 단계 S80에서 데이터 주입 시스템(200)은 부품 사용을 위한 계정 요청을 계정 발급 시스템(400)에 전송할 수 있다. Referring to FIG. 8 , in step S80 , the data injection system 200 may transmit an account request for using the part to the account issuance system 400 .

단계 S81에서, 계정 발급 시스템(400)은 계정 요청에 응답하여, 사용자 식별자(U_ID), 사용자 키(U_KEY) 및 마스터 키(M_KEY)를 생성할 수 있다. 예를 들면, 계정 발급 시스템(400)은 데이터 주입 시스템(200)으로부터 수신된 계정 요청이 보안 부품(120")의 정당한 사용자에 의한 것인 경우, 보안 부품(120")의 정당한 사용자를 위한 사용자 식별자(U_ID), 사용자 키(U_KEY) 및 마스터 키(M_KEY)를 생성할 수 있다. 계정 발급 시스템(400)은, 사용자 식별자(U_ID) 및 사용자 키(U_KEY)가 일정한 관계를 가지도록 사용자 식별자(U_ID) 및 사용자 키(U_KEY)를 생성할 수 있다. 즉, 보안 부품(120")에 의해서 사용자 식별자(U_ID)는 평가 키를 생성하는데 사용되므로, 보안 부품(120")의 정당한 사용자의 사용자 식별자(U_ID)로부터 생성된 평가 키가 사용자 키(U_KEY)와 일치하도록, 계정 발급 시스템(400)은 사용자 식별자(U_ID) 및 사용자 키(U_KEY)를 생성할 수 있다. In step S81, the account issuing system 400 may generate a user identifier (U_ID), a user key (U_KEY), and a master key (M_KEY) in response to the account request. For example, if the account request received from the data injection system 200 is by a legitimate user of the secure component 120", the account issuance system 400 may An identifier (U_ID), a user key (U_KEY), and a master key (M_KEY) can be generated. The account issuing system 400 may generate a user identifier (U_ID) and a user key (U_KEY) so that the user identifier (U_ID) and the user key (U_KEY) have a certain relationship. That is, since the user identifier (U_ID) is used to generate the evaluation key by the secure component 120", the evaluation key generated from the user identifier (U_ID) of the legitimate user of the secure component 120" is the user key (U_KEY) To match, the account issuing system 400 may generate a user identifier (U_ID) and a user key (U_KEY).

계정 발급 시스템(400)은 사용자 식별자(U_ID) 및/또는 사용자 키(U_KEY)와 마스터 키(M_KEY)가 일정한 관계를 가지도록 마스터 키(M_KEY)를 생성할 수 있다. 즉, 후술되는 바와 같이, 계정 발급 시스템(400)에 의해서 생성된 마스터 키(M_KEY)는 보안 정보를 암호화함으로써 암호화된 데이터(D_ENC)를 생성하는데 사용될 수 있고 보안 부품(120")에 의해서 암호화된 데이터(D_ENC)를 복호화하는데 사용되므로, 보안 부품(120")의 정당한 사용자의 사용자 식별자(U_ID) 및/또는 사용자 키(U_KEY)로부터 보안 부품(120")에 의해서 생성된 마스터 키(M_KEY)와 일치하도록 계정 발급 시스템(400)은 마스터 키(M_KEY)를 생성할 수 있다.The account issuing system 400 may generate a master key (M_KEY) such that the user identifier (U_ID) and/or the user key (U_KEY) and the master key (M_KEY) have a certain relationship. That is, as will be described later, the master key (M_KEY) generated by the account issuance system 400 can be used to generate encrypted data (D_ENC) by encrypting security information and is encrypted by the security component 120 ″. Since it is used to decrypt the data D_ENC, the user identifier (U_ID) and/or the user key (U_KEY) of the legitimate user of the security component 120" is the master key (M_KEY) generated by the security component 120" and To match, the account issuing system 400 may generate a master key (M_KEY).

단계 S82에서, 계정 발급 시스템(400)은 사용자 식별자(U_ID), 사용자 키(U_KEY), 마스터 키(M_KEY)를 데이터 주입 시스템(200)에 전송할 수 있다.In step S82 , the account issuing system 400 may transmit a user identifier (U_ID), a user key (U_KEY), and a master key (M_KEY) to the data injection system 200 .

단계 S83에서, 데이터 주입 시스템(200)은 보안 데이터(D_SEC) 및 마스터 키(M_KEY)를 데이터 처리 시스템(500)에 전송할 수 있다. 즉, 데이터 주입 시스템(200)은 마스터 키(M_KEY)를 사용하여 보안 데이터(D_SEC)로부터 암호화된 데이터(D_ENC)를 생성하기 위하여, 보안 데이터(D_SEC) 및 마스터 키(M_KEY)를 데이터 처리 시스템(500)에 전송할 수 있다. 전술된 바와 같이, 보안 데이터(D_SEC)는 보안 부품(120")을 포함하는 제품에 관한 보안 정보를 포함할 수 있다.In step S83 , the data injection system 200 may transmit the security data D_SEC and the master key M_KEY to the data processing system 500 . That is, the data injection system 200 uses the master key (M_KEY) to generate the encrypted data (D_ENC) from the security data (D_SEC), the security data (D_SEC) and the master key (M_KEY) to the data processing system ( 500) can be transmitted. As described above, the security data D_SEC may include security information about a product including the security component 120 ″.

단계 S84에서, 데이터 처리 시스템(500)은 암호화된 데이터(D_ENC)를 생성할 수 있다. 예를 들면, 데이터 처리 시스템(500)은 마스터 키(M_KEY)를 사용하여 보안 데이터(D_SEC)를 암호화함으로써 암호화된 데이터(D_ENC)를 생성할 수 있고, 암호화 방식은 보안 부품(120")에서 암호화된 데이터(D_ENC)를 복호화하는 방식에 대응할 수 있다. 데이터 처리 시스템(500)은 암호화된 데이터(D_ENC)를 생성하기 위하여 임의의 암호화 알고리즘을 사용할 수 있다. 예를 들면, 데이터 처리 시스템(500)은 마스터 키(M_KEY)에 기초하여, DES(Data Encryption Standard), AES(Advanced Encryption Standard), SEED, ARIA(Academy, Research Institute, Agency), LEA(Lightweight Encryption Algorithm), RC4, RSA, ECC(Elliptic curve cryptography), DSS(Digital Signature Standard) 등을 사용하여 암호화된 데이터(D_ENC)를 생성할 수 있다.In step S84 , the data processing system 500 may generate encrypted data D_ENC. For example, the data processing system 500 may generate the encrypted data D_ENC by encrypting the secure data D_SEC using the master key M_KEY, and the encryption method is encrypted in the secure part 120". It may correspond to a method of decrypting the encrypted data D_ENC. The data processing system 500 may use any encryption algorithm to generate the encrypted data D_ENC. For example, the data processing system 500 Based on the master key (M_KEY), DES (Data Encryption Standard), AES (Advanced Encryption Standard), SEED, ARIA (Academy, Research Institute, Agency), LEA (Lightweight Encryption Algorithm), RC4, RSA, ECC (Elliptic) The encrypted data (D_ENC) may be generated using curve cryptography), Digital Signature Standard (DSS), or the like.

단계 S85에서, 데이터 처리 시스템(500)은 암호화된 데이터(D_ENC)를 전송할 수 있다. In step S85 , the data processing system 500 may transmit the encrypted data D_ENC.

도 8에서 보안 부품(120")의 정당한 사용자에 의해서 운영되는 데이터 주입 시스템(200) 및 데이터 처리 시스템(500)이 분리되어 도시되었으나, 일 실시예에서 도 8의 데이터 주입 시스템(200) 및 데이터 처리 시스템(500)의 동작들은 보안 부품(120")의 제어 하에 있는 단일 시스템에서 수행될 수도 있다. 이에 따라, 단계 S83에서 보안 데이터(D_SEC) 및 마스터 키(M_KEY)를 전송하는 동작 및 단계 S85에서 암호화된 데이터(D_ENC)를 전송하는 동작은 생략될 수도 있다.Although the data injection system 200 and the data processing system 500 operated by a legitimate user of the security component 120 ″ in FIG. 8 are shown separately, in one embodiment the data injection system 200 and the data Operations of processing system 500 may be performed in a single system under the control of secure component 120 ″. Accordingly, the operation of transmitting the security data D_SEC and the master key M_KEY in step S83 and the operation of transmitting the encrypted data D_ENC in step S85 may be omitted.

단계 S86에서, 데이터 주입 시스템(200)은 입력 데이터(D_IN")를 보안 부품(120")에 전송할 수 있다. 즉, 데이터 주입 시스템(200)은 사용자 식별자(U_ID), 사용자 키(U_KEY) 및 암호화된 데이터(D_ENC)를 포함하는 입력 데이터(D_IN")를 보안 부품(120")에 제공할 수 있다. In step S86 , the data injection system 200 may transmit the input data D_IN″ to the secure component 120″. That is, the data injection system 200 may provide the input data D_IN" including the user identifier U_ID, the user key U_KEY, and the encrypted data D_ENC to the security component 120".

단계 S87에서, 보안 부품(120")은 입력 데이터(D_IN")를 인증하는 동작을 수행할 수 있다. 예를 들면, 보안 부품(120")의 사용자 인증 처리기(121")는 사용자 식별자(U_ID)로부터 평가 키를 생성할 수 있고, 생성된 평가 키 및 사용자 키(U_KEY)를 비교함으로써 입력 데이터(D_IN")를 인증할 수 있다. 생성된 평가 키 및 사용자 키(U_KEY)가 일치하는 경우, 즉 입력 데이터(D_IN")의 인증에 성공한 경우, 보안 부품(120")은 단계 S88을 후속해서 수행할 수 있다.In step S87, the security component 120" may perform an operation for authenticating the input data D_IN". For example, the user authentication processor 121" of the security component 120" may generate an evaluation key from the user identifier U_ID, and compare the generated evaluation key with the user key U_KEY to input data D_IN ") can be authenticated. When the generated evaluation key and the user key U_KEY match, that is, when authentication of the input data D_IN" is successful, the security component 120" performs step S88 successively. can

단계 S88에서, 보안 부품(120")은 마스터 키(M_KEY)를 생성할 수 있다. 예를 들면, 보안 부품(120")의 마스터 키 생성기(122")는 사용자 식별자(U_ID) 및/또는 사용자 키(U_KEY)로부터 미리 정해진 방식에 따라 마스터 키(M_KEY)를 생성할 수 있다.In step S88, the secure component 120" may generate a master key M_KEY. For example, the master key generator 122" of the secure component 120" may include a user identifier U_ID and/or a user A master key (M_KEY) may be generated from the key (U_KEY) according to a predetermined method.

단계 S89에서, 보안 부품(120")은 보안 데이터(D_SEC)를 생성 및 저장할 수 있다. 예를 들면, 복호화 처리기(123")는 마스터 키 생성기(122")에 의해서 생성된 마스터 키(M_KEY)를 사용하여 암호화된 데이터(D_ENC)를 복호화함으로써 보안 데이터(D_SEC)를 생성할 수 있다. 이에 따라, 마스터 키(M_KEY)는 입력 데이터(D_IN)가 제품(100)에 전송되는 과정에서 외부에 노출되지 아니할 수 있고, 결과적으로 마스터 키(M_KEY)에 의해서 암호화된 보안 정보는 보호될 수 있다.In step S89, the security component 120" may generate and store the security data D_SEC. For example, the decryption processor 123" may generate the master key M_KEY generated by the master key generator 122". security data (D_SEC) can be generated by decrypting the encrypted data (D_ENC) using This may not be the case, and as a result, security information encrypted by the master key (M_KEY) can be protected.

비록 도 8에서 마스터 키(M_KEY)가 사용자 식별자(U_ID) 및/또는 사용자 키(U_KEY)로부터 생성되는 예시가 도시되었으나, 도 2 및 도 3을 참조하여 전술된 바와 같이, 마스터 키(M_KEY)는 입력 데이터(D_IN)에 포함된 시드(SEED)로부터 생성될 수 있다. 이를 위하여, 계정 발급 시스템(400)은 사용자 식별자(U_ID), 사용자 키(U_KEY) 및 마스터 키(M_KEY)뿐만 아니라 시드(SEED)를 데이터 주입 시스템(200)에 제공할 수 있고, 데이터 주입 시스템(200)은 시드(SEED)를 포함하는 입력 데이터(D_IN), 즉 사용자 식별자(U_ID), 사용자 키(U_KEY) 및 암호화된 데이터(D_ENC)와 함께 시드(SEED)를 보안 부품(120")에 제공할 수 있다.Although an example in which a master key (M_KEY) is generated from a user identifier (U_ID) and/or a user key (U_KEY) is shown in FIG. 8, as described above with reference to FIGS. 2 and 3, the master key (M_KEY) is It may be generated from the seed SEED included in the input data D_IN. To this end, the account issuing system 400 may provide a user identifier (U_ID), a user key (U_KEY) and a master key (M_KEY) as well as a seed (SEED) to the data injection system 200, and the data injection system ( 200 provides a seed SEED along with input data D_IN including a seed SEED, that is, a user identifier (U_ID), a user key (U_KEY) and encrypted data (D_ENC) to the security component 120 " can do.

도 9는 본 개시의 예시적 실시예에 따라 보안 정보를 주입하는 방법을 나타내는 순서도이다. 예를 들면, 도 9의 방법은 도 1의 보안 부품(120)에 의해서 수행될 수 있고, 이하에서 도 9는 도 1을 참조하여 설명될 것이다.9 is a flowchart illustrating a method of injecting security information according to an exemplary embodiment of the present disclosure. For example, the method of FIG. 9 may be performed by the security component 120 of FIG. 1 , which will be described below with reference to FIG. 1 .

단계 S91에서, 입력 데이터(D_IN)를 수신하는 동작을 수행할 수 있다. 예를 들면, 보안 부품(120)은 제품(100)의 외부(예컨대, 도 1의 데이터 주입 시스템(200))로부터 통신 인터페이스(110)를 통해서 입력 데이터(D_IN)를 수신할 수 있다. 도 2 등을 참조하여 전술된 바와 같이, 입력 데이터(D_IN)는 부품 사용자 데이터(D_USR) 및 암호화된 데이터(D_ENC)를 포함할 수 있다.In step S91, an operation of receiving the input data D_IN may be performed. For example, the security component 120 may receive the input data D_IN from the outside of the product 100 (eg, the data injection system 200 of FIG. 1 ) through the communication interface 110 . As described above with reference to FIG. 2 and the like, the input data D_IN may include part user data D_USR and encrypted data D_ENC.

단계 S92에서, 부품 사용자 데이터(D_USR)에 기초하여 입력 데이터(D_IN)를 인증하는 동작이 수행될 수 있다. 예를 들면, 보안 부품(120)은 부품 사용자 데이터(D_USR)에 포함된 사용자 식별자(U_ID)로부터 평가 키를 생성할 수 있고, 사용자 데이터(D_USR)에 포함된 사용자 키(U_KEY)와 평가 키를 비교함으로써 입력 데이터(D_IN)가 보안 부품(120)의 정당한 사용자에 의해서 제공된 것인지 여부를 판단할 수 있다. 단계 S93에서, 입력 데이터(D_IN)의 인증이 성공한 경우, 단계 S94가 후속하여 수행될 수 있다.In operation S92 , an operation of authenticating the input data D_IN based on the component user data D_USR may be performed. For example, the security component 120 may generate an evaluation key from the user identifier (U_ID) included in the part user data (D_USR), and the user key (U_KEY) and the evaluation key included in the user data (D_USR). By comparing, it can be determined whether the input data D_IN is provided by a legitimate user of the security component 120 . In step S93, if authentication of the input data D_IN is successful, step S94 may be subsequently performed.

단계 S94에서, 시드(SEED)에 기초하여 마스터 키(M_KEY)를 생성하는 동작이 수행될 수 있다. 예를 들면, 보안 부품(120)은 인증된 입력 데이터(D_IN)에 포함된 시드(SEED)를 추출할 수 있고, 추출된 시드(SEED)에 기초하여 미리 정해진 방식으로 마스터 키(M_KEY)를 생성할 수 있다. 일 실시예에서 시드(SEED)는 입력 데이터(D_IN)에서 다른 데이터와 독립적으로 포함될 수도 있고, 다른 실시예에서 입력 데이터(D_IN)의 부품 사용자 데이터(D_USR)의 적어도 일부가 마스터 키(M_KEY)를 생성하는데 사용됨으로써 시드(SEED)와 동일한 기능을 수행할 수 있다.In operation S94, an operation of generating the master key M_KEY based on the seed SEED may be performed. For example, the security component 120 may extract the seed SEED included in the authenticated input data D_IN, and generate the master key M_KEY in a predetermined manner based on the extracted seed SEED. can do. In one embodiment, the seed SEED may be included independently of other data in the input data D_IN, and in another embodiment, at least a part of the part user data D_USR of the input data D_IN includes the master key M_KEY. By being used to create it, it can perform the same function as SEED.

단계 S95에서, 마스터 키(M_KEY)에 기초하여 암호화된 데이터(D_ENC)를 복호화하는 동작이 수행될 수 있다. 예를 들면, 보안 부품(120)은 단계 S94에서 생성된 마스터 키(M_KEY)를 사용하여 미리 정해진 방식으로 암호화된 데이터(D_ENC)를 복호화함으로서 보안 데이터(D_SEC)를 생성할 수 있다.In operation S95, an operation of decrypting the encrypted data D_ENC based on the master key M_KEY may be performed. For example, the security component 120 may generate the security data D_SEC by decrypting the encrypted data D_ENC in a predetermined manner using the master key M_KEY generated in step S94 .

단계 S96에서, 보안 데이터(D_SEC)를 저장하는 동작이 수행될 수 있다. 예를 들면, 보안 부품(120)은 보안 데이터(D_SEC)를 비휘발성 메모리에 저장할 수 있다. 일 실시예에서, 보안 데이터(D_SEC)가 저장된 후 보안 데이터(D_SEC)가 불변하도록 보안 부품(120)에 수신되는 입력 데이터(D_IN)는 무시될 수 있다. 다른 실시예에서, 도 6 및 도 7을 참조하여 전술된 바와 같이, 입력 데이터(D_IN)에 포함된 잠금 데이터(LOCK)에 따라, 저장된 보안 데이터(D_SEC)가 변경가능한지 여부가 결정될 수도 있다.In step S96, an operation of storing the security data D_SEC may be performed. For example, the security component 120 may store the security data D_SEC in a nonvolatile memory. In an exemplary embodiment, the input data D_IN received by the security component 120 may be ignored so that the security data D_SEC remains unchanged after the security data D_SEC is stored. In another embodiment, as described above with reference to FIGS. 6 and 7 , whether the stored security data D_SEC is changeable may be determined according to the lock data LOCK included in the input data D_IN.

도 10은 본 개시의 예시적 실시예에 따라 도 1의 제품(100)의 예시를 나타내는 블록도이다. 도 10에 도시된 바와 같이, 도 1의 제품(100)은 사물 인터넷에 접속가능한 IoT 기기(600)로서, 어플리케이션 프로세서(Application Processor; AP)(610), 버스(620), 센서(630), 노멀 메모리(640), 보안 메모리(650), 보안 모듈(660), 디스플레이(670), 입출력 장치(680)를 포함할 수 있다. IoT 기기(600)의 각 구성요소들(610, 630 내지 680)은 버스(620)에 접속될 수 있고, 버스(620)를 통해 서로 데이터를 주고 받을 수 있다.10 is a block diagram illustrating an example of the product 100 of FIG. 1 in accordance with an exemplary embodiment of the present disclosure. As shown in FIG. 10 , the product 100 of FIG. 1 is an IoT device 600 connectable to the Internet of Things, an application processor (AP) 610 , a bus 620 , a sensor 630 , It may include a normal memory 640 , a secure memory 650 , a security module 660 , a display 670 , and an input/output device 680 . Each of the components 610 , 630 to 680 of the IoT device 600 may be connected to the bus 620 , and may exchange data with each other through the bus 620 .

사물 인터넷(IoT)은 유/무선 통신을 이용하는 사물 상호 간의 네트워크를 지칭할 수 있다. 예를 들면, 사물 인터넷(IoT)은 IoT 네트워크 시스템, USN(Ubiquitous Sensor Network) 통신 시스템, MTC(Machine Type Communications) 통신 시스템, MOC(Machine Oriented Communication) 통신 시스템, M2M(Machine to Machine) 통신 시스템 또는 D2D(Device to Device) 통신 시스템 등과 같이 다양하게 지칭될 수 있다.The Internet of Things (IoT) may refer to a network between things using wired/wireless communication. For example, the Internet of Things (IoT) is an IoT network system, a Ubiquitous Sensor Network (USN) communication system, a Machine Type Communications (MTC) communication system, a Machine Oriented Communication (MOC) communication system, a Machine to Machine (M2M) communication system, or It may be variously referred to as a D2D (Device to Device) communication system.

어플리케이션 프로세서(610)는 IoT 기기(600)의 전반적인 동작을 제어할 수 있다. 예를 들면, 어플리케이션 프로세서(610)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 일 실시예에서, 어플리케이션 프로세서(610)는 하나 이상의 코어(core)를 포함할 수 있다. 예를 들면, 어플리케이션 프로세서(610)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 어플리케이션 프로세서(610)는 캐시 메모리를 더 포함할 수 있다.The application processor 610 may control the overall operation of the IoT device 600 . For example, the application processor 610 may execute applications that provide an Internet browser, a game, a video, and the like. In an embodiment, the application processor 610 may include one or more cores. For example, the application processor 610 may include a multi-core such as a dual-core, a quad-core, or a hexa-core (Hexa-Core). Also, the application processor 610 may further include a cache memory.

센서(630)는 IoT 기기(600)의 외부 환경을 센싱할 수 있다. 일 실시예에서, 센서(630)는 이미지 센서일 수 있고, 이미지 정보를 생성하여 어플리케이션 프로세서(610)에 제공할 수 있다. 다른 실시예에서, 센서(630)는 신체 정보(biometric information)를 감지하는 바이오 센서일 수 있고, 비제한적인 예시로서 지문, 홍체 패턴, 핏줄 패턴, 심박수, 혈당 등을 감지함으로써 감지된 정보에 대응하는 센싱 데이터를 생성할 수 있다. 실시예들에 따라, 센서(630)는 조도(illuminance) 센서, 음향 센서, 가속도 센서 등과 같은 임의의 센서를 포함할 수도 있다.The sensor 630 may sense the external environment of the IoT device 600 . In an embodiment, the sensor 630 may be an image sensor, and may generate image information and provide it to the application processor 610 . In another embodiment, the sensor 630 may be a biosensor that detects biometric information, and as a non-limiting example, corresponds to the detected information by detecting a fingerprint, an iris pattern, a blood vessel pattern, a heart rate, a blood sugar, etc. sensing data can be generated. According to embodiments, the sensor 630 may include any sensor such as an illuminance sensor, an acoustic sensor, an acceleration sensor, or the like.

노멀 메모리(640)는 IoT 기기(600)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들면, 노멀 메모리(640)는 동적 랜덤 액세스 메모리(Dynamic Random Access Memory; DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory; SRAM) 등과 같은 휘발성 메모리 장치 및/또는 플래시 메모리 장치(flash memory device), 솔리드 스테이트 드라이브(Solid State Drive; SSD) 등과 같은 비휘발성 메모리 장치를 포함할 수 있다.The normal memory 640 may store data necessary for the operation of the IoT device 600 . For example, the normal memory 640 may be a volatile memory device and/or a flash memory device such as a dynamic random access memory (DRAM), a static random access memory (SRAM), or the like. ) and a non-volatile memory device such as a solid state drive (SSD).

보안 메모리(650)는 IoT 기기(600)가 동작하는 과정에서 보안이 필요한 데이터를 저장할 수 있다. 예를 들면, 보안 메모리(650)는, 도 3의 보안 저장소(124')와 유사하게, 외부의 부적절한 접근으로부터 보호가 필요한 IoT 기기(600)에 대한 보안 정보를 포함하는 보안 데이터(D_SEC)를 저장할 수 있다. 실시예들에 따라, 보안 메모리(650)는 센서(630)를 통해 감지된 정보, 예컨대 신체 정보를 포함하는 데이터를 저장할 수도 있다. 비록 도 10에서 노멀 메모리(640)와 보안 메모리(650)는 분리되어 도시되었으나, 본 개시의 기술적 사상이 이에 제한되는 것은 아니며, 노멀 메모리(640)와 보안 메모리(650)는 하나의 물리적인 메모리로 통합되어 구현될 수도 있다. 일 실시예에서, 노멀 메모리(640) 및/또는 보안 메모리(650)는 IoT 기기(600)에 착탈식으로 결합될 수 있고, 예컨대 노멀 메모리(640) 및/또는 보안 메모리(650)는 커넥터 핀 및/또는 소켓 등을 이용하여 IoT 기기(600)에 접속될 수 있다.The secure memory 650 may store data requiring security while the IoT device 600 operates. For example, the secure memory 650, similar to the secure storage 124' of FIG. 3, stores security data (D_SEC) including security information for the IoT device 600 that needs protection from inappropriate external access. can be saved According to embodiments, the secure memory 650 may store information detected by the sensor 630 , for example, data including body information. Although the normal memory 640 and the secure memory 650 are illustrated separately in FIG. 10 , the technical spirit of the present disclosure is not limited thereto, and the normal memory 640 and the secure memory 650 are one physical memory. may be integrated and implemented. In one embodiment, normal memory 640 and/or secure memory 650 may be removably coupled to IoT device 600 , eg, normal memory 640 and/or secure memory 650 may include connector pins and / or it may be connected to the IoT device 600 using a socket or the like.

보안 모듈(660)은 보안 메모리(650)를 관리할 수 있다. 즉, 보안 모듈(660)은 IoT 기기(600)가 동작하는 과정에서 보안이 필요한 데이터를 보안 메모리(650)에 저장하거나, 보안 메모리(650)로부터 리드하는 역할을 할 수 있다. 예를 들면, 보안 모듈(660)은 도 3의 사용자 인증 처리기(121'), 마스터 키 생성기(122') 및 복호화 처리기(123') 중 적어도 하나의 동작을 수행할 수 있고, 이에 따라 보안 메모리(650)에 저장된 보안 데이터(D_SEC)의 저장 및 독출을 제어할 수 있다. 보안 모듈(660)은, 논리 합성에 의해서 설계되는 로직 블록을 포함할 수도 있고, 프로세서 및 프로세서에 의해서 실행되는 소프트웨어 블록을 포함할 수도 있다.The security module 660 may manage the secure memory 650 . That is, the security module 660 may serve to store or read data requiring security in the secure memory 650 while the IoT device 600 operates. For example, the security module 660 may perform at least one operation of the user authentication processor 121 ′, the master key generator 122 ′, and the decryption processor 123 ′ of FIG. 3 , and thus the secure memory The storage and reading of the security data D_SEC stored in the 650 may be controlled. The security module 660 may include a logic block designed by logic synthesis, and may include a processor and a software block executed by the processor.

디스플레이(670)는 데이터를 출력할 수 있다. 예를 들어, 디스플레이(670)는 센서(630)를 이용하여 센싱된 이미지 데이터를 출력하거나, 어플리케이션 프로세서(610)를 이용하여 연산된 데이터를 출력할 수 있다. The display 670 may output data. For example, the display 670 may output image data sensed using the sensor 630 or data calculated using the application processor 610 .

입출력 장치(680)는 터치패드, 키패드, 입력 버튼 등과 같은 IoT 기기(600) 사용자의 입력을 수신하기 위한 부품을 포함할 수도 있고, LED, 스피커 등과 같은 신호를 외부로 출력하기 위한 부품을 포함할 수도 있다.The input/output device 680 may include parts for receiving the user's input of the IoT device 600 such as a touch pad, a keypad, an input button, etc., and may include parts for outputting a signal such as an LED and a speaker to the outside. may be

도 11은 본 개시의 예시적 실시예에 따라 도 10의 IoT 기기(600)의 하드웨어 및 소프트웨어의 예시적인 구조를 나타내는 블록도이다. 도 11에 도시된 바와 같이, IoT 장치(700)는 IoT 장치 어플리케이션(710) 및 통신 모듈(720)을 포함할 수 있고, 통신 모듈(720)은 펌웨어(721), 무선 베이스밴드 칩셋(722) 및 보안 모듈(723)을 포함할 수 있다.11 is a block diagram illustrating an exemplary structure of hardware and software of the IoT device 600 of FIG. 10 according to an exemplary embodiment of the present disclosure. 11 , the IoT device 700 may include an IoT device application 710 and a communication module 720 , and the communication module 720 includes a firmware 721 and a wireless baseband chipset 722 . and a security module 723 .

IoT 장치 어플리케이션(710)은 소프트웨어 블록으로서 통신 모듈(720)을 제어할 수 있고, IoT 장치(700)의 CPU(예컨대, 도 10의 어플리케이션 프로세서(610))에 의해서 실행될 수 있다. 통신 모듈(720)은, LAN(Local Area Network), Wi-Fi와 같은 WLAN(Wireless Local Area Network), 블루투스(Bluetooth) 같은 WPAN(Wireless personal area network), 무선 USB(Universal Serial Bus), 지그비(Zigbee); NFC(Near Field Communication), RFID(Radio-Frequency Identification), 또는 이동 통신 시스템을 통해서 데이터를 주고받을 수 있는 무선 통신 블록일 수 있다.The IoT device application 710 may control the communication module 720 as a software block, and may be executed by the CPU (eg, the application processor 610 of FIG. 10 ) of the IoT device 700 . Communication module 720, LAN (Local Area Network), WLAN (Wireless Local Area Network) such as Wi-Fi, Bluetooth (Bluetooth), such as WPAN (Wireless Personal Area Network), Wireless USB (Universal Serial Bus), Zigbee ( Zigbee); It may be a wireless communication block capable of exchanging data through Near Field Communication (NFC), Radio-Frequency Identification (RFID), or a mobile communication system.

펌웨어(721)는 IoT 장치 어플리케이션(710)에 API(Application Programming Interface)를 제공할 수 있고, IoT 장치 어플리케이션(710)의 제어에 기초하여 무선 베이스 밴드 칩셋(722)을 제어할 수 있다. 무선 베이스 밴드 칩셋(722)은 무선 통신 네트워크에 대한 접속을 제공할 수 있다. 보안 모듈(723)은 무선 통신 네트워크에 접속하기 위해 IoT 장치(700)를 인증하기 위한 데이터(예컨대, 도 1의 보안 데이터(D_SEC))를 저장할 수 있고, 무선 네트워크 서비스를 위해 IoT 장치(700)를 인증하는 동작을 수행할 수 있다. 보안 모듈(723)은, 본 개시의 예시적 실시예에 따라, IoT 장치(700) 외부로부터 제공된 데이터(예컨대, 도 1의 입력 데이터(D_IN))를 인증할 수 있고, 인증된 데이터로부터 보안 데이터를 생성함으로써 저장할 수 있다.The firmware 721 may provide an application programming interface (API) to the IoT device application 710 and may control the wireless baseband chipset 722 based on the control of the IoT device application 710 . The wireless baseband chipset 722 may provide connectivity to a wireless communication network. The security module 723 may store data (eg, security data D_SEC in FIG. 1 ) for authenticating the IoT device 700 to access the wireless communication network, and the IoT device 700 for a wireless network service. may perform an operation to authenticate. The security module 723 may authenticate data provided from outside the IoT device 700 (eg, input data D_IN of FIG. 1 ), and secure data from the authenticated data, according to an exemplary embodiment of the present disclosure. can be saved by creating

도 12는 본 개시의 예시적 실시예에 따른 보안 부품을 포함하는 제품이 사용되는 네트워크 시스템(900)을 나타내는 도면이다. 도 12를 참조하면, 네트워크 시스템(900)은 통신 연결 장치(910), 통신 연결 장치(910)와 통신 가능하도록 연결되는 복수의 조명 기구들(920, 930), 서버(940), 서버를 관리하기 위한 컴퓨터(950), 통신 기지국(960), 통신망(970) 및 모바일 기기(980)를 포함할 수 있다.12 is a diagram illustrating a network system 900 in which a product including a security component is used according to an exemplary embodiment of the present disclosure. Referring to FIG. 12 , the network system 900 manages a communication connection device 910 , a plurality of lighting fixtures 920 and 930 , a server 940 , and a server connected to be communicable with the communication connection device 910 . It may include a computer 950 , a communication base station 960 , a communication network 970 , and a mobile device 980 .

거리 또는 공원 등의 개방적인 외부 공간에 설치되는 복수의 조명 기구들(920, 930) 각각은 스마트 엔진들(921, 931)을 포함할 수 있다. 스마트 엔진들(921, 931)은 주변 환경의 정보를 수집하는 센서 및 통신 모듈 등을 포함할 수 있고, 비제한적인 예시로서 WiFi, Zigbee, LiFi 등의 통신 프로토콜에 따라 주변의 다른 장비들과 통신할 수 있다. 예를 들면, 스마트 엔진(921)은 다른 스마트 엔진(931)과 통신 가능하도록 연결될 수 있고, 스마트 엔진들(921, 931) 상호 간의 통신에는 WiFi 확장 기술(WiFi Mesh)이 사용될 수 있다. 스마트 엔진(921)은 통신망(970)에 연결되는 통신 연결 장치(910)와 유/무선 통신에 의해 연결될 수 있다. 높은 통신 효율성을 위하여, 2이상의 스마트 엔진들(예컨대, 921, 931)은 하나의 그룹으로서 통신 연결 장치(910)에 연결될 수 있다.Each of the plurality of lighting devices 920 and 930 installed in an open external space such as a street or a park may include smart engines 921 and 931 . The smart engines 921 and 931 may include a sensor and a communication module that collects information of the surrounding environment, and as a non-limiting example, communicate with other devices in the vicinity according to a communication protocol such as WiFi, Zigbee, LiFi, etc. can do. For example, the smart engine 921 may be connected to communicate with another smart engine 931 , and a WiFi extension technology (WiFi Mesh) may be used for communication between the smart engines 921 and 931 . The smart engine 921 may be connected to the communication connection device 910 connected to the communication network 970 by wired/wireless communication. For high communication efficiency, two or more smart engines (eg, 921 and 931 ) may be connected to the communication connection device 910 as a group.

스마트 엔진들(921, 931) 각각은 조명 기구들(920, 930)의 고유한 정보를 보안 정보로서 저장할 수 있다. 스마트 엔진들(921, 931) 각각에 저장된 보안 정보는 상이할 수 있고, 본 개시의 예시적 실시예에 따라 조명 기구들(920, 930)이 설치된 이후에 데이터(예컨대, 도 1의 입력 데이터(D_IN))를 전송함으로써 스마트 엔진들(921, 931)에 안전하게 저장될 수 있다.Each of the smart engines 921 and 931 may store unique information of the lighting fixtures 920 and 930 as security information. The security information stored in each of the smart engines 921 and 931 may be different, and the data (eg, the input data ( D_IN)) to be safely stored in the smart engines 921 and 931 .

통신 연결 장치(910)는 유/무선 통신이 가능한 액세스 포인트(access point, AP)로서, 통신망(970)과 다른 장비 사이의 통신을 중개할 수 있다. 통신 연결 장치(910)는 유/무선 방식 중 적어도 하나에 의해 통신망(970)과 연결될 수 있으며, 예컨대 조명 기구들(920, 930) 중 적어도 하나의 내부에 기구적으로 수납될 수 있다.The communication connection device 910 is an access point (AP) capable of wired/wireless communication, and may mediate communication between the communication network 970 and other equipment. The communication connection device 910 may be connected to the communication network 970 by at least one of a wired/wireless method, and for example, may be mechanically accommodated in at least one of the lighting devices 920 and 930 .

통신 연결 장치(910)는 WiFi 등의 통신 프로토콜을 통해 모바일 기기(980)와 연결될 수 있다. 모바일 기기(980)의 사용자는 인접한 주변의 조명 기구(920)의 스마트 엔진(921)과 연결된 통신 연결 장치(910)를 통해, 스마트 엔진들(921, 931)이 수집한 주변 환경 정보를 수신할 수 있다. 통신 연결 장치(910)는 스마트 엔진들(921, 931)에 인증 요청을 전송할 수 있고, 스마트 엔진들(921, 931)이 자신들에 저장된 보안 정보에 기초하여 제공하는 인증 응답에 기초하여 스마트 엔진들(921, 931)을 인증함으로써, 스마트 엔진들(921, 931)과 모바일 기기(980)와의 통신을 중계할 수 있다. 모바일 기기(980)는 통신 기지국(960)을 통해 3G 또는 4G 등의 무선 셀룰러 통신 방식으로 통신망(970)에 연결될 수도 있다.The communication connection device 910 may be connected to the mobile device 980 through a communication protocol such as WiFi. The user of the mobile device 980 may receive the surrounding environment information collected by the smart engines 921 and 931 through the communication connection device 910 connected to the smart engine 921 of the adjacent lighting fixture 920 . can The communication connection device 910 may send an authentication request to the smart engines 921 , 931 , and based on the authentication response provided by the smart engines 921 , 931 based on the security information stored therein, the smart engines By authenticating 921 and 931 , communication between the smart engines 921 and 931 and the mobile device 980 may be relayed. The mobile device 980 may be connected to the communication network 970 through a wireless cellular communication method such as 3G or 4G through the communication base station 960 .

한편, 통신망(970)에 연결되는 서버(940)는, 조명 기구들(920, 930)의 스마트 엔진들(921, 931)이 수집하는 정보를 통신 연결 장치(910)를 통해서 수신함과 동시에, 조명 기구들(920, 930)의 동작 상태 등을 모니터링 할 수 있다. 조명 기구들(920, 930)의 동작 상태의 모니터링 결과에 기초하여 각 조명 기구들(920, 930)를 관리하기 위해, 서버(940)는 관리 시스템을 제공하는 컴퓨터(950)와 연결될 수 있다. 본 개시의 예시적 실시예에 따라, 서버(940)는 도 1의 데이터 주입 시스템(200)과 유사하게, 조명 기구들(920, 930)의 스마트 엔진들(921, 931)에 보안 정보의 주입을 위한 데이터를 통신망(970) 및 통신 연결 장치(910)를 통해서 스마트 엔진들(921, 931)에 제공할 수 있다. 전술된 바와 같이, 서버(940)가 제공하는 데이터는, 스마트 엔진들(921, 931)의 공급자가 사전에 제공한 정보들(예컨대, 도 8의 U_ID, U_KEY 등)을 포함할 수 있고, 스마트 엔진들(921, 931)의 공급자가 제공한 정보(예컨대, 도 8의 M_KEY)에 따라 암호화된 데이터를 포함할 수 있다. 컴퓨터(950)는 스마트 엔진들(921, 931)을 통해서 조명 기구들(920, 930)의 동작 상태를 모니터링하고 관리할 수 있는 소프트웨어 등을 실행할 수 있다.On the other hand, the server 940 connected to the communication network 970 receives the information collected by the smart engines 921 and 931 of the lighting fixtures 920 and 930 through the communication connection device 910 and at the same time, the lighting Operational states of the devices 920 and 930 may be monitored. In order to manage each of the lighting fixtures 920 and 930 based on the monitoring result of the operating state of the lighting fixtures 920 and 930 , the server 940 may be connected to a computer 950 providing a management system. According to an exemplary embodiment of the present disclosure, server 940 injects security information into smart engines 921 , 931 of lighting fixtures 920 , 930 , similar to data injection system 200 of FIG. 1 . It is possible to provide data for this to the smart engines 921 and 931 through the communication network 970 and the communication connection device 910 . As described above, the data provided by the server 940 may include information (eg, U_ID, U_KEY, etc. in FIG. 8 ) provided in advance by the provider of the smart engines 921 and 931 , and the smart It may include data encrypted according to information (eg, M_KEY of FIG. 8 ) provided by the provider of the engines 921 and 931 . The computer 950 may execute software capable of monitoring and managing the operating state of the lighting fixtures 920 and 930 through the smart engines 921 and 931 .

이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Exemplary embodiments have been disclosed in the drawings and specification as described above. Although the embodiments have been described using specific terms in the present specification, these are used only for the purpose of explaining the technical spirit of the present disclosure and are not used to limit the meaning or the scope of the present disclosure described in the claims. . Therefore, it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible therefrom. Accordingly, the true technical protection scope of the present disclosure should be defined by the technical spirit of the appended claims.

Claims (10)

제품에 포함되어 상기 제품을 인증하기 위한 입력 데이터를 처리하는 보안 부품으로서,
상기 보안 부품은, 외부의 데이터 주입 시스템으로부터 부품 사용자 데이터 및 암호화된 데이터를 포함하는 입력 데이터를 수신하고,
상기 부품 사용자 데이터에 기초하여 상기 입력 데이터가 상기 보안 부품의 정당한 사용자에 의해서 제공된 것인지 여부를 판단함으로써, 상기 입력 데이터의 인증을 수행하는 사용자 인증 처리기;
인증된 상기 입력 데이터의 인증된 상기 부품 사용자 데이터에 기초하여 마스터 키를 생성하는 마스터 키 생성기;
상기 마스터 키에 기초하여 인증된 상기 암호화된 데이터를 복호화함으로써 보안 데이터를 생성하는 복호화 처리기; 및
상기 보안 데이터를 저장하는 보안 저장소를 포함하는 보안 부품.
As a security component included in the product to process input data for authenticating the product,
The security component receives input data including component user data and encrypted data from an external data injection system,
a user authentication processor for authenticating the input data by determining whether the input data is provided by a legitimate user of the security part based on the part user data;
a master key generator for generating a master key based on the authenticated part user data of the authenticated input data;
a decryption processor for generating secure data by decrypting the encrypted data authenticated based on the master key; and
a secure component comprising a secure repository for storing the secure data.
청구항 1에 있어서,
상기 부품 사용자 데이터는, 사용자 식별자 및 사용자 키를 포함하고,
상기 사용자 인증 처리기는, 상기 사용자 식별자로부터 평가 키를 생성하고, 상기 평가 키 및 상기 사용자 키가 일치하는 경우 상기 입력 데이터를 인증하는 것을 특징으로 하는 보안 부품.
The method according to claim 1,
The part user data includes a user identifier and a user key,
The user authentication processor generates an evaluation key from the user identifier, and authenticates the input data when the evaluation key and the user key match.
청구항 2에 있어서,
인증된 상기 부품 사용자 데이터는 시드 데이터를 더 포함하고,
상기 마스터 키 생성기는, 상기 시드 데이터에 기초하여 상기 마스터 키를 생성하는 것을 특징으로 하는 보안 부품.
3. The method according to claim 2,
The authenticated part user data further includes seed data,
The master key generator, Security component, characterized in that for generating the master key based on the seed data.
청구항 2에 있어서,
상기 마스터 키 생성기는, 상기 사용자 식별자 및 상기 사용자 키 중 적어도 하나에 기초하여 상기 마스터 키를 생성하는 것을 특징으로 하는 보안 부품.
3. The method according to claim 2,
The master key generator is configured to generate the master key based on at least one of the user identifier and the user key.
청구항 1에 있어서,
상기 사용자 인증 처리기, 상기 마스터 키 생성기, 상기 복호화 처리기 및 상기 보안 저장소 중 적어도 하나는, 상기 보안 데이터가 상기 보안 저장소에 저장되면 저장된 상기 보안 데이터가 불변하도록 영구적으로 설정되는 것을 특징으로 하는 보안 부품.
The method according to claim 1,
At least one of the user authentication processor, the master key generator, the decryption processor and the secure storage is permanently set so that the stored security data is immutable when the security data is stored in the secure storage.
청구항 5에 있어서,
상기 보안 저장소는, 상기 보안 데이터를 저장하는 OTP(One Time Programmable) 메모리 및 재기입 가능한(rewritable) 메모리 중 적어도 하나를 포함하는 것을 특징으로 하는 보안 부품.
6. The method of claim 5,
The secure storage includes at least one of a One Time Programmable (OTP) memory and a rewritable memory for storing the secure data.
청구항 1에 있어서,
상기 사용자 인증 처리기, 상기 마스터 키 생성기, 상기 복호화 처리기 및 상기 보안 저장소 중 적어도 하나는, 인증된 상기 입력 데이터에 포함된 잠금 데이터에 따라, 저장된 상기 보안 데이터가 불변하도록 영구적으로 설정되는 것을 특징으로 하는 보안 부품.
The method according to claim 1,
At least one of the user authentication processor, the master key generator, the decryption processor and the secure storage is permanently set so that the stored security data is immutable according to lock data included in the authenticated input data. security parts.
내부에 저장된 보안 데이터에 기초하여 외부로부터의 제품 인증 요청에 응답하는 제품으로서,
상기 제품의 외부에 있는 데이터 주입 시스템으로부터, 암호화된 데이터 및 부품 사용자 데이터를 포함하는 입력 데이터를 수신하는 통신 인터페이스; 및
상기 부품 사용자 데이터에 기초하여 상기 입력 데이터의 인증을 수행하고, 인증된 상기 입력 데이터의 인증된 상기 부품 사용자 데이터에 기초하여 인증된 상기 입력 데이터의 인증된 상기 암호화된 데이터를 복호화함으로써 상기 보안 데이터를 생성하고, 상기 보안 데이터를 저장하는 보안 부품을 포함하는 제품.
A product that responds to a product authentication request from the outside based on security data stored therein, the product comprising:
a communication interface for receiving input data including encrypted data and part user data from a data injection system external to the product; and
The security data by performing authentication of the input data based on the part user data, and decrypting the authenticated encrypted data of the input data authenticated based on the authenticated part user data of the authenticated input data A product comprising a security component for generating and storing the security data.
청구항 8에 있어서,
상기 보안 데이터는, 상기 제품의 식별자, 증명 정보(certificate), 개인 키(private key) 및 사전 공유 키(pre-shared key) 중 적어도 하나를 포함하는 것을 특징으로 하는 제품.
9. The method of claim 8,
The security data includes at least one of an identifier of the product, a certificate, a private key, and a pre-shared key.
청구항 8에 있어서,
상기 통신 인터페이스는 상기 제품 인증 요청을 수신하고,
상기 보안 데이터에 기초하여 상기 제품 인증 요청에 응답하는 인증 요청 처리기를 더 포함하는 제품.
9. The method of claim 8,
The communication interface receives the product authentication request,
and an authentication request processor responsive to the product authentication request based on the security data.
KR1020170049805A 2016-11-18 2017-04-18 Component for provisioning of security data and product including the same KR102296742B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/794,190 US11210678B2 (en) 2016-11-18 2017-10-26 Component for provisioning security data and product including the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160154455 2016-11-18
KR1020160154455 2016-11-18

Publications (2)

Publication Number Publication Date
KR20180056351A KR20180056351A (en) 2018-05-28
KR102296742B1 true KR102296742B1 (en) 2021-09-03

Family

ID=62451756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170049805A KR102296742B1 (en) 2016-11-18 2017-04-18 Component for provisioning of security data and product including the same

Country Status (1)

Country Link
KR (1) KR102296742B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102556091B1 (en) * 2018-10-04 2023-07-14 삼성전자주식회사 Device and method for provisioning of secure information

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787169A (en) 1995-12-28 1998-07-28 International Business Machines Corp. Method and apparatus for controlling access to encrypted data files in a computer system
US20050089161A1 (en) 2003-10-14 2005-04-28 Kaoru Yokota Data converter and method thereof
US20080178006A1 (en) * 2007-01-19 2008-07-24 Microsoft Corporation Secure pin transmission
US20090110191A1 (en) 2007-10-24 2009-04-30 Hitachi Global Storage Technologies Netherlands, B.V. Techniques For Encrypting Data On Storage Devices Using An Intermediate Key
US20100042848A1 (en) * 2008-08-13 2010-02-18 Plantronics, Inc. Personalized I/O Device as Trusted Data Source

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787169A (en) 1995-12-28 1998-07-28 International Business Machines Corp. Method and apparatus for controlling access to encrypted data files in a computer system
US20050089161A1 (en) 2003-10-14 2005-04-28 Kaoru Yokota Data converter and method thereof
US20080178006A1 (en) * 2007-01-19 2008-07-24 Microsoft Corporation Secure pin transmission
US20090110191A1 (en) 2007-10-24 2009-04-30 Hitachi Global Storage Technologies Netherlands, B.V. Techniques For Encrypting Data On Storage Devices Using An Intermediate Key
US20100042848A1 (en) * 2008-08-13 2010-02-18 Plantronics, Inc. Personalized I/O Device as Trusted Data Source

Also Published As

Publication number Publication date
KR20180056351A (en) 2018-05-28

Similar Documents

Publication Publication Date Title
TWI740409B (en) Verification of identity using a secret key
US20160234176A1 (en) Electronic device and data transmission method thereof
CN107408175B (en) Challenge response authentication for self-encryption driven
TWI436280B (en) Authentication method for accessing profile of basic input/output system
US11888845B2 (en) Smart security storage
US20160080154A1 (en) Method of controlling electronic device using wearable device and method of operating electronic device
TWI629611B (en) Password setting method and lockset system, and lockset matching method and system
CN113632417A (en) Generating an identity of a computing device using a physical unclonable function
CN104011728A (en) Providing access to encrypted data
CN104537735A (en) Electronic lock and unlocking and setting method thereof
US9660986B2 (en) Secure access method and secure access device for an application program
US8924713B2 (en) Method and system for state machine security device
GB2580549A (en) Data security system with encryption
US11210678B2 (en) Component for provisioning security data and product including the same
EP3111360A1 (en) Universal authenticator across web and mobile
TW201028883A (en) Secure platform management device
CN102662874B (en) Double-interface encryption memory card and management method and system of data in double-interface encryption memory card
US20150227755A1 (en) Encryption and decryption methods of a mobile storage on a file-by-file basis
KR102296742B1 (en) Component for provisioning of security data and product including the same
CN111630813B (en) Electronic device, external electronic device, and system including electronic device and external electronic device
KR20170105393A (en) Method and system for authentication of a storage device
US11776340B2 (en) Electronic device authentication method, and apparatus according thereto
US10951653B2 (en) Apparatus including secure component and method of provisioning security information into the apparatus
US20170070490A1 (en) System and method for authenticating user by near field communication
CN102087683A (en) Password management and verification method suitable for trusted platform module (TPM)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right