KR101373577B1 - Id 기반 동적 임계 암호화 장치 및 그 방법 - Google Patents

Id 기반 동적 임계 암호화 장치 및 그 방법 Download PDF

Info

Publication number
KR101373577B1
KR101373577B1 KR1020120129496A KR20120129496A KR101373577B1 KR 101373577 B1 KR101373577 B1 KR 101373577B1 KR 1020120129496 A KR1020120129496 A KR 1020120129496A KR 20120129496 A KR20120129496 A KR 20120129496A KR 101373577 B1 KR101373577 B1 KR 101373577B1
Authority
KR
South Korea
Prior art keywords
dynamic threshold
encryption
based dynamic
generating
decryption
Prior art date
Application number
KR1020120129496A
Other languages
English (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 KR1020120129496A priority Critical patent/KR101373577B1/ko
Application granted granted Critical
Publication of KR101373577B1 publication Critical patent/KR101373577B1/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/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/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
    • H04L9/0847Key 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 involving identity based encryption [IBE] schemes
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 ID 기반 동적 임계 암호화 방법에 관한 것으로, 보다 상세하게는 ID 기반 암호화 기법과 동적 임계 공개키 암호화 기법을 결합하여 ID 기반 동적 임계 암호화 기법을 구현한 ID 기반 동적 임계 암호화 방법에 관한 것이다.
개시되는 암호화 방법은 여러 수신자에게 전송할 문서(평문 M)를 ID 기반 동적 임계 암호화 방식으로 암호화시키는 암호화 방법에 있어서, a)상기 암호화를 위한 공개 파라미터를 생성하는 단계; b)상기 각 수신자의 ID(IDi)에 대응되는 개인키를 생성하는 단계; c)상기 평문에 대한 암호화를 수행하고, 상기 평문의 복호화가 가능한 수신자 ID1, …, IDk 및 수신자 수의 임계치(t(t는 자연수이며 t ≤ k))를 설정하여 상기 평문에 대한 암호문을 생성하는 단계; 및 d)상기 암호문을 복호화하는 단계를 포함하고, 상기 공개 파라미터에는 상기 IDi가 상기 수신자 집합에 속하며 상기 복호화를 시도하는 수신자의 수가 상기 t 이상인 경우에는 상기 각 수신자에 의해 상기 복호화가 가능하도록 하기 위한 해시 함수(hash function) H2가 포함된다.

Description

ID 기반 동적 임계 암호화 장치 및 그 방법{Apparatus of ID based dynamic threshold encryption and Method thereof}
본 발명은 ID 기반 동적 임계 암호화 장치 및 그 방법에 관한 것으로, 보다 상세하게는 ID 기반 암호화 기법과 동적 임계 공개키 암호화 기법을 결합하여 ID 기반 동적 임계 암호화 기법을 구현한 ID 기반 동적 임계 암호화 장치 및 그 방법에 관한 것이다.
ID 기반(신원 기반) 암호화 방식(IDentity-Based Encryption: IBE)은 전자우편주소나 전화번호와 같이 사용자의 잘 알려진 신원 정보(identity)를 공개키(public key)로 이용하는 공개키 암호화 방식으로, 이는 인증(authentication)이 필요 없는 신원 정보를 공개키로 사용하기 때문에 인증 과정이 생략되므로 기존의 일반적인 공개키 암호화 방식보다 효율적이다.
임계 공개키 암호화 시스템(threshold public key encryption)은 일반적인 공개키 암호화 시스템을 확장한 것으로, 복호화 임계치(threshold value, 이하 '임계치'로 약칭함)를 설정하여 수신자들의 복호화 권한(복호화 권한이 있는 수신자의 수)을 설정할 수 있다. 암호문은 송신자가 선택한 수신자들의 공개키를 이용하여 생성되고, 수신자들로 구성된 집합 중에 임계치 이상의 수신자가 모여야 암호문을 복호화할 수 있게 된다. 이때, 복호화에 참여하지 않은 수신자는 메시지를 복호화할 수 있는 권한이 없다. 예를 들어 전체 사용자가 20명일 때 송신자가 선택한 수신자 10명에 대하여 임계치가 4인 암호문을 전송하였을 때, 수신자 10명 중 적어도 4명이 모여야 암호문을 복호화 할 수 있게 된다. 한편 임계 공개키 암호화 시스템에서의 복호화 과정은 Shamir의 비밀 분산(secret sharing) 기법을 이용한다.
그러나 초기에 제안된 임계 공개키 암호화 시스템에서는 암호화 시스템의 초기 설정 또는 키 생성 과정에서 전체 사용자들의 집합과 수신자 집합의 크기 및 임계치가 고정 값으로 설정되었다. 따라서 암호화 시스템이 작동한 이후에는 이러한 설정 값들이 공개키의 입력 값이 되기 때문에 변경이 불가능하다. 그렇지만 이동 애드-혹(mobile ad-hoc) 네트워크 등과 같은 동적인(dynamic) 환경의 경우에는 수신자들의 집합이 동적으로 변할 수 있기 때문에 상기한 설정 값들을 고정시키지 않고 유연하게 변경할 수 있는 기능을 제공하는 동적 임계 공개키 암호화 시스템(dynamic threshold public key encryption)이 제안되었다.
한편 상기한 IBE와 임계 공개키 암호화 시스템의 각각의 장점을 결합한 ID 기반 임계 암호화 기법(identity based threshold encryption)이 제안되었으나 동적인 환경에서는 활용할 수가 없는 문제가 있었다. 따라서 ID 기반 임계 암호화 시스템에 동적인 기능을 추가하여 수신자 집합의 크기 및 임계치를 유연하게 변경할 수 있는 ID 기반 동적 임계 공개키 암호화 기법(ID based dynamic threshold encryption)이 제안된 바 있으나, 이는 구조적인 문제가 있는데 이에 대한 자세한 사항은 후술한다.
본 발명이 해결하고자 하는 과제는 기존에 제안된 ID 기반 동적 임계 공개키 암호화 시스템의 문제점을 극복할 수 있는 ID 기반 동적 임계 공개키 암호화 장치 및 그 방법을 제시하는 것이다.
상기와 같은 과제를 해결하기 위해 개시되는 암호화 장치는 여러 수신자에게 전송할 문서(평문 M)를 ID 기반 동적 임계 암호화 방식으로 암호화시키는 암호화 장치에 있어서, 상기 암호화를 위한 공개 파라미터를 생성하는 셋업부; 상기 각 수신자의 ID(IDi)에 대응되는 개인키를 생성하는 개인키 생성부; 상기 평문에 대한 암호화를 수행하고, 상기 평문의 복호화가 가능한 수신자 ID1, …, IDk 및 수신자 수의 임계치 t(t는 자연수이며 t ≤ k)를 설정하여 상기 평문에 대한 암호문을 생성하는 암호문 생성부; 및 상기 암호문을 복호화하는 복호화부를 포함하고, 상기 공개 파라미터에는 상기 IDi가 상기 수신자 집합에 속하며 상기 복호화를 시도하는 수신자의 수가 상기 t 이상인 경우에는 상기 각 수신자에 의해 상기 복호화가 가능하도록 하기 위한 해시 함수(hash function) H2가 포함된다.
상기와 같은 과제를 해결하기 위해 개시되는 암호화 방법은 여러 수신자에게 전송할 문서(평문 M)를 ID 기반 동적 임계 암호화 방식으로 암호화시키는 암호화 방법에 있어서, a)상기 암호화를 위한 공개 파라미터를 생성하는 단계; b)상기 각 수신자의 ID(IDi)에 대응되는 개인키를 생성하는 단계; c)상기 평문에 대한 암호화를 수행하고, 상기 평문의 복호화가 가능한 수신자 ID1, …, IDk 및 수신자 수의 임계치 t(t는 자연수이며 t ≤ k)를 설정하여 상기 평문에 대한 암호문을 생성하는 단계; 및 d)상기 암호문을 복호화하는 단계를 포함하고, 상기 공개 파라미터에는 상기 IDi가 상기 수신자 집합에 속하며 상기 복호화를 시도하는 수신자의 수가 상기 t 이상인 경우에는 상기 각 수신자에 의해 상기 복호화가 가능하도록 하기 위한 해시 함수(hash function) H2가 포함된다.
본 발명에 따른 암호화 기법은 기존의 ID 기반 암호화 기법과 동적 임계 암호화 기법의 장점을 모두 발현할 수 있음은 물론이고, 기존의 ID 기반 동적 임계 공개키 암호화 기법이 동적 임계 공개키 암호화의 의의를 상실시키는 문제점을 해결할 수 있다.
도 1은 본 시스템 발명의 구성을 제시한 도면이다.
도 2는 본 방법 발명의 흐름을 제시한 도면이다.
이하, 본 발명을 실시하기 위한 구체적인 내용을 본 발명의 바람직한 실시예에 근거하여 첨부 도면을 참조하여 상세히 설명하되, 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여하였으며 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다. 아울러 본 발명과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명 그리고 그 이외의 제반 사항이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.
동적 임계 공개키 암호화 시스템에서는 암호화 시스템이 작동한 후에도 송신자는 인증된 수신자들의 집합을 동적으로 선택할 수 있으며, 동적으로 인증된 수신자들의 집합 중 복호화 권한에 대한 임계치가 암호문 생성 과정에서 유연하게 설정될 수 있다. 동적 임계 공개키 암호 시스템이 만족해야 하는 기능에 대해 알려진 바는 다음과 같다.
- 어떠한 사용자도 시스템에 동적으로 참여하여 수신자가 될 수 있다.
- 송신자는 암호문에 대하여 수신자들의 집합을 동적으로 선택할 수 있다.
- 송신자는 암호문을 만들 때마다 임계치를 동적으로 설정할 수 있다. 이때 임계치는 수신자 집합에서 복호화에 필요한 최소의 수신자 수를 의미한다.
한편 ID 기반 동적 임계 암호화 시스템은 다음의 과정들을 통해 구현된다. 이는 ID 기반 암호화 시스템과 동적 임계 암호화 시스템의 조합으로 이루어지는 암호화 시스템이므로, ID 기반 암호화가 구현되는 과정의 맥락을 따르게 된다.
<셋업 과정: Setup(1λ, N)>
본 과정은 평문 M에 관한 암호문 C를 생성하기 위한 사전 과정으로, 키 생성 기관(Key Generation Center: KGC)에 의해 진행되며, 보안 상수 1λ와 전체 사용자(수신자) 집합의 크기 N을 입력받아 공개 파라미터 params과 마스터 키 mk를 생성한다. 이때 mk는 KGC의 비밀 값이다.
<개인키 생성 과정: KeyGen(params, mk, IDi)>
본 과정은 KGC에 의해 진행되고, params, mk, IDi(각 수신자의 ID)를 입력받아 각 수신자의 ID에 대응되는 개인키
Figure 112012094060310-pat00001
를 생성하는 과정이다.
<암호문 생성 과정: Encrypt(params, {ID1,…,IDk}, t, M)>
본 과정은 평문 M의 암호문 C를 생성하는 과정으로, params, 수신자들의 ID 집합 {ID1,…,IDk}, 복호화 임계치 t 및 평문 M을 입력받아 암호문 C를 생성하는 과정이다(t ≤ k ≤ N). 이는 k명의 수신자에 암호문 C를 전송하여 그 중 t명 이상이 모여야(t명 이상이 복호화에 참여하여야) 암호문 C를 복호화할 수 있도록 평문 M을 암호화한다는 의미이다.
<복호화 과정: Decrypt(params, IDs, C)>
본 과정은 수신자가 암호문 C를 복호화하여 평문 M을 얻는 과정으로, 평문 M을 얻고자 하는 수신자 집합 IDs가 {ID1,…,IDk}의 부분 집합이 아니거나 IDs의 크기가 t를 넘지 아니하면 복호화 불가능 메시지(⊥)를 출력하고, IDs가 {ID1,…,IDk}의 부분 집합이고 아울러 IDs의 크기가 t를 넘으면 평문 M을 출력하는 과정이다.
다음으로 상기한 ID 기반 동적 임계 암호화 시스템에 대해 이미 제시된 기법(이하 '기존 기법')을 소개하고 그 문제점을 소개하면 다음과 같다.
기존 기법은 Jinghao Xing과 Qiuliang Xu가 제안한 것으로("An identity based group-oriented threshold encryption scheme," Anti-Counterfeiting, Security and Identification(ASID), 2011 IEEE, pp. 30-33, June, 2011), 이 기법의 구현 과정에 대해 살펴보면 다음과 같다.
<셋업 과정: Setup(1λ, N)>
소수(prime number) q를 위수(位數)로 갖는 덧셈 군(group) G1 = <P>와 곱셈 군 G2를 선택하고, 겹선형 함수(bilinear map) e: G1×G1→G2와 해시 함수(hash function) H:{0, 1}* → G1 *를 정의한다. Q(∈ G1 *)와 s(∈ Zp *, Zp *는 Zp에서 0을 제외한 값의 집합으로서 예를 들어, 소수 p가 7이면 Zp는 {0,1,2,3,4,5,6}이고, Zp *는 {1,2,3,4,5,6}이다)를 선택하고 T=sP를 계산한다. 한편 상기한 겹선형 함수의 성질을 언급하면 다음과 같다.
(1)겹선형성(Bilinearity): 임의의 군 원소 P, Q(∈ G1)와 a, b(∈ Zp *)에 대하여 e(aP, bQ) = e(P, Q)ab을 만족한다.
(2)비소실성(Non-degeneracy): e(P, P)≠1을 만족시키는 P가 존재한다.
(3)계산 가능성(Computability): 임의의 P, Q에 대해서 e(P, Q)를 계산하는 효율적인 알고리즘이 존재한다.
본 과정에서는 상기한 값들을 통해 공개 파라미터 params = (q, G1, G2, e, P, Q, T, H)와 마스터 키 mk = s가 생성된다.
<개인키 생성 과정: KeyGen(params, mk, IDi)>
수신자 그룹의 각 수신자 IDi에 대응되는 개인키
Figure 112012094060310-pat00002
를 계산하여 전송한다.
<암호문 생성 과정: Encrypt(params, {ID1,…,IDk}, t, M)>
송신자가 정하는 수신자의 집합을 {ID1,…,IDk}라 할 때, 다음 과정들을 통해 평문 M에 대한 암호문 C를 생성한다.
1) m(∈ Zp *)을 선택하여 U = mP와 W = e(Q,T)m·M을 계산한다.
2) V = mQ + mH(ID1)H(ID2)…H(IDk)를 계산하고 V=f(0)인 [t-1]차 다항식 f를 설정한다. 여기서 t는 임계치이다.
3) 각 수신자에 대한 Vi = e(H(IDi), mT)f(H(IDi))를 계산한다.
4) 암호문 C를 다음과 같이 생성한다. C = (U, t, V1,…, Vk, W).
<복호화 과정: Decrypt(params, IDs, C)>
복호화에 참여하는 t명의 수신자의 ID 집합을 IDs = {ID1,…, IDt}라 하자. 각 수신자 측에서는 다음을 계산한다.
Figure 112012094060310-pat00003
.
t명의 수신자들이 계산한 f(H(IDi)) 값들을 이용하여 V를 계산할 수 있다.
Figure 112012094060310-pat00004
.
다음을 통해 평문 M을 얻을 수 있다.
Figure 112012094060310-pat00005
-- 식(1).
단, IDs가 {ID1,…,IDk}의 부분 집합이 아니거나 IDs의 크기가 t를 넘지 아니하면 복호화 불가능 메시지(⊥)를 출력한다.
기존 기법의 정확성은 식(1)의 등호 관계가 성립함을 증명함으로써 보일 수 있다.
Figure 112012094060310-pat00006
.
기존 기법에 관해 분석을 하면 다음과 같다.
기존 기법에 의하면 셋업 과정에서 위수가 소수 q인 덧셈 군(group) G1 = <P>와 곱셈 군 G2를 선택하고, 겹선형 함수 e: G1×G1→G2와 해시 함수 H:{0, 1}* → G1 *를 정의하며, 암호문 생성 과정에서 V = mQ + mH(ID1)H(ID2)…H(IDk)를 계산한다, 따라서 기존 기법이 정확성을 갖기 위해서는 덧셈 군과 곱셈 군 간에 Zp와 Zp * 같은 G1 * ⊂ G1의 관계가 성립해야 한다.
본래 겹선형 함수는 유한체에서 이산대수 문제(discrete logarithm problem)를 용이하게 풀기 위해 타원 곡선군의 원소를 유한체의 원소로 매핑(mapping)시키도록 하는 함수이므로 G1은 타원 곡선군이 된다. 타원 곡선상에서 원소간의 곱셈은 정의되지 아니하기 때문에 G1이 포함하는 곱셈 군 G1 *은 존재하지 아니한다.
이에 상기한 해시 함수 H:{0, 1}* → G1 *를 H:{0, 1}* → G1으로 새로이 정의한다. G1은 덧셈 군이므로 암호문 생성 과정에서 계산하는 V = mQ + mH(ID1)H(ID2)…H(IDk)는 다음과 같이 새롭게 정의할 수 있다.
V = mQ + mH(ID1) + mH(ID2) + … + mH(IDk).
새롭게 정의한 V에 따라 복호화 과정에서는 평문 M을 얻기 위해 다음과 같은 계산을 수행한다.
Figure 112012094060310-pat00007
.
이에 대한 정확성은 다음과 같다.
Figure 112012094060310-pat00008
.
위 식에 따르면 각 수신자는 다른 수신자의 개인키 sH(ID1), sH(ID2),…, sH(IDk)를 모두 알고 있어야(가지고 있어야) 복호화가 가능함을 알 수 있다. 각 수신자는 공개된 해시 함수 H()를 이용하여 다른 사용자의 해시 값 H(IDi)는 알 수 있지만, 자신의 개인키를 제외한 다른 수신자의 개인키는 알 수 없다. 따라서 기존 기법은 구조적으로 설계가 잘못된 것인데, 이는 기존 기법이 동적 임계 암호화의 본질을 벗어나 버렸다는 의미이다. 즉, 동적 임계 암호화의 본질은 임계치를 동적으로 설정할 수 있다는 것뿐만 아니라 수신자가 송신자가 지정한 수신자의 집합에 속하고 아울러 수신자의 수가 임계치 이상인 경우에는 복호화가 가능해야 하는 것에도 있는데, 기존 기법에 의하면 각 수신자에 대해 이 두 조건이 모두 만족되더라도 다른 수신자의 개인키를 하나라도 알 수 없는(가지고 있지 아니한) 경우에는 각 수신자는 복호화를 할 수 없으므로 구조적으로 설계가 잘못되었다는 의미이다.
기존 기법은 상기한 문제 즉, 각 수신자가 다른 수신자의 개인키를 하나라도 알 수 없는 경우에는 복호화가 불가능하다는 문제를 안고 있으므로, 본 발명은 이를 극복할 수 있는 ID 기반 동적 임계 암호화 방식을 제시한다.
본 발명에 의한 ID 기반 동적 임계 암호화 방식의 구현 과정은 셋업 과정, 개인키 생성 과정, 암호문 생성 과정 및 복호화 과정의 네 개의 과정으로 구성되어 기존의 ID 기반 동적 임계 암호화 방식의 구현 과정과 맥락은 동일하다. 다만, 각 과정의 세부 연산과 결과값이 기존 기법과 다르며 이를 통해 기존 기법의 문제점을 극복할 수 있도록 한다.
본 발명은 겹선형 함수를 이용하면서 셋업 과정(Setup), 개인키 생성 과정(KeyGen), 암호문 생성 과정(Encrypt), 복호화 과정(Decrypt)의 네 과정으로 구현되는 ID 기반 암호화 기법에 근간하여 ID 기반 동적 임계 암호화 방안을 구현하되, 상기한 기존 기법의 문제를 해결하도록 복호화 과정(Decrypt)에 Shamir 기법을 적용한다.
<셋업 과정: Setup(1λ, N)>
본 과정은 평문 M에 관한 암호문 C를 생성하기 위한 사전 과정으로, 이를 위해 셋업부(11)는 보안 상수 1λ, 전체 사용자(수신자) 집합의 크기 N, SetupIBE 과정(첨자(subscript) IBE는 기존의 ID 기반 암호화에 의함을 나타내는 것이며, 이하 같다)에 의한 공개 파라미터 paramsIBE를 및 마스터 키 mk를 입력받아 공개 파라미터 params를 생성한다(s21).
paramsIBE는 e: G1×G1→G2를 원소로 가지며, 덧셈 군 G1과 곱셈 군 G2는 동일한 위수 p를 갖는다. 한편 암호학적 해시 함수 H1: {0, 1}* → {0, 1}n과 H2: G2 → G1을 정의한다. 본 과정에 의한 공개 파라미터 params는 다음과 같이 생성된다.
params = (paramsIBE, H1, H2).
여기서 H1은 개인키 생성 과정에서 각 수신자의 ID에 해시 함수를 적용하기 위함이며, H2는 각 수신자가 복호화에 관한 상기한 두 조건을 만족하면 복호화가 가능하도록 하기 위한 해시 함수를 의미한다.
<개인키 생성 과정: KeyGen(params, mk, IDi)>
각 수신자의 ID에 대응되는 개인키 ski를 생성하는(s22) 과정으로, 개인키 생성부(12)는 params, mk, IDi(각 수신자의 ID)를 입력받아 각 수신자의 ID에 대응되는 개인키 ski를 생성한다.
<암호문 생성 과정: Encrypt(params, {ID1,…,IDk}, t, M)>
송신자가 정하는 수신자의 집합을 {ID1,…,IDk}라 할 때, 평문 M에 대한 암호문 C를 생성하는 과정이다. 이를 위해 암호문 생성부(13)는 params, 수신자의 집합 {ID1,…,IDk}, 임계치 t 및 평문 M을 입력받아 다음의 과정을 통해 암호문 C를 생성한다(s23).
1) f:{0, 1}n → G2를 만족하는 [t-1]차 정차 다항식 f를 임의로 선택한다. f의 선택은 후술할 Shamir 기법을 만족하도록 이루어진다.
2) 각 수신자(ID1,…,IDk)에 대해 f(H1(ID1)), …, f(H1(IDk)) ∈ G2를 EncryptIBE를 이용하여 f(H1(IDi ∈{1,…,k}))에 대응하는 암호화값
Figure 112012094060310-pat00009
를 얻는다.
3) H2(f(0))의 값 H를 산출하고 Zp에서 임의의 s를 선택하고,
Figure 112012094060310-pat00010
를 포함하는 암호문 C를 다음과 같이 생성한다.
Figure 112012094060310-pat00011
.
<복호화 과정: Decrypt(params, IDs, C)>
본 과정은 수신자가 암호문 C를 복호화하여 평문 M을 얻는 과정으로(s24), 이를 위해 복호화부(14)는 params, 수신자 집합 IDs 및 암호문 C를 입력받아 평문 M을 얻고자 하는 수신자 집합 IDs가 {ID1,…,IDk}의 부분 집합이 아니거나 IDs의 크기가 t를 넘지 아니하면 복호화 불가능 메시지(⊥)를 출력하고, IDs가 {ID1,…,IDk}의 부분 집합이고 아울러 IDs의 크기가 t를 넘으면 평문 M을 출력하는 과정이다.
한편 본 발명에 의한 복호화는 다음의 과정을 통해 이루어진다.
1) 복호화에 참여하는(복호화 권한이 있는) t명의 수신자 ID 집합을 IDs = {ID1,…,IDt}라 하자. 각 수신자는 DecryptIBE를 통해 암호화값
Figure 112012094060310-pat00012
를 복호화하여 f(H1(IDi))를 얻는다.
2) 각 수신자들이 얻은 f(H1(IDi))로 Shamir 기법을 이용하여 f(0)를 계산한다.
Adi Shamir는 라그랑지 보간법(Lagrange interpolation)을 근거로 임계치를 이용하는 비밀 분산 기법(threshold secret sharing)을 제안하였는데(Adi Shamir, "How to share a secret." Communications of the ACM, pp. 612-613, Nov, 1979), 이는 소위 'Shamir 기법'이라 불린다. 이 기법은 평문 M의 송신자는 각 수신자들에게 분배된 정보(각 수신자의 개인키)에 대한 비밀을 보장하여야 하며, k명의 수신자에게 분배된 정보 중 t명 이상이 정보를 재구성하였을 때에는(송신자가 k명의 수신자를 지정하여 평문 M을 전송시에 복호화 권한을 갖는 t명 이상의 수신자가 복호화를 시도할 경우에는) 각 수신자들에게 분배된 비밀 정보는 복원되도록 하는 기법이다. 즉, 이러한 경우에는 각 수신자들에게 분배된 비밀 정보는 복원되어야 한다. 이 기법의 구현 과정을 간략히 제시하면 다음과 같다.
- 송신자는 비밀 정보 s=a0를 상수항으로 하는 [t-1]차 다항식 f(x)를 선택한다. 즉, f(x) = a0 + a1x + … + at-1xt-1 (mod p). f(x)의 선택은 암호문 생성 과정(s23)에서 이루어진다. 단, 유한체 GF(p)에서 계산이 되고, 비밀 정보 s 또한 유한체 GF(p)에 속해 있다. 여기서 p는 비밀 정보 s보다 큰 소수(prime number)이다.
- 송신자는 각 수신자 i(1 ≤ i ≤ k)에게 정보를 분배한다.
- 정보를 분배받은 k명 중 t명 이상이 정보를 재구성하였을 때에는 각 수신자는 라그랑지 보간법에 의해 f(0)를 구할 수 있으며, 따라서 각 수신자는 비밀 정보 s(=f(0))를 얻을 수 있다.
본 발명에서 각 수신자 측은 Shamir 기법(라그랑지 보간법)에 의한 f(0)를 다음과 같이 구할 수 있다.
Figure 112012094060310-pat00013
.
3) 각 수신자 측에서 계산된 f(0)에 셋업 과정에서 생성된 공개 파라미터 params에 포함된 H2를 적용하여 H2(f(0))를 계산한다.
4) 계산한 H2(f(0))의 값이 H이면 암호문 생성 과정에서 H2(f(0))는 H로 설정되어 암호문에 포함되었으므로, 평문 M을 얻을 수 있게 된다.
Figure 112012094060310-pat00014
--- 식(3).
따라서 본 발명에 의한 암호화 기법을 따르면 f(0)에 해시 함수 H2를 적용한 결과값 H가 암호문 C에 삽입되며, 복호화에 참여하는(복호화 권한이 있는) 각 수신자는 자신의 개인키로 DecryptIBE를 통해 f(H1(IDi))를 얻을 수 있다. t명의 수신자들은 f(H1(IDi))을 계산하고 이렇게 계산된 f(H1(IDi))로 Shamir 기법을 이용하여 f(0)를 계산한 후, 이렇게 계산된 f(0)에 셋업 과정(s21)에서 생성된 공개 파라미터 params에 포함된 H2를 적용하여 H2(f(0))를 계산하여 H를 얻을 수 있으므로 각 수신자는 다른 수신자의 개인키를 알지 못하더라도(즉, f(0)값만 알고 있으면) 기존 기법과는 달리 복호화가 가능하기 때문에 동적 임계 암호화 방식의 본질을 만족시킴을 알 수 있다.
한편 본 발명에 의한 암/복호화 기법의 정확성은 식(3)의 등호 관계가 성립함을 증명함으로써 보일 수 있다.
Figure 112012094060310-pat00015
.
따라서 본 발명에 의한 암호화 기법의 정확성이 증명되었다.
본 방법발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 유무선 네트워크를 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 균등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (9)

  1. 여러 수신자에게 전송할 문서(평문 M)를 ID 기반 동적 임계 암호화 방식으로 암호화시키는 암호화 장치에 있어서:
    상기 암호화를 위한 공개 파라미터를 생성하는 셋업부;
    상기 각 수신자의 ID(IDi)에 대응되는 개인키를 생성하는 개인키 생성부;
    상기 평문에 대한 암호화를 수행하고, 상기 평문의 복호화가 가능한 수신자 ID1, …, IDk 및 수신자 수의 임계치 t(t는 자연수이며 t ≤ k)를 설정하여 상기 평문에 대한 암호문을 생성하는 암호문 생성부; 및
    상기 암호문을 복호화하는 복호화부를 포함하고,
    상기 공개 파라미터에는 상기 IDi가 상기 수신자 집합에 속하며 상기 복호화를 시도하는 수신자의 수가 상기 t 이상인 경우에는 상기 각 수신자에 의해 상기 복호화가 가능하도록 하기 위한 해시 함수(hash function) H2()가 포함되며,
    상기 암호문 생성부는 Shamir 기법을 만족하는 [t-1]차 다항식 f를 임의로 선택하고, 상기 ID1, …, IDk에 해시 함수 H1()을 적용한 결과값 H1(ID1),…,H1(IDk)을 계산하고, f(H1(IDi))(i ≤ k)를 계산한 후 이에 대응하는 암호화값
    Figure 112014010214210-pat00026
    를 얻고, 다항식 f의 상수항 값 f(0)에 상기 H2()를 적용한 결과값 H2(f(0)) = H를 산출한 후 상기 암호문을 생성하되, 상기
    Figure 112014010214210-pat00027
    , 상기 H를 포함시켜 상기 암호문을 생성하는 것을 특징으로 하는 ID 기반 동적 임계 암호화 장치.
  2. 삭제
  3. 제 1 항에 있어서, 상기 복호화부는
    상기
    Figure 112014010214210-pat00018
    를 복호화하여 상기 f(H1(IDi))을 얻고, 상기 얻은 f(H1(IDi))로 상기 Shamir 기법을 이용하여 상기 f의 상수항 값 f(0)를 계산하고, 이 계산된 f(0)에 상기 H2()를 적용한 결과값이 상기 H이면 상기 암호문을 복호화하는 것을 특징으로 하는 ID 기반 동적 임계 암호화 장치.
  4. 제 3 항에 있어서,
    상기 복호화부에 의한 f(0)의 계산은 다음의 식으로 표현되는 라그랑지 보간법(Lagrange interpolation)에 의해 이루어지는 것을 특징으로 하는 ID 기반 동적 임계 암호화 장치.
    Figure 112012094060310-pat00019
  5. ID 기반 동적 임계 암호화 장치가 여러 수신자에게 전송할 문서(평문 M)를 ID 기반 동적 임계 암호화 방식으로 암호화시키는 암호화 방법에 있어서:
    a)상기 ID 기반 동적 임계 암호화 장치가 상기 암호화를 위한 공개 파라미터를 생성하는 단계;
    b)상기 ID 기반 동적 임계 암호화 장치가 상기 각 수신자의 ID(IDi)에 대응되는 개인키를 생성하는 단계;
    c)상기 ID 기반 동적 임계 암호화 장치가 상기 평문에 대한 암호화를 수행하고, 상기 평문의 복호화가 가능한 수신자 ID1, …, IDk 및 수신자 수의 임계치 t(t는 자연수이며 t ≤ k)를 설정하여 상기 평문에 대한 암호문을 생성하는 단계; 및
    d)상기 ID 기반 동적 임계 암호화 장치가 상기 암호문을 복호화하는 단계를 포함하고,
    상기 공개 파라미터에는 상기 IDi가 상기 수신자 집합에 속하며 상기 복호화를 시도하는 수신자의 수가 상기 t 이상인 경우에는 상기 각 수신자에 의해 상기 복호화가 가능하도록 하기 위한 해시 함수(hash function) H2()가 포함되며,
    상기 c)단계는 상기 ID 기반 동적 임계 암호화 장치가 c1)Shamir 기법을 만족하는 [t-1]차 다항식 f를 임의로 선택하는 단계;
    c2)상기 ID 기반 동적 임계 암호화 장치가 상기 ID1, …, IDk에 해시 함수 H1()을 적용한 결과값 H1(ID1),…,H1(IDk)을 계산하는 단계;
    c3)상기 ID 기반 동적 임계 암호화 장치가 f(H1(IDi))(i ≤ k)를 계산하고 이에 대응하는 암호화값
    Figure 112014010214210-pat00028
    를 얻는 단계; 및
    c4)상기 ID 기반 동적 임계 암호화 장치가 다항식 f의 상수항 값 f(0)에 상기 H2()를 적용한 결과값 H2(f(0)) = H를 산출하는 단계를 포함하고,
    상기 암호문에는 상기
    Figure 112014010214210-pat00029
    , 상기 H가 포함되는 것을 특징으로 하는 ID 기반 동적 임계 암호화 방법.
  6. 삭제
  7. 제 5 항에 있어서, 상기 d)단계는
    d1)상기 ID 기반 동적 임계 암호화 장치가 상기
    Figure 112014010214210-pat00030
    를 복호화하여 상기 f(H1(IDi))을 얻는 단계;
    d2)상기 ID 기반 동적 임계 암호화 장치가 상기 얻은 f(H1(IDi))로 상기 Shamir 기법을 이용하여 상기 f의 상수항 값 f(0)를 계산하는 단계; 및
    d3)상기 ID 기반 동적 임계 암호화 장치가 상기 d2)단계에서 계산된 f(0)에 상기 H2를 적용한 결과값이 상기 H이면 상기 암호문을 복호화하는 단계를 포함하는 것을 특징으로 하는 ID 기반 동적 임계 암호화 방법.
  8. 제 7 항에 있어서,
    상기 d2)단계에 의한 f(0)의 계산은 다음의 식으로 표현되는 라그랑지 보간법(Lagrange interpolation)에 의해 이루어지는 것을 특징으로 하는 ID 기반 동적 임계 암호화 방법.
    Figure 112012094060310-pat00023
  9. 제 5 항, 제 7 항, 및 제 8 항의 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
KR1020120129496A 2012-11-15 2012-11-15 Id 기반 동적 임계 암호화 장치 및 그 방법 KR101373577B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120129496A KR101373577B1 (ko) 2012-11-15 2012-11-15 Id 기반 동적 임계 암호화 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120129496A KR101373577B1 (ko) 2012-11-15 2012-11-15 Id 기반 동적 임계 암호화 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101373577B1 true KR101373577B1 (ko) 2014-03-12

Family

ID=50648495

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120129496A KR101373577B1 (ko) 2012-11-15 2012-11-15 Id 기반 동적 임계 암호화 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101373577B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101599994B1 (ko) 2014-11-12 2016-03-04 고려대학교 산학협력단 신원기반 키교환 방법 및 시스템
KR101731628B1 (ko) * 2015-10-26 2017-05-02 고려대학교 산학협력단 프라이버시를 보장하는 시계열 데이터의 임계 병합 방법
KR20210073390A (ko) * 2019-12-10 2021-06-18 국방과학연구소 Sd 방식을 이용한 폐기 가능한 id 기반 암호 설계 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Cecile Delerablee 외 1명, "Dynamic Threshold Public-Key Encryption" Advances in Cryptology-proceedings of CRYPTO 2008 (17-21 august 2008, Santa Barbara, California, USA) *
Danfeng Yao 외 3명, "Cryptanalysis of A Dynamic Threshold Decryption Scheme", Commun. Korean Math, Soc. 24 (2009), No.1, pp.153-159 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101599994B1 (ko) 2014-11-12 2016-03-04 고려대학교 산학협력단 신원기반 키교환 방법 및 시스템
KR101731628B1 (ko) * 2015-10-26 2017-05-02 고려대학교 산학협력단 프라이버시를 보장하는 시계열 데이터의 임계 병합 방법
KR20210073390A (ko) * 2019-12-10 2021-06-18 국방과학연구소 Sd 방식을 이용한 폐기 가능한 id 기반 암호 설계 방법
KR102348065B1 (ko) 2019-12-10 2022-01-06 국방과학연구소 Sd 방식을 이용한 폐기 가능한 id 기반 암호 설계 방법

Similar Documents

Publication Publication Date Title
US9426131B2 (en) Server apparatus and program to re-encrypt ciphertext data
US10411885B2 (en) Method and system for group-oriented encryption and decryption with selection and exclusion functions
JP5389212B2 (ja) 再暗号文検証プログラム、再暗号化装置及び再暗号化システム
US9813386B2 (en) Cooperation service providing system and server apparatus
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
CN105049207A (zh) 一种基于身份的带个性化信息的广播加密方案
JP5298394B2 (ja) 二機能付きidベース暗号化方法及び暗号システム
JPWO2014010202A1 (ja) 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム
CN110784314A (zh) 无证书的加密信息处理方法
KR101308023B1 (ko) 수신자 프라이버시를 보호하는 브로드캐스트 암호화 방법
Raji et al. CP2: cryptographic privacy protection framework for online social networks
KR101373577B1 (ko) Id 기반 동적 임계 암호화 장치 및 그 방법
KR101533422B1 (ko) 브로드캐스트 암호화 방법 및 시스템
CN104639319A (zh) 基于身份的代理重加密方法和系统
KR101575681B1 (ko) 속성 기반 암호화 방법
JP4288184B2 (ja) 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置
KR101695361B1 (ko) 페어링 연산 및 비밀키를 이용한 술어 암호화 방법
Qin et al. Strongly secure and cost-effective certificateless proxy re-encryption scheme for data sharing in cloud computing
CN103873248B (zh) 带有证书的基于身份的加密方法和装置
JP2005176144A (ja) 端末装置、通信システム及び通信方法
Kester A public-key exchange cryptographic technique using matrix
Hanaoka et al. Unconditionally secure key insulated cryptosystems: models, bounds and constructions
KR101727691B1 (ko) Id 기반 수신자 제한 암호 서버 및 시스템
KR101306211B1 (ko) 아이디 기반의 브로드캐스트 암호화 방법
Kim et al. Certificateless Group to Many Broadcast Proxy Reencryptions for Data Sharing towards Multiple Parties in IoTs

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170109

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180108

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190211

Year of fee payment: 6