KR20180056351A - 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 PDFInfo
- Publication number
- KR20180056351A KR20180056351A KR1020170049805A KR20170049805A KR20180056351A KR 20180056351 A KR20180056351 A KR 20180056351A KR 1020170049805 A KR1020170049805 A KR 1020170049805A KR 20170049805 A KR20170049805 A KR 20170049805A KR 20180056351 A KR20180056351 A KR 20180056351A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- user
- security
- key
- input data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
Abstract
Description
본 개시의 기술적 사상은 보안 정보의 주입에 관한 것으로서, 자세하게는 보안 정보의 주입을 위한 부품 및 이를 포함하는 제품에 관한 것이다.Technical aspects of the present disclosure relate to injection of security information, and more particularly, to a component for injection of security information and a product including the same.
외부의 부적절한 접근으로부터 보호되어야 하는 보안 정보는 다양한 방식으로 제품에 포함될 수 있다. 예를 들면, 부품 사용자는 보안 정보를 포함하는 부품을 부품 공급자로부터 공급받을 수도 있고, 또는 제품의 생산 단계에서 보안 정보를 부품이나 부품을 포함하는 제품에 주입할 수도 있다. 전자의 방식은 상대적으로 안전하게 보안 정보를 제품에 포함시킬 수 있는 한편, 부품 공급자에 대한 보안 정보의 노출이 불가피할 뿐만 아니라 부품의 사용환경 변화에 따른 보안 정보의 변경이 용이하지 아니할 수 있다. 또한, 후자의 방식은 보안 정보의 변경이 용이할 수 있는 한편, 보안 정보의 주입을 위한 인터페이스에 기인하여 제품 외부의 부적절한 접근에 대한 보안 정보의 보호가 취약할 수 있다.Security information that must be protected from external inappropriate access can be included in products in a variety of ways. For example, a part user may receive a part containing security information from a parts supplier, or may inject security information into a part or a product containing parts at the production stage of the product. While the former method can securely incorporate security information into the product, exposure of the security information to the component supplier is inevitable, and it may not be easy to change the security information due to changes in the use environment of the component. In addition, while the latter method can easily change the security information, the protection of the security information against improper access from the outside of the product due to the interface for injecting the security information may be weak.
본 개시의 기술적 사상은, 외부의 부적절한 접근으로부터 보호되는 보안 정보를 안전하게 제품에 주입하기 위하여 제품에 포함되는 부품 및 보안 정보의 주입 방법을 제공한다.The technical idea of the present disclosure provides a method of injecting parts and security information contained in a product to safely inject security information protected from external inappropriate access into the product.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따라, 제품에 포함되어 제품을 인증하기 위한 입력 데이터를 처리하는 보안 부품은, 입력 데이터에 포함된 부품 사용자 데이터에 기초하여 입력 데이터가 부품의 정당한 사용자에 의해서 제공된 것인지 여부를 판단함으로써, 입력 데이터의 인증을 수행하는 사용자 인증 처리기, 인증된 입력 데이터의 인증된 부품 사용자 데이터에 기초하여 마스터 키를 생성하는 마스터 키 생성기, 마스터 키에 기초하여 인증된 입력 데이터에 포함된 암호화된 데이터를 복호화함으로써 보안 데이터를 생성하는 복호화 처리기, 및 보안 데이터를 저장하는 보안 저장소를 포함할 수 있다.According to an aspect of the technical idea of the present disclosure, a security component included in a product and processing input data for authenticating a product includes an input unit for inputting, based on the component user data included in the input data, A master key generator for generating a master key based on authenticated part user data of authenticated input 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 included in the authenticated input data based on the encrypted input data, and a secure storage for storing secure data.
본 개시의 기술적 사상의 일측면에 따라, 내부에 저장된 보안 데이터에 기초하여 외부로부터의 제품 인증 요청에 응답하는 제품은, 제품의 외부로부터, 암호화된 데이터 및 부품 사용자 데이터를 포함하는 입력 데이터를 수신하는 통신 인터페이스, 부품 사용자 데이터에 기초하여 입력 데이터의 인증을 수행하고, 인증된 입력 데이터의 인증된 부품 사용자 데이터에 기초하여 인증된 입력 데이터의 인증된 암호화된 데이터를 복호화함으로써 보안 데이터를 생성하고, 보안 데이터를 저장하는 보안 부품을 포함할 수 있다. According to one aspect of the technical idea of the present disclosure, a product that responds to a product certification request from the outside based on security data stored therein stores input data including encrypted data and parts user data from outside the product Generating security data by decrypting authenticated encrypted data of authenticated input data based on authenticated part user data of authenticated input data, And may include security components that store security data.
본 개시의 기술적 사상에 따른 보안 정보의 주입을 위한 부품 및 방법에 의하면, 부품 사용자의 제어 하에서 보안 정보가 부품을 포함하는 제품에 안전하게 주입될 수 있다.According to the parts and method for injecting security information according to the technical idea of the present disclosure, security information can be safely injected into a product including the part under the control of the part user.
또한, 본 개시의 기술적 사상에 따른 보안 정보의 주입을 위한 부품 및 방법에 의하면, 보안 정보가 용이하게 변경될 수 있으므로, 부품 사용자에 의한 부품을 포함하는 제품의 활용도가 현저하게 향상될 수 있다.Further, 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 part user can be remarkably improved.
또한, 본 개시의 기술적 사상에 따른 보안 정보의 주입을 위한 부품 및 방법에 의하면, 예비적인 보안 정보를 포함하는 부품의 생산이 방지됨으로써 부품 공급자에 의한 부품의 생산성이 현저하게 향상될 수 있다.Further, according to the parts and method for injecting security information according to the technical idea of the present disclosure, the production of the parts including the 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 that schematically illustrates a product and peripheral systems including security information in accordance with an exemplary embodiment of the present disclosure.
Figure 2 is a diagram showing the input data of Figure 1 in accordance with an exemplary embodiment of the present disclosure.
Figure 3 is a block diagram illustrating an example of the security component of Figure 1 in accordance with an exemplary embodiment of the present disclosure.
4 is a flow diagram illustrating exemplary operation of the user authentication processor of FIG. 3 in accordance with an exemplary embodiment of the present disclosure.
5 is a block diagram illustrating an example of the security component of FIG. 1 in accordance with an exemplary embodiment of the present disclosure.
6 is a diagram illustrating input data according to an exemplary embodiment of the present disclosure;
FIG. 7 is a flow diagram 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 showing, in accordance with time, an operation for injecting security information into a security component according to an exemplary embodiment of the present disclosure;
9 is a flow diagram illustrating a method for injecting security information in accordance with an exemplary embodiment of the present disclosure.
Figure 10 is a block diagram illustrating an example of the product of Figure 1 in accordance with 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 in accordance with an exemplary embodiment of the present disclosure.
12 is a diagram illustrating a network system in which a product including a security component according to an exemplary embodiment of the present disclosure is used.
도 1은 본 개시의 예시적 실시예에 따라 보안 정보를 포함하는 제품(100) 및 주변 시스템들(200, 300)을 개략적으로 나타내는 블록도이다. 도 1에 도시된 바와 같이, 제품(100)은 데이터 주입 시스템(200) 및 인증 시스템(300)과 통신할 수 있고, 통신 인터페이스(110), 보안 부품(120) 및 인증 요청 처리기(130)를 포함할 수 있다. 제품(100)에 포함된 구성요소들로서, 통신 인터페이스(110), 보안 부품(120) 및 인증 요청 처리기(130) 각각은 논리 합성 등을 통해서 설계되는 로직 블록을 포함할 수도 있고, 프로세서에 의해서 실행되는 소프트웨어 블록을 포함할 수도 있다.1 is a block diagram that schematically illustrates a
제품(product)(100)은 보안 정보를 포함하는 개체로서 보안 정보에 기초하여 외부의 요청, 예컨대 인증 요청(A_REQ)에 응답할 수 있다. 예를 들면, 제품(100)은 퍼스널 컴퓨터, 네트워크 서버, 태블릿 PC, e-리더, PDA(personal digital assistant), PMP(portable multimedia player), 모바일 폰, 스마트 폰, 웨어러블 기기 등과 같이 독립적인 컴퓨팅 장치일 수도 있고, 자동차, 기계 장치, 제조 설비, 도어, 조명 등과 같이 특정한 기능을 제공하는 임의의 물체(object)일 수도 있다. The product (product) 100 may respond to an external request, e.g., an authentication request (A_REQ), based on security information as an entity including security information. For example, the
제품(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
보안 정보는 제품(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
보안 정보는 제품(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
도 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, a
보안 부품(120)은 입력 데이터(D_IN)를 수신할 수 있고, 인증 요청 처리기(130)에 보안 데이터(D_SEC)를 제공할 수 있다. 보안 부품(120)은 입력 데이터(D_IN)가 보안 부품(120)의 정당한 사용자에 의해서 제공된 것인지 여부를 판단함으로써 입력 데이터(D_IN)를 인증할 수 있고, 인증된 입력 데이터(D_IN)로부터 보안 데이터(D_SEC)를 저장하고, 인증 요청 처리기(130)에 보안 데이터(D_SEC)를 제공할 수 있다. 보안 부품(120)에 대한 자세한 내용은 도 3 및 도 5 등을 참조하여 후술될 것이다.The
인증 시스템(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
인증 요청 처리기(130)는 보안 부품(120)에 제공하는 보안 데이터(D_SEC)에 기초하여 인증 응답(A_RES)을 통신 인터페이스(110)를 통해서 인증 시스템(300)에 제공할 수 있다. 예를 들면, 인증 요청 처리기(130)는 보안 데이터(D_SEC)에 기초하여 제품(100)의 식별자(ID)를 인증 응답(A_RES)으로서 인증 시스템(300)에 제공할 수 있다.The
도 2는 본 개시의 예시적 실시예에 따라 도 1의 입력 데이터(D_IN)를 나타내는 도면이다. 도 1을 참조하여 전술된 바와 같이, 입력 데이터(D_IN)는 데이터 주입 시스템(200)으로부터 제품(100)에 제공될 수 있고, 제품(100)에 포함된 보안 부품(120)은 입력 데이터(D_IN)를 수신할 수 있다. 이하에서, 도 2는 도 1을 참조하여 설명될 것이다.2 is a diagram showing the input data D_IN of FIG. 1 according to an exemplary embodiment of the present disclosure. Input data D_IN may be provided to
도 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 part user data D_USR may include information about the user of the security component 120 (e.g., the supplier or 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. The component user data D_USR may be data provided to the user of the
암호화된 데이터(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 the security information in advance by the user of the
도 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을 참조하여 설명될 것이다.FIG. 3 is a block diagram illustrating an example of the
사용자 인증 처리기(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' The input data D_IN can 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 security component 120 'by the supplier of the security component 120'. The user identifier U_ID and the user key U_KEY provided to a legitimate user of the secure part 120 'may satisfy a predetermined relationship and accordingly the user authentication processor 121' It is determined whether or not the input data D_IN is provided by a legitimate user of the security component 120 'by detecting whether the relationship between the identifier U_ID and the user key U_KEY satisfies such a predetermined relationship . The user authentication processor 121'corresponds to the enable signal ENA activated when the input data D_IN is determined to have been provided by a legitimate user of the security component 120 ', that is, when the authentication of the input data D_IN is successful, While providing a disabled enable signal (ENA) if not. Details of the operation of the user authentication processor 121 'will be described later with reference to FIG.
마스터 키 생성기(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 using the seed SEED included in the input data D_IN. As described above with reference to FIG. 2, the SEED can be provided in advance to a legitimate user of the security component 120 'by the supplier of the security component 120' May also be provided in advance to a legitimate user of the security component 120 'by the supplier of the security component 120'. The SEED and the master key provided to the legitimate user of the secure part 120 'may satisfy a predetermined relationship and the master key M_KEY generated by the master key generator 122' May be the same as the master key used when the security information is encrypted, if it is the legitimate user of the secure part 120 '. Accordingly, the master key M_KEY may not be exposed to the outside in the process of transmitting the input data D_IN to the
복호화 처리기(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 security component 120'is used to authenticate the security information in a manner shared with the supplier of the security component 120'by using the master key provided by the supplier of the security component 120 ' (D_ENC) generated by encrypting the encrypted data D_ENC, the decryption processor 123 'decrypts the encrypted data D_ENC if the master key M_KEY provided by the master key generator 122' is legitimate 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 repository 124 'may store the secure data D_SEC provided from the decryption processor 123' and may provide the stored secure data D_SEC to the
도 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 repository 124 'may be included in the first group G1. The first group G1 may receive an enable signal ENA from the user authentication processor 121 'and may include a master key generator 122', a decryption processor 123 ' And secure storage 124 'may perform operations in response to an enabled enable signal (ENA), but may not perform at least some of the operations in response to a disabled enable signal (ENA) have. For example, the master key generator 122 'and the decryption processor 123' may be disabled in response to the disabled enable signal ENA and the secure store 124 ' Only the output operation of the secure 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 one embodiment, the security component 120 'may be configured to store the security data D_SEC generated from the authenticated input data D_IN, and then the stored security data D_SEC may be unchanged. That is, at least one of the user authentication processor 121 ', the master key generator 122', the decryption processor 123 'and the secure repository 124' only performs operations on the first authenticated input data D_IN . For example, the security component 120 'may include a memory element that stores information about whether the operation for the first authenticated input data D_IN is complete, and includes a user authentication processor 121', a master key At least one of the generator 122 ', the decryption processor 123' and the secure repository 124 'may ignore the input data D_IN provided to the security component 120' according to the information stored in the memory element, Security data D_SEC already stored can be protected. In some embodiments, the memory element that stores information about the completion of the operation for the first authenticated input data D_IN may include an OTP element that irreversibly stores information such as anti-fuse, When the operation for the first authenticated input data D_IN is completed, the OTP element can be programmed. In some embodiments, the memory element that stores information about the completion of the operation for the first authenticated input data D_IN may include a rewritable memory element, and the first authenticated input data D_IN, The data indicating the completion can be written to the rewritable memory element.
도 4는 본 개시의 예시적 실시예에 따라 도 3의 사용자 인증 처리기(121')의 예시적인 동작을 나타내는 순서도이다. 도 3을 참조하여 전술된 바와 같이, 사용자 인증 처리기(121')는 입력 데이터(D_IN)에 포함된 사용자 식별자(U_ID) 및 사용자 키(U_KEY)를 사용하여 입력 데이터(D_IN)가 보안 부품(120')의 정당한 사용자에 의해서 제공된 것인지를 판단함으로써 입력 데이터(D_IN)를 인증할 수 있다. 이하에서 도 4는 도 3을 참조하여 설명될 것이다.FIG. 4 is a flow diagram illustrating exemplary operation of the user authentication processor 121 'of FIG. 3 in accordance with an exemplary embodiment of the present disclosure. 3, the user authentication processor 121 'uses the user identifier U_ID and the user key U_KEY contained in the input data D_IN so that the input data D_IN is stored in the
도 4를 참조하면, 단계 S41에서 사용자 식별자(U_ID)로부터 평가 키를 생성하는 동작이 수행될 수 있다. 예를 들면, 사용자 인증 처리기(121')는 미리 정해진 방식, 예컨대 수학 연산, 논리 연산, 룩업 테이블 등에 기초하여 사용자 식별자(U_ID)로부터 평가 키를 생성할 수 있다. 사용자 인증 처리기(121')는, 보안 부품(120')의 정당한 사용자에게 발급된 사용자 식별자(U_ID)로부터 생성된 평가 키가 사용자 식별자(U_ID)와 동시에 발급된 사용자 키(U_KEY)와 일치하도록, 보안 부품(120')의 공급자에 의해서 설계될 수 있다.Referring to FIG. 4, in step S41, an operation of generating an evaluation key from the user identifier U_ID may be performed. For example, the user authentication processor 121 'may generate an evaluation key from a user identifier (U_ID) based on a predetermined method, such as a mathematical operation, a logical operation, a lookup table, and the like. The user authentication processor 121'compares the evaluation key generated from the user identifier U_ID issued to the authorized user of the security component 120 'so that it matches the user key U_KEY issued simultaneously with the user identifier U_ID, May be designed by the supplier of 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. If the evaluation key and the user key U_KEY coincide with each other, that is, if the user identifier U_ID and the user key U_KEY included in the input data D_IN belong to a legitimate user of the security component 120 ' The 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, if the user identifier U_ID and the user key U_KEY included in the input data D_IN are the same as those of the legitimate user of the security component 120 ' , An operation of deactivating the enable signal ENA in step S44 may be performed.
도 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
본 개시의 예시적 실시예에 따라, 보안 부품(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")에 제공할 수 있다.In accordance with an exemplary embodiment of the present disclosure, a master key M_KEY in a
도 5에 도시된 바와 같이, 마스터 키 생성기(122")는 사용자 인증 처리기(121")에 의해서 인증된 입력 데이터(D_IN")에서 사용자 식별자(U_ID) 및/또는 사용자 키(U_KEY)를 수신할 수 있고, 사용자 식별자(U_ID) 및/또는 사용자 키(U_KEY)로부터 미리 정해진 방식에 따라 마스터 키(M_KEY)를 생성할 수 있다.5, the
도 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 showing input data D_IN "in accordance with an exemplary embodiment of the present disclosure, and FIG. 7 is a block diagram of the input data D_IN " Is a flow diagram illustrating exemplary operation of the
도 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')의 공급자로부터 발급받은 마스터 키에 기초하여 보안 정보를 암호화함으로써 생성될 수 있다. 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, (D_USR) may include a user identifier (U_ID), a user key (U_KEY) and a seed (SEED) that a legitimate user of the security component 120 'has been issued from the supplier of the security component 120'. [ The user data D_USR may include only the user identifier U_ID and the user key U_KEY as described above with reference to Figure 5. The encrypted data D_ENC may be transmitted to the user Similarly, a legitimate user of security component 120 'may be created by encrypting security information based on a master key issued from a supplier of security 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. After the security data D_SEC is stored, the part 120 'is permanently set so that the security data D_SEC is unchanged when the lock function is activated in accordance with the lock data LOCK of the authenticated input data D_IN " .
도 7을 참조하면, 단계 S71에서 잠금 기능 활성화 여부를 판단하는 동작이 수행될 수 있다. 예를 들면, 보안 부품(120')의 사용자 인증 처리기(121'), 마스터 키 생성기(122'), 복호화 처리기(123') 및 보안 저장소(124') 중 적어도 하나는, 인증된 입력 데이터(D_IN")에 포함된 잠금 데이터(LOCK)에 기초하여 잠금 기능의 활성화 여부를 판단할 수 있다. 잠금 데이터(LOCK)에 따라 잠금 기능이 활성화된 경우, 단계 S72가 후속해서 수행될 수 있다.Referring to FIG. 7, in step S71, an operation of determining whether to activate the lock function 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 repository 124' of the security component 120 ' D_IN ") included in the lock data LOCK. If the lock function is activated in accordance with the lock data LOCK, step S72 may be performed subsequently.
단계 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 unchanged 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 repository 124' may be configured such that the secure data D_SEC is stored in the secure repository 124 ' The stored security data D_SEC may be permanently set to be unchanged. That is, at least one of the user authentication processor 121 ', the master key generator 122', the decryption processor 123 'and the secure repository 124' may store the input data D_IN received after storing the security data D_SEC May be set so as not to perform the operation on the " As described above with reference to FIG. 3, the secure part 120 'may include an OTP element such as an anti-fuse, and the OTP element may be programmed when the locking function is activated. At least one of the user authentication processor 121 ', the master key generator 122', the decryption processor 123 'and the secure repository 124' is then provided to the security component 120 'based on the programmed OTP element The input data D_IN 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를 참조하여 설명될 것이다.8 is a time-wise diagram of an operation for injecting security information into a
계정 발급 시스템(400)은 보안 부품(120)의 공급자에 의해서 운영될 수 있고, 데이터 주입 시스템(200) 및 데이터 처리 시스템(500)은 보안 부품(120)의 정당한 사용자에 의해서 운영될 수 있다. 본 명세서에서 시스템의 운영은 운영 주체, 예컨대 보안 부품(120)의 공급자 및 보안 부품(120)의 정당한 사용자에 의해서 직접적으로 운영되는 것뿐만 아니라 운영 주체의 제어 하에 있는 다른 주체에 의해서 운영되는 것을 지칭할 수 있다. The
도 8을 참조하면, 단계 S80에서 데이터 주입 시스템(200)은 부품 사용을 위한 계정 요청을 계정 발급 시스템(400)에 전송할 수 있다. Referring to FIG. 8, in step S80, the
단계 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
계정 발급 시스템(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
단계 S82에서, 계정 발급 시스템(400)은 사용자 식별자(U_ID), 사용자 키(U_KEY), 마스터 키(M_KEY)를 데이터 주입 시스템(200)에 전송할 수 있다.In step S82, the
단계 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
단계 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
단계 S85에서, 데이터 처리 시스템(500)은 암호화된 데이터(D_ENC)를 전송할 수 있다. In step S85, the
도 8에서 보안 부품(120")의 정당한 사용자에 의해서 운영되는 데이터 주입 시스템(200) 및 데이터 처리 시스템(500)이 분리되어 도시되었으나, 일 실시예에서 도 8의 데이터 주입 시스템(200) 및 데이터 처리 시스템(500)의 동작들은 보안 부품(120")의 제어 하에 있는 단일 시스템에서 수행될 수도 있다. 이에 따라, 단계 S83에서 보안 데이터(D_SEC) 및 마스터 키(M_KEY)를 전송하는 동작 및 단계 S85에서 암호화된 데이터(D_ENC)를 전송하는 동작은 생략될 수도 있다.Although the
단계 S86에서, 데이터 주입 시스템(200)은 입력 데이터(D_IN")를 보안 부품(120")에 전송할 수 있다. 즉, 데이터 주입 시스템(200)은 사용자 식별자(U_ID), 사용자 키(U_KEY) 및 암호화된 데이터(D_ENC)를 포함하는 입력 데이터(D_IN")를 보안 부품(120")에 제공할 수 있다. In step S86, the
단계 S87에서, 보안 부품(120")은 입력 데이터(D_IN")를 인증하는 동작을 수행할 수 있다. 예를 들면, 보안 부품(120")의 사용자 인증 처리기(121")는 사용자 식별자(U_ID)로부터 평가 키를 생성할 수 있고, 생성된 평가 키 및 사용자 키(U_KEY)를 비교함으로써 입력 데이터(D_IN")를 인증할 수 있다. 생성된 평가 키 및 사용자 키(U_KEY)가 일치하는 경우, 즉 입력 데이터(D_IN")의 인증에 성공한 경우, 보안 부품(120")은 단계 S88을 후속해서 수행할 수 있다.In step S87, the
단계 S88에서, 보안 부품(120")은 마스터 키(M_KEY)를 생성할 수 있다. 예를 들면, 보안 부품(120")의 마스터 키 생성기(122")는 사용자 식별자(U_ID) 및/또는 사용자 키(U_KEY)로부터 미리 정해진 방식에 따라 마스터 키(M_KEY)를 생성할 수 있다.For example, the
단계 S89에서, 보안 부품(120")은 보안 데이터(D_SEC)를 생성 및 저장할 수 있다. 예를 들면, 복호화 처리기(123")는 마스터 키 생성기(122")에 의해서 생성된 마스터 키(M_KEY)를 사용하여 암호화된 데이터(D_ENC)를 복호화함으로써 보안 데이터(D_SEC)를 생성할 수 있다. 이에 따라, 마스터 키(M_KEY)는 입력 데이터(D_IN)가 제품(100)에 전송되는 과정에서 외부에 노출되지 아니할 수 있고, 결과적으로 마스터 키(M_KEY)에 의해서 암호화된 보안 정보는 보호될 수 있다.For example, the
비록 도 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 has been shown in FIG. 8 in which the master key M_KEY is generated from the user identifier U_ID and / or the user key U_KEY, the master key M_KEY, as described above with reference to FIGS. 2 and 3, May be generated from the seed (SEED) contained in the input data D_IN. To this end, the
도 9는 본 개시의 예시적 실시예에 따라 보안 정보를 주입하는 방법을 나타내는 순서도이다. 예를 들면, 도 9의 방법은 도 1의 보안 부품(120)에 의해서 수행될 수 있고, 이하에서 도 9는 도 1을 참조하여 설명될 것이다.9 is a flow diagram illustrating a method for injecting security information in accordance with an exemplary embodiment of the present disclosure. For example, the method of FIG. 9 may be performed by the
단계 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
단계 S92에서, 부품 사용자 데이터(D_USR)에 기초하여 입력 데이터(D_IN)를 인증하는 동작이 수행될 수 있다. 예를 들면, 보안 부품(120)은 부품 사용자 데이터(D_USR)에 포함된 사용자 식별자(U_ID)로부터 평가 키를 생성할 수 있고, 사용자 데이터(D_USR)에 포함된 사용자 키(U_KEY)와 평가 키를 비교함으로써 입력 데이터(D_IN)가 보안 부품(120)의 정당한 사용자에 의해서 제공된 것인지 여부를 판단할 수 있다. 단계 S93에서, 입력 데이터(D_IN)의 인증이 성공한 경우, 단계 S94가 후속하여 수행될 수 있다.In step S92, an operation of authenticating the input data D_IN based on the part user data D_USR may be performed. For example, the
단계 S94에서, 시드(SEED)에 기초하여 마스터 키(M_KEY)를 생성하는 동작이 수행될 수 있다. 예를 들면, 보안 부품(120)은 인증된 입력 데이터(D_IN)에 포함된 시드(SEED)를 추출할 수 있고, 추출된 시드(SEED)에 기초하여 미리 정해진 방식으로 마스터 키(M_KEY)를 생성할 수 있다. 일 실시예에서 시드(SEED)는 입력 데이터(D_IN)에서 다른 데이터와 독립적으로 포함될 수도 있고, 다른 실시예에서 입력 데이터(D_IN)의 부품 사용자 데이터(D_USR)의 적어도 일부가 마스터 키(M_KEY)를 생성하는데 사용됨으로써 시드(SEED)와 동일한 기능을 수행할 수 있다.In step S94, an operation of generating the master key M_KEY based on the seed SEED may be performed. For example, the
단계 S95에서, 마스터 키(M_KEY)에 기초하여 암호화된 데이터(D_ENC)를 복호화하는 동작이 수행될 수 있다. 예를 들면, 보안 부품(120)은 단계 S94에서 생성된 마스터 키(M_KEY)를 사용하여 미리 정해진 방식으로 암호화된 데이터(D_ENC)를 복호화함으로서 보안 데이터(D_SEC)를 생성할 수 있다.In step S95, an operation of decrypting the encrypted data D_ENC based on the master key M_KEY may be performed. For example, the
단계 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 security data D_SEC may be performed. For example,
도 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)를 통해 서로 데이터를 주고 받을 수 있다.Figure 10 is a block diagram illustrating an example of the
사물 인터넷(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 (IoT) can refer to a network of objects using wired / wireless communication. For example, the Internet (IoT) may be an IoT network system, a Ubiquitous Sensor Network (USN) communication system, a MTC (Machine Type Communications) communication system, an MOC (Machine Oriented Communication) communication system, an M2M D2D (Device to Device) communication system, and the like.
어플리케이션 프로세서(610)는 IoT 기기(600)의 전반적인 동작을 제어할 수 있다. 예를 들면, 어플리케이션 프로세서(610)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 일 실시예에서, 어플리케이션 프로세서(610)는 하나 이상의 코어(core)를 포함할 수 있다. 예를 들면, 어플리케이션 프로세서(610)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 어플리케이션 프로세서(610)는 캐시 메모리를 더 포함할 수 있다.The
센서(630)는 IoT 기기(600)의 외부 환경을 센싱할 수 있다. 일 실시예에서, 센서(630)는 이미지 센서일 수 있고, 이미지 정보를 생성하여 어플리케이션 프로세서(610)에 제공할 수 있다. 다른 실시예에서, 센서(630)는 신체 정보(biometric information)를 감지하는 바이오 센서일 수 있고, 비제한적인 예시로서 지문, 홍체 패턴, 핏줄 패턴, 심박수, 혈당 등을 감지함으로써 감지된 정보에 대응하는 센싱 데이터를 생성할 수 있다. 실시예들에 따라, 센서(630)는 조도(illuminance) 센서, 음향 센서, 가속도 센서 등과 같은 임의의 센서를 포함할 수도 있다.The
노멀 메모리(640)는 IoT 기기(600)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들면, 노멀 메모리(640)는 동적 랜덤 액세스 메모리(Dynamic Random Access Memory; DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory; SRAM) 등과 같은 휘발성 메모리 장치 및/또는 플래시 메모리 장치(flash memory device), 솔리드 스테이트 드라이브(Solid State Drive; SSD) 등과 같은 비휘발성 메모리 장치를 포함할 수 있다.The
보안 메모리(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
보안 모듈(660)은 보안 메모리(650)를 관리할 수 있다. 즉, 보안 모듈(660)은 IoT 기기(600)가 동작하는 과정에서 보안이 필요한 데이터를 보안 메모리(650)에 저장하거나, 보안 메모리(650)로부터 리드하는 역할을 할 수 있다. 예를 들면, 보안 모듈(660)은 도 3의 사용자 인증 처리기(121'), 마스터 키 생성기(122') 및 복호화 처리기(123') 중 적어도 하나의 동작을 수행할 수 있고, 이에 따라 보안 메모리(650)에 저장된 보안 데이터(D_SEC)의 저장 및 독출을 제어할 수 있다. 보안 모듈(660)은, 논리 합성에 의해서 설계되는 로직 블록을 포함할 수도 있고, 프로세서 및 프로세서에 의해서 실행되는 소프트웨어 블록을 포함할 수도 있다.The
디스플레이(670)는 데이터를 출력할 수 있다. 예를 들어, 디스플레이(670)는 센서(630)를 이용하여 센싱된 이미지 데이터를 출력하거나, 어플리케이션 프로세서(610)를 이용하여 연산된 데이터를 출력할 수 있다.
입출력 장치(680)는 터치패드, 키패드, 입력 버튼 등과 같은 IoT 기기(600) 사용자의 입력을 수신하기 위한 부품을 포함할 수도 있고, LED, 스피커 등과 같은 신호를 외부로 출력하기 위한 부품을 포함할 수도 있다.The input /
도 11은 본 개시의 예시적 실시예에 따라 도 10의 IoT 기기(600)의 하드웨어 및 소프트웨어의 예시적인 구조를 나타내는 블록도이다. 도 11에 도시된 바와 같이, IoT 장치(700)는 IoT 장치 어플리케이션(710) 및 통신 모듈(720)을 포함할 수 있고, 통신 모듈(720)은 펌웨어(721), 무선 베이스밴드 칩셋(722) 및 보안 모듈(723)을 포함할 수 있다.FIG. 11 is a block diagram illustrating an exemplary structure of the hardware and software of
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
펌웨어(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
도 12는 본 개시의 예시적 실시예에 따른 보안 부품을 포함하는 제품이 사용되는 네트워크 시스템(900)을 나타내는 도면이다. 도 12를 참조하면, 네트워크 시스템(900)은 통신 연결 장치(910), 통신 연결 장치(910)와 통신 가능하도록 연결되는 복수의 조명 기구들(920, 930), 서버(940), 서버를 관리하기 위한 컴퓨터(950), 통신 기지국(960), 통신망(970) 및 모바일 기기(980)를 포함할 수 있다.12 is a diagram illustrating a
거리 또는 공원 등의 개방적인 외부 공간에 설치되는 복수의 조명 기구들(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 a plurality of
스마트 엔진들(921, 931) 각각은 조명 기구들(920, 930)의 고유한 정보를 보안 정보로서 저장할 수 있다. 스마트 엔진들(921, 931) 각각에 저장된 보안 정보는 상이할 수 있고, 본 개시의 예시적 실시예에 따라 조명 기구들(920, 930)이 설치된 이후에 데이터(예컨대, 도 1의 입력 데이터(D_IN))를 전송함으로써 스마트 엔진들(921, 931)에 안전하게 저장될 수 있다.Each of the
통신 연결 장치(910)는 유/무선 통신이 가능한 액세스 포인트(access point, AP)로서, 통신망(970)과 다른 장비 사이의 통신을 중개할 수 있다. 통신 연결 장치(910)는 유/무선 방식 중 적어도 하나에 의해 통신망(970)과 연결될 수 있으며, 예컨대 조명 기구들(920, 930) 중 적어도 하나의 내부에 기구적으로 수납될 수 있다.The
통신 연결 장치(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
한편, 통신망(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)의 동작 상태를 모니터링하고 관리할 수 있는 소프트웨어 등을 실행할 수 있다.The
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, exemplary embodiments have been disclosed in the drawings and specification. Although the embodiments have been described herein with reference to specific terms, it should be understood that they have been used only for the purpose of describing the technical idea of the present disclosure and not for limiting the scope of the present disclosure as defined in the claims . Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the present invention. Accordingly, the true scope of protection of the present disclosure should be determined by the technical idea of the appended claims.
Claims (10)
상기 입력 데이터에 포함된 부품 사용자 데이터에 기초하여 상기 입력 데이터가 상기 보안 부품의 정당한 사용자에 의해서 제공된 것인지 여부를 판단함으로써, 상기 입력 데이터의 인증을 수행하는 사용자 인증 처리기;
인증된 상기 입력 데이터의 인증된 상기 부품 사용자 데이터에 기초하여 마스터 키를 생성하는 마스터 키 생성기;
상기 마스터 키에 기초하여 인증된 상기 입력 데이터에 포함된 암호화된 데이터를 복호화함으로써 보안 데이터를 생성하는 복호화 처리기; 및
상기 보안 데이터를 저장하는 보안 저장소를 포함하는 보안 부품.A security component included in a product that processes input data for authenticating the product,
A user authentication processor for performing authentication of the input data by determining whether the input data is provided by a legitimate user of the security component based on the part user data included in the input 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 included in the input data authenticated based on the master key; And
And a security store for storing the security data.
상기 부품 사용자 데이터는, 사용자 식별자 및 사용자 키를 포함하고,
상기 사용자 인증 처리기는, 상기 사용자 식별자로부터 평가 키를 생성하고, 상기 평가 키 및 상기 사용자 키가 일치하는 경우 상기 입력 데이터를 인증하는 것을 특징으로 하는 보안 부품.The method according to claim 1,
Wherein the part user data includes a user identifier and a user key,
Wherein 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.
인증된 상기 부품 사용자 데이터는 시드 데이터를 더 포함하고,
상기 마스터 키 생성기는, 상기 시드 데이터에 기초하여 상기 마스터 키를 생성하는 것을 특징으로 하는 보안 부품.The method of claim 2,
Wherein the authenticated part user data further comprises seed data,
Wherein the master key generator generates the master key based on the seed data.
상기 마스터 키 생성기는, 상기 사용자 식별자 및 상기 사용자 키 중 적어도 하나에 기초하여 상기 마스터 키를 생성하는 것을 특징으로 하는 보안 부품.The method of claim 2,
Wherein the master key generator generates the master key based on at least one of the user identifier and the user key.
상기 사용자 인증 처리기, 상기 마스터 키 생성기, 상기 복호화 처리기 및 상기 보안 저장소 중 적어도 하나는, 상기 보안 데이터가 상기 보안 저장소에 저장되면 저장된 상기 보안 데이터가 불변하도록 영구적으로 설정되는 것을 특징으로 하는 보안 부품.The method according to claim 1,
Wherein at least one of the user authentication processor, the master key generator, the decryption processor, and the secure repository is permanently set such that the stored secure data is permanently stored when the secure data is stored in the secure repository.
상기 보안 저장소는, 상기 보안 데이터를 저장하는 OTP(One Time Programmable) 메모리 및 재기입 가능한(rewritable) 메모리 중 적어도 하나를 포함하는 것을 특징으로 하는 보안 부품.The method of claim 5,
Wherein the secure storage comprises at least one of an OTP (One Time Programmable) memory storing the secure data and a rewritable memory.
상기 사용자 인증 처리기, 상기 마스터 키 생성기, 상기 복호화 처리기 및 상기 보안 저장소 중 적어도 하나는, 인증된 상기 입력 데이터에 포함된 잠금 데이터에 따라, 저장된 상기 보안 데이터가 불변하도록 영구적으로 설정되는 것을 특징으로 하는 보안 부품.The method according to claim 1,
Wherein at least one of the user authentication processor, the master key generator, the decryption processor and the secure repository is permanently set such that the stored secure data is unchanged according to the lock data contained in the authenticated input data Security parts.
상기 제품의 외부로부터, 암호화된 데이터 및 부품 사용자 데이터를 포함하는 입력 데이터를 수신하는 통신 인터페이스; 및
상기 부품 사용자 데이터에 기초하여 상기 입력 데이터의 인증을 수행하고, 인증된 상기 입력 데이터의 인증된 상기 부품 사용자 데이터에 기초하여 인증된 상기 입력 데이터의 인증된 상기 암호화된 데이터를 복호화함으로써 상기 보안 데이터를 생성하고, 상기 보안 데이터를 저장하는 보안 부품을 포함하는 제품.A product that responds to an external product certification request based on security data stored therein,
A communication interface for receiving, from outside the product, input data including encrypted data and part user data; And
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, And storing the security data.
상기 보안 데이터는, 상기 제품의 식별자, 증명 정보(certificate), 개인 키(private key) 및 사전 공유 키(pre-shared key) 중 적어도 하나를 포함하는 것을 특징으로 하는 제품.The method of claim 8,
Wherein the secure data comprises at least one of an identifier, a certificate, a private key, and a pre-shared key of the product.
상기 통신 인터페이스는 상기 제품 인증 요청을 수신하고,
상기 보안 데이터에 기초하여 상기 제품 인증 요청에 응답하는 인증 요청 처리기를 더 포함하는 제품.The method of claim 8,
Wherein the communication interface receives the product authentication request,
And an authentication request processor responsive to the product authentication request based on the security data.
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 |
---|---|---|---|
KR1020160154455 | 2016-11-18 | ||
KR20160154455 | 2016-11-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180056351A true KR20180056351A (en) | 2018-05-28 |
KR102296742B1 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200038809A (en) * | 2018-10-04 | 2020-04-14 | 삼성전자주식회사 | Device and method for provisioning of secure information |
Citations (5)
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 |
-
2017
- 2017-04-18 KR KR1020170049805A patent/KR102296742B1/en active IP Right Grant
Patent Citations (5)
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 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200038809A (en) * | 2018-10-04 | 2020-04-14 | 삼성전자주식회사 | Device and method for provisioning of secure information |
Also Published As
Publication number | Publication date |
---|---|
KR102296742B1 (en) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160080154A1 (en) | Method of controlling electronic device using wearable device and method of operating electronic device | |
CN113632417A (en) | Generating an identity of a computing device using a physical unclonable function | |
CN105684482B (en) | The method for establishing trusted identities for agent equipment | |
TWI629611B (en) | Password setting method and lockset system, and lockset matching method and system | |
CN113615125A (en) | Authentication using a secret key | |
CN102576397B (en) | The checking of token and data integrity protection | |
CN104537735A (en) | Electronic lock and unlocking and setting method thereof | |
US9723001B2 (en) | Method and system for state machine security device | |
CN104011728A (en) | Providing access to encrypted data | |
WO2016154496A1 (en) | Challenge response authentication for self encrypting drives | |
TW201310344A (en) | Authentication method for accessing profile of basic input/output system | |
US11210678B2 (en) | Component for provisioning security data and product including the same | |
KR102582266B1 (en) | Electronic device for authenticating application and operating method thereof | |
EP2701101B1 (en) | Information processing devices and information processing methods | |
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 | |
US20190109829A1 (en) | Apparatus and method for storing device data in internet-of-things environment | |
KR102296742B1 (en) | Component for provisioning of security data and product including the same | |
US10365908B2 (en) | Secure reprogramming of smart devices to alter device functionality based on license rights | |
US10242175B2 (en) | Method and system for authentication of a storage device | |
CN111630813B (en) | Electronic device, external electronic device, and system including electronic device and external electronic 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 | |
US20220131687A1 (en) | Device and method for updating immobilizer token in digital key sharing system | |
KR102477263B1 (en) | Apparatus including secure component and method for provisioning of security information to the same |
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 |