KR100975038B1 - 브로드캐스트 암호화 시스템 및 그 방법 - Google Patents

브로드캐스트 암호화 시스템 및 그 방법 Download PDF

Info

Publication number
KR100975038B1
KR100975038B1 KR1020080005443A KR20080005443A KR100975038B1 KR 100975038 B1 KR100975038 B1 KR 100975038B1 KR 1020080005443 A KR1020080005443 A KR 1020080005443A KR 20080005443 A KR20080005443 A KR 20080005443A KR 100975038 B1 KR100975038 B1 KR 100975038B1
Authority
KR
South Korea
Prior art keywords
message
key
generating
users
encryption
Prior art date
Application number
KR1020080005443A
Other languages
English (en)
Other versions
KR20090079465A (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 KR1020080005443A priority Critical patent/KR100975038B1/ko
Publication of KR20090079465A publication Critical patent/KR20090079465A/ko
Application granted granted Critical
Publication of KR100975038B1 publication Critical patent/KR100975038B1/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/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]
    • H04L9/0833Key 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] involving conference or group key
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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

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

본 발명은 브로드캐스트 암호화 파라미터로 사용되는 공개키의 전송량, 저장량 및 사이즈 측면에서 효율성을 꾀할 수 있는 브로드캐스트 암호화 시스템에 관한 것이다.
본 명세서에서 개시하는 브로드캐스트 암호화 시스템은 브로드캐스트 암호화 시스템 내의 전체 사용자들을 다수의 그룹으로 분할하고 상기 그룹의 수만큼의 난수와 상기 분할된 각 그룹에 속한 사용자의 수만큼의 난수를 발생시켜, 그룹 내의 정당한 수신권한이 있는 사용자에게 메시지를 암호화하여 브로드캐스팅 할 때 사용할 공개키를 생성하고, 상기 암호화된 메시지의 복호를 위한 비밀키를 생성하는 키 생성부, 상기 비밀키를 그룹 내의 전체 사용자들에게 분배(브로드캐스팅)하는 키 분배부, 및 상기 브로드캐스팅을 하는 메시지를 암호화하여 메시지 수신자들에게 전송하는 메시지 암호화/전송부를 포함하여 본 발명의 과제를 해결한다.

Description

브로드캐스트 암호화 시스템 및 그 방법{System of Broadcast Encryption and Method thereof}
본 발명은 브로드캐스트 암호화 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 브로드캐스트 암호화 파라미터로 사용되는 공개키의 전송량, 저장량 및 사이즈 측면에서 효율성을 꾀할 수 있는 브로드캐스트 암호화 시스템 및 그 방법에 관한 것이다.
브로드캐스트 암호화(Broadcast Encryption)는 전체 사용자들 중에서 메시지 송신자가 원하는 사용자(수신자, user)들에게만 메시지를 암호화시켜 전달하는 방식으로서, 단 한 번의 암호 브로드캐스팅을 통해 정당한 사용자만이 암호키(encryption key)를 얻을 수 있다는 점에서 유료 채널의 위성 TV 수신 서비스나 저작권으로 보호되는 콘텐츠의 전송에 효율적으로 사용될 수 있다.
브로드캐스트 암호화는 정보를 받을 사용자들의 집합이 임의적이고 동적으로 변화하는 경우에 효과적으로 이용될 수 있어야 한다. 브로드캐스트 암호화에서의 가장 중요한 사항은 메시지 송신자가 원치 않는 사용자(예컨대, 불법 사용자 또는 기간이 만료된 사용자)를 효과적으로 배제(revocation)시키는 것이다.
브로드캐스트 암호화에 의하면, 메시지 송신자가 메시지를 암호화시켜 다수의 사용자(수신자)에게 송신하면(암호화 전송시 사용자 집합(S), 헤더(Header) 및 암호화 키 K를 암호문에 부가시켜 전송한다) S에 속한 사용자만이 메시지 암호화 키(K)를 추출한 후 추출된 키로 암호화된 메시지(CM)를 복호하여 볼 수 있도록 한다.
여기서 사용자 집합 S에 속한 사용자를 정당한 사용자(permitted user)라고 하는데, 브로드캐스트 암호화 기법에 의하면 이들 정당한 사용자만이 메시지를 얻을 수 있게 하고 S에 속하지 않는 사용자는 메시지를 얻을 수 없게 해야 하므로 기본적으로 수신자의 권한이 취소된(revoked) 경우에 대한 대응 메커니즘을 제공해야 한다. 즉, 권한이 취소된 수신자들이 공모(collusion)하여 공격할 수 있기 때문에 브로드캐스트 암호 기법은 권한이 취소된 수신자들의 공모 공격(collusion attack)에 대하여 안전해야(secure) 한다.
브로드캐스트 암호화 방식에는 대칭키(비밀키) 기반 방식(symmetric(private) key setting)과 공개키 기반 방식(public key setting)이 있다. 대칭키 기반 방식에 의하면 우선 신뢰된(trusted) 송신자만이 사용자의 비밀키(private key)를 생성하여 분배하고 사용자에게 브로드캐스트 메시지를 전송한다. 사용자는 분배받은 비밀키를 이용하여 전송된 메시지를 복호화하여 확인한다. 대칭키 기반 방식에 의하면 신뢰된 송신자가 암호화에 대한 모든 책임을 지므로 암호화 시스템 작동 불능시 전체 브로드캐스트 암호 시스템이 마비된다. 그리고 구성 원의 가입과 탈퇴시 복잡한 키 갱신 프로세스가 필요한 단점이 있다.
이에 반해 공개키 기반 방식은 공통으로 사용하는 공개키를 이용하여 그룹 구성원(사용자) 누구라도 브로드캐스트 메시지를 전송할 수 있고, 복잡한 키 갱신 프로세스를 요구하지 않으므로 대칭키 기반 방식의 단점을 극복할 수 있다. 또한 공개키 기반 방식의 브로드캐스트 암호화 방식은 쉽게 대칭키 기반 방식으로 변환될 수 있는 우수성도 갖는다. 따라서 현재의 브로드캐스트 암호화는 공개키 기반 방식으로 구현됨이 거의 대부분이다.
브로드캐스트 암호화 방식의 구현을 위한 여러 기법이 제안되었는데, 대표적인 기법으로 Boneh, Gentry와 Water에 의해 제안된 기법(BGW 기법)을 들 수 있다.
이 기법은 총 사용자수가 크거나 정당한 사용자로부터 배제된 자의 수가 작을 때 효과적인 방안이 될 수 있으나, 암호문 전송량, 공개키 저장량 및 공개키 사이즈 측면에서 매우 비효율적이다.
본 발명이 해결하고자 하는 과제는 상기한 기법들과 마찬가지로 공모 공격에 완전히 안전한 공개키 브로드캐스트 암호화 기법을 제안하되, 암호문 전송량, 공개키 저장량 및 공개키 사이즈 측면에서에서 이점을 가지는 브로드캐스트 암호화 기법을 제안하는 것이다.
상기와 같은 과제를 해결하기 위해 본 명세서에서 개시하는 브로드캐스트 암호화 시스템은 브로드캐스트 암호화 시스템 내의 전체 사용자들을 다수의 그룹으로 분할하고 상기 그룹의 수만큼의 난수와 상기 분할된 각 그룹에 속한 사용자의 수만큼의 난수를 발생시켜, 그룹 내의 정당한 수신권한이 있는 사용자에게 메시지를 암호화하여 브로드캐스팅 할 때 사용할 공개키를 생성하고, 상기 암호화된 메시지의 복호를 위한 비밀키를 생성하는 키 생성부, 상기 비밀키를 그룹 내의 전체 사용자들에게 분배(브로드캐스팅)하는 키 분배부, 및 상기 브로드캐스팅을 하는 메시지를 암호화하여 메시지 수신자들에게 전송하는 메시지 암호화/전송부를 포함하여 본 발명의 과제를 해결한다.
삭제
키 생성부는 공개키를 생성할 때 전체 사용자들의 수만큼만 생성하여 본 발명의 과제를 해결한다.키 생성부는 아울러 상기 비밀키를 상기 전체 사용자들 중 각 사용자에 대한 고유한 인덱스를 구하고, 상기 인덱스를 이용하여 비밀키를 생성하여 본 발명의 과제를 해결한다.
메시지 암호화/전송부는 브로드캐스팅 할 메시지의 암호화키를 생성하는 암호화키 생성부, 상기 두 인덱스를 반영하여 헤더를 생성하는 헤더 생성부, 및 암호화키로 브로드캐스팅 할 메시지를 암호화한 암호문을 작성하고, 암호문에 헤더를 부가하여 상기 메시지 수신자들에게 브로드캐스팅하는 암호화 메시지 작성/브로드캐스팅부를 포함하여 본 발명의 과제를 해결한다.
한편 암호화 메시지에 대한 복호에는 상기 공개키가 필요 없게 하여 본 발명의 과제를 해결한다.
상기와 같은 과제를 해결하기 위해 본 명세서에서 개시하는 브로드캐스트 암호화 방법은
(a)브로드캐스트 암호화 시스템 내의 전체 사용자들을 다수의 그룹으로 분할하고 상기 그룹의 수만큼의 난수와 상기 분할된 각 그룹에 속한 사용자의 수만큼의 난수를 발생시켜, 그룹 내의 정당한 수신권한이 있는 사용자에게 메시지를 암호화하여 브로드캐스팅 할 때 사용할 공개키를 생성하는 단계,
(b)상기 암호화된 메시지의 복호를 위한 비밀키를 생성하는 단계,
(c)상기 공개키 및 비밀키를 그룹 내의 전체 사용자들에게 분배(브로드캐스팅)하는 단계, 및
(d)상기 브로드캐스팅을 하는 메시지를 암호화하여 메시지 수신자들에게 전송하는 단계를 포함하여 본 발명의 과제를 해결한다.
(a)단계는 공개키를 전체 사용자들의 수만큼만 생성하여 본 발명의 과제를 해결한다.
(b)단계는 상기 전체 사용자들 중 각 사용자에 대한 고유한 인덱스를 구하고, 상기 인덱스를 이용하여 비밀키를 생성하는 것으로 본 발명의 과제를 해결한다.
삭제
(d)단계는 브로드캐스팅 할 메시지의 암호화키를 생성하는 단계, 두 인덱스를 반영하여 헤더를 생성하는 단계, 암호화키로 브로드캐스팅 할 메시지를 암호화한 암호문을 작성하는 단계, 및 암호문에 헤더를 부가하여 수신자들에게 브로드캐스팅하는 단계를 포함하여 본 발명의 과제를 해결한다.
본 발명에 의한 브로드캐스트 암호화 기법은 기존에 제시된 기법에 비하여 암호문 전송량, 공개키 저장량, 공개키 사이즈 측면에서 뛰어난 성능을 보인다.
본 발명에 관한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하고자하는 과제의 해결 방안의 개요를 우선 제시한다.
본 발명에 의한 브로드캐스트 암호화 기법은 BGW 기법과 마찬가지로 암호문 전송량과 공개키 저장량 사이에 트레이드-오프(trade-off)를 꾀한다. 총 n(=a*b)명의 사용자를 동일한 크기를 갖는 a개의 사용자 그룹(부분집합) S1,…,Sa 로 나누고(각 부분집합에는 b명의 사용자가 있다), 각 부분집합에서 권한이 취소된 사용자의 수 r1,…,ra 중 최소의 수를 r'이라고 할 때, 본 발명에 의한 암호화 기법은 암호문 전송량은 (a+1)G+rlog2n, 공개키 저장량은 (b+1-r')이며, 따라서 권한이 취소된 사용자의 수가 커질수록 공개키 저장량은 작아진다. 여기서 r은 사용자 그룹에서 권한이 취소된 사용자의 총 수를 의미하는 것으로 r1 + … + ra이다.
본 발명에 의한 암호화 기법의 출발점은 Boneh, Boyen, Goh의 계층적인 ID 기반의 암호화 기법(BBG Hierarchical Identity Based Encryption, BBG HIBE)에 의한 개인키 생성 방안이다. b-단계 BBG HIBE에서 키 생성 알고리즘은, 간략히 언급하면, 위수(prime order)가 p인 그룹(Zp)에 속하는 임의의 난수 r에 대하여 깊이 1의 ID=I1에 대한 개인키(dID)를 다음과 같이 생성한다.
dID = (g2, (g3h1 I1)r, gr, h2 r,…, hb r).
g3을 제외하면 각 S1,…,Sa에 해당하는 a개의 공개키를 추가해야 한다. 다음 으로 i=(u-1)b+v를 만족하고 {1,…,n}에 속하는 사용자 i의 개인키(dID)를 (g2(xuhv)r, gr, h1 r,…, hv -1 r, hv +1 r,…, hb r)로 계산한다.
이러한 변환은 본 발명에 의한 암호화 기법이 총 n(=ab)명의 사용자를 다룰 수 있도록 해 준다. Bilinear Diffie-Hellman Exponent(BDHE) 가정 하에서 본 발명에 의한 암호화 기법의 안전성을 증명할 수 있다.
이하, 본 발명의 기술적 과제의 해결 방안을 명확화하기 위한 발명의 구성을 본 발명의 바람직한 실시예에 근거하여 첨부 도면을 참조하여 상세히 설명하되, 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여하였으며 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다.
먼저 본 발명의 설명을 위해 사용되는 노테이션(notation)들은 다음과 같이 정의된다.
G : 위수가 p인 곱셈 순환 그룹.
GT : 위수가 p인 곱셈 순환 그룹.
e( , ) : 그룹 G에서 정의되는 페어링(pairing) 함수.
Zp : 위수가 p인 그룹.
g : 그룹 G의 생성원(generator).
α: 그룹 Zp *에서 선택한 난수로 사용자의 비밀키를 생성하는데 사용.
h : G 그룹에서 선택한 난수로 공개키, 비밀키 및 암호화키를 생성하는데 사용.
xu : G 그룹에서 선택한 난수로 공개키 및 비밀키를 생성하는데 사용. u는 1에서 a까지의 값을 갖는다.
yv : G 그룹에서 선택한 난수로 공개키 및 비밀키를 생성하는데 사용. v는 1에서 b까지의 값을 갖는다.
i : 개별 사용자를 나타내는 정수 값으로 1에서 n까지의 값을 가짐.
S : 전체 사용자 n명중 정당한 사용자의 집단.
r : Zp 그룹에서 선택한 난수. 사용자의 비밀키를 임의적으로(randomly) 생성하는데 사용.
s : Zp 그룹에서 선택한 난수. 메시지 암호화키를 임의적으로 생성하는데 사용.
도 1 내지 도 2는 본 시스템 발명의 바람직한 일실시예의 구성을 제시한 도면이고, 도 3은 본 방법 발명의 바람직한 일 흐름을 제시한 도면이다.
키 생성부(11)는 메시지의 암호화 파라미터로 사용될 공개키(PK)와 각 사용자 i(i ∈ {1,…,n})의 비밀키(di)를 생성하며(S11), 키 분배부(12)는 생성된 공개키와 비밀키를 각 사용자 i에게 분배하는데(S12), 공개키와 비밀키의 생성 및 분배는 다음과 같이 이루어진다.
키 생성부(11)는 우선 위수가 p인 두 그룹 G, GT를 설정하고 이들 두 그룹 간의 페어링 함수(pairing function) e( , )를 설정한다(S111). 페어링 함수는 사용자에게 전송할 메시지의 암호화에 필요한 암호화키 K의 생성과 사용자(메시지 수신자)가 암호화된 메시지를 복호화하는데 필요한 키 K를 암호화된 메시지로부터 추출하는데 이용하기 위해서 설정되는 것이다.
키 생성부(11)는 다음으로 그룹 G의 생성원 g를 임의로 선택하고, 난수 α를 선택하여 g1=gα로 설정한다. 그리고 그룹 G에 속하는 난수 h, x1,…, xa, y1,…, yb을 선택한다. 여기서 a와 b는 상기에서 언급한 노테이션(notation)과 같다. 키 생성부(11)는 상기한 생성원 및 난수들을 이용하여 공개키 PK를 다음과 같이 생성한다(S112).
PK = (g, g1(=gα), h, x1,…, xa, y1,…, yb).
여기서 h와 g1은 사용자들에게 전송할 암호문(CM)을 생성하는데 필요한 암호화키 K의 생성에 이용하기 위해 삽입되는 것이며, g는 암호문(CM)에 부가시킬 헤더(Hdr)를 생성하기 위해 삽입되는 것이다.
한편 본 발명에 의한 공개키 PK의 개수는 사용자의 수 즉, n개만이 필요한데 이는 BGW 기법과 다른 점이다. BGW 기법에 의하면 n명의 사용자에 대해 2n개의 공개키가 필요하다.
본 발명에 의한 기법과 BGW 기법의 공개키의 개수가 동일한 사용자 수에 대 하여 다른 이유는 암호화키 K를 생성하는 대수적 구조(algebraic structure)가 다르기 때문이다.
BGW 기법에 의한 암호화키 K는 다음과 같이 생성된다.
Figure 112008004127714-pat00001
--- 식 (1).
이 식을 살펴보면, 분자에서 g(αi)와 g(αn+1-j)가 페어링의 성질에 의해 지수끼리 곱해진다. 그러므로 n+1-j+i 의 차수를 갖는 지수가 생기는데, 만일 j=1이고 i=n이면, n+1-j+i=2n이 된다. 또한 j=n 이고 i=1이면 n+1-j+i=2가 된다. 따라서 이를 분모와 맞추어 주기 위해서는 g2,…,g2n 의 거의 2n개의 원소가 필요하게 된다. 여기서 gi = g(αi)이다.
반면 본 발명에 의한 암호화 기법에서 복호화키 K는 다음과 같이 생성된다.
Figure 112008004127714-pat00002
--- 식 (2).
여기서 ki ,j는 상기 비밀키
Figure 112008004127714-pat00003
인데(여기서 ki,j = yj r이다), 저장된 n개의 ki ,j 값들을 가지고 복호를 수행할 수 있다.
이 식에서 알 수 있는 바와 같이 본 발명에 의한 암호화 기법에서는 BGW 기법처럼 지수끼리 곱함으로써 분자와 분모의 차수를 동일하게 만드는 것이 아니고, 단순히 분자와 분모를 동일 차수를 갖는 형태로 세팅시키기만 하면 된다. 따라서 공개키 PK의 구현에 있어 2n개가 아닌 n개의 원소만 있으면 된다.
키 생성부(11)는 공개키 PK를 상기와 같이 생성한 후 각 사용자 i가 전송받은 암호화 메시지를 추후 복호하는데 필요한 비밀키 di를 생성한다(S113).
비밀키 di를 생성하기 위해서 먼저 i = (u-1)b + v를 만족하는 두 값 u, v를 계산하고 그룹 Zp에 속하는 난수 r을 선택한다. 여기서 u는 메시지 수신자들을 분할하여 이루어진 각 수신자 그룹(즉, S의 부분집합 Su)의 인덱스(index)이며, v는 각 사용자 i의 부분집합 Su에서의 인덱스이다. 따라서 u는 1에서 a까지 값을, v는 1에서 b까지 값을 취하게 된다.
u와 v가 계산된 후 사용자 i의 비밀키 di는 다음과 같이 획득된다.
di = (hα* (xu * yv)r, gr, y1 r,…, yv -1 r, yv +1 r,…, yb r).
키 분배부(12)는 각 사용자 i에게 공개키 PK와 생성된 비밀키 di를 브로드캐스트(분배) 한다(S12).
브로드캐스트 암호화의 파라미터로 사용될 공개키 PK와 각 사용자의 비밀키 di를 생성하는 본 발명에 의한 방안은 본 발명의 배경이 되는 BGW 기법과 다음과 같은 차이를 가지고 있다.
공개키의 사이즈(size) 측면에서, 본 발명에 의한 기법의 경우 공개키 PK는 위에 제시된 바와 같이 그룹 G에 속하는 (a+b+3)개의 원소만을 이용하여 구현된다.
이에 반하여 BGW-1 기법과 BGW-2 기법에 의한 공개키는 그룹 G에 속하는 (a+2b)개의 원소를 이용하여 구현되므로, 공개키의 구현을 위해 본 발명에 의한 암호화 기법보다 b개 정도 많은 원소가 필요하다. 따라서 본 발명에 의한 암호화 기법은 공개키 사이즈 측면에서 BGW 기법보다 이점을 보인다.
예를 들어보면 전체 사용자의 수(n)를 1백만 명이라 하고 a, b는 각각 1천으로 가정하자. 이 경우 한 개의 그룹 G의 원소를 표현하기 위해서 필요한 데이터의 양이 대략 160 bit이기 때문에 BGW 기법의 경우 공개키의 크기는 최소 480 Kbit이다. 하지만 본 발명의 경우 320 Kbit이다. 따라서 기존 기법에 비하여 공개키의 크기가 33% 줄어든다.
한편, BGW 기법에 의하면 사용자측 단말의 저장 장치에는 암호화 메시지의 복호를 위하여 사용자의 비밀키가 저장되고 아울러 공개키도 저장되어야 한다. 그러나 본 발명의 경우 사용자의 비밀키 di는 위에 제시된 바와 같이 대략 (b+1)개(정확히는 (b+1-r')개)의 그룹 G의 원소로 이루어져 있고 복호화를 위하여 추가적으로 공개키를 저장하고 있을 필요는 없다.
즉, BGW 기법에서는 암호화 메시지의 복호를 위해 공개키 PK가 필요하기 때문에 수신자가 암호화 메시지를 복호하려면 자신의 단말에 공개키를 저장하고 있어야 한다. PKBE(Public Key Based Encryption) 기법을 채용한 암호화 기법에서는 복호의 신속성을 위해 일반적으로 수신자(사용자) 단말에 공개키가 개별적으로 저장된다.
하지만 본 발명에 의한 암호화 기법에 의하면 암호화 메시지의 복호에 공개키가 필요 없이 비밀키만으로 복호를 할 수 있다. 본 발명에 의한 암호화 기법에 의하면 공개키는 메시지 송신자가 사용자들에게 메시지를 암호화하여 전송하는 경우에만 필요하다. 따라서 공개키를 별도로 저장할 필요가 없으며 본 발명에 의한 기법이 BGW 기법보다 총 저장량을 줄이는 효과를 볼 수 있다.
이에 반해서 BGW-1 기법의 경우는 복호화를 위해서 필요한 공개키를 암호문에 모두 포함시켜 각 사용자에게 보내주어야 하기 때문에 암호문의 크기가 크게 늘어나고 따라서 공개키 저장량이 크게 늘어나게 된다.
한편 BGW-2 기법의 경우 복호화에 필요한 공개키를 사용자 단말의 저장 장치에 저장하는 방식을 취하므로 공개키 저장량은 대략 (2b+1)개의 그룹 G의 원소로 이루어진다. 그러므로 본 발명의 경우 BGW 기법에 비해 암호문 전송량 측면에서 이득을 볼 수 있고, 공개키 저장량 측면에서도 b개의 원소를 줄일 수 있는 이득을 볼 수 있다.
공개키 PK와 각 사용자 i의 비밀키 di의 생성 및 분배가 이루어지면, 메시지 암호화/전송부(13)는 수신자들로부터 메시지 전송 요청을 받아 집합 S에 속하는 수신자(사용자)들에게 전송되는 메시지 M을 암호화하여 사용자에게 전송하는데(S13) 메시지 M에 대한 암호화는 다음과 같이 이루어진다.
우선 암호화키 생성부(131)는 Zp 그룹에서 난수 s를 선택하여 메시지 암호화키 K를 다음과 같이 생성한다(S131). K = e(h, gw)s. 여기서 e( , )는 상기 설정된 페어링 함수를 의미한다.
다음으로 헤더 생성부(132)는 수신자 사용자들의 집합 S가 S1,…,Sa의 부분집합으로 나누어진다고 가정할 때, 암호화 메시지의 헤더(Hdr)를 다음과 같이 생성한다(S132).
Figure 112008004127714-pat00004
.
암호화 메시지 작성/브로드캐스팅부(133)는 대칭키 알고리즘을 이용하여 암호화키 K로 메시지 M을 암호화하여 암호문 CM을 작성하고(S133), 암호문 CM에 사용자 그룹(S)과 헤더(Hdr)를 부가한 암호화 메시지를 작성하여 수신자(사용자)들에게 브로드캐스트 한다(S134). 즉, CM = EK(M)이며, (S, Hdr, CM)을 사용자에게 브로드캐스트(전송)한다.
본 발명이 제공하는 기법에 의한 메시지의 암호화는 BGW 기법에 비하여 다음과 같은 장점을 가진다. 본 발명의 경우 단지 (a+1)개의 그룹 G의 원소들만을 이용하여 암호문을 생성할 수 있다(Hdr이 (a+1)개의 원소로 구현되기 때문에).
이에 반해서 BGW-1 기법의 경우 위에서 언급한 바와 같이 암호문의 복호화를 위해 필요한 공개키를 암호문의 전송때 마다 일일이 암호문에 모두 포함시켜 전송하기 때문에 헤더를 구현함에 (a+2b)개의 그룹 G의 원소가 필요하다.
BGW-2 기법의 경우 본 발명의 경우와 마찬가지로 (a+1)개의 그룹 G의 원소만으로 암호문을 생성할 수 있으나, 공개키 저장량이 본 발명에 비하여 b개의 원소를 보다 많이 사용한다(본 발명의 경우 취소된 사용자수가 많으면 저장량을 더욱 줄일 수 있다). 따라서 본 발명의 기법은 암호문 전송량 내지는 공개키 저장량 측면에서 BGW 기법과 동일하거나 더욱 강점을 가진다.
각 사용자 i의 단말에 있는 복호화 모듈은 정당한 사용자 집합 S에 속하는 수신자(사용자)가 수신한 암호문 CM을 복호화(decryption)하는데 복호화는 다음과 같이 이루어진다(S14).
각 사용자(수신자) i는 부분집합 Su의 v번째 인덱스를 가지는 사용자이며, 자신의 비밀키가 di = (di ,1, di ,2, ki ,1,…, ki ,v-1, ki ,v+1,…, ki ,b)이고, 송신자로부터 받은 암호화 메시지의 Hdr = (A1,…,Aa, B)이다. 여기서 di,1은 상기한 h* (xu * yv)r에, di,2는 상기한 gr, ki,1은 상기한 y1 r에, ki,v-1은 상기한 yv-1 r에, ki,v+1은 상기한 yv+1 r에, ki,b은 상기한 yb r에 각각 해당한다. 그리고 Hdr의 A1은 상기한 (x1 * ∏j∈S1 yj)s에, Aa은 상기한 (xa * ∏j∈ Sa yj)s에, B는 상기한 gs에 각각 해당한다.
각 사용자 i의 단말에 있는 복호화 모듈은 우선 메시지 암호화/전송부(13)로부터 전송받은 암호화 메시지로부터 각 사용자 i에 대한 암호화키 K를 추출하는데(S141), 키 분배부(12)로부터 전송받은 비밀키 di와 메시지 암호화/전송부(13)로부터 전송받은 헤더로부터 추출하며 구체적으로는 다음 식을 통해 추출한다.
Figure 112008004127714-pat00005
.
K에 관한 이 식은 상기 제시된 식(2)와 동일하다.
여기서 e( , )는 상기 설정된 페어링 함수이다. 각 사용자 i의 단말에 있는 복호화 모듈은 추출된 암호화키 K로 대칭키 알고리즘을 이용하여 암호문 CM을 복호하여 메시지 M을 복호한다(S142). 즉, M=DK(CM).
이처럼 본 발명에 의한 암호화 기법은 BGW기법과는 다르게 PK를 메시지 M의 복호에 사용하지 않음을 알 수 있다.
간단한 실시예를 이용하여 본 발명에 의한 브로드캐스팅 암호화 기법을 설명하면 다음과 같다.
전체 사용자(수신자) 수 n은 25명으로 설정되었다고 가정하면 전체 사용자 25명은 5명씩의 소그룹(a=5)으로 나누어진다. 즉, 소그룹 S1,…,S5로 나누어지고 각 그룹에는 5명씩 포함이 된다(b=5).
키 생성부(11)는 그룹 G의 생성원 및 난수들을 이용하여 공개키 PK를 다음과 같이 생성한다.
PK = (g, g1, h, x1, x2, x3, x4, x5, y1, y2, y3, y4, y5).
키 생성부(11)는 PK를 생성 후 각 사용자 i(i ∈ {1,…,25})의 비밀키 di를 생성하는데 우선 각 사용자 i에 해당하는 u, v를 구한다. 예를 들어 i=24인 경우 u, v를 구하는 상기의 식에 의하면 b=5이므로 u=5, v=4이며, 따라서 i=24에 대한 비밀키 d24는 다음과 같이 생성된다.
d24 = (hα* (x5 * y4)r, gr, y1 r, y2 r, y3 r, y5 r).
생성된 공개키 PK와 비밀키 di는 키 분배부(12)에 의해 각 사용자에게 분배된다.
메시지 암호화/전송부(13)는 집합 S에 속하는 수신자 사용자들에게 전송되어야 할 메시지 M을 암호화하여 사용자에게 전송하는데, 송신측의 암호화키 설정부(131)는 Zp 그룹에서 난수 s를 선택하여 메시지 암호화키 K를 다음과 같이 설정한다. K = e(h, gw)s.
헤더 생성부(132)는 사용자들의 집합 S가 S1,…,S5의 부분집합으로 나누어지므로, 암호화 메시지의 헤더(Hdr)를 다음과 같이 생성한다.
Figure 112008004127714-pat00006
암호화 메시지 작성/브로드캐스팅부(133)는 대칭키 알고리즘을 이용하여 암호화키 K로 메시지 M을 암호화하여 암호문 CM을 작성하고, 암호문 CM에 사용자 집합(S)과 상기 헤더를 부가한 암호화 메시지를 작성하여 수신자(사용자)들에게 브로드캐스트 한다.
각 사용자 i의 단말에 있는 복호화 모듈은 정당한 사용자 집합 S에 속하는 수신자(사용자)가 수신한 암호문 CM을 복호화(decryption)한다.
각 사용자(수신자) i는 부분집합 Su의 v번째 인덱스를 가지는 사용자이며, i=24인 사용자인 경우 비밀키가 d24 = (d24 ,1, d24 ,2, k24 ,1, k24 ,2, k24 ,3, k24 ,5)이고, 송신자로부터 받은 암호화 메시지의 Hdr = (A1,…,A5, B)이다. 여기서 d24,1은 상기한 h* (x5 * y4)r에, d24,2는 상기한 gr, k24,1은 상기한 y1 r에, k24,3은 상기한 y3 r에, k24 ,5는 상기한 y5 r에 각각 해당한다. 그리고 Hdr의 A1은 상기한 (x1 *
Figure 112008004127714-pat00007
)s 에, A5는 상기한 (x5 *
Figure 112008004127714-pat00008
)s 에, B는 상기한 gs에 각각 해당한다.
각 사용자 i의 단말에 있는 복호화 모듈은 메시지 암호화/전송부(12)로부터 전송받은 암호화 메시지로부터 각 사용자 i에 대한 암호화키 K를 추출한다. i=24인 경우의 암호화키는 다음과 같이 추출된다.
Figure 112008004127714-pat00009
.
여기서 e( , )는 상기 설정된 페어링 함수이다. 각 사용자 i의 단말에 있는 복호화 모듈은 추출된 암호화키 K로 대칭키 알고리즘을 이용하여 암호문 CM을 복호하여 메시지 M을 복호화한다. 즉, M=DK(CM).
다음 표는 전송량, 저장량, 계산량 그리고 공개키 사이즈 측면에서 본 발명 의 성능을 BGW 기법과 비교하여 제시한 표이다. 총 사용자 수는 n(=a*b)명 이다. 먼저 표에서 나타난 기호를 설명하면 다음과 같다.
G : G 그룹의 원소, r' = min(r1,…,ra), r : 사용자 그룹 내의 총 탈퇴자 수.
Figure 112008004127714-pat00010
BGW-1, BGW-2는 상기한 BGW 기법의 두 가지 버전이다. 상기 표에 제시된 바와 같이 본 발명의 암호화 기법에 의한 암호문 전송량, 공개키 저장량과 공개키 사이즈는 BGW 기법에 의해 동일하거나 더욱 향상되었음을 알 수 있다.
본 방법발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다.
그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 균등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1 과 도 2는 본 시스템 발명의 바람직한 일실시예의 구성을 제시한 도면이다.
도 3은 본 방법 발명의 바람직한 일 흐름을 제시한 도면이다.

Claims (11)

  1. 브로드캐스트 암호화 시스템 내의 전체 사용자들을 다수의 그룹으로 분할하고 상기 그룹의 수만큼의 난수와 상기 분할된 각 그룹에 속한 사용자의 수만큼의 난수를 발생시켜, 그룹 내의 정당한 수신권한이 있는 사용자에게 메시지를 암호화하여 브로드캐스팅을 할 때 사용할 공개키를 생성하고, 암호화된 메시지의 복호를 위한 비밀키를 생성하는 키 생성부;
    상기 공개키 및 비밀키를 그룹 내의 전체 사용자들에게 분배(브로드캐스팅)를 하는 키 분배부; 및
    상기 브로드캐스팅을 하는 메시지를 암호화하여 메시지 수신자들에게 전송하는 메시지 암호화/전송부를 포함하는 브로드캐스트 암호화 시스템.
  2. 제 1 항에 있어서, 상기 키 생성부는
    상기 공개키를 생성할 때 상기 전체 사용자들의 수만큼만 생성하는 것을 특징으로 하는 브로드캐스트 암호화 시스템.
  3. 제 2 항에 있어서, 상기 키 생성부는
    상기 비밀키를 상기 전체 사용자들 중 각 사용자에 대한 고유한 인덱스를 구하고, 상기 인덱스를 이용하여 비밀키를 생성하는 것을 특징으로 하는 브로드캐스트 암호화 시스템.
  4. 제 3 항에 있어서, 상기 메시지 암호화/전송부는
    상기 브로드캐스팅을 하는 메시지의 암호화키를 생성하는 암호화키 생성부;
    두 개의 상기 인덱스를 반영하여 헤더를 생성하는 헤더 생성부; 및
    상기 암호화키로 상기 브로드캐스팅을 할 메시지를 암호화한 암호문을 작성하고, 상기 암호문에 상기 헤더를 부가하여 상기 메시지 수신자들에게 브로드캐스팅을 하는 암호화 메시지 작성/브로드캐스팅부를 포함하는 것을 특징으로 하는 브로드캐스트 암호화 시스템.
  5. 제 1 항에 있어서,
    상기 암호화된 메시지의 복호에는 상기 공개키가 필요 없는 것을 특징으로 하는 브로드캐스트 암호화 시스템.
  6. (a)브로드캐스트 암호화 시스템 내의 전체 사용자들을 다수의 그룹으로 분할하고 상기 그룹의 수만큼의 난수와 상기 분할된 각 그룹에 속한 사용자의 수만큼의 난수를 발생시켜, 그룹 내의 정당한 수신권한이 있는 사용자에게 메시지를 암호화하여 브로드캐스팅을 할 때 사용할 공개키를 생성하는 단계;
    (b)암호화된 메시지의 복호를 위한 비밀키를 생성하는 단계;
    (c)상기 공개키 및 비밀키를 그룹 내의 전체 사용자들에게 분배(브로드캐스팅)를 하는 단계; 및
    (d)상기 브로드캐스팅을 하는 메시지를 암호화하여 메시지 수신자들에게 전송하는 단계를 포함하는 브로드캐스트 암호화 방법.
  7. 제 6 항에 있어서, 상기 (a)단계는
    상기 공개키를 상기 전체 사용자들의 수만큼만 생성하여 이루어지는 것을 특징으로 하는 브로드캐스트 암호화 방법.
  8. 제 7 항에 있어서, 상기 (b)단계는
    상기 전체 사용자들 중 각 사용자에 대한 고유한 인덱스를 구하고, 상기 인덱스를 이용하여 비밀키를 생성하는 것을 특징으로 하는 브로드캐스트 암호화 방법.
  9. 제 8 항에 있어서, 상기 (d)단계는
    (d1)상기 브로드캐스팅을 할 메시지의 암호화키를 생성하는 단계;
    (d2)두 개의 상기 인덱스를 반영하여 헤더를 생성하는 단계;
    (d3)상기 암호화키로 상기 브로드캐스팅을 할 메시지를 암호화한 암호문을 작성하는 단계; 및
    (d4)상기 암호문에 상기 헤더를 부가하여 상기 메시지 수신자들에게 브로드캐스팅을 하는 단계를 포함하는 것을 특징으로 하는 브로드캐스트 암호화 방법.
  10. 제 9 항에 있어서,
    상기 암호화된 메시지의 복호에는 상기 공개키가 필요 없는 것을 특징으로 하는 브로드캐스트 암호화 방법.
  11. 제 6 항 내지 제 10 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020080005443A 2008-01-17 2008-01-17 브로드캐스트 암호화 시스템 및 그 방법 KR100975038B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080005443A KR100975038B1 (ko) 2008-01-17 2008-01-17 브로드캐스트 암호화 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080005443A KR100975038B1 (ko) 2008-01-17 2008-01-17 브로드캐스트 암호화 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20090079465A KR20090079465A (ko) 2009-07-22
KR100975038B1 true KR100975038B1 (ko) 2010-08-11

Family

ID=41290651

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080005443A KR100975038B1 (ko) 2008-01-17 2008-01-17 브로드캐스트 암호화 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100975038B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101308023B1 (ko) 2011-10-27 2013-09-26 국방과학연구소 수신자 프라이버시를 보호하는 브로드캐스트 암호화 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2578007B1 (en) * 2010-06-01 2020-04-15 Samsung Electronics Co., Ltd Securing group communication in a machine-to-machine communication environment
KR101357074B1 (ko) * 2011-12-12 2014-02-05 고려대학교 산학협력단 공개키 기반의 키 공유 메커니즘을 이용한 보안 키 설정 방법
KR101533422B1 (ko) * 2013-06-21 2015-07-10 고려대학교 산학협력단 브로드캐스트 암호화 방법 및 시스템
CN112603066A (zh) * 2021-01-31 2021-04-06 葛金凤 一种自动封盖的中药斗柜

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060095077A (ko) * 2005-02-25 2006-08-30 삼성전자주식회사 계층적 문턱 트리에 기반한 브로드캐스트 암호화 방법
KR100746037B1 (ko) 2006-02-28 2007-08-06 삼성전자주식회사 도메인에 포함된 그룹들의 키를 구성하는 방법 및 장치
KR20070119335A (ko) * 2006-06-15 2007-12-20 삼성전자주식회사 브로드캐스트 암호화를 위한 사용자 키 할당 방법
KR20080004165A (ko) * 2006-07-05 2008-01-09 삼성전자주식회사 브로드캐스트 암호화를 이용한 디바이스 인증 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060095077A (ko) * 2005-02-25 2006-08-30 삼성전자주식회사 계층적 문턱 트리에 기반한 브로드캐스트 암호화 방법
KR100746037B1 (ko) 2006-02-28 2007-08-06 삼성전자주식회사 도메인에 포함된 그룹들의 키를 구성하는 방법 및 장치
KR20070119335A (ko) * 2006-06-15 2007-12-20 삼성전자주식회사 브로드캐스트 암호화를 위한 사용자 키 할당 방법
KR20080004165A (ko) * 2006-07-05 2008-01-09 삼성전자주식회사 브로드캐스트 암호화를 이용한 디바이스 인증 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101308023B1 (ko) 2011-10-27 2013-09-26 국방과학연구소 수신자 프라이버시를 보호하는 브로드캐스트 암호화 방법

Also Published As

Publication number Publication date
KR20090079465A (ko) 2009-07-22

Similar Documents

Publication Publication Date Title
Boneh et al. Collusion resistant broadcast encryption with short ciphertexts and private keys
Du et al. An ID-based broadcast encryption scheme for key distribution
Boneh et al. A fully collusion resistant broadcast, trace, and revoke system
KR100737876B1 (ko) 계층적 문턱 트리에 기반한 브로드캐스트 암호화 방법
Fazio et al. Outsider-anonymous broadcast encryption with sublinear ciphertexts
Lin et al. A collaborative key management protocol in ciphertext policy attribute-based encryption for cloud data sharing
Hur et al. Privacy-preserving identity-based broadcast encryption
US8290154B2 (en) Methods and apparatuses for key generation, encryption and decryption in broadcast encryption
US20100098253A1 (en) Broadcast Identity-Based Encryption
Park et al. Public key broadcast encryption schemes with shorter transmissions
KR100975038B1 (ko) 브로드캐스트 암호화 시스템 및 그 방법
Acharya Secure and efficient public key multi-channel broadcast encryption schemes
Wang et al. Sender-anamorphic encryption reformulated: Achieving robust and generic constructions
Wang et al. A new identity based proxy re-encryption scheme
Mu et al. Robust and secure broadcasting
KR101373577B1 (ko) Id 기반 동적 임계 암호화 장치 및 그 방법
Zhang et al. Efficient and adaptively secure broadcast encryption systems
Muthulakshmi et al. Identity based privacy preserving dynamic broadcast encryption for multi-privileged groups
Kuribayashi et al. Fingerprinting for multimedia content broadcasting system
Guo et al. Authenticated public key broadcast encryption with short ciphertexts
KR101507340B1 (ko) 브로드캐스트 암호화 및 복호화 장치 및 그 방법
KR101727691B1 (ko) Id 기반 수신자 제한 암호 서버 및 시스템
KR101306211B1 (ko) 아이디 기반의 브로드캐스트 암호화 방법
Hwang et al. An efficient revocation scheme with minimal message length for stateless receivers
Sahana Raj et al. Efficiently Revocable Identity-Based Broadcast Encryption Using Integer Matrices as Keys

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: 20130621

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151103

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee