KR101516114B1 - 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템 - Google Patents

인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템 Download PDF

Info

Publication number
KR101516114B1
KR101516114B1 KR1020140016718A KR20140016718A KR101516114B1 KR 101516114 B1 KR101516114 B1 KR 101516114B1 KR 1020140016718 A KR1020140016718 A KR 1020140016718A KR 20140016718 A KR20140016718 A KR 20140016718A KR 101516114 B1 KR101516114 B1 KR 101516114B1
Authority
KR
South Korea
Prior art keywords
encryption
key
user
certificate
public
Prior art date
Application number
KR1020140016718A
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 KR1020140016718A priority Critical patent/KR101516114B1/ko
Application granted granted Critical
Publication of KR101516114B1 publication Critical patent/KR101516114B1/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/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0464Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it

Landscapes

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

Abstract

인증서를 기반으로 암호화 및 복호화를 수행하는 장치들의 프록시 재암호화 방법, 시스템 및 암복호화 장치가 개시된다. 인증서 기반 프록시 재암호화 방법은, 인증 센터가 시스템 마스터키를 이용하여 공개 파라미터를 생성하는 초기화 단계와, 공개 파라미터, 평문 및 제1 사용자의 공개키를 입력값으로 하여 암호문을 생성하는 암호화 단계와, 공개 파라미터, 제1 사용자의 인증서, 제1 사용자의 공개키에 대응하는 개인키 및 제2 사용자의 공개키를 입력값으로 하여 재암호화키를 생성하는 재암호화키 생성 단계와, 프록시가 암호문에 기반하여 유효성 검증 파라미터를 산출하고, 암호문이 유효성 검증 파라미터에 관한 소정의 조건을 충족함에 따라, 공개 파라미터, 재암호화키 및 암호문을 입력값으로 하여 재암호문을 생성하는 재암호화 단계를 포함하여 구성될 수 있다.

Description

인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템{CERTIFICATE-BASED PROXY RE-ENCRYPTION METHOD AND ITS SYSTEM}
본 발명은 인증서 기반의 암호화 기술(certificate-based encryption)을 이용한 프록시 재암호화(proxy re-encryption)에 관한 것으로, 더욱 상세하게는 프록시와 복호화 권한을 위임받은 권한 수임자 간의 공모 공격(collusion attack)과 선택 암호문 공격(chosen ciphertext attack)에 대한 안전성을 보장하기 위하여 단방향 프록시 재암호화키(uni-directional proxy re-encryption key)를 생성하고 사용하는 기술에 관한 것이다.
데이터 전송 시, 타인의 불법적인 방법에 의해 데이터가 도청되거나 유출되는 것을 방지하기 위한 기술로서 데이터를 쉽게 해독할 수 없도록 다른 형태로 변환하여 전송하고 데이터를 수신하는 쪽에서는 이를 원래의 형태대로 복원하는 방법이 연구되어 왔다.
이를 암호화 및 복호화라고 하며, 암호화 방식은 크게 대칭형 암호화 방식의 비밀키 암호화 기법(symmetric key cryptography)과 비대칭형 암호화 방식의 공개키 암호화 기법(asymmetric key cryptography)으로 나뉘어진다.
비밀키(private key) 암호화 기법은 동일한 키로 암호화와 복호화를 수행하는 방법으로 보안 유지와 키 관리에 어려움이 있으나 알고리즘이 간단해 암호화 속도가 빠르고 용량이 작아 경제적이다.
즉, 하나의 비밀키로 암호화 및 복호화를 해야 하므로 비밀 통신을 하는 당사자들만이 키를 안전하게 공유해야 한다. 그래서 이 방법을 비밀키 암호 시스템(secret key cryptosystem)이라고도 한다. 대표적인 알고리즘으로 DES(Data Encryption Standard)와, DES의 단점을 일부 보완한 Triple DES와 AES(Advanced Encryption Standard) 등이 있다.
공개키(public Key) 암호화 기법은 공개되는 공개키와 본인만 사용하는 비밀키(private key)로 구성되는 것으로 공개키와 비밀키를 별도로 관리하기 때문에 키 관리가 용이하며 암호화와 사용자 인증이 동시에 이뤄진다는 특징이 있다. 이는 전자 문서의 디지털서명, 부인봉쇄에 사용된다. 그러나 알고리즘이 복잡해 속도가 느리다는 단점을 가지고 있다.
즉, 각 사용자 주체마다 두 개의 키가 존재하여, 각 사용자마다 키쌍(key pair)인 공개키(public key)와 개인키(private key)를 유지해야 한다. 대표적인 알고리즘으로는 RSA(Rivest Shamir Adleman), ECC(Elliptic Curve Cryptosystem) 등이 있다.
이 중 공개키 암호화(public key encryption) 기술은 특정 사용자의 공개키를 이용하여 메시지에 대한 암호화를 수행하여 암호문을 생성하고, 공개키에 대응하는 개인키로 암호문을 복호화하여 메시지를 획득하는 것이므로, 이와 같은 환경에서 다른 사용자에게 복호화 권한을 위임하기 위해서는 권한 위임자의 개인키를 권한 수임자(피위임자)에게 알려주거나, 모든 암호문에 대하여 복호화를 수행한 후 권한 수임자의 공개키로 메시지를 암호화하여야 한다. 하지만, 권한 위임자의 개인키를 알려주는 것은 많은 보안적인 위협들을 초래하므로 전자의 방법은 적절한 방법이 될 수 없으며, 후자의 방법은 실시간으로 복호화와 암호화를 수행해야 하므로 항상 권한 위임자에 대하여 온라인 상태일 것을 요구한다. 또한, 복호화와 암호화의 수행으로 인하여 권한 위임자의 추가적인 계산 상의 오버헤드(overhead)를 초래한다.
따라서, 기존의 공개키 암호화 기술은 암호학적 기능들 중의 가장 중요한 기술이지만, 위에서 언급한 복호화 권한위임에 관련된 키 관리의 문제와 추가적인 오버헤드로 인하여 상황에 따라 실용적인 적용에서 많은 제한점을 내포하고 있다.
위와 같은 문제점들을 해결하기 위하여, 1998년 Blaze, Bleumer와 Starauss는 특정 사용자(권한 위임자)의 공개키로 암호화된 메시지를 복호화하지 않고, 프록시(proxy)가 재암호화키를 이용하여 암호문을 재암호화하여 새로운 암호문(재암호문)을 생성하고 복호화 권한을 획득한 권한 수임자(피위임자)의 개인키로 새로운 암호문(재암호문)을 복호화할 수 있는 프록시 재암호화 방법을 제안하였다.
프록시 재암호화 방법에서 프록시는 특정 사용자(권한 위임자)의 공개키로 암호화된 암호문을 다른 사용자(권한 수임자)의 개인키로 복호화할 수 있도록 암호문을 변형하는 역할을 수행하지만, 이러한 변형단계(재암호화단계)에서 프록시는 암호문 또는 재암호문으로 부터 평문에 관한 정보를 알 수 없어야 한다는 조건을 만족시키는 것이 바람직하다. 이와 같은 조건으로 인하여, 프록시 재암호화 방법은 분산 파일 시스템, 안전한 메일 포워딩 및 호환 가능한 DRM(Digital Rights Management) 시스템과 같은 서비스에서 효율적인 키 관리를 위한 핵심 암호학적 기반기술로 각광받고 있고 있으며, 최근까지 많은 프록시 재암호화 방법들이 연구되고 있다.
프록시 재암호화 방법의 기능적 측면을 고려할 때, 프록시 재암호화 방법은 재암호화키의 특성에 따라 양방향(bidirectional) 프록시 재암호화 방법과 단방향(unidirectional) 프록시 재암호화 방법으로 분류된다. 동일한 재암호화키를 이용하여 복호화 권한 위임자로부터 복호화 권한 수임자로의 암호문 변형뿐만 아니라, 역방향(권한 수임자로부터 권한 위임자)의 변형도 가능할 때 이를 양방향 프록시 재암호화 방법이라 하고, 역변환을 허용하지 않을 경우에 단방향 프록시 재암호화 방법이라 한다.
일반적으로, 프록시 재암호화 방법의 설계시 단방향 프록시 재암호화 방법을 두 번 사용함으로써 양방향 프록시 재암호화 방법과 동일한 기능을 제공할 수 있기 때문에, 원천기술로써 단방향 프록시 재암호화 방법을 설계하는 것이 보다 더 유용하다. 더욱이, 양방향 프록시 재암호화 방법들은 권한 수임자와 프록시의 공모를 통하여 권한 위임자의 개인키 정보를 유출하는 공모 공격(collusion attack)에 취약성을 나타낸다.
이를 위하여, Ateniese외 저자들은 겹선형 페어링(bilinear pairing)을 이용하여 처음으로 단방향 프록시 재암호화 방법을 설계하였다. 하지만, 그들이 제안한 방법은 공모 공격에는 안전하지만, 선택 평문 공격(CPA, Chosen Plaintext Attack)에 대한 안전성만을 보장한다. 이후, Canetti와 Hohenberger는 선택 평문 공격에만 안전한 기법은 다양한 응용기술로의 적용에 충분한 안정성을 제공하지 못함을 제시하고, 선택 암호문 공격(CCA, Chosen Ciphertext Attack)에 안전한 프록시 재암호화 방법을 제안하였다.
하지만, Canetti와 Hohenberger의 방법은 양방향 방법으로써 기존의 양방향 프록시 재암호화 방법들처럼 여전히 공모 공격에 취약성을 가지고 있다. 최근, 선택 암호문 공격에 안전한 단방향 프록시 재암호화 기법이 Libert와 Vergnaud에 의하여 제안되었으며, Shao와 Cao는 겹선형 페어링 연산을 제거한 단방향 프록시 재암호화 방법을 제안하였다. 또한, Green과 Ateniese는 기존의 공개키 암호 기술을 이용한 방법들과 달리 신원기반 암호화(identity-based encryption) 기술을 이용한 프록시 재암호화 방법의 설계시 고려해야 할 점을 지적하고, 선택 암호문 공격에 안전한 신원기반 단방향 프록시 재암호화 방법을 설계하였다. 하지만, 제안 방법에 사용되는 재암호화키 생성 기술의 특성으로 인하여 여전히 공모 공격에 취약성을 가지고 있다.
비록 최근까지 많은 프록시 재암호화 방법들이 제안되었지만, 이미 제안된 프록시 재암호화 방법들은 전통적인 공개키 암호화 기술 또는 신원기반 암호화 기술을 이용하여 설계되었다. 하지만, 전통적인 공개키 암호화 기술은 인증서 관리 문제의 어려움을 내포하고 있으며, 신원기반 암호화 기술은 키 위탁문제를 가지고 있다.
본 발명은 위와 같은 종래의 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 인증서 기반 암호화(certificate-based encryption) 기술을 이용하여 프록시 재암호화 방법을 설계하여, 프록시 재암호화 기술의 기능적 특성인 안전한 복호화 권한 위임을 위한 효율적인 키 관리 방법을 제공하는 것에 있다. 더 나아가, 기존 공개키 암호화 기술을 이용한 프록시 재암호화 방법의 인증서(certificate) 관리 문제와 신원기반 암호화 기술의 키 위탁(key escrow) 문제를 해결할 수 있는 새로운 프록시 재암호화 방법을 제공하는 것이다.
본 발명의 다른 목적은 재암호화키 생성 단계와 재암호화 단계를 통하여 프록시에 의해 메시지를 노출 당하는 공격 및 권한 위임자와 권한 수임자의 개인키 정보를 노출 당하는 공격에 안전성을 보장하는 동시에 현재 안전한 공개키 암호화 기술을 위한 표준 보안 모델(security model)로써 고려되고 있는 악의적인 공격자에 의한 임의의 암호문 변경을 통한 선택 암호문 공격(CCA, Chosen Ciphertext Attack)에 대하여 안전성을 보장하는 프록시 재암호화 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 복호화 권한을 위임받은 권한 수임자와 프록시 재암호화키를 소유하고 있는 프록시와의 공모 공격(collusion attack)을 통한 복호화 권한 위임자의 개인키 정보 유출을 방지하기 위해 단방향 재암호화키를 생성하여 사용하는 단방향 프록시 재암호화 방법을 제공하는 것이다. 또한 프록시 재암호화키 생성 단계에서 본 발명의 효율성 향상을 위하여 권한 위임자와 프록시 간의 비밀정보를 전송하는 추가적인 단계가 필요하지 않은 비대화식(non-interactive) 프록시 재암호화키 생성 방법을 제공하는 것이다.
상술한 본 발명의 목적을 달성하기 위한 일 측면에 따른 인증서 기반 프록시 재암호화 방법은, 인증서를 기반으로 암호화 및 복호화를 수행하는 장치들의 프록시(proxy) 재암호화(re-encryiption)에 있어서, 인증 센터(authentication center)가 시스템 마스터키를 이용하여 공개 파라미터(public parameter)를 생성하는 초기화 단계와, 공개 파라미터, 평문(plain text) 및 제1 사용자의 공개키(public key)를 입력값으로 하여 암호문(cipher text)을 생성하는 암호화 단계와, 공개 파라미터, 제1 사용자의 인증서, 제1 사용자의 공개키에 대응하는 개인키(private key) 및 제2 사용자의 공개키를 입력값으로 하여 재암호화키(re-encryption key)를 생성하는 재암호화키 생성 단계와, 프록시는 상기 암호문에 기반하여 유효성 검증 파라미터를 산출하고, 암호문이 상기 유효성 검증 파라미터에 관한 소정의 조건을 충족함에 따라, 공개 파라미터, 재암호화키 및 암호문을 입력값으로 하여 재암호문(re-ciphertext)을 생성하는 재암호화 단계를 포함하여 구성될 수 있다.
여기에서, 공개 파라미터는, 겹선형 페어링(bilinear pairing), 적어도 하나의 해시 함수(hash function), 시스템 마스터키(system master key)를 이용하여 생성된 시스템 공개키를 포함하여 구성될 수 있다.
여기에서, 인증서 기반 프록시 재암호화 방법은, 초기화 단계와 재암호화키 생성 단계 사이에, 인증 센터가 공개 파라미터, 시스템 마스터키, 사용자의 공개키를 입력값으로 하여 사용자의 인증서를 생성하고, 사용자에게 상기 인증서를 배포하는 인증서 생성 단계를 더 포함하여 구성될 수 있다.
여기에서, 상기 암호문은, 유효성 검증 파라미터를 내재한 형태로 생성될 수 있다.
여기에서, 상기 재암호화키는, 엘가말 암호 방식(ElGamal Scheme)을 적용한 단방향(uni-directional) 재암호화키일 수 있다.
여기에서, 상기 소정의 조건은, 암호문이 변경되었는지 여부에 관한 검증식으로 표현되고, 검증식은 공개 파라미터에 포함된 해시 함수 중 적어도 하나를 이용할 수 있다.
여기에서, 인증서 기반 프록시 재암호화 방법은, 재암호화 단계 이후에, 공개 파라미터, 제2 사용자의 인증서 및 제2 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 재암호문을 복호화하여 평문을 출력하는 재암호문 복호화 단계를 더 포함하여 구성될 수 있다.
나아가, 상기 재암호문 복호화 단계는, 재암호문이 제2 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 재암호문을 복호화하여 평문을 출력할 수 있다.
여기에서, 인증서 기반 프록시 재암호화 방법은, 암호화 단계 이후에, 공개 파라미터, 제1 사용자의 인증서 및 제1 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 암호문을 복호화하여 평문을 출력하는 암호문 복호화 단계를 더 포함하여 구성될 수 있다.
나아가, 상기 암호문 복호화 단계는, 암호문이 제1 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 암호문을 복호화하여 평문을 출력할 수 있다.
상술한 본 발명의 목적을 달성하기 위한 다른 측면에 따른 제1 사용자 암복호화 장치는, 평문, 제1 사용자의 공개키 및 인증 센터로부터 전달된 공개 파라미터를 입력값으로 하여 유효성 검증 파라미터를 내재한 형태로 암호문을 생성하는 암호화부와, 공개 파라미터, 제1 사용자의 인증서, 제1 사용자의 공개키에 대응하는 개인키 및 제2 사용자의 공개키를 입력값으로 하여 재암호화키를 생성하는 재암호화키 생성부와, 프록시가 재암호문을 생성하도록 재암호화키를 프록시에 전달하는 재암호화키 전달부를 포함하여 구성될 수 있다.
여기에서, 상기 재암호화키는, 엘가말 암호 방식을 적용한 단방향 재암호화키일 수 있다.
여기에서, 제1 사용자 암복호화 장치는, 공개 파라미터, 제1 사용자의 인증서 및 제1 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 암호문을 복호화하여 평문을 출력하는 암호문 복호화부를 더 포함하되, 암호문 복호화부는 암호문이 제1 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 암호문을 복호화하여 상기 평문을 출력할 수 있다.
상술한 본 발명의 목적을 달성하기 위한 또다른 측면에 따른 인증서 기반 프록시 재암호화 시스템은, 인증서 기반의 프록시 재암호화 시스템에 있어서, 시스템 마스터키를 이용하여 공개 파라미터를 생성하는 초기화부를 구비하고 있는 인증 센터와, 공개 파라미터, 제1 사용자의 인증서, 제1 사용자의 공개키에 대응하는 개인키 및 제2 사용자의 공개키를 입력값으로 하여 재암호화키를 생성하는 재암호화키 생성부를 구비하고 있는 제1 사용자 암복호화 장치와, 암호문에 기반하여 유효성 검증 파라미터를 산출하고, 암호문이 유효성 검증 파라미터에 관한 소정의 조건을 충족함에 따라, 공개 파라미터, 재암호화키 및 암호문을 입력값으로 하여 재암호문을 생성하는 재암호화부를 구비하고 있는 프록시를 포함하여 구성될 수 있다.
여기에서, 상기 공개 파라미터는, 겹선형 페어링, 적어도 하나의 해시 함수, 시스템 마스터키를 이용하여 생성된 시스템 공개키를 포함하여 구성될 수 있다.
여기에서, 상기 인증 센터는, 공개 파라미터, 시스템 마스터키, 사용자의 공개키를 입력값으로 하여 사용자의 인증서를 생성하고, 사용자에게 인증서를 배포하는 인증서 생성부를 더 포함하여 구성될 수 있다.
여기에서, 상기 암호문은, 유효성 검증 파라미터를 내재한 형태로 생성될 수 있다.
여기에서, 상기 재암호화키는, 엘가말 암호 방식을 적용한 단방향 재암호화키일 수 있다.
여기에서, 상기 소정의 조건은, 암호문이 변경되었는지 여부에 관한 검증식으로 표현되고, 검증식은 공개 파라미터에 포함된 해시 함수 중 적어도 하나를 이용할 수 있다.
여기에서, 인증서 기반 프록시 재암호화 시스템은, 공개 파라미터, 제2 사용자의 인증서 및 제2 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 재암호문을 복호화하여 평문을 출력하는 재암호문 복호화부를 구비하고 있는 제2 사용자 암복호화 장치를 더 포함하되, 재암호문 복호화부는 재암호문이 제2 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 재암호문을 복호화하여 평문을 출력할 수 있다.
상기와 같은 본 발명에 따른 인증서 기반 프록시 재암호화 방법 및 시스템, 제1 사용자 암복호화 장치를 사용하면, 특정 사용자(권한 위임자)의 공개키로 암호화된 메시지를 프록시에 의해서 다른 사용자(권한 수임자)의 개인키로 복호화할 수 있는 새로운 암호문을 생성하는 프록시 재암호화 방법에 있어서, 인증서를 복호화 단계에서 암호문을 복호화하기 위한 부분 복호화키로 사용함으로써 사용자의 공개키에 대한 묵시적 인증(implicit certification)을 제공하여 기존의 공개키 암호화 기술을 이용한 프록시 재암호화 방법의 인증서 관리 문제를 해결할 수 있다는 장점이 있다.
또한, 사용자의 개인키를 복호화 단계에서 암호문을 복호화하기 위한 부분 복호화키로 사용함으로써 기존의 신원기반 암호화 기술을 이용한 프록시 재암호화 방법의 키 위탁 문제를 해결할 수 있다.
또한, 본 발명은 암호화 단계에서 생성되는 암호문 및 재암호화 단계에서 생성되는 재암호문에 관하여 공개키 암호화 기술의 표준 보안 모델인 선택 암호문 공격(CCA, Chosen Cihpertext Attack)에 대하여 암호학적 증명 가능한 안전성을 제공할 수 있다.
재암호화키 생성 단계에서는 단방향 재암호화키를 생성하여 재암호화 단계에서 재암호문 생성을 위해 사용되므로 복호화 권한을 위임받은 권한 수임자와 프록시 간의 공모 공격에 대한 안전성을 제공할 수 있다. 또한, 재암호화키 생성단계에서 복호화 권한 위임자와 프록시 간의 비밀정보를 전송하는 추가적인 단계가 필요로 하지 않는 비대화식 재암호화키 생성 방법을 제공하므로 효율성을 높일 수 있다는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 사용자 암복호화 장치와 인증 서버의 일반적인 환경을 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 인증서 기반 프록시 재암호화 방법과 그 세부 구성요소를 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 인증서 기반 프록시 재암호화 시스템과 그 세부 구성요소, 제1 사용자 암복호화 장치와 그 세부 구성요소를 설명하기 위한 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
먼저, 본 출원에서 사용되는 용어를 간략히 설명하면 다음과 같다.
신원기반 암호화(IBE, Identity-Based Encryption)란 공개키 암호화 방식의 또 다른 일종으로 사용자의 정보를 공개키로 사용한다. 이때 공개키로 사용할 수 있는 정보는 사용자의 이메일 주소나 전화번호 등 그 사용자에게만 해당하는 유일한 정보여야 한다.
공개키 암호 방식이란, 이전에 서로 만나서 키를 나누어가지지 않은 사용자라도 안전하게 통신할 수 있도록 한다. 다만, 이때 상대방이 공개키가 정말로 그 사용자의 공개 열쇠인지 확인할 수 있는 방법이 반드시 필요하다. 흔히 이것은 전자인증서와 같은 public key infrastructure를 통해서 확인하지만, 이 과정이 번거롭고 비용도 많이 든다. 신원 기반암호는 상대방의 신원을 공개 열쇠로 사용하므로 이런 과정이 불필요하다. 즉, 인증서가 필요하지 않다.
암호 기술에서 공모 공격이란 다수의 사용자가 공모하여, 암호 시스템 혹은 일반 사용자가 소유한 비밀값 혹은 정보를 획득하는 공격 방법이다.
선택 평문 공격(CPA, Chosen Plaintext Attack)은, 암호 분석가가 임의로 선택한 평문과 그것에 대응한 암호문을 이용하는 공격 방법이다.
선택 암호문 공격(CCA, Chosen Ciphertext Attack)은, 암호 분석가가 임의로 선택된 암호문과 일치하는 평문으로부터 공격하고자 하는 암호문과 일치하는 평문을 알아내기 위해 시도하는 공격이다. 이는 선택 평문 공격보다 더욱 강력한 공격 방법으로써 현재 안전한 공개키 암호화 기술을 위한 표준 보안 모델로써 고려되고 있다.
해시 함수(hash function)란 주어진 원문에서 고정된 길이의 난수를 생성하는 연산기법이다. 생성된 값은 해시값 혹은 해시코드라고 한다. 통신회선을 통해서 데이터를 주고받을 때, 송신측과 수신측의 양쪽 끝에서 데이터의 해쉬값을 구해서 비교하면, 전송 도중 조작 여부를 확인할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명하기에 앞서 본 발명의 구성을 간략하게 정리하면 다음과 같다.
인증서 기반 암호화 기술을 이용한 단방향 프록시 재암호화 방법은, ① 인증 센터가 시스템 마스터키와 공개파라미터를 생성하는 초기화단계, ② 공개파라미터를 입력 값으로, 사용자(복호화 권한 위임자와 수임자를 모두 포함) 측에서 자신의 공개키와 개인키 쌍을 생성하는 키 생성단계, ③ 인증 센터가 공개파라미터, 마스터키와 사용자의 신원정보, 공개키를 입력 값으로 인증서를 생성하는 인증서 생성단계, ④ 암호화하고자 하는 메시지와 공개파라미터, 사용자의 신원정보, 공개키를 입력 값으로, 암호문을 생성하게 되는 암호화 단계, ⑤ 공개파라미터, 복호화 권한 위임자(④ 단계에서 암호문을 생성한 사용자)의 인증서, 개인키와 권한 수임자의 신원정보, 공개키를 입력 값으로, 권한 위임자 측에서 단방향 재암호화키를 생성하는 재암호화키 생성단계, ⑥ 공개파라미터, 재암호화키와 권한 위임자를 위한 암호문을 입력 값으로, 프록시 측에서 권한 수임자를 위해 재암호화된 새로운 암호문(재암호문)을 생성하게 되는 재암호화 단계, ⑦ 공개파라미터, 암호문과 권한 위임자의 인증서, 개인키를 입력 값으로, 암호화 단계에서 암호화된 암호문을 복호화 하여 출력하게 되는 암호문 복호화 단계와, 공개파라미터, 재암호문과 권한 수임자의 인증서, 개인키를 입력 값으로, 재암호화 단계에서 암호화된 재암호문을 복호화 하여 출력하게 되는 재암호문 복호화 단계로 이루어지는 것을 기술적 요지로 한다.
본 발명의 상기 초기화단계에서 인증센터가 겹선형 그룹(bilinear group)상에서 정의되는 수학적 연산을 기반으로 하여 시스템 마스터키와 인증센터의 공개키 및 암호학적 해시함수(cryptographic hash function)들을 포함하는 공개파라미터을 생성하는 특징을 갖는다.
암호화 단계에서는, 사용자의 신원정보와 공개키에 대한 암호화뿐만 아니라 복호화 권한을 위임받은 권한 수임자를 위한 재암호화를 가능하게 하는 암호문 생성을 가능케 하며, 악의적인 공격자에 의한 임의의 암호문 변경을 통한 선택 암호문 공격에 안전성을 보장할 수 있는 암호문을 생성하는 특징을 갖는다.
재암호화키 생성 단계에서는, 프록시와 권한 수임자간의 공모를 통한 권한 위임자의 개인키 정보를 유출하는 공모 공격에 안전성을 보장하기 위하여 ElGamal 암호 기술이 적용된 단방향 재암호화키를 생성하며, 재암호화키 생성을 위하여 권한 위임자와 프록시 간의 비밀정보의 전송이 필요로 하지 않는 비대화식 프록시 재암호화키를 생성하는 특징을 갖는다.
재암호화 단계에서는, 권한 위임자의 신원정보와 공개키에 대한 암호문을 프록시가 재암호화키 생성 단계에서 생성된 단방향 재암호화키를 사용하여 복호화 권한을 위임받은 권한 수임자를 위한 재암호문을 생성하고, 악의적인 공격자에 의한 임의의 암호문 변경을 통한 선택 암호문 공격에 대한 안전성을 보장하기 위해 권한 위임자를 위한 암호문에 대한 유효성 검증식을 포함하는 특징을 갖는다.
복호화 단계에서는, 암호화 단계에서 생성된 암호문에 대한 복호화와 재암호화 단계에서 생성된 재암호문에 대한 복호화를 수행하여 메시지를 복원하고, 악의적인 공격자에 의한 임의의 암호문 변경을 통한 선택 암호문 공격에 대한 안전성을 보장하기 위해 암호문 및 재암호문에 대한 유효성 검증식을 포함하는 특징을 갖는다.
도 1은 본 발명의 일 실시예에 따른 사용자 암복호화 장치와 인증 서버의 일반적인 환경을 설명하기 위한 개념도이다. 도 1을 참조하여 인증서 기반 프록시 재암호화 환경을 살펴보면 다음과 같다.
암복호화 장치는 일반적으로 컴퓨팅이 가능한 적어도 하나의 프로세서와 기록 매체를 포함하여 구성될 수 있고, 다양한 접속망(access network)을 통하여 인증 서버 및 프록시에 접근할 수 있다. 접속망의 종류는 제한되지 않는다. 유무선 통신망이 모두 포함될 수 있다. 일반적으로 인증서버와 프록시는 코어망(core network)에 위치할 수 있다.
그러나 인증서 기반 프록시 재암호화에 있어서, 각 구성요소들이 반드시 도 1의 형태로 물리적으로 분리되어 있어야 하는 것은 아니다. 예를 들어 프록시는 암복호화 장치를 포함한 컴퓨팅 장치 내에 위치하는 것도 가능하다.
도 2는 본 발명의 일 실시예에 따른 인증서 기반 프록시 재암호화 방법과 그 세부 구성요소를 설명하기 위한 흐름도이다. 도 2를 참조하여 인증서 기반 프록시 재암호화 방법을 살펴보면 다음과 같다.
인증서 기반 프록시 재암호화 방법은, 인증서를 기반으로 암호화 및 복호화를 수행하는 장치들의 프록시(proxy) 재암호화(re-encryiption)에 있어서, 인증 센터(authentication center)가 시스템 마스터키를 이용하여 공개 파라미터(public parameter)를 생성하는 초기화 단계(S205)와, 공개 파라미터, 평문(plain text) 및 제1 사용자의 공개키(public key)를 입력값으로 하여 암호문(cipher text)을 생성하는 암호화 단계(S235)와, 공개 파라미터, 제1 사용자의 인증서, 제1 사용자의 공개키에 대응하는 개인키(private key) 및 제2 사용자의 공개키를 입력값으로 하여 재암호화키(re-encryption key)를 생성하는 재암호화키 생성 단계(S240)와, 프록시는 상기 암호문에 기반하여 유효성 검증 파라미터를 산출하고, 암호문이 유효성 검증 파라미터에 관한 소정의 조건을 충족함에 따라, 공개 파라미터, 재암호화키 및 암호문을 입력값으로 하여 재암호문(re-ciphertext)을 생성하는 재암호화 단계(S250)를 포함하여 구성될 수 있다.
공개 파라미터는 겹선형 페어링(bilinear pairing), 적어도 하나의 해시 함수(hash function), 시스템 마스터키(system master key)를 이용하여 생성된 시스템 공개키를 포함하여 구성될 수 있다.
인증서 기반 프록시 재암호화 방법은, 초기화 단계(S205)와 재암호화키 생성 단계(S240) 사이에, 인증 센터가 공개 파라미터, 시스템 마스터키, 사용자의 공개키를 입력값으로 하여 사용자의 인증서를 생성하고, 사용자에게 인증서를 배포하는 인증서 생성 단계(S225, S230)를 더 포함하여 구성될 수 있다.
암호문은 유효성 검증 파라미터를 내재한 형태로 생성될 수 있고, 재암호화키는 엘가말 암호 방식(ElGamal Scheme)을 적용한 단방향(uni-directional) 재암호화키일 수 있다.
소정의 조건은, 암호문이 변경되었는지 여부에 관한 검증식으로 표현되고, 검증식은 공개 파라미터에 포함된 해시 함수 중 적어도 하나를 이용할 수 있다.
인증서 기반 프록시 재암호화 방법은, 재암호화 단계 이후에, 공개 파라미터, 제2 사용자의 인증서 및 제2 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 재암호문을 복호화하여 평문을 출력하는 재암호문 복호화 단계(S260)를 더 포함하여 구성될 수 있다. 재암호문 복호화 단계(S260)는 재암호문이 제2 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 재암호문을 복호화하여 평문을 출력할 수 있다.
인증서 기반 프록시 재암호화 방법은, 암호화 단계(S235) 이후에, 공개 파라미터, 제1 사용자의 인증서 및 제1 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 암호문을 복호화하여 평문을 출력하는 암호문 복호화 단계(S265)를 더 포함하여 구성될 수 있고, 암호문 복호화 단계(S265)는 암호문이 제1 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 암호문을 복호화하여 평문을 출력할 수 있다.
① 초기화 단계(S205)
초기화 단계(S205)는 인증 센터가 시스템 마스터키 mk와 공개파라미터 params를 생성하는 단계이다. 이를 위하여, 보안 매개변수 k와 k0를 입력 값으로 k비트 소수 q를 선택하고, 상기 위수 q를 갖는 군 G, GT과 겹선형 페어링 e: G×G→GT을 생성한 후 임의의 생성자 g,h∈G을 선택할 수 있다. 그리고 시스템 마스터키로 임의의 s∈Zq *를 선택하고 시스템 공개키 g1=gS∈G를 계산할 수 있다. 그리고 암호학적 해시 함수들 H1: {0,1}*→G, H2: {0,1}*→G, H3: {0,1}n+k0→Zq *, H4: GT 2→{0,1}n+k0, H5: {0,1}*→G, H6: {0,1}*→G 을 선택할 수 있다.
즉, 시스템 마스터키는 mk=s로 정의되고 공개파라미터는 params={G, GT, e, g, h, g1, H1, H2, H3, H4, H5, H6}로 정의할 수 있다.
② 키 생성 단계(S215)
키 생성 단계(S215)에서는 공개파라미터 params를 입력 값으로, 사용자 A가 임의의 xA∈Zq *를 선택하여 자신의 개인키 skA로 설정하고 이에 대응하는 공개키로 pkA=gxA∈G을 생성하여 출력할 수 있다.
③ 인증서 생성 단계(S225)
인증서 생성 단계에서는 공개파라미터 params, 마스터키 s와 사용자 A의 신원정보 λA, 공개키 pkA를 입력 값으로, 인증 센터 측에서 hA=H1(g1∥λA∥pkA)를 계산한 후 사용자의 인증서 CertA=hA S∈G를 생성하여 출력할 수 있다.
④ 암호화 단계(S235)
암호화 단계(S235)에서는 임의의 사용자가 메시지 m에 대해 암호화를 수행하고자 하는 경우 사용자는 다음과 같은 단계를 수행한 후 암호문 C를 출력할 수 있다. 메시지 m, 공개파라미터 params와 사용자 A의 신원정보 λA, 공개키 pkA를 입력 값으로, hA=H1(g1∥λA∥pkA)와 hA'=H2A∥pkA)를 계산한 후, 임의의 σ∈{0,1}k0를 선택하고 r=H3(m∥σ)∈Zq *을 계산할 수 있다. 이후 C1=gr, C2=hr, C3=(m∥σ)
Figure 112014014302100-pat00001
H4(e(g1,hA)r∥e(pkA,hA')r), C4=ur을 생성하⑥고 암호문으로 C=(C1,C2,C3,C4)를 설정하고 출력할 수 있다. 암호문에서 u는 H5(C1∥C2∥C3)의 수행결과로써 후술할 재암호화 단계(S250)에서 암호문의 유효성을 검증하기 위하여 사용될 수 있다.
⑤ 재암호화키 생성 단계(S240)
재암호화키 생성 단계(S240)에서는 복호화 권한 위임자인 A가 다음과 같은 단계를 수행한 후 단방향 재암호화키 rkA→B를 생성하여 출력할 수 있다. 공개파라미터 params와 복호화 권한 수임자 B의 신원정보 λB, 공개키 pkB와 권한 위임자 A의 인증서 CertA, 개인키 skA를 입력 값으로, hB=H1(g1∥λB∥pkB)와 hB'=H2B∥pkB)를 계산한 후 임의의 t∈Zq *를 선택할 수 있다. 이후 rkA→B (1)=ht·H6(e(g1,hB)t)·CertA, rkA→B (2)=ht·H6(e(pkB,hB')t)·hA'xA, rkA→B (3)=gt을 생성하고 단방향 재암호화키로 rkA→B=(rkA→B (1),rkA→B (2),rkA→B (3))을 설정하고 출력할 수 있다.
재암호화키는 복호화 권한 수임자(사용자 B)와 프록시의 공모를 통하여 권한 위임자 (사용자 A)의 개인키 정보를 유출하는 공모 공격에 안전성을 보장하기 위하여 ElGamal 암호 기술이 적용된 단방향 재암호화키로 생성되며, 재암호화키를 생성하기 위하여 권한 위임자와 프록시간의 비밀정보의 전송이 필요하지 않는 것을 특징으로 한다.
⑥ 재암호화 단계(S250)
재암호화 단계(S250)에서는 프록시가 권한 위임자 A에 대한 암호문 C를 다음과 같은 단계를 수행한 후 권한 수임자 B에 대한 재암호문 C'을 생성하여 출력할 수 있다. 공개파라미터 params, 재암호화키 rkA→B와 권한 위임자 A에 대한 암호문 C=(C1,C2,C3,C4)를 입력 값으로, 먼저 u=H5(C1∥C2∥C3)을 계산한 후 아래와 같은 검증식 1과 2를 통하여 입력된 암호문의 유효성을 검증할 수 있다.
[검증식 1]
Figure 112014014302100-pat00002
[검증식 2]
Figure 112014014302100-pat00003
검증식 1과 2가 성립하면 C1'=rkA→B (3)을 설정하고 C2'=e(C1,rkA→B (1))/e(C2,rkA→B (3))와 C2''=e(C1,rkA→B (2))/e(C2,rkA→B (3))을 계산할 수 있다. 이후 재암호문으로 C'=(C1,C1',C2',C2'',C3)을 설정하고 출력할 수 있다. 검증식 1과 2를 통하여 공격자에 의한 임의의 암호문 변경을 통한 악의적인 공격을 예방할 수 있다.
⑦ 복호화 단계(S260, S265)
복호화 단계는 재암호화되지 않은 암호문 C에 대한 암호문 복호화 단계(S265)와 재암호문 C'에 대한 재암호문 복호화 단계(S260)로 구성될 수 있다. 재암호화되지 않은 암호문 C를 복호화하기 위해서 사용자 A는 다음과 같은 단계를 수행한 후 상기 메시지 m을 출력할 수 있다.
먼저 hA'=H2A∥pkA)와 w=e(C1,CertA)∥e(C1,hA')xA를 계산한 후, (m∥σ)=C3
Figure 112014014302100-pat00004
H4(w)를 계산할 수 있다. 이후 아래와 같은 검증식 3과 4를 통하여 암호문의 유효성을 검증할 수 있다.
[검증식 3]
Figure 112014014302100-pat00005
[검증식 4]
Figure 112014014302100-pat00006
검증식 3과 4에서 r은 r=H3(m∥σ)의 수행 결과이다. 검증식 3과 4가 성립하면 메시지 m을 출력할 수 있다. 검증식 3과 4를 통하여 본 발명은 공격자에 의한 임의의 암호문 변경을 통한 악의적인 공격을 예방할 수 있다. 암호문 복호화 단계의 올바름의 증명은 다음과 같은 검증식 5에 의하여 증명되어질 수 있다.
[검증식 5]
Figure 112014014302100-pat00007
재암호문 C'를 복호화하기 위해서 권한 수임자 B는 다음과 같은 단계를 수행한 후 메시지 m을 출력할 수 있다. 먼저 hB'=H2B∥pkB)를 계산하고 w1=C2'/e(C1,H6(e(C1',CertB)))와 w2=C2''/e(C1,H6(e(C1',hB')xB))를 계산한 후, (m∥σ)=C3
Figure 112014014302100-pat00008
H4(w1∥w2)을 계산할 수 있다. 이후 아래와 같은 검증식 6을 통하여 재암호문의 유효성을 검증할 수 있다.
[검증식 6]
Figure 112014014302100-pat00009
검증식 6에서 r은 r=H3(m∥σ)의 수행결과이다. 검증식 6이 성립하면 상기 메시지 m을 출력할 수 있다. 검증식 6을 통하여 본 발명은 공격자에 의한 임의의 암호문 변경을 통한 악의적인 공격을 예방할 수 있다. 재암호문 복호화 단계(S260)의 올바름의 증명은 다음과 같은 검증식 7과 8에 의하여 검증될 수 있다.
[검증식 7]
Figure 112014014302100-pat00010
[검증식 8]
Figure 112014014302100-pat00011

도 3은 본 발명의 일 실시예에 따른 인증서 기반 프록시 재암호화 시스템(10)과 그 세부 구성요소, 제1 사용자 암복호화 장치(300)와 그 세부 구성요소를 설명하기 위한 블록도이다. 도 3을 참조하여 제1 사용자 암복호화 장치(300)를 살펴보면 다음과 같다.
제1 사용자 암복호화 장치(300)는, 평문, 제1 사용자의 공개키 및 인증 센터(100)로부터 전달된 공개 파라미터를 입력값으로 하여 유효성 검증 파라미터를 내재한 형태로 암호문을 생성하는 암호화부(320)와, 공개 파라미터, 제1 사용자의 인증서, 제1 사용자의 공개키에 대응하는 개인키 및 제2 사용자의 공개키를 입력값으로 하여 재암호화키를 생성하는 재암호화키 생성부(330)와, 프록시(200)가 재암호문을 생성하도록 재암호화키를 프록시(200)에 전달하는 재암호화키 전달부(350)를 포함하여 구성될 수 있다.
재암호화키는 엘가말 암호 방식을 적용한 단방향 재암호화키일 수 있다. 제1 사용자 암복호화 장치(300)는 공개 파라미터, 제1 사용자의 인증서 및 제1 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 암호문을 복호화하여 평문을 출력하는 암호문 복호화부(340)를 더 포함하되, 암호문 복호화부(340)는 암호문이 제1 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 암호문을 복호화하여 평문을 출력할 수 있다.
제1 사용자 암복호화 장치(300)와 세부 구성요소에 대한 설명은 앞서 설명한 인증서 기반 프록시 재암호화 방법에 대한 설명에서 상술한 바 있으므로 중복하여 기재하지는 않는다. 다만, 제1 사용자 암복호화 장치(300)는 복호화 권한을 위임하고자 하는 사용자, 즉 복호화 권한 위임자의 암복호화 장치를 의미할 수 있다. 이 때, 제1, 제2 등의 용어는 권한 위임자와 권한 수임자의 암복호화 장치를 구분하기 위해 임의로 붙여진 것이다. 따라서 제1 사용자 암복호화 장치(300)와 제2 사용자 암복호화 장치(400)의 구성은 실제로는 동일할 수 있다.
도 3을 계속 참조하여 인증서 기반 프록시 재암호화 시스템(10)과 그 세부구성요소를 살펴보면 다음과 같다.
인증서 기반 프록시 재암호화 시스템(10)은, 시스템 마스터키를 이용하여 공개 파라미터를 생성하는 초기화부(110)를 구비하고 있는 인증 센터(100)와, 공개 파라미터, 제1 사용자의 인증서, 제1 사용자의 공개키에 대응하는 개인키 및 제2 사용자의 공개키를 입력값으로 하여 재암호화키를 생성하는 재암호화키 생성부(330)를 구비하고 있는 제1 사용자 암복호화 장치(300)와, 암호문에 기반하여 유효성 검증 파라미터를 산출하고, 암호문이 유효성 검증 파라미터에 관한 소정의 조건을 충족함에 따라, 공개 파라미터, 재암호화키 및 암호문을 입력값으로 하여 재암호문을 생성하는 재암호화부(210)를 구비하고 있는 프록시(200)를 포함하여 구성될 수 있다.
공개 파라미터는, 겹선형 페어링, 적어도 하나의 해시 함수, 시스템 마스터키를 이용하여 생성된 시스템 공개키를 포함하여 구성될 수 있다.
인증 센터(100)는 공개 파라미터, 시스템 마스터키, 사용자의 공개키를 입력값으로 하여 사용자의 인증서를 생성하고, 사용자에게 인증서를 배포하는 인증서 생성부(120)를 더 포함하여 구성될 수 있다.
암호문은 유효성 검증 파라미터를 내재한 형태로 생성될 수 있고, 재암호화키는 엘가말 암호 방식을 적용한 단방향 재암호화키일 수 있다.
소정의 조건은 암호문이 변경되었는지 여부에 관한 검증식으로 표현되고, 검증식은 공개 파라미터에 포함된 해시 함수 중 적어도 하나를 이용할 수 있다.
인증서 기반 프록시 재암호화 시스템(10)은, 공개 파라미터, 제2 사용자의 인증서 및 제2 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 재암호문을 복호화하여 평문을 출력하는 재암호문 복호화부(340)를 구비하고 있는 제2 사용자 암복호화 장치(400)를 더 포함하되, 재암호문 복호화부(340)는 재암호문이 제2 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 재암호문을 복호화하여 평문을 출력할 수 있다.
인증서 기반 프록시 재암호화 시스템(10)과 세부 구성요소에 대한 설명은 앞서 설명한 인증서 기반 프록시 재암호화 방법에 대한 설명에서 상술한 바 있으므로 중복하여 기재하지는 않는다. 다만, 인증서 기반 프록시 재암호화 시스템(10)과 그 구성요소들은 논리적으로 구분 가능한 요소일 뿐, 물리적인 위치가 반드시 서로 다름을 의미하지는 않는다. 즉, 예를 들면, 프록시(200)는 데이터 센터 내의 코어망에 위치하는 것이 일반적인 구성이지만, 사용자의 암복호화 장치를 포함하는 컴퓨팅 장치 내에 존재하는 것도 가능한 구성이다.
비록 몇몇의 측면들은 방법의 관점에서 설명되었지만, 이러한 측면들은 상응하는 장치의 설명을 나타내는 것이 명확하며, 여기서 방법의 단계는 장치에 대응한다. 특정 구현 요구들에 따르면, 발명의 실시예들은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 본 발명의 실시예들은 프로그램 코드, 방법들 중 하나의 수행을 위해 동작하는 프로그램 코드를 가지는 컴퓨터 프로그램 제품으로서 수행될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 인증서 기반 프록시 재암호화 시스템
100: 인증 센터 110: 초기화부
120: 인증서 생성부 200: 프록시
210: 재암호화부 300: 제1 사용자 암복호화 장치
310: 키 생성부 320: 암호화부
330: 재암호화키 생성부 340: 암호문 복호화부
350: 재암호화키 전달부 400: 제2 사용자 암복호화 장치
410: 키 생성부 420: 제암호문 복호화부

Claims (20)

  1. 인증서를 기반으로 암호화 및 복호화를 수행하는 장치들의 프록시(proxy) 재암호화(re-encryiption)에 있어서,
    인증 센터(authentication center)가 시스템 마스터키를 이용하여 공개 파라미터(public parameter)를 생성하는 초기화 단계;
    상기 공개 파라미터, 평문(plain text) 및 제1 사용자의 공개키(public key)를 입력값으로 하여 암호문(cipher text)을 생성하는 암호화 단계;
    상기 공개 파라미터, 상기 제1 사용자의 인증서, 상기 제1 사용자의 공개키에 대응하는 개인키(private key) 및 제2 사용자의 공개키를 입력값으로 하여 재암호화키(re-encryption key)를 생성하는 재암호화키 생성 단계;
    프록시는, 상기 암호문에 기반하여 유효성 검증 파라미터를 산출하고, 상기 암호문이 상기 유효성 검증 파라미터에 관한 소정의 조건을 충족함에 따라, 상기 공개 파라미터, 상기 재암호화키 및 상기 암호문을 입력값으로 하여 재암호문(re-ciphertext)을 생성하는 재암호화 단계를 포함하는 인증서 기반 프록시 재암호화 방법.
  2. 청구항 1에 있어서,
    상기 공개 파라미터는,
    겹선형 페어링(bilinear pairing), 적어도 하나의 해시 함수(hash function), 상기 시스템 마스터키(system master key)를 이용하여 생성된 시스템 공개키를 포함하여 구성되는 것을 특징으로 하는 인증서 기반 프록시 재암호화 방법.
  3. 청구항 1에 있어서,
    상기 초기화 단계와 상기 재암호화키 생성 단계 사이에,
    인증 센터가 상기 공개 파라미터, 상기 시스템 마스터키, 사용자의 공개키를 입력값으로 하여 상기 사용자의 인증서를 생성하고, 상기 사용자에게 상기 인증서를 배포하는 인증서 생성 단계를 더 포함하는 것을 특징으로 하는 인증서 기반 프록시 재암호화 방법.
  4. 청구항 1에 있어서,
    상기 암호문은,
    상기 유효성 검증 파라미터를 내재한 형태로 생성되는 것을 특징으로 하는 인증서 기반 프록시 재암호화 방법.
  5. 청구항 1에 있어서,
    상기 재암호화키는,
    엘가말 암호 방식(ElGamal Scheme)을 적용한 단방향(uni-directional) 재암호화키인 것을 특징으로 하는 인증서 기반 프록시 재암호화 방법.
  6. 청구항 1에 있어서,
    상기 소정의 조건은,
    상기 암호문이 변경되었는지 여부에 관한 검증식으로 표현되고,
    상기 검증식은 상기 공개 파라미터에 포함된 해시 함수 중 적어도 하나를 이용하는 것을 특징으로 하는 인증서 기반 프록시 재암호화 방법.
  7. 청구항 1에 있어서,
    상기 재암호화 단계 이후에,
    상기 공개 파라미터, 상기 제2 사용자의 인증서 및 상기 제2 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 상기 재암호문을 복호화하여 상기 평문을 출력하는 재암호문 복호화 단계를 더 포함하는 것을 특징으로 하는 인증서 기반 프록시 재암호화 방법.
  8. 청구항 7에 있어서,
    상기 재암호문 복호화 단계는,
    상기 재암호문이 상기 제2 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 상기 재암호문을 복호화하여 상기 평문을 출력하는 것을 특징으로 하는 인증서 기반 프록시 재암호화 방법.
  9. 청구항 1에 있어서,
    상기 암호화 단계 이후에,
    상기 공개 파라미터, 상기 제1 사용자의 인증서 및 상기 제1 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 상기 암호문을 복호화하여 상기 평문을 출력하는 암호문 복호화 단계를 더 포함하는 것을 특징으로 하는 인증서 기반 프록시 재암호화 방법.
  10. 청구항 9에 있어서,
    상기 암호문 복호화 단계는,
    상기 암호문이 상기 제1 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 상기 암호문을 복호화하여 상기 평문을 출력하는 것을 특징으로 하는 인증서 기반 프록시 재암호화 방법.
  11. 평문, 제1 사용자의 공개키 및 인증 센터로부터 전달된 공개 파라미터를 입력값으로 하여 유효성 검증 파라미터를 내재한 형태로 암호문을 생성하는 암호화부;
    상기 공개 파라미터, 상기 제1 사용자의 인증서, 상기 제1 사용자의 공개키에 대응하는 개인키 및 제2 사용자의 공개키를 입력값으로 하여 재암호화키를 생성하는 재암호화키 생성부;
    프록시가 재암호문을 생성하도록 상기 재암호화키를 상기 프록시에 전달하는 재암호화키 전달부를 포함하는 제1 사용자 암복호화 장치.
  12. 청구항 11에 있어서,
    상기 재암호화키는,
    엘가말 암호 방식을 적용한 단방향 재암호화키인 것을 특징으로 하는 제1 사용자 암복호화 장치.
  13. 청구항 11에 있어서,
    상기 공개 파라미터, 상기 제1 사용자의 인증서 및 상기 제1 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 상기 암호문을 복호화하여 상기 평문을 출력하는 암호문 복호화부를 더 포함하되,
    상기 암호문 복호화부는 상기 암호문이 상기 제1 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 상기 암호문을 복호화하여 상기 평문을 출력하는 것을 특징으로 하는 제1 사용자 암복호화 장치.
  14. 인증서 기반의 프록시 재암호화 시스템에 있어서,
    시스템 마스터키를 이용하여 공개 파라미터를 생성하는 초기화부를 구비하고 있는 인증 센터;
    상기 공개 파라미터, 제1 사용자의 인증서, 상기 제1 사용자의 공개키에 대응하는 개인키 및 제2 사용자의 공개키를 입력값으로 하여 재암호화키를 생성하는 재암호화키 생성부를 구비하고 있는 제1 사용자 암복호화 장치;
    암호문에 기반하여 유효성 검증 파라미터를 산출하고, 상기 암호문이 상기 유효성 검증 파라미터에 관한 소정의 조건을 충족함에 따라, 상기 공개 파라미터, 상기 재암호화키 및 상기 암호문을 입력값으로 하여 재암호문을 생성하는 재암호화부를 구비하고 있는 프록시를 포함하는 인증서 기반 프록시 재암호화 시스템.
  15. 청구항 14에 있어서,
    상기 공개 파라미터는,
    겹선형 페어링, 적어도 하나의 해시 함수, 상기 시스템 마스터키를 이용하여 생성된 시스템 공개키를 포함하여 구성되는 것을 특징으로 하는 인증서 기반 프록시 재암호화 시스템.
  16. 청구항 14에 있어서,
    상기 인증 센터는,
    상기 공개 파라미터, 상기 시스템 마스터키, 사용자의 공개키를 입력값으로 하여 상기 사용자의 인증서를 생성하고, 상기 사용자에게 상기 인증서를 배포하는 인증서 생성부를 더 포함하는 것을 특징으로 하는 인증서 기반 프록시 재암호화 시스템.
  17. 청구항 14에 있어서,
    상기 암호문은,
    상기 유효성 검증 파라미터를 내재한 형태로 생성되는 것을 특징으로 하는 인증서 기반 프록시 재암호화 시스템.
  18. 청구항 14에 있어서,
    상기 재암호화키는,
    엘가말 암호 방식을 적용한 단방향 재암호화키인 것을 특징으로 하는 인증서 기반 프록시 재암호화 시스템.
  19. 청구항 14에 있어서,
    상기 소정의 조건은,
    상기 암호문이 변경되었는지 여부에 관한 검증식으로 표현되고,
    상기 검증식은 상기 공개 파라미터에 포함된 해시 함수 중 적어도 하나를 이용하는 것을 특징으로 하는 인증서 기반 프록시 재암호화 시스템.
  20. 청구항 14에 있어서,
    상기 공개 파라미터, 상기 제2 사용자의 인증서 및 상기 제2 사용자의 공개키에 대응하는 개인키를 입력값으로 하여 상기 재암호문을 복호화하여 평문을 출력하는 재암호문 복호화부를 구비하고 있는 제2 사용자 암복호화 장치를 더 포함하되,
    상기 재암호문 복호화부는 상기 재암호문이 상기 제2 사용자의 공개키 및 인증서에 관한 검증식 조건을 충족하는 경우에만 상기 재암호문을 복호화하여 상기 평문을 출력하는 것을 특징으로 하는 인증서 기반 프록시 재암호화 시스템.
KR1020140016718A 2014-02-13 2014-02-13 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템 KR101516114B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140016718A KR101516114B1 (ko) 2014-02-13 2014-02-13 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140016718A KR101516114B1 (ko) 2014-02-13 2014-02-13 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템

Publications (1)

Publication Number Publication Date
KR101516114B1 true KR101516114B1 (ko) 2015-05-04

Family

ID=53393381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140016718A KR101516114B1 (ko) 2014-02-13 2014-02-13 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템

Country Status (1)

Country Link
KR (1) KR101516114B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101648364B1 (ko) * 2015-12-16 2016-08-16 주식회사 유니인포 대칭키 암호화와 비대칭키 이중 암호화를 복합적으로 적용한 암/복호화 속도개선 방법
KR101845610B1 (ko) 2016-06-21 2018-04-04 동국대학교 경주캠퍼스 산학협력단 이동체 정보 보안 시스템 및 이를 이용한 이동체 정보 보안 방법
KR20190057889A (ko) * 2017-11-21 2019-05-29 순천향대학교 산학협력단 IoT 경량단말 환경에서 프록시 재암호화 기반의 데이터 관리 방법 및 시스템
CN110505233A (zh) * 2019-08-29 2019-11-26 苏州同济区块链研究院有限公司 一种抗合谋/隐私保护代理重加密的方法
CN111314077A (zh) * 2020-04-16 2020-06-19 丝链(常州)控股有限公司 一种基于代理重加密的私有数据分发方法
CN112822018A (zh) * 2021-04-21 2021-05-18 北京电信易通信息技术股份有限公司 一种基于双线性对的移动设备安全认证方法及系统
CN113992330A (zh) * 2021-10-30 2022-01-28 贵州大学 一种基于代理重加密的区块链数据受控共享方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011055309A (ja) * 2009-09-03 2011-03-17 National Institute Of Information & Communication Technology 二機能付きidベース暗号化方法及び暗号システム
KR20120041904A (ko) * 2010-10-22 2012-05-03 동국대학교 경주캠퍼스 산학협력단 클라우드 환경에서 프록시 기반 의료 데이터 접근 권한 관리 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011055309A (ja) * 2009-09-03 2011-03-17 National Institute Of Information & Communication Technology 二機能付きidベース暗号化方法及び暗号システム
KR20120041904A (ko) * 2010-10-22 2012-05-03 동국대학교 경주캠퍼스 산학협력단 클라우드 환경에서 프록시 기반 의료 데이터 접근 권한 관리 방법 및 장치

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101648364B1 (ko) * 2015-12-16 2016-08-16 주식회사 유니인포 대칭키 암호화와 비대칭키 이중 암호화를 복합적으로 적용한 암/복호화 속도개선 방법
KR101845610B1 (ko) 2016-06-21 2018-04-04 동국대학교 경주캠퍼스 산학협력단 이동체 정보 보안 시스템 및 이를 이용한 이동체 정보 보안 방법
KR20190057889A (ko) * 2017-11-21 2019-05-29 순천향대학교 산학협력단 IoT 경량단말 환경에서 프록시 재암호화 기반의 데이터 관리 방법 및 시스템
KR102025989B1 (ko) * 2017-11-21 2019-09-26 순천향대학교 산학협력단 IoT 경량단말 환경에서 프록시 재암호화 기반의 데이터 관리 방법 및 시스템
CN110505233A (zh) * 2019-08-29 2019-11-26 苏州同济区块链研究院有限公司 一种抗合谋/隐私保护代理重加密的方法
CN111314077A (zh) * 2020-04-16 2020-06-19 丝链(常州)控股有限公司 一种基于代理重加密的私有数据分发方法
CN111314077B (zh) * 2020-04-16 2022-06-07 丝链(常州)控股有限公司 一种基于代理重加密的私有数据分发方法
CN112822018A (zh) * 2021-04-21 2021-05-18 北京电信易通信息技术股份有限公司 一种基于双线性对的移动设备安全认证方法及系统
CN113992330A (zh) * 2021-10-30 2022-01-28 贵州大学 一种基于代理重加密的区块链数据受控共享方法及系统

Similar Documents

Publication Publication Date Title
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
EP3642997A1 (en) Secure communications providing forward secrecy
US20060083370A1 (en) RSA with personalized secret
US11870891B2 (en) Certificateless public key encryption using pairings
US9813386B2 (en) Cooperation service providing system and server apparatus
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
JP6041864B2 (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
Peng et al. Efficient distributed decryption scheme for IoT gateway-based applications
KR20040009766A (ko) 암호 시스템에서 송수신 장치 및 방법
Khullar et al. An efficient identity based multi-receiver signcryption scheme using ECC
US20220038267A1 (en) Methods and devices for secured identity-based encryption systems with two trusted centers
Azaim et al. Design and implementation of encrypted SMS on Android smartphone combining ECDSA-ECDH and AES
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators
Elkamchouchi et al. An efficient proxy signcryption scheme based on the discrete logarithm problem
Chavan et al. Data transmission using RSA algorithm
Gobi et al. A comparative study on the performance and the security of RSA and ECC algorithm
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
Yin et al. PKI-based cryptography for secure cloud data storage using ECC
Mishra et al. A certificateless authenticated key agreement protocol for digital rights management system
JP2010113181A (ja) 鍵管理方法、鍵生成方法、暗号処理方法、復号処理方法、アクセス管理方法、通信ネットワークシステム
Surya et al. Single sign on mechanism using attribute based encryption in distributed computer networks
Das et al. Cryptanalysis of Signcryption Protocols Based On Elliptic Curve
Kumar et al. A survey on various asymmetric algorithms

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190329

Year of fee payment: 5