KR102377045B1 - SYSTEMS AND METHODS FOR AUTHENTICATING IoT DEVICE THROUGH CLOUD USING HARDWARE SECURITY MODULE - Google Patents

SYSTEMS AND METHODS FOR AUTHENTICATING IoT DEVICE THROUGH CLOUD USING HARDWARE SECURITY MODULE Download PDF

Info

Publication number
KR102377045B1
KR102377045B1 KR1020190171024A KR20190171024A KR102377045B1 KR 102377045 B1 KR102377045 B1 KR 102377045B1 KR 1020190171024 A KR1020190171024 A KR 1020190171024A KR 20190171024 A KR20190171024 A KR 20190171024A KR 102377045 B1 KR102377045 B1 KR 102377045B1
Authority
KR
South Korea
Prior art keywords
certificate
iot
cloud
authentication server
iot device
Prior art date
Application number
KR1020190171024A
Other languages
Korean (ko)
Other versions
KR20210060282A (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 US16/724,207 priority Critical patent/US11336635B2/en
Publication of KR20210060282A publication Critical patent/KR20210060282A/en
Application granted granted Critical
Publication of KR102377045B1 publication Critical patent/KR102377045B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Abstract

본 개시는 하드웨어 보안 모듈을 이용한 IoT 클라우드를 통한 디바이스 인증 시스템을 제공한다. 이 시스템은, IoT 서비스를 제공하는 클라우드에 연결 가능한 IoT 디바이스, 및 상기 IoT 디바이스에 연결되며, 상기 IoT 디바이스의 인증을 위한 공개키 및 개인키 쌍을 생성하는 보안 모듈을 포함하며, 상기 IoT 디바이스는, 디바이스 인증서 생성을 위해 상기 공개키 및 디바이스 식별자를 포함하는 인증서 생성 요청을 상기 클라우드를 통해 인증 서버로 전송한다.The present disclosure provides a device authentication system through an IoT cloud using a hardware security module. The system includes an IoT device connectable to a cloud that provides an IoT service, and a security module that is connected to the IoT device and generates a public key and a private key pair for authentication of the IoT device, the IoT device comprising: , transmits a certificate generation request including the public key and device identifier to the authentication server through the cloud to generate a device certificate.

Description

하드웨어 보안 모듈을 이용한 클라우드를 통한 IoT(Internet of Thing) 디바이스 인증 시스템 및 방법{SYSTEMS AND METHODS FOR AUTHENTICATING IoT DEVICE THROUGH CLOUD USING HARDWARE SECURITY MODULE}SYSTEMS AND METHODS FOR AUTHENTICATING IoT DEVICE THROUGH CLOUD USING HARDWARE SECURITY MODULE}

본 개시는 IoT 클라우드에서의 디바이스 인증 시스템에 관한 것으로, 보다 상세하게는, 하드웨어 보안 모듈을 이용하여 IoT 디바이스 인증을 위해 디바이스 공개키 및 개인키 쌍을 생성하고, 클라우드를 통해 생성된 공개키 및 디바이스 식별자를 이용하여 디바이스 인증서 생성을 통해 디바이스를 인증하는 시스템 및 방법에 관한 것이다.The present disclosure relates to a device authentication system in the IoT cloud, and more particularly, to generate a device public key and private key pair for IoT device authentication using a hardware security module, and to generate a public key and device generated through the cloud A system and method for authenticating a device through device certificate generation using an identifier.

일반적으로 사물 인터넷(IoT, Internet of Thing)은 사물 또는 그 주변의 데이터를 센서 등과 같은 제한된 리소스를 갖는 장치를 이용하여 수집하고, 수집된 데이터를 무선 네트워크를 통해 송수신하는 기술이나 환경을 말하며, 여러 분야에 적용되어 사용되고 있다. 예를 들어, 사물 인터넷은 스마트 공장과 같은 제조 시설, 실시간 진료 및 건강데이터 수집을 위한 의료 기기, 스마트 자동차 등의 교통 시설, 스마트 폰이나 웨어러블 디바이스를 이용한 금융결제 등과 같이 원격에서 실시간으로 다양한 데이터를 관리 및 모니터링 할 수 있는 방법을 제공한다.In general, the Internet of Things (IoT) refers to a technology or environment that collects data of objects or their surroundings using devices with limited resources such as sensors, and transmits and receives the collected data through a wireless network. applied and used in the field. For example, the Internet of Things provides a variety of data in real time remotely, such as manufacturing facilities such as smart factories, medical devices for real-time medical treatment and health data collection, transportation facilities such as smart cars, and financial payments using smart phones or wearable devices. It provides a way to manage and monitor.

하지만 사물 인터넷은 대부분 개방된 인터넷망과 무선 통신을 기반으로 하고 있기 때문에, 네트워크에 연결된 사물 인터넷 디바이스는 그 자체로 악의적인 공격자의 대상이 될 수 있으며, 클라우드 등과 같은 레거시 시스템 공격을 위한 보조적인 공격 대상이 될 수도 있다. 따라서, 사물 인터넷에 연결된 디바이스들의 보안 문제를 확인하거나 디바이스의 보안 상태를 파악하여 각각의 디바이스들을 인증할 필요가 있다. However, since the Internet of Things is mostly based on open Internet networks and wireless communication, Internet-of-things devices connected to the network can themselves become targets of malicious attackers, and are secondary attacks for attacking legacy systems such as the cloud. could be the target. Therefore, it is necessary to verify the security problem of devices connected to the Internet of Things or to identify the security status of the devices to authenticate each device.

본 개시는, 이상 설명한 IoT 보안 클라우드에서의 디바이스 인증을 위해, 공개키 및 개인키 쌍을 생성하는 하드웨어 보안 모듈을 통해 디바이스를 인증할 수 있는 시스템을 제공한다.The present disclosure provides a system capable of authenticating a device through a hardware security module that generates a public key and a private key pair for device authentication in the IoT security cloud described above.

본 개시의 일 실시예에 따른 하드웨어 보안 모듈을 이용한 IoT 클라우드를 통한 디바이스 인증 시스템은, IoT 서비스를 제공하는 클라우드에 연결 가능한 IoT 디바이스, 및 상기 IoT 디바이스에 연결되며, 상기 IoT 디바이스의 인증을 위한 공개키 및 개인키 쌍을 생성하는 보안 모듈을 포함하며, 상기 IoT 디바이스는, 디바이스 인증서 생성을 위해 상기 공개키 및 디바이스 식별자를 포함하는 인증서 생성 요청을 상기 클라우드를 통해 인증 서버로 전송할 수 있다.A device authentication system through an IoT cloud using a hardware security module according to an embodiment of the present disclosure is connected to an IoT device connectable to a cloud providing an IoT service, and the IoT device, and is disclosed for authentication of the IoT device and a security module for generating a key and private key pair, wherein the IoT device may transmit a certificate generation request including the public key and device identifier to the authentication server through the cloud to generate a device certificate.

일 실시예에 따르면, 상기 IoT 디바이스가 상기 인증서 생성 요청에 따라 상기 인증 서버가 생성한 디바이스 인증서를 수신하며, 상기 보안 모듈은 상기 개인키 및 상기 디바이스 인증서를 저장할 수 있다.According to an embodiment, the IoT device may receive the device certificate generated by the authentication server according to the certificate generation request, and the security module may store the private key and the device certificate.

일 실시예에 따르면, 상기 보안 모듈은 상기 개인키 및 상기 디바이스 인증서를 저장하는 보안 저장소를 더 포함할 수 있다.According to an embodiment, the security module may further include a secure storage for storing the private key and the device certificate.

일 실시예에 따르면, 상기 IoT 디바이스는, 상기 인증서 생성 요청을 암호화하여 상기 인증 서버로 전송하고, 상기 인증 서버가 상기 암호화된 인증서 생성 요청을 복호화하여 상기 인증서 생성 요청에 따라 상기 디바이스 인증서를 생성할 수 있다.According to an embodiment, the IoT device encrypts the certificate generation request and transmits it to the authentication server, and the authentication server decrypts the encrypted certificate generation request to generate the device certificate according to the certificate generation request. can

본 개시의 다른 실시예에 따르면, IoT 클라우드를 통한 디바이스 인증을 지원하는 하드웨어 보안 모듈은, 클라우드에 연결 가능한 IoT 디바이스에 연결되는 입출력 모듈을 포함하는 MCU(Micro Controller), 및 상기 IoT 디바이스의 인증을 위한 공개키 및 개인키 쌍을 생성하는 보안 요소를 포함하고, 상기 보안 요소는 상기 입출력 모듈을 통해 상기 공개키를 IoT 디바이스에 전송하여, 상기 IoT 디바이스가 디바이스 인증서 생성을 위해 상기 공개키를 포함하는 인증서 생성 요청을 상기 클라우드를 통해 인증 서버로 전송하도록 구성된다. According to another embodiment of the present disclosure, a hardware security module supporting device authentication through an IoT cloud includes an MCU (Micro Controller) including an input/output module connected to an IoT device connectable to the cloud, and authentication of the IoT device. and a security element for generating a public key and private key pair for and send a certificate generation request to the authentication server via the cloud.

일 실시예에 따르면, 상기 IoT 디바이스가 상기 인증서 생성 요청에 따라 상기 인증 서버가 생성한 디바이스 인증서를 수신하며, 상기 하드웨어 보안 모듈은 상기 개인키 및 상기 디바이스 인증서를 저장할 수 있다.According to an embodiment, the IoT device may receive the device certificate generated by the authentication server according to the certificate generation request, and the hardware security module may store the private key and the device certificate.

일 실시예에 따르면, 상기 하드웨어 보안 모듈은, 상기 개인키 및 상기 디바이스 인증서를 저장하는 보안 저장소를 더 포함할 수 있다.According to an embodiment, the hardware security module may further include a secure storage for storing the private key and the device certificate.

본 개시의 또 다른 실시예에 따르면, 하드웨어 보안 모듈을 이용한 IoT 클라우드를 통한 디바이스 인증 방법은, IoT 서비스를 제공하는 클라우드에 연결 가능한 IoT 디바이스를 준비하는 단계, 상기 IoT 디바이스에 연결된 보안 모듈에 의해, 상기 IoT 디바이스의 인증을 위한 공개키 및 개인키 쌍을 생성하는 단계, 및 상기 IoT 디바이스에 의해, 디바이스 인증서 생성을 위해 상기 공개키 및 디바이스 식별자를 포함하는 인증서 생성 요청을 상기 클라우드를 통해 인증 서버로 전송하는 단계를 포함한다.According to another embodiment of the present disclosure, a device authentication method through an IoT cloud using a hardware security module includes the steps of preparing an IoT device connectable to a cloud that provides an IoT service, by a security module connected to the IoT device, generating a public key and a private key pair for authentication of the IoT device; and, by the IoT device, a certificate generation request including the public key and device identifier for generating a device certificate to an authentication server through the cloud It includes the step of transmitting.

일 실시예에 따르면, 상기 방법은, 상기 IoT 디바이스에 의해, 상기 인증서 생성 요청에 따라 상기 인증 서버가 생성한 디바이스 인증서를 수신하는 단계; 및 상기 보안 모듈에 의해, 상기 개인키 및 상기 디바이스 인증서를 저장하는 단계를 더 포함할 수 있다.According to an embodiment, the method includes: receiving, by the IoT device, a device certificate generated by the authentication server according to the certificate generation request; and storing, by the security module, the private key and the device certificate.

본 개시의 다양한 실시예들에 따르면, IoT 클라우드를 통한 디바이스 인증에 있어서 디바이스에 장착된 하드웨어 보안 모듈을 통해 보안 키를 생성하고, 보안 키를 이용하여 생성된 인증서를 저장 및 관리함으로써, IoT 클라우드에서 디바이스 인증에 있어서 한층 더 강화된 보안 환경을 제공할 수 있다. According to various embodiments of the present disclosure, in device authentication through the IoT cloud, by generating a security key through a hardware security module mounted on the device, and storing and managing the generated certificate using the security key, in the IoT cloud It is possible to provide a further strengthened security environment in device authentication.

본 개시의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

본 개시의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 개시의 일 실시예에 따른 IoT 클라우드를 통한 디바이스 인증을 제공하는 시스템을 나타내는 도면이다.
도 2는 본 개시의 일 실시예에 따른 하드웨어 보안 모듈의 상세 구성을 나타내는 도면이다.
도 3은 본 개시의 일 실시예에 따른 하드웨어 보안 모듈을 이용하여 디바이스 인증서를 생성하는 방법을 나타내는 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 서비스 인증서를 생성하는 방법을 나타내는 흐름도이다.
도 5는 본 개시의 일 실시예에 따른 플랫폼 인증서를 생성하는 방법을 나타내는 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 IoT 클라우드를 통한 디바이스 인증을 제공하는 방법을 나타내는 흐름도이다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present disclosure will be described with reference to the accompanying drawings described below, in which like reference numerals denote like elements, but are not limited thereto.
1 is a diagram illustrating a system for providing device authentication through an IoT cloud according to an embodiment of the present disclosure.
2 is a diagram illustrating a detailed configuration of a hardware security module according to an embodiment of the present disclosure.
3 is a flowchart illustrating a method of generating a device certificate using a hardware security module according to an embodiment of the present disclosure.
4 is a flowchart illustrating a method of generating a service certificate according to an embodiment of the present disclosure.
5 is a flowchart illustrating a method of generating a platform certificate according to an embodiment of the present disclosure.
6 is a flowchart illustrating a method of providing device authentication through an IoT cloud according to an embodiment of the present disclosure.

이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다. Hereinafter, specific contents for carrying out the present disclosure will be described in detail with reference to the accompanying drawings. However, in the following description, if there is a risk of unnecessarily obscuring the gist of the present disclosure, detailed descriptions of well-known functions or configurations will be omitted.

첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다. In the accompanying drawings, the same or corresponding components are assigned the same reference numerals. In addition, in the description of the embodiments below, overlapping description of the same or corresponding components may be omitted. However, even if descriptions regarding components are omitted, it is not intended that such components are not included in any embodiment.

개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Advantages and features of the disclosed embodiments, and methods of achieving them, will become apparent with reference to the embodiments described below in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the present embodiments allow the present disclosure to be complete, and those of ordinary skill in the art to which the present disclosure pertains. It is only provided to fully inform the person of the scope of the invention.

본 개시에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. Terms used in the present disclosure will be briefly described, and the disclosed embodiments will be described in detail.

본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present disclosure are selected as currently widely used general terms as possible while considering the functions in the present disclosure, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the terms used in the present disclosure should be defined based on the meaning of the term and the contents of the present disclosure, rather than the simple name of the term.

본 개시에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.Expressions in the singular in this disclosure include plural expressions unless the context clearly dictates the singular. Also, the plural expression includes the singular expression unless the context clearly dictates the plural.

본 개시의 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. In the entirety of the present disclosure, when a part 'includes' a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.

본 개시에서, 용어 '모듈(module)'은 소프트웨어 구성요소, 하드웨어 구성요소 또는 이들의 조합을 의미하며, '모듈'은 특정 역할이나 기능을 수행하기 위해 구성될 수 있다. 그렇지만 '모듈'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 본 개시에서 설명되는 구성요소들과 '모듈'들은 그 내부에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈'들로 결합되거나 추가적인 구성요소들과 '모듈'들로 더 분리될 수 있다.In the present disclosure, the term 'module' means a software component, a hardware component, or a combination thereof, and the 'module' may be configured to perform a specific role or function. However, the term 'module' is not limited to software or hardware. A 'module' may be configured to reside in an addressable storage medium, or may be configured to execute one or more processors. Thus, as an example, a 'module' includes components such as software components, object-oriented software components, class components and task components, and processes, functions, properties, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. The components and 'modules' described in the present disclosure have functions provided therein may be combined into a smaller number of components and 'modules' or may be further separated into additional components and 'modules'. .

본 개시에서, '보안 모듈(security module)'은 IoT 디바이스 인증을 위한 키 생성, 암호화 또는 보안 모니터링 기능과 같은 임의의 보안 기능을 실행하는 하드웨어 구성요소, 소프트웨어 구성요소 또는 이들의 조합을 의미할 수 있다. 이하 본 개시의 실시예들에 있어서 하드웨어 보안 모듈을 설명하는 경우, 해당 보안 모듈은 IoT 디바이스에 내장 또는 결합될 수 있는 형태로 제작된 경량의 하드웨어 보안 모듈을 의미할 수 있다.In the present disclosure, a 'security module' may refer to a hardware component, a software component, or a combination thereof that executes any security function such as key generation, encryption, or security monitoring function for IoT device authentication. there is. Hereinafter, when a hardware security module is described in embodiments of the present disclosure, the corresponding security module may refer to a lightweight hardware security module manufactured in a form that can be embedded or combined in an IoT device.

본 개시에서, '보안 요소(security element)'는 IoT 디바이스 인증을 위한 키의 생성 및 저장, 암호화, 암호화 가속 기능 또는 보안 모니터링 기능과 같은 임의의 보안 기능을 실행하는 하드웨어 구성요소를 의미할 수 있다.In the present disclosure, a 'security element' may mean a hardware component that executes any security function, such as generation and storage of a key for authentication of an IoT device, encryption, an encryption acceleration function, or a security monitoring function. .

본 개시에서, '보안 저장소(security storage)'는 IoT 디바이스의 인증을 위한 인증서, 보안 기능을 실행하는 펌웨어(firmware), 또는 기타 보안 관련 데이터를 저장하는 메모리 또는 다른 형태의 저장 구성요소를 의미할 수 있다.In the present disclosure, 'security storage' may mean a memory or other type of storage component that stores a certificate for authentication of an IoT device, firmware that executes a security function, or other security-related data. can

본 개시에서, '시스템'은 하나 이상의 IoT 디바이스, 컴퓨팅 장치, 보안 모듈, 또는 이들이 결합된 형태를 포함하는 구성을 지칭할 수 있으며, 예를 들어, 하나 이상의 컴퓨팅 장치, 서버 장치, 또는 클라우드 서비스를 제공하는 분산된 컴퓨팅 장치를 지칭할 수 있으나, 이에 한정되는 것은 아니다.In the present disclosure, a 'system' may refer to a configuration including one or more IoT devices, computing devices, security modules, or a combination thereof, for example, one or more computing devices, server devices, or cloud services. It may refer to a distributed computing device that provides, but is not limited thereto.

본 개시에서, '클라우드(cloud)' 또는 '클라우드 환경(cloud environment)'는 , 네트워크 상에서 서비스로서 확장 가능한 컴퓨팅 자원들을 제공하는 클라우드 컴퓨팅 시스템 또는 클라우드 컴퓨팅 인프라스트럭쳐(cloud computing infrastructure)를 지칭할 수 있다. 구체적으로, 클라우드 컴퓨팅은, 컴퓨팅 자원과 그 내부의 기술적인 구조(예를 들어, 서버, 저장소, 네트워크 등) 사이의 추상화(abstraction)을 제공하는 컴퓨팅 능력을 의미할 수 있으며, 이를 이용하여, 서비스 제공자와의 상호 작용이나 관리 노력을 최소화하면서 신속하게 제공될 수 있는 구성 가능한 컴퓨팅 자원의 공유 풀에 대한 온디맨드(on-demand) 네트워크 엑세스를 제공할 수 있다. 이에 따라 사용자는, 클라우드에서, 컴퓨팅 자원을 제공하는데 사용되는 물리적 시스템(또는 시스템의 위치) 등을 알 필요 없이, 가상의 컴퓨팅 자원들(예를 들어, 저장소, 데이터, 애플리케이션, 및 가상화된 컴퓨팅 시스템 등)에 접근할 수 있다. 이하 본 개시의 다양한 실시예들을 설명함에 있어서, 클라우드는 '플랫폼(또는 IoT 플랫폼)'과 상호 교환적으로 사용되거나, 플랫폼의 적어도 일부를 지칭할 수 있다.In the present disclosure, 'cloud' or 'cloud environment' may refer to a cloud computing system or cloud computing infrastructure that provides scalable computing resources as a service on a network. . Specifically, cloud computing may refer to a computing capability that provides an abstraction between a computing resource and a technical structure therein (eg, server, storage, network, etc.), and using it, It can provide on-demand network access to a shared pool of configurable computing resources that can be provisioned quickly with minimal interaction or management effort with providers. Accordingly, a user can use virtual computing resources (eg, storage, data, applications, and virtualized computing systems) in the cloud without having to know the physical system (or location of the system) used to provide the computing resources. etc) can be accessed. Hereinafter, in describing various embodiments of the present disclosure, the cloud may be used interchangeably with a 'platform (or IoT platform)' or may refer to at least a part of a platform.

도 1은 본 개시의 일 실시예에 따른 IoT 클라우드를 통한 디바이스 인증을 제공하는 시스템을 나타내는 도면이다. 1 is a diagram illustrating a system for providing device authentication through an IoT cloud according to an embodiment of the present disclosure.

도시된 바와 같이, IoT 클라우드에서의 디바이스 인증을 제공하는 시스템(100)은, 하나 이상의 IoT 디바이스(110), 인증 센터(140), 인증 서버(150), 클라우드(160), IoT 서비스(또는 IoT 서비스 서버)(170), 게이트웨이(130), 보안 모듈(120)을 포함할 수 있다. As shown, the system 100 for providing device authentication in the IoT cloud includes one or more IoT devices 110 , an authentication center 140 , an authentication server 150 , a cloud 160 , an IoT service (or IoT). service server) 170 , a gateway 130 , and a security module 120 .

IoT 디바이스(110)는, 게이트웨이(130)를 통해, IoT 서비스 서버(170)에 연결된 클라우드(160)에 연결될 수 있다. 도 1에서는, IoT 디바이스(110)가 게이트웨이(130)를 통해 IoT 서비스(170)를 제공하는 클라우드(160)에 연결된 형태로 도시되어 있으나, 이에 한정되지 않으며, IoT 디바이스(110)가 게이트웨이(130)를 거치지 않고 클라우드(160)에 직접 접속하여 IoT 서비스(170)를 제공받을 수 있다. 도 1에서 설명의 편의상 하나의 IoT 디바이스(110)가 도시되었지만, 이에 한정되는 것은 아니며, 2개 이상의 IoT 디바이스(110)가 클라우드(160) 또는 게이트웨이(130)에 연결될 수 있다.The IoT device 110 may be connected to the cloud 160 connected to the IoT service server 170 through the gateway 130 . In FIG. 1 , the IoT device 110 is illustrated as being connected to the cloud 160 that provides the IoT service 170 through the gateway 130 , but is not limited thereto, and the IoT device 110 is connected to the gateway 130 . ), by directly accessing the cloud 160 without going through the IoT service 170 can be provided. Although one IoT device 110 is illustrated in FIG. 1 for convenience of description, the present invention is not limited thereto, and two or more IoT devices 110 may be connected to the cloud 160 or the gateway 130 .

클라우드(160)는, 클라우드(160)에 연결된 IoT 디바이스와 다른 서버들, 컴퓨팅 장치들, 시스템들 사이의 하드웨어 연결, 서로 다른 디바이스, 서버, 장치, 시스템들 사이의 통신 프로토콜 처리, IoT 디바이스, 서비스 및 사용자용 보안과 인증, IoT 디바이스가 수집하는 데이터의 취합, 시각화 및 분석, 이들 기능을 다른 서비스와 통합하는 기능을 제공할 수 있다. The cloud 160 is an IoT device connected to the cloud 160 and other servers, computing devices, hardware connection between systems, communication protocol processing between different devices, servers, apparatuses, and systems, IoT devices, and services and security and authentication for users, aggregation, visualization and analysis of data collected by IoT devices, and the ability to integrate these functions with other services.

일 실시예에서, 클라우드(160)는, IoT 디바이스(110)의 관리를 위한 데이터를 저장 및 전송하는 기능을 제공할 수 있다. IoT 디바이스(110)의 관리에 사용되는 데이터는, IoT 디바이스의 온보딩(onboarding)에 사용되는 데이터, IoT 디바이스의 관리에 사용되는 데이터, 및 IoT 디바이스의 보안 실행에 사용되는 데이터를 포함할 수 있다. 예를 들어, 클라우드(160)에 저장되는 데이터는, IoT 디바이스의 식별자(ID), IoT 디바이스의 온보딩을 위한 세션 키(session key), IoT 디바이스의 온보딩 제어에 사용되는 IoT 방화벽(firewall) 규칙, IoT 디바이스들과 송수신되는 다양한 데이터를 포함할 수 있다. 또한, 클라우드(160)는, IoT 디바이스(110)에게 제공될 서비스에 관한 데이터를 저장 및 전송할 수 있다. 예를 들어, 클라우드(160)에 저장되는 데이터는, 서비스 등록에 필요한 데이터, 서비스 식별자(ID), 서비스 제공을 위한 세션 키, IoT 디바이스들과 IoT 서비스(서버) 사이에 송수신되는 다양한 데이터를 포함할 수 있다.In an embodiment, the cloud 160 may provide a function of storing and transmitting data for management of the IoT device 110 . The data used for management of the IoT device 110 may include data used for onboarding of the IoT device, data used for management of the IoT device, and data used for secure execution of the IoT device. . For example, data stored in the cloud 160 includes an identifier (ID) of an IoT device, a session key for onboarding of the IoT device, and an IoT firewall used for onboarding control of the IoT device. It may include rules and various data transmitted/received to/from IoT devices. In addition, the cloud 160 may store and transmit data related to a service to be provided to the IoT device 110 . For example, the data stored in the cloud 160 includes data required for service registration, a service identifier (ID), a session key for service provision, and various data transmitted and received between IoT devices and the IoT service (server). can do.

게이트웨이(130)는, IoT 디바이스(110)과 클라우드(160) 사이의 데이터를 송수신하는 기능을 제공한다. 예를 들어, 게이트웨이(130)는, IoT 디바이스(110)와 클라우드(160) 사이에 송수신되는 데이터를 무선 또는 유선의 통신 채널을 통해 전송할 수 있는 무선 및/또는 유선 통신 인터페이스를 포함할 수 있다. 게이트웨이(130)는, 예를 들어, IEEE 802.11 표준에 따른 Wi-Fi, 블루투스, LoRa(Long Range)와 같은 저전력 광역 네트워크(LPWAN: low-power wide-area network)를 포함하는 무선 네트워크의 일부를 형성하는 통신 프로토콜에 따른 통신 기능을 실행할 수 있다.The gateway 130 provides a function of transmitting and receiving data between the IoT device 110 and the cloud 160 . For example, the gateway 130 may include a wireless and/or wired communication interface capable of transmitting data transmitted/received between the IoT device 110 and the cloud 160 through a wireless or wired communication channel. The gateway 130 includes, for example, a part of a wireless network including a low-power wide-area network (LPWAN) such as Wi-Fi, Bluetooth, and LoRa (Long Range) according to the IEEE 802.11 standard. A communication function according to the communication protocol to be formed can be executed.

IoT 서비스(170)는, IoT 디바이스(110)와 연관된 다양한 서비스를 제공하는 하나 이상의 컴퓨팅 장치를 포함하는 서버 장치일 수 있다. 예를 들어, IoT 서비스(170)는, 스마트 홈서비스, 스마트 카 모니터링 서비스 등을 포함하는 다양한 서비스를 클라우드(160)를 통해 IoT 디바이스(110)에 제공할 수 있다. IoT 서비스(170)는, 다양한 IoT 디바이스(예를 들어, 홈 가전 제품, 스마트 카 디바이스 등)로부터 디바이스 상태정보, 센싱 및 수집된 데이터, 서비스를 위한 사용자 정보 등을 전달받은 클라우드(160)와 연동하여, 사용자에게 맞춤 서비스를 클라우드(160)를 통해 IoT 디바이스(110)에 제공할 수 있다.The IoT service 170 may be a server device including one or more computing devices that provide various services related to the IoT device 110 . For example, the IoT service 170 may provide various services including a smart home service and a smart car monitoring service to the IoT device 110 through the cloud 160 . The IoT service 170 interworks with the cloud 160 that receives device state information, sensed and collected data, and user information for services from various IoT devices (eg, home appliances, smart car devices, etc.) Accordingly, a customized service to the user may be provided to the IoT device 110 through the cloud 160 .

보안 모듈(120)은, 보안 키의 생성, IoT 디바이스(110)의 인증, 암호화 등의 보안 기능을 실행할 수 있는 하드웨어 또는 하드웨어와 소프트웨어가 결합된 구성을 포함하는 장치이다. 예를 들어, 보안 모듈(120)은, IoT 디바이스(110)에 내장된 회로 기판과 같은 하드웨어 부품이거나, IoT 디바이스(110)에 탈부착 가능하도록 구성된 경량의 하드웨어 장치일 수 있다. 보안 모듈(120)은, IoT 디바이스의 인증을 위한 공개키 및 개인키 쌍을 생성할 수 있다. IoT 디바이스(110)는 보안 모듈(120)에서 생성된 공개키와 디바이스 식별자를 포함하는 인증서 생성 요청을 클라우드(160)를 통해 인증 센터(140)로 전송할 수 있다. 인증서 생성 요청 신호는, 메시지 타입, 메시지 길이, 디바이스 식별자(예를 들어, IoT 디바이스의 시리얼 번호), 게이트웨이 ID, UID(unique ID; 예를 들어, IoT 디바이스 내부에 실장된 하드웨어 칩의 ID) 등을 포함할 수 있다. 이 경우, 인증서 생성 요청에는 IoT 디바이스에 대한 정보가 포함되어 있으므로 보안을 강화하기 위해 인증서 생성 요청 신호 자체가 암호화될 수 있다.The security module 120 is a device including hardware or a combination of hardware and software capable of executing security functions such as generation of a security key, authentication of the IoT device 110, and encryption. For example, the security module 120 may be a hardware component such as a circuit board embedded in the IoT device 110 or a lightweight hardware device configured to be detachably attached to the IoT device 110 . The security module 120 may generate a public key and a private key pair for authentication of the IoT device. The IoT device 110 may transmit a certificate generation request including the public key and device identifier generated by the security module 120 to the authentication center 140 through the cloud 160 . The certificate generation request signal includes a message type, message length, device identifier (eg, serial number of the IoT device), gateway ID, UID (unique ID; for example, ID of a hardware chip mounted inside the IoT device), etc. may include In this case, since the certificate generation request includes information about the IoT device, the certificate generation request signal itself may be encrypted to enhance security.

인증 센터(140)는, 검증 기관(authentication authority)의 역할을 실행하는 하나 이상의 컴퓨팅 장치를 포함하는 서버 장치일 수 있다. 인증 센터(140)는, IoT 디바이스(110)로부터 수신한 공개키와 디바이스 식별자를 포함하는 인증서 생성 요청을 인증 서버(114)로 전송할 수 있다. The authentication center 140 may be a server device comprising one or more computing devices executing the role of an authentication authority. The authentication center 140 may transmit a certificate generation request including the public key and the device identifier received from the IoT device 110 to the authentication server 114 .

이상 실시예에서는, IoT 디바이스(110)가 클라우드(160)를 통해 인증 센터(140)로 인증서 생성 요청 신호를 전송하는 것으로 기술하였으나, 이에 한정되는 것은 아니다. 다른 실시예에서, IoT 디바이스(110)는 클라우드(160)를 통해 인증서 생성 요청 신호를 인증서버(150)로 직접 전송할 수도 있다.In the above embodiment, it has been described that the IoT device 110 transmits a certificate generation request signal to the authentication center 140 through the cloud 160 , but the present invention is not limited thereto. In another embodiment, the IoT device 110 may directly transmit a certificate generation request signal to the authentication server 150 through the cloud 160 .

인증 서버(150)는, 인증 기관(certification authority)의 역할을 실행하는 하나 이상의 컴퓨팅 장치를 포함하는 서버 장치일 수 있다. 인증 서버(150)는, IoT 디바이스(110) 또는 인증 센터(140)로부터 수신한 인증서 생성 요청에 포함된 공개키와 디바이스 식별자에 대한 검증을 진행할 수 있다. 예를 들어, IoT 디바이스(110)디바이스가 클라우드(160)에 온보딩될 때 해당 디바이스 정보(예를 들어, 디바이스 식별자)를 클라우드(160)에 등록할 수 있다. 따라서, 인증 서버(150)는, 클라우드(160)로부터 사전 등록된 디바이스 식별자를 포함하는 디바이스 정보를 제공받을 수 있다. 인증 서버(150)는, 클라우드(160)로부터 수신한 디바이스 식별자와 인증 센터(140)로부터 수신한 인증서 생성 요청에 포함된 디바이스 식별자를 비교함으로써, 해당 디바이스의 유효성을 검증할 수 있다. 이와 함께, 인증 서버(150)는, 디바이스 식별자의 검증을 통해 인증서 생성 요청에 포함된 공개키에 대한 검증도 진행할 수 있다.The certification server 150 may be a server device including one or more computing devices executing the role of a certification authority. The authentication server 150 may verify the public key and the device identifier included in the certificate generation request received from the IoT device 110 or the authentication center 140 . For example, when the IoT device 110 device is onboarded to the cloud 160 , corresponding device information (eg, a device identifier) may be registered in the cloud 160 . Accordingly, the authentication server 150 may receive device information including a pre-registered device identifier from the cloud 160 . The authentication server 150 may verify the validity of the corresponding device by comparing the device identifier received from the cloud 160 with the device identifier included in the certificate generation request received from the authentication center 140 . At the same time, the authentication server 150 may also verify the public key included in the certificate generation request through the verification of the device identifier.

인증서 생성 요청이 암호화된 상태이며, 인증 서버(150)는, 암호화된 인증서 생성 요청을 복호화한다. 이 경우, 인증서버(150)는, 복호화된 인증서 생성 요청 신호에 포함된 메시지 타입을 통해 해당 신호가 인증서 생성 요청 신호임을 인식할 수 있다.The certificate generation request is in an encrypted state, and the authentication server 150 decrypts the encrypted certificate generation request. In this case, the authentication server 150 may recognize that the corresponding signal is the certificate generation request signal through the message type included in the decrypted certificate generation request signal.

인증 서버(150)는 공개키와 디바이스 식별자에 대한 검증이 정상으로 판단되면 인증서를 생성할 수 있다. 인증서버(150)는, 인증서 생성 요청 신호의 일부 정보가 포함된 인증서를 생성할 수 있다. 일 실시예에서, 인증서는, 디바이스 ID, UID(unique ID), 난수, 트랜잭션 ID, 유효 시간, 유효 횟수, 접근 제어 정책, 암호화 알고리즘을 포함할 수 있다. 여기서, 트랜잭션 ID는, 인증서버(150)가 인증서 생성 요청 신호를 수신한 순서에 따라 생성되는 ID이다. 유효 시간은 인증서의 유효 기간이며, 유효 횟수는, 인증서가 저장된 IoT 디바이스가 특정 위치에서 사용되기 위해 특정 위치에 설치된 게이트웨이와 통신할 수 있는 횟수를 나타낸다. 접근 제어 정책은, IoT 디바이스(110)가 접근 가능한 게이트웨이(또는 게이트웨이 ID)를 나타낸다. 암호화 알고리즘은, 인증서버(150)가 인증서를 암호화할 때 사용하는 암호화 알고리즘을 나타낸다.The authentication server 150 may generate a certificate when it is determined that the verification of the public key and the device identifier is normal. The authentication server 150 may generate a certificate including some information of the certificate generation request signal. In an embodiment, the certificate may include a device ID, a unique ID (UID), a random number, a transaction ID, a valid time, a valid number of times, an access control policy, and an encryption algorithm. Here, the transaction ID is an ID generated according to the order in which the authentication server 150 receives the certificate generation request signal. The validity time is the validity period of the certificate, and the validity number represents the number of times that the IoT device in which the certificate is stored can communicate with the gateway installed in the specific location to be used in the specific location. The access control policy indicates a gateway (or gateway ID) accessible to the IoT device 110 . The encryption algorithm indicates an encryption algorithm used when the authentication server 150 encrypts a certificate.

또한, 인증 서버(150)는, 생성된 인증서에 서명을 실행하여 서명된 인증서를 생성할 수도 있다. 인증 서버(150)가 생성한 인증서 자체가 복제될 수 있기 때문에, 이를 방지하기 위해 인증 서버(150)는 인증서에 서명을 실행함으로써, 해당 인증서가 인증 서버(150)에 의해 생성된 것임을 증명할 수 있다. Also, the authentication server 150 may generate a signed certificate by signing the generated certificate. Since the certificate itself generated by the authentication server 150 can be duplicated, in order to prevent this, the authentication server 150 can prove that the certificate is generated by the authentication server 150 by signing the certificate. .

인증 서버(150)는, 생성된 인증서를 인증 센터(140) 및 클라우드(160)를 통해 IoT 디바이스(110)로 전송할 수 있다. 이 경우 인증 서버(150) 또는 인증센터(140)는, 인증서의 보안을 강화하기 위해 해당 인증서를 암호화할 수 있다. 예를 들어, 인증 서버(150) 또는 인증센터(140)는, 인증서에 포함된 암호화 알고리즘으로 인증서(또는 서명된 인증서)를 암호화할 수 있다.The authentication server 150 may transmit the generated certificate to the IoT device 110 through the authentication center 140 and the cloud 160 . In this case, the authentication server 150 or the authentication center 140 may encrypt the corresponding certificate in order to strengthen the security of the certificate. For example, the authentication server 150 or the authentication center 140 may encrypt a certificate (or a signed certificate) with an encryption algorithm included in the certificate.

IoT 디바이스(110)는 인증서버(150) 또는 인증센터(140)로부터 수신한 인증서와 개인키를 보안 모듈(122)에 저장할 수 있다. 만약 수신된 인증서가 암호화된 상태이면, IoT 디바이스(110)는 암호화된 인증서(또는 서명된 인증서)를 복호화할 수 있다. 인증서 자체는 인증서가 암호화될 때 사용된 암호화 알고리즘 정보를 포함하기 때문에, 해당 암호화 알고리즘을 이용하여 암호화된 인증서를 복호화할 수 있다. 또한, IoT 디바이스(110)는, 인증서를 저장하기 전에 해당 인증서를 확인할 수 있다. 인증서의 확인은, 인증서에 포함된 정보(예를 들어, UID)와 인증서 생성 요청 신호에 포함된 정보를 비교하여 해당 정보의 동일성을 확인하는 것일 수 있다.The IoT device 110 may store the certificate and the private key received from the authentication server 150 or the authentication center 140 in the security module 122 . If the received certificate is in an encrypted state, the IoT device 110 may decrypt the encrypted certificate (or signed certificate). Since the certificate itself includes encryption algorithm information used when the certificate is encrypted, the encrypted certificate can be decrypted using the corresponding encryption algorithm. Also, the IoT device 110 may check the corresponding certificate before storing the certificate. The verification of the certificate may be checking the identity of the corresponding information by comparing information (eg, UID) included in the certificate with information included in the certificate generation request signal.

도 2는 본 개시의 일 실시예에 따른 하드웨어 보안 모듈의 상세 구성을 나타내는 도면이다.2 is a diagram illustrating a detailed configuration of a hardware security module according to an embodiment of the present disclosure.

도시된 바와 같이, 보안 모듈(120)은, MCU(Micro Controller Unit)(122), 보안 요소(124), 및 보안 저장소(126)를 포함할 수 있다. As shown, the security module 120 may include a micro controller unit (MCU) 122 , a secure element 124 , and a secure storage 126 .

MCU(122)는, 예를 들어 마이크로프로세서와 입출력 모듈을 하나의 칩으로 만들어, 정해진 기능을 수행하는 하드웨어 장치일 수 있다. 일 예에서, MCU(122)는 CPU 코어, 메모리, 프로그램 가능한 입/출력을 포함할 수 있다. MCU(122)의 메모리는, NOR 플래시 메모리, EPROM, OTP ROM 등과 같이 사전결정된 기능을 수행하도록 프로그래밍된 기계어 코드를 저장할 수 있다. 또한, MCU(122)의 메모리는, 기계어 코드가 실행되기 위한 변수나 데이터 저장을 위해 제한된 용량의 SRAM을 포함할 수 있다. The MCU 122 may be, for example, a hardware device that performs a predetermined function by making a microprocessor and an input/output module into one chip. In one example, MCU 122 may include a CPU core, memory, and programmable input/output. The memory of the MCU 122 may store a machine code programmed to perform a predetermined function, such as a NOR flash memory, an EPROM, an OTP ROM, or the like. In addition, the memory of the MCU 122 may include a limited capacity SRAM for storing a variable or data for executing a machine code.

일 실시예에서, MCU(210)는, 보안 요소(220) 및 보안 저장소(230)을 운영 및 제어하는 기능을 실행하는 보안 매니저를 실행할 수 있다. MCU(210)는 암호화를 실행하는 암호화 엔진을 저장, 설치 및/또는 실행할 수 있다. 암호화 엔진은 암호화 알고리즘을 실행하는 소프트웨어, 하드웨어 또는 이들의 조합일 수 있다.In one embodiment, MCU 210 may execute a security manager executing functions to operate and control secure element 220 and secure storage 230 . The MCU 210 may store, install and/or execute an encryption engine that executes encryption. A cryptographic engine may be software that executes an encryption algorithm, hardware, or a combination thereof.

보안 요소(124)은, 디바이스 인증을 위한 키 생성, 암호화 엔진의 가속기 기능 등을 실행하기 위한 하드웨어 장치로서, 예를 들어, TPM(Trusted Platform Modul), HSM(Hardware Security Module)과 같이 보안 기능을 실행하는 보안 요소를 포함할 수 있다. 예를 들어, 보안 요소(124)는, 디바이스 인증을 위해 PKI(Public Key Infrastructure) 방식에 따른 공개키와 개인키의 쌍을 생성할 수 있다. 도 2에서는, 보안 요소(124)가 MCU(122)의 외부에 구성되어 있는 것으로 도시되어 있으나, 이에 한정되지 않으며, 구현예에 따라서 MCU(210) 내부에 구성될 수 있다. The security element 124 is a hardware device for executing a key generation for device authentication, an accelerator function of an encryption engine, etc. It may contain a security element that executes. For example, the secure element 124 may generate a pair of a public key and a private key according to a Public Key Infrastructure (PKI) method for device authentication. In FIG. 2 , the secure element 124 is illustrated as being configured outside of the MCU 122 , but is not limited thereto, and may be configured inside the MCU 210 according to an embodiment.

보안 저장소(126)는, MCU(122) 및/또는 보안 요소(124)에 의해 생성되는 디바이스 인증용 키, 암호화된 데이터, 디바이스 인증서, 펌웨어 등을 포함하는 다양한 보안 데이터를 저장할 수 있다. 일 실시예에서, 보안 저장소(126)는, 플래시 메모리, RAM 등과 같은 반도체 메모리 장치로 구현될 수 있으나, 이에 한정되는 것은 아니다. 보안 저장소(126)는, MCU(122) 또는 보안 요소(124)가 특정 저장 영역에만 접근할 수 있도록 구성될 수 있다. 또한, 보안 저장소(126)는, MCU(122), 보안 요소(124) 또는 외부 장치가 허가되지 않은 저장 영역에 접근하는 것을 막을 수 있도록 구성될 수 있다.The secure storage 126 may store various secure data, including a key for device authentication, encrypted data, a device certificate, firmware, and the like, generated by the MCU 122 and/or the secure element 124 . In an embodiment, the secure storage 126 may be implemented as a semiconductor memory device such as flash memory, RAM, or the like, but is not limited thereto. Secure storage 126 may be configured such that MCU 122 or secure element 124 can only access specific storage areas. In addition, the secure storage 126 may be configured to prevent the MCU 122 , the secure element 124 , or an external device from accessing an unauthorized storage area.

도 3은 본 개시의 일 실시예에 따른 하드웨어 보안 모듈을 이용하여 디바이스 인증서를 생성하는 방법을 나타내는 흐름도이다. 3 is a flowchart illustrating a method of generating a device certificate using a hardware security module according to an embodiment of the present disclosure.

하드웨어 보안 모듈을 이용하여 디바이스 인증서를 생성하는 방법은, IoT 디바이스(110)가 보안 모듈(120)로 키 생성을 요청하는 것으로 개시될 수 있다(302). 보안 모듈(120)은, IoT 디바이스(110)로부터 키 생성 요청을 수신하면, PKI 인증 방식에 따라 공개키 및 개인키의 쌍을 생성할 수 있다(304). 또한, 보안 모듈(120)은, 생성된 공개키를 IoT 디바이스(110)로 전송할 수 있다(306). A method of generating a device certificate using the hardware security module may be initiated by the IoT device 110 requesting the security module 120 to generate a key ( 302 ). When receiving a key generation request from the IoT device 110 , the security module 120 may generate a public key and a private key pair according to the PKI authentication method ( 304 ). Also, the security module 120 may transmit the generated public key to the IoT device 110 ( 306 ).

IoT 디바이스(110)는 공개키를 수신하면, 디바이스 식별자와 공개키를 포함하는 인증서 생성 요청을 인증 서버(150)로 전송할 수 있다(308). 인증서 생성 요청 신호는, 메시지 타입, 메시지 길이, 디바이스 식별자(예를 들어, IoT 디바이스의 시리얼 번호), 게이트웨이 ID, UID(unique ID; 예를 들어, IoT 디바이스 내부에 실장된 하드웨어 칩의 ID) 등을 포함할 수 있다. 이 경우, 인증서 생성 요청에는 IoT 디바이스에 대한 정보가 포함되어 있으므로, IoT 디바이스(110)는 보안을 강화하기 위해 인증서 생성 요청 신호 자체를 암호화할 수 있다.When the IoT device 110 receives the public key, it may transmit a certificate generation request including the device identifier and the public key to the authentication server 150 ( 308 ). The certificate generation request signal includes a message type, message length, device identifier (eg, serial number of the IoT device), gateway ID, UID (unique ID; for example, ID of a hardware chip mounted inside the IoT device), etc. may include In this case, since the certificate generation request includes information about the IoT device, the IoT device 110 may encrypt the certificate generation request signal itself to enhance security.

일 실시예에서, IoT 디바이스(110)는 클라우드(160)를 통해 인증 센터(140)로 인증서 생성 요청 신호를 전송하고, 인증센터(140)가 다시 해당 인증서 생성 요청 신호를 인증 서버(150)로 전송할 수 있다. 다른 실시예에서, IoT 디바이스(110)는 클라우드(160)를 통해 인증서 생성 요청 신호를 인증서버(150)로 직접 전송할 수도 있다.In an embodiment, the IoT device 110 transmits a certificate generation request signal to the authentication center 140 through the cloud 160 , and the authentication center 140 sends the corresponding certificate generation request signal back to the authentication server 150 . can be transmitted In another embodiment, the IoT device 110 may directly transmit a certificate generation request signal to the authentication server 150 through the cloud 160 .

다음으로, 인증서버(150)는 인증서를 생성할 수 있다(310). 일 실시예에는, 인증 서버(150)는, IoT 디바이스(110) 또는 인증 센터(140)로부터 수신한 인증서 생성 요청에 포함된 공개키와 디바이스 식별자에 대한 검증을 진행할 수 있다. 예를 들어, IoT 디바이스(110)디바이스가 클라우드(160)에 온보딩될 때 해당 디바이스 정보(예를 들어, 디바이스 식별자)를 클라우드(160)에 등록할 수 있다. 따라서, 인증 서버(150)는, 클라우드(160)로부터 사전 등록된 디바이스 식별자를 포함하는 디바이스 정보를 제공받을 수 있다. 인증 서버(150)는, 클라우드(160)로부터 수신한 디바이스 식별자와 인증 센터(140)로부터 수신한 인증서 생성 요청에 포함된 디바이스 식별자를 비교함으로써, 해당 디바이스의 유효성을 검증할 수 있다. 이와 함께, 인증 서버(150)는, 디바이스 식별자의 검증을 통해 인증서 생성 요청에 포함된 공개키에 대한 검증도 진행할 수 있다.Next, the authentication server 150 may generate a certificate ( 310 ). In an embodiment, the authentication server 150 may verify the public key and device identifier included in the certificate generation request received from the IoT device 110 or the authentication center 140 . For example, when the IoT device 110 device is onboarded to the cloud 160 , corresponding device information (eg, a device identifier) may be registered in the cloud 160 . Accordingly, the authentication server 150 may receive device information including a pre-registered device identifier from the cloud 160 . The authentication server 150 may verify the validity of the corresponding device by comparing the device identifier received from the cloud 160 with the device identifier included in the certificate generation request received from the authentication center 140 . At the same time, the authentication server 150 may also verify the public key included in the certificate generation request through the verification of the device identifier.

인증서 생성 요청이 암호화된 상태이며, 인증 서버(150)는, 암호화된 인증서 생성 요청을 복호화한다. 이 경우, 인증서버(150)는, 복호화된 인증서 생성 요청 신호에 포함된 메시지 타입을 통해 해당 신호가 인증서 생성 요청 신호임을 인식할 수 있다.The certificate generation request is in an encrypted state, and the authentication server 150 decrypts the encrypted certificate generation request. In this case, the authentication server 150 may recognize that the corresponding signal is the certificate generation request signal through the message type included in the decrypted certificate generation request signal.

인증 서버(150)는 공개키와 디바이스 식별자에 대한 검증이 정상으로 판단되면 인증서를 생성할 수 있다. 인증서버(150)는, 인증서 생성 요청 신호의 일부 정보가 포함된 인증서를 생성할 수 있다. 일 실시예에서, 인증서는, 디바이스 ID, UID(unique ID), 난수, 트랜잭션 ID, 유효 시간, 유효 횟수, 접근 제어 정책, 암호화 알고리즘 중 적어도 하나를 포함할 수 있다. 여기서, 트랜잭션 ID는, 인증서버(150)가 인증서 생성 요청 신호를 수신한 순서에 따라 생성되는 ID이다. 유효 시간은 인증서의 유효 기간이며, 유효 횟수는, 인증서가 저장된 IoT 디바이스가 특정 위치에서 사용되기 위해 특정 위치에 설치된 게이트웨이와 통신할 수 있는 횟수를 나타낸다. 접근 제어 정책은, IoT 디바이스(110)가 접근 가능한 게이트웨이(또는 게이트웨이 ID)를 나타낸다. 암호화 알고리즘은, 인증서버(150)가 인증서를 암호화할 때 사용하는 암호화 알고리즘을 나타낸다.The authentication server 150 may generate a certificate when it is determined that the verification of the public key and the device identifier is normal. The authentication server 150 may generate a certificate including some information of the certificate generation request signal. In an embodiment, the certificate may include at least one of a device ID, a unique ID (UID), a random number, a transaction ID, a valid time, a valid number, an access control policy, and an encryption algorithm. Here, the transaction ID is an ID generated according to the order in which the authentication server 150 receives the certificate generation request signal. The validity time is the validity period of the certificate, and the validity number represents the number of times that the IoT device in which the certificate is stored can communicate with the gateway installed in the specific location to be used in the specific location. The access control policy indicates a gateway (or gateway ID) accessible to the IoT device 110 . The encryption algorithm indicates an encryption algorithm used when the authentication server 150 encrypts a certificate.

또한, 인증 서버(150)는, 생성된 인증서에 서명을 실행하여 서명된 인증서를 생성할 수도 있다. 인증 서버(150)가 생성한 인증서 자체가 복제될 수 있기 때문에, 이를 방지하기 위해 인증 서버(150)는 인증서에 서명을 실행함으로써, 해당 인증서가 인증 서버(150)에 의해 생성된 것임을 증명할 수 있다. Also, the authentication server 150 may generate a signed certificate by signing the generated certificate. Since the certificate itself generated by the authentication server 150 can be duplicated, in order to prevent this, the authentication server 150 can prove that the certificate is generated by the authentication server 150 by signing the certificate. .

인증 서버(150)는, 생성된 인증서를 IoT 디바이스(110)에 전송할 수 있다(312). 일 실시예에서, 인증서버(150)는 생성된 인증서를 인증 센터(140) 및 클라우드(160)를 통해 IoT 디바이스(110)로 전송할 수 있다. 이 경우 인증 서버(150) 또는 인증센터(140)는, 인증서의 보안을 강화하기 위해 해당 인증서를 암호화할 수 있다. 예를 들어, 인증 서버(150) 또는 인증센터(140)는, 인증서에 포함된 암호화 알고리즘으로 인증서(또는 서명된 인증서)를 암호화할 수 있다.The authentication server 150 may transmit the generated certificate to the IoT device 110 ( 312 ). In an embodiment, the authentication server 150 may transmit the generated certificate to the IoT device 110 through the authentication center 140 and the cloud 160 . In this case, the authentication server 150 or the authentication center 140 may encrypt the corresponding certificate in order to strengthen the security of the certificate. For example, the authentication server 150 or the authentication center 140 may encrypt a certificate (or a signed certificate) with an encryption algorithm included in the certificate.

IoT 디바이스(110)는 수신한 인증서와 개인키를 보안 모듈(120)에 전송하여, 보안 모듈(120)에 저장할 수 있다(314, 316). 일 실시예에서, 만약 수신된 인증서가 암호화된 상태이면, IoT 디바이스(110)는 암호화된 인증서(또는 서명된 인증서)를 복호화할 수 있다. 인증서 자체는 인증서가 암호화될 때 사용된 암호화 알고리즘 정보를 포함하기 때문에, 해당 암호화 알고리즘을 이용하여 암호화된 인증서를 복호화할 수 있다. 또한, IoT 디바이스(110)는, 인증서를 저장하기 전에 해당 인증서를 확인할 수 있다. 인증서의 확인은, 인증서에 포함된 정보(예를 들어, UID)와 인증서 생성 요청 신호에 포함된 정보를 비교하여 해당 정보의 동일성을 확인하는 것일 수 있다. The IoT device 110 may transmit the received certificate and the private key to the security module 120 and store it in the security module 120 ( 314 , 316 ). In an embodiment, if the received certificate is in an encrypted state, the IoT device 110 may decrypt the encrypted certificate (or signed certificate). Since the certificate itself includes encryption algorithm information used when the certificate is encrypted, the encrypted certificate can be decrypted using the corresponding encryption algorithm. Also, the IoT device 110 may check the corresponding certificate before storing the certificate. The verification of the certificate may be checking the identity of the corresponding information by comparing information (eg, UID) included in the certificate with information included in the certificate generation request signal.

도 4는 본 개시의 일 실시예에 따른 서비스 인증서를 생성하는 방법을 나타내는 흐름도이다. 4 is a flowchart illustrating a method of generating a service certificate according to an embodiment of the present disclosure.

IoT 서비스 서버(170)는 서비스 인증서를 생성하기 위해 공개키와 개인키 쌍을 생성할 수 있다(402). IoT 서비스 서버(170)은, 서비스 식별자와 공개키를 포함하는 인증서 생성 요청을 인증 센터(140)로 전송할 수 있다(404). 인증서 생성 요청 신호는, 메시지 타입, 메시지 길이, 서비스 식별자(예를 들어, IoT 서비스의 식별자) 등을 포함할 수 있다. 이 경우, 인증서 생성 요청에는 IoT 디바이스가 제공받을 서비스에 대한 정보가 포함되어 있으므로, IoT 서비스(170)는 보안을 강화하기 위해 인증서 생성 요청 신호 자체를 암호화할 수 있다.The IoT service server 170 may generate a public key and a private key pair to generate a service certificate ( 402 ). The IoT service server 170 may transmit a certificate generation request including a service identifier and a public key to the authentication center 140 ( 404 ). The certificate generation request signal may include a message type, a message length, a service identifier (eg, an identifier of an IoT service), and the like. In this case, since the certificate generation request includes information on a service to be provided by the IoT device, the IoT service 170 may encrypt the certificate generation request signal itself to enhance security.

이에 따라 인증센터(140)는, 수신한 인증서 생성 요청을 인증서버(150)로 전송할 수 있다(406). 일 실시예에서, IoT 서비스(170)는 클라우드(160)를 통해 인증 센터(140)로 인증서 생성 요청 신호를 전송하고, 인증센터(140)가 다시 해당 인증서 생성 요청 신호를 인증 서버(150)로 전송할 수 있다. Accordingly, the authentication center 140 may transmit the received certificate generation request to the authentication server 150 ( 406 ). In one embodiment, the IoT service 170 transmits a certificate generation request signal to the authentication center 140 through the cloud 160 , and the authentication center 140 sends the corresponding certificate generation request signal back to the authentication server 150 . can be transmitted

인증 서버(150)는 서비스 인증서 생성 요청에 기반하여 서비스 인증서를 생성할 수 있다(408). 일 실시예에는, 인증 서버(150)는, 인증 센터(140)로부터 수신한 인증서 생성 요청에 포함된 공개키와 서비스 식별자에 대한 검증을 진행할 수 있다. 예를 들어, IoT 서비스(170)가 제공하는 서비스에 관한 정보(예를 들어, 서비스 식별자)는 클라우드(160)에 사전 등록될 수 있다. 따라서, 인증 서버(150)는, 클라우드(160)로부터 사전 등록된 서비스 식별자를 포함하는 서비스 정보를 제공받을 수 있다. 인증 서버(150)는, 클라우드(160)로부터 수신한 서비스 식별자와 인증 센터(140)로부터 수신한 인증서 생성 요청에 포함된 서비스 식별자를 비교함으로써, 해당 서비스의 유효성을 검증할 수 있다. 이와 함께, 인증 서버(150)는, 서비스 식별자의 검증을 통해 인증서 생성 요청에 포함된 공개키에 대한 검증도 진행할 수 있다.The authentication server 150 may generate a service certificate based on the service certificate generation request ( 408 ). In an embodiment, the authentication server 150 may verify the public key and the service identifier included in the certificate generation request received from the authentication center 140 . For example, information about a service provided by the IoT service 170 (eg, a service identifier) may be pre-registered in the cloud 160 . Accordingly, the authentication server 150 may receive service information including a pre-registered service identifier from the cloud 160 . The authentication server 150 may verify the validity of the corresponding service by comparing the service identifier received from the cloud 160 with the service identifier included in the certificate generation request received from the authentication center 140 . At the same time, the authentication server 150 may also verify the public key included in the certificate generation request through the verification of the service identifier.

인증서 생성 요청이 암호화된 상태이며, 인증 서버(150)는, 암호화된 인증서 생성 요청을 복호화한다. 이 경우, 인증서버(150)는, 복호화된 인증서 생성 요청 신호에 포함된 메시지 타입을 통해 해당 신호가 인증서 생성 요청 신호임을 인식할 수 있다.The certificate generation request is in an encrypted state, and the authentication server 150 decrypts the encrypted certificate generation request. In this case, the authentication server 150 may recognize that the corresponding signal is the certificate generation request signal through the message type included in the decrypted certificate generation request signal.

인증 서버(150)는 공개키와 서비스 식별자에 대한 검증이 정상으로 판단되면 인증서를 생성할 수 있다. 인증서버(150)는, 인증서 생성 요청 신호의 일부 정보가 포함된 인증서를 생성할 수 있다. 일 실시예에서, 인증서는, 서비스 ID, UID(unique ID), 난수, 트랜잭션 ID, 유효 시간, 유효 횟수, 접근 제어 정책, 암호화 알고리즘 중 적어도 하나를 포함할 수 있다. 여기서, 트랜잭션 ID는, 인증서버(150)가 인증서 생성 요청 신호를 수신한 순서에 따라 생성되는 ID이다. 유효 시간은 인증서의 유효 기간이며, 유효 횟수는, 인증서가 저장된 IoT 서비스 서버가 특정 서비스를 제공하기 위해 IoT 디바이스 또는 게이트웨이와 통신할 수 있는 횟수를 나타낸다. 접근 제어 정책은, IoT 서비스(170)가 접근 가능한 IoT 디바이스 또는 게이트웨이(또는 게이트웨이 ID)를 나타낸다. 암호화 알고리즘은, 인증서버(150)가 인증서를 암호화할 때 사용하는 암호화 알고리즘을 나타낸다.The authentication server 150 may generate a certificate when it is determined that the verification of the public key and the service identifier is normal. The authentication server 150 may generate a certificate including some information of the certificate generation request signal. In an embodiment, the certificate may include at least one of a service ID, a unique ID (UID), a random number, a transaction ID, a valid time, a valid number, an access control policy, and an encryption algorithm. Here, the transaction ID is an ID generated according to the order in which the authentication server 150 receives the certificate generation request signal. The validity time is the validity period of the certificate, and the validity number indicates the number of times the IoT service server in which the certificate is stored can communicate with the IoT device or gateway to provide a specific service. The access control policy indicates an IoT device or gateway (or gateway ID) to which the IoT service 170 can access. The encryption algorithm indicates an encryption algorithm used when the authentication server 150 encrypts a certificate.

또한, 인증 서버(150)는, 생성된 인증서에 서명을 실행하여 서명된 인증서를 생성할 수도 있다. 인증 서버(150)가 생성한 인증서 자체가 복제될 수 있기 때문에, 이를 방지하기 위해 인증 서버(150)는 인증서에 서명을 실행함으로써, 해당 인증서가 인증 서버(150)에 의해 생성된 것임을 증명할 수 있다.Also, the authentication server 150 may generate a signed certificate by signing the generated certificate. Since the certificate itself generated by the authentication server 150 can be duplicated, in order to prevent this, the authentication server 150 can prove that the certificate is generated by the authentication server 150 by signing the certificate. .

인증 서버(150)는, 생성된 인증서를 인증센터(140)에 전송할 수 있다(410). 이에 따라, 인증센터(140)는 해당 인증서를 IoT 서비스(170)로 전송할 수 있다(412). 일 실시예에서, 인증서버(150)는 생성된 인증서를 인증 센터(140) 및 클라우드(160)를 통해 IoT 서비스(170)로 전송할 수 있다. 이 경우 인증 서버(150) 또는 인증센터(140)는, 인증서의 보안을 강화하기 위해 해당 인증서를 암호화할 수 있다. 예를 들어, 인증 서버(150) 또는 인증센터(140)는, 인증서에 포함된 암호화 알고리즘으로 인증서(또는 서명된 인증서)를 암호화할 수 있다.The authentication server 150 may transmit the generated certificate to the authentication center 140 ( 410 ). Accordingly, the authentication center 140 may transmit the corresponding certificate to the IoT service 170 ( 412 ). In an embodiment, the authentication server 150 may transmit the generated certificate to the IoT service 170 through the authentication center 140 and the cloud 160 . In this case, the authentication server 150 or the authentication center 140 may encrypt the corresponding certificate in order to strengthen the security of the certificate. For example, the authentication server 150 or the authentication center 140 may encrypt a certificate (or a signed certificate) with an encryption algorithm included in the certificate.

IoT 서비스(170)는 수신한 인증서와 개인키를 저장할 수 있다(414). 일 실시예에서, 만약 수신된 인증서가 암호화된 상태이면, IoT 서비스(170)는 암호화된 인증서(또는 서명된 인증서)를 복호화할 수 있다. 인증서 자체는 인증서가 암호화될 때 사용된 암호화 알고리즘 정보를 포함하기 때문에, 해당 암호화 알고리즘을 이용하여 암호화된 인증서를 복호화할 수 있다. 또한, IoT 서비스(170)는, 인증서를 저장하기 전에 해당 인증서를 확인할 수 있다. 인증서의 확인은, 인증서에 포함된 정보(예를 들어, 서비스 ID)와 인증서 생성 요청 신호에 포함된 정보를 비교하여 해당 정보의 동일성을 확인하는 것일 수 있다. The IoT service 170 may store the received certificate and private key ( 414 ). In an embodiment, if the received certificate is in an encrypted state, the IoT service 170 may decrypt the encrypted certificate (or signed certificate). Since the certificate itself includes encryption algorithm information used when the certificate is encrypted, the encrypted certificate can be decrypted using the corresponding encryption algorithm. Also, the IoT service 170 may check the corresponding certificate before storing the certificate. The verification of the certificate may be checking the identity of the corresponding information by comparing the information included in the certificate (eg, service ID) with the information included in the certificate generation request signal.

도 5는 본 개시의 일 실시예에 따른 플랫폼 인증서를 생성하는 방법을 나타내는 흐름도이다. 5 is a flowchart illustrating a method of generating a platform certificate according to an embodiment of the present disclosure.

클라우드(160)(또는 플랫폼)는 플랫폼 인증서를 생성하기 위해 공개키와 개인키 쌍을 생성할 수 있다(502). 클라우드(160)는, 플랫폼 식별자와 공개키를 포함하는 인증서 생성 요청을 인증 센터(140)로 전송할 수 있다(504). 인증서 생성 요청 신호는, 메시지 타입, 메시지 길이, 플랫폼 식별자(예를 들어, 클라우드의 식별자) 등을 포함할 수 있다. 이 경우, 인증서 생성 요청에는 IoT 디바이스가 연결될 클라우드(또는 IoT 플랫폼) 대한 정보가 포함되어 있으므로, 클라우드(160)는 보안을 강화하기 위해 인증서 생성 요청 신호 자체를 암호화할 수 있다.Cloud 160 (or platform) may generate a public key and private key pair to generate a platform certificate ( 502 ). The cloud 160 may transmit a certificate generation request including the platform identifier and the public key to the authentication center 140 ( 504 ). The certificate generation request signal may include a message type, a message length, a platform identifier (eg, an identifier of a cloud), and the like. In this case, since the certificate generation request includes information on the cloud (or IoT platform) to which the IoT device will be connected, the cloud 160 may encrypt the certificate generation request signal itself to enhance security.

이에 따라 인증센터(140)는, 수신한 인증서 생성 요청을 인증서버(150)로 전송할 수 있다(506). Accordingly, the authentication center 140 may transmit the received certificate generation request to the authentication server 150 (506).

인증 서버(150)는 서비스 인증서 생성 요청에 기반하여 플랫폼 인증서를 생성할 수 있다(508). 일 실시예에는, 인증 서버(150)는, 인증 센터(140)로부터 수신한 인증서 생성 요청에 포함된 공개키와 플랫폼 식별자에 대한 검증을 진행할 수 있다. 예를 들어, 클라우드(160) 또는 플랫폼이 처음 설치될 때 플랫폼 ID가 생성되어 플랫폼 ID를 포함하는 플랫폼 정보가 클라우드(160)에 등록될 수 있다. 따라서, 인증 서버(150)는, 클라우드(160)로부터 사전 등록된 플랫폼 식별자를 포함하는 플랫폼 정보를 제공받을 수 있다. 인증 서버(150)는, 클라우드(160)로부터 수신한 플랫폼 식별자와 인증 센터(140)로부터 수신한 인증서 생성 요청에 포함된 플랫폼 식별자를 비교함으로써, 해당 서비스의 유효성을 검증할 수 있다. 이와 함께, 인증 서버(150)는, 플랫폼 식별자의 검증을 통해 인증서 생성 요청에 포함된 공개키에 대한 검증도 진행할 수 있다.The authentication server 150 may generate a platform certificate based on the service certificate generation request ( 508 ). In an embodiment, the authentication server 150 may verify the public key and the platform identifier included in the certificate generation request received from the authentication center 140 . For example, a platform ID may be generated when the cloud 160 or the platform is first installed, and platform information including the platform ID may be registered in the cloud 160 . Accordingly, the authentication server 150 may receive platform information including a pre-registered platform identifier from the cloud 160 . The authentication server 150 may verify the validity of the corresponding service by comparing the platform identifier received from the cloud 160 with the platform identifier included in the certificate generation request received from the authentication center 140 . At the same time, the authentication server 150 may also verify the public key included in the certificate generation request through the verification of the platform identifier.

인증서 생성 요청이 암호화된 상태이며, 인증 서버(150)는, 암호화된 인증서 생성 요청을 복호화한다. 이 경우, 인증서버(150)는, 복호화된 인증서 생성 요청 신호에 포함된 메시지 타입을 통해 해당 신호가 인증서 생성 요청 신호임을 인식할 수 있다.The certificate generation request is in an encrypted state, and the authentication server 150 decrypts the encrypted certificate generation request. In this case, the authentication server 150 may recognize that the corresponding signal is the certificate generation request signal through the message type included in the decrypted certificate generation request signal.

인증 서버(150)는 공개키와 플랫폼 식별자에 대한 검증이 정상으로 판단되면 인증서를 생성할 수 있다. 인증 서버(150)는, 인증서 생성 요청 신호의 일부 정보가 포함된 인증서를 생성할 수 있다. 일 실시예에서, 인증서는, 플랫폼 ID, UID(unique ID), 난수, 트랜잭션 ID, 유효 시간, 유효 횟수, 접근 제어 정책, 암호화 알고리즘 중 적어도 하나를 포함할 수 있다. 여기서, 트랜잭션 ID는, 인증서버(150)가 인증서 생성 요청 신호를 수신한 순서에 따라 생성되는 ID이다. 유효 시간은 인증서의 유효 기간이며, 유효 횟수는, 인증서가 저장된 클라우드가 특정 서비스를 제공하기 위해 IoT 디바이스 또는 게이트웨이와 통신할 수 있는 횟수를 나타낸다. 접근 제어 정책은, 클라우드(160)가 접근 가능한 IoT 디바이스 또는 게이트웨이(또는 게이트웨이 ID)를 나타낸다. 암호화 알고리즘은, 인증서버(150)가 인증서를 암호화할 때 사용하는 암호화 알고리즘을 나타낸다.The authentication server 150 may generate a certificate when it is determined that the verification of the public key and the platform identifier is normal. The authentication server 150 may generate a certificate including some information of the certificate generation request signal. In an embodiment, the certificate may include at least one of a platform ID, a unique ID (UID), a random number, a transaction ID, a valid time, a valid number, an access control policy, and an encryption algorithm. Here, the transaction ID is an ID generated according to the order in which the authentication server 150 receives the certificate generation request signal. The validity time is the validity period of the certificate, and the validity number represents the number of times the cloud in which the certificate is stored can communicate with the IoT device or gateway to provide a specific service. The access control policy indicates an IoT device or gateway (or gateway ID) accessible to the cloud 160 . The encryption algorithm indicates an encryption algorithm used when the authentication server 150 encrypts a certificate.

또한, 인증 서버(150)는, 생성된 인증서에 서명을 실행하여 서명된 인증서를 생성할 수도 있다. 인증 서버(150)가 생성한 인증서 자체가 복제될 수 있기 때문에, 이를 방지하기 위해 인증 서버(150)는 인증서에 서명을 실행함으로써, 해당 인증서가 인증 서버(150)에 의해 생성된 것임을 증명할 수 있다.Also, the authentication server 150 may generate a signed certificate by signing the generated certificate. Since the certificate itself generated by the authentication server 150 can be duplicated, in order to prevent this, the authentication server 150 can prove that the certificate is generated by the authentication server 150 by signing the certificate. .

인증 서버(150)는, 생성된 인증서를 인증센터(140)에 전송할 수 있다(510). 이에 따라, 인증센터(140)는 해당 인증서를 클라우드(160)로 전송할 수 있다(512). 일 실시예에서, 인증 서버(150) 또는 인증센터(140)는, 인증서의 보안을 강화하기 위해 해당 인증서를 암호화할 수 있다. 예를 들어, 인증 서버(150) 또는 인증센터(140)는, 인증서에 포함된 암호화 알고리즘으로 인증서(또는 서명된 인증서)를 암호화할 수 있다.The authentication server 150 may transmit the generated certificate to the authentication center 140 (510). Accordingly, the authentication center 140 may transmit the corresponding certificate to the cloud 160 (512). In one embodiment, the authentication server 150 or the authentication center 140 may encrypt the corresponding certificate in order to strengthen the security of the certificate. For example, the authentication server 150 or the authentication center 140 may encrypt a certificate (or a signed certificate) with an encryption algorithm included in the certificate.

클라우드(160)는 수신한 인증서와 개인키를 저장할 수 있다(514). 일 실시예에서, 만약 수신된 인증서가 암호화된 상태이면, 클라우드(160)는 암호화된 인증서(또는 서명된 인증서)를 복호화할 수 있다. 인증서 자체는 인증서가 암호화될 때 사용된 암호화 알고리즘 정보를 포함하기 때문에, 해당 암호화 알고리즘을 이용하여 암호화된 인증서를 복호화할 수 있다. 또한, 클라우드(160)는, 인증서를 저장하기 전에 해당 인증서를 확인할 수 있다. 인증서의 확인은, 인증서에 포함된 정보(예를 들어, 플랫폼 ID)와 인증서 생성 요청 신호에 포함된 정보를 비교하여 해당 정보의 동일성을 확인하는 것일 수 있다. The cloud 160 may store the received certificate and private key ( 514 ). In one embodiment, if the received certificate is encrypted, the cloud 160 may decrypt the encrypted certificate (or signed certificate). Since the certificate itself includes encryption algorithm information used when the certificate is encrypted, the encrypted certificate can be decrypted using the corresponding encryption algorithm. Also, the cloud 160 may check the corresponding certificate before storing the certificate. The verification of the certificate may be checking the identity of the corresponding information by comparing the information included in the certificate (eg, platform ID) with the information included in the certificate generation request signal.

도 6은 본 개시의 일 실시예에 따른 IoT 클라우드를 통한 디바이스 인증을 제공하는 방법을 나타내는 흐름도이다.6 is a flowchart illustrating a method of providing device authentication through an IoT cloud according to an embodiment of the present disclosure.

IoT 클라우드를 통한 디바이스 인증을 제공하는 방법(600)은, IoT 서비스를 제공하는 클라우드에 연결 가능한 IoT 디바이스를 준비하는 단계(610)로 개시될 수 있다. 일 실시예에서, 도 1을 참조하면, IoT 디바이스의 관리 기능을 제공하는 클라우드(160)에 연결되어 있거나 연결될 수 있는 IoT 디바이스(110)를 준비할 수 있다. 또한, IoT 디바이스(110)는 디바이스 인증을 위한 키 생성, 암호화 등의 보안 기능을 제공하는 보안 모듈(120)에 연결될 수 있다.The method 600 of providing device authentication through the IoT cloud may begin with the step 610 of preparing an IoT device connectable to the cloud that provides the IoT service. In one embodiment, referring to FIG. 1 , it is possible to prepare an IoT device 110 that is or can be connected to a cloud 160 that provides a management function of the IoT device. Also, the IoT device 110 may be connected to the security module 120 that provides security functions such as key generation and encryption for device authentication.

다음으로, IoT 디바이스에 연결된 보안 모듈에 의해, IoT 디바이스의 인증을 위한 공개키 및 개인키 쌍을 생성할 수 있다. 일 실시예에서, 도 1 내지 도 3을 참조하면, 디바이스(110)가 보안 모듈(120)로 키 생성을 요청할 수 있다. 보안 모듈(120)은, IoT 디바이스(110)로부터 키 생성 요청을 수신하면, PKI 인증 방식에 따라 공개키 및 개인키의 쌍을 생성할 수 있다(304). 또한, 보안 모듈(120)은, 생성된 공개키를 IoT 디바이스(110)로 전송할 수 있다(306). Next, a public key and a private key pair for authentication of the IoT device may be generated by the security module connected to the IoT device. In an embodiment, referring to FIGS. 1 to 3 , the device 110 may request the security module 120 to generate a key. When receiving a key generation request from the IoT device 110 , the security module 120 may generate a public key and a private key pair according to the PKI authentication method ( 304 ). Also, the security module 120 may transmit the generated public key to the IoT device 110 ( 306 ).

IoT 디바이스(110)는 공개키를 수신하면, 디바이스 식별자와 공개키를 포함하는 인증서 생성 요청을 인증 서버(150)로 전송할 수 있다(308). 인증서 생성 요청 신호는, 메시지 타입, 메시지 길이, 디바이스 식별자(예를 들어, IoT 디바이스의 시리얼 번호), 게이트웨이 ID, UID(unique ID; 예를 들어, IoT 디바이스 내부에 실장된 하드웨어 칩의 ID) 등을 포함할 수 있다. 이 경우, 인증서 생성 요청에는 IoT 디바이스에 대한 정보가 포함되어 있으므로, IoT 디바이스(110)는 보안을 강화하기 위해 인증서 생성 요청 신호 자체를 암호화할 수 있다.When the IoT device 110 receives the public key, it may transmit a certificate generation request including the device identifier and the public key to the authentication server 150 ( 308 ). The certificate generation request signal includes a message type, message length, device identifier (eg, serial number of the IoT device), gateway ID, UID (unique ID; for example, ID of a hardware chip mounted inside the IoT device), etc. may include In this case, since the certificate generation request includes information about the IoT device, the IoT device 110 may encrypt the certificate generation request signal itself to enhance security.

일 실시예에서, IoT 디바이스(110)는 클라우드(160)를 통해 인증 센터(140)로 인증서 생성 요청 신호를 전송하고, 인증센터(140)가 다시 해당 인증서 생성 요청 신호를 인증 서버(150)로 전송할 수 있다. 다른 실시예에서, IoT 디바이스(110)는 클라우드(160)를 통해 인증서 생성 요청 신호를 인증서버(150)로 직접 전송할 수도 있다.In an embodiment, the IoT device 110 transmits a certificate generation request signal to the authentication center 140 through the cloud 160 , and the authentication center 140 sends the corresponding certificate generation request signal back to the authentication server 150 . can be transmitted In another embodiment, the IoT device 110 may directly transmit a certificate generation request signal to the authentication server 150 through the cloud 160 .

다음으로, 인증서버(150)는 인증서를 생성할 수 있다(310). 일 실시예에는, 인증 서버(150)는, IoT 디바이스(110) 또는 인증 센터(140)로부터 수신한 인증서 생성 요청에 포함된 공개키와 디바이스 식별자에 대한 검증을 진행할 수 있다. 인증서 생성 요청이 암호화된 상태이며, 인증 서버(150)는, 암호화된 인증서 생성 요청을 복호화한다. 이 경우, 인증서버(150)는, 복호화된 인증서 생성 요청 신호에 포함된 메시지 타입을 통해 해당 신호가 인증서 생성 요청 신호임을 인식할 수 있다.Next, the authentication server 150 may generate a certificate ( 310 ). In an embodiment, the authentication server 150 may verify the public key and device identifier included in the certificate generation request received from the IoT device 110 or the authentication center 140 . The certificate generation request is in an encrypted state, and the authentication server 150 decrypts the encrypted certificate generation request. In this case, the authentication server 150 may recognize that the corresponding signal is the certificate generation request signal through the message type included in the decrypted certificate generation request signal.

인증 서버(150)는 공개키와 디바이스 식별자에 대한 검증이 정상으로 판단되면 인증서를 생성할 수 있다. 인증서버(150)는, 인증서 생성 요청 신호의 일부 정보가 포함된 인증서를 생성할 수 있다. 일 실시예에서, 인증서는, 디바이스 ID, UID(unique ID), 난수, 트랜잭션 ID, 유효 시간, 유효 횟수, 접근 제어 정책, 암호화 알고리즘 중 적어도 하나를 포함할 수 있다. 여기서, 트랜잭션 ID는, 인증서버(150)가 인증서 생성 요청 신호를 수신한 순서에 따라 생성되는 ID이다. 유효 시간은 인증서의 유효 기간이며, 유효 횟수는, 인증서가 저장된 IoT 디바이스가 특정 위치에서 사용되기 위해 특정 위치에 설치된 게이트웨이와 통신할 수 있는 횟수를 나타낸다. 접근 제어 정책은, IoT 디바이스(110)가 접근 가능한 게이트웨이(또는 게이트웨이 ID)를 나타낸다. 암호화 알고리즘은, 인증서버(150)가 인증서를 암호화할 때 사용하는 암호화 알고리즘을 나타낸다.The authentication server 150 may generate a certificate when it is determined that the verification of the public key and the device identifier is normal. The authentication server 150 may generate a certificate including some information of the certificate generation request signal. In an embodiment, the certificate may include at least one of a device ID, a unique ID (UID), a random number, a transaction ID, a valid time, a valid number, an access control policy, and an encryption algorithm. Here, the transaction ID is an ID generated according to the order in which the authentication server 150 receives the certificate generation request signal. The validity time is the validity period of the certificate, and the validity number represents the number of times that the IoT device in which the certificate is stored can communicate with the gateway installed in the specific location to be used in the specific location. The access control policy indicates a gateway (or gateway ID) accessible to the IoT device 110 . The encryption algorithm indicates an encryption algorithm used when the authentication server 150 encrypts a certificate.

또한, 인증 서버(150)는, 생성된 인증서에 서명을 실행하여 서명된 인증서를 생성할 수도 있다. 인증 서버(150)가 생성한 인증서 자체가 복제될 수 있기 때문에, 이를 방지하기 위해 인증 서버(150)는 인증서에 서명을 실행함으로써, 해당 인증서가 인증 서버(150)에 의해 생성된 것임을 증명할 수 있다. Also, the authentication server 150 may generate a signed certificate by signing the generated certificate. Since the certificate itself generated by the authentication server 150 can be duplicated, in order to prevent this, the authentication server 150 can prove that the certificate is generated by the authentication server 150 by signing the certificate. .

인증 서버(150)는, 생성된 인증서를 IoT 디바이스(110)에 전송할 수 있다(312). 일 실시예에서, 인증서버(150)는 생성된 인증서를 인증 센터(140) 및 클라우드(160)를 통해 IoT 디바이스(110)로 전송할 수 있다. 이 경우 인증 서버(150) 또는 인증센터(140)는, 인증서의 보안을 강화하기 위해 해당 인증서를 암호화할 수 있다. 예를 들어, 인증 서버(150) 또는 인증센터(140)는, 인증서에 포함된 암호화 알고리즘으로 인증서(또는 서명된 인증서)를 암호화할 수 있다.The authentication server 150 may transmit the generated certificate to the IoT device 110 ( 312 ). In an embodiment, the authentication server 150 may transmit the generated certificate to the IoT device 110 through the authentication center 140 and the cloud 160 . In this case, the authentication server 150 or the authentication center 140 may encrypt the corresponding certificate in order to strengthen the security of the certificate. For example, the authentication server 150 or the authentication center 140 may encrypt a certificate (or a signed certificate) with an encryption algorithm included in the certificate.

IoT 디바이스(110)는 수신한 인증서와 개인키를 보안 모듈(120)에 전송하여, 보안 모듈(120)에 저장할 수 있다(314, 316). 일 실시예에서, 만약 수신된 인증서가 암호화된 상태이면, IoT 디바이스(110)는 암호화된 인증서(또는 서명된 인증서)를 복호화할 수 있다. 인증서 자체는 인증서가 암호화될 때 사용된 암호화 알고리즘 정보를 포함하기 때문에, 해당 암호화 알고리즘을 이용하여 암호화된 인증서를 복호화할 수 있다. 또한, IoT 디바이스(110)는, 인증서를 저장하기 전에 해당 인증서를 확인할 수 있다. 인증서의 확인은, 인증서에 포함된 정보(예를 들어, UID)와 인증서 생성 요청 신호에 포함된 정보를 비교하여 해당 정보의 동일성을 확인하는 것일 수 있다. The IoT device 110 may transmit the received certificate and the private key to the security module 120 and store it in the security module 120 ( 314 , 316 ). In an embodiment, if the received certificate is in an encrypted state, the IoT device 110 may decrypt the encrypted certificate (or signed certificate). Since the certificate itself includes encryption algorithm information used when the certificate is encrypted, the encrypted certificate can be decrypted using the corresponding encryption algorithm. Also, the IoT device 110 may check the corresponding certificate before storing the certificate. The verification of the certificate may be checking the identity of the corresponding information by comparing information (eg, UID) included in the certificate with information included in the certificate generation request signal.

이상 설명된 다양한 실시예에 따른 시스템은, 데스크탑 컴퓨터, 랩탑 컴퓨터, 무선 전화기, 셀룰러 전화기, 무선 멀티미디어 디바이스, PDA, 컴퓨터의 외부에 설치된 모뎀이나 내부에 설치된 모뎀, 무선 채널을 통해 통신하는 디바이스 등과 같은 다양한 타입들의 디바이스들을 나타낼 수도 있다. 이와 같은 디바이스는, 액세스 단말기 (access terminal; AT), 액세스 유닛, 가입자 유닛, 이동국, 모바일 디바이스, 모바일 유닛, 모바일 전화기, 모바일, 원격국, 원격 단말, 원격 유닛, 유저 디바이스, 유저 장비 (user equipment), 핸드헬드 디바이스 등과 같은 다양한 이름들을 가질 수도 있다. 본원에 설명된 임의의 디바이스는, 이상 설명한 인터넷 상에서 불법 콘텐츠의 배포를 방지하는 방법의 실행에 필요한 명령들 및 데이터를 저장하기 위한 메모리, 뿐만 아니라 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합들을 가질 수도 있다. The system according to the various embodiments described above includes a desktop computer, a laptop computer, a wireless phone, a cellular phone, a wireless multimedia device, a PDA, a modem installed outside or inside the computer, a device communicating through a wireless channel, etc. It may represent various types of devices. Such devices include an access terminal (AT), an access unit, a subscriber unit, a mobile station, a mobile device, a mobile unit, a mobile phone, a mobile, a remote station, a remote terminal, a remote unit, a user device, user equipment. ), handheld device, etc. Any device described herein may have hardware, software, firmware, or combinations thereof, as well as memory for storing instructions and data necessary for execution of the method of preventing distribution of illegal content on the Internet described above. there is.

본원에 기술된 기법들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 기법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 본원의 개시와 연계하여 설명된 다양한 예시 적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있음을 당업자들은 더 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호교환성을 명확하게 설명하기 위해, 다양한 예시 적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능성의 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는 지의 여부는, 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 달라진다. 당업자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현 결정들은 본 개시의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다. The techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those skilled in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

하드웨어 구현에서, 기법들을 수행하는 데 이용되는 프로세싱 유닛들은, 하나 이상의 ASIC들, DSP들, 디지털 신호 프로세싱 디바이스들 (digital signal processing devices; DSPD들), 프로그램가능 논리 디바이스들 (programmable logic devices; PLD들), 필드 프로그램가능 게이트 어레이들 (field programmable gate arrays; FPGA들), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본원에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 컴퓨터, 또는 이들의 조합 내에서 구현될 수도 있다. In a hardware implementation, the processing units used to perform the techniques include one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs). ), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein; It may be implemented in a computer, or a combination thereof.

따라서, 본원의 개시와 연계하여 설명된 다양한 예시 적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능 논리 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안에서, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성의 조합으로써 구현될 수도 있다. Accordingly, the various illustrative logic blocks, modules, and circuits described in connection with the present disclosure may include general purpose processors, DSPs, ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or It may be implemented or performed in any combination of those designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

펌웨어 및/또는 소프트웨어 구현에 있어서, 기법들은 랜덤 액세스 메모리 (random access memory; RAM), 판독 전용 메모리 (read-only memory; ROM), 불휘발성 RAM (non-volatile random access memory; NVRAM), PROM (programmable read-only memory), EPROM (erasable programmable read-only memory), EEPROM (electrically erasable PROM), 플래시 메모리, 컴팩트 디스크 (compact disc; CD), 자기 또는 광학 데이터 스토리지 디바이스 등과 같은 컴퓨터 판독가능 매체 상에 저장된 명령들로써 구현될 수도 있다. 명령들은 하나 이상의 프로세서들에 의해 실행 가능할 수도 있고, 프로세서(들)로 하여금 본원에 설명된 기능의 특정 양태들을 수행하게 할 수도 있다. For firmware and/or software implementations, the techniques include random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), PROM ( on computer-readable media such as programmable read-only memory), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage devices, etc. It may be implemented as stored instructions. The instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described herein.

소프트웨어로 구현되면, 상기 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독 가능한 매체 상에 저장되거나 또는 컴퓨터 판독 가능한 매체를 통해 전송될 수도 있다. 컴퓨터 판독가능 매체들은 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하여 컴퓨터 저장 매체들 및 통신 매체들 양자를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체들일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 소망의 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 이송 또는 저장하기 위해 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해진다. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. Storage media may be any available media that can be accessed by a computer. By way of non-limiting example, such computer-readable medium may contain RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or desired program code in the form of instructions or data structures. may include any other medium that can be used for transport or storage to a computer and can be accessed by a computer. Also, any connection is properly termed a computer-readable medium.

예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송되면, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본원에서 사용된 디스크 (disk)와 디스크 (disc)는, CD, 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크들 (disks) 은 보통 자기적으로 데이터를 재생하고, 반면 디스크들 (discs) 은 레이저를 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다. For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, wireless, and microwave, the coaxial cable , fiber optic cable, twisted pair, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of medium. As used herein, disk and disk include CD, laser disk, optical disk, digital versatile disc (DVD), floppy disk, and Blu-ray disk, where disks are usually magnetic Data is reproduced optically, while discs reproduce data optically using a laser. Combinations of the above should also be included within the scope of computer-readable media.

소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체 내에 상주할 수도 있다. 예시 적인 저장 매체는, 프로세가 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기록할 수 있도록, 프로세서에 커플링 될 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 ASIC 내에 존재할 수도 있다. ASIC은 유저 단말 내에 존재할 수도 있다. 대안으로, 프로세서와 저장 매체는 유저 단말에서 개별 컴포넌트들로써 존재할 수도 있다. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium may be coupled to the processor such that the processor can read information from, or write information to, the storage medium. Alternatively, the storage medium may be integrated into the processor. The processor and storage medium may reside within the ASIC. The ASIC may exist in the user terminal. Alternatively, the processor and the storage medium may exist as separate components in the user terminal.

본 개시의 앞선 설명은 당업자들이 본 개시를 행하거나 이용하는 것을 가능하게 하기 위해 제공된다. 본 개시의 다양한 수정예들이 당업자들에게 쉽게 자명할 것이고, 본원에 정의된 일반적인 원리들은 본 개시의 취지 또는 범위를 벗어나지 않으면서 다양한 변형예들에 적용될 수도 있다. 따라서, 본 개시는 본원에 설명된 예들에 제한되도록 의도된 것이 아니고, 본원에 개시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위가 부여되도록 의도된다. The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to various modifications without departing from the spirit or scope of the disclosure. Accordingly, this disclosure is not intended to be limited to the examples set forth herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

비록 예시 적인 구현예들이 하나 이상의 독립형 컴퓨터 시스템의 맥락에서 현재 개시된 주제의 양태들을 활용하는 것을 언급할 수도 있으나, 본 주제는 그렇게 제한되지 않고, 오히려 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 현재 개시된 주제의 양상들은 복수의 프로세싱 칩들이나 디바이스들에서 또는 그들에 걸쳐 구현될 수도 있고, 스토리지는 복수의 디바이스들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 디바이스들은 PC들, 네트워크 서버들, 및 핸드헬드 디바이스들을 포함할 수도 있다. Although example implementations may refer to utilizing aspects of the presently disclosed subject matter in the context of one or more stand-alone computer systems, the subject matter is not so limited, but rather in connection with any computing environment, such as a network or distributed computing environment. may be implemented. Still further, aspects of the presently disclosed subject matter may be implemented in or across a plurality of processing chips or devices, and storage may be similarly affected across the plurality of devices. Such devices may include PCs, network servers, and handheld devices.

비록 본 주제가 구조적 특징들 및/또는 방법론적 작용들에 특정한 언어로 설명되었으나, 첨부된 청구항들에서 정의된 주제가 위에서 설명된 특정 특징들 또는 작용들로 반드시 제한되는 것은 아님이 이해될 것이다. 오히려, 위에서 설명된 특정 특징들 및 작용들은 청구항들을 구현하는 예시 적인 형태로서 설명된다. Although subject matter has been described in language specific to structural features and/or methodological acts, it will be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts set forth above. Rather, the specific features and acts described above are set forth as example forms of implementing the claims.

이 명세서에서 언급된 방법은 특정 실시예들을 통하여 설명되었지만, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽힐 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다. Although the method mentioned in this specification has been described through specific embodiments, it may be implemented as computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. In addition, the computer-readable recording medium is distributed in a computer system connected through a network, so that the computer-readable code can be stored and executed in a distributed manner. And, functional programs, codes, and code segments for implementing the embodiments can be easily inferred by programmers in the art to which the present invention pertains.

본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present disclosure has been described with reference to some embodiments herein, it should be understood that various modifications and changes can be made without departing from the scope of the present disclosure as understood by those skilled in the art to which the present invention pertains. something to do. Further, such modifications and variations are intended to fall within the scope of the claims appended hereto.

110: IoT 디바이스 120: 보안 모듈
130: 게이트웨이 140: 인증 센터
150: 인증 서버 160: 클라우드
170: IoT 서비스 (서버)
110: IoT device 120: security module
130: gateway 140: authentication center
150: authentication server 160: cloud
170: IoT service (server)

Claims (10)

하드웨어 보안 모듈을 이용한 IoT 클라우드를 통한 디바이스 인증 시스템에 있어서,
IoT 서비스를 제공하는 클라우드에 연결 가능한 IoT 디바이스; 및
상기 IoT 디바이스에 연결되며, 상기 IoT 디바이스의 인증을 위한 공개키 및 개인키 쌍을 생성하는 보안 모듈을 포함하며,
상기 IoT 디바이스는, 상기 IoT 디바이스가 상기 클라우드에 온보딩(onboarding) 될 때, 상기 IoT 디바이스를 인증 서버에 등록하기 위하여, 제1 디바이스 식별자를 상기 클라우드를 통해 상기 인증 서버로 전송하고, 디바이스 인증서 생성을 위해 상기 공개키 및 제2 디바이스 식별자를 포함하는 인증서 생성 요청을 상기 클라우드를 통해 상기 인증 서버로 전송하고,
상기 인증 서버는, 상기 제1 디바이스 식별자와 상기 제2 디바이스 식별자가 서로 매칭되는 경우에 상기 제2 디바이스 식별자를 포함하는 상기 디바이스 인증서를 생성하고, 상기 생성된 디바이스 인증서에 서명을 실행하고,
상기 IoT 디바이스는, 상기 인증서 생성 요청에 따라 상기 인증 서버가 생성한 상기 디바이스 인증서를 수신하고,
상기 보안 모듈은, 상기 보안 모듈에 포함된 보안 저장소에 상기 개인키 및 상기 디바이스 인증서를 저장하고,
상기 보안 저장소는, 외부 장치가 상기 보안 저장소의 특정 저장 영역에 접근하는 것을 방지할 수 있도록 구성되는, 시스템.
In the device authentication system through the IoT cloud using a hardware security module,
IoT devices connectable to the cloud providing IoT services; and
It is connected to the IoT device and includes a security module that generates a public key and a private key pair for authentication of the IoT device,
When the IoT device is onboarded to the cloud, the IoT device transmits a first device identifier to the authentication server through the cloud to register the IoT device with the authentication server, and generates a device certificate transmits a certificate generation request including the public key and a second device identifier to the authentication server through the cloud for
The authentication server generates the device certificate including the second device identifier when the first device identifier and the second device identifier match each other, and signs the generated device certificate;
The IoT device receives the device certificate generated by the authentication server according to the certificate generation request,
The security module stores the private key and the device certificate in a secure storage included in the security module,
wherein the secure storage is configured to prevent an external device from accessing a specific storage area of the secure storage.
삭제delete 삭제delete 제1항에 있어서,
상기 IoT 디바이스는, 상기 인증서 생성 요청을 암호화하여 상기 인증 서버로 전송하고,
상기 인증 서버가 상기 암호화된 인증서 생성 요청을 복호화하여 상기 인증서 생성 요청에 따라 상기 디바이스 인증서를 생성하는,
시스템.
According to claim 1,
The IoT device encrypts the certificate generation request and transmits it to the authentication server,
The authentication server decrypts the encrypted certificate generation request to generate the device certificate according to the certificate generation request,
system.
IoT 클라우드를 통한 디바이스 인증을 지원하는 하드웨어 보안 모듈에 있어서,
클라우드에 연결 가능한 IoT 디바이스에 연결되는 입출력 모듈을 포함하는 MCU(Micro Controller); 및
상기 IoT 디바이스의 인증을 위한 공개키 및 개인키 쌍을 생성하는 보안 요소를 포함하고,
상기 보안 요소는, 상기 IoT 디바이스가 상기 클라우드에 온보딩 될 때, 상기 IoT 디바이스를 인증 서버에 등록하기 위하여, 제1 디바이스 식별자를 상기 클라우드를 통해 상기 인증 서버로 전송하고, 상기 IoT 디바이스가 디바이스 인증서 생성을 위해 상기 공개키 및 제2 디바이스 식별자를 포함하는 인증서 생성 요청을 상기 클라우드를 통해 인증 서버로 전송하도록 구성되고,
상기 인증 서버는, 상기 제1 디바이스 식별자와 상기 제2 디바이스 식별자가 서로 매칭되는 경우에 상기 제2 디바이스 식별자를 포함하는 상기 디바이스 인증서를 생성하고, 상기 생성된 디바이스 인증서에 서명을 실행하고,
상기 IoT 디바이스는, 상기 인증서 생성 요청에 따라 상기 인증 서버가 생성한 상기 디바이스 인증서를 수신하고,
상기 보안 모듈은, 상기 보안 모듈에 포함된 보안 저장소에 상기 개인키 및 상기 디바이스 인증서를 저장하고,
상기 보안 저장소는, 외부 장치가 상기 보안 저장소의 특정 저장 영역에 접근하는 것을 방지할 수 있도록 구성되는, 하드웨어 보안 모듈.
In the hardware security module supporting device authentication through IoT cloud,
MCU (Micro Controller) including an input/output module connected to an IoT device that can be connected to the cloud; and
A security element for generating a public key and a private key pair for authentication of the IoT device,
The secure element, when the IoT device is onboarded to the cloud, transmits a first device identifier to the authentication server through the cloud to register the IoT device with an authentication server, and the IoT device receives a device certificate and transmit a certificate generation request including the public key and a second device identifier to the authentication server through the cloud for generation;
The authentication server generates the device certificate including the second device identifier when the first device identifier and the second device identifier match each other, and signs the generated device certificate;
The IoT device receives the device certificate generated by the authentication server according to the certificate generation request,
The security module stores the private key and the device certificate in a secure storage included in the security module,
wherein the secure storage is configured to prevent an external device from accessing a specific storage area of the secure storage.
삭제delete 삭제delete 하드웨어 보안 모듈을 이용한 IoT 클라우드를 통한 디바이스 인증 방법에 있어서,
IoT 서비스를 제공하는 클라우드에 연결 가능한 IoT 디바이스를 준비하는 단계;
상기 IoT 디바이스에 연결된 보안 모듈에 의해, 상기 IoT 디바이스의 인증을 위한 공개키 및 개인키 쌍을 생성하는 단계;
상기 IoT 디바이스에 의해, 상기 IoT 디바이스가 상기 IoT 클라우드에 온보딩 될 때, 상기 IoT 디바이스를 인증 서버에 등록하기 위하여, 제1 디바이스 식별자를 상기 클라우드를 통해 상기 인증 서버로 전송하는 단계;
상기 IoT 디바이스에 의해, 디바이스 인증서 생성을 위해 상기 공개키 및 제2 디바이스 식별자를 포함하는 인증서 생성 요청을 상기 클라우드를 통해 인증 서버로 전송하는 단계;
상기 인증 서버에 의해, 상기 제1 디바이스 식별자와 상기 제2 디바이스 식별자가 서로 매칭되는 경우에 상기 제2 디바이스 식별자를 포함하는 상기 디바이스 인증서를 생성하고, 상기 생성된 디바이스 인증서에 서명을 실행하는 단계;
상기 IoT 디바이스에 의해, 상기 인증서 생성 요청에 따라 상기 인증 서버가 생성한 상기 디바이스 인증서를 수신하는 단계; 및
상기 보안 모듈에 의해, 상기 보안 모듈에 포함된 보안 저장소에 상기 개인키 및 상기 디바이스 인증서를 저장하는 단계를 포함하고,
상기 보안 저장소는, 외부 장치가 상기 보안 저장소의 특정 저장 영역에 접근하는 것을 방지할 수 있도록 구성되는, 방법.
In the device authentication method through the IoT cloud using a hardware security module,
preparing an IoT device connectable to a cloud that provides an IoT service;
generating, by a security module connected to the IoT device, a public key and a private key pair for authentication of the IoT device;
transmitting, by the IoT device, a first device identifier to the authentication server through the cloud to register the IoT device with an authentication server when the IoT device is onboarded to the IoT cloud;
transmitting, by the IoT device, a certificate generation request including the public key and a second device identifier to an authentication server through the cloud to generate a device certificate;
generating, by the authentication server, the device certificate including the second device identifier when the first device identifier and the second device identifier match each other, and signing the generated device certificate;
receiving, by the IoT device, the device certificate generated by the authentication server according to the certificate generation request; and
Storing, by the security module, the private key and the device certificate in a secure storage included in the security module,
wherein the secure storage is configured to prevent an external device from accessing a specific storage area of the secure storage.
삭제delete 컴퓨팅 장치의 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 비일시적 컴퓨터 판독가능 저장매체로서,
상기 하나 이상의 프로그램은,
IoT 서비스를 제공하는 클라우드에 연결 가능한 IoT 디바이스를 준비하는 단계;
상기 IoT 디바이스에 연결된 보안 모듈에 의해, 상기 IoT 디바이스의 인증을 위한 공개키 및 개인키 쌍을 생성하는 단계;
상기 IoT 디바이스에 의해, 상기 IoT 디바이스가 상기 클라우드에 온보딩 될 때, 상기 IoT 디바이스를 인증 서버에 등록하기 위하여, 제1 디바이스 식별자를 상기 클라우드를 통해 상기 인증 서버로 전송하는 단계;
상기 IoT 디바이스에 의해, 디바이스 인증서 생성을 위해 상기 공개키 및 제2 디바이스 식별자를 포함하는 인증서 생성 요청을 상기 클라우드를 통해 상기 인증 서버로 전송하는 단계;
상기 인증 서버에 의해, 상기 제1 디바이스 식별자와 상기 제2 디바이스 식별자가 서로 매칭되는 경우에 상기 제2 디바이스 식별자를 포함하는 상기 디바이스 인증서를 생성하고, 상기 생성된 디바이스 인증서에 서명을 실행하는 단계;
상기 IoT 디바이스에 의해, 상기 인증서 생성 요청에 따라 상기 인증 서버가 생성한 상기 디바이스 인증서를 수신하는 단계; 및
상기 보안 모듈에 의해, 상기 보안 모듈에 포함된 보안 저장소에 상기 개인키 및 상기 디바이스 인증서를 저장하는 단계를 포함하는 방법을 수행하기 위한 명령어들을 포함하며,
상기 보안 저장소는, 외부 장치가 상기 보안 저장소의 특정 저장 영역에 접근하는 것을 방지할 수 있도록 구성되는,
비일시적 컴퓨터 판독가능 저장매체.
A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computing device, comprising:
the one or more programs,
preparing an IoT device connectable to a cloud that provides an IoT service;
generating, by a security module connected to the IoT device, a public key and a private key pair for authentication of the IoT device;
transmitting, by the IoT device, a first device identifier to the authentication server through the cloud to register the IoT device with an authentication server when the IoT device is onboarded to the cloud;
transmitting, by the IoT device, a certificate generation request including the public key and a second device identifier to the authentication server through the cloud to generate a device certificate;
generating, by the authentication server, the device certificate including the second device identifier when the first device identifier and the second device identifier match each other, and signing the generated device certificate;
receiving, by the IoT device, the device certificate generated by the authentication server according to the certificate generation request; and
and instructions for performing, by the security module, a method comprising the step of storing the private key and the device certificate in a secure storage included in the security module,
The secure storage is configured to prevent an external device from accessing a specific storage area of the secure storage,
A non-transitory computer-readable storage medium.
KR1020190171024A 2019-11-18 2019-12-19 SYSTEMS AND METHODS FOR AUTHENTICATING IoT DEVICE THROUGH CLOUD USING HARDWARE SECURITY MODULE KR102377045B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/724,207 US11336635B2 (en) 2019-11-18 2019-12-21 Systems and methods for authenticating device through IoT cloud using hardware security module

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190147924 2019-11-18
KR1020190147924 2019-11-18

Publications (2)

Publication Number Publication Date
KR20210060282A KR20210060282A (en) 2021-05-26
KR102377045B1 true KR102377045B1 (en) 2022-03-21

Family

ID=76137677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190171024A KR102377045B1 (en) 2019-11-18 2019-12-19 SYSTEMS AND METHODS FOR AUTHENTICATING IoT DEVICE THROUGH CLOUD USING HARDWARE SECURITY MODULE

Country Status (1)

Country Link
KR (1) KR102377045B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043492A1 (en) * 2022-08-26 2024-02-29 삼성전자 주식회사 Electronic device for managing internet of things device and operation method of therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100991658B1 (en) * 2010-03-26 2010-11-04 주식회사 솔라시아 Door lock setting system using usim card and method thereof
KR101688812B1 (en) * 2016-04-18 2016-12-22 (주)케이사인 Method and system of authorizing/managing iot device based on owner's authorization server

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200466551Y1 (en) * 2010-12-15 2013-04-24 주식회사 오렌지아이티 Multifunctional pin pad
KR102012262B1 (en) * 2017-01-24 2019-10-22 한국전자통신연구원 Key management method and fido authenticator software authenticator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100991658B1 (en) * 2010-03-26 2010-11-04 주식회사 솔라시아 Door lock setting system using usim card and method thereof
KR101688812B1 (en) * 2016-04-18 2016-12-22 (주)케이사인 Method and system of authorizing/managing iot device based on owner's authorization server

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043492A1 (en) * 2022-08-26 2024-02-29 삼성전자 주식회사 Electronic device for managing internet of things device and operation method of therefor

Also Published As

Publication number Publication date
KR20210060282A (en) 2021-05-26

Similar Documents

Publication Publication Date Title
US20220245724A1 (en) Securing distributed electronic wallet shares
US11258781B2 (en) Context and device state driven authorization for devices
US11336635B2 (en) Systems and methods for authenticating device through IoT cloud using hardware security module
US11386420B2 (en) Contextual authentication of an electronic wallet
US10341321B2 (en) System and method for policy based adaptive application capability management and device attestation
KR102116399B1 (en) Content security at the service layer
US20190034917A1 (en) Tracking an Electronic Wallet Using Radio Frequency Identification (RFID)
US20190034919A1 (en) Securing Electronic Wallet Transactions
US20190034936A1 (en) Approving Transactions from Electronic Wallet Shares
US9697371B1 (en) Remote authorization of usage of protected data in trusted execution environments
US11356450B2 (en) Managing data access
KR102443259B1 (en) Systems and methods for providing iot security service using hardware security module
WO2015180691A1 (en) Key agreement method and device for verification information
US9197420B2 (en) Using information in a digital certificate to authenticate a network of a wireless access point
JP2019531567A (en) Device authentication system and method
US11290269B2 (en) Self certification of devices for secure transactions
US11595398B1 (en) Access control for named domain networking
Varadharajan et al. Data security and privacy in the internet of things (iot) environment
JP2009543211A (en) Content management system and method using a generic management structure
EP3048553B1 (en) Method for distributing applets, and entities for distributing applets
WO2019037603A1 (en) Method and device for carrying out wireless connection pre-authorization for user equipment
CN106358246B (en) Access token issuing method and related equipment
Stepień et al. Securing connection and data transfer between devices and IoT cloud service
KR102377045B1 (en) SYSTEMS AND METHODS FOR AUTHENTICATING IoT DEVICE THROUGH CLOUD USING HARDWARE SECURITY MODULE
US20200119919A1 (en) Electronic device authentication managing apparatus

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant