KR20230056251A - Signature method and system based on key insulation - Google Patents

Signature method and system based on key insulation Download PDF

Info

Publication number
KR20230056251A
KR20230056251A KR1020210140070A KR20210140070A KR20230056251A KR 20230056251 A KR20230056251 A KR 20230056251A KR 1020210140070 A KR1020210140070 A KR 1020210140070A KR 20210140070 A KR20210140070 A KR 20210140070A KR 20230056251 A KR20230056251 A KR 20230056251A
Authority
KR
South Korea
Prior art keywords
key
signature
computing devices
data
certificate
Prior art date
Application number
KR1020210140070A
Other languages
Korean (ko)
Other versions
KR102626868B1 (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 KR1020210140070A priority Critical patent/KR102626868B1/en
Priority to PCT/KR2021/014794 priority patent/WO2023068402A1/en
Publication of KR20230056251A publication Critical patent/KR20230056251A/en
Application granted granted Critical
Publication of KR102626868B1 publication Critical patent/KR102626868B1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention relates to a key insulation-based signature method. The key insulation-based signature method comprises the steps of: each of a plurality of computing devices generating a key pair containing a public key and a private key and requiring a certificate for a key pair generated by an authentication system of a certificate authority; the authentication system generating a certificate corresponding to each of a plurality of computing devices and providing the generated certificate to each of a plurality of computing devices; if a certificate is generated by the authentication system, each of a plurality of computing devices receiving a key insulation value generated from a helper system performing key insulation; each of a plurality of computing devices using the received key insulation value to generate a signature key for signature; and each of a plurality of computing devices using signature information containing the public key, the certificate, and the generated signature key to perform the signature on data. According to the present invention, the integrity of data, etc. can be effectively maintained.

Description

키 격리 기반의 서명 방법 및 시스템{SIGNATURE METHOD AND SYSTEM BASED ON KEY INSULATION}Signature method and system based on key isolation {SIGNATURE METHOD AND SYSTEM BASED ON KEY INSULATION}

본 발명은 키 격리 기반의 서명 방법 및 시스템에 관한 것으로, 서명을 위한 키를 지속적으로 업데이트하는 키 격리 기반의 서명 방법 및 시스템에 관한 것이다.The present invention relates to a key isolation-based signature method and system, and relates to a key isolation-based signature method and system for continuously updating a key for signing.

최근 다양한 분야에서 장치간 통신을 수행하며 필요한 데이터를 주고받을 수 있는 IoT(Internet of Things) 기술 및 환경이 적용되고 있다. 특히, 생산, 운송 또는 에너지 분야 등의 산업 환경에서 프로세스의 자동화를 위해 산업용 IIOT(Industrial Internet of Things) 기술이 이용되고 있다. 그러나, 이러한 산업 환경에서 사용되는 IoT 장치와 연관된 데이터가 위변조 되거나, 악성코드 등에 감염되는 경우, 산업 환경에 심각한 문제가 발생할 수 있다.Recently, Internet of Things (IoT) technologies and environments capable of exchanging necessary data while performing communication between devices in various fields are being applied. In particular, Industrial Internet of Things (IIOT) technology is being used for automation of processes in industrial environments such as production, transportation, or energy fields. However, when data associated with IoT devices used in such an industrial environment is forged or falsified or infected with malicious codes, serious problems may occur in the industrial environment.

본 발명은 상기와 같은 문제점을 해결하기 위한 키 격리 기반의 서명 방법, 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램, 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 매체 및 시스템(장치)을 제공한다. The present invention provides a key isolation-based signature method, a computer program stored in a computer readable medium, a computer readable medium and a system (device) in which the computer program is stored to solve the above problems.

본 발명은 방법, 시스템(장치) 또는 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램, 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 매체를 포함한 다양한 방식으로 구현될 수 있다.The present invention can be implemented in a variety of ways, including a method, system (device) or computer program stored on a computer readable medium, and a computer readable medium on which the computer program is stored.

본 발명의 일 실시예에 따르면, 키 격리 기반의 서명 방법은, 복수의 컴퓨팅 장치의 각각에 의해, 공개키 및 개인키를 포함하는 키 쌍을 생성하고, 인증기관의 인증 시스템으로 생성된 키 쌍에 대한 인증서를 요청하는 단계, 인증 시스템은 복수의 컴퓨팅 장치의 각각에 대응하는 인증서를 생성하고, 생성된 인증서를 복수의 컴퓨팅 장치의 각각에 제공하는 단계, 인증 시스템에 의해 인증서가 생성된 경우, 복수의 컴퓨팅 장치의 각각은 키 격리를 수행하는 헬퍼 시스템으로부터 생성된 키 격리 값을 수신하는 단계, 복수의 컴퓨팅 장치의 각각은 수신된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성하는 단계 및 복수의 컴퓨팅 장치의 각각은 공개키, 인증서 및 생성된 서명 키를 포함하는 서명 정보를 이용하여 데이터에 대한 서명을 수행하는 단계를 포함한다.According to an embodiment of the present invention, a key isolation-based signature method generates a key pair including a public key and a private key by each of a plurality of computing devices, and the key pair generated by an authentication system of a certification authority. Requesting a certificate for, the authentication system generating a certificate corresponding to each of the plurality of computing devices, and providing the generated certificate to each of the plurality of computing devices, when the certificate is generated by the authentication system, Each of the plurality of computing devices receives a key isolation value generated from a helper system that performs key isolation, each of the plurality of computing devices generates a signing key for signing using the received key isolation value, and Each of the plurality of computing devices performs signing on data using signature information including a public key, a certificate, and a generated signing key.

본 발명의 일 실시예에 따르면, 복수의 컴퓨팅 장치의 각각은 사전 결정된 시간 간격 마다 헬퍼 시스템에 의해 업데이트된 키 격리 값을 수신하는 단계 및 복수의 컴퓨팅 장치의 각각은 업데이트된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성하는 단계를 더 포함한다.According to one embodiment of the present invention, each of the plurality of computing devices receives the key isolation value updated by the helper system at each predetermined time interval, and each of the plurality of computing devices uses the updated key isolation value Further comprising generating a signing key for signing.

본 발명의 일 실시예에 따르면, 복수의 컴퓨팅 장치의 각각은 서명된 데이터 및 서명을 게이트웨이에 전송하는 단계, 서명된 데이터 및 서명을 수신한 게이트웨이는 복수의 컴퓨팅 장치의 각각의 공개키 및 인증서를 포함하는 검증 정보를 이용하여, 서명된 데이터 및 서명을 검증하는 단계, 데이터 및 서명이 검증된 경우, 게이트웨이는 데이터를 결합하여 결합 데이터를 생성하는 단계, 게이트웨이는 결합 서명 정보를 이용하여 결합 데이터에 대한 결합 서명을 수행하는 단계 및 게이트웨이는 생성된 결합 데이터 및 결합 서명을 저장 장치에 제공하는 단계를 더 포함한다.According to an embodiment of the present invention, each of the plurality of computing devices transmits signed data and signatures to a gateway, and the gateway receiving the signed data and signatures transmits the public key and certificate of each of the plurality of computing devices. verifying the signed data and the signature using the included verification information; if the data and the signature are verified, combining the data and generating combined data by the gateway; Performing a binding signature for the binding signature and providing, by the gateway, the generated binding data and binding signature to a storage device.

본 발명의 일 실시예에 따르면, 저장 장치에 제공된 결합 데이터는 결합 서명의 검증에 의해 검증된다.According to one embodiment of the present invention, the binding data provided to the storage device is verified by verifying the binding signature.

본 발명의 일 실시예에 따르면, 인증서가 생성된 경우, 인증 시스템은 인증서와 연관된 인증서 정보를 생성하고, 생성된 인증서 정보를 헬퍼 시스템으로 전송하는 단계 및 헬퍼 시스템은 수신된 인증서 정보를 이용하여 키 격리 값을 생성하는 단계를 더 포함한다.According to an embodiment of the present invention, when a certificate is generated, the authentication system generates certificate information associated with the certificate, transmits the generated certificate information to a helper system, and the helper system uses the received certificate information to key Further comprising generating an isolation value.

본 발명의 일 실시예에 따르면, 복수의 컴퓨팅 장치의 각각은 수신된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성하는 단계는, 복수의 컴퓨팅 장치의 각각은 공개 해시 함수 및 수신된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성하는 단계를 포함한다.According to an embodiment of the present invention, the step of generating a signing key for a signature using each of the plurality of computing devices using the received key isolation value, wherein each of the plurality of computing devices uses the public hash function and the received key isolation value. and generating a signing key for signing using the value.

본 발명의 일 실시예에 따른 상술한 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공된다.A computer program stored in a computer readable recording medium is provided to execute the above-described method according to an embodiment of the present invention on a computer.

본 발명의 다양한 실시예에서 키 격리에 의해 업데이트된 키를 이용하여 서명을 수행하는 경우, 데이터 등의 무결성을 효과적으로 유지할 수 있다.In various embodiments of the present invention, when signing is performed using a key updated by key isolation, integrity of data and the like can be effectively maintained.

본 발명의 다양한 실시예에서 서명을 위해 사용되는 서명 키는 정기적으로 업데이트될 수 있으며, 이에 따라, 키 대체 등을 이용한 공격자의 공격 등이 효과적으로 차단될 수 있다.In various embodiments of the present invention, a signing key used for signing may be regularly updated, and thus an attack by an attacker using key replacement may be effectively blocked.

본 발명의 다양한 실시예에서 하나의 서명으로 복수의 데이터에 대한 검증을 수행할 수 있으므로, 서명 검증에 소요되는 연산, 시간 등이 효과적으로 감소될 수 있다.In various embodiments of the present invention, since a plurality of data can be verified with one signature, calculations and time required for signature verification can be effectively reduced.

본 발명의 다양한 실시예에서 키 격리를 이용함으로써 서명 및 데이터에 대한 보안이 강화될 수 있으며, 데이터 및 서명을 결합하여 관리함으로써 키 에스크로 문제 등이 효과적으로 해결될 수 있다.Security of signatures and data can be enhanced by using key isolation in various embodiments of the present invention, and key escrow problems can be effectively solved by combining and managing data and signatures.

본 발명의 다양한 실시예에서 복잡한 연산을 수행하여 서명 등을 수행하고, 특정 시간 간격 마다 서명 키를 업데이트함으로써, 컴퓨팅 장치는 새로운 개인키 및 공개키를 생성하여 키 대체를 수행하려는 공격자의 공격을 효과적으로 차단할 수 있다.In various embodiments of the present invention, by performing complex operations such as signing and updating the signing key at specific time intervals, the computing device generates new private and public keys to effectively prevent an attacker's attack to perform key replacement. can block

본 발명의 다양한 실시예에서 복수의 데이터를 하나로 결합하여 관리함으로써, 데이터 관리 및 서명 검증에 소요되는 자원 등이 효율적으로 감소될 수 있다.By combining and managing a plurality of data in various embodiments of the present invention, resources required for data management and signature verification can be efficiently reduced.

본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자("통상의 기술자"라 함)에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned are clear to those skilled in the art (referred to as "ordinary technicians") from the description of the claims. will be understandable.

본 발명의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 발명의 일 실시예에 따른 키 격리 기반의 서명 방법을 수행하는 구성을 나타내는 예시적인 블록도이다.
도 2는 본 발명의 일 실시예에 따른 인증기관, 컴퓨팅 장치 및 헬퍼 사이에서 서명 키가 생성되는 과정을 나타내는 예시적인 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 게이트웨이, 컴퓨팅 장치 및 헬퍼 사이에서 키 격리가 수행되는 과정을 나타내는 예시적인 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 제1 컴퓨팅 장치, 제2 컴퓨팅 장치 및 게이트웨이 사이에서 서명 검증 및 서명 결합이 수행되는 과정을 나타내는 예시적인 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 게이트웨이, 저장 장치 및 사용자 단말 사이에서 결합 서명 검증이 수행되는 과정을 나타내는 예시적인 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 키 격리 기반의 서명 방법의 예시를 나타내는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 키 격리 방법의 예시를 나타내는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 내부 구성을 나타내는 블록도이다.
BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of the present invention will be described with reference to the accompanying drawings described below, wherein like reference numbers indicate like elements, but are not limited thereto.
1 is an exemplary block diagram showing a configuration for performing a key isolation-based signature method according to an embodiment of the present invention.
2 is an exemplary flowchart illustrating a process of generating a signing key between a certification authority, a computing device, and a helper according to an embodiment of the present invention.
3 is an exemplary flow diagram illustrating a process in which key isolation is performed between a gateway, a computing device and a helper according to an embodiment of the present invention.
4 is an exemplary flowchart illustrating a process of performing signature verification and signature combining between a first computing device, a second computing device and a gateway according to an embodiment of the present invention.
5 is an exemplary flowchart illustrating a process of performing combined signature verification between a gateway, a storage device, and a user terminal according to an embodiment of the present invention.
6 is a flowchart illustrating an example of a key isolation-based signature method according to an embodiment of the present invention.
7 is a flowchart illustrating an example of a key isolation method according to an embodiment of the present invention.
8 is a block diagram showing an internal configuration of a computing device according to an embodiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, specific details for the implementation of the present invention 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 invention, detailed descriptions of well-known functions or configurations will be omitted.

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

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

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

본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.Expressions in the singular number in this specification include plural expressions unless the context clearly dictates that they are singular. Also, plural expressions include singular expressions unless the context clearly specifies that they are plural. When it is said that a certain part includes a certain component in the entire specification, this means that it may further include other components without excluding other components unless otherwise stated.

본 발명에서, '포함하다', '포함하는' 등의 용어는 특징들, 단계들, 동작들, 요소들 및/또는 구성 요소들이 존재하는 것을 나타낼 수 있으나, 이러한 용어가 하나 이상의 다른 기능들, 단계들, 동작들, 요소들, 구성 요소들 및/또는 이들의 조합이 추가되는 것을 배제하지는 않는다.In the present invention, the terms 'comprise', 'comprising' and the like may indicate that features, steps, operations, elements and/or components are present, but may indicate that such terms include one or more other functions, It is not excluded that steps, actions, elements, components, and/or combinations thereof may be added.

본 발명에서, 특정 구성 요소가 임의의 다른 구성 요소에 '결합', '조합', '연결' 되거나, '반응' 하는 것으로 언급된 경우, 특정 구성 요소는 다른 구성 요소에 직접 결합, 조합 및/또는 연결되거나, 반응할 수 있으나, 이에 한정되지 않는다. 예를 들어, 특정 구성 요소와 다른 구성 요소 사이에 하나 이상의 중간 구성 요소가 존재할 수 있다. 또한, 본 발명에서 "및/또는"은 열거된 하나 이상의 항목의 각각 또는 하나 이상의 항목의 적어도 일부의 조합을 포함할 수 있다.In the present invention, when a specific component is referred to as being 'coupled', 'combined', 'connected', or 'reacted' to any other component, the specific component is directly coupled to, combined with, and/or other components. or may be linked or reacted, but is not limited thereto. For example, one or more intermediate components may exist between certain components and other components. Also, in the present invention, “and/or” may include each of one or more items listed or a combination of at least a part of one or more items.

본 발명에서, '제1', '제2' 등의 용어는 특정 구성 요소를 다른 구성 요소와 구별하기 위해 사용되는 것으로, 이러한 용어에 의해 상술된 구성 요소가 제한되진 않는다. 예를 들어, "제1" 구성 요소는 "제2" 구성 요소와 동일하거나 유사한 형태의 요소일 수 있다.In the present invention, terms such as 'first' and 'second' are used to distinguish a specific component from other components, and the aforementioned components are not limited by these terms. For example, the “first” element may have the same or similar shape as the “second” element.

본 발명에서, '서명(signature)' 및/또는 '전자 서명(digital signature)'은 임의의 컴퓨팅 장치에 의해 생성된 데이터, 메시지 등의 실질적인 내용 등의 무결성 등을 보장하기 위해 전자적 문서에 서명하는 방법, 또는 이러한 서명을 지칭할 수 있다.In the present invention, 'signature' and/or 'digital signature' refers to signing an electronic document in order to guarantee the integrity of data, messages, etc. generated by an arbitrary computing device. method, or such a signature.

본 발명에서, '인증기관(certification authority)'은 컴퓨팅 장치의 공개키 등을 인증하는 인증 시스템 등을 지칭할 수 있다. 또한, '인증서(certificate)'는 컴퓨팅 장치의 신분과 공개키를 연결해주는 문서일 수 있으며, 인증기관의 비밀키 등으로 전자 서명되어 생성될 수 있다.In the present invention, a 'certification authority' may refer to an authentication system that authenticates a public key of a computing device. Also, a 'certificate' may be a document that connects the identity of a computing device and a public key, and may be digitally signed and generated with a private key of a certification authority.

본 발명에서, 'IoT(Internet of Things)'는 인터넷을 기반으로 모든 사물을 연결하여 정보를 상호 소통하는 지능형 기술 및/또는 서비스를 지칭할 수 있으며, 'IoT 장치'는 이와 같이 인터넷을 기반으로 다른 IoT 장치와 연결된 사물, 장치 등을 지칭할 수 있다. 예를 들어, 컴퓨팅 장치는 IoT 장치를 포함할 수 있다.In the present invention, 'IoT (Internet of Things)' may refer to an intelligent technology and/or service that mutually communicates information by connecting all objects based on the Internet, and 'IoT device' refers to an Internet-based It may refer to things, devices, etc. connected to other IoT devices. For example, a computing device may include an IoT device.

도 1은 본 발명의 일 실시예에 따른 키 격리 기반의 서명 방법을 수행하는 구성을 나타내는 예시적인 블록도이다. 일 실시예에 따르면, 키 격리(key insulation)는 서명에 사용되는 개인키(private key), 공개키(public key) 등의 노출을 차단하고 보안을 유지하기 위해, 공개키 등을 정기적으로 업데이트(update)하는 기법, 기술, 알고리즘 등을 지칭할 수 있다. 키 격리에 의해 업데이트된 키를 이용하여 서명(signature)을 수행하는 경우, 데이터 등의 무결성을 효과적으로 유지할 수 있다.1 is an exemplary block diagram showing a configuration for performing a key isolation-based signature method according to an embodiment of the present invention. According to one embodiment, the key insulation is to periodically update the public key, etc. update) can refer to techniques, technologies, algorithms, etc. When a signature is performed using a key updated by key isolation, integrity of data and the like can be effectively maintained.

도시된 것과 같이, 키 격리 기반의 서명 방법은 인증기관(또는 인증기관의 인증 시스템)(110), 헬퍼(또는 헬퍼 시스템)(120), 복수의 컴퓨팅 장치(130) 등에 의해 수행될 수 있다. 여기서, 인증기관(110)은 컴퓨팅 장치들(130)로부터 수신된 정보를 기초로 컴퓨팅 장치들(130)의 신분과 공개키 등을 인증하기 위한 시스템을 지칭할 수 있으며, 헬퍼(또는 헬퍼 시스템)(120)는 컴퓨팅 장치들(130)과 연관된 키 격리를 수행하기 위한 시스템을 지칭할 수 있다. 또한, 컴퓨팅 장치(130)는 데이터, 메시지 등을 생성하거나, 생성된 데이터, 메시지 등에 대한 서명을 수행하는 컴퓨팅 장치를 지칭할 수 있으며, 예를 들어, IoT(Internet of Things) 장치, 센서(sensor) 등을 포함할 수 있다.As shown, the key isolation-based signature method may be performed by a certification authority (or authentication system of the certification authority) 110, a helper (or helper system) 120, a plurality of computing devices 130, and the like. Here, the authentication authority 110 may refer to a system for authenticating the identity and public key of the computing devices 130 based on information received from the computing devices 130, and may be a helper (or helper system). 120 may refer to a system for performing key isolation associated with computing devices 130 . In addition, the computing device 130 may refer to a computing device that generates data, messages, etc. or performs signatures on generated data, messages, etc., and may refer to, for example, an Internet of Things (IoT) device or a sensor. ) and the like.

일 실시예에 따르면, 컴퓨팅 장치들(130)은 공개키 및 개인키를 포함하는 키 쌍(key pair)을 생성할 수 있다. 도시된 예에서, 제1 컴퓨팅 장치(130_1), 제2 컴퓨팅 장치(130_2), 제3 컴퓨팅 장치(130_3), 제4 컴퓨팅 장치(130_4), 제5 컴퓨팅 장치(130_5) 및 제6 컴퓨팅 장치(130_6)는 각각 자신에 대응하는 키 쌍을 생성할 수 있다. 예를 들어, 컴퓨팅 장치들(130)은 인증기관(110)으로부터 수신된 공개 파라미터(public parameter) 및 랜덤 값(random value)을 이용하여 키 쌍을 생성할 수 있다. 추가적으로, 인증기관(110)은 보안 파라미터(security parameter)를 수신하여 공개 파라미터, 마스터 비밀키(master secret key), 마스터 공개키(master public key) 등을 생성할 수 있다. 그리고 나서, 인증기관(110)은 컴퓨팅 장치들(130)이 키 쌍을 생성하도록, 공개 파라미터 등을 컴퓨팅 장치들(130)에 제공할 수 있다.According to one embodiment, the computing devices 130 may generate a key pair including a public key and a private key. In the illustrated example, the first computing device 130_1, the second computing device 130_2, the third computing device 130_3, the fourth computing device 130_4, the fifth computing device 130_5, and the sixth computing device ( 130_6) may generate a key pair corresponding to itself. For example, the computing devices 130 may generate a key pair using a public parameter and a random value received from the certification authority 110 . Additionally, the certification authority 110 may generate a public parameter, a master secret key, a master public key, and the like by receiving a security parameter. Then, the certification authority 110 may provide the computing devices 130 with public parameters and the like so that the computing devices 130 generate a key pair.

키 쌍을 생성한 경우, 컴퓨팅 장치들(130)은 인증기관(110)으로 생성된 키 쌍에 대한 인증서(certificate)를 요청할 수 있다. 요청을 수신하는 경우, 인증기관(110)은 컴퓨팅 장치들(130)의 각각의 식별자(identifier, ID), 컴퓨팅 장치들(130)의 공개키, 공개 파라미터 및/또는 인증기관(110)의 마스터 비밀키 등을 이용하여 컴퓨팅 장치들(130)의 각각에 대응하는 인증서를 생성하여 제공할 수 있다. 추가적으로, 이와 같이 인증서가 생성된 경우, 인증기관(110)은 인증서 정보를 생성하고, 생성된 인증서 정보를 헬퍼(120)로 전송할 수 있다. 여기서, 헬퍼(120)는 인증서 정보를 통해 인증서가 생성된 컴퓨팅 장치들(130)을 확인하고, 컴퓨팅 장치들(130)의 각각에 대응하는 키 격리 값을 생성하여 컴퓨팅 장치들(130)에 제공할 수 있다. 여기서, 키 격리 값은 임의의 알고리즘에 의해 생성된 임의의 수 등일 수 있으며, 예를 들어, 컴퓨팅 장치들(130)의 각각에 대응하는 헬퍼(120)의 비밀키를 포함할 수 있다.When a key pair is generated, the computing devices 130 may request a certificate for the generated key pair from the certification authority 110 . Upon receiving the request, the certification authority 110 determines each identifier (ID) of the computing devices 130 , the public key of the computing devices 130 , public parameters, and/or the master of the certification authority 110 . A certificate corresponding to each of the computing devices 130 may be generated and provided using a secret key or the like. Additionally, when a certificate is generated in this way, the certification authority 110 may generate certificate information and transmit the generated certificate information to the helper 120 . Here, the helper 120 checks the computing devices 130 for which certificates have been generated through certificate information, generates a key isolation value corresponding to each of the computing devices 130, and provides it to the computing devices 130. can do. Here, the key isolation value may be an arbitrary number generated by an arbitrary algorithm, and may include, for example, a secret key of the helper 120 corresponding to each of the computing devices 130 .

일 실시예에 따르면, 컴퓨팅 장치들(130)은 헬퍼(120)로부터 수신된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성할 수 있다. 컴퓨팅 장치들(130)은 데이터, 메시지 등을 전송하는 경우, 이와 같이 생성된 서명 키를 이용하여 해당 데이터, 메시지 등에 대한 서명을 수행할 수 있다. 예를 들어, 컴퓨팅 장치들(130)은 사전 결정된 공개 해시 함수(public hash function)를 이용하여 서명 키를 생성하고, 생성된 서명 키를 포함하는 서명 정보를 이용하여 데이터, 메시지 등에 대한 서명을 수행할 수 있다.According to an embodiment, the computing devices 130 may generate a signing key for signing using the key isolation value received from the helper 120 . When the computing devices 130 transmit data, messages, etc., they may sign the corresponding data, messages, etc. using the signing key generated in this way. For example, the computing devices 130 generate a signature key using a predetermined public hash function, and perform signatures on data, messages, etc. using signature information including the generated signature key. can do.

일 실시예에 따르면, 헬퍼(120)는 사전 결정된 시간 간격 마다 컴퓨팅 장치들(130)의 각각에 대응하는 키 격리 값을 업데이트하여 키 격리를 수행할 수 있다. 즉, 컴퓨팅 장치들(130)은 사전 결정된 시간 간격 마다 헬퍼(120)에 의해 업데이트된 키 격리 값을 수신하고, 업데이트된 키 격리 값을 이용하여 서명을 위한 서명 키를 재생성하거나 업데이트할 수 있다. 이와 같은 구성에 의해, 서명을 위해 사용되는 서명 키는 정기적으로 업데이트될 수 있으며, 이에 따라, 키 대체(key replacement) 등을 이용한 공격자의 공격 등이 효과적으로 차단될 수 있다.According to an embodiment, the helper 120 may perform key isolation by updating a key isolation value corresponding to each of the computing devices 130 at predetermined time intervals. That is, the computing devices 130 may receive the key isolation value updated by the helper 120 every predetermined time interval, and regenerate or update a signing key for signing using the updated key isolation value. With this configuration, the signing key used for signing can be regularly updated, and thus an attack by an attacker using key replacement can be effectively blocked.

일 실시예에 따르면, 컴퓨팅 장치들(130)에 의해 생성되거나 처리된 데이터, 메시지 등은 저장 장치(150)에 저장되고 관리될 수 있다. 예를 들어, 저장 장치(150)는 클라우드 시스템(cloud system)을 포함할 수 있다. 이 경우, 컴퓨팅 장치들(130)에 의해 생성되거나 처리된 데이터, 메시지 등은 게이트웨이(140)를 통해 저장 장치(150)로 전달될 수 있다. 여기서, 게이트웨이(140)는 컴퓨팅 장치들(130)에 의해 수신된 데이터, 메시지 등에 대한 서명 검증을 수행하고, 데이터 및/또는 서명에 대한 결합(aggregation)을 수행하는 시스템 및/또는 장치를 지칭할 수 있다. 도시된 예에서, 제1 컴퓨팅 장치(130_1), 제2 컴퓨팅 장치(130_2) 및 제3 컴퓨팅 장치(130_3)에 의해 생성된 데이터는 제1 게이트웨이(140_1)로 전달되어 처리될 수 있으며, 제4 컴퓨팅 장치(130_4), 제5 컴퓨팅 장치(130_5) 및 제6 컴퓨팅 장치(130_6)에 의해 생성된 데이터는 제2 게이트웨이(140_2)로 전달되어 처리될 수 있다.According to one embodiment, data, messages, etc. generated or processed by the computing devices 130 may be stored and managed in the storage device 150 . For example, the storage device 150 may include a cloud system. In this case, data or messages generated or processed by the computing devices 130 may be transferred to the storage device 150 through the gateway 140 . Here, gateway 140 may refer to a system and/or device that performs signature verification on data, messages, etc. received by computing devices 130 and performs aggregation on data and/or signatures. can In the illustrated example, data generated by the first computing device 130_1 , the second computing device 130_2 , and the third computing device 130_3 may be transferred to and processed by the first gateway 140_1 , and Data generated by the computing device 130_4 , the fifth computing device 130_5 , and the sixth computing device 130_6 may be transmitted to the second gateway 140_2 and processed.

일 실시예에 따르면, 서명된 데이터 및 서명을 수신한 게이트웨이(140)는 컴퓨팅 장치들(130) 각각의 공개키 및 인증서를 포함하는 검증 정보를 이용하여, 서명된 데이터 및 서명을 검증할 수 있다. 또한, 데이터 및 서명이 검증된 경우, 게이트웨이(140)는 데이터를 결합하여 결합 데이터를 생성할 수 있다. 또한, 게이트웨이(140)는 결합 서명 정보를 이용하여 결합 데이터에 대한 결합 서명을 수행할 수 있다. 즉, 컴퓨팅 장치들(130)로부터 수신된 복수의 서명은 단일한 결합 서명으로 변환될 수 있다. 이와 같이 생성된 결합 서명 및 결합 데이터는 저장 장치(150)에 제공되어 저장되고 관리될 수 있다.According to an embodiment, the gateway 140 receiving the signed data and signature may verify the signed data and signature using verification information including public keys and certificates of each of the computing devices 130. . Additionally, when the data and signature are verified, gateway 140 may combine the data to generate combined data. In addition, the gateway 140 may perform a combined signature on the combined data using the combined signature information. That is, multiple signatures received from the computing devices 130 may be converted into a single combined signature. The combined signature and combined data generated in this way may be provided to the storage device 150 to be stored and managed.

일 실시예에 따르면, 사용자는 사용자 단말(160)을 통해 저장 장치(150)에 저장된 결합 데이터를 확인할 수 있다. 예를 들어, 사용자 단말(160)은 저장 장치(150)로 결합 데이터에 대한 요청을 전송하고, 저장 장치(150)로부터 결합 데이터를 수신할 수 있다. 이 경우, 사용자 단말(160)은 수신된 결합 데이터에 대한 검증을 수행할 수 있다. 여기서, 사용자 단말(160)은 컴퓨팅 장치들(130)로부터 수신되어 생성된 결합 데이터에 대하여, 단일한 하나의 결합 서명만을 검증함으로써, 간단히 서명 검증을 수행할 수 있다. 이와 같은 구성에 의해, 하나의 서명으로 복수의 데이터에 대한 검증을 수행할 수 있으므로, 서명 검증에 소요되는 연산, 시간 등이 효과적으로 감소될 수 있다.According to an embodiment, a user may check combined data stored in the storage device 150 through the user terminal 160 . For example, the user terminal 160 may transmit a request for combined data to the storage device 150 and receive combined data from the storage device 150 . In this case, the user terminal 160 may perform verification on the received combined data. Here, the user terminal 160 can simply perform signature verification by verifying only one combined signature with respect to the combined data received from the computing devices 130 and created. With this configuration, since a plurality of data can be verified with one signature, calculations and time required for signature verification can be effectively reduced.

도 1에서는 6개의 컴퓨팅 장치(130), 2개의 게이트웨이(140) 등이 존재하는 것으로 도시되었으나, 이에 한정되지 않으며, 임의의 개수의 컴퓨팅 장치 및/또는 게이트웨이가 존재할 수 있다. 또한, 도 1에서는 제1 컴퓨팅 장치(130_1), 제2 컴퓨팅 장치(130_2) 및 제3 컴퓨팅 장치(130_3)로부터 수신된 데이터가 결합되어 하나의 결합 데이터를 형성하고, 제4 컴퓨팅 장치(130_4), 제5 컴퓨팅 장치(130_5) 및 제6 컴퓨팅 장치(130_6)로부터 수신된 데이터가 결합되어 다른 하나의 결합 데이터를 형성하는 것으로 상술되었으나, 이에 한정되지 않으며, 임의의 개수의 컴퓨팅 장치로부터 수신된 데이터가 하나의 결합 데이터를 형성할 수도 있다. 이와 같은 구성에 의해, 키 격리를 이용함으로써 서명 및 데이터에 대한 보안이 강화될 수 있으며, 데이터 및 서명을 결합하여 관리함으로써 키 에스크로 문제(key escrow problem) 등이 효과적으로 해결될 수 있다.In FIG. 1 , six computing devices 130 and two gateways 140 are shown, but the present invention is not limited thereto, and any number of computing devices and/or gateways may exist. In addition, in FIG. 1 , data received from the first computing device 130_1 , the second computing device 130_2 , and the third computing device 130_3 are combined to form one combined data, and the fourth computing device 130_4 , Although it has been described above that the data received from the fifth computing device 130_5 and the sixth computing device 130_6 are combined to form another combined data, it is not limited thereto, and the data received from any number of computing devices. may form one combined data. With this configuration, security for signatures and data can be enhanced by using key isolation, and key escrow problems can be effectively solved by combining and managing data and signatures.

도 2는 본 발명의 일 실시예에 따른 인증기관(110), 컴퓨팅 장치(130) 및 헬퍼(120) 사이에서 서명 키가 생성되는 과정을 나타내는 예시적인 흐름도이다. 일 실시예에 따르면, 인증기관(110)의 인증 시스템, 컴퓨팅 장치(130) 및 헬퍼(120)의 헬퍼 시스템은 키 격리 및 서명 키 생성에 필요한 데이터 및/또는 정보를 주고받을 수 있다.2 is an exemplary flowchart illustrating a process of generating a signing key between the certification authority 110, the computing device 130, and the helper 120 according to an embodiment of the present invention. According to an embodiment, the authentication system of the certification authority 110, the computing device 130, and the helper system of the helper 120 may exchange data and/or information required for key isolation and signature key generation.

일 실시예에 따르면, 컴퓨팅 장치(130)는 공개키 및 개인키를 포함하는 키 쌍을 생성할 수 있다. 예를 들어, 컴퓨팅 장치(130)는 공개 파라미터 및 랜덤 값을 이용하여 키 쌍을 생성할 수 있다. 여기서, 공개키 및 개인키를 포함하는 키 쌍은 다음의 수학식 1과 같이 생성되거나 결정될 수 있다.According to one embodiment, the computing device 130 may generate a key pair including a public key and a private key. For example, computing device 130 may generate a key pair using a public parameter and a random value. Here, a key pair including a public key and a private key may be generated or determined as in Equation 1 below.

Figure pat00001
Figure pat00001

여기서,

Figure pat00002
Figure pat00003
는 컴퓨팅 장치(130)에 의해 생성된 공개키 및 개인키를 나타낼 수 있고,
Figure pat00004
는 컴퓨팅 장치(130)의 식별자(identifier)를 나타낼 수 있다. 또한,
Figure pat00005
는 임의의 알고리즘에 의해 결정되거나 산출된 랜덤 값으로써,
Figure pat00006
를 만족하는 값일 수 있으며,
Figure pat00007
는 공개키 및 개인키 생성을 위한 임의의 알고리즘에서 사용되는 그룹 G의 특정 포인트(point)일 수 있다.here,
Figure pat00002
and
Figure pat00003
May represent a public key and a private key generated by the computing device 130,
Figure pat00004
may represent an identifier of the computing device 130. also,
Figure pat00005
Is a random value determined or calculated by an arbitrary algorithm,
Figure pat00006
It may be a value that satisfies
Figure pat00007
may be a specific point of group G used in an arbitrary algorithm for generating public and private keys.

일 실시예에 따르면, 컴퓨팅 장치(130)는 메시지에 대한 인증, 부인방지, 메시지의 무결성 검증 등을 위해 공개키 및 개인키를 이용하여 데이터, 메시지 등에 대한 전자 서명을 수행하여 전송할 수 있다. 또한, 메시지 등을 수신한 수신자는 송신자(예: 컴퓨팅 장치(130))의 공개키로 복호화하여 서명 검증을 수행할 수 있다. 이 경우, 전자 서명 시 사용된 공개키 등이 컴퓨팅 장치(130)의 공개키 인지 여부에 대한 증명이 필요할 수 있다.According to an embodiment, the computing device 130 may perform and transmit electronic signatures on data and messages using public keys and private keys for message authentication, non-repudiation, message integrity verification, and the like. In addition, the recipient receiving the message or the like may perform signature verification by decrypting the message with the public key of the sender (eg, the computing device 130). In this case, it may be necessary to prove whether the public key used in the digital signature is the public key of the computing device 130 .

컴퓨팅 장치(130)의 공개키를 증명하기 위해 인증기관(110)의 인증 시스템으로부터 발급된 인증서(certificate)가 요구될 수 있다. 일 실시예에 따르면, 컴퓨팅 장치(130)는 인증기관(110)으로 인증서 요청(220)을 전송할 수 있다. 예를 들어, 인증서 요청(220)은 생성된 컴퓨팅 장치(130)의 식별자, 공개키 등을 포함할 수 있다.A certificate issued from the authentication system of the certification authority 110 may be required to prove the public key of the computing device 130 . According to one embodiment, the computing device 130 may transmit the certificate request 220 to the certification authority 110 . For example, the certificate request 220 may include the generated identifier of the computing device 130, a public key, and the like.

인증서 요청(220)을 수신하는 경우, 인증기관(110)은 컴퓨팅 장치(130)의 식별자, 공개키 등을 이용하여 인증서를 생성할 수 있다(230). 예를 들어, 인증서는 다음의 수학식 2에 의해 생성될 수 있다.When receiving the certificate request 220 , the certification authority 110 may generate a certificate using an identifier of the computing device 130 , a public key, or the like ( 230 ). For example, a certificate may be generated by Equation 2 below.

Figure pat00008
Figure pat00008

여기서,

Figure pat00009
는 컴퓨팅 장치(130)에 대응하도록 생성된 인증서일 수 있으며,
Figure pat00010
Figure pat00011
는 인증기관(110)의 마스터 개인키(
Figure pat00012
) 및 마스터 공개키(
Figure pat00013
)를 포함하는 키 쌍을 이용하여 산출된 값일 수 있다. 예를 들어,
Figure pat00014
Figure pat00015
는 각각 다음의 수학식 3 및 수학식 4에 의해 산출되거나 결정될 수 있다.here,
Figure pat00009
may be a certificate generated to correspond to the computing device 130,
Figure pat00010
and
Figure pat00011
is the master private key of the certification authority 110 (
Figure pat00012
) and the master public key (
Figure pat00013
) may be a value calculated using a key pair including. for example,
Figure pat00014
and
Figure pat00015
may be calculated or determined by Equations 3 and 4, respectively.

Figure pat00016
Figure pat00016

여기서,

Figure pat00017
는 임의의 알고리즘에 의해 결정되거나 산출된 랜덤 값으로써,
Figure pat00018
를 만족하는 값일 수 있다.here,
Figure pat00017
Is a random value determined or calculated by an arbitrary algorithm,
Figure pat00018
may be a value that satisfies

Figure pat00019
Figure pat00019

여기서,

Figure pat00020
는 인증기관(110)의 마스터 공개키를 나타낼 수 있으며, s는 임의의 알고리즘에 의해 결정되거나 산출된 랜덤 값일 수 있다. 또한,
Figure pat00021
는 암호화 해시 함수(cryptographic hash function)로서,
Figure pat00022
를 만족하는 해시 함수를 나타낼 수 있다.here,
Figure pat00020
may represent the master public key of the certification authority 110, and s may be a random value determined or calculated by an arbitrary algorithm. also,
Figure pat00021
is a cryptographic hash function,
Figure pat00022
It can represent a hash function that satisfies

일 실시예에 따르면, 인증기관(110)은 생성된 인증서(240)를 컴퓨팅 장치(130)로 전송할 수 있다. 또한, 인증기관(110)은 생성된 인증서(240)와 연관된 인증서 정보(250) 및/또는 랜덤 값을 헬퍼(120)로 전송할 수 있다. 이 경우, 헬퍼(120)의 헬퍼 시스템은 컴퓨팅 장치(130)에 대응되는 키 격리 값을 생성할 수 있다(260). 또한, 헬퍼(120)는 생성된 키 격리 값(270)을 컴퓨팅 장치(130)로 전송할 수 있다. 예를 들어, 컴퓨팅 장치(130)에 대응되도록 최초 생성되는 키 격리 값은 헬퍼 개인키(helper private key)(

Figure pat00023
)일 수 있다.According to one embodiment, the certification authority 110 may transmit the generated certificate 240 to the computing device 130 . In addition, the certification authority 110 may transmit certificate information 250 associated with the generated certificate 240 and/or a random value to the helper 120 . In this case, the helper system of the helper 120 may generate a key isolation value corresponding to the computing device 130 (260). Also, the helper 120 may transmit the generated key isolation value 270 to the computing device 130 . For example, a key isolation value initially generated to correspond to the computing device 130 is a helper private key (
Figure pat00023
) can be.

일 실시예에 따르면, 컴퓨팅 장치(130)는 수신된 키 격리 값(270)을 이용하여 서명을 위한 서명 키를 생성할 수 있다(280). 예를 들어, 최초 생성되는 서명 키는 다음의 수학식 5에 의해 생성될 수 있다.According to an embodiment, the computing device 130 may generate a signing key for signing using the received key isolation value 270 (280). For example, an initially generated signing key may be generated by Equation 5 below.

Figure pat00024
Figure pat00024

여기서,

Figure pat00025
는 컴퓨팅 장치(130)에 의해 생성되는 최초 서명 키를 나타낼 수 있으며,
Figure pat00026
는 암호화 해시 함수로서,
Figure pat00027
를 만족하는 해시 함수를 나타낼 수 있다. 컴퓨팅 장치(130)는 이와 같이 생성된 서명 키를 포함하는 서명 정보를 이용하여 임의의 데이터에 대한 서명을 수행할 수 있다.here,
Figure pat00025
May represent the initial signing key generated by the computing device 130,
Figure pat00026
is a cryptographic hash function,
Figure pat00027
It can represent a hash function that satisfies The computing device 130 may perform a signature on arbitrary data using the signature information including the signature key generated in this way.

도 3은 본 발명의 일 실시예에 따른 게이트웨이(140), 컴퓨팅 장치(130) 및 헬퍼(120) 사이에서 키 격리가 수행되는 과정을 나타내는 예시적인 흐름도이다. 일 실시예에 따르면, 게이트웨이(140), 컴퓨팅 장치(130) 및 헬퍼(120)의 헬퍼 시스템은 키 격리 및 키 격리 값의 업데이트에 필요한 데이터 및/또는 정보를 주고받을 수 있다.3 is an exemplary flowchart illustrating a process in which key isolation is performed between the gateway 140, the computing device 130, and the helper 120 according to an embodiment of the present invention. According to an embodiment, the helper system of the gateway 140 , the computing device 130 , and the helper 120 may exchange data and/or information necessary for key isolation and update of key isolation values.

일 실시예에 따르면, 헬퍼(120)의 헬퍼 시스템은 상술한 바와 같이 생성된 최초 키 격리 값을 업데이트하여 업데이트된 키 격리 값을 생성할 수 있다(310). 또한, 헬퍼(120)는 업데이트된 키 격리 값(320)을 컴퓨팅 장치(130)에 제공할 수 있다. 예를 들어, 헬퍼(120)는 사전 결정된 시간 간격 마다 키 격리 값을 업데이트하고, 업데이트된 키 격리 값을 컴퓨팅 장치(130)에 제공할 수 있다. 여기서, 키 격리 값은 다음의 수학식 6에 의해 업데이트될 수 있다.According to an embodiment, the helper system of the helper 120 may generate an updated key isolation value by updating the initial key isolation value generated as described above (310). In addition, helper 120 may provide updated key isolation value 320 to computing device 130 . For example, helper 120 may update the key isolation value at predetermined time intervals and provide the updated key isolation value to computing device 130 . Here, the key isolation value may be updated by Equation 6 below.

Figure pat00028
Figure pat00028

여기서,

Figure pat00029
는 업데이트된 키 격리 값을 나타낼 수 있으며, t는 사전 결정된 시간 간격 또는 사전 결정된 시간 간격이 경과한 횟수를 나타낼 수 있다. 사전 결정된 시간 간격은 임의의 사용자에 의해 입력되거나, 임의의 알고리즘에 의해 산출될 수 있다.here,
Figure pat00029
may represent an updated key isolation value, and t may represent a predetermined time interval or the number of times the predetermined time interval has elapsed. The predetermined time interval may be input by an arbitrary user or calculated by an arbitrary algorithm.

이와 같이 생성된 업데이트된 키 격리 값(320)을 수신하는 경우, 컴퓨팅 장치(130)는 업데이트된 키 격리 값(320)을 이용하여 서명을 위한 서명 키를 생성하거나 업데이트할 수 있다(330). 예를 들어, 컴퓨팅 장치(130)는 다음의 수학식 7을 이용하여 서명 키를 업데이트할 수 있다.When receiving the updated key isolation value 320 generated in this way, the computing device 130 may generate or update a signing key for signing using the updated key isolation value 320 (330). For example, the computing device 130 may update the signing key using Equation 7 below.

Figure pat00030
Figure pat00030

여기서,

Figure pat00031
는 이전 시간 간격의 서명 키일 수 있으며,
Figure pat00032
는 이전 시간 간격의 키 격리 값일 수 있다.here,
Figure pat00031
can be the signing key of the previous time interval,
Figure pat00032
may be the key isolation value of the previous time interval.

일 실시예에 따르면, 컴퓨팅 장치(130)는 이와 같이 업데이트된 서명 키를 포함하는 서명 정보를 이용하여 데이터에 대한 서명을 수행할 수 있다(340). 다시 말해, 컴퓨팅 장치(130)는 서명, 식별자, 공개키 및/또는 인증서 등을 포함하는 서명 정보를 이용하여 메시지(

Figure pat00033
)에 대한 서명을 수행할 수 있다. 여기서, 서명은 다음의 수학식 8과 같이 결정될 수 있다.According to an embodiment, the computing device 130 may sign data using the signature information including the updated signing key (340). In other words, the computing device 130 uses signature information including a signature, an identifier, a public key, and/or a certificate to send a message (
Figure pat00033
) can be signed. Here, the signature may be determined as in Equation 8 below.

Figure pat00034
Figure pat00034

여기서,

Figure pat00035
는 컴퓨팅 장치(130)에 의해 수행된 서명일 수 있으며,
Figure pat00036
Figure pat00037
는 서명을 위해 생성된 임의의 값일 수 있다. 예를 들어,
Figure pat00038
Figure pat00039
는 다음의 수학식 9 및 수학식 10에 의해 생성될 수 있다.here,
Figure pat00035
may be a signature performed by the computing device 130,
Figure pat00036
and
Figure pat00037
can be any value generated for signing. for example,
Figure pat00038
and
Figure pat00039
Can be generated by Equations 9 and 10 below.

Figure pat00040
Figure pat00040

여기서,

Figure pat00041
는 임의의 알고리즘에 의해 결정되거나 산출된 랜덤 값으로써,
Figure pat00042
를 만족하는 값일 수 있다.here,
Figure pat00041
Is a random value determined or calculated by an arbitrary algorithm,
Figure pat00042
may be a value that satisfies

Figure pat00043
Figure pat00043

여기서,

Figure pat00044
는 암호화 해시 함수로서,
Figure pat00045
를 만족하는 해시 함수를 나타낼 수 있다. 컴퓨팅 장치(130)는 이와 같이 업데이트된 서명 키를 이용하여 데이터에 대한 서명을 수행할 수 있다(340). 또한, 컴퓨팅 장치(130)는 서명된 데이터 및 서명을 게이트웨이(140)에 전송할 수 있다(350).here,
Figure pat00044
is a cryptographic hash function,
Figure pat00045
It can represent a hash function that satisfies The computing device 130 may sign data using the updated signing key (340). Computing device 130 may also transmit the signed data and signature to gateway 140 ( 350 ).

도 3에서는 하나의 컴퓨팅 장치(130)가 존재하는 것으로 상술되었으나, 이에 한정되지 않으며, 복수의 컴퓨팅 장치가 존재할 수 있다. 이 경우, 게이트웨이(140)는 복수의 컴퓨팅 장치의 각각으로부터 서명된 데이터 및 서명을 수신할 수 있다. 이와 같은 구성에 의해, 복잡한 연산을 수행하여 서명 등을 수행하고, 특정 시간 간격 마다 서명 키를 업데이트함으로써, 컴퓨팅 장치(130)는 새로운 개인키 및 공개키를 생성하여 키 대체(key replacement)를 수행하려는 공격자의 공격을 효과적으로 차단할 수 있다.In FIG. 3 , it has been described above that one computing device 130 exists, but is not limited thereto, and a plurality of computing devices may exist. In this case, the gateway 140 may receive signed data and signatures from each of the plurality of computing devices. With this configuration, by performing a complex operation, signing, etc., and updating the signing key at specific time intervals, the computing device 130 generates a new private key and public key to perform key replacement. It can effectively block an attacker's attack.

도 4는 본 발명의 일 실시예에 따른 제1 컴퓨팅 장치(130_1), 제2 컴퓨팅 장치(130_2) 및 게이트웨이(140) 사이에서 서명 검증 및 서명 결합이 수행되는 과정을 나타내는 예시적인 흐름도이다. 일 실시예에 따르면, 제1 컴퓨팅 장치(130_1), 제2 컴퓨팅 장치(130_2) 및 게이트웨이(140)는 서명 검증 및 서명 결합에 필요한 데이터 및/또는 정보를 주고받을 수 있다.4 is an exemplary flowchart illustrating a process of performing signature verification and signature combining between the first computing device 130_1 , the second computing device 130_2 , and the gateway 140 according to an embodiment of the present invention. According to an embodiment, the first computing device 130_1 , the second computing device 130_2 , and the gateway 140 may exchange data and/or information necessary for signature verification and signature combining.

상술된 바와 같이, 게이트웨이(140)는 제1 컴퓨팅 장치(130_1)로부터 제1 서명된 데이터(410), 제1 서명 등을 수신하고, 제2 컴퓨팅 장치(130_2)로부터 제2 서명된 데이터(420), 제2 서명 등을 수신할 수 있다. 이 경우, 게이트웨이(140)는 서명된 데이터(410, 420) 및 서명에 대한 서명 검증을 수행할 수 있다(430). 예를 들어, 게이트웨이(140)는 다음의 수학식 11에 의해 서명 검증을 수행할 수 있다.As described above, the gateway 140 receives the first signed data 410, the first signature, etc. from the first computing device 130_1, and receives the second signed data 420 from the second computing device 130_2. ), a second signature, and the like can be received. In this case, the gateway 140 may perform signature verification on the signed data 410 and 420 and the signature (430). For example, the gateway 140 may perform signature verification by Equation 11 below.

Figure pat00046
Figure pat00046

여기서,

Figure pat00047
는 헬퍼 시스템의 공개키를 나타낼 수 있다. 이와 같은 구성에 의해, 게이트웨이(140)는 컴퓨팅 장치(130)의 식별자, 공개키, 인증서 등을 이용하여 서명된 데이터(410, 420)에 대한 검증을 수행할 수 있다. 검증이 수행된 결과, 사전 결정된 기준이 충족되면, 서명된 데이터(410, 420)는 적법한 것으로 판정될 수 있다.here,
Figure pat00047
may represent the public key of the helper system. With this configuration, the gateway 140 can verify the signed data 410 and 420 using the identifier, public key, certificate, and the like of the computing device 130 . As a result of the verification being performed, if the predetermined criteria are met, the signed data 410, 420 may be determined to be legitimate.

서명 검증을 수행한 후, 게이트웨이(140)는 서명된 데이터(410, 420)를 결합할 수 있다. 예를 들어, 게이트웨이(140)는 제1 서명된 데이터(410) 및 제2 서명된 데이터(420)를 결합하여 결합 데이터를 생성할 수 있다. 그리고 나서, 게이트웨이(140)는 결합 서명 정보를 이용하여 결합 데이터에 대한 결합 서명을 수행할 수 있다. 여기서 결합 서명 정보 또는 결합 서명은 다음의 수학식 12에 의해 생성될 수 있다.After performing signature verification, gateway 140 may combine signed data 410 and 420 . For example, the gateway 140 may generate combined data by combining the first signed data 410 and the second signed data 420 . Then, the gateway 140 may perform a combined signature on the combined data using the combined signature information. Here, the combined signature information or combined signature may be generated by Equation 12 below.

Figure pat00048
Figure pat00048

도 4에서는 게이트웨이(140)가 2개의 컴퓨팅 장치(130_1, 130_2)로부터 서명된 데이터(410, 420)를 수신하여 결합 데이터를 생성하는 것으로 상술되었으나, 이에 한정되지 않으며, 임의의 개수의 컴퓨팅 장치로부터 수신된 데이터가 결합되어 하나의 결합 데이터를 생성할 수도 있다. 이와 같은 구성에 의해, 복수의 데이터를 하나로 결합하여 관리함으로써, 데이터 관리 및 서명 검증에 소요되는 자원(resource) 등이 효율적으로 감소될 수 있다.In FIG. 4, it has been described above that the gateway 140 receives signed data 410 and 420 from two computing devices 130_1 and 130_2 to generate combined data, but is not limited thereto, and from any number of computing devices. The received data may be combined to generate one combined data. With this configuration, by combining and managing a plurality of data into one, resources required for data management and signature verification can be efficiently reduced.

도 5는 본 발명의 일 실시예에 따른 게이트웨이(140), 저장 장치(150) 및 사용자 단말(160) 사이에서 결합 서명 검증이 수행되는 과정을 나타내는 예시적인 흐름도이다. 일 실시예에 따르면, 게이트웨이(140), 저장 장치(150) 및 사용자 단말(160)은 결합 서명 검증에 필요한 데이터 및/또는 정보를 주고받을 수 있다. 여기서, 저장 장치(150)는 상술한 클라우드 시스템 등을 포함할 수 있다.5 is an exemplary flowchart illustrating a process of performing combined signature verification between the gateway 140, the storage device 150, and the user terminal 160 according to an embodiment of the present invention. According to an embodiment, the gateway 140, the storage device 150, and the user terminal 160 may exchange data and/or information necessary for verifying a combined signature. Here, the storage device 150 may include the aforementioned cloud system and the like.

일 실시예에 따르면, 게이트웨이(140)는 결합 데이터(510)를 저장 장치(150)에 제공할 수 있다. 또한, 저장 장치(150)는 수신된 결합 데이터(510)를 저장 및/또는 관리할 수 있다. 여기서, 저장 장치(150)는 하나의 게이트웨이(140)에서 결합 데이터(510)를 수신하고 저장하는 것으로 도시되었으나, 이에 한정되지 않으며, 저장 장치(150)는 복수의 게이트웨이에서 결합 데이터를 수신하고 저장할 수 있다.According to one embodiment, the gateway 140 may provide the combined data 510 to the storage device 150 . Also, the storage device 150 may store and/or manage the received combination data 510 . Here, the storage device 150 is shown as receiving and storing the combined data 510 from one gateway 140, but is not limited thereto, and the storage device 150 receives and stores combined data from a plurality of gateways. can

일 실시예에 따르면, 데이터를 확인하려는 사용자는 사용자 단말(160)을 이용하여 저장 장치(150)에 저장된 결합 데이터를 추출할 수 있다. 예를 들어, 사용자 단말(160)은 저장 장치(150)로 결합 데이터 요청(530)을 전송할 수 있으며, 이에 따라, 저장 장치(150)는 요청된 결합 데이터(540)를 사용자 단말(160)로 전송할 수 있다. 이 경우, 사용자 단말(160)은 결합 데이터(540)에 대한 결합 서명 검증을 수행할 수 있다(550). 다시 말해, 저장 장치(150)에 제공된 결합 데이터(540)는 결합 서명의 검증에 의해 검증될 수 있다. 예를 들어, 사용자 단말(160)은 다음의 수학식 13을 이용하여 결합 서명 검증을 수행할 수 있다.According to an embodiment, a user who wants to check data can extract combined data stored in the storage device 150 using the user terminal 160 . For example, the user terminal 160 may transmit the combined data request 530 to the storage device 150, and accordingly, the storage device 150 sends the requested combined data 540 to the user terminal 160. can transmit In this case, the user terminal 160 may perform combined signature verification on the combined data 540 (550). In other words, the binding data 540 provided to the storage device 150 can be verified by verifying the binding signature. For example, the user terminal 160 may perform combined signature verification using Equation 13 below.

Figure pat00049
Figure pat00049

이와 같은 구성에 의해, 사용자 단말(160)은 복수의 데이터에 대해 하나의 서명 검증만을 이용하여 유효성을 검증할 수 있으며, 이에 따라, 서명 검증에 소요되는 연산, 시간, 자원 등이 효과적으로 감소될 수 있다.With this configuration, the user terminal 160 can verify validity using only one signature verification for a plurality of data, and accordingly, calculations, time, resources, etc. required for signature verification can be effectively reduced. there is.

도 6은 본 발명의 일 실시예에 따른 키 격리 기반의 서명 방법(600)의 예시를 나타내는 흐름도이다. 키 격리 기반의 서명 방법(600)은 프로세서에 의해 수행될 수 있다. 예를 들어, 키 격리 기반의 서명 방법(600)은 컴퓨팅 장치의 적어도 하나의 프로세서에 의해 수행될 수 있다. 다른 예에서, 키 격리 기반의 서명 방법(600)은 시스템(인증 시스템, 헬퍼 시스템, 게이트웨이 등)의 적어도 하나의 프로세서에 의해 수행될 수 있다. 또 다른 예에서, 키 격리 기반의 서명 방법(600)은 컴퓨팅 장치, 시스템 등의 상호작용에 의해 수행될 수 있다.6 is a flow diagram illustrating an example of a key isolation-based signature method 600 according to an embodiment of the present invention. The key isolation-based signature method 600 may be performed by a processor. For example, the key isolation-based signature method 600 may be performed by at least one processor of a computing device. In another example, the key isolation-based signature method 600 may be performed by at least one processor of a system (authentication system, helper system, gateway, etc.). In another example, the key isolation-based signature method 600 may be performed by interaction of a computing device, system, or the like.

일 실시예에 따르면, 복수의 컴퓨팅 장치의 각각은 공개키 및 개인키를 포함하는 키 쌍을 생성하고, 인증기관의 인증 시스템으로 생성된 키 쌍에 대한 인증서를 요청할 수 있다(S610). 이 경우, 인증 시스템은 복수의 컴퓨팅 장치의 각각에 대응하는 인증서를 생성하고, 생성된 인증서를 복수의 컴퓨팅 장치의 각각에 제공할 수 있다(S620).According to an embodiment, each of the plurality of computing devices may generate a key pair including a public key and a private key, and request a certificate for the generated key pair from an authentication system of a certification authority (S610). In this case, the authentication system may generate certificates corresponding to each of the plurality of computing devices and provide the generated certificates to each of the plurality of computing devices (S620).

일 실시예에 따르면, 인증 시스템에 의해 인증서가 생성된 경우, 복수의 컴퓨팅 장치의 각각은 키 격리를 수행하는 헬퍼 시스템으로부터 생성된 키 격리 값을 수신할 수 있다(S630). 여기서, 인증 시스템은 인증서 정보를 생성하고, 생성된 인증서 정보를 헬퍼 시스템으로 전송할 수 있으며, 헬퍼 시스템은 수신된 인증서 정보를 이용하여 키 격리 값을 생성할 수 있다. 이 경우, 복수의 컴퓨팅 장치의 각각은 수신된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성할 수 있다(S640). 예를 들어, 복수의 컴퓨팅 장치의 각각은 공개 해시 함수 및 수신된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성할 수 있다.According to an embodiment, when a certificate is generated by the authentication system, each of the plurality of computing devices may receive a key isolation value generated from a helper system that performs key isolation (S630). Here, the authentication system may generate certificate information and transmit the generated certificate information to a helper system, and the helper system may generate a key isolation value using the received certificate information. In this case, each of the plurality of computing devices may generate a signing key for signing using the received key isolation value (S640). For example, each of the plurality of computing devices may use the public hash function and the received key isolation value to generate a signing key for signing.

일 실시예에 따르면, 복수의 컴퓨팅 장치의 각각은 공개키, 인증서 및 생성된 서명 키를 포함하는 서명 정보를 이용하여 데이터에 대한 서명을 수행할 수 있다(S650). 또한, 복수의 컴퓨팅 장치의 각각은 서명된 데이터 및 서명을 게이트웨이에 전송할 수 있다. 서명된 데이터 및 서명을 수신한 게이트웨이는 복수의 컴퓨팅 장치의 각각의 공개키 및 인증서를 포함하는 검증 정보를 이용하여, 서명된 데이터 및 서명을 검증할 수 있다. 데이터 및 서명이 검증된 경우, 게이트웨이는 데이터를 결합하여 결합 데이터를 생성하고, 결합 서명 정보를 이용하여 결합 데이터에 대한 결합 서명을 수행할 수 있다. 그리고 나서, 게이트웨이는 생성된 결합 데이터를 저장 장치에 제공할 수 있다.According to an embodiment, each of the plurality of computing devices may sign data using signature information including a public key, a certificate, and a generated signing key (S650). Additionally, each of the plurality of computing devices may transmit signed data and signatures to the gateway. Upon receiving the signed data and signature, the gateway may verify the signed data and signature using verification information including public keys and certificates of each of the plurality of computing devices. When the data and the signature are verified, the gateway may combine the data to generate combined data, and perform combined signature on the combined data using the combined signature information. The gateway may then provide the generated combined data to a storage device.

도 7은 본 발명의 일 실시예에 따른 키 격리 방법(700)의 예시를 나타내는 흐름도이다. 키 격리 방법(700)은 프로세서에 의해 수행될 수 있다. 예를 들어, 키 격리 방법(700)은 컴퓨팅 장치의 적어도 하나의 프로세서에 의해 수행될 수 있다. 다른 예에서, 키 격리 방법(700)은 시스템(인증 시스템, 헬퍼 시스템 등)의 적어도 하나의 프로세서에 의해 수행될 수 있다. 또 다른 예에서, 키 격리 방법(700)은 컴퓨팅 장치, 시스템 등의 상호작용에 의해 수행될 수 있다.7 is a flow diagram illustrating an example of a key isolation method 700 according to one embodiment of the present invention. Key isolation method 700 may be performed by a processor. For example, key isolation method 700 may be performed by at least one processor of a computing device. In another example, key isolation method 700 may be performed by at least one processor of a system (authentication system, helper system, etc.). In another example, key isolation method 700 may be performed by interaction of a computing device, system, or the like.

일 실시예에 따르면, 복수의 컴퓨팅 장치의 각각은 키 격리를 수행하는 헬퍼 시스템으로부터 생성된 키 격리 값을 수신할 수 있다(S710). 또한, 복수의 컴퓨팅 장치의 각각은 수신된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성할 수 있다(S720). 상술한 바와 같이, 복수의 컴퓨팅 장치의 각각은 공개 해시 함수 및 수신된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성할 수 있다.According to an embodiment, each of the plurality of computing devices may receive a key isolation value generated from a helper system that performs key isolation (S710). Also, each of the plurality of computing devices may generate a signing key for signing using the received key isolation value (S720). As described above, each of the plurality of computing devices may use the public hash function and the received key isolation value to generate a signing key for signing.

일 실시예에 따르면, 키 격리 값은 사전 결정된 시간 간격 마다 정기적으로 업데이트될 수 있다. 즉, 헬퍼 시스템은 사전 결정된 시간 간격 마다 복수의 컴퓨팅 장치의 각각에 대응하는 키 격리 값을 업데이트할 수 있다. 즉, 헬퍼 시스템은 사전 결정된 시간 간격이 경과했는지 여부를 판정할 수 있다(S730). 이 경우, 복수의 컴퓨팅 장치의 각각은 사전 결정된 시간 간격 마다 헬퍼 시스템에 의해 업데이트된 키 격리 값을 수신할 수 있다(S740). 또한, 복수의 컴퓨팅 장치의 각각은 업데이트된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성하거나 업데이트할 수 있다(S750).According to one embodiment, the key isolation value may be regularly updated at predetermined time intervals. That is, the helper system may update the key isolation value corresponding to each of the plurality of computing devices at predetermined time intervals. That is, the helper system may determine whether a predetermined time interval has elapsed (S730). In this case, each of the plurality of computing devices may receive the key isolation value updated by the helper system every predetermined time interval (S740). Also, each of the plurality of computing devices may generate or update a signing key for signing using the updated key isolation value (S750).

도 8은 본 발명의 일 실시예에 따른 컴퓨팅 장치(800)의 내부 구성을 나타내는 블록도이다. 일 실시예에 따르면, 컴퓨팅 장치(800)는 IoT 장치, 센서 등을 포함할 수 있다. 컴퓨팅 장치(800)는 메모리(810), 프로세서(820), 통신 모듈(830) 및 입출력 인터페이스(840)를 포함할 수 있다. 도 8에 도시된 바와 같이, 컴퓨팅 장치(800)는 통신 모듈(830)을 이용하여 네트워크를 통해 정보 및/또는 데이터를 통신할 수 있도록 구성될 수 있다.8 is a block diagram showing an internal configuration of a computing device 800 according to an embodiment of the present invention. According to one embodiment, the computing device 800 may include an IoT device, a sensor, and the like. The computing device 800 may include a memory 810 , a processor 820 , a communication module 830 and an input/output interface 840 . As shown in FIG. 8 , the computing device 800 may be configured to communicate information and/or data over a network using a communication module 830 .

메모리(810)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 실시예에 따르면, 메모리(810)는 RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치로서 컴퓨팅 장치(800)에 포함될 수 있다. 또한, 메모리(810)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다.Memory 810 may include any non-transitory computer readable storage medium. According to one embodiment, the memory 810 is a non-perishable mass storage device (permanent mass storage device) such as random access memory (RAM), read only memory (ROM), disk drive, solid state drive (SSD), flash memory, and the like. mass storage device). As another example, a non-perishable mass storage device such as a ROM, SSD, flash memory, or disk drive may be included in the computing device 800 as a separate permanent storage device separate from memory. Also, an operating system and at least one program code may be stored in the memory 810 .

이러한 소프트웨어 구성요소들은 메모리(810)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 이러한 컴퓨팅 장치(800)에 직접 연결가능한 기록 매체를 포함할 수 있는데, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 예로서, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(830)을 통해 메모리(810)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 통신 모듈(830)을 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 메모리(810)에 로딩될 수 있다.These software components may be loaded from a computer-readable recording medium separate from the memory 810 . A recording medium readable by such a separate computer may include a recording medium directly connectable to the computing device 800, for example, a floppy drive, a disk, a tape, a DVD/CD-ROM drive, a memory card, and the like. It may include a computer-readable recording medium. As another example, software components may be loaded into the memory 810 through the communication module 830 rather than a computer-readable recording medium. For example, at least one program may be loaded into the memory 810 based on a computer program installed by files provided by developers or a file distribution system that distributes application installation files through the communication module 830. can

프로세서(820)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(810) 또는 통신 모듈(830)에 의해 사용자 단말(미도시) 또는 다른 외부 시스템으로 제공될 수 있다.The processor 820 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. Commands may be provided to a user terminal (not shown) or other external system by the memory 810 or the communication module 830 .

통신 모듈(830)은 네트워크를 통해 사용자 단말(미도시)과 컴퓨팅 장치(800)가 서로 통신하기 위한 구성 또는 기능을 제공할 수 있으며, 컴퓨팅 장치(800)가 외부 시스템(일례로 별도의 클라우드 시스템 등)과 통신하기 위한 구성 또는 기능을 제공할 수 있다. 일례로, 컴퓨팅 장치(800)의 프로세서(820)의 제어에 따라 제공되는 제어 신호, 명령, 데이터 등이 통신 모듈(830)과 네트워크를 거쳐 사용자 단말 및/또는 외부 시스템의 통신 모듈을 통해 사용자 단말 및/또는 외부 시스템으로 전송될 수 있다.The communication module 830 may provide a configuration or function for a user terminal (not shown) and the computing device 800 to communicate with each other through a network, and the computing device 800 may provide an external system (for example, a separate cloud system). etc.) may provide a configuration or function to communicate with. For example, control signals, commands, data, etc. provided under the control of the processor 820 of the computing device 800 are transmitted through the communication module 830 and the network to the user terminal and/or the user terminal through the communication module of the external system. and/or transmitted to an external system.

또한, 컴퓨팅 장치(800)의 입출력 인터페이스(840)는 컴퓨팅 장치(800)와 연결되거나 컴퓨팅 장치(800)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 도 8에서는 입출력 인터페이스(840)가 프로세서(820)와 별도로 구성된 요소로서 도시되었으나, 이에 한정되지 않으며, 입출력 인터페이스(840)가 프로세서(820)에 포함되도록 구성될 수 있다. 컴퓨팅 장치(800)는 도 8의 구성요소들보다 더 많은 구성요소들을 포함할 수 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다.Also, the input/output interface 840 of the computing device 800 may be connected to the computing device 800 or may be a means for interface with a device (not shown) for input or output that may be included in the computing device 800. . In FIG. 8 , the input/output interface 840 is illustrated as an element separately configured from the processor 820 , but is not limited thereto, and the input/output interface 840 may be included in the processor 820 . Computing device 800 may include many more components than those of FIG. 8 . However, there is no need to clearly show most of the prior art components.

컴퓨팅 장치(800)의 프로세서(820)는 복수의 사용자 단말 및/또는 복수의 외부 시스템으로부터 수신된 정보 및/또는 데이터를 관리, 처리 및/또는 저장하도록 구성될 수 있다.The processor 820 of the computing device 800 may be configured to manage, process, and/or store information and/or data received from a plurality of user terminals and/or a plurality of external systems.

상술된 방법 및/또는 다양한 실시예들은, 디지털 전자 회로, 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 본 발명의 다양한 실시예들은 데이터 처리 장치, 예를 들어, 프로그래밍 가능한 하나 이상의 프로세서 및/또는 하나 이상의 컴퓨팅 장치에 의해 실행되거나, 컴퓨터 판독 가능한 기록 매체 및/또는 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 상술된 컴퓨터 프로그램은 컴파일된 언어 또는 해석된 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램, 모듈, 서브 루틴 등의 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨팅 장치, 동일한 네트워크를 통해 연결된 복수의 컴퓨팅 장치 및/또는 복수의 상이한 네트워크를 통해 연결되도록 분산된 복수의 컴퓨팅 장치를 통해 배포될 수 있다.The above-described methods and/or various embodiments may be realized with digital electronic circuits, computer hardware, firmware, software, and/or combinations thereof. Various embodiments of the present invention may be performed by a data processing device, eg, one or more programmable processors and/or one or more computing devices, or as a computer readable recording medium and/or a computer program stored on a computer readable recording medium. can be implemented The above-described computer programs may be written in any form of programming language, including compiled or interpreted languages, and may be distributed in any form, such as a stand-alone program, module, or subroutine. A computer program may be distributed over one computing device, multiple computing devices connected through the same network, and/or distributed over multiple computing devices connected through multiple different networks.

상술된 방법 및/또는 다양한 실시예들은, 입력 데이터를 기초로 동작하거나 출력 데이터를 생성함으로써, 임의의 기능, 함수 등을 처리, 저장 및/또는 관리하는 하나 이상의 컴퓨터 프로그램을 실행하도록 구성된 하나 이상의 프로세서에 의해 수행될 수 있다. 예를 들어, 본 발명의 방법 및/또는 다양한 실시예는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 특수 목적 논리 회로에 의해 수행될 수 있으며, 본 발명의 방법 및/또는 실시예들을 수행하기 위한 장치 및/또는 시스템은 FPGA 또는 ASIC와 같은 특수 목적 논리 회로로서 구현될 수 있다.The methods and/or various embodiments described above may be performed by one or more processors configured to execute one or more computer programs that process, store, and/or manage any function, function, or the like, by operating on input data or generating output data. can be performed by For example, the method and/or various embodiments of the present invention may be performed by a special purpose logic circuit such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), and the method and/or various embodiments of the present invention may be performed. Apparatus and/or systems for performing the embodiments may be implemented as special purpose logic circuits such as FPGAs or ASICs.

컴퓨터 프로그램을 실행하는 하나 이상의 프로세서는, 범용 목적 또는 특수 목적의 마이크로 프로세서 및/또는 임의의 종류의 디지털 컴퓨팅 장치의 하나 이상의 프로세서를 포함할 수 있다. 프로세서는 읽기 전용 메모리, 랜덤 액세스 메모리의 각각으로부터 명령 및/또는 데이터를 수신하거나, 읽기 전용 메모리와 랜덤 액세스 메모리로부터 명령 및/또는 데이터를 수신할 수 있다. 본 발명에서, 방법 및/또는 실시예들을 수행하는 컴퓨팅 장치의 구성 요소들은 명령어들을 실행하기 위한 하나 이상의 프로세서, 명령어들 및/또는 데이터를 저장하기 위한 하나 이상의 메모리 디바이스를 포함할 수 있다.The one or more processors executing the computer program may include a general purpose or special purpose microprocessor and/or one or more processors of any kind of digital computing device. The processor may receive instructions and/or data from each of the read-only memory and the random access memory, or receive instructions and/or data from the read-only memory and the random access memory. In the present invention, components of a computing device performing methods and/or embodiments may include one or more processors for executing instructions, and one or more memory devices for storing instructions and/or data.

일 실시예에 따르면, 컴퓨팅 장치는 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치와 데이터를 주고받을 수 있다. 예를 들어, 컴퓨팅 장치는 자기 디스크(magnetic disc) 또는 광 디스크(optical disc)로부터 데이터를 수신하거나/수신하고, 자기 디스크 또는 광 디스크로 데이터를 전송할 수 있다. 컴퓨터 프로그램과 연관된 명령어들 및/또는 데이터를 저장하기에 적합한 컴퓨터 판독 가능한 저장 매체는, EPROM(Erasable Programmable Read-Only Memory), EEPROM(Electrically Erasable PROM), 플래시 메모리 장치 등의 반도체 메모리 장치를 포함하는 임의의 형태의 비 휘발성 메모리를 포함할 수 있으나, 이에 한정되지 않는다. 예를 들어, 컴퓨터 판독 가능한 저장 매체는 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크, CD-ROM 및 DVD-ROM 디스크를 포함할 수 있다.According to one embodiment, a computing device may exchange data with one or more mass storage devices for storing data. For example, a computing device may receive/receive data from and transfer data to a magnetic or optical disc. A computer-readable storage medium suitable for storing instructions and/or data associated with a computer program includes semiconductor memory devices such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable PROM (EEPROM), and flash memory devices. Any type of non-volatile memory may be included, but is not limited thereto. For example, computer readable storage media may include magnetic disks such as internal hard disks or removable disks, magneto-optical disks, CD-ROM and DVD-ROM disks.

사용자와의 상호 작용을 제공하기 위해, 컴퓨팅 장치는 정보를 사용자에게 제공하거나 디스플레이하기 위한 디스플레이 장치(예를 들어, CRT (Cathode Ray Tube), LCD(Liquid Crystal Display) 등) 및 사용자가 컴퓨팅 장치 상에 입력 및/또는 명령 등을 제공할 수 있는 포인팅 장치(예를 들어, 키보드, 마우스, 트랙볼 등)를 포함할 수 있으나, 이에 한정되지 않는다. 즉, 컴퓨팅 장치는 사용자와의 상호 작용을 제공하기 위한 임의의 다른 종류의 장치들을 더 포함할 수 있다. 예를 들어, 컴퓨팅 장치는 사용자와의 상호 작용을 위해, 시각적 피드백, 청각 피드백 및/또는 촉각 피드백 등을 포함하는 임의의 형태의 감각 피드백을 사용자에게 제공할 수 있다. 이에 대해, 사용자는 시각, 음성, 동작 등의 다양한 제스처를 통해 컴퓨팅 장치로 입력을 제공할 수 있다.To provide interaction with a user, a computing device includes a display device (eg, a cathode ray tube (CRT), a liquid crystal display (LCD), etc.) It may include a pointing device (eg, a keyboard, mouse, trackball, etc.) capable of providing input and/or commands to, but is not limited thereto. That is, the computing device may further include any other type of device for providing interaction with a user. For example, a computing device may provide any form of sensory feedback to a user for interaction with the user, including visual feedback, auditory feedback, and/or tactile feedback. In this regard, the user may provide input to the computing device through various gestures such as visual, voice, and motion.

본 발명에서, 다양한 실시예들은 백엔드 구성 요소(예: 데이터 서버), 미들웨어 구성 요소(예: 애플리케이션 서버) 및/또는 프론트 엔드 구성 요소를 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 이 경우, 구성 요소들은 통신 네트워크와 같은 디지털 데이터 통신의 임의의 형태 또는 매체에 의해 상호 연결될 수 있다. 예를 들어, 통신 네트워크는 LAN(Local Area Network), WAN(Wide Area Network) 등을 포함할 수 있다.In the present invention, various embodiments may be implemented in a computing system including a back-end component (eg, a data server), a middleware component (eg, an application server), and/or a front-end component. In this case, the components may be interconnected by any form or medium of digital data communication, such as a communication network. For example, the communication network may include a local area network (LAN), a wide area network (WAN), and the like.

본 명세서에서 기술된 예시적인 실시예들에 기반한 컴퓨팅 장치는, 사용자 디바이스, 사용자 인터페이스(UI) 디바이스, 사용자 단말 또는 클라이언트 디바이스를 포함하여 사용자와 상호 작용하도록 구성된 하드웨어 및/또는 소프트웨어를 사용하여 구현될 수 있다. 예를 들어, 컴퓨팅 장치는 랩톱(laptop) 컴퓨터와 같은 휴대용 컴퓨팅 장치를 포함할 수 있다. 추가적으로 또는 대안적으로, 컴퓨팅 장치는, PDA(Personal Digital Assistants), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 등을 포함할 수 있으나, 이에 한정되지 않는다. 컴퓨팅 장치는 사용자와 상호 작용하도록 구성된 다른 유형의 장치를 더 포함할 수 있다. 또한, 컴퓨팅 장치는 이동 통신 네트워크 등의 네트워크를 통한 무선 통신에 적합한 휴대용 통신 디바이스(예를 들어, 이동 전화, 스마트 전화, 무선 셀룰러 전화 등) 등을 포함할 수 있다. 컴퓨팅 장치는, 무선 주파수(RF; Radio Frequency), 마이크로파 주파수(MWF; Microwave Frequency) 및/또는 적외선 주파수(IRF; Infrared Ray Frequency)와 같은 무선 통신 기술들 및/또는 프로토콜들을 사용하여 네트워크 서버와 무선으로 통신하도록 구성될 수 있다.A computing device based on the example embodiments described herein may be implemented using hardware and/or software configured to interact with a user, including a user device, user interface (UI) device, user terminal, or client device. can For example, the computing device may include a portable computing device such as a laptop computer. Additionally or alternatively, the computing device may include personal digital assistants (PDAs), tablet PCs, game consoles, wearable devices, internet of things (IoT) devices, virtual reality (VR) devices, AR (augmented reality) device, etc. may be included, but is not limited thereto. A computing device may further include other types of devices configured to interact with a user. Further, the computing device may include a portable communication device (eg, a mobile phone, smart phone, wireless cellular phone, etc.) suitable for wireless communication over a network, such as a mobile communication network. A computing device communicates wirelessly with a network server using wireless communication technologies and/or protocols such as radio frequency (RF), microwave frequency (MWF) and/or infrared ray frequency (IRF). It can be configured to communicate with.

본 발명에서 특정 구조적 및 기능적 세부 사항을 포함하는 다양한 실시예들은 예시적인 것이다. 따라서, 본 발명의 실시예들은 상술된 것으로 한정되지 않으며, 여러 가지 다른 형태로 구현될 수 있다. 또한, 본 발명에서 사용된 용어는 일부 실시예를 설명하기 위한 것이며 실시예를 제한하는 것으로 해석되지 않는다. 예를 들어, 단수형 단어 및 상기는 문맥상 달리 명확하게 나타내지 않는 한 복수형도 포함하는 것으로 해석될 수 있다.The various embodiments herein, including specific structural and functional details, are exemplary. Accordingly, embodiments of the present invention are not limited to those described above and may be implemented in various other forms. In addition, terms used in the present invention are for describing some embodiments and are not construed as limiting the embodiments. For example, the singular and the above may be construed to include the plural as well, unless the context clearly dictates otherwise.

본 발명에서, 달리 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함하여 본 명세서에서 사용되는 모든 용어는 이러한 개념이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 또한, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 맥락에서의 의미와 일치하는 의미를 갖는 것으로 해석되어야 한다.In the present invention, unless defined otherwise, all terms used in this specification, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which such concept belongs. . In addition, terms commonly used, such as terms defined in a dictionary, should be interpreted as having a meaning consistent with the meaning in the context of the related art.

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

110: 인증기관
120: 헬퍼
130: 컴퓨팅 장치
140: 게이트웨이
150: 클라우드 시스템
160: 사용자 단말
110: certification authority
120: helper
130: computing device
140: gateway
150: cloud system
160: user terminal

Claims (7)

키 격리(key insulation) 기반의 서명 방법으로서,
복수의 컴퓨팅 장치의 각각에 의해, 공개키 및 개인키를 포함하는 키 쌍을 생성하고, 인증기관(certification authority, CA)의 인증 시스템으로 상기 생성된 키 쌍에 대한 인증서(certificate)를 요청하는 단계;
상기 인증 시스템은 상기 복수의 컴퓨팅 장치의 각각에 대응하는 인증서를 생성하고, 상기 생성된 인증서를 상기 복수의 컴퓨팅 장치의 각각에 제공하는 단계;
상기 인증 시스템에 의해 인증서가 생성된 경우, 상기 복수의 컴퓨팅 장치의 각각은 키 격리를 수행하는 헬퍼(helper) 시스템으로부터 생성된 키 격리 값을 수신하는 단계;
상기 복수의 컴퓨팅 장치의 각각은 상기 수신된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성하는 단계; 및
상기 복수의 컴퓨팅 장치의 각각은 상기 공개키, 상기 인증서 및 상기 생성된 서명 키를 포함하는 서명 정보를 이용하여 데이터에 대한 서명을 수행하는 단계;
를 포함하는 키 격리 기반의 서명 방법.
As a signature method based on key insulation,
Generating a key pair including a public key and a private key by each of a plurality of computing devices, and requesting a certificate for the generated key pair from a certification system of a certification authority (CA). ;
generating, by the authentication system, a certificate corresponding to each of the plurality of computing devices, and providing the generated certificate to each of the plurality of computing devices;
when the certificate is generated by the authentication system, each of the plurality of computing devices receiving a key isolation value generated from a helper system that performs key isolation;
generating, at each of the plurality of computing devices, a signing key for signing using the received key isolation value; and
each of the plurality of computing devices signing data using signature information including the public key, the certificate, and the generated signing key;
Key isolation-based signature method comprising a.
제1항에 있어서,
상기 복수의 컴퓨팅 장치의 각각은 사전 결정된 시간 간격 마다 상기 헬퍼 시스템에 의해 업데이트된 키 격리 값을 수신하는 단계; 및
상기 복수의 컴퓨팅 장치의 각각은 상기 업데이트된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성하는 단계;
를 더 포함하는 키 격리 기반의 서명 방법.
According to claim 1,
receiving, at each of the plurality of computing devices, a key isolation value updated by the helper system at predetermined time intervals; and
generating, at each of the plurality of computing devices, a signing key for signing using the updated key isolation value;
Key isolation-based signature method further comprising a.
제1항에 있어서,
상기 복수의 컴퓨팅 장치의 각각은 상기 서명된 데이터 및 서명을 게이트웨이(gateway)에 전송하는 단계;
상기 서명된 데이터 및 서명을 수신한 게이트웨이는 상기 복수의 컴퓨팅 장치의 각각의 공개키 및 상기 인증서를 포함하는 검증 정보를 이용하여, 상기 서명된 데이터 및 서명을 검증하는 단계;
상기 데이터 및 서명이 검증된 경우, 상기 게이트웨이는 상기 데이터를 결합하여 결합 데이터를 생성하는 단계;
상기 게이트웨이는 결합 서명 정보를 이용하여 상기 결합 데이터에 대한 결합 서명을 수행하는 단계; 및
상기 게이트웨이는 상기 생성된 결합 데이터 및 결합 서명을 저장 장치에 제공하는 단계;
를 더 포함하는 키 격리 기반의 서명 방법.
According to claim 1,
each of the plurality of computing devices transmitting the signed data and signature to a gateway;
verifying, at the gateway receiving the signed data and signature, the signed data and signature using verification information including public keys of each of the plurality of computing devices and the certificate;
if the data and signature are verified, the gateway combining the data to generate combined data;
performing, by the gateway, a combined signature on the combined data using combined signature information; and
providing, by the gateway, the generated binding data and binding signature to a storage device;
Key isolation-based signature method further comprising a.
제3항에 있어서,
상기 저장 장치에 제공된 결합 데이터는 상기 결합 서명의 검증에 의해 검증되는 키 격리 기반의 서명 방법.
According to claim 3,
The combined data provided to the storage device is verified by verifying the combined signature.
제1항에 있어서,
상기 인증서가 생성된 경우, 상기 인증 시스템은 상기 인증서와 연관된 인증서 정보를 생성하고, 상기 생성된 인증서 정보를 상기 헬퍼 시스템으로 전송하는 단계; 및
상기 헬퍼 시스템은 상기 수신된 인증서 정보를 이용하여 상기 키 격리 값을 생성하는 단계;
를 더 포함하는 키 격리 기반의 서명 방법.
According to claim 1,
when the certificate is generated, the authentication system generating certificate information associated with the certificate and transmitting the generated certificate information to the helper system; and
generating, by the helper system, the key isolation value using the received certificate information;
Key isolation-based signature method further comprising a.
제1항에 있어서,
상기 복수의 컴퓨팅 장치의 각각은 상기 수신된 키 격리 값을 이용하여 서명을 위한 서명 키를 생성하는 단계는,
상기 복수의 컴퓨팅 장치의 각각은 공개 해시 함수(public hash function) 및 상기 수신된 키 격리 값을 이용하여 상기 서명을 위한 서명 키를 생성하는 단계;
를 포함하는 키 격리 기반의 서명 방법.
According to claim 1,
Generating, by each of the plurality of computing devices, a signing key for signing using the received key isolation value,
generating, at each of the plurality of computing devices, a signing key for the signature using a public hash function and the received key isolation value;
Key isolation-based signature method comprising a.
제1항 내지 제6항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium to execute the method according to any one of claims 1 to 6 on a computer.
KR1020210140070A 2021-10-20 2021-10-20 Signature method and system based on key insulation KR102626868B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210140070A KR102626868B1 (en) 2021-10-20 2021-10-20 Signature method and system based on key insulation
PCT/KR2021/014794 WO2023068402A1 (en) 2021-10-20 2021-10-21 Key isolation-based signature method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210140070A KR102626868B1 (en) 2021-10-20 2021-10-20 Signature method and system based on key insulation

Publications (2)

Publication Number Publication Date
KR20230056251A true KR20230056251A (en) 2023-04-27
KR102626868B1 KR102626868B1 (en) 2024-01-17

Family

ID=86058205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210140070A KR102626868B1 (en) 2021-10-20 2021-10-20 Signature method and system based on key insulation

Country Status (2)

Country Link
KR (1) KR102626868B1 (en)
WO (1) WO2023068402A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101601173B1 (en) * 2014-12-09 2016-03-09 고려대학교 산학협력단 Method and server for revocable identity-based signature
US20200167833A1 (en) * 2011-06-30 2020-05-28 Intel Corporation Method and apparatus for dynamic, real-time ad insertion based on meta-data within a hardware based root of trust

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200167833A1 (en) * 2011-06-30 2020-05-28 Intel Corporation Method and apparatus for dynamic, real-time ad insertion based on meta-data within a hardware based root of trust
KR101601173B1 (en) * 2014-12-09 2016-03-09 고려대학교 산학협력단 Method and server for revocable identity-based signature

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Alfred J. Menezes 외 2명, Handbook of Applied Cryptography, CRC Press (1996.)* *

Also Published As

Publication number Publication date
WO2023068402A1 (en) 2023-04-27
KR102626868B1 (en) 2024-01-17

Similar Documents

Publication Publication Date Title
EP4120114A1 (en) Data processing method and apparatus, smart device and storage medium
Abid et al. NovidChain: Blockchain‐based privacy‐preserving platform for COVID‐19 test/vaccine certificates
US11489816B2 (en) Blockchain joining for a limited processing capability device and device access security
Zhang et al. Privacy-preserving contact tracing in 5G-integrated and blockchain-based medical applications
CN110601849B (en) Trusted timestamp adding method and device and storage medium
US20140173686A1 (en) Device Communication Based On Device Trustworthiness
US9641340B2 (en) Certificateless multi-proxy signature method and apparatus
CN110933125A (en) Block chain entity, down-link entity, authentication device and method for performing collaboration
EP2961094A1 (en) System and method for generating a random number
KR20170057549A (en) Large simultaneous digital signature service system based on hash function and method thereof
US10447467B2 (en) Revocable PKI signatures
US11367065B1 (en) Distributed ledger system for electronic transactions
CN111199037B (en) Login method, system and device
JP6756056B2 (en) Cryptographic chip by identity verification
US11323254B2 (en) Device, system, and method of generating and handling cryptographic parameters
EP3133791B1 (en) Double authentication system for electronically signed documents
JP6780771B2 (en) Verification information granting device, verification device, information management system, method and program
US11943210B2 (en) System and method for distributed, keyless electronic transactions with authentication
CN110705985A (en) Method and apparatus for storing information
JP6939313B2 (en) Distributed authentication system
CN111937013A (en) Electronic device management
KR102626868B1 (en) Signature method and system based on key insulation
CN115150086A (en) Identity authentication method and equipment of public key based on biological characteristics of cloud service
KR102310811B1 (en) Method and System for electronic authentication and encryption of data Based On Cloud System
EP3200388B1 (en) User permission check system

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