KR102005946B1 - System and method for providng anonymous identity-based signature using homomorphic encryption - Google Patents

System and method for providng anonymous identity-based signature using homomorphic encryption Download PDF

Info

Publication number
KR102005946B1
KR102005946B1 KR1020180138600A KR20180138600A KR102005946B1 KR 102005946 B1 KR102005946 B1 KR 102005946B1 KR 1020180138600 A KR1020180138600 A KR 1020180138600A KR 20180138600 A KR20180138600 A KR 20180138600A KR 102005946 B1 KR102005946 B1 KR 102005946B1
Authority
KR
South Korea
Prior art keywords
ciphertext
secret key
isomorphic
generating
authentication
Prior art date
Application number
KR1020180138600A
Other languages
Korean (ko)
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 KR1020180138600A priority Critical patent/KR102005946B1/en
Application granted granted Critical
Publication of KR102005946B1 publication Critical patent/KR102005946B1/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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/321Cryptographic 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 a third party or a trusted authority

Abstract

Disclosed are an anonymous ID-based signature system and method using homomorphic encryption. According to an embodiment of the present invention, the method comprises: a step of allowing an authentication requestor terminal to generate a first homomorphic cryptogram (c=HE(id)) corresponding to an ID of the authentication requester terminal by using a symmetric homomorphic password secret key (hsk) of the authentication requestor terminal; a step of allowing an authentication authority server to generate a second homomorphic cryptogram (c=HE(sk_id)) for the secret key corresponding to the ID by using the first homomorphic cryptogram (C) received from the authentication requestor terminal; and a step of allowing the authentication requestor terminal to receive the second homomorphic cryptogram (C) and obtain the secret key (sk_id) from the received second homomorphic cryptogram (C). According to the present invention, ID-based signatures can be further secured.

Description

동형암호를 이용한 익명 아이디 기반 서명 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDNG ANONYMOUS IDENTITY-BASED SIGNATURE USING HOMOMORPHIC ENCRYPTION}Anonymous ID-based Signature System and Method Using Isomorphic Password {SYSTEM AND METHOD FOR PROVIDNG ANONYMOUS IDENTITY-BASED SIGNATURE USING HOMOMORPHIC ENCRYPTION}

본 발명의 실시예들은 아이디 기반의 서명 기술과 관련된다.Embodiments of the present invention relate to identity based signature techniques.

아이디 기반 서명(IDentity Based Signature)란 공개 키 서명 방식의 일종으로 사용자의 정보(Identity)를 공개키로 사용한다. 이때 공개키로 사용할 수 있는 정보는 사용자의 이메일 주소나 전화번호 등 그 사용자에게만 해당하는 유일한 정보여야 한다. 공개 키 암호 방식의 장점은 이전에 서로 만나서 키를 나누어가지지 않은 사용자라도 안전하게 통신할 수 있다는 점이다. 다만, 이때 상대방이 공개 키가 정말로 그 사용자의 공개 열쇠인지 확인할 수 있는 방법이 반드시 필요하다. 아이디 기반 서명 기법은 상대방의 신원을 공개키로 사용하므로 이런 과정이 불필요하다는 장점이 있다.Identity based signature is a kind of public key signature method that uses user's information as public key. In this case, the information that can be used as the public key should be the only information that is applicable only to the user, such as the user's e-mail address or phone number. The advantage of public key cryptography is that even users who have not previously met and shared keys can communicate securely. However, at this point, a method that allows the counterpart to verify that the public key is really the public key of the user is necessary. The ID-based signature scheme has the advantage that this process is unnecessary because the identity of the other party is used as the public key.

아이디 기반 서명 기법에서는 사용자의 아이디에 해당하는 비밀키를 부여하는 비밀키 생성자(key generator)가 필요하며, 일반적으로 신뢰할 수 있는 인증 기관(CA; Certified Authority)가 이를 수행한다. 그러나 이 과정에서 인증 기관은 각 사용자의 아이디 및 비밀키 정보를 모두 알게 되므로, 기존의 공개키 방식의 암호 시스템과 비교하여 비밀 정보가 중앙에 집중되는 문제가 발생한다.In the ID-based signature scheme, a secret key generator for assigning a secret key corresponding to the user's ID is required, which is generally performed by a trusted CA. However, in this process, since the certification authority knows each user's ID and secret key information, there is a problem that the secret information is centralized compared to the existing public key cryptosystem.

대한민국 등록특허공보 제10-1865703호 (2018. 06. 01)Republic of Korea Patent Publication No. 10-1865703 (2018. 06. 01)

개시되는 실시예들은 대칭형 동형암호 기술을 응용하여 사용자의 아이디 정보 및 비밀키 정보를 인증 기관 등의 비밀키 생성자로부터 보호하기 위한 기술적인 수단을 제공하기 위한 것이다.Disclosed embodiments are to provide a technical means for protecting a user's ID information and secret key information from a secret key generator such as a certification authority by applying a symmetric homogeneous encryption technology.

예시적인 실시예에 따르면, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 단말 장치에서 수행되는 방법으로서, 인증 요청자 단말에서, 상기 인증 요청자 단말의 대칭형 동형암호 비밀키(hsk)를 이용하여, 상기 인증 요청자 단말의 아이디(id)에 대응되는 제1 동형 암호문(c=HE(id))을 생성하는 단계; 인증 기관 서버에서, 상기 인증 요청자 단말로부터 수신되는 상기 제1 동형 암호문(c)을 이용하여, 상기 아이디(id)에 대응되는 비밀키(skid)에 대한 제2 동형 암호문(C=HE(skid))을 생성하는 단계; 및 상기 인증 요청자 단말에서, 상기 제2 동형 암호문(C)을 수신하고, 수신된 상기 제2 동형 암호문(C)으로부터 상기 비밀키(skid)를 획득하는 단계를 포함하는, 방법이 제공된다.According to an exemplary embodiment, a method performed in a terminal device having one or more processors and a memory storing one or more programs executed by the one or more processors, the authentication requester terminal comprising: Generating a first homomorphic ciphertext (c = HE (id)) corresponding to an ID of the authentication requestor terminal by using a symmetric homologous secret secret key (hsk); In the certification authority server, the second isomorphic ciphertext (C = HE (sk) for the secret key (sk id ) corresponding to the id (id) using the first isomorphic ciphertext (c) received from the certificate requester terminal. id )); And receiving, at the authentication requestor terminal, the second isomorphic ciphertext (C) and obtaining the secret key (sk id ) from the received second isomorphic ciphertext (C).

상기 아이디(id)는, 상기 인증 요청자 단말이 임의로 생성한 가상 아이디(pseudonym)일 수 있다.The ID may be a virtual ID generated by the authentication requester terminal.

상기 제2 동형 암호문을 생성하는 단계는, 대칭형 동형암호의 eval 알고리즘을 이용하여 상기 제1 동형 암호문(c)으로부터 상기 제2 동형 암호문(C)을 생성하도록 구성될 수 있다.The generating of the second isomorphic ciphertext may be configured to generate the second isomorphic ciphertext C from the first isomorphic ciphertext c using an eval algorithm of symmetrical isomorphic encryption.

상기 제1 동형 암호문(c)을 생성하는 단계는, 상기 비밀키 생성을 위한 랜덤값(random)을 생성하는 단계; 및 상기 대칭형 동형암호 비밀키(hsk)를 이용하여, 생성된 상기 랜덤값(random)에 대응되는 제3 동형 암호문(HE(random))을 생성하는 단계를 더 포함할 수 있다.Generating the first isomorphic cipher text (c) may include generating a random value for generating the secret key; And generating a third homogeneous cipher text (HE) corresponding to the generated random value by using the symmetric homologous secret secret key (hsk).

상기 제2 동형 암호문(C)을 생성하는 단계는, 상기 인증 요청자 단말로부터 수신되는 상기 제3 동형 암호문을 추가적으로 고려하여 상기 제2 동형 암호문(C=HE(skid))을 생성하도록 구성될 수 있다.The generating of the second isomorphic ciphertext C may be configured to generate the second isomorphic ciphertext C = HE (sk id ) by further considering the third isomorphic ciphertext received from the authentication requestor terminal. have.

다른 예시적인 실시예에 따르면, 자신의 대칭형 동형암호 비밀키(hsk)를 이용하여, 상기 인증 요청자 단말의 아이디(id)에 대응되는 제1 동형 암호문(c=HE(id))을 생성하는 인증 요청자 단말; 및 상기 인증 요청자 단말로부터 수신되는 상기 제1 동형 암호문(c)을 이용하여, 상기 아이디(id)에 대응되는 비밀키(skid)에 대한 제2 동형 암호문(C=HE(skid))을 생성하는 인증 기관 서버를 포함하며, 상기 인증 요청자 단말은, 상기 인증 기관 서버로부터 상기 제2 동형 암호문(C)을 수신하고, 수신된 상기 제2 동형 암호문(C)으로부터 상기 비밀키(skid)를 획득하는, 아이디 기반 서명 시스템이 제공된다.According to another exemplary embodiment, an authentication for generating a first isomorphic cipher text (c = HE (id)) corresponding to an ID of the authentication requester terminal using its symmetric isomorphic password secret key (hsk) Requester terminal; And a second isomorphic ciphertext (C = HE (sk id )) for a secret key (sk id ) corresponding to the id (id) by using the first isomorphic ciphertext (c) received from the authentication requestor terminal. And a certification authority server for generating, wherein the authentication requester terminal receives the second homomorphic ciphertext (C) from the certification authority server, and receives the secret key (sk id ) from the received second homogeneous ciphertext (C). An ID based signature system is provided, which obtains a.

상기 아이디(id)는, 상기 인증 요청자 단말이 임의로 생성한 가상 아이디(pseudonym)일 수 있다.The ID may be a virtual ID generated by the authentication requester terminal.

상기 인증 기관 서버는, 대칭형 동형암호의 eval 알고리즘을 이용하여 상기 제1 동형 암호문(c)으로부터 상기 제2 동형 암호문(C)을 생성할 수 있다.The certification authority server may generate the second isomorphic ciphertext C from the first isomorphic ciphertext c using an eval algorithm of symmetrical homologous cryptography.

상기 인증 요청자 단말은, 상기 비밀키 생성을 위한 랜덤값(random)을 생성하고, 상기 대칭형 동형암호 비밀키(hsk)를 이용하여 생성된 상기 랜덤값(random)에 대응되는 제3 동형 암호문(HE(random))을 생성할 수 있다.The authentication requester terminal generates a random value for generating the secret key and generates a third homogeneous cipher text corresponding to the random value generated by using the symmetric homologous secret key hsk. (random)).

상기 인증 기관 서버는, 상기 인증 요청자 단말로부터 수신되는 상기 제3 동형 암호문을 추가적으로 고려하여 상기 제2 동형 암호문(C=HE(skid))을 생성할 수 있다.The certification authority server may generate the second isomorphic ciphertext C = HE (sk id ) by further considering the third isomorphic ciphertext received from the authentication requestor terminal.

개시되는 실시예들에 따르면, 아이디 기반의 서명을 위한 키 발급 과정에서 인증 기관 등의 키 생성자에게 아이디 및 이에 대응되는 비밀키가 노출되는 것을 방지할 수 있어 아이디 기반 서명의 보안성을 한층 더 높일 수 있다.According to the disclosed embodiments, it is possible to prevent the ID and the corresponding secret key from being exposed to a key generator such as a certification authority in the process of issuing a key for ID-based signature, thereby further increasing the security of the ID-based signature. Can be.

도 1은 일 실시예에 따른 아이디 기반 서명 시스템을 설명하기 위한 블록도
도 2는 일반적인 아이디 기반 서명 방법을 설명하기 위한 흐름도
도 3은 일 실시예에 따른 아이디 기반 서명 방법을 설명하기 위한 흐름도
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도
1 is a block diagram illustrating an ID-based signature system according to an embodiment.
2 is a flowchart illustrating a general ID based signature method.
3 is a flowchart illustrating an ID-based signature method according to an embodiment.
6 is a block diagram illustrating and describing a computing environment 10 that includes a computing device suitable for use in the exemplary embodiments.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to assist in a comprehensive understanding of the methods, devices, and / or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or an operator. Therefore, the definition should be made based on the contents throughout the specification. The terminology used in the description is for the purpose of describing embodiments of the invention only and should not be limiting. Unless explicitly used otherwise, the singular forms “a,” “an,” and “the” include plural forms of meaning. In this description, expressions such as "comprises" or "equipment" are intended to indicate certain features, numbers, steps, actions, elements, portions or combinations thereof, and one or more than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, actions, elements, portions or combinations thereof.

도 1은 일 실시예에 따른 아이디 기반 서명 시스템(100)을 설명하기 위한 블록도이다. 도시된 바와 같이, 일 실시예에 따른 아이디 기반 서명 시스템(100)은 인증 기관(Certified Authority)(102), 인증 요청자(104) 및 검증자(106)를 포함한다.1 is a block diagram illustrating an ID-based signature system 100 according to an embodiment. As shown, the ID-based signature system 100 according to one embodiment includes a Certificate Authority 102, a Certificate Requestor 104, and a Verifier 106.

인증 기관(102)은 요청자(104)의 아이디(id)를 수신하고, 이로부터 비밀키(skid)를 생성하는 키 생성(key generation) 서버이다. 상기 아이디는 요청자(104)의 이메일 주소 또는 전화번호 등 그 사용자에게만 해당하는 유일한 정보이다.The certificate authority 102 is a key generation server that receives the id of the requestor 104 and generates a secret key sk id therefrom. The ID is unique information corresponding only to the user, such as the e-mail address or phone number of the requestor 104.

요청자(104)는 인증 기관(102)으로부터 수신되는 비밀키(skid)를 이용하여 메시지(m)에 대한 서명값(σ)을 생성하는 단말이다. 이후 요청자(104)는 상기 서명값(σ)을 검증자(106)에게 송신하여 인증을 요청한다.The requestor 104 is a terminal that generates a signature value σ for the message m using the secret key sk id received from the certificate authority 102. The requestor 104 then sends the signature value σ to the verifier 106 to request authentication.

마지막으로, 검증자(106)는 요청자(104)로부터 수신된 서명값(σ)을 검증함으로써 요청자(104)에 대한 인증을 수행하는 단말이다.Finally, the verifier 106 is a terminal that performs authentication on the requestor 104 by verifying the signature value σ received from the requestor 104.

도 2는 일반적인 아이디 기반 서명 방법(200)을 설명하기 위한 흐름도이다. 아이디 기반 서명은 setup, keygen, sign, verify를 포함하는 네 개의 알고리즘으로 구성된다.2 is a flowchart illustrating a general ID based signature method 200. Identity-based signatures consist of four algorithms: setup, keygen, sign, and verify.

단계 202에서, 인증 기관(102)은 setup 알고리즘을 이용하여 시큐리티 파라미터 k로부터 마스터 비밀키(msk) 및 이에 대응되는 공개키(pp)를 생성한다. 이를 수식으로 나타내면 다음과 같다.In step 202, the certification authority 102 generates a master secret key msk and a corresponding public key pp from the security parameter k using the setup algorithm. This is expressed as a formula as follows.

(msk, pp) ← setup (1k)(msk, pp) ← setup (1 k )

단계 204에서, 요청자(104)는 자신의 아이디(id)를 인증 기관으로 송신한다.In step 204, the requestor 104 sends its ID to the certificate authority.

단계 206에서, 인증 기관(102)은 요청자(104)의 아이디(id)로부터 이에 대응되는 비밀키(skid)를 생성한다. 구체적으로 인증 기관(102)은 아이디(id)와 마스터 비밀키(msk)를 keygen 알고리즘에 입력하여 id에 대응되는 비밀키를 생성한다. 이를 수식으로 나타내면 다음과 같다.In step 206, the certification authority 102 generates a corresponding secret key sk id from the id of the requestor 104. In detail, the certification authority 102 generates a secret key corresponding to the id by inputting the id and the master secret key to the keygen algorithm. This is expressed as a formula as follows.

skid ← keygen (msk, id)sk id ← keygen (msk, id)

단계 208에서, 요청자(104)는 인증 기관(102)으로부터 발급받은 비밀키(skid) 및 sign 알고리즘을 이용하여 메시지(m)를 서명하여 서명값(σ)을 생성한다. 이를 수식으로 나타내면 다음과 같다.In step 208, the requestor 104 signs the message m using the secret key (sk id ) and sign algorithm issued from the certificate authority 102 to generate a signature value σ. This is expressed as a formula as follows.

σ ← sign (skid, m)σ ← sign (sk id , m)

단계 210에서, 검증자(106)는 요청자(104)로부터 수신되는 서명값(σ)을 검증한다. 구체적으로 검증자(106)는 인증 기관(102)의 공개키(pp), 원본 메시지(m) 및 서명값(σ) verify 알고리즘에 입력하여 검증 결과를 출하게 된다. 예를 들어 검증자(106)는 서명이 유효한 경우 1, 그렇지 않은 경우 0을 검증 결과로서 반환할 수 있다. 이를 수식으로 나타내면 다음과 같다.In step 210, the verifier 106 verifies the signature value σ received from the requestor 104. Specifically, the verifier 106 inputs the public key (pp), the original message (m), and the signature value (σ) verify algorithm of the certification authority 102 to output a verification result. For example, the verifier 106 can return 1 if the signature is valid, or 0 as the verification result. This is expressed as a formula as follows.

verify (pp, m, σ) → 1 or 0verify (pp, m, σ) → 1 or 0

상기 흐름도에서 알 수 있는 바와 같이, 아이디 기반 서명 방법은 인증 기관(102)을 통하여 아이디에 대응되는 비밀키를 생성하는 과정을 수반한다. 이 과정에서 인증 기관(102)은 아이디 기반 서명을 이용하는 모든 사용자의 아이디 및 이에 대응되는 비밀키 쌍에 대한 정보를 알 수 있게 되는 바, 민감한 개인정보가 중앙의 인증 기관(102)에 집중되는 문제가 발생한다. 이를 해결하기 위하여 본 발명의 실시예에서는 대칭형 동형암호 기법을 사용한다.As can be seen in the flowchart, the ID-based signature method involves generating a secret key corresponding to the ID through the certification authority 102. In this process, the certification authority 102 can know the information of all users' IDs and corresponding secret key pairs using the ID-based signature, so that sensitive personal information is concentrated on the central certification authority 102. Occurs. In order to solve this problem, an embodiment of the present invention uses a symmetric homologous cryptography technique.

대칭형 동형암호(Homomorphic Encryption, HE)는 KGen, Enc, Dec, Eval을 포함하는 네 개의 알고리즘을 포함한다.Symmetric Homomorphic Encryption (HE) includes four algorithms including KGen, Enc, Dec, and Eval.

KGen 알고리즘은 시큐리티 파라미터 k를 받아서 비밀키(sk)와 퍼블릭 파라미터(params)를 생성하기 위한 알고리즘이다. 이 중 비밀키(sk)는 송신자(Encryptor)와 수신자(Decryptor)가 비밀로 공유하여 보관하고, 퍼블릭 파라미터(params)는 공개된다. 이를 수식으로 나타내면 다음과 같다.KGen algorithm is an algorithm for generating a secret key (sk) and public parameters (params) by receiving a security parameter k. Among these, the secret key sk is shared and kept secret by the sender and the receiver, and public parameters are disclosed. This is expressed as a formula as follows.

(sk, params) ← KGen (1k)(sk, params) ← KGen (1 k )

Enc(sk, m) 알고리즘은 송신자(Encryptor)가 실행하는 알고리즘으로, 비밀키(나)와 암호화하려는 메시지(m)을 입력받고, m에 대한 암호문(c)를 출력한다.Enc (sk, m) algorithm is an algorithm executed by the sender (encryptor), receives the secret key (b) and the message (m) to be encrypted, and outputs the cipher text (c) for m.

Dec(sk, c) 알고리즘은 수신자(Decryptor)가 실행하는 알고리즘으로, 비밀키(나)와 암호문(c)을 입력받아 복호화된 평문 메시지(m)을 출력한다.The Dec (sk, c) algorithm is an algorithm executed by the receiver, and receives the secret key (b) and the cipher text (c) and outputs the decrypted plain text message (m).

Eval(f, params, c1, ..., cn): f라는 함수를 암호문 c1, ..., cn에 적용하여 암호문 C를 아웃풋한다. 만약, c1, ..., cn이 m1, ..., mn의 암호문이라고 가정할 때, C는 f(m1, ..., mn)의 암호문이 된다.Eval (f, params, c 1 , ..., c n ): Outputs ciphertext C by applying the function f to ciphertext c 1 , ..., c n . If c 1 , ..., c n is a ciphertext of m 1 , ..., m n , C becomes a ciphertext of f (m 1 , ..., m n ).

도 3은 일 실시예에 따른 아이디 기반 서명 방법(300)을 설명하기 위한 흐름도이다. 도시된 흐름도는 전술한, 인증 기관(Certified Authority)(102), 인증 요청자(104) 및 검증자(106)에 의하여 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.3 is a flowchart illustrating an ID-based signature method 300 according to an embodiment. The illustrated flow diagram may be performed by the Certificate Authority 102, the certificate requestor 104, and the verifier 106 described above. In the illustrated flow chart, the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted, divided into substeps, or not shown. One or more steps may be added and performed.

도 3에 도시된 아이디 기반 서명 방법(300)은 동형암호를 이용한 익명(anonymous ID, 또는 pseudonym) 기반의 서명 방법(HE-IBS)으로서, setup, HESetup, CAKGen, UserKGen, sign, verify를 포함하는 여섯 개의 알고리즘으로 구성된다.The ID-based signature method 300 illustrated in FIG. 3 is an anonymous (or anonymous ID, or pseudonym) -based signature method (HE-IBS) using an isomorphic password, and includes setup, HESetup, CAKGen, UserKGen, sign, and verify. It consists of six algorithms.

단계 302에서, 인증 기관(102)은 setup 알고리즘을 이용하여 시큐리티 파라미터 k로부터 마스터 비밀키(msk) 및 이에 대응되는 공개키(pp)를 생성한다. 이를 수식으로 나타내면 다음과 같다.In step 302, the certification authority 102 generates a master secret key msk and a corresponding public key pp from the security parameter k using the setup algorithm. This is expressed as a formula as follows.

(msk, pp) ← setup (1k)(msk, pp) ← setup (1 k )

단계 304에서, 요청자(104)는 HESetup 알고리즘을 이용하여 시큐리티 파라미터 k로부터 자신의 동형암호 비밀키 hsk와 공개 파라미터 params를 생성한다. 즉, 상기 HESetup 알고리즘은 대칭형 동형암호 기법의 KGen 알고리즘과 동일하다. 이를 수식으로 나타내면 다음과 같다. In step 304, the requestor 104 generates a homologous secret key hsk and a public parameter params from the security parameter k using the HESetup algorithm. That is, the HESetup algorithm is the same as the KGen algorithm of the symmetric homogeneous cryptography method. This is expressed as a formula as follows.

(hsk, params) ← HEsetup (1k)(hsk, params) ← HEsetup (1 k )

단계 306에서, 요청자(104)는 상기 304 단계에서 생성된 동형암호 비밀키(hsk) 및 대칭형 동형암호 기법의 Enc 알고리즘을 이용하여, 자신의 아이디(id)에 대응되는 제1 동형 암호문(c=HE(id))을 생성한다. 이를 수식으로 나타내면 다음과 같다.In step 306, the requestor 104 uses the homologous secret key (hsk) generated in the step 304 and the Enc algorithm of the symmetric homologous cryptography method, and the first homologous cipher text (c =) corresponding to its ID. HE (id)) This is expressed as a formula as follows.

C = HE(id) ← Enc (hsk, id)C = HE (id) ← Enc (hsk, id)

일 실시예에서, 요청자(104)의 아이디(id)는 이메일 주소, 또는 전화번호 등의 그 자체로 신원을 알 수 있는 정보가 아닌, 상기 인증 요청자 단말이 생성한 랜덤값인 가상 아이디(pseudonym)일 수 있다. 이에 따라 인증 기관(102)은 암호화되지 않은 아이디를 획득하더라도 해당 아이디에 대응되는 요청자(104)를 식별하는 것이 불가능하게 된다.In one embodiment, the ID (id) of the requestor 104 is a virtual ID (pseudonym), which is a random value generated by the authentication requestor terminal, not information that can be identified by itself, such as an email address or a telephone number. Can be. Accordingly, even if the certification authority 102 obtains an unencrypted ID, it is impossible to identify the requestor 104 corresponding to the ID.

단계 308에서, 인증 기관(102)은 요청자(104)로부터 수신되는 상기 제1 동형 암호문(c) 및 CAKGen 알고리즘을 이용하여, 상기 아이디(id)에 대응되는 비밀키(skid)에 대한 제2 동형 암호문(C=HE(skid))을 생성한다. 이를 수식으로 나타내면 다음과 같다.In step 308, the certification authority 102 uses the first homogeneous cipher text c and the CAKGen algorithm received from the requestor 104 to generate a second key for the secret key (sk id ) corresponding to the id (id). Generate an isomorphic ciphertext (C = HE (sk id )). This is expressed as a formula as follows.

HE(skid) ← CAKGen (msk, c, params)HE (skid) ← CAKGen (msk, c, params)

일 실시예에서, CAKGen 알고리즘은 대칭형 동형암호 기법의 eval 알고리즘을 이용함으로써, id에 대응되는 제1 동형 암호문(c)에서 id를 추출하지 않고도 곧바로 비밀키(skid)에 대한 제2 동형 암호문(C=HE(skid))을 생성할 수 있다. 구체적으로, eval 알고리즘에서 f를 keygen 알고리즘으로 가정하면 다음과 같은 관계가 성립한다.In one embodiment, CAKGen algorithm second homozygous ciphertext for by using the eval algorithm symmetric homozygous cryptography method, the first homozygous ciphertext (c) straight secret key (sk id) without having to extract the id in corresponding to the id ( C = HE (sk id )). Specifically, assuming that f is a keygen algorithm in the eval algorithm, the following relationship holds.

Eval(keygen(msk, HE(id)), params) = HE(skid)Eval (keygen (msk, HE (id)), params) = HE (sk id )

이와 같이, eval 대칭형 동형암호를 이용할 경우 인증 기관(102)에서 알 수 있는 정보는 id의 동형 암호문(HE(id)) 및 비밀키의 동형 암호문(HE(skid)) 뿐으로, 인증 기관(102)은 아이디 및 비밀키의 실제 값을 알 수 없다. 따라서 본 발명의 실시예에 따를 경우, 인증 기관(102)에 아이디 및 비밀키가 노출되는 것을 차단할 수 있다.As such, when the eval symmetric homologous cipher is used, the only information that can be known from the certification authority 102 is the homologous ciphertext (HE (id)) of the id and the homogeneous ciphertext (HE (sk id )) of the secret key. ) Does not know the actual value of the ID and secret key. Therefore, according to the embodiment of the present invention, it is possible to block the ID and secret key from being exposed to the certification authority 102.

단계 310에서, 요청자(104)는 상기 제2 동형 암호문(C)을 수신하고, 수신된 상기 제2 동형 암호문(C)으로부터 비밀키(skid)를 획득한다. 구체적으로, 요청자(104)는 UserKGen 알고리즘을 이용하여 HE(skid)를 복호화함으로써 skid를 얻을 수 있다. 이를 수식으로 나타내면 다음과 같다.In step 310, the requestor 104 receives the second isomorphic ciphertext (C) and obtains a secret key (sk id ) from the received second isomorphic ciphertext (C). Specifically, the requestor 104 may obtain sk id by decoding the HE (sk id ) using the UserKGen algorithm. This is expressed as a formula as follows.

Skid ← UserKGen(hsk, params, C=HE(skid))Sk id ← UserKGen (hsk, params, C = HE (sk id ))

단계 312에서, 요청자(104)는 310 단계에서 획득한 비밀키(skid) 및 sign 알고리즘을 이용하여 메시지(m)를 서명하여 서명값(σ)을 생성한다. 이를 수식으로 나타내면 다음과 같다.In step 312, the requestor 104 generates a signature value σ by signing the message m using the secret key (sk id ) and the sign algorithm obtained in step 310. This is expressed as a formula as follows.

σ ← sign (skid, m)σ ← sign (sk id , m)

단계 314에서, 검증자(106)는 요청자(104)로부터 수신되는 서명값(σ)을 검증한다. 구체적으로 검증자(106)는 인증 기관(102)의 공개키(pp), 원본 메시지(m) 및 서명값(σ) verify 알고리즘에 입력하여 검증 결과(1 또는 0)를 출하게 된다. 이를 수식으로 나타내면 다음과 같다.In step 314, the verifier 106 verifies the signature value σ received from the requestor 104. Specifically, the verifier 106 inputs the public key (pp), the original message (m), and the signature value (σ) verify algorithm of the certification authority 102 to output a verification result (1 or 0). This is expressed as a formula as follows.

verify (pp, m, σ) → 1 or 0verify (pp, m, σ) → 1 or 0

한편, 상기 방법에 따를 경우 인증 기관(102)은 수신되는 아이디의 실제 값을 알 수 없으므로 자신이 어떤 id에 대한 비밀키를 발급하였는지 알 수 없다. 그러나 인증 기관(102)은 비밀키 생성 알고리즘(keygen)을 보유하고 있으므로, 추후에 id를 알게 될 경우 해당 id에 대응되는 비밀키를 keygen 알고리즘을 이용하여 생성할 수 있다.On the other hand, according to the above method, since the certification authority 102 cannot know the actual value of the received ID, it cannot know which ID the private key has issued. However, since the certification authority 102 has a secret key generation algorithm (keygen), when the identity is later known, the secret authority 102 may generate a secret key corresponding to the id using the keygen algorithm.

이를 보완하기 위하여, 일 실시예에서 요청자(104)는 상기 비밀키 생성을 위한 랜덤값(random)을 직접 선택하고, 선택된 랜덤값(random)에 대응되는 제3 동형 암호문(HE(random))을 생성하여 이를 인증 기관(102)으로 송신할 수 있다. 그러면 이를 수신한 인증 기관(102)은 수신된 랜덤값의 동형 암호문을 추가적으로 keygen 함수에 적용하여 비밀키(skid)를 생성할 수 있다. 이를 수식으로 나타내면 다음과 같다.To compensate for this, in one embodiment, the requestor 104 directly selects a random value for generating the secret key, and selects a third isotype ciphertext (HE) corresponding to the selected random value. Can be generated and sent to certificate authority 102. Then, the receiving authority 102 may generate a secret key (sk id ) by additionally applying the received homogeneous ciphertext of the random value to the keygen function. This is expressed as a formula as follows.

Eval(keygen(msk, HE(id), HE(random)), params) = HE(skid)Eval (keygen (msk, HE (id), HE (random)), params) = HE (sk id )

이와 같이 요청자(104)가 직접 비밀키 생성을 위한 랜덤값을 결정할 경우, 인증 기관(102)은 추후에 요청자(104)의 아이디를 획득하더라도 비밀키 생성에 사용된 랜덤값은 여전히 알 수 없으므로 아이디에 대응되는 비밀키를 생성할 수 없게 된다. As such, when the requestor 104 directly determines the random value for generating the secret key, even if the certificate authority 102 later acquires the ID of the requester 104, the random value used for generating the secret key is still unknown. You will not be able to create a private key for.

도 4는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.4 is a block diagram illustrating and describing a computing environment 10 that includes a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 본 발명의 실시예들에 따른 인증 기관(102), 인증 요청자(104) 및 검증자(106)일 수 있다. 컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The illustrated computing environment 10 includes a computing device 12. In one embodiment, computing device 12 may be a certification authority 102, a certificate requestor 104, and a verifier 106 in accordance with embodiments of the present invention. Computing device 12 includes at least one processor 14, computer readable storage medium 16, and communication bus 18. The processor 14 may cause the computing device 12 to operate according to the example embodiments mentioned above. For example, processor 14 may execute one or more programs stored in computer readable storage medium 16. The one or more programs may include one or more computer executable instructions that, when executed by the processor 14, cause the computing device 12 to perform operations in accordance with an exemplary embodiment. Can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer readable storage medium 16 is configured to store computer executable instructions or program code, program data and / or other suitable forms of information. The program 20 stored in the computer readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, computer readable storage medium 16 includes memory (volatile memory, such as random access memory, nonvolatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash Memory devices, or any other form of storage medium that is accessible by computing device 12 and capable of storing desired information, or a suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.The communication bus 18 interconnects various other components of the computing device 12, including the processor 14 and the computer readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(102)와 연결될 수도 있다.Computing device 12 may also include one or more input / output interfaces 22 and one or more network communication interfaces 26 that provide an interface for one or more input / output devices 24. The input / output interface 22 and the network communication interface 26 are connected to the communication bus 18. The input / output device 24 may be connected to other components of the computing device 12 via the input / output interface 22. Exemplary input / output devices 24 may include pointing devices (such as a mouse or trackpad), keyboards, touch input devices (such as touchpads or touchscreens), voice or sound input devices, various types of sensor devices, and / or imaging devices. Input devices, and / or output devices such as display devices, printers, speakers, and / or network cards. The example input / output device 24 may be included inside the computing device 12 as one component of the computing device 12, and may be connected to the computing device 102 as a separate device from the computing device 12. It may be.

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Meanwhile, an embodiment of the present invention may include a program for performing the methods described herein on a computer, and a computer readable recording medium including the program. The computer-readable recording medium may include program instructions, local data files, local data structures, etc. alone or in combination. The media may be those specially designed and constructed for the purposes of the present invention, or those conventionally available in the field of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, and specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Hardware devices are included. Examples of such programs may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.

이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the exemplary embodiments of the present invention have been described in detail above, those skilled in the art will appreciate that various modifications can be made to the above-described embodiments without departing from the scope of the present invention. . Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.

100: 아이디 기반 서명 시스템
102: 인증 기관
104: 인증 요청자
106: 검증자
100: ID based signature system
102: certification authority
104: certificate requester
106: Verifier

Claims (10)

하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 단말 장치에서 수행되는 방법으로서,
인증 요청자 단말에서, 상기 인증 요청자 단말의 대칭형 동형암호 비밀키(hsk)를 이용하여, 상기 인증 요청자 단말의 아이디(id)에 대응되는 제1 동형 암호문(c=HE(id))을 생성하는 단계;
인증 기관 서버에서, 상기 인증 요청자 단말로부터 수신되는 상기 제1 동형 암호문(c)을 이용하여, 상기 아이디(id)에 대응되는 비밀키(skid)에 대한 제2 동형 암호문(C=HE(skid))을 생성하는 단계; 및
상기 인증 요청자 단말에서, 상기 제2 동형 암호문(C)을 수신하고, 수신된 상기 제2 동형 암호문(C)으로부터 상기 비밀키(skid)를 획득하는 단계를 포함하며,
상기 제1 동형 암호문(c)을 생성하는 단계는,
상기 비밀키 생성을 위한 랜덤값(random)을 생성하는 단계; 및
상기 대칭형 동형암호 비밀키(hsk)를 이용하여, 생성된 상기 랜덤값(random)에 대응되는 제3 동형 암호문(HE(random))을 생성하는 단계를 더 포함하는, 방법.
One or more processors, and
A method performed in a terminal device having a memory for storing one or more programs executed by the one or more processors, the method comprising:
Generating, at the authentication requester terminal, a first homomorphic cipher text (c = HE (id)) corresponding to an ID of the authentication requestor terminal by using a symmetric homologous password secret key (hsk) of the authentication requestor terminal. ;
In the certification authority server, the second isomorphic ciphertext (C = HE (sk) for the secret key (sk id ) corresponding to the id (id) using the first isomorphic ciphertext (c) received from the certificate requester terminal. id )); And
Receiving, at the authentication requester terminal, the second homomorphic ciphertext (C) and obtaining the secret key (sk id ) from the received second homogeneous ciphertext (C),
Generating the first isomorphic cipher text (c),
Generating a random value for generating the secret key; And
Generating a third homomorphic ciphertext (HE) corresponding to the random value generated using the symmetric homologous secret secret key (hsk).
청구항 1에 있어서,
상기 아이디(id)는, 상기 인증 요청자 단말이 생성한 가상 아이디(pseudonym)인, 방법.
The method according to claim 1,
The ID is a virtual ID (pseudonym) generated by the authentication requestor terminal.
청구항 1에 있어서,
상기 제2 동형 암호문을 생성하는 단계는, 대칭형 동형암호의 eval 알고리즘을 이용하여 상기 제1 동형 암호문(c)으로부터 상기 제2 동형 암호문(C)을 생성하는, 방법.
The method according to claim 1,
The generating of the second isomorphic ciphertext comprises: generating the second isomorphic ciphertext (C) from the first isomorphic ciphertext (c) using an eval algorithm of symmetrical isomorphic encryption.
삭제delete 청구항 1에 있어서,
상기 제2 동형 암호문(C)을 생성하는 단계는, 상기 인증 요청자 단말로부터 수신되는 상기 제3 동형 암호문을 추가적으로 고려하여 상기 제2 동형 암호문(C=HE(skid))을 생성하도록 구성되는, 방법.
The method according to claim 1,
Generating the second isomorphic ciphertext (C) is configured to generate the second isomorphic ciphertext (C = HE (sk id )) by further considering the third isomorphic ciphertext received from the authentication requestor terminal. Way.
자신의 대칭형 동형암호 비밀키(hsk)를 이용하여, 인증 요청자 단말의 아이디(id)에 대응되는 제1 동형 암호문(c=HE(id))을 생성하는 인증 요청자 단말; 및
상기 인증 요청자 단말로부터 수신되는 상기 제1 동형 암호문(c)을 이용하여, 상기 아이디(id)에 대응되는 비밀키(skid)에 대한 제2 동형 암호문(C=HE(skid))을 생성하는 인증 기관 서버를 포함하며,
상기 인증 요청자 단말은, 상기 비밀키 생성을 위한 랜덤값(random)을 생성하고, 상기 대칭형 동형암호 비밀키(hsk)를 이용하여 생성된 상기 랜덤값(random)에 대응되는 제3 동형 암호문(HE(random))을 생성하며, 상기 인증 기관 서버로부터 상기 제2 동형 암호문(C)을 수신하고, 수신된 상기 제2 동형 암호문(C)으로부터 상기 비밀키(skid)를 획득하는, 아이디 기반 서명 시스템.
An authentication requester terminal for generating a first homogeneous cipher text (c = HE (id)) corresponding to an ID of the authentication requester terminal by using its symmetric homologous password secret key hsk; And
By using the first isotype cipher text (c) received from the authentication requester terminal, a second isotype cipher text (C = HE (sk id )) for the secret key (sk id ) corresponding to the id ( id ) is generated. Includes a certification authority server,
The authentication requester terminal generates a random value for generating the secret key and generates a third homogeneous cipher text corresponding to the random value generated by using the symmetric homologous secret key hsk. (random), receiving the second homogeneous ciphertext (C) from the certification authority server, and obtaining the secret key (sk id ) from the received second homogeneous ciphertext (C). system.
청구항 6에 있어서,
상기 아이디(id)는, 상기 인증 요청자 단말이 생성한 가상 아이디 (pseudonym)인, 아이디 기반 서명 시스템.
The method according to claim 6,
The ID (id) is a virtual ID (pseudonym) generated by the authentication requester terminal, ID based signature system.
청구항 6에 있어서,
상기 인증 기관 서버는,
대칭형 동형암호의 eval 알고리즘을 이용하여 상기 제1 동형 암호문(c)으로부터 상기 제2 동형 암호문(C)을 생성하는, 아이디 기반 서명 시스템.
The method according to claim 6,
The certification authority server,
And generating the second isomorphic ciphertext (C) from the first isomorphic ciphertext (c) using an eval algorithm of symmetric isomorphic cryptography.
삭제delete 청구항 6에 있어서,
상기 인증 기관 서버는,
상기 인증 요청자 단말로부터 수신되는 상기 제3 동형 암호문을 추가적으로 고려하여 상기 제2 동형 암호문(C=HE(skid))을 생성하는, 아이디 기반 서명 시스템.
The method according to claim 6,
The certification authority server,
And generating the second isomorphic ciphertext (C = HE (sk id )) by further considering the third isomorphic cipher text received from the authentication requestor terminal.
KR1020180138600A 2018-11-13 2018-11-13 System and method for providng anonymous identity-based signature using homomorphic encryption KR102005946B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180138600A KR102005946B1 (en) 2018-11-13 2018-11-13 System and method for providng anonymous identity-based signature using homomorphic encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180138600A KR102005946B1 (en) 2018-11-13 2018-11-13 System and method for providng anonymous identity-based signature using homomorphic encryption

Publications (1)

Publication Number Publication Date
KR102005946B1 true KR102005946B1 (en) 2019-10-01

Family

ID=68207845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180138600A KR102005946B1 (en) 2018-11-13 2018-11-13 System and method for providng anonymous identity-based signature using homomorphic encryption

Country Status (1)

Country Link
KR (1) KR102005946B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101045804B1 (en) * 2010-07-05 2011-07-04 한국기초과학지원연구원 Fast verification method for identity-based aggregate signatures and system thereof
KR101472507B1 (en) * 2014-01-22 2014-12-12 고려대학교 산학협력단 Method for an outsourcing computation
KR101832861B1 (en) * 2016-09-26 2018-04-13 연세대학교 산학협력단 Method and Apparatus for Evaluating Passwords
KR101865703B1 (en) 2016-10-28 2018-06-08 삼성에스디에스 주식회사 Apparatus and method for generating key, apparatus and method for encryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101045804B1 (en) * 2010-07-05 2011-07-04 한국기초과학지원연구원 Fast verification method for identity-based aggregate signatures and system thereof
KR101472507B1 (en) * 2014-01-22 2014-12-12 고려대학교 산학협력단 Method for an outsourcing computation
KR101832861B1 (en) * 2016-09-26 2018-04-13 연세대학교 산학협력단 Method and Apparatus for Evaluating Passwords
KR101865703B1 (en) 2016-10-28 2018-06-08 삼성에스디에스 주식회사 Apparatus and method for generating key, apparatus and method for encryption

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
F. Armknecht 외 6명, A Guide to Fully Homomorphic Encryption, Cryptology ePrint Archive, Report: 2015/192 (2015.)* *

Similar Documents

Publication Publication Date Title
JP4790731B2 (en) Derived seed
US9154306B2 (en) Privacy-preserving flexible anonymous-pseudonymous access
JP5265744B2 (en) Secure messaging system using derived key
US8509449B2 (en) Key protector for a storage volume using multiple keys
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
US20120294445A1 (en) Credential storage structure with encrypted password
JP5506704B2 (en) Decryption system, key device, decryption method, and program
WO2020155812A1 (en) Data storage method and device, and apparatus
JP6451938B2 (en) Ciphertext verification system, method, and program
US20180227278A1 (en) Communication of Messages Over Networks
JP6041864B2 (en) Method, computer program, and apparatus for data encryption
US8732481B2 (en) Object with identity based encryption
WO2016014048A1 (en) Attribute-based cryptography
KR102005946B1 (en) System and method for providng anonymous identity-based signature using homomorphic encryption
CN115442037A (en) Account management method, device, equipment and storage medium
KR102281265B1 (en) Functional encryption for set intersection with time-constrained function keys
KR102192594B1 (en) Apparatus and method for order-revealing encryption in multi-client environment without trusted authority
Adams et al. Digital signatures for mobile users
JPH11215121A (en) Device and method for authentication
KR102122773B1 (en) System and method for providng redactable signature with recovery functionality
KR101657936B1 (en) Key management and user authentication method using identity based encryption
KR102474628B1 (en) Method for signcrytion using functional signature and computing device for executing the method
CN115174239B (en) Traceable and forward secure attribute-based signature system and method with fixed length
KR102625088B1 (en) Apparatus and method for sharing data
JP2018148293A (en) Credential generation system and method, client terminal, server device, issuance request device, and credential issuance device and program