KR101827813B1 - 비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 - Google Patents

비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 Download PDF

Info

Publication number
KR101827813B1
KR101827813B1 KR1020120128616A KR20120128616A KR101827813B1 KR 101827813 B1 KR101827813 B1 KR 101827813B1 KR 1020120128616 A KR1020120128616 A KR 1020120128616A KR 20120128616 A KR20120128616 A KR 20120128616A KR 101827813 B1 KR101827813 B1 KR 101827813B1
Authority
KR
South Korea
Prior art keywords
secret key
sub
user
master key
message
Prior art date
Application number
KR1020120128616A
Other languages
English (en)
Other versions
KR20130135018A (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 KR1020120128616A priority Critical patent/KR101827813B1/ko
Publication of KR20130135018A publication Critical patent/KR20130135018A/ko
Application granted granted Critical
Publication of KR101827813B1 publication Critical patent/KR101827813B1/ko

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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • 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/3247Cryptographic 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 digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법이 개시된다. 암호화된 메시지를 수신하는 사용자 아이디(UID)를 공개키로 이용해서 임의의 랜덤 값(r)을 선택하여 메세지를 암호화하여 암호문(U, V)(U=gr, V=m·(SUID)r)을 생성하여 전송한다. 암호화된 메시지를 수신한 사용자 아이디(UID)에 대응되는 비밀키(skUID,
Figure 112012093510612-pat00023
)를 토대로
Figure 112012093510612-pat00024
을 이용하여 메시지를 복원한다. 본 발명에 의하면, 비밀키 생성부의 계층화를 통해 클라이언트 단의 경량화와 비밀키 생성의 효율성을 도모할 수 있다. 또한, 계층화된 비밀키 생성부를 각각 용도에 적합하게 혼합하여 다양한 분야에 활용될 수 있다.

Description

비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체{Encryption and decryption method and signature method based on method for generating secret key, and recording medium storing program for executing method of the same in computer}
본 발명은 비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체에 관한 것으로, 더욱 상세하게는, 비밀키 생성부를 계층화하여 비밀키를 생성하는 비밀키 생성 장치 방법을 기반으로 한 암복호화 방법 및 서명 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체에 관한 것이다.
최근 컴퓨터 기술의 발달과 통신망의 급속한 확장으로 인해 컴퓨터 관련 자원과 전송되는 데이터들에 대한 보안 문제가 큰 이슈로 부각되고 있다. 이러한 문제를 해결할 수 있는 하나의 대안으로 암호 기반 시스템이 이용되고 있다. 현재까지 가장 크게 기여한 암호 시스템은 공개키 암호 시스템인데, 이와 같은 전통적 공개키 시스템에서는 사용자의 공개키를 미리 인증해야 하고 문제가 발생한 인증서는 유효기간 종료 전이라도 폐기해야 하므로 공개키의 인증서 관리에 관한 어려움이 발생한다. 따라서 개인의 아이디(identity, ID)를 기반으로 하는 아이디(ID) 기반 암호 시스템이 제안되었다.
공개키 기반 암호 시스템은 비밀키를 먼저 정하고 공개키를 계산하는 방식을 따른다. 반면, 아이디 기반 암호 시스템은 아이디를 먼저 선택하고 이로부터 비밀키를 계산하며, 비밀키 발급은 키 발행기관(PKG, private key generator)이 아이디로부터 계산하여 비밀채널을 통해 발급한다.
종래 아이디 기반 암호 시스템은 클라이언트 단에서 수행되는 과정이 느린 단점이 있어서, TDL(Trapdoor Discrete Logarithm) 기반의 새로운 아이디 기반 암호 시스템이 제안되었으나, 이 역시 비밀키 발급이 느리다는 단점이 있다. 따라서 본 발명에서는 사용자 단(클라이언트 단)의 효율성과 키 발급의 효율성을 모두 갖출 수 있는 새로운 기술을 제안하고자 한다.
이와 관련된 선행기술을 구체적으로 살펴보면, 한국공개공보 제2005-0037723호(발명의 명칭 : 신원정보를 기반으로 하는 암호 시스템에서의 컨퍼런스 세션키 분배방법)에는 서로 다른 두 임시 비밀키를 선택하여 메시지를 생성하고 세션키 생성용 변수를 생성할 때 세션 개시 개체의 임시 비밀키를 사용하는 프로토콜을 제공하는 방법을 개시하고 있다. 이는 신원 정보 기반의 암호 시스템을 구현하는 단계와 키 공유 프로토콜 단계로 이루어져 신원 정보 기반 암호 시스템은 서명을 제공하는 시스템으로 구성된다. 본 발명은 비밀키를 생성하는 주체를 계층화하여 서브 비밀키 생성부의 비밀키 생성시간을 단축하고자 하는 것이므로 상기 선행기술과 구성상 차이가 있다.
또한, 한국공개공보 제2011-0117169호(발명의 명칭 : ID 기반 인증키 프로토콜을 수행하기 위한 방법 및 장치)에는 암호키 에스크로 문제를 겪지 않는 ID 기반 인증키 동의 프로토콜을 개시하고 있다. 이는 ID 기반 인증키 동의 프로토콜에 관련 된 것으로, 비밀키 생성 주체를 계층화하는 본 발명과는 차이가 있다.
본 발명이 이루고자 하는 기술적 과제는, 아이디 기반 암호 기술의 비밀키 생성부를 계층화하여 클라이언트 단의 경량화 및 비밀키 생성의 효율성을 보장할 수 있는 비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법을 제공하는 데 있다. 또한, 계층화된 비밀키 생성부를 각각 용도에 적합하게 혼합하여 다양한 분야에 활용될 수 있도록 한다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 암복호화 방법은, (e) 암호화된 메시지를 수신하는 사용자 아이디(UID)를 공개키로 이용해서 임의의 랜덤 값(r)을 선택하여 메세지를 암호화하여 암호문(U, V)(U=gr, V=m·(SUID)r)을 생성하여 전송하는 단계; 및 (f) 상기 암호화된 메시지를 수신한 사용자 아이디(UID)에 대응되는 비밀키(skUID, )를 토대로
Figure 112012093510612-pat00002
을 이용하여 메시지를 복원하는 단계;를 포함하며, 상기 사용자 아이디에 대응되는 비밀키는, 루트 마스터 키와 소정의 루트 파라미터를 설정하고 비밀키를 발급할 수 있는 사용자의 수(n)를 설정하여 제1 해쉬 함수를 이용하여 소정의 서브 파라미터를 계산하고 상기 루트 파라미터, 서브 파라미터를 이용하여 상기 설정된 사용자의 수(n)만큼 비밀키 발급이 가능한 제1서브 마스터 키 세트를 생성하고 상기 사용자 아이디에 대해 제2 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 상기 제1서브 마스터 키 세트와 선형 결합하여 생성되는 것을 특징으로 한다.
상기의 다른 기술적 과제를 달성하기 위한 본 발명에 따른 서명 방법은, (g) 사용자 아이디(UID)에 대응되는 비밀키(skUID,
Figure 112012093510612-pat00003
)를 토대로 임의의 랜덤 값(r)을 선택하여 e=H2(gr,m)을 계산하여 서명(σUID,m, σUID,m=(gr, r-e·skUID))을 생성하는 단계; 및 (h) 상기 생성된 서명(σUID,m=(U, V))을 수신한 경우, 송신자의 상기 사용자 아이디(UID)를 이용하여 U=gV·(SUID)H3 (U,m)를 토대로 상기 서명의 유효성을 검증하는 단계;를 포함하며, 상기 사용자 아이디에 대응되는 비밀키는, 루트 마스터 키와 소정의 루트 파라미터를 설정하고 비밀키를 발급할 수 있는 사용자의 수(n)를 설정하여 제1 해쉬 함수를 이용하여 소정의 서브 파라미터를 계산하고 상기 루트 파라미터, 서브 파라미터를 이용하여 상기 설정된 사용자의 수(n)만큼 비밀키 발급이 가능한 제1서브 마스터 키 세트를 생성하고 상기 사용자 아이디에 대해 제2 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 상기 제1서브 마스터 키 세트와 선형 결합하여 생성되는 것을 특징으로 한다.
본 발명에 따른 비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법에 의하면, 비밀키 생성부의 계층화를 통해 클라이언트 단의 경량화와 비밀키 생성의 효율성을 도모할 수 있다. 또한, 계층화된 비밀키 생성부를 각각 용도에 적합하게 혼합하여 다양한 분야에 활용될 수 있다.
도 1은 본 발명에 따른 비밀키 생성 장치 구성을 도시한 블록도,
도 2는 본 발명에 따른 비밀키 생성 방법이 구현되는 원리를 간략하게 도시한 도면,
도 3 내지 도 4는 본 발명에 따른 비밀키 생성 방법에 의해 생성된 비밀키를 토대로 암복호화하는 과정과 서명 생성 및 전송 과정을 도시한 도면, 그리고,
도 5는 본 발명에 따른 비밀키 생성 방법을 도시한 도면이다.
이하에서 첨부의 도면들을 참조하여 본 발명에 따른 비밀키 생성 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.
도 1은 본 발명에 따른 비밀키 생성 장치(100)의 구성을 도시한 블록도이고, 도 2는 본 발명에 따른 비밀키 생성 방법이 구현되는 원리를 간략하게 도시한 도면이다. 도 1을 참조하면, 비밀키 생성 장치(100)는 루프 비밀키 생성부(110) 및 서브 비밀키 생성부(120)를 포함할 수 있다.
비밀키 생성 장치(100)는 사용자 아이디에 대응하는 비밀키를 생성한다. 본 발명에 따른 비밀키 생성 장치(100)는 비밀키 생성부가 계층화되어 루트 비밀키 생성부(110), 서브 비밀키 생성부(120)를 갖는다.
루트 비밀키 생성부(110)는 비밀키를 생성할 수 있는 루트 마스터 키(mkRoot)를 보유한다. 이때 루트 마스터 키(mkRoot)는 (p, q) 형태로 이루어질 수 있으며, 이때 p와 q는
Figure 112012093510612-pat00004
를 만족하는 B-스무스(smooth)인 소수로 정의할 수 있다. 루트 마스터 키(mkRoot, (p, q))는 서브 비밀키 생성부(120) 또는 루트 비밀키 생성부(110)로부터 직접 비밀키를 발급받는 사용자들에게 비밀키를 생성해 줄 수 있는 마스터 비밀 정보를 갖고 있다. 따라서 도 2를 참조하면, 루트 비밀키 생성부(110)는 사용자(x)에게 직접 사용자(x) 아이디에 대응하는 비밀키를 생성하여 제공할 수 있다. 이러한 경우, 루트 비밀키 생성부(110)는 사용자로부터 사용자 아이디를 전송받아 사전 계산 테이블 데이터를 참조하여 이산 로그 값을 도출하여 사용자에게 비밀키를 발급한다.
또한 루트 비밀키 생성부(110)는 루트 비밀키 생성부 파라미터(N, G, g, H1, H2)를 설정하며, 각각의 파라미터는 다음과 같이 정의될 수 있다. N은
Figure 112012093510612-pat00005
인 합성수, G는 ZN(ZN={0,1,...n-1}, 유한환)의 최대 순환 부분군, g는 G의 생성원을 말한다. H1은 제1 해쉬 함수로 {0,1}*→G로 정의되는 풀 도메인 해쉬 함수 일 수 있으며, 서브 비밀키 생성부(120)나 루트 비밀키 생성부(110)로부터 직접 비밀키를 발급받는 사용자의 아이디를 입력값으로 하여 이산로그를 풀 수 있는 군 G로 매핑하는 함수이다. 그리고 H2는 제2 해쉬 함수로 {0,1}*→ZN로 정의되는 랜덤 해쉬 함수일 수 있으며, 후술할 서명 방법에서 랜덤 해쉬 함수로 사용될 수 있다. 이러한 루트 비밀키 생성부 파라미터(N, G, g, H1, H2)는 본 아이디 기반 암호화 시스템(100)을 운용하기 위해 공개되는 시스템 파라미터이고, 서브 비밀키 생성부(120) 또는 본 아이디 기반 암호화 시스템을 사용하는 사용자들에게 비밀키를 제공할 수 있는 연산 과정에 이용된다.
루트 비밀키 생성부(110)는 루트 마스터 키 및 소정의 파라미터를 사용하여 사용자 아이디에 대응하는 비밀키를 발급할 수 있는 권한을 가진 서브 비밀키 생성부(120)에게 사전에 설정되어 있는 제한 개수 내에서 비밀키를 생성할 수 있는 제1서브 마스터 키 세트를 발급한다. 이를 위해 루트 비밀키 생성부(110)는 서브 비밀키 생성부(120)로부터 서브 비밀키 생성부 아이디(GID) 및 서비스 사용자 수(n) 정보를 수신하여 서브 비밀키 생성부 아이디(GID)에 대한 인증 작업을 수행한다. 이러한 인증 작업은 공개되지 않은 채널(비밀 채널)에서 수행될 수 있다.
도 5를 참조하면, 루트 비밀키 생성부(110)는 상술한 서브 비밀키 생성부 아이디(GID)에 대한 인증을 수행하여 인정되면, 서브 비밀키 생성부 아이디(GID)와 서비스 사용자 수(n)인 (GID, n)을 입력 값으로 소정의 해쉬 함수를 수행하여 나온 결과값들의 이산 로그 값을 계산한다. 이때 (GID, 1)부터 (GID, n)까지 총 n개를 입력값으로 하여 해쉬 함수 수행 결과 n개의 이산 로그 값을 얻게 된다. 이렇게 나온 이산 로그 값들이 제1서브 마스터 키 세트(mkGID)이며, 루트 비밀키 생성부(110)는 제1서브 마스터 키 세트(mkGID)를 서브 비밀키 생성부(120)로 비밀 채널을 통해 전송하게 된다. 여기서 mkGID는 (x1, x2,..., xn)(단, gi=gxi이고, xi=logggi(1≤i≤n))이다.
이때 소정의 해쉬 함수는 풀 도메인 해쉬 함수를 이용할 수 있고,
Figure 112012093510612-pat00006
를 계산하여 서브 비밀키 생성부 파라미터(gi, 1≤i≤n)를 생성할 수 있다. 여기서 H1은 제1 해쉬 함수로 {0, 1}*→G로 정의되는 풀 도메인 해쉬 함수 일 수 있고, GID는 서브 비밀키 생성부(120)의 아이디를 의미한다.
서브 비밀키 생성부(120)는 제1서브 마스터 키 세트를 제공받아 사전에 설정된 사용자의 수 이내로 사용자 아이디에 대응하는 비밀키를 생성하여 사용자에게 발급한다. 서브 비밀키 생성부(120)는 서비스 제공자(service provider)별로 설정될 수 있다. 여기서 서비스 제공자(service provider)는 모바일 단말 상에 구현되는 다양한 어플리케이션일 수 있으나, 이에 한정되지는 않는다.
서브 비밀키 생성부(120)는 서브 비밀키 생성부에 할당된 사용자 아이디에 대해 소정의 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 제1서브 마스터 키 세트와 선형 결합하여 사용자 아이디에 대응하는 비밀키를 도출하여 사용자에게 전송한다. 즉, 서브 비밀키 생성부(120)는 사용자 아이디(UID)에 대해 랜덤 해쉬 함수(H3)를 이용하여 H3(UID)=b1b2…bn(2진표현, 즉, bi∈{0, 1})을 계산하고, 계산된 값(b1, b2,…, bn )을 제1서브 마스터 키 (x1, x2,..., xn)와 선형 결합하여 사용자 아이디(UID)에 대응하는 비밀키(skUID,
Figure 112012093510612-pat00007
)를 계산하여 사용자에게 공개되지 않은 채널(비밀채널)을 통해 전송한다. 여기서, H3는 제3 해쉬 함수로 {0,1}*→{0,1}n로 정의되는 랜덤 해쉬 함수일 수 있다. 이때, 랜덤 해쉬 함수(H3) 결과 값은 계산상의 편의성을 위해 w-스파스(sparse)한 형태로 bi(1≤i≤n) 중 w 개(1≤i≤n)만 '0'이 아닌 값, 즉, '1'이 되도록 할 수 있다.
따라서 종래 TDL(Trapdoor Discrete Logarithm) 군에서 정의된 아이디 기반 암호 기술의 경우 사전계산 테이블(pre-computation table)을 참고하여 이산 로그 결과값을 도출하였지만, 본 발명은 서브 비밀키 생성부(120)의 비트 섬메이션(bit summation) 계산으로 비밀키를 생성할 수 있어 비밀키 생성 시간이 단축된다.
서브 비밀키 생성부(120)는 사전에 설정된 사용자의 수를 초과하여 사용자에게 비밀키를 발급하게 되면 암호학적으로 비밀키가 노출될 우려가 있다. 따라서 사전에 설정된 수를 초과하여 비밀키를 제공하고자 하는 경우 서브 비밀키 생성부(120)는 루트 비밀키 생성부(110)에게 추가적인 서브 마스터 키 세트를 발급해 줄 것을 요청할 수 있다. 루트 비밀키 생성부(110)는 인증된 서브 비밀키 생성부(120)로부터 서브 마스터 키 세트 발급 요청을 수신하면 추가로 요청된 사용자의 수만큼 비밀키를 생성할 수 있는 제2서브 마스터 키 세트를 생성하여 서브 비밀키 생성부(120)로 제공할 수 있다. 이 경우 과금부(미도시)는 제2서브 마스터 키 세트에 대해 과금 할 수 있다. 과금은 비밀키 발급 가능한 사용자 수에 따라 비례해서 설정할 수 있으며, 사용자 수 * 단가의 형태로 책정될 수 있다. 이러한 과금부(미도시)는 루프 비밀키 생성부(110) 내에 포함될 수 있으며, 독립적으로 존재할 수 있다. 이러한 과금의 형태를 통해 서브 비밀키 생성부(120)는 루트 비밀키 생성부(110)의 허락 없이 임의로 사용자 수를 늘릴 수 없으므로 과금 체계를 명확하게 정립할 수 있다.
이러한 비밀키 생성 장치(100)를 기반으로 암복호화 장치(미도시)와 서명 장치(미도시)를 구현할 수 있다. 암복호화 장치는 암호화부 및 복호화부를 가지며, 서명 장치는 서명 생성부 및 서명 검증부를 가질 수 있다.
암호화부는 메시지(m)에 대하여 사용자 아이디가 UID인 사용자에게 암호화된 메시지를 송신하는 경우, 송신자는 먼저 사용자 아이디(UID)를 입력값으로 해쉬 함수를 계산하여 UID의 비트 리프리젠테이션
Figure 112012093510612-pat00008
을 계산한다. 송신자는 송신자 및 수신자(UID)가 포함된 서브 비밀키 생성부(120)의 공개된 시스템 파라미터와 비트 리프리젠테이션 값을 이용하여
Figure 112012093510612-pat00009
를 연산한다. 송신자는 임의의 랜덤 값(r)을 선택하여 메시지(m)에 대한 암호문(gr, m·(SUID)r)을 생성하여 이를 수신자(UID)에게 전송한다.
암호화된 메시지를 수신한 사용자(UID)의 복호화부는 환 ZN의 두 개의 원소로 이루어진 한 쌍의 암호문 (U, V)를 수신한다. 사용자(UID)는 자신이 포함된 서브 비밀키 생성부(120)로부터 사용자 아이디(UID)에 대응하여 발급받은 비밀키
Figure 112012093510612-pat00010
를 이용하여
Figure 112012093510612-pat00011
를 계산한다. 이때, 정상적인 암호화 과정을 통해 생성된 암호문이라면 U=gr, V=m·(SUID)r이고, UID에 대응되는 정당한 비밀키를 소유한 사용자라면 비밀키(
Figure 112012093510612-pat00012
)는
Figure 112012093510612-pat00013
의 밑(base)을 g로 하는 이산로그 값(즉,
Figure 112012093510612-pat00014
)이므로, 상기
Figure 112012093510612-pat00015
를 계산한 결과는 메시지 m과 같다.
서명 생성부는 사용자 아이디에 대응되는 비밀키(skUID,
Figure 112012093510612-pat00016
)를 토대로 임의의 랜덤 값(r)을 선택하여 e=H2(gr,m)을 계산하여 서명(σUID ,m, σUID ,m=(gr, r-e·skUID))을 생성한다. 서명 검증부는 생성된 서명 (σUID ,m=(U, V))에 대해, 서명을 수신한 수신한 수신자는 송신자의 아이디(UID)를 이용하여 gV·(SUID)H3 (U,m)를 계산하고 이 값이 U와 같은지 확인(U=gV·(SUID)H3 (U,m)성립 여부 확인)하여 서명의 유효성을 검증한다. 여기서, m은 메시지, r은 임의의 랜덤 값으로 r∈ZN,
Figure 112012093510612-pat00017
이다.
도 3 내지 도 4는 본 발명에 따른 비밀키 생성 방법에 의해 생성된 비밀키를 토대로 암복호화하는 과정과 서명 생성 및 전송 과정을 도시한 도면이고, 도 5는 본 발명에 따른 비밀키 생성 방법을 도시한 도면이다.
도 3 내지 도 5를 참조하면, 비밀키를 생성할 수 있는 루트 마스터 키를 설정하고 소정의 루트 파라미터를 설정하여 사전에 설정되어 있는 제한 개수 내에서 비밀키를 발급할 수 있는 권한을 가진 서브 비밀키 생성부(120)에게 제한 개수 내에서 비밀키를 생성할 수 있는 제1서브 마스터 키 세트를 발급하는 루트 비밀키 생성부(110)를 셋업한다(S310, S410).
또한, 비밀키 발급 권한을 가지고자 하는 사용자의 수를 사전에 설정하여 제1서브 마스터 키 세트를 제공받아 사전에 설정된 개수 내에서 사용자 아이디에 대응하는 비밀키를 생성하여 사용자에게 발급하는 서브 비밀키 생성부(120)를 셋업한다(S320, S420).
루트 비밀키 생성부(110)는 서브 비밀키 생성부 파라미터로부터 서브 비밀키 생성부의 아이디와 사전에 설정된 사용자의 수를 제공받아 서브 비밀키 생성부 아이디를 인증하고(S330, S430), 소정의 해쉬 함수를 수행하여 나온 출력 값들의 이산로그 값을 계산해서 나온 제1서브 마스터 키 세트를 서브 비밀키 생성부(120)로 전송한다(S340, S440). 서브 비밀키 생성부 아이디에 대한 인증이 실패하는 경우, 서브 비밀키 생성부(120)에 대한 서브 마스터 키 세트 발급을 중지한다.
서브 비밀키 생성부(120)는 서브 비밀키 생성부(120)에 할당된 사용자 아이디에 대해 소정의 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 제1서브 마스터 키 세트와 선형 결합하여 사용자 아이디에 대응하는 비밀키를 도출하여 사용자에게 전송한다(S350, S450).
이러한 비밀키 발급 방법에 기반하여 암복호화 기술을 구현하는 경우, 수신자 아이디를 이용하여 메세지를 암호화하여 전송한다(S360). 그리고 암호화된 메시지를 수신하게 되면 수신자 아이디에 대응되는 비밀키를 이용하여 암호문을 복호화한다(S370). 또한 이러한 비밀키 발급 방법에 기반하여 서명 기술을 구현하는 경우, 메시지를 송신하고자 하는 사용자 아이디에 대응되는 비밀키를 이용하여 전송하고자 하는 메시지에 서명을 생성하여 전송한다(S460). 그리고 수신된 서명이 메시지를 송신한 사용자 아이디와 메시지에 대해 유효한지 검증하게 된다(S470).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 유무선 통신망으로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
100 : 비밀키 생성 장치 110 : 루트 비밀키 생성부
120 : 서브 비밀키 생성부

Claims (4)

  1. (e) 암호화된 메시지를 수신하는 사용자의 아이디(UID)를 공개키로 이용해서 임의의 랜덤 값(r)을 선택하여 메세지를 암호화하여 암호문(U, V)(U=gr, V=m·(
    Figure 112017104499919-pat00030
    )r)을 생성하여 전송하는 단계; 및
    (f) 상기 암호화된 메시지를 수신한 사용자의 아이디(UID)에 대응되는 비밀키(
    Figure 112017104499919-pat00031
    ,
    Figure 112017104499919-pat00032
    )를 토대로
    Figure 112017104499919-pat00033
    을 이용하여 메시지를 복원하는 단계;를 포함하며,
    상기 사용자의 아이디에 대응되는 비밀키는, 루트 마스터 키와 소정의 루트 파라미터를 설정하고 비밀키를 발급할 수 있는 사용자의 수(n)를 설정하여 제1 해쉬 함수를 이용하여 소정의 서브 파라미터를 계산하고 상기 루트 파라미터, 서브 파라미터를 이용하여 상기 설정된 사용자의 수(n)만큼 비밀키 발급이 가능한 제1서브 마스터 키 세트를 생성하고 상기 사용자의 아이디에 대해 제2 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 상기 제1서브 마스터 키 세트와 선형 결합하여 생성되는 것을 특징으로 하는 암복호화 방법:
    여기서 r은 임의의 랜덤 값으로 r∈ZN, U=gr, V=m·(
    Figure 112017104499919-pat00034
    )r, m은 암호화된 메시지, m'은 복호화된 메시지, g는 G의 생성원, G는 ZN(ZN={0,1,...N-1} 유한환)의 최대 순환 부분군, 그리고,
    Figure 112017104499919-pat00035
    이다.
  2. (g) 사용자의 아이디(UID)에 대응되는 비밀키(
    Figure 112017104499919-pat00036
    ,
    Figure 112017104499919-pat00037
    )를 토대로 임의의 랜덤 값(r)을 선택하여 e=H2(gr,m)을 계산하여 서명(σUID,m, σUID,m=(gr, r-e·
    Figure 112017104499919-pat00038
    ))을 생성하는 단계; 및
    (h) 상기 생성된 서명(σUID,m=(U, V))을 수신한 경우, 송신자의 상기 사용자의 아이디(UID)를 이용하여
    Figure 112017104499919-pat00039
    를 토대로 상기 서명의 유효성을 검증하는 단계;를 포함하며,
    상기 사용자의 아이디에 대응되는 비밀키는, 루트 마스터 키와 소정의 루트 파라미터를 설정하고 비밀키를 발급할 수 있는 사용자의 수(n)를 설정하여 제1 해쉬 함수를 이용하여 소정의 서브 파라미터를 계산하고 상기 루트 파라미터, 서브 파라미터를 이용하여 상기 설정된 사용자의 수(n)만큼 비밀키 발급이 가능한 제1서브 마스터 키 세트를 생성하고 상기 사용자의 아이디에 대해 제2 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 상기 제1서브 마스터 키 세트와 선형 결합하여 생성되는 것을 특징으로 하는 서명 방법:
    여기서, m은 메시지, r은 임의의 랜덤 값으로 r∈ZN, g는 G의 생성원, G는 ZN(ZN={0,1,...N-1} 유한환)의 최대 순환 부분군, H3는 랜덤 해쉬 함수로서 {0,1}*→{0,1}n로 정의, 그리고,
    Figure 112017104499919-pat00040
    이다.
  3. 제 1항에 기재된 암복호화 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  4. 제 2항에 기재된 서명 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.

KR1020120128616A 2012-11-14 2012-11-14 비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 KR101827813B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120128616A KR101827813B1 (ko) 2012-11-14 2012-11-14 비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120128616A KR101827813B1 (ko) 2012-11-14 2012-11-14 비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020120058676A Division KR101301609B1 (ko) 2012-05-31 2012-05-31 비밀키 생성 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체

Publications (2)

Publication Number Publication Date
KR20130135018A KR20130135018A (ko) 2013-12-10
KR101827813B1 true KR101827813B1 (ko) 2018-03-22

Family

ID=49982544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120128616A KR101827813B1 (ko) 2012-11-14 2012-11-14 비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체

Country Status (1)

Country Link
KR (1) KR101827813B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008113201A (ja) 2006-10-30 2008-05-15 Sony Corp 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム
KR100888472B1 (ko) 2002-07-06 2009-03-12 삼성전자주식회사 이중키를 이용한 암호화방법 및 이를 위한 무선 랜 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100888472B1 (ko) 2002-07-06 2009-03-12 삼성전자주식회사 이중키를 이용한 암호화방법 및 이를 위한 무선 랜 시스템
JP2008113201A (ja) 2006-10-30 2008-05-15 Sony Corp 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム

Also Published As

Publication number Publication date
KR20130135018A (ko) 2013-12-10

Similar Documents

Publication Publication Date Title
KR101301609B1 (ko) 비밀키 생성 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
CN110022217B (zh) 一种基于区块链的广告传媒业务数据可信存证系统
US9515825B2 (en) Method for password based authentication and apparatus executing the method
JP5201136B2 (ja) 匿名認証システムおよび匿名認証方法
US9509492B2 (en) Authentication device, output device, verification device and input device
CN106130716B (zh) 基于认证信息的密钥交换系统及方法
CN106789042B (zh) Ibc域内的用户访问pki域内的资源的认证密钥协商方法
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
JP2013539324A5 (ko)
CN103731261A (zh) 加密重复数据删除场景下的密钥分发方法
CN105721153A (zh) 基于认证信息的密钥交换系统及方法
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CN103297230B (zh) 信息加解密方法、装置及系统
CN104200154A (zh) 一种基于标识的安装包签名方法及其装置
CN108933659B (zh) 一种智能电网的身份验证系统及验证方法
JP6368047B2 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、代表通信装置、一般通信装置、およびプログラム
Huang et al. Lightweight authentication scheme with dynamic group members in IoT environments
TW201724803A (zh) 具有時戳驗證的免憑證公開金鑰管理方法
CN116232568A (zh) 一种基于sm9的属性基加密的区块链访问控制方法
Mehta et al. Group authentication using paillier threshold cryptography
Doshi An enhanced approach for CP-ABE with proxy re-encryption in IoT paradigm
CN114697001B (zh) 一种基于区块链的信息加密传输方法、设备及介质
JP5097102B2 (ja) 階層型idベース暗号化装置及び復号化装置、それらの方法、プログラム及び記録媒体
Youn et al. Public audit and secure deduplication in cloud storage using BLS signature

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant