KR101674643B1 - 폐기 기능을 갖는 무한한 계층적 id 기반 암호화 시스템 - Google Patents
폐기 기능을 갖는 무한한 계층적 id 기반 암호화 시스템 Download PDFInfo
- Publication number
- KR101674643B1 KR101674643B1 KR1020150122696A KR20150122696A KR101674643B1 KR 101674643 B1 KR101674643 B1 KR 101674643B1 KR 1020150122696 A KR1020150122696 A KR 1020150122696A KR 20150122696 A KR20150122696 A KR 20150122696A KR 101674643 B1 KR101674643 B1 KR 101674643B1
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- key
- hierarchical
- terminals
- encryption system
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
계층적 ID 기반 암호화 시스템이 개시된다. 상기 계층적 ID 기반 암호화 시스템은 계층적 구조를 이루는 서버와 복수의 단말기들을 포함하고, 상기 계층적 구조의 최상위 레벨에 위치하는 상기 서버는 마스터키와 공개 상수를 생성하고, 상기 공개 상수를 공개하고, 상기 복수의 단말기들 중 제1 단말기는 상기 제1 단말기의 하위 레벨 단말기들 중 제2 단말기의 개인키를 생성하여 상기 개인키를 상기 제2 단말기로 송신하고, 상기 하위 레벨 단말기들 중 폐기되지 않은 사용자들의 단말기들에 대한 업데이트키를 생성하여 상기 업데이트키를 상기 하위 레벨 단말기들로 송신하고, 상기 하위 레벨 단말기들에 대한 폐기 목록을 갱신한다.
Description
본 발명의 개념에 따른 실시 예는 계층적 ID 기반 암호화 시스템에 관한 것으로, 특히 계층적 ID 기반 암호 기법이 가지는 계층의 한계를 없애 무한한 계층에 대한 키 발급이 가능하며, 시간에 따른 키 업데이트 기능을 이용하여 사용자의 키 폐기가 가능한 무한한 계층적 ID 기반 암호화 시스템에 관한 것이다.
공개키 기반 구조(Public Key Infrastructure, PKI)에 기반한 공개키 암호(Public Key Encryption) 시스템에서는 암호화키와 복호화키가 임의의 값(Random string or Random value)으로 존재하기 때문에 암호화키와 사용자의 관계를 인증할 수 있는 인증서(Certificate)가 필요하며, 인증서는 인증서 발급 기관(Central Authority)에 의해 발급된다. 데이터를 암호화하기 위해, 송신자는 수신자의 공개키와 공개키에 대한 인증서를 수신자로부터 미리 수신받아 키에 대한 검증을 수행한 후에 데이터를 암호화한다. 이와 같은 인증서 사용의 불편함을 해결하기 위하여 ID 기반 암호 시스템(Identity Based Encryption, IBE)이 개발되었다.
ID 기반 암호 시스템에서는 암호화 시 수신자를 식별할 수 있는 식별 정보, 예컨대 수신자의 이메일 주소, 사원번호, 전화번호 등이 공개키로 사용된다. 수신자를 바로 식별할 수 있는 값을 공개키로 사용하기 때문에 송신자는 별도의 키에 대해 인증할 필요가 없으며, 결과적으로 시스템 상에서 인증서를 사용하지 않아도 된다.
계층적 ID 기반 암호 기법(Hierarchical Identity-based Encryption)의 경우, 하나의 PKG(Private Key Generator)가 모든 사용자 각각에 대한 키를 생성하고, 사용자에게 안전하게 전달하기 위한 통신 채널을 생성해야 하므로 PKG에게 과도한 부담이 발생한다. 이와 같은 문제를 해결하기 위해 계층적 ID 기반 암호 기법이 제안되었다. 계층적 ID 기반 암호 기법이란 사용자 간에 계층 구조를 두고, 각각의 사용자가 자신의 키를 이용하여 자신의 하위 사용자에 대해 키를 발급하는 PKG의 역할을 수행하는 기법을 의미한다.
ID 기반 암호에서는 계약 기간이 만료되거나 개인키가 노출된 사용자에 대한 효율적인 폐기 메커니즘을 제공해야 한다. 폐기 가능한 ID 기반 암호 기법(Revocable Identy-based Encryption)은 사용자가 등록 과정에서 PKG로부터 개인키를 발급받고, 이후 주기적으로 PKG가 폐기되지 않은 사용자들에 대한 업데이트키를 발급하여 폐기되지 않은 사용자들만 복호화키를 생성할 수 있는 기법이다.
계층적 ID 기반 암호에서도 폐기 가능한 ID 기반 암호와 같이 계약 기간이 만료되거나 개인키가 노출된 사용자에 대한 효율적인 폐기 메커니즘을 제공해야 한다. 계층적 ID 기반 암호에서도 폐기 기능을 제공하기 위해서는 사용자가 등록 과정에서 PKG나 상위 레벨의 사용자에게 개인키를 발급받고, 이후 주기적으로 PKG나 상위 레벨의 사용자가 폐기되지 않은 사용자들에 대한 업데이트키를 발급하여 폐기되지 않은 사용자들만 복호화키를 생성할 수 있다. 이러한 기법을 폐기 기능을 제공하는 계층적 ID 기반 암호 기법이라 한다.
본 발명이 이루고자 하는 기술적인 과제는 무한한 계층에 대한 키 발급이 가능하며, 시간에 따른 업데이트 기능을 제공하여 사용자의 키를 효율적으로 폐기할 수 있는 폐기 기능을 갖는 무한한 계층적 ID 기반 암호화 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른, 계층적 ID(identity) 기반 암호화 시스템은, 계층적 구조를 이루는 서버와 복수의 단말기들을 포함하고, 상기 계층적 구조의 최상위 레벨에 위치하는 상기 서버는 마스터키와 공개 상수를 생성하고, 상기 공개 상수를 공개하고, 상기 복수의 단말기들 중 제1 단말기는, 상기 제1 단말기의 하위 레벨 단말기들 중 제2 단말기의 개인키를 생성하여 상기 개인키를 상기 제2 단말기로 송신하고, 상기 하위 레벨 단말기들 중 폐기되지 않은 사용자들의 단말기들에 대한 업데이트키를 생성하여 상기 업데이트키를 상기 하위 레벨 단말기들로 송신하고, 상기 하위 레벨 단말기들에 대한 폐기 목록을 갱신한다.
본 발명의 실시 예에 따른 폐기 기능을 갖는 무한한 계층적 ID 기반 암호화 시스템에 의할 경우, 폐기 기능을 제공하면서도 무한한 키 위임이 가능하다. 또한, 기존 폐기 기능을 제공하는 계층적 ID 기반 암호 기법은 첫 단계에서 설정되는 공개 상수의 개수가 설정되는 레벨에 비례하게 늘어나지만, 본 발명의 폐기 기능을 제공하는 계층적 ID 기반 암호화 시스템은 첫 단계에서 설정되는 공개 상수의 개수가 일정하다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 의한 암호화 시스템을 도시한다.
도 2는 도 1에 도시된 서버의 기능 블럭도이다.
도 3은 도 1에 도시된 제1 단말기의 기능 블럭도이다.
도 1은 본 발명의 일 실시 예에 의한 암호화 시스템을 도시한다.
도 2는 도 1에 도시된 서버의 기능 블럭도이다.
도 3은 도 1에 도시된 제1 단말기의 기능 블럭도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명에서는 폐기 기능을 제공하는 무한한 계층적 ID 기반 암호를 설계하기 위해 우선 무한한 계층적 ID 기반 암호를 설계하였다. 계층적 ID 기반 암호는 속성을 ID로 설정하고 모든 속성을 'AND'로 연결한 Key-Policy Attribute-based Encryption(KP-ABE)로 볼 수 있으므로 기존에 존재했던 Rouselakis와 Waters의 KP-ABE(Y. Rouselakis and B. Waters, Practical constructions and new proof methods for large universe attribute0based encryption, ACM Conference on Computer and Communications Security, pp. 463-474, ACM, 2013.)를 이용하여 무한한 계층적 ID 기반 암호를 설계할 수 있다. 생성된 무한한 계층적 ID 기반 암호에 이진트리를 이용한 폐기 방법을 적용하여 폐기 기능을 제공하는 무한한 계층적 ID 기반 암호를 생성할 수 있다.
우선, 본 발명에서 이용하는 각 알고리즘에 대해 설명하면 다음과 같다.
본 발명에서는 셋업 알고리즘(), 개인키 생성 알고리즘(), 업데이트키 생성 알고리즘(), 복호화키 생성 알고리즘(), 복호화키 재랜덤화 알고리즘(), 암호화 알고리즘(), 복호화 알고리즘(), 및 폐기 알고리즘()을 이용하며, 이용되는 각 알고리즘은 다음과 같이 구성된다.
셋업 알고리즘은 보안 상수()를 입력으로 받고, (비어있는) 폐기 목록(revocation list ; ), 상태 정보(), 공개 상수(public parameter ; ), 및 마스터키()를 출력한다.
개인키 생성 알고리즘은 개인키 생성을 원하는(또는 등록을 원하는) 사용자의 ID인 , 개인키를 생성하는 관리자(또는 사용자)가 관리하는 상태 정보인 , 및 공개 상수()를 입력으로 받고, 에 대한 개인키()를 출력한다.
업데이트키 생성 알고리즘은 시간(), 이 관리하는 폐기 목록(), 과 시간()에 대한 복화화키(), 이 관리하는 상태 정보(), 및 공개 상수()를 입력으로 받고, 의 시간()에서의 업데이트키()를 출력한다.
또한, 본 발명에서 이용되는 노드 생성 알고리즘()의 구체적인 내용은 다음과 같다. 노드 생성 알고리즘을 통하여 이진트리() 상에서, 대응되는 업데이트키가 생성될 노드들의 집합()을 구할 수 있다.
상기 노드들의 집합()은 이진트리(), 폐기 목록(), 및 시간()을 입력으로 하는 노드 생성 알고리즘()을 이용하여 구할 수 있다. 알고리즘에 관한 구체적인 내용은 다음과 같다.
상기 알고리즘 상에서 는 노드()의 폐기 시간을 의미하고, 노드()는 노드()의 왼쪽 자식 노드를 의미하고, 노드()는 노드()의 오른쪽 자식 노드를 의미한다. 이진트리() 상에서 각각의 사용자는 말단 노드(leaf node)에 할당된다. 는 노드()에서부터 루트 노드, 즉 최상위 노드까지 경로 상에 위치한 노드들의 집합을 의미한다.
따라서, 시간()에 집합()에 포함된 노드들에 대응되는 업데이트키만이 생성되고, 폐기되지 않은 사용자들은, 자신의 노드로부터 루트 노드까지의 경로 상에 포함된 노드들 중 어느 하나의 노드가 집합()에 포함되어 있으므로 시간()에 복호화키를 생성할 수 있다.
도 1은 본 발명의 일 실시 예에 의한 암호화 시스템을 도시한다.
도 1을 참조하면, 폐기 기능을 갖는 무한한 계층적 ID 기반의 암호화 시스템(10)은 서버(500)와 복수의 단말기들을 포함한다. 상기 복수의 단말기들은 계층적 구조를 이루고 있으며, 도 1에는 상기 복수의 단말기들 중 제1 단말기(100), 제2 단말기(200), 제3 단말기(300), 및 제4 단말기(400)만을 도시하고 있다. 제1 단말기(100)와 제3 단말기(300)는 서버(500)의 하위 계층에 속하는 단말기들이고, 제2 단말기(200)는 제1 단말기(100)의 하위 계층에 속하는 단말기들 중 하나이고, 제4 단말기(400)는 제3 단말기(300)의 하위 계층에 속하는 단말기들 중 하나일 수 있다.
키 생성 기관(Private Key Generator ; PKG) 또는 키 생성 서버로 불릴 수도 있는 서버(500)는 설정 단계를 수행하여 공개 상수()와 마스터키를 생성하고, 공개 상수()를 공개할 수 있다. 상기 마스터키는 사용자의 개인키를 생성하는 과정에서 사용될 수 있다.
서버(500)가 수행하는 설정 단계에 관한 구체적인 설명은 다음과 같다. 서버(500)는 셋업 알고리즘을 수행하여 겹선형 함수와 를 생성한다. 여기서, 는 의 생성원(generator)이고, 는 의 임의의 원소이다. 또한, 서버(500)는 에서 임의의 를 선택하고, 선택된 를 이용하여 로 설정한다. 서버(500)는 생성된 변수를 이용하여 를 공개 상수로 공개하고, 는 마스터키로 관리하며, 사용자의 개인키를 생성할 때 사용된다.
기존의 폐기 기능을 제공하는 계층적 ID 기반 암호는 시스템 설정 단계에서 공개 상수에 레벨의 개수인 n 개의 원소가 설정되므로 처음 시스템 설정 단계에서 최대 계층의 개수가 정해진다. 이는 최대 계층만큼의 키 위임이 이루어진 이후에는 더 이상 키 위임을 할 수 없다는 제한을 의미하므로 이를 없애는 것은 매우 중요하다. 따라서 본 발명에서는 설정 단계에서 공개 상수를 일정하게 정해두지만 최대 계층은 정해지지 않는, 즉 무한한 키 위임이 가능하면서도 폐기 기능을 제공하는 계층적 ID 기반 암호를 제안한다.
암호화 시스템(10)에서는 서버(500) 뿐만이 아니라 암호화 시스템(10)에 포함된 각 단말기들도 하위 계층에 속하는 단말기에 대한 개인키를 생성하는 사용자 등록 단계를 수행할 수 있다.
사용자 등록 단계에 관한 구체적인 설명은 다음과 같다. 이하에서, k는 계층적 구조의 계층을 식별하기 위한 인덱스일 수 있다.
ID가 인 단말기는 ID가 인 단말기(또는 사용자)를 등록하기 위하여 개인키 생성 알고리즘()을 수행한다. 일 예로, k=1 일 때, 는 관리자, 즉 서버(500)의 ID를 의미하고, 은 서버(500)가 관리하는 상태 정보()를 의미한다. 상태 정보()는 ID가 인 단말기가 관리하는 이진트리()를 포함할 수 있다.
ID가 인 단말기는 먼저 이진트리()의 임의의 잎 노드()에 를 할당하고, 집합을 계산한다. 또한, 에 포함된 각각의 노드()에 대해 다음과 같은 과정을 실행한다. 노드()에 저장(할당)되어 있는 임의의 난수()가 존재하면 를 이용하고, 저장되어 있지 않다면 에서 새로운 를 선택하고, 이를 노드()에 저장(할당)한다. 또한, 에서 임의의 지수들 를 선택하고, 를 생성한다. 결국, ID가 인 단말기는 에 대한 ID가 인 단말기의 개인키()를 생성하고, 생성된 개인키()를 ID가 인 단말기로 송신할 수 있다.
암호화 시스템(10)에서는 서버(500) 뿐만이 아니라 암호화 시스템(10)에 포함된 각 단말기들도 하위 계층에 속하는 단말기에 대한 업데이트키를 생성하는 업데이트 단계를 수행할 수 있다.
업데이트 단계에 관한 구체적인 설명은 다음과 같다.
ID가 인 단말기는 폐기되지 않은 사용자(단말기)에 대한 업데이트키를 생성하기 위해 업데이트키 생성 알고리즘()을 수행한다. 일 예로, k=1일 때, 은 서버(500)의 ID를 의미하고, 은 서버(500)가 관리하는 폐기 목록, 은 서버(500)가 관리하는 상태 정보를 의미할 수 있다. 또한, 은 서버(500)가 생성하는 업데이트키로 마스터키()를 이용하여 용이하게 생성할 수 있다.
ID가 인 단말기가 업데이트키()를 생성하는 과정은 다음과 같다. 우선, 를 통해 집합 를 생성한다. 집합 에 포함되어 있는 각각의 노드()에 대해 가 저장되어 있다면 저장되어 있는 를 이용하고, 저장되어 있지 않다면 에서 새로운 를 선택하고 노드()에 저장한다. ID가 인 단말기는 복호화키 재랜덤화 알고리즘을 수행하여 자신의 복호화키()를 재랜덤화하여 재랜덤화된 복호화키()를 얻고, 이를 이용하여 시간()에 따른 를 생성한다. 결국, ID가 인 단말기는 에 대한 의 시간()에 대한 업데이트키()를 생성하고, 생성된 업데이트키를 공개하거나 하위 계층에 포함된 단말기들에게 전송할 수 있다.
암호화 시스템(10)에 포함된 복수의 단말기들 각각은 자신의 복호화키를 생성하는 복호화키 생성 단계를 수행할 수 있다. 복호화키 생성 단계에 관한 구체적인 설명은 다음과 같다.
가 폐기 목록()에 포함되어 있는 경우, 단말기는 복호화키를 생성하지 못한다. 가 폐기 목록()에 포함되어 있지 않은 경우, 교집합()에 포함되어 있는 노드()를 찾는다. 노드()에 대해 에 포함되어 있는 와 에 포함되어 있는 를 이용하여 다음과 같이 복호화키()를 생성한다.
암호화 시스템(10)에 포함된 복수의 단말기들 각각은 자신의 복호화키를 재랜덤화하는 복호화키 재랜덤화 단계를 수행할 수 있다. 복호화키 재랜덤화 단계에 관한 구체적인 설명은 다음과 같다.
각 단말기는 자신의 복호화키를 재랜덤화하기 위해 와 시간()에 대한 복호화키()를 이용하여 복호화키 재랜덤화 알고리즘()을 수행한다. 먼저, 에서 임의의 난수 를 선택하고, 재랜덤화된 복호화키 ()를 생성할 수 있다.
암호화 시스템(10)에 포함된 복수의 단말기들 각각은 송신하고자 하는 메시지()를 암호화하는 암호화 단계를 수행할 수 있다. 실시 예에 따라, 메시지()을 암호화하는 단말기는 암호화 시스템(10)에 포함되지 않은 단말기일 수도 있다. 구체적으로, 메시지()를 암호화하고 암호화된 메시지를 송신하는 송신 단말기는 메시지(), 메시지()를 수신하는 수신 단말기의 ID(), 시간(), 및 공개 상수()를 이용하여 암호화 알고리즘()을 수행한다. 먼저, 에서 임의의 지수들 을 선택하고, 암호문()을 생성할 수 있다. 생성된 암호문은 상기 송신 단말기에 의해 상기 수신 단말기로 송신될 수 있다.
송신 단말기로부터 암호문을 수신받은 수신 단말기는 복호화 단계를 수행할 수 있다. 구체적으로, 상기 수신 단말기는 메시지()에 대한 과 시간()에 대한 암호문()을 복호화하기 위해 와 시간()에 대한 복호화키()와 공개 상수()를 이용하여 복호화 알고리즘()을 수행한다. 만약 가 의 프리픽스(prefix)이고 시간 라면, 메시지()를 출력한다. 그렇지 않으면 ⊥를 출력한다.
암호화 시스템(10)에 포함된 복수의 단말기들 각각은 개인키가 발급된 사용자에 대한 폐기 단계를 수행할 수 있다. 폐기 단계에 관한 구체적인 설명은 다음과 같다.
시간 에 가 폐기된다면, 이 관리하는 폐기 목록()과 상태 정보()를 이용하여 폐기 알고리즘()을 수행한다. 만약, 가 에 포함되어 있지 않으면 의 개인키가 발급된 적이 없음을 의미하므로 ⊥를 출력한다. 그렇지 않다면 )를 에 추가하고, 업데이트된 을 출력한다.
본 명세서에서 제안하는 기법의 정확성을 확인하기 위해서는 복호화키의 형태를 확인해야 한다. 제안하는 기법의 개인키 생성 알고리즘(), 업데이트키 생성 알고리즘(), 복호화키 생성 알고리즘()으로 수학적 귀납법을 이용하여 복호화키()의 형태를 확인할 수 있다. 복호화키의 형태가 임의의 의 원소 과 에 대해 다음과 같은 형태를 갖는다면 1의 확률로 정확한 평문을 출력한다.
도 2는 도 1에 도시된 서버의 기능 블럭도이다.
도 2를 참조하면, 서버(500)는 설정 모듈(510), 사용자 등록 모듈(530), 업데이트 모듈(550), 및 폐기 모듈(570)을 포함한다.
설정 모듈(510)은 설정 단계를 수행한다. 즉, 설정 모듈(510)은 설정 단계를 수행함으로써, 공개 상수와 마스터키를 생성하고, 생성된 공개 상수를 공개한다.
사용자 등록 모듈(530)은 사용자 등록 단계를 수행한다. 즉, 사용자 등록 모듈(530)은 사용자 등록 단계를 수행함으로써, 하위 계층 사용자의 개인키를 생성하고, 생성된 개인키를 사용자의 단말기로 송신할 수 있다.
업데이트 모듈(550)은 업데이트 단계를 수행한다. 즉, 업데이트 모듈(550)은 업데이트 단계를 수행함으로써, 서버(500)의 업데이트키를 생성하고 생성된 업데이트키를 공개하거나 하위 계층 사용자의 단말기로 송신할 수 있다.
폐기 모듈(570)은 폐기 단계를 수행한다. 즉, 폐기 모듈(570)은 폐기 단계를 수행함으로써, 서버(500)가 관리하는 폐기 목록을 갱신할 수 있다.
도 3은 도 1에 도시된 제1 단말기의 기능 블럭도이다.
도 3을 참조하면, 제1 단말기(100)는 사용자 등록 모듈(110), 업데이트 모듈(120), 복호화키 생성 모듈(130), 복호화키 재랜덤화 모듈(150), 및 폐기 모듈(160)을 포함한다. 실시 예에 따라, 제1 단말기(100)는 암호화 모듈(180) 및/또는 복호화 모듈(190)을 더 포함할 수도 있다.
사용자 등록 모듈(110) 사용자 등록 단계를 수행한다. 즉, 사용자 등록 모듈(110)은 사용자 등록 단계를 수행함으로써, 하위 계층 사용자의 개인키를 생성하고, 생성된 개인키를 하위 계층 사용자의 단말기로 송신할 수 있다.
업데이트 모듈(120) 업데이트 단계를 수행한다. 즉, 업데이트 모듈(120)은 업데이트 단계를 수행함으로써, 제1 단말기(100)의 업데이트키를 생성하고 생성된 업데이트키를 공개하거나 하위 계층 사용자의 단말기로 송신할 수 있다.
복호화키 생성 모듈(130)은 복호화키 생성 단계를 수행한다. 즉, 복호화키 생성 모듈(130)은 복호화키 생성 단계를 수행함으로써, 제1 단말기(100)의 복호화키를 생성할 수 있다.
복호화키 재랜덤화 모듈(150)은 복호화키 재랜덤화 단계를 수행한다. 즉, 복호화키 재랜덤화 모듈(150)은 복호화키 재랜덤화 단계를 수행함으로써, 복호화키 생성 모듈(130)에 의해 생성된 복호화키를 재랜덤화 할 수 있다. 이를 통하여 복호화키가 노출됨으로 인해 사용자의 개인키가 노출되는 위험을 예방할 수 있다.
폐기 모듈(160)은 폐기 단계를 수행한다. 즉, 폐기 모듈(160)은 폐기 단계를 수행함으로써, 제1 단말기(100)가 관리하는 폐기 목록을 갱신할 수 있다.
암호화 모듈(180)은 암호화 단계를 수행할 수 있다. 즉, 암호화 모듈은 암호화 단계를 수행함으로써, 송신하고자 하는 메시지를 암호화하고, 암호화된 메시지, 즉 암호문은 송신 단말기로 송신할 수 있다.
복호화 모듈(190)은 복호화 단계를 수행한다. 즉, 복호화 모듈(190)은 복호화 단계를 수행함으로써, 송신 단말기로부터 수신된 암호문을 복호화할 수 있다.
도 2에 도시된 서버(500)의 구성들과 도 3에 도시된 제1 단말기(100)의 구성들 각각은 기능 및 논리적으로 분리될 수 있음으로 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것이 아님을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것이 아니다.
또한, 암호화 시스템(10)에 포함된 복수의 단말기들 각각은 제1 단말기(100)와 그 기능 및 구조가 동일할 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 암호화 시스템
100 : 제1 단말기
110 : 사용자 등록 모듈
120 : 업데이트 모듈
130 : 복호화키 생성 모듈
150 : 복호화키 재랜덤화 모듈
180 : 암호화 모듈
190 : 복호화 모듈
200 : 제2 단말기
300 : 제3 단말기
400 : 제4 단말기
500 : 서버
100 : 제1 단말기
110 : 사용자 등록 모듈
120 : 업데이트 모듈
130 : 복호화키 생성 모듈
150 : 복호화키 재랜덤화 모듈
180 : 암호화 모듈
190 : 복호화 모듈
200 : 제2 단말기
300 : 제3 단말기
400 : 제4 단말기
500 : 서버
Claims (6)
- 계층적 ID(identity) 기반 암호화 시스템에 있어서,
상기 암호화 시스템은 계층적 구조를 이루는 서버와 복수의 단말기들을 포함하고,
상기 계층적 구조의 최상위 레벨에 위치하는 상기 서버는 마스터키()와 공개 상수()를 생성하고, 상기 공개 상수()를 공개하고,
상기 복수의 단말기들 중 제1 단말기는,
상기 제1 단말기의 하위 레벨 단말기들 중 제2 단말기의 개인키를 생성하여 상기 개인키를 상기 제2 단말기로 송신하고,
상기 하위 레벨 단말기들 중 폐기되지 않은 사용자들의 단말기들에 대한 업데이트키를 생성하여 상기 업데이트키를 상기 하위 레벨 단말기들로 송신하고,
상기 하위 레벨 단말기들에 대한 폐기 목록을 갱신하고,
상기 서버는 설정 단계를 수행하여 상기 마스터키()와 상기 공개 상수()를 생성하고,
상기 설정 단계에서 상기 서버는 겹선형 함수, 의 생성원(), 의 임의의 원소(), 및 에 속하는 임의의 난수들()을 이용하여 계산된 계산값들()을 생성하고, 겹선형 함수, , , , , 및 를 상기 공개 상수()로 설정하고, 를 상기 마스터키()로 설정하는,
계층적 ID 기반 암호화 시스템. - 제1항에 있어서,
상기 제1 단말기는,
상기 제1 단말기의 상위 레벨의 단말기 또는 상기 서버로부터 수신된 상기 제1 단말기의 개인키와 업데이트키 및 상기 공개 상수를 입력으로 하는 복호화키 생성 알고리즘을 수행하여 상기 제1 단말기의 복호화키를 생성하는,
계층적 ID 기반 암호화 시스템. - 제2항에 있어서,
상기 제1 단말기는,
상기 제1 단말기의 복호화키와 상기 공개 상수를 입력으로 하는 복호화키 재랜덤화 알고리즘을 수행하여 재랜덤화된 복호화키를 생성하는,
계층적 ID 기반 암호화 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150122696A KR101674643B1 (ko) | 2015-08-31 | 2015-08-31 | 폐기 기능을 갖는 무한한 계층적 id 기반 암호화 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150122696A KR101674643B1 (ko) | 2015-08-31 | 2015-08-31 | 폐기 기능을 갖는 무한한 계층적 id 기반 암호화 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101674643B1 true KR101674643B1 (ko) | 2016-11-10 |
Family
ID=57484609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150122696A KR101674643B1 (ko) | 2015-08-31 | 2015-08-31 | 폐기 기능을 갖는 무한한 계층적 id 기반 암호화 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101674643B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005198189A (ja) * | 2004-01-09 | 2005-07-21 | Ntt Docomo Inc | 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置 |
KR101382626B1 (ko) | 2013-01-03 | 2014-04-07 | 고려대학교 산학협력단 | Id 기반의 강한 지정된 검증자 서명 시스템 및 방법 |
-
2015
- 2015-08-31 KR KR1020150122696A patent/KR101674643B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005198189A (ja) * | 2004-01-09 | 2005-07-21 | Ntt Docomo Inc | 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置 |
KR101382626B1 (ko) | 2013-01-03 | 2014-04-07 | 고려대학교 산학협력단 | Id 기반의 강한 지정된 검증자 서명 시스템 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109587132B (zh) | 一种基于联盟链的数据传递方法及装置 | |
US11271730B2 (en) | Systems and methods for deployment, management and use of dynamic cipher key systems | |
Xu et al. | Secure fine-grained access control and data sharing for dynamic groups in the cloud | |
US11909868B2 (en) | Orthogonal access control for groups via multi-hop transform encryption | |
Xue et al. | A dynamic secure group sharing framework in public cloud computing | |
Liu et al. | Two-factor data security protection mechanism for cloud storage system | |
KR100568233B1 (ko) | 인증서를 이용한 기기 인증 방법 및 상기 방법을 이용하여기기 인증을 수행하는 디지털 컨텐츠 처리 기기 | |
JP2010161826A (ja) | 証明書に基づく暗号化および公開鍵構造基盤 | |
US20150256336A1 (en) | End-To-End Encryption Method for Digital Data Sharing Through a Third Party | |
CN104200154A (zh) | 一种基于标识的安装包签名方法及其装置 | |
Li et al. | Multi-user searchable encryption with a designated server | |
JP7444378B2 (ja) | 鍵交換システム、通信端末、情報処理装置、鍵交換方法、及びプログラム | |
KR101674643B1 (ko) | 폐기 기능을 갖는 무한한 계층적 id 기반 암호화 시스템 | |
JPH11187008A (ja) | 暗号鍵の配送方法 | |
KR101599996B1 (ko) | 폐기가능한 id 기반 암호 서버 및 시스템 | |
Bai | Comparative research on two kinds of certification systems of the public key infrastructure (PKI) and the identity based encryption (IBE) | |
KR102348065B1 (ko) | Sd 방식을 이용한 폐기 가능한 id 기반 암호 설계 방법 | |
KR20020087896A (ko) | 결정적 디피-헬만군에서id에 기반한 디지털 서명 및 그인증 방법 | |
KR101652846B1 (ko) | 무인증서 공개키 암호 기반 웹서버 인증 방법 | |
KR101732130B1 (ko) | 폐기 기능을 갖는 무한한 계층적 id 기반 서명 방법 | |
CN111556079B (zh) | 基于身份加密的可控匿名通信方法 | |
VEENAKUMARI et al. | Tackling the Decisive Concerns of Identity Revocation | |
CN113824558A (zh) | 具有一次性授权能力的权限管控算法 | |
JP5739078B1 (ja) | サーバ装置、通信方法、およびプログラム | |
Renjith et al. | Survey on Data Sharing and Re-Encryption in Cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20191017 Year of fee payment: 4 |