KR101593165B1 - 데이터 접근 제어 방법 - Google Patents

데이터 접근 제어 방법 Download PDF

Info

Publication number
KR101593165B1
KR101593165B1 KR1020140107887A KR20140107887A KR101593165B1 KR 101593165 B1 KR101593165 B1 KR 101593165B1 KR 1020140107887 A KR1020140107887 A KR 1020140107887A KR 20140107887 A KR20140107887 A KR 20140107887A KR 101593165 B1 KR101593165 B1 KR 101593165B1
Authority
KR
South Korea
Prior art keywords
data
key
data encryption
encryption key
abe
Prior art date
Application number
KR1020140107887A
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 KR1020140107887A priority Critical patent/KR101593165B1/ko
Priority to US14/743,162 priority patent/US9646168B2/en
Application granted granted Critical
Publication of KR101593165B1 publication Critical patent/KR101593165B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

클라우드 컴퓨팅에서의 신뢰 개체인 매니저를 활용하여 CP-ABE 기반의 안전하고 확장성있는 데이터 접근 제어 방법을 제시한다. 제시된 방법은 데이터 소유자부가 데이터 암호화용 키 생성을 상기 매니저부에게 요청하고, 매니저부는 데이터 암호화용 키를 생성한다. 매니저부는 데이터 암호화용 키에 대한 CP-ABE 암호화를 수행한 결과 및 CP-ABE 암호화를 수행한 결과를 복호화하기 위한 비밀키를 생성하여 데이터 소유자부에게 응답한다. 데이터 소유자부는 CP-ABE 암호화를 수행한 결과를 비밀키로 CP-ABE 복호화하여 데이터 암호화용 키를 획득하고, 획득한 데이터 암호화용 키를 이용하여 데이터를 암호화한다. 데이터 소유자부는 암호화된 데이터와 데이터 암호화용 키 정보를 클라우드에 업로드한다.

Description

데이터 접근 제어 방법{Data access control method}
본 발명은 데이터 접근 제어 방법에 관한 것으로, 보다 상세하게는 클라우드 컴퓨팅에서 CP-ABE(Ciphertext Policy-Attribute Based Encryption)을 활용한 데이터 접근 제어 방법에 관한 것이다.
클라우드 컴퓨팅 시스템(이하, "클라우드"라고 함)은 중앙 집중된 데이터 센터로 구성된 분산 컴퓨팅의 새로운 혁신적인 모델이다.
클라우드는 높은 확장성과 안정성을 제공한다. 즉, 자원 제약이 있는 클라이언트 기기들은 필요한 데이터 저장 공간과 해당 데이터에 대한 연산 기능을 클라우드에 위임(오프로딩)한다. 이를 통해 클라우드에 저장된 데이터 자체 또는 해당 데이터의 연산 결과는 다른 사용자들에게 공유될 수 있다. 이에 의해 사용자들은 적은 비용으로 대용량 및 고효율의 컴퓨팅 기능을 사용할 수 있게 된다.
하지만, 사용자들의 데이터가 클라우드에 저장되고 처리되며 공유될 수 있기 때문에, 이에 대한 보안 및 프라이버시 보호 대책이 마련되어야 한다. 즉, 클라우드는 사용자의 관여 없이도 저장된 사용자 데이터를 접근할 수 있으므로, 이에 대한 프라이버시 보호 대책이 마련되어야 한다.
이와 같은 프라이버시 보호를 위해, 데이터 소유자는 클라우드에 업로드하고자 하는 데이터를 암호화하여 저장할 수 있다. 그리고, 암호화를 통해 저장된 데이터에 대한 접근 제어를 위해, 최근에는 ABE (Attribute-Based Encryption)를 확장한 KP(Key Policy)-ABE와 CP(Ciphertext-Policy)-ABE가 폭넓게 활용되고 있다.
ABE는 인증서 없이 개체의 식별정보(Identity)를 해당 개체의 공개키로 활용하는 IBE가 확장된 공개키 암호 알고리즘이다. ABE에 따르면, 특정 속성(Attribute) 집합을 공개키로 이용하여 암호화된 데이터는 해당 속성 집합과의 교집합이 특정 임계치를 초과하는 속성 집합을 가진 개체에 의해 복호화될 수 있다. ABE는 바이리니어 그룹(bilinear group) 및 바이리니어 맵(bilinear map)을 기반으로 동작한다.
2000년대에 접어들면서, ABE의 확장 버전인 KP-ABE (2006)와 CP-ABE (2007)가 제안되었으며, 이를 활용한 클라우드의 데이터 접근 제어 방법이 다양하게 제안되고 있다.
KP-ABE와 CP-ABE에서 공통적으로 언급되는 데이터 접근 정책은 속성(Attribute)을 나타내는 리프(leaf) 노드들 및 AND 또는 OR 게이트를 나타내는 중간 노드들로 구성된 접근 트리(Access Tree)에 의해 표현된다. KP-ABE는 특정 데이터의 암호화 결과가 특정 속성 집합으로 표현되고, 접근 트리(Access Tree)가 해당 암호화 데이터를 복호화하기 위한 키에 적용된다. 이와 반대로, CP-ABE는 특정 데이터를 암호화할 때 접근 트리(Access Tree)가 사용되고, 해당 암호화 데이터를 복호화하기 위한 키를 표현하기 위해 속성 집합이 사용된다.
즉, KP-ABE는 암호화된 하나의 데이터가 여러 가지 시나리오와 사용자에 의해 복호화될 수 있다. 반대로, CP-ABE는 한 사용자가 자신이 가진 속성에 따라 여러 개의 데이터들을 복호화할 수 있는 특징이 있다.
관련 선행기술로서, 2010년 IEEE INFOCOM에 개재된 “Achieving Secure, Scalable, and Fine-grained Data Access Control in Cloud Computing”(이하, 선행기술 1이라 함)에서는 데이터 소유자가 데이터 암호화용 키(DEK, Data Encryption Key)로 데이터 파일을 암호화한다. 그리고, 선행기술 1은 암호화된 데이터 파일의 헤더에 DEK에 대한 KP-ABE 암호화 결과와 데이터 파일 ID를 덧붙여 클라우드에 저장한다. 그리고, 선행기술 1은 사용자가 해당 암호화 파일을 접근하고자 할 때마다 데이터 소유자는 해당 사용자가 KP-ABE로 암호화된 DEK를 복호화하기 위한 비밀키를 생성하여 전달한다. 그리고, 선행기술 1에서는 사용자는 전달받은 비밀키로 DEK를 KP-ABE 복호화하여 획득한 후 데이터 파일을 복호화한다. 그리고, 선행기술 1은 사용자 폐기(revocation) 시 해당 사용자가 접근했던 DEK의 KP-ABE 암호화 결과를 갱신하는 과정을 프록시 재암호화(Proxy Re-Encryption) 방식을 통해 클라우드에 위임함으로써 데이터 소유자의 연산 오버헤드를 감소시켰다.
하지만, 사용자 폐기 시 DEK 자체를 갱신하는 것이 아니기 때문에 동일한 DEK로 암호화되어 오랫동안 저장된 데이터 파일들은 보안에 취약할 수 있다. 그리고, 폐기된 사용자가 클라우드와 공모할 경우 KP-ABE로 암호화되어 있는 DEK를 복구할 수 있는 취약점이 존재한다. 또한, 새로운 사용자가 추가될 때마다 데이터 소유자는 해당 사용자를 위한 비밀키를 생성하여 전송해야 하므로 오버헤드가 크다.
다른 관련 선행기술로서, 2013년 IEEE Transaction on Cloud Computing에 개재된 “Hybrid Attribute- and Re-Encryption-Based Key Management for Secure and Scalable Mobile Applications in Clouds”(이하, 선행기술 2라고 함)는 CP-ABE를 적용하였다. 선행기술 2는 데이터 소유자가 수행해야 했던 사용자를 위한 비밀키 생성 과정을 데이터 소유자와 신뢰 개체인 매니저와 함께 수행하고, CP-ABE 연산에서 큰 오버헤드를 초래하는 페어링 연산을 매니저와 클라우드가 수행함으로써 모바일 클라우드 컴퓨팅(MCC) 환경에 적합하다. 그리고, 선행기술 2는 그룹키를 통해 특정 속성의 소유뿐만 아니라 특정 그룹의 소속 여부를 통해서도 데이터 접근 여부를 결정할 수 있다. 이를 토대로, 선행기술 2는 특정 그룹에 속한 사용자가 폐기되었을 때 해당 그룹키를 갱신하고 그룹키를 통해 암호화되었던 데이터를 프록시 재암호화(Proxy Re-Encryption)를 통해 클라우드가 갱신된 그룹키로 암호화하도록 하였다.
하지만, 선행기술 2에서도 데이터 암호화용 키 자체의 갱신은 다루고 있지 않으며, 사용자 폐기에 따른 CP-ABE 암호화 결과 갱신 대상이 특정 그룹의 소속 여부로만 국한되는 한계를 가지고 있다.
또 다른 관련 선행기술로서, 대한민국 등록특허 제 1220160호(모바일 클라우드 환경에서의 안전한 프록시 재암호화 기반의 데이터 관리 방법)(이하, 선행기술 3이라 함)에서는 상술한 선행기술 1과 동일한 구조로 클라우드 환경에서의 데이터 접근 제어를 수행한다. 이때, 선행기술 3은 데이터 소유자가 KP-ABE를 이용하여 데이터 암호화용 키(DEK)를 암호화한 결과를 포함하는 파일 헤더를 권한 관리자에게 전송한다. 그리고, 해당 DEK로 암호화한 데이터 파일 바디는 클라우드에 전송하여 암호화된 데이터 파일의 헤더와 바디를 분리하여 관리한다. 또한, 선행기술 3은 사용자 접근의 정당성을 판별하기 위해 비밀분산과 타입 기반 프록시 재암호화를 활용한다. 이를 통해 선행기술 3은 상술한 선행기술 1에서의 공모 공격에 대한 취약점을 개선하였다. 그러나, 선행기술 3은 데이터 소유자의 KP-ABE 비밀키 생성에 대한 오버헤드 이슈와 DEK 자체에 대한 갱신 이슈는 해결하지 못하였다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 클라우드 컴퓨팅에서의 신뢰 개체인 매니저를 활용하여 CP-ABE 기반의 안전하고 확장성있는 데이터 접근 제어 방법을 제공함에 그 목적이 있다.
다시 말해서, 본 발명은 데이터 소유자를 대신하여 매니저가 데이터 암호화용 키(DEK, Data Encryption Key)를 생성하고 CP-ABE 기반 암호화 및 이를 복호화하기 위한 비밀키(SK, Secret Key)를 생성하고자 한다.
그리고, 본 발명은 데이터 소유자가 매니저로부터 획득한 DEK를 이용하여 데이터를 암호화하고 암호화된 데이터를 클라우드에 공유하고자 한다.
그리고, 본 발명은 데이터 소유자가 DEK 접근 정책 변경 시 정책 갱신을 매니저에게 요청하고, 매니저는 이에 따라 DEK를 새로운 접근 정책으로 CP-ABE 암호화를 수행하여 정책 갱신을 수행하고자 한다.
그리고, 본 발명은 사용자가 클라우드의 암호화된 데이터를 접근하고, 매니저에게 해당 데이터 접근을 위한 CP-ABE로 암호화된 DEK를 요청하며 이를 복호화 하기 위한 SK를 요청하고 획득하고자 한다.
그리고, 본 발명은 사용자가 매니저를 통해 획득한 CP-ABE로 암호화된 DEK와 SK를 이용하여 DEK를 복호화한 후 접근하고자 하는 데이터를 복호화하여 접근하고자 한다.
그리고, 본 발명은 사용자 폐기, 보안 정책 등으로 인해 DEK 갱신이 필요한 경우 매니저가 해당 DEK를 새로운 키로 갱신하고 CP-ABE 암호화 및 키 버전 갱신을 수행한 후 클라우드에 접근하여 이전 DEK로 암호화되었던 데이터들을 새로운 DEK로 재암호화하고자 한다.
그리고, 본 발명은 매니저가 갱신된 DEK에 영향을 받는 데이터 소유자에게 갱신된 DEK 리스트를 알려 주고자 한다.
그리고, 본 발명은 매니저가 새로운 DEK로 암호화한 데이터에 키 버전 정보를 갱신함으로써 사용자가 해당 정보를 이용하여 DEK 갱신 여부를 확인하고자 한다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 데이터 접근 제어 방법은, 클라우드 컴퓨팅에서 데이터 소유자부, 매니저부 및 클라우드가 연동하여 데이터 접근 제어를 수행하는 방법으로서,
상기 데이터 소유자부가, 데이터 암호화용 키 생성을 상기 매니저부에게 요청하는 단계; 상기 매니저부가, 상기 데이터 암호화용 키를 생성하는 단계; 상기 매니저부가, 상기 데이터 암호화용 키에 대한 CP-ABE 암호화를 수행한 결과 및 상기 CP-ABE 암호화를 수행한 결과를 복호화하기 위한 비밀키를 생성하여 상기 데이터 소유자부에게 응답하는 단계; 상기 데이터 소유자부가, 상기 CP-ABE 암호화를 수행한 결과를 상기 비밀키로 CP-ABE 복호화하여 상기 데이터 암호화용 키를 획득하는 단계; 상기 데이터 소유자부가, 상기 획득한 데이터 암호화용 키를 이용하여 데이터를 암호화하는 단계; 및 상기 데이터 소유자부가, 상기 암호화된 데이터와 데이터 암호화용 키 정보를 상기 클라우드에 업로드하는 단계;를 포함한다.
상기 데이터 암호화용 키 생성을 상기 매니저부에게 요청하는 단계는, 상기 데이터 암호화용 키에 적용할 접근 정책 정보, 및 상기 데이터 소유자부의 속성 집합 및 식별자를 상기 매니저부에게로 전송하여 상기 데이터 암호화용 키의 생성을 요청할 수 있다.
상기 데이터 소유자부에게 응답하는 단계는, 상기 접근 정책 정보에 대한 접근 트리를 이용하여 상기 CP-ABE 암호화를 수행한 결과, 상기 비밀키, 및 상기 데이터 암호화용 키에 대한 식별자를 생성하는 단계; 및 상기 데이터 암호화용 키에 대한 식별자, 상기 CP-ABE 암호화를 수행한 결과, 및 상기 비밀키를 상기 데이터 소유자부에게 제공하는 단계;를 포함할 수 있다.
상기 데이터 소유자부에게 응답하는 단계는, 상기 매니저부가, 상기 데이터 소유자부의 식별자, 상기 CP-ABE 암호화를 수행한 결과, 및 상기 데이터 암호화용 키에 대한 식별자를 키 저장부에 저장하는 단계;를 추가로 포함할 수 있다.
상기 데이터 암호화용 키 생성을 상기 매니저부에게 요청하는 단계는, 기 생성된 데이터 암호화용 키에 대한 접근 정책을 변경하고자 할 경우 변경하고자 하는 데이터 암호화용 키의 식별자를 추가로 포함시켜 상기 매니저부에게로 전송할 수 있다.
상기 매니저부는 상기 변경하고자 하는 데이터 암호화용 키의 식별자를 수신함에 따라 상기 접근 정책 정보 변경을 이용하여 신규의 접근 트리를 생성하고, 상기 신규의 접근 트리를 이용하여 CP-ABE 암호화를 재수행할 수 있다.
상기 매니저부는 상기 데이터 소유자부의 식별자, 상기 CP-ABE 암호화를 재수행한 결과, 및 상기 데이터 암호화용 키에 대한 식별자를 키 저장부에 저장할 수 있다.
상기 데이터 암호화용 키 정보는 상기 데이터 암호화용 키의 식별자, 및 상기 CP-ABE 암호화를 수행한 결과에 포함된 해당 데이터 암호화용 키의 버전 정보를 포함할 수 있다.
상기 데이터 암호화용 키 생성을 상기 매니저부에게 요청하는 단계 이전에, 상기 매니저부가 CP-ABE의 셋업 알고리즘을 수행하여 공개키 및 마스터키를 생성하는 단계;를 추가로 포함할 수 있다.
상기 매니저부가, 상기 데이터 암호화용 키의 갱신을 수행하는 단계;를 추가로 포함할 수 있다.
상기 데이터 암호화용 키의 갱신을 수행하는 단계는, 키 갱신 이벤트를 탐지하는 단계; 키 저장부에서 키 갱신 대상의 데이터 암호화용 키 식별자 리스트를 획득하는 단계; 상기 데이터 암호화용 키 식별자 리스트를 근거로 새로운 데이터 암호화용 키를 생성하는 단계; 상기 클라우드에 접근하여 상기 데이터 암호화용 키 식별자 리스트의 데이터 암호화용 키로 암호화된 데이터를 획득하는 단계; 상기 암호화된 데이터를 상기 새로운 데이터 암호화용 키 이전의 데이터 암호화 키를 이용하여 CP-ABE 복호화를 수행하고, 복호화된 데이터를 상기 새로운 데이터 암호화용 키로 암호화하는 단계; 상기 암호화된 데이터를 상기 클라우드에 업로드하는 단계;를 포함할 수 있다.
상기 키 갱신 이벤트는 보안 정책 또는 사용자 폐기일 수 있다.
상기 키 갱신 이벤트가 사용자 폐기이면, 상기 키 갱신 대상의 데이터 암호화용 키 식별자 리스트를 획득하는 단계는, 해당 사용자를 블랙 리스트에 등록시킨 후 상기 키 저장부에서 해당 사용자가 사용한 데이터 암호화용 키 식별자 리스트를 획득할 수 있다.
상기 새로운 데이터 암호화용 키를 생성하는 단계와 상기 데이터 암호화용 키 식별자 리스트의 데이터 암호화용 키로 암호화된 데이터를 획득하는 단계 사이에, 상기 새로운 데이터 암호화용 키에 대해서 CP-ABE 암호화를 수행하여 새로운 CP-ABE 암호화 수행 결과를 획득하는 단계; 및 상기 새로운 CP-ABE 암호화 수행 결과에 포함되는 데이터 암호화용 키 버전 정보를 갱신하는 단계;를 추가로 포함할 수 있다.
상기 암호화된 데이터를 상기 클라우드에 업로드하는 단계는, 상기 갱신된 데이터 암호화용 키 버전 정보를 함께 업로드할 수 있다.
상기 데이터 암호화용 키의 갱신을 수행하는 단계는, 상기 키의 갱신에 영향을 받는 상기 데이터 소유자부에게 갱신된 데이터 암호화용 키 식별자 리스트를 알려주는 단계;를 추가로 포함할 수 있다.
본 발명의 다른 바람직한 실시양태에 따른 데이터 접근 제어 방법은, 클라우드 컴퓨팅에서 매니저부, 사용자부 및 클라우드가 연동하여 데이터 접근 제어를 수행하는 방법으로서,
상기 사용자부가, 상기 클라우드에 접속하여 접근하고자 하는 암호화된 데이터와 데이터 암호화용 키 정보를 획득하는 단계; 상기 사용자부가, 자신의 식별자 및 속성 집합, 상기 데이터 암호화용 키 정보에 포함된 데이터 암호화용 키 식별자를 상기 매니저부에게 전달하여 상기 데이터 암호화용 키 식별자에 대한 CP-ABE 암호화를 수행한 결과 및 상기 CP-ABE 암호화를 수행한 결과를 복호화하기 위한 비밀키를 요청하는 단계; 상기 매니저부가, 상기 사용자부의 속성 집합의 접근 트리 만족 여부 및 상기 사용자부의 식별자의 블랙리스트 미포함 여부를 확인하는 단계; 상기 매니저부가, 상기 비밀키 및 상기 CP-ABE 암호화를 수행한 결과를 상기 사용자부에게 응답하는 단계; 상기 사용자부가, CP-ABE 복호화를 통해 데이터 암호화용 키를 획득하는 단계; 및 상기 사용자부가, 상기 데이터 암호화용 키를 이용하여 상기 암호화된 데이터를 복호화하는 단계;를 포함한다.
상기 데이터 암호화용 키 정보는 상기 데이터 암호화용 키의 식별자, 및 상기 CP-ABE 암호화를 수행한 결과에 포함된 해당 데이터 암호화용 키의 버전 정보를 포함할 수 있다.
상기 비밀키 및 상기 CP-ABE 암호화를 수행한 결과를 상기 사용자부에게 응답하는 단계는, 상기 매니저부가, 상기 사용자부의 식별자 및 상기 데이터 암호화용 키 식별자를 키 저장부에 저장하는 단계;를 추가로 포함할 수 있다.
상기 데이터 암호화용 키를 이용하여 상기 암호화된 데이터를 복호화하는 단계는, 상기 사용자부가, 자신이 사용한 데이터 암호화용 키 식별자와 해당 데이터 암호화용 키의 버전 정보를 데이터베이스에 저장하는 단계;를 추가로 포함할 수 있다.
이러한 구성의 본 발명에 따르면, 기존 클라우드 컴퓨팅에서의 KP-ABE 또는 CP-ABE 기반 데이터 접근 제어의 한계였던 데이터 소유자의 과중한 연산 부하, 사용자 폐기시 데이터 암호화용 키(DEK)의 불변 및 공모 공격으로 인한 보안 취약성을 개선하게 된다.
즉, 신뢰 개체인 매니저에게 데이터 소유자가 정의한 접근 정책 정보를 전달하여 DEK 생성 및 CP-ABE 암호화를 수행하여 관리하도록 함으로써 데이터 접근 제어에 대한 주도권은 데이터 소유자가 확보하면서 과중한 연산은 매니저에게 위임할 수 있도록 하였다.
또한, 사용자 폐기, DEK 사용 기간 만료 등의 이벤트 발생시 매니저가 DEK 자체를 갱신하고 해당 DEK들에 영향을 받는 클라우드 상의 암호화된 데이터를 직접 재암호화함으로써, 기존 기술 대비 클라우드에 저장된 데이터의 높은 보안성과 프라이버시 보호를 제공한다.
도 1은 본 발명의 실시예에 따른 데이터 접근 제어 방법이 적용되는 시스템의 전체 흐름을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 데이터 소유자의 키 생성 요청, 매니저의 키 생성 및 응답, 데이터 소유자의 데이터 공유 및 사용자의 데이터 접근 과정의 흐름을 도시한 도면이다.
도 3은 도 2에서 CP-ABE의 셋업 알고리즘을 수행하는 과정에서부터 암호화된 데이터 및 데이터 암호화용 키 정보를 클라우드에 업로드하는 과정까지를 설명하기 위한 플로우차트이다.
도 4는 도 2에서 접근하고자 하는 데이터 조합을 요청하는 과정에서부터 암호화된 데이터를 복호화하는 과정까지를 설명하기 위한 플로우차트이다.
도 5는 본 발명의 실시예에 따른 키 갱신의 흐름을 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예에 따른 데이터 접근 제어 방법이 적용되는 시스템(클라우드 컴퓨팅 시스템)의 전체 흐름을 도시한 도면이다.
도 1의 시스템은 매니저부(Manager unit)(10), 키 저장부(Key Storage unit)(12), 클라우드(Cloud)(20), 데이터 저장부(Data Storage unit)(22), 데이터 소유자부(Data Owner unit)(30), 사용자부(User unit)(40), 및 데이터베이스(DB)(42)를 포함한다.
매니저부(10)는 신뢰할 수 있는 개체이다. 매니저부(10)는 하이브리드 클라우드 환경의 사설 클라우드(Private Cloud)와 같이 단일 기관 또는 조직의 제한된 사용자만이 접근 가능한 개체가 될 수 있다.
키 저장부(12)는 매니저부(10)가 암호화한 DEK(Data Encryption Key; 데이터 암호화용 키)와 DEK 정보(즉, 식별자, 버전 정보)의 집합과 DEK 접근 요청한 사용자의 식별자 및 응답된 DEK 식별자의 집합을 저장하고 관리한다. 키 저장부(12)는 데이터베이스라고 할 수 있다.
클라우드(20)는 안정적이며 확장성이 높은 저장 공간 역할을 수행한다. 클라우드(20)는 하이브리드 클라우드 환경의 공개 클라우드(Public Cloud)라고 할 수 있다.
데이터 저장부(22)는 클라우드(20)와 연계하여 암호화된 데이터 및 DEK 정보(즉, 식별자, 버전 정보)를 저장한다.
데이터 소유자부(30)는 클라우드(20)를 통해 데이터를 공유하고자 하는 개체이다. 데이터 소유자부(30)는 PC 등과 같은 단말을 포함할 수 있다. 데이터 소유자부(30)는 매니저부(10)에게 데이터 암호화용 키 생성을 요청하고 매니저부(10)로부터 획득한 데이터 암호화용 키(DEK)를 이용하여 암호화시킨 데이터를 클라우드(20)에 공유한다.
사용자부(40)는 클라우드(20)에 접속하여 DEK로 암호화된 데이터를 획득하여 사용하고자 하는 개체이다. 사용자부(40)는 PC 등과 같은 단말을 포함할 수 있다. 사용자부(40)는 DEK 갱신 여부를 확인하기 위해 자신이 사용한 DEK와 해당 DEK 버전 정보를 저장하는 데이터베이스(42)를 보유하고 있다.
도 2는 본 발명의 실시예에 따른 데이터 소유자의 키 생성 요청, 매니저의 키 생성 및 응답, 데이터 소유자의 데이터 공유 및 사용자의 데이터 접근 과정의 흐름을 도시한 도면이다. 도 3은 도 2에서 CP-ABE의 셋업 알고리즘을 수행하는 과정에서부터 암호화된 데이터 및 데이터 암호화용 키 정보를 클라우드에 업로드하는 과정까지를 설명하기 위한 플로우차트이다. 도 4는 도 2에서 접근하고자 하는 데이터 조합을 요청하는 과정에서부터 암호화된 데이터를 복호화하는 과정까지를 설명하기 위한 플로우차트이다.
각 과정(단계)상에서 개체들 간에 송수신 되는 정보들에 대한 기밀성, 무결성, 인증성 등을 제공하는 방법은 본 발명의 범위 밖이므로 세부적으로 다루지 않는다.
먼저, 매니저부(10)는 CP-ABE의 셋업(SETUP) 알고리즘을 수행한다(S10). 여기서, 셋업(SETUP) 알고리즘은 소수 위수(order) p와 생성자(generator) g의 바이리니어 그룹(Bilinear group)
Figure 112014078457246-pat00001
를 선택하고, 2개의 난수 α,β ∈
Figure 112014078457246-pat00002
를 선택한다. 그리고, 공개키
Figure 112014078457246-pat00003
를 공개하며, 마스터 키 MK=(β,gα)를 생성한다. 여기서, h, f는 수식을 간단히 표현하기 위한 표시이고,
Figure 112014078457246-pat00004
는 0부터 p-1까지의 정수 집합이다. 또한, 난수 α,β는 특정 값 g의 지수에 사용되기에 각각 랜덤 지수(random exponent)라고 불리우기도 한다.
이어, 데이터 소유자부(30)는 클라우드(20)에서 공유할 데이터의 암/복호화시 사용하기 위한 DEK에 적용할 접근 정책 정보인 Px, 자신의 속성 집합(IO) 및 자신의 식별자(IDO)를 매니저부(10)에게 전송하여 키 생성(즉, 데이터 암호화용 키 생성) 요청을 수행한다(S12). 이때, 데이터 소유자부(30)는 기 생성된 DEK에 대한 접근 정책을 변경하고자 할 경우 변경하고자 하는 DEK의 식별자인 KeyIDx를 포함시킬 수 있다.
매니저부(10)는 데이터 소유자부(30)로부터의 키 생성 요청에 대해서 DEK(DEKx)를 생성한다(S14).
이후, 매니저부(10)는 생성된 DEK(데이터 암호화용 키)에 대해서 접근 정책 정보(Px)를 이용하여 접근 트리(Tx)를 생성한다. 그리고, 매니저부(10)는 생성된 접근 트리(Tx)를 이용하여 CP-ABE 기반 암호화를 수행한 결과(CTx), CP-ABE 기반 암호화를 수행한 결과를 데이터 소유자부(30)가 복호화하기 위한 비밀키(SKo), 및 해당 DEKx에 대한 식별자(KeyIDx)를 생성한다. KeyIDx는 데이터 암호화용 키 식별자라고 할 수 있다. 세부적인 동작 및 각 동작에 따른 결과는 다음의 표 1과 같을 수 있으며, 결과값 (IDo,CTx,KeyIDx)은 키 저장부(12)에 저장된다.
Figure 112014078457246-pat00005

Figure 112014078457246-pat00006

여기서, 난수 s는
Figure 112014078457246-pat00007
에서 얻는다. Y는 Px에서 리프 노드(leaf nodes)의 셋(set)이고, qy는 트리 px에서 노드 y를 위한 다항식이다.

Figure 112014078457246-pat00008

여기서, 난수 r, rj
Figure 112014078457246-pat00009
에서 얻는다.
상기
Figure 112014078457246-pat00010
는 DEK의 버전 정보이고,
Figure 112014078457246-pat00011
는 DEK의 암호화 결과를 표시하기 위한 표식이다.
Figure 112014078457246-pat00012
는 h에 s를 지수승한 결과를 표시한 것이고,
Figure 112014078457246-pat00013
는 "모든 y에 대해서"라는 의미를 수학적 기호로 표시한 것이다.
Figure 112014078457246-pat00014
는 수식을 간단히 표시한 것이다.
Figure 112014078457246-pat00015
는 노드 y의 attribute를 반환하는 함수를 의미한다.
Figure 112014078457246-pat00016
에서 H()는 일방향 해쉬함수를 의미한다. 결국,
Figure 112014078457246-pat00017
는 att(y)에 해쉬함수를 적용하고 이에 대해서 다항식 qy(0)의 값을 지수승한 결과를 표시한 것이다. D는 수식을 간단히 표시하기 위한 표식이고,
Figure 112014078457246-pat00018
는 “모든 attribute j에 대하여”를 나타내는 수학적 표현으로서, attribute set Io에 포함된 "모든 attribute j에 대하여"라는 의미이다.
한편, 매니저부(10)는 상기 단계 S12에서 데이터 소유자부(30)가 접근 정책 정보 변경(Px → Px new)을 의미하는 KeyIDx를 포함시켰을 경우, Px new를 이용하여 Tx new를 생성한 후 Encrypt(PK,DEKx,Tx new) ⇒ CTx new를 수행한다. 그리고 나서, 매니저부(10)는 결과값(IDo,CTx new,KeyIDx)를 키 저장부(12)에 저장한다. 이를 통해 데이터 소유자부(30)는 데이터 접근 정책을 능동적으로 변경할 수 있다.
이어, 매니저부(10)는 상술한 과정에 의해 생성된 (KeyIDx,CTx,SKo)를 데이터 소유자부(30)에게 응답한다(S16).
그에 따라, 데이터 소유자부(30)는 매니저부(10)로부터 전달받은 CTx(즉, 접근 트리(Tx)를 이용하여 CP-ABE 기반 암호화를 수행한 결과)와 SKo(즉, 복호화를 위한 비밀키)를 이용하여 CP-ABE 복호화를 통해 DEKx를 획득한다(S18). 여기서의 CP-ABE 복호화 과정은 다음의 표 2와 같다.
Figure 112014078457246-pat00019
그리고, 데이터 소유자부(30)는 DEKx를 이용하여 데이터를 암호화함으로써 암호화된 데이터(예컨대, {Data}DEKx)를 획득한다(S20). 여기서, 데이터 암호화는 일반적으로 AES 등과 같은 블록 암호 알고리즘을 사용한다.
그 후, 데이터 소유자부(30)는 KeyIDx(즉, 변경하고자 하는 DEK의 식별자) 및 CTx(즉, 접근 트리(Tx)를 이용하여 CP-ABE 기반 암호화를 수행한 결과)에 포함된 DEK 버전 정보 Vx와 함께 {Data}DEKx(즉, 암호화된 데이터)를 클라우드(20)에 업로드한다(S22). 그에 따라, 클라우드(20)는 데이터 저장부(22)에 데이터 조합(KeyIDx, {Data}DEKx, Vx)을 저장한다.
이와 같이 하면 사용자부(40)는 클라우드(20)의 데이터를 공유할 수 있게 된다.
그에 따라, 사용자부(40)는 클라우드(20)에 접근하여 자신이 접근하고자 하는 데이터 조합(KeyIDx, {Data}DEKx, Vx)을 요청한다(S30).
그러면, 클라우드(20)는 사용자부(40)의 요청에 대해 데이터 조합(KeyIDx, {Data}DEKx, Vx)을 응답한다(S32).
사용자부(40)는 클라우드(20)를 통해 획득한 데이터 암호화용 키 식별자(KeyIDx)와 자신의 식별자(IDu) 및 속성 집합(Iu)을 매니저부(10)에게 전달하여 KeyIDx에 대한 CTx 및 이를 복호화하기 위한 비밀키(SKu)를 요청한다(S34).
그에 따라, 매니저부(10)는 사용자부(40)의 요청에 대해 해당 사용자부(40)의 속성 집합(Iu)이 접근 트리(Tx)를 만족하는지, 및 해당 사용자부(40)의 식별자(IDu)가 블랙 리스트에 포함되어 있는지를 확인한다(S36).
그 후, 매니저부(10)는 해당 사용자부(40)를 위해 새롭게 생성된 비밀키(SKu)와 함께 CTx(즉, 접근 트리(Tx)를 이용하여 CP-ABE 기반 암호화를 수행한 결과)를 사용자부(40)에게 응답한다(S38). 이때, 매니저부(10)는 키 저장부(12)에 (IDu, KeyIDx)를 저장한다. 세부적인 비밀키(SKu) 생성 과정은 다음의 표 3과 같을 수 있다.
Figure 112014078457246-pat00020
여기서, D는 수식을 간단히 표시하기 위한 표식이고,
Figure 112014078457246-pat00021
는 “모든 attribute j에 대하여”를 나타내는 수학적 표현으로서, attribute set Io에 포함된 "모든 attribute j에 대하여"라는 의미이다.
Figure 112014078457246-pat00022
는 0부터 p-1까지의 정수 집합이고,
Figure 112014078457246-pat00023
는 수식을 간단히 표현하기 위한 표식이다.
Figure 112014078457246-pat00024
는 attribute j에 해쉬함수를 적용한 후 난수 rj의 지수승을 취한 것이다.
Figure 112014078457246-pat00025
는 Iu에 포함된 attribute를 의미한다.
사용자부(40)는 매니저부(10)로부터 획득한 복호화를 위한 비밀키(SKu)를 이용하여 CP-ABE 복호화를 통해 DEKx(데이터 암호화용 키)를 복호화한다(S40).
그리고, 사용자부(40)는 복호화된 DEKx를 이용하여 암호화된 데이터({Data}DEKx)를 복호화한다(S42).
이와 같이 사용자부(40)는 암호화된 데이터를 복호화할 수 있으므로, 접근가하고자 하는 데이터를 접근할 수 있게 된다. 이와 동시에, 사용자부(40)는 자신이 사용한 DEK 식별자와 해당 DEK의 버전 정보의 맵핑 결과 즉, (KeyIDx:Vx local)를 데이터베이스(42)에 저장한다. 세부적인 CP-ABE 복호화 과정은 다음의 표 4와 같을 수 있다.
Figure 112014078457246-pat00026
여기서, Di, Cn, D'i, C'n은 앞서 언급한 Dj, Cx, D'j, C'x 수식에 노드 식별자 n과 Io에 속하는 attribute i를 대입한 것이다. A는 DecryptNode() 결과를 간략히 표시한 식이다. Cx는 앞서의 Encrypt에서 언급된 Cx를 표시한 것이다.
Figure 112014078457246-pat00027
는 앞에서 언급한 h에 다항식 결과값 qn(0)의 지수승을 취한 것이다.
Figure 112014078457246-pat00028
는 attribute i의 해쉬함수 적용 결과에 난수 ri만큼 지수승 한 것이다.
Figure 112014078457246-pat00029
는 앞에서 언급한 Encrypt에서의
Figure 112014078457246-pat00030
를 표시한 것이다.
Figure 112014078457246-pat00031
는 노드 n의 attribute값을 의미한다.
도 5는 본 발명의 실시예에 따른 키 갱신의 흐름을 도시한 도면이다. 이하의 키 갱신의 흐름 설명은 매니저부(10)에 의해서 행해진다고 볼 수 있다. 즉, 매니저부(10)는 데이터 암호화용 키를 생성할 수 있으므로, 생성된 데이터 암호화용 키를 갱신할 수도 있다.
먼저, 매니저부(10)는 보안 정책(예컨대, DEK 사용 기간 만료 등), 사용자 폐기 등과 같은 이벤트 발생 시 이를 탐지하고 키 갱신을 시작한다(S50).
매니저부(10)는 사용자 폐기 시에는 해당 사용자(IDr)를 블랙 리스트에 등록시킨 후 키 저장부(12)를 통해 해당 사용자가 사용한 DEK 식별자 리스트를 획득한다. 이는 향후 발생하는 블랙 리스트에 등록된 사용자의 요청은 매니저부(10)에 의해 거절하기 위해서이다. 또는 매니저부(10)는 사용 기간 만료 예정인 DEK 식별자 리스트를 키 저장부(12)를 통해 획득한다. 여기서, 갱신될 DEK 식별자 리스트를 (KeyIDr)이라고 하며, r은 갱신 대상 DEK 식별자의 인덱스들이라고 한다. 매니저부(10)는 상술한 단계 S14에 따라 신규 DEK(DEKr new)을 생성하고 (CTr old)에 포함된 접근 트리(Tr)을 이용하여 CP-ABE 암호화를 수행하여 (CTr new)를 획득한다. 이후, 매니저부(10)는 (KeyIDr)에 기존 (CTr old)과 함께 보관한다. 이때, 매니저부(10)는 DEK 암호화 결과값(CTr new)에 포함되는 DEK 버전 정보(Vr)를 임의의 값만큼 증가시킨다(예컨대, Vr=Vr old + 1).
이어, 매니저부(10)는 갱신된 DEK 식별자 리스트(KeyIDr)를 이용하여 클라우드(20)에 접근한다. 그 후, 매니저부(10)는 해당 DEK 식별자 리스트의 DEK들로 암호화된 모든 데이터를 획득한다(S52).
그리고, 매니저부(10)는 획득한 암호화된 데이터들을 CTr old와 CP-ABE 복호화를 위해 자신이 생성한 비밀키(SKm)를 이용하여 (DEKr old)를 획득한다. 매니저부(10)는 획득한 암호화된 데이터들을 선행의 데이터 암호화용 키(DEKr old)를 이용하여 복호화(CP-ABE 복호화)한 후, 다시 신규의 데이터 암호화용 키(DEKr new)를 이용하여 데이터 암호화를 수행한다. 이와 같이 암호화된 데이터들은 클라우드(20)에 변경된 DEK 버전 정보(Vr)와 함께 공유된다. 매니저부(10)는 병렬적으로 데이터 재암호화를 진행할 수 있다. 특히, 특정 (DEKr old)로 암호화되었던 데이터들의 재암호화가 완료되면, 매니저부(10)는 해당 (DEKr old), (CTr old), 및 (DEKr new)를 삭제한다(S54).
이어, 매니저부(10)는 관리중인 데이터 소유자 식별자 리스트와 해당 데이터 소유자부(30)를 위해 생성된 DEK 식별자의 맵핑 결과(IDo=1,…,n:KeyIDx)를 이용하여 키 갱신에 영향을 받는 데이터 소유자부(30)에게 갱신된 DEK 식별자 리스트(KeyIDr)를 알려준다(S56). 이는 추후 필요 시 데이터 소유자부(30)가 갱신된 DEK를 매니저부(10)에게 요청하여 사용할 수 있도록 한다.
사용자부(40)는 데이터베이스(42)를 통해 자신이 이전에 사용했고 지금 사용하고자 하는 DEK 식별자 리스트와 각 DEK의 버전 정보의 맵핑 결과(KeyIDx:Vx local)를 획득한다. 이어, 사용자부(40)는 이를 토대로 클라우드(20)에서 응답한 데이터 조합의 DEK 버전 정보(Vx)와 비교하여 "Vx > Vx local"일 경우 DEK가 갱신되었음을 확인하고 매니저부(10)에게 갱신된 DEK 키를 요청하여 획득한 후 사용한다(S58).
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 매니저부 12 : 키 저장부
20 : 클라우드 22 : 데이터 저장부
30 : 데이터 소유자부 40 : 사용자부
42 : 데이터베이스

Claims (20)

  1. 클라우드 컴퓨팅에서 데이터 소유자부, 매니저부 및 클라우드가 연동하여 데이터 접근 제어를 수행하는 방법으로서,
    상기 데이터 소유자부가, 데이터 암호화용 키 생성을 상기 매니저부에게 요청하는 단계;
    상기 매니저부가, 상기 데이터 암호화용 키를 생성하는 단계;
    상기 매니저부가, 상기 데이터 암호화용 키에 대한 CP-ABE 암호화를 수행한 결과 및 상기 CP-ABE 암호화를 수행한 결과를 복호화하기 위한 비밀키를 생성하여 상기 데이터 소유자부에게 응답하는 단계;
    상기 데이터 소유자부가, 상기 CP-ABE 암호화를 수행한 결과를 상기 비밀키로 CP-ABE 복호화하여 상기 데이터 암호화용 키를 획득하는 단계;
    상기 데이터 소유자부가, 상기 획득한 데이터 암호화용 키를 이용하여 데이터를 암호화하는 단계; 및
    상기 데이터 소유자부가, 상기 암호화된 데이터와 데이터 암호화용 키 정보를 상기 클라우드에 업로드하는 단계;를 포함하고,
    상기 데이터 암호화용 키 생성을 상기 매니저부에게 요청하는 단계는,
    상기 데이터 암호화용 키에 적용할 접근 정책 정보, 및 상기 데이터 소유자부의 속성 집합 및 식별자를 상기 매니저부에게로 전송하여 상기 데이터 암호화용 키의 생성을 요청하는 것을 특징으로 하는 데이터 접근 제어 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 데이터 소유자부에게 응답하는 단계는,
    상기 접근 정책 정보에 대한 접근 트리를 이용하여 상기 CP-ABE 암호화를 수행한 결과, 상기 비밀키, 및 상기 데이터 암호화용 키에 대한 식별자를 생성하는 단계; 및
    상기 데이터 암호화용 키에 대한 식별자, 상기 CP-ABE 암호화를 수행한 결과, 및 상기 비밀키를 상기 데이터 소유자부에게 제공하는 단계;를 포함하는 것을 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
  4. 청구항 3에 있어서,
    상기 데이터 소유자부에게 응답하는 단계는,
    상기 매니저부가, 상기 데이터 소유자부의 식별자, 상기 CP-ABE 암호화를 수행한 결과, 및 상기 데이터 암호화용 키에 대한 식별자를 키 저장부에 저장하는 단계;를 추가로 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
  5. 청구항 1에 있어서,
    상기 데이터 암호화용 키 생성을 상기 매니저부에게 요청하는 단계는,
    기 생성된 데이터 암호화용 키에 대한 접근 정책을 변경하고자 할 경우 변경하고자 하는 데이터 암호화용 키의 식별자를 추가로 포함시켜 상기 매니저부에게로 전송하는 것을 특징으로 하는 데이터 접근 제어 방법.
  6. 청구항 5에 있어서,
    상기 매니저부는 상기 변경하고자 하는 데이터 암호화용 키의 식별자를 수신함에 따라 상기 접근 정책 정보 변경을 이용하여 신규의 접근 트리를 생성하고, 상기 신규의 접근 트리를 이용하여 CP-ABE 암호화를 재수행하는 것을 특징으로 하는 데이터 접근 제어 방법.
  7. 청구항 6에 있어서,
    상기 매니저부는 상기 데이터 소유자부의 식별자, 상기 CP-ABE 암호화를 재수행한 결과, 및 상기 데이터 암호화용 키에 대한 식별자를 키 저장부에 저장하는 것을 특징으로 하는 데이터 접근 제어 방법.
  8. 청구항 1에 있어서,
    상기 데이터 암호화용 키 정보는 상기 데이터 암호화용 키의 식별자, 및 상기 CP-ABE 암호화를 수행한 결과에 포함된 해당 데이터 암호화용 키의 버전 정보를 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
  9. 청구항 1에 있어서,
    상기 데이터 암호화용 키 생성을 상기 매니저부에게 요청하는 단계 이전에,
    상기 매니저부가 CP-ABE의 셋업 알고리즘을 수행하여 공개키 및 마스터키를 생성하는 단계;를 추가로 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
  10. 청구항 1에 있어서,
    상기 매니저부가, 상기 데이터 암호화용 키의 갱신을 수행하는 단계;를 추가로 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
  11. 청구항 10에 있어서,
    상기 데이터 암호화용 키의 갱신을 수행하는 단계는,
    키 갱신 이벤트를 탐지하는 단계;
    키 저장부에서 키 갱신 대상의 데이터 암호화용 키 식별자 리스트를 획득하는 단계;
    상기 데이터 암호화용 키 식별자 리스트를 근거로 새로운 데이터 암호화용 키를 생성하는 단계;
    상기 클라우드에 접근하여 상기 데이터 암호화용 키 식별자 리스트의 데이터 암호화용 키로 암호화된 데이터를 획득하는 단계;
    상기 암호화된 데이터를 상기 새로운 데이터 암호화용 키 이전의 데이터 암호화 키를 이용하여 CP-ABE 복호화를 수행하고, 복호화된 데이터를 상기 새로운 데이터 암호화용 키로 암호화하는 단계;
    상기 암호화된 데이터를 상기 클라우드에 업로드하는 단계;를 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
  12. 청구항 11에 있어서,
    상기 키 갱신 이벤트는 보안 정책 또는 사용자 폐기인 것을 특징으로 하는 데이터 접근 제어 방법.
  13. 청구항 12에 있어서,
    상기 키 갱신 이벤트가 사용자 폐기이면,
    상기 키 갱신 대상의 데이터 암호화용 키 식별자 리스트를 획득하는 단계는, 해당 사용자를 블랙 리스트에 등록시킨 후 상기 키 저장부에서 해당 사용자가 사용한 데이터 암호화용 키 식별자 리스트를 획득하는 것을 특징으로 하는 데이터 접근 제어 방법.
  14. 청구항 11에 있어서,
    상기 새로운 데이터 암호화용 키를 생성하는 단계와 상기 데이터 암호화용 키 식별자 리스트의 데이터 암호화용 키로 암호화된 데이터를 획득하는 단계 사이에,
    상기 새로운 데이터 암호화용 키에 대해서 CP-ABE 암호화를 수행하여 새로운 CP-ABE 암호화 수행 결과를 획득하는 단계; 및
    상기 새로운 CP-ABE 암호화 수행 결과에 포함되는 데이터 암호화용 키 버전 정보를 갱신하는 단계;를 추가로 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
  15. 청구항 14에 있어서,
    상기 암호화된 데이터를 상기 클라우드에 업로드하는 단계는,
    상기 갱신된 데이터 암호화용 키 버전 정보를 함께 업로드하는 것을 특징으로 하는 데이터 접근 제어 방법.
  16. 청구항 11에 있어서,
    상기 데이터 암호화용 키의 갱신을 수행하는 단계는,
    상기 키의 갱신에 영향을 받는 상기 데이터 소유자부에게 갱신된 데이터 암호화용 키 식별자 리스트를 알려주는 단계;를 추가로 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
  17. 클라우드 컴퓨팅에서 매니저부, 사용자부 및 클라우드가 연동하여 데이터 접근 제어를 수행하는 방법으로서,
    상기 사용자부가, 상기 클라우드에 접속하여 접근하고자 하는 암호화된 데이터와 데이터 암호화용 키 정보를 획득하는 단계;
    상기 사용자부가, 자신의 식별자 및 속성 집합, 상기 데이터 암호화용 키 정보에 포함된 데이터 암호화용 키 식별자를 상기 매니저부에게 전달하여 상기 데이터 암호화용 키 식별자에 대한 CP-ABE 암호화를 수행한 결과 및 상기 CP-ABE 암호화를 수행한 결과를 복호화하기 위한 비밀키를 요청하는 단계;
    상기 매니저부가, 상기 사용자부의 속성 집합의 접근 트리 만족 여부 및 상기 사용자부의 식별자의 블랙리스트 미포함 여부를 확인하는 단계;
    상기 매니저부가, 상기 비밀키 및 상기 CP-ABE 암호화를 수행한 결과를 상기 사용자부에게 응답하는 단계;
    상기 사용자부가, CP-ABE 복호화를 통해 데이터 암호화용 키를 획득하는 단계; 및
    상기 사용자부가, 상기 데이터 암호화용 키를 이용하여 상기 암호화된 데이터를 복호화하는 단계;를 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
  18. 청구항 17에 있어서,
    상기 데이터 암호화용 키 정보는 상기 데이터 암호화용 키의 식별자, 및 상기 CP-ABE 암호화를 수행한 결과에 포함된 해당 데이터 암호화용 키의 버전 정보를 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
  19. 청구항 17에 있어서,
    상기 비밀키 및 상기 CP-ABE 암호화를 수행한 결과를 상기 사용자부에게 응답하는 단계는,
    상기 매니저부가, 상기 사용자부의 식별자 및 상기 데이터 암호화용 키 식별자를 키 저장부에 저장하는 단계;를 추가로 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
  20. 청구항 17에 있어서,
    상기 데이터 암호화용 키를 이용하여 상기 암호화된 데이터를 복호화하는 단계는,
    상기 사용자부가, 자신이 사용한 데이터 암호화용 키 식별자와 해당 데이터 암호화용 키의 버전 정보를 데이터베이스에 저장하는 단계;를 추가로 포함하는 것을 특징으로 하는 데이터 접근 제어 방법.
KR1020140107887A 2014-08-19 2014-08-19 데이터 접근 제어 방법 KR101593165B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140107887A KR101593165B1 (ko) 2014-08-19 2014-08-19 데이터 접근 제어 방법
US14/743,162 US9646168B2 (en) 2014-08-19 2015-06-18 Data access control method in cloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140107887A KR101593165B1 (ko) 2014-08-19 2014-08-19 데이터 접근 제어 방법

Publications (1)

Publication Number Publication Date
KR101593165B1 true KR101593165B1 (ko) 2016-02-15

Family

ID=55348547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140107887A KR101593165B1 (ko) 2014-08-19 2014-08-19 데이터 접근 제어 방법

Country Status (2)

Country Link
US (1) US9646168B2 (ko)
KR (1) KR101593165B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101870A (ko) 2017-03-06 2018-09-14 고려대학교 산학협력단 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
US11316662B2 (en) * 2018-07-30 2022-04-26 Koninklijke Philips N.V. Method and apparatus for policy hiding on ciphertext-policy attribute-based encryption

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10574440B2 (en) 2016-05-06 2020-02-25 ZeroDB, Inc. High-performance access management and data protection for distributed messaging applications
US10581603B2 (en) 2016-05-06 2020-03-03 ZeroDB, Inc. Method and system for secure delegated access to encrypted data in big data computing clusters
CN106209365B (zh) * 2016-09-18 2020-06-23 西安电子科技大学 云环境下利用备份数据在用户撤销时重签名的方法
WO2018154581A1 (en) * 2017-02-22 2018-08-30 Kindite Ltd. Encrypting data records and processing encrypted records without exposing plaintext
US10645065B2 (en) 2017-02-28 2020-05-05 At&T Intellectual Property I, L.P. Proxy-based database encryption
CN107070652B (zh) * 2017-04-24 2019-07-23 湖南科技学院 一种基于cp-abe的密文防篡改的车联网隐私保护方法及系统
CN107330337B (zh) * 2017-07-19 2022-05-24 腾讯科技(深圳)有限公司 混合云的数据存储方法、装置、相关设备及云系统
US10637846B2 (en) * 2017-08-30 2020-04-28 Capital One Services, Llc System and method for cloud-based analytics
US10872023B2 (en) * 2017-09-24 2020-12-22 Microsoft Technology Licensing, Llc System and method for application session monitoring and control
CN107743133B (zh) * 2017-11-30 2020-06-09 中国石油大学(北京) 移动终端及其基于可信安全环境的访问控制方法和系统
CN108055130A (zh) * 2017-12-27 2018-05-18 深圳技术大学(筹) 差异化安全的密文保护系统
US11244059B2 (en) 2018-05-17 2022-02-08 International Business Machines Corporation Blockchain for managing access to medical data
CN109561067B (zh) * 2018-10-22 2020-07-28 深圳技术大学(筹) 基于cp-abe的策略更新方法与系统
US11133926B2 (en) * 2018-11-05 2021-09-28 Paypal, Inc. Attribute-based key management system
US11310041B2 (en) * 2019-04-05 2022-04-19 Arizona Board Of Regents On Behalf Of Arizona State University Method and apparatus for achieving fine-grained access control with discretionary user revocation over cloud data
US11663347B2 (en) 2019-04-26 2023-05-30 Jpmorgan Chase Bank, N.A. Systems and methods for maintaining immutable data access logs with privacy
CN110519283A (zh) * 2019-08-30 2019-11-29 广东工业大学 一种密文策略属性基加密方法、装置及系统
US11347882B2 (en) * 2020-06-02 2022-05-31 Huawei Technologies Co., Ltd. Methods and systems for secure data sharing with granular access control
CN112883399B (zh) * 2021-03-11 2022-03-25 郑州信大捷安信息技术股份有限公司 一种用于实现加密文件安全共享的方法及系统
CN113271309B (zh) * 2021-05-24 2022-04-08 四川师范大学 一种分层文件加密方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977572B2 (en) * 2008-07-31 2015-03-10 General Electric Company Systems and methods for patient-controlled, encrypted, consolidated medical records
WO2011045723A1 (en) * 2009-10-15 2011-04-21 Koninklijke Philips Electronics N.V. Ciphertext-policy attribute-based encryption and re-encryption
KR101220160B1 (ko) 2012-03-09 2013-01-11 동국대학교 경주캠퍼스 산학협력단 모바일 클라우드 환경에서 안전한 프록시 재암호화 기반의 데이터 관리 방법
US20140052985A1 (en) * 2012-08-15 2014-02-20 Agency For Science, Technology And Research Methods for providing requested data from a storage device to a data consumer and storage devices
KR101389981B1 (ko) 2012-09-03 2014-04-30 경희대학교 산학협력단 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 및 엑세스 방법
US9894040B2 (en) * 2012-09-11 2018-02-13 Microsoft Technology Licensing, Llc Trust services for securing data in the cloud
US9769124B2 (en) * 2012-09-21 2017-09-19 Nokia Technologies Oy Method and apparatus for providing access control to shared data based on trust level

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yi-mu Ji 외 6인, JOURNAL OF SOFTWARE, Vol.9, No.6, "A Privacy Protection Method based on CP-ABE and KP-ABE for Cloud Computing" (2014.06. 공개)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101870A (ko) 2017-03-06 2018-09-14 고려대학교 산학협력단 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
US11316662B2 (en) * 2018-07-30 2022-04-26 Koninklijke Philips N.V. Method and apparatus for policy hiding on ciphertext-policy attribute-based encryption

Also Published As

Publication number Publication date
US20160055347A1 (en) 2016-02-25
US9646168B2 (en) 2017-05-09

Similar Documents

Publication Publication Date Title
KR101593165B1 (ko) 데이터 접근 제어 방법
US10803194B2 (en) System and a method for management of confidential data
US10735202B2 (en) Anonymous consent and data sharing on a blockchain
KR102025409B1 (ko) 블록체인을 기반으로 한 데이터 접근 관리 시스템 및 데이터 접근 관리 방법
Ramu A secure cloud framework to share EHRs using modified CP-ABE and the attribute bloom filter
Yan et al. Heterogeneous data storage management with deduplication in cloud computing
US11741241B2 (en) Private data processing
WO2016106752A1 (zh) 一种共享数据的访问控制方法、装置及系统
KR102050887B1 (ko) 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템
WO2023109056A1 (zh) 一种基于属性的加密方法及系统
WO2020186823A1 (zh) 区块链的数据查询方法、装置、系统、设备及存储介质
US11595398B1 (en) Access control for named domain networking
KR101220160B1 (ko) 모바일 클라우드 환경에서 안전한 프록시 재암호화 기반의 데이터 관리 방법
US10771261B1 (en) Extensible unified multi-service certificate and certificate revocation list management
CN108632385B (zh) 基于时间序列的多叉树数据索引结构云存储隐私保护方法
WO2017061950A1 (en) Data security system and method for operation thereof
US11949773B2 (en) Systems and methods for secure key management using distributed ledger technology
US20220200791A1 (en) Method for encrypting and storing computer files and associated encryption and storage device
Fugkeaw et al. Privacy-preserving access control model for big data cloud
Tu et al. A secure, efficient and verifiable multimedia data sharing scheme in fog networking system
Saha et al. A cloud security framework for a data centric WSN application
EP3817320B1 (en) Blockchain-based system for issuing and validating certificates
Kotha et al. A comprehensive review on secure data sharing in cloud environment
Xu et al. Secure deduplication for big data with efficient dynamic ownership updates
Salim et al. An efficient public auditing scheme for cloud storage with secure access control and resistance against DOS attack by iniquitous TPA

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 5