KR101412673B1 - 데이터 관리 방법 및 이를 이용한 클라우드 서비스 시스템 - Google Patents

데이터 관리 방법 및 이를 이용한 클라우드 서비스 시스템 Download PDF

Info

Publication number
KR101412673B1
KR101412673B1 KR1020120156173A KR20120156173A KR101412673B1 KR 101412673 B1 KR101412673 B1 KR 101412673B1 KR 1020120156173 A KR1020120156173 A KR 1020120156173A KR 20120156173 A KR20120156173 A KR 20120156173A KR 101412673 B1 KR101412673 B1 KR 101412673B1
Authority
KR
South Korea
Prior art keywords
terminal
pkr
key
user
central server
Prior art date
Application number
KR1020120156173A
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 KR1020120156173A priority Critical patent/KR101412673B1/ko
Application granted granted Critical
Publication of KR101412673B1 publication Critical patent/KR101412673B1/ko

Links

Images

Classifications

    • 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/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • H04L63/064Hierarchical key distribution, e.g. by multi-tier trusted parties
    • 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

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

프로슈머(Prosumer)에 의해 데이터 열람을 제어할 수 있는 데이터 관리 방법 및 이을 이용한 클라우드 서비스 시스템이 개시된다. 이러한 데이터 관리 방법으로, 우선 제1 단말기를 통해 사용자 A에게 공개하기 위해, 사용자 B의 정보 M에 대한 루트 공개키 PKR를 제2 단말기에서 중앙서버로 제공한다. 이어서, 정보 M이 루트 공개키 PKR에 의해 암호화된 암호문 E_PKR(M)을 제2 단말기에서 중앙서버로 제공한다. 이어서, 정보 M의 열람 요구 R을 제1 단말기에서 제2 단말기로 제공한다. 제2 단말기에서 열람 요구 R에 대해 허용할 경우, 암호문 E_PKR(M)의 적어도 일부를 복호화하기 위한 계층키 SBK를 제2 단말기에서 제1 단말기로 제공한다. 제2 단말기에서, 중앙서버로부터 제공된 암호문 E_PKR(M)을 계층키 SBK로 복호화하여 정보 M을 추출한다. 이와 같이, 정보 M을 생산한 사용자 B 스스로가 사용자 A에 대한 열람 허용 여부를 계층별로 나누어서 효율적으로 관리할 수 있다.

Description

데이터 관리 방법 및 이를 이용한 클라우드 서비스 시스템{METHOD OF DATA MANAGEMENT AND CLOUD SERVICE SYSTEM USING THE METHOD}
본 발명은 데이터 관리 방법 및 이를 이용한 클라우드 서비스 시스템에 관한 것으로, 더욱 상세하게는 안전하게 공유할 수 있도록 데이터를 관리할 수 있는 데이터 관리 방법 및 이를 이용한 클라우드 서비스 시스템에 관한 것이다.
인터넷을 통해서 컴퓨팅 자원을 서비스로 제공하는 클라우드 컴퓨팅은 학계와 산업계에서 주목하고 있는 새로운 컴퓨팅 패러다임이다. 최근 무선기기의 기능 향상과 네트워크의 발전에 힘입어 스마트폰 등의 모바일 기기를 기반으로 하는 클라우드 컴퓨팅 서비스인 모바일 클라우드(mobile cloud)라는 새로운 서비스 트랜드가 등장하고 있다.
이러한 모바일 클라우드는 클라우드 컴퓨팅 기술과 모바일 서비스의 결합으로 이동성을 갖는 모든 기기들(스마트폰, 노트북, PDA 등)을 통해서 클라우드 서비스를 이용하는 것을 말한다. 또한, 컴퓨팅 자원을 사용한 만큼 과금하는 방식(Pay as you go)과 컴퓨팅 자원을 유연하고 신속하게 할당할 수 있는 능력(Self-provisioning resources) 등 클라우드 컴퓨팅의 특성을 그대로 보유하고 있다.
컴퓨팅 자원을 물리적으로 소유하는 것보다 서비스로 공유 및 활용하는 것이 유지, 보수 등 사후관리 비용 측면에서 효율적이기 때문에, 다양한 어플리케이션 영역에서 제공될 뿐만 아니라 의료 데이터, 영상 콘텐츠 등에서의 열람 서비스에도 제공될 수 있다.
한편, 클라우드 서비스에서 공유되는 데이터는 어느 일방에 의해 생산만 되거나 다른 일방에 의해 소비만 되는 경우에서 벗어나서, 각 사용자 모두가 생산자와 소비자가 모두 될 수 있는 경우로 변화하고 있다. 따라서, 이러한 변화의 요구에 대응하여, 생산자 관점에서의 보안기능 뿐만이 아니라, 소비자 관점에서의 보안기능도 검토가 필요한 바, 이른바 Prosumer-controlled 보안 프레임워크 연구가 요구되고 있다.
따라서, 본 발명은 이러한 문제점을 해결하기 위한 것으로, 본 발명의 해결하고자 하는 과제는 프로슈머(Prosumer)에 의해 데이터 열람을 제어할 수 있는 데이터 관리 방법을 제공하는 것이다.
본 발명의 또 해결하고자 하는 과제는 상기한 데이터 관리 방법을 이용한 클라우드 서비스 시스템을 제공하는 것이다.
본 발명의 일 실시예에 의한 데이터 관리 방법으로, 우선 제1 단말기를 통해 사용자 A에게 공개하기 위해, 사용자 B의 정보 M에 대한 루트 공개키 PKR를 제2 단말기에서 중앙서버로 제공한다(이하, 키공개 단계라 함). 이어서, 상기 정보 M이 상기 루트 공개키 PKR에 의해 암호화된 암호문 E_PKR(M)을 상기 제2 단말기에서 상기 중앙서버로 제공한다(이하, 정보암호화 단계라 함). 이어서, 상기 정보 M의 열람 요구 R을 상기 제1 단말기에서 상기 제2 단말기로 제공한다(이하, 열람요구 단계라 함). 상기 제2 단말기에서 상기 열람 요구 R에 대해 허용할 경우, 상기 암호문 E_PKR(M)의 적어도 일부를 복호화하기 위한 계층키 SBK를 상기 제2 단말기에서 상기 제1 단말기로 제공한다(이하, 계층키제공 단계라 함). 상기 제1 단말기에서, 상기 중앙서버로부터 제공된 상기 암호문 E_PKR(M)을 상기 계층키 SBK로 복호화하여 상기 정보 M을 추출한다(이하, 정보복호화 단계라함).
상기 키공개 단계로는, 우선 상기 사용자 A에 대한 공개키 PKA와 비밀키 SKA를 생성하고, 상기 공개키 PKA를 상기 사용자 B를 포함한 외부 사용자에게 공개되도록 상기 제1 단말기에서 상기 중앙서버로 제공할 수 있다. 또한, 상기 사용자 B에 대한 공개키 PKB 및 비밀키 SKB를 생성하고, 상기 공개키 PKB를 상기 사용자 A를 포함한 외부 사용자에게 공개되도록 상기 제2 단말기에서 상기 중앙서버로 제공할 수 있다. 이어서, 상기 사용자 B의 정보 M에 대한 루트 공개키 PKR 및 루트 비밀키 SKR를 생성하고, 상기 루트 공개키 PKR를 상기 사용자 A를 포함한 외부 사용자에게 공개되도록 상기 중앙서버로 제공할 수 있다.
상기 정보암호화 단계로는, 우선 상기 제2 단말기에서, 상기 루트 비밀키 SKR로부터 계층키 SBK를 생성할 수 있다. 이어서, 상기 제2 단말기에서 상기 정보 M을 상기 루트 공개키 PKR로 암호화하여 암호문 E_PKR(M)을 생성할 수 있다. 이어서, 상기 암호문 E_PKR(M)을 상기 제2 단말기에서 상기 중앙서버로 제공할 수 있다.
상기 열람요구 단계로는, 우선 상기 제1 단말기에서, 상기 정보 M의 열람 요구 R을 상기 공개키 PKB로 암호화하여 암호문 E_PKB(R)를 생성할 수 있다. 이어서, 상기 암호문 E_PKB(R)를 상기 제1 단말기에서 상기 중앙서버로 제공할 수 있다. 이어서, 상기 중앙서버에서 상기 제2 단말기로 상기 암호문 E_PKB(R)를 제공할 수 있다. 이어서, 상기 제2 단말기에서, 상기 암호문 E_PKB(R)를 상기 비밀키 SKB로 복호하여 상기 열람 요구 R을 추출할 수 있다.
상기 계층키제공 단계로는, 우선 상기 제2 단말기에서, 상기 열람 요구 R에 대해 허용할 경우, 상기 계층키 SBK를 상기 공개키 PKA로 암호화하여 암호문 E_PKA(SBK)를 생성할 수 있다. 이어서, 상기 암호문 E_PKA(SBK)을 상기 제2 단말기에서 상기 중앙서버로 제공할 수 있다. 이어서, 상기 중앙서버에서 상기 제1 단말기로 상기 암호문 E_PKA(SBK)를 제공할 수 있다. 이어서, 상기 제1 단말기에서, 상기 암호문 E_PKA(SBK)를 상기 비밀키 SKA로 복호하여 상기 계층키 SBK을 추출할 수 있다.
상기 정보복호화 단계로는, 우선 상기 중앙서버에서 상기 제1 단말기로 상기 암호문 E_PKR(M)을 제공할 수 있다. 이어서, 상기 제1 단말기에서, 상기 암호문 E_PKR(M)을 상기 계층키 SBK로 복호화하여 상기 정보 M을 추출할 수 있다.
한편, 상기 계층키 SBK는 상기 외부 사용자 중 상기 사용자 A를 포함한 사용자 계층에 대해 부여된 비밀키일 수 있다. 이때, 상기 계층키 SBK는 상기 암호문 E_PKR(M)을 복호화할 때, 상기 사용자 A를 포함한 사용자 계층에게 허여된 범위 내에서 복호화시킬 수 있는 비밀키일 수 있다.
상기 키공개 단계에서는, 상기 사용자 B의 정보 M 및 상기 정보 M의 인덱스 DX에 대한 루트 공개키 PKR를 상기 제2 단말기에서 상기 중앙서버로 제공할 수 있다. 상기 정보암호화 단계에서는, 상기 정보 M이 상기 루트 공개키 PKR에 의해 암호화된 암호문 E_PKR(M) 및 상기 인덱스 DX가 상기 루트 공개키 PKR에 의해 암호화된 E_PKR(DX)을 상기 제2 단말기에서 상기 중앙서버로 제공할 수 있다. 상기 정보복호화 단계에서는, 상기 제1 단말기에서, 상기 중앙서버로부터 제공된 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 상기 계층키 SBK로 복호화하여 상기 정보 M 및 인덱스 DX을 추출할 수 있다.
본 발명의 일 실시예에 의한 클라우드 서비스 시스템은 사용자 A를 위한 제1 단말기, 사용자 B를 위한 제2 단말기, 및 상기 제1 및 제2 단말기들과 유선 또는 무선으로 접속되어 신호 및 데이터를 주고받는 중앙서버를 포함한다.
상기 제1 단말기는 상기 사용자 A에 대한 공개키 PKA와 비밀키 SKA를 생성하고, 상기 공개키 PKA를 상기 사용자 B를 포함한 외부 사용자에게 공개되도록 상기 중앙서버로 제공한다. 상기 제2 단말기는 상기 사용자 B에 대한 공개키 PKB 및 비밀키 SKB를 생성하고, 상기 공개키 PKB를 상기 사용자 A를 포함한 외부 사용자에게 공개되도록 상기 중앙서버로 제공한다. 상기 제2 단말기는 상기 사용자 B의 정보 M 및 상기 정보 M의 인덱스 DX에 대한 루트 공개키 PKR 및 루트 비밀키 SKR를 생성하고, 상기 사용자 A를 포함한 외부 사용자에게 공개되도록 상기 중앙서버로 제공한다. 상기 제2 단말기는 상기 루트 비밀키 SKR로부터 계층키 SBK를 생성하고, 상기 정보 M 및 상기 인덱스 DX를 상기 루트 공개키 PKR로 암호화하여 암호문 E_PKR(M) 및 E_PKR(DX)을 생성하고, 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 상기 중앙서버로 제공한다. 상기 제1 단말기는 상기 정보 M의 열람 요구 R을 상기 공개키 PKB로 암호화하여 암호문 E_PKB(R)를 생성하고, 상기 암호문 E_PKB(R)를 상기 중앙서버로 제공한다. 상기 제2 단말기는 상기 중앙서버로부터 상기 암호문 E_PKB(R)를 제공받고, 상기 암호문 E_PKB(R)를 상기 비밀키 SKB로 복호하여 상기 열람 요구 R을 추출한다. 상기 제2 단말기는 상기 열람 요구 R에 대해 허용할 경우, 상기 계층키 SBK를 상기 공개키 PKA로 암호화하여 암호문 E_PKA(SBK)를 생성하고, 상기 암호문 E_PKA(SBK)을 상기 중앙서버로 제공한다. 상기 제1 단말기는 상기 중앙서버로부터 상기 암호문 E_PKA(SBK)를 제공받고, 상기 암호문 E_PKA(SBK)를 상기 비밀키 SKA로 복호하여 상기 계층키 SBK을 추출한다. 상기 제1 단말기는 상기 중앙서버로부터 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 제공받고, 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 상기 계층키 SBK로 복호화하여 상기 정보 M 및 인덱스 DX를 추출한다.
이와 같이 데이터 관리 방법 및 이를 이용한 클라우드 서비스 시스템에 따르면, 사용자 B에 대한 정보 M이 암호화된 상태로 존재한다고 할 때, 사용자 A가 상기 정보 M에 대해 열람을 요청하고 이를 상기 사용자 B가 허용할 경우, 상기 사용자 B가 상기 사용자 A를 포함한 사용자 계층에게 허여된 범위 내에서 암호화된 정보 M을 복호화시킬 수 있는 비밀키, 즉 계층키를 상기 사용자 A에게 제공할 수 있다. 그에 따라, 상기 정보 M을 생산한 상기 사용자 B가 상기 사용자 A에 대한 열람 허용 여부를 계층별로 나누어서 효율적으로 관리할 수 있다.
도 1은 본 발명의 일 실시예에 따른 클라우드 서비스 시스템을 도시한 개념도이다.
도 2는 도 1의 클라우드 서비스 시스템을 이용하여 데이터를 관리하는 방법을 설명하기 위한 순서도이다.
도 3은 도 2의 키공개 단계를 설명하기 위한 도면이다.
도 4는 도 2의 정보암호화 단계를 설명하기 위한 도면이다.
도 5는 도 2의 열람요구 단계를 설명하기 위한 도면이다.
도 6은 도 2의 계층키제공 단계를 설명하기 위한 도면이다.
도 7은 도 2의 정보복호화 단계를 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
본 출원에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 서비스 시스템을 도시한 개념도이다.
도 1을 참조하면, 본 실시예에 의한 클라우드 서비스 시스템은 사용자 A를 위한 제1 단말기(100), 사용자 B를 위한 제2 단말기(200), 및 상기 제1 및 제2 단말기들(100, 200)과 유선 또는 무선으로 접속되어 신호 및 데이터를 주고받는 중앙서버(300)를 포함할 수 있다.
상기 제1 및 제2 단말기들(100, 200) 각각은 상기 중앙서버(300)에 접속하여 상기 중앙서버(300)로 데이터를 제공 또는 입력하거나, 상기 중앙서버(300)에 저장된 자료의 열람을 요청하여 자료를 제공받을 수 있다. 예를 들어, 상기 제1 및 제2 단말기들(100, 200) 각각은 개인용 컴퓨터, 스마트폰, 테플릿 PC 등이거나 상기 중앙서버(300)에 직접 연결된 전용 단말기일 수 있다. 또한, 상기 제1 및 제2 단말기들(100, 200)은 상기 사용자 A 및 B가 각각 전용으로 사용하는 개인 단말기들일 수 있으나, 이와 다르게 상기 사용자 A 및 B가 공용으로 사용할 수 있는 단일 단말기일 수도 있다.
상기 중앙서버(300)는 각종 정보, 예를 들어 의료정보, 실감 영상 데이터 등을 저장 및 관리하는 대용량 컴퓨터이다. 예를 들어, 상기 중앙서버(300)는 상기 각종 정보를 각종 사용자로부터 입력받아 저장하여 보관하고, 필요한 다른 사용자에게 상기 각종 정보의 적어도 일부를 제공하여 공유할 수 있는 인터넷 기반의 클라우드 서버일 수 있다.
한편, 상기 중앙서버(300)는 보안 기능을 강화시키기 위해 상기 각종 정보를 암호화한 후 분할하여 저장할 수도 있고, 상기 각종 정보의 열람을 허용하는 사용자에게 분할된 데이터를 병합한 후 복호화하여 제공할 수 있다. 더 나아가, 상기 중앙서버(300)는 상기 각종 정보의 민감도, 즉 외부 사용자에게 누구에게나 공개되는 사항인지, 아니면 데이터 생산자와 관련도가 높은 일부 관련자에게만 공개하는 사항인지를 판단하여, 상기 각종 정보가 민감하다고 판단되면 암호화하여 저장한 후, 상기 각종 정보의 열람을 허용하는 사용자에게만 복호화하여 제공할 수 있다.
본 실시예에서, 상기 제1 및 제2 단말기들(100, 200) 각각은 상기 중앙서버(300)와 연결되어 데이터의 단순 입력 및 열람을 수행할 수도 있지만, 이에 더하여 데이터의 암호화 및 복호화를 위한 공유키 및 비밀키를 생성하고, 데이터의 암호화 및 복호화를 실제로 수행할 수도 있다. 이때, 상기 제1 및 제2 단말기들(100, 200) 각각이 데이터의 단순 입력 및 열람을 수행할 경우, 상기 공유키 및 상기 비밀키를 생성하거나 데이터의 암호화 및 복호화를 수행하는 기능은 상기 중앙서버(300)에서 이루어질 수 있다. 즉, 상기 사용자 A 및 B를 포함한 사용자들 각각은 상기 제1 및 제2 단말기들(100, 200)을 포함하는 사용자 단말기들 각각을 이용하여 상기 중앙서버(300)에 접속하여 상기 중앙서버(300) 상에서 상기 공유키 및 상기 비밀키를 생성하거나 데이터의 암호화 및 복호화를 수행할 수도 있다.
도 2는 도 1의 클라우드 서비스 시스템을 이용하여 데이터를 관리하는 방법을 설명하기 위한 순서도이다.
도 2를 참조하면, 도 1의 클라우드 서비스 시스템을 이용하여 데이터를 관리하는 방법은 키공개 단계(S10), 정보암호화 단계(S20), 열람요구 단계(S30), 계층키제공 단계(S40) 및 정보복호화 단계(S50)를 포함할 수 있다.
도 3은 도 2의 키공개 단계를 설명하기 위한 도면이다.
도 2 및 도 3을 참조하면, 상기 키공개 단계(S10)에서는, 상기 제1 단말기(100)를 통해 상기 사용자 A에게 공개하기 위해, 상기 사용자 B의 정보 M 및 상기 정보 M의 인덱스 DX에 대한 루트 공개키 PKR를 상기 제2 단말기(200)에서 상기 중앙서버(300)로 제공한다.
구체적으로 예를 들어 설명하면, 상기 키공개 단계(S10)로는, 우선 상기 사용자 A에 대한 공개키 PKA와 비밀키 SKA를 생성하고, 상기 공개키 PKA를 상기 사용자 B를 포함한 외부 사용자에게 공개되도록 상기 제1 단말기(100)에서 상기 중앙서버(300)로 제공할 수 있다. 또한, 상기 사용자 B에 대한 공개키 PKB 및 비밀키 SKB를 생성하고, 상기 공개키 PKB를 상기 사용자 A를 포함한 외부 사용자에게 공개되도록 상기 제2 단말기(200)에서 상기 중앙서버(300)로 제공할 수 있다. 이어서, 상기 사용자 B의 정보 M 및 상기 정보 M의 인덱스 DX에 대한 루트 공개키 PKR 및 루트 비밀키 SKR를 생성하고, 상기 루트 공개키 PKR를 상기 사용자 A를 포함한 외부 사용자에게 공개되도록 상기 중앙서버(300)로 제공할 수 있다.
도 4는 도 2의 정보암호화 단계를 설명하기 위한 도면이다.
도 2 및 도 4를 참조하면, 상기 정보암호화 단계(S20)에서는, 상기 정보 M 및 인덱스 DX가 상기 루트 공개키 PKR에 의해 암호화된 암호문 E_PKR(M) 및 E_PKR(DX)을 상기 제2 단말기(200)에서 상기 중앙서버(300)로 제공한다.
구체적으로 예를 들어 설명하면, 우선 상기 제2 단말기(200)에서, 상기 루트 비밀키 SKR로부터 계층키 SBK를 생성할 수 있다. 이어서, 상기 제2 단말기(200)에서 상기 정보 M 및 인덱스 DX를 상기 루트 공개키 PKR로 암호화하여 암호문 E_PKR(M) 및 E_PKR(DX)을 생성할 수 있다. 이어서, 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 상기 제2 단말기(200)에서 상기 중앙서버(300)로 제공할 수 있다.
도 5는 도 2의 열람요구 단계를 설명하기 위한 도면이다.
도 2 및 도 5를 참조하면, 상기 열람요구 단계(S30)에서는, 상기 정보 M의 열람 요구 R을 상기 제1 단말기(100)에서 상기 제2 단말기(200)로 제공한다.
구체적으로 예를 들어 설명하면, 우선 상기 제1 단말기(100)에서, 상기 정보 M의 열람 요구 R을 상기 공개키 PKB로 암호화하여 암호문 E_PKB(R)를 생성할 수 있다. 이어서, 상기 암호문 E_PKB(R)를 상기 제1 단말기(100)에서 상기 중앙서버(300)로 제공할 수 있다. 이어서, 상기 중앙서버(300)에서 상기 제2 단말기(200)로 상기 암호문 E_PKB(R)를 제공할 수 있다. 이어서, 상기 제2 단말기(200)에서, 상기 암호문 E_PKB(R)를 상기 비밀키 SKB로 복호하여 상기 열람 요구 R을 추출할 수 있다.
도 6은 도 2의 계층키제공 단계를 설명하기 위한 도면이다.
도 2 및 도 6을 참조하면, 상기 계층키제공 단계(S40)에서는, 상기 제2 단말기(200)에서 상기 열람 요구 R에 대해 허용할 경우, 상기 암호문 E_PKR(M) 및 E_PKR(DX)의 적어도 일부를 복호화하기 위한 계층키 SBK를 상기 제2 단말기(200)에서 상기 제1 단말기(100)로 제공한다.
구체적으로 예를 들어 설명하면, 우선 상기 제2 단말기(200)에서, 상기 열람 요구 R을 검토하여 상기 열람 요구 R에 대해 허용할 경우, 상기 계층키 SBK를 상기 공개키 PKA로 암호화하여 암호문 E_PKA(SBK)를 생성할 수 있다. 이어서, 상기 암호문 E_PKA(SBK)을 상기 제2 단말기(200)에서 상기 중앙서버(300)로 제공할 수 있다. 이어서, 상기 중앙서버(300)에서 상기 제1 단말기(100)로 상기 암호문 E_PKA(SBK)를 제공할 수 있다. 이어서, 상기 제1 단말기(100)에서, 상기 암호문 E_PKA(SBK)를 상기 비밀키 SKA로 복호하여 상기 계층키 SBK을 추출할 수 있다.
도 7은 도 2의 정보복호화 단계를 설명하기 위한 도면이다.
도 2 및 도 7을 참조하면, 상기 정보복호화 단계(S50)에서는, 상기 제2 단말기(200)에서, 상기 중앙서버(300)로부터 제공된 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 상기 계층키 SBK로 복호화하여 상기 정보 M 및 인덱스 DX를 추출한다.
구체적으로 예를 들어 설명하면, 우선 상기 중앙서버(300)에서 상기 제1 단말기(100)로 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 제공할 수 있다. 이어서, 상기 제1 단말기(100)에서, 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 상기 계층키 SBK로 복호화하여 상기 정보 M 및 인덱스 DX를 추출할 수 있다.
한편, 본 실시예에서 상기 계층키 SBK는 상기 외부 사용자 중 상기 사용자 A를 포함한 사용자 계층에 대해 부여된 비밀키일 수 있다. 이때, 상기 계층키 SBK는 상기 암호문 E_PKR(M)을 복호화할 때, 상기 사용자 A를 포함한 사용자 계층에게 허여된 범위 내에서 복호화시킬 수 있는 비밀키일 수 있다.
예를 들어, 상기 사용자 B가 임의의 환자이고, 상기 정보 M이 상기 환자에 관한 의료정보이라고 할 때, 상기 환자의 치료에 관여하는 의사, 간호사 등을 포함하는 제1 계층 사용자에게는 제1 계층키를 부여하고, 상기 환자의 치료에 관여하지는 않지만 상기 의료정보를 통계자료로 활용할 수 있는 보험회사, 의약회사 등을 포함하는 제2 계층 사용자에게는 상기 제1 계층키와 다른 제2 계층키를 부여할 수 있다. 이때, 상기 제1 계층키는 상기 제2 계층키보다 상기 암호문 E_PKR(M) 및 E_PKR(DX)의 좀 더 많은 부분을 복호화시킬 수 있는 비밀키이거나, 상기 제2 계층키와 상기 암호문 E_PKR(M) 및 E_PKR(DX)의 서로 다른 부분을 복호화시킬 수 있는 비밀키일 수 있다. 또한, 이러한 계층별 키부여 방식은 상기 사용자 B가 임의의 영상 제작자이고, 상기 정보 M이 상기 영상 제작자가 제작한 영상이라고 할 때에도 동일하게 적용될 수 있다.
한편, 본 실시예에서 적용되는 사용자에 의해 제어되는 암호 알고리즘은 다음과 같이 4가지 알고리즘으로 구성될 수 있다.
① 키생성 알고리즘 PCEKeyGen(1k)->(PK root , Sk root ) : 보안 파라메터 k를 입력하여 환자 기록에 대한 root 복호키 Sk root 와 공개키 PK root 를 생성한다. 여기서, 상기 키생성 알고리즘은 상기 키공개 단계(S10)에 포함될 수 있다.
② 키도출(derivation) 알고리즘 PCEKeyDer((sk ( i 1 ,...,il- 1),(i 1 ,...,i l ))-> sk( i 1 ,...,il ) ) : (hierarchical list(i 1 ,...,i l )로 명시된) 카테고리의 이름, Parent 카테고리 cat ( i 1 ,...,il-1 )(또는 l=1인 Sk root )에 대한 복호키를 sk ( i 1 ,...,il-1 )를 입력하여 카테고리 cat ( i 1 ,...,il- 1)에 대한 복호키 sk ( i 1 ,...,il )를 출력한다. 여기서, 상기 키도출 알고리즘은 상기 정보암호화 단계(S20)에 포함될 수 있다.
③ 암호 알고리즘 Enc( PK root ,(i 1 ,...,i l ),m )->c : 공개키와 list(i 1 ,...,i l ) 로 명시된 카테고리를 입력하여 카테고리 cat ( i 1 ,...,il )에 대한 m의 암호화를 출력한다. 여기서, 상기 암호 알고리즘은 상기 정보암호화 단계(S20)에 포함될 수 있다.
④ 복호 알고리즘 Dec(sk( i 1 ,...,il ),c )-> m : 카테고리 이름 (i 1 ,...,i l ) , 대응되는 복호키 sk( i 1 ,...,il ), 암호문 c를 입력한다. 카테고리 cat ( i 1 ,...,il )에 대해서 정확히 들어맞는 암호문을 복호하여 메시지 m을 출력한다. 여기서, 상기 복호 알고리즘은 상기 정보복호화 단계(S50)에 포함될 수 있다.
이와 같이 본 실시예에 따르면, 상기 사용자 B에 대한 정보 M이 암호화된 상태로 상기 중앙서버(300)에 저장되어 있다고 할 때, 상기 사용자 A가 상기 정보 M에 대해 열람을 요청하고 이를 상기 사용자 B가 허용할 경우, 상기 사용자 B가 상기 사용자 A를 포함한 사용자 계층에게 허여된 범위 내에서 암호화된 정보 M을 복호화시킬 수 있는 비밀키, 즉 계층키를 상기 사용자 A에게 제공할 수 있다. 그에 따라, 상기 정보 M을 생산한 상기 사용자 B 스스로가 상기 사용자 A에 대한 열람 허용 여부를 계층별로 나누어서 효율적으로 관리할 수 있다.
앞서 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시예들을 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술될 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100 : 제1 단말기 200 : 제2 단말기
300 : 중앙서버

Claims (10)

  1. 제1 단말기를 통해 사용자 A에게 공개하기 위해, 사용자 B의 정보 M에 대한 루트 공개키 PKR를 제2 단말기에서 중앙서버로 제공하는 단계(이하, 키공개 단계라 함);
    상기 정보 M이 상기 루트 공개키 PKR에 의해 암호화된 암호문 E_PKR(M)을 상기 제2 단말기에서 상기 중앙서버로 제공하는 단계(이하, 정보암호화 단계라 함);
    상기 정보 M의 열람 요구 R을 상기 제1 단말기에서 상기 제2 단말기로 제공하는 단계(이하, 열람요구 단계라 함);
    상기 제2 단말기에서 상기 열람 요구 R에 대해 허용할 경우, 상기 암호문 E_PKR(M)의 적어도 일부를 복호화하기 위한 계층키 SBK를 상기 제2 단말기에서 상기 제1 단말기로 제공하는 단계(이하, 계층키제공 단계라 함); 및
    상기 제1 단말기에서, 상기 중앙서버로부터 제공된 상기 암호문 E_PKR(M)을 상기 계층키 SBK로 복호화하여 상기 정보 M을 추출하는 단계(이하, 정보복호화 단계라함)를 포함하는 데이터 관리 방법.
  2. 제1항에 있어서, 상기 키공개 단계는
    상기 사용자 A에 대한 공개키 PKA와 비밀키 SKA를 생성하고, 상기 공개키 PKA를 상기 사용자 B를 포함한 외부 사용자에게 공개되도록 상기 제1 단말기에서 상기 중앙서버로 제공하는 단계;
    상기 사용자 B에 대한 공개키 PKB 및 비밀키 SKB를 생성하고, 상기 공개키 PKB를 상기 사용자 A를 포함한 외부 사용자에게 공개되도록 상기 제2 단말기에서 상기 중앙서버로 제공하는 단계; 및
    상기 사용자 B의 정보 M에 대한 루트 공개키 PKR 및 루트 비밀키 SKR를 생성하고, 상기 루트 공개키 PKR를 상기 사용자 A를 포함한 외부 사용자에게 공개되도록 상기 중앙서버로 제공하는 단계를 포함하는 것을 특징으로 하는 데이터 관리 방법.
  3. 제2항에 있어서, 상기 정보암호화 단계는
    상기 제2 단말기에서, 상기 루트 비밀키 SKR로부터 계층키 SBK를 생성하는 단계;
    상기 제2 단말기에서, 상기 정보 M을 상기 루트 공개키 PKR로 암호화하여 암호문 E_PKR(M)을 생성하는 단계; 및
    상기 암호문 E_PKR(M)을 상기 제2 단말기에서 상기 중앙서버로 제공하는 단계를 포함하는 것을 특징으로 하는 데이터 관리 방법.
  4. 제3항에 있어서, 상기 열람요구 단계는
    상기 제1 단말기에서, 상기 정보 M의 열람 요구 R을 상기 공개키 PKB로 암호화하여 암호문 E_PKB(R)를 생성하는 단계;
    상기 암호문 E_PKB(R)를 상기 제1 단말기에서 상기 중앙서버로 제공하는 단계;
    상기 중앙서버에서 상기 제2 단말기로 상기 암호문 E_PKB(R)를 제공하는 단계; 및
    상기 제2 단말기에서, 상기 암호문 E_PKB(R)를 상기 비밀키 SKB로 복호하여 상기 열람 요구 R을 추출하는 단계를 포함하는 것을 특징으로 하는 데이터 관리 방법.
  5. 제4항에 있어서, 상기 계층키제공 단계는
    상기 제2 단말기에서, 상기 열람 요구 R에 대해 허용할 경우, 상기 계층키 SBK를 상기 공개키 PKA로 암호화하여 암호문 E_PKA(SBK)를 생성하는 단계;
    상기 암호문 E_PKA(SBK)을 상기 제2 단말기에서 상기 중앙서버로 제공하는 단계;
    상기 중앙서버에서 상기 제1 단말기로 상기 암호문 E_PKA(SBK)를 제공하는 단계; 및
    상기 제1 단말기에서, 상기 암호문 E_PKA(SBK)를 상기 비밀키 SKA로 복호하여 상기 계층키 SBK을 추출하는 단계를 포함하는 것을 특징으로 하는 데이터 관리 방법.
  6. 제5항에 있어서, 상기 정보복호화 단계는
    상기 중앙서버에서 상기 제1 단말기로 상기 암호문 E_PKR(M)을 제공하는 단계; 및
    상기 제1 단말기에서, 상기 암호문 E_PKR(M)을 상기 계층키 SBK로 복호화하여 상기 정보 M을 추출하는 단계를 포함하는 데이터 관리 방법.
  7. 제6항에 있어서, 상기 계층키 SBK는
    상기 외부 사용자 중 상기 사용자 A를 포함한 사용자 계층에 대해 부여된 비밀키인 것을 특징으로 하는 테이터 관리 방법.
  8. 제7항에 있어서, 상기 계층키 SBK는
    상기 암호문 E_PKR(M)을 복호화할 때, 상기 사용자 A를 포함한 사용자 계층에게 허여된 범위 내에서 복호화시킬 수 있는 비밀키인 것을 특징으로 하는 데이터 관리 방법.
  9. 제1항에 있어서, 상기 키공개 단계에서는, 상기 사용자 B의 정보 M 및 상기 정보 M의 인덱스 DX에 대한 루트 공개키 PKR를 상기 제2 단말기에서 상기 중앙서버로 제공하고,
    상기 정보암호화 단계에서는, 상기 정보 M이 상기 루트 공개키 PKR에 의해 암호화된 암호문 E_PKR(M) 및 상기 인덱스 DX가 상기 루트 공개키 PKR에 의해 암호화된 E_PKR(DX)을 상기 제2 단말기에서 상기 중앙서버로 제공하며,
    상기 정보복호화 단계에서는, 상기 제1 단말기에서, 상기 중앙서버로부터 제공된 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 상기 계층키 SBK로 복호화하여 상기 정보 M 및 인덱스 DX을 추출하는 것을 특징으로 하는 데이터 관리 방법.
  10. 사용자 A를 위한 제1 단말기;
    사용자 B를 위한 제2 단말기; 및
    상기 제1 및 제2 단말기들과 유선 또는 무선으로 접속되어 신호 및 데이터를 주고받는 중앙서버를 포함하고,
    상기 제1 단말기는 상기 사용자 A에 대한 공개키 PKA와 비밀키 SKA를 생성하고, 상기 공개키 PKA를 상기 사용자 B를 포함한 외부 사용자에게 공개되도록 상기 중앙서버로 제공하고,
    상기 제2 단말기는 상기 사용자 B에 대한 공개키 PKB 및 비밀키 SKB를 생성하고, 상기 공개키 PKB를 상기 사용자 A를 포함한 외부 사용자에게 공개되도록 상기 중앙서버로 제공하며,
    상기 제2 단말기는 상기 사용자 B의 정보 M 및 상기 정보 M의 인덱스 DX에 대한 루트 공개키 PKR 및 루트 비밀키 SKR를 생성하고, 상기 사용자 A를 포함한 외부 사용자에게 공개되도록 상기 중앙서버로 제공하고,
    상기 제2 단말기는 상기 루트 비밀키 SKR로부터 계층키 SBK를 생성하고, 상기 정보 M 및 상기 인덱스 DX를 상기 루트 공개키 PKR로 암호화하여 암호문 E_PKR(M) 및 E_PKR(DX)을 생성하고, 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 상기 중앙서버로 제공하며,
    상기 제1 단말기는 상기 정보 M의 열람 요구 R을 상기 공개키 PKB로 암호화하여 암호문 E_PKB(R)를 생성하고, 상기 암호문 E_PKB(R)를 상기 중앙서버로 제공하고,
    상기 제2 단말기는 상기 중앙서버로부터 상기 암호문 E_PKB(R)를 제공받고, 상기 암호문 E_PKB(R)를 상기 비밀키 SKB로 복호하여 상기 열람 요구 R을 추출하며,
    상기 제2 단말기는 상기 열람 요구 R에 대해 허용할 경우, 상기 계층키 SBK를 상기 공개키 PKA로 암호화하여 암호문 E_PKA(SBK)를 생성하고, 상기 암호문 E_PKA(SBK)을 상기 중앙서버로 제공하고,
    상기 제1 단말기는 상기 중앙서버로부터 상기 암호문 E_PKA(SBK)를 제공받고, 상기 암호문 E_PKA(SBK)를 상기 비밀키 SKA로 복호하여 상기 계층키 SBK을 추출하며,
    상기 제1 단말기는 상기 중앙서버로부터 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 제공받고, 상기 암호문 E_PKR(M) 및 E_PKR(DX)을 상기 계층키 SBK로 복호화하여 상기 정보 M 및 인덱스 DX를 추출하는 것을 특징으로 하는 클라우드 서비스 시스템.
KR1020120156173A 2012-12-28 2012-12-28 데이터 관리 방법 및 이를 이용한 클라우드 서비스 시스템 KR101412673B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120156173A KR101412673B1 (ko) 2012-12-28 2012-12-28 데이터 관리 방법 및 이를 이용한 클라우드 서비스 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120156173A KR101412673B1 (ko) 2012-12-28 2012-12-28 데이터 관리 방법 및 이를 이용한 클라우드 서비스 시스템

Publications (1)

Publication Number Publication Date
KR101412673B1 true KR101412673B1 (ko) 2014-07-01

Family

ID=51740654

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120156173A KR101412673B1 (ko) 2012-12-28 2012-12-28 데이터 관리 방법 및 이를 이용한 클라우드 서비스 시스템

Country Status (1)

Country Link
KR (1) KR101412673B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102495450B1 (ko) 2022-06-10 2023-02-06 요다정보기술(주) 클라우드 환경에서의 파일공유 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090001630A (ko) * 2007-05-04 2009-01-09 삼성전자주식회사 컨텐츠 권리 공유 시스템 및 방법
KR20110029773A (ko) * 2009-09-16 2011-03-23 동국대학교 경주캠퍼스 산학협력단 차량용 블랙박스 데이터의 하이브리드 프록시 기반 접근 제어 장치 및 그 방법
KR20120091507A (ko) * 2011-01-14 2012-08-20 동국대학교 경주캠퍼스 산학협력단 데이터 접근 권한 관리 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090001630A (ko) * 2007-05-04 2009-01-09 삼성전자주식회사 컨텐츠 권리 공유 시스템 및 방법
KR20110029773A (ko) * 2009-09-16 2011-03-23 동국대학교 경주캠퍼스 산학협력단 차량용 블랙박스 데이터의 하이브리드 프록시 기반 접근 제어 장치 및 그 방법
KR20120091507A (ko) * 2011-01-14 2012-08-20 동국대학교 경주캠퍼스 산학협력단 데이터 접근 권한 관리 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102495450B1 (ko) 2022-06-10 2023-02-06 요다정보기술(주) 클라우드 환경에서의 파일공유 시스템

Similar Documents

Publication Publication Date Title
CN109243583B (zh) 基于区块链的医疗影像数据去中心化管理的方法及设备
Fabian et al. Collaborative and secure sharing of healthcare data in multi-clouds
CN105263051B (zh) 便携式认证设备
Pang et al. Ecosystem analysis in the design of open platform-based in-home healthcare terminals towards the internet-of-things
US10187389B2 (en) Technologies for supporting multiple digital rights management protocols on a client device
CN104935626B (zh) 用于有效、安全分发数字内容的系统和方法
CN107294709A (zh) 一种区块链数据处理方法、装置及系统
US10735186B2 (en) Revocable stream ciphers for upgrading encryption in a shared resource environment
CN103502994A (zh) 用于处理隐私数据的方法
US20120303967A1 (en) Digital rights management system and method for protecting digital content
KR20140039361A (ko) 스마트 단말기를 통한 건강 상태 체크 방법 및 이를 이용한 건강 상태 체크 시스템
JP2022506740A (ja) 個人情報処理のための暗号化システム及び方法
Martínez et al. A user-centric Internet of Things platform to empower users for managing security and privacy concerns in the Internet of Energy
CN105850072B (zh) 数据处理系统、加密装置以及解密装置
Yuan et al. Privacy-preserving photo sharing based on a public key infrastructure
Thilakanathan et al. Secure multiparty data sharing in the cloud using hardware-based TPM devices
CN102057379A (zh) 保健数据处理的方法和系统
Hussain et al. Sharing is caring–design and demonstration of a data privacy tool for interorganizational transfer of data
KR101412673B1 (ko) 데이터 관리 방법 및 이를 이용한 클라우드 서비스 시스템
KR20170022455A (ko) 협력형으로 개인정보를 보호하는 통신환경에서의 분석서버 및 분석서버의 동작 방법, 서비스제공장치 및 서비스제공장치의 동작 방법
KR101812311B1 (ko) 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법
KR20160040399A (ko) 개인정보 관리 시스템 및 개인정보 관리 방법
CN116095671B (zh) 一种基于元宇宙的资源共享方法及其相关设备
JP6919484B2 (ja) 暗号通信方法、暗号通信システム、鍵発行装置、プログラム
Lee et al. Resource centric security to protect customer energy information in the smart grid

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

Year of fee payment: 5