KR101389981B1 - 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 및 엑세스 방법 - Google Patents

퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 및 엑세스 방법 Download PDF

Info

Publication number
KR101389981B1
KR101389981B1 KR1020120097344A KR20120097344A KR101389981B1 KR 101389981 B1 KR101389981 B1 KR 101389981B1 KR 1020120097344 A KR1020120097344 A KR 1020120097344A KR 20120097344 A KR20120097344 A KR 20120097344A KR 101389981 B1 KR101389981 B1 KR 101389981B1
Authority
KR
South Korea
Prior art keywords
data
public
private
encrypted
key
Prior art date
Application number
KR1020120097344A
Other languages
English (en)
Other versions
KR20140033573A (ko
Inventor
이승룡
지샨 페베즈
Original Assignee
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경희대학교 산학협력단 filed Critical 경희대학교 산학협력단
Priority to KR1020120097344A priority Critical patent/KR101389981B1/ko
Publication of KR20140033573A publication Critical patent/KR20140033573A/ko
Application granted granted Critical
Publication of KR101389981B1 publication Critical patent/KR101389981B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

타깃 사용자를 위하여 클라우드 스토리지에 데이터를 위임하고 또한 위임된 데이터에 엑세스하는 방법이 개시된다. 일 실시예에 따른 데이터의 위임 방법은 권한 엔티티(authority)와 접촉하여 상기 타깃 사용자의 아이덴티티 속성들을 확인하는 초기화 단계, 확인된 아이덴티티 속성들을 퍼블릭 인코딩 함수와 프라이빗 인코딩 함수로 인코딩하는 정책 모델링 단계, 랜덤 마스크와 프라이빗 인코딩 함수로 인코딩된 프라이빗 속성값들을 이용하여 생성된 마스터 키로 데이터를 암호화하는 데이터 은닉 단계, 퍼블릭 속성값들과 퍼블릭 인코딩 함수로 인코딩된 프라이빗 속성값들을 암호화하는 정책 은닉 단계, 및 암호화된 프라이빗 속성값, 암호화된 퍼블릭 속성값, 및 암호화된 데이터와 함께 은닉된 랜덤 마스크와 마스터 키를 클라우드 스토리지에 전달하는 위임 단계를 포함한다.

Description

퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 및 엑세스 방법{Data delegation method for public cloud storage service and data access method for the delegated data}
본 발명은 퍼블릭 클라우드 스토리지 서비스(public cloud storage service)에 관한 것으로, 보다 구체적으로 데이터를 위임하고 또한 위임된 데이터에 엑세스를 하기 위한 퍼블릭 클라우드 스토리지 서비스에서의 엑세스 제어 정책(access control policy)을 활성화하는 방법과 관련된다.
퍼블릭 클라우드 스토리지 서비스에서 정당한 권한을 갖는 데이터 엑세스를 보장하기 위하여, 엑세스 제어 정책 프레임워크가 사용되고 있다. 엑세스 제어 정책 프레임워크라는 개념은 사용자의 엑세스 파라미터가 데이터 소유자에 의하여 규정된 엑세스 제어 정책에 부합하는지를 보장하는 것과 관련된다. 이러한 엑세스 제어 정책은 일반적으로 신뢰성있는 엔트티(trustable entity)에 의하여 검증(evaluation)되는 것을 전제로 하고 있다.
퍼블릭 클라우드 스토리지 서비스에서 엑세스 제어 정책 프레임워크를 사용하는 것과 관련하여 여러 가지 알고리즘들리 제안되었다. 그 중의 하나는 비특허문헌 1이다. 비특허문헌 1에서, Weichao Wang 등은 대규모의 대용량 데이터를 위한 클라우드 기반 데이터 공유 시스템(cloud based data sharing system)을 제안하고 있다. 정교한 엑세스 제어를 달성하기 위하여, 데이터는 복수의 데이터 블록들
Figure 112012071065264-pat00001
로 나누어지는데 각 데이터 블록은 고유의 블록 부호화키(distinctive block encryption key)로 부호화된다. 이들 부호화키들은 이진 트리(binary tree)에서 부모 노드(parent node), 즉 비-잎 노드(non-leaf node)로부터 유효한 블록 부호화키를 유추하는 가능성을 가지고 데이터 소유자에 의하여 관리된다. 데이터 소유자는 직접 모든 합법적인 사용자에게 비밀 값(secret value)과 함께 보안 토큰(security token)을 발행한다. 보안 토큰은 적법한 사용자에 의하여 개시되는 요청을 보장하기 위하여 스토리지 제공자에 의하여 사용된다. 데이터 소유자는 직접 사용자의 엑세스 권한(access privileges)을 평가한 후에 적절한 비밀 값을 공개한다.
비특허문헌 2에는 정책 기반 보장 파일 삭제(policy-based assured file deletion)에 기초한 보안 오브레이 클라우드 시스템(secure overlay cloud storage system)인 FADE가 개시되어 있다. 기밀성이 보장되고 또한 권한있는 데이터 엑세스를 보장하기 위하여, 아웃소싱되는 데이터(outsourced data)를 은닉하기 위하여 데이터 암호화 키(data encryption key)가 사용되고, 데이터 암호화 키를 암호화하기 위하여 제어 키(control key)가 사용된다. 은닉된 아웃소싱된 데이터와 데이터 암호화 키는 클라우드 스토리지로 내보내지는 반면, 제어 키는 키 관리자에 의하여 관리된다. 이 키 관리자에 의하여 정책이 유지되고 검증된다. 이에 의하면, 정책이 변경될 때마다, 적절한 제어 키는 삭제되어서 아웃소싱된 데이터에 대한 엑세스가 제한되는 한계가 있다.
비특허문헌 3에는 아마존 S3에 기반한 스토리지 서비스인 트러스트스토어(TrustStore)가 개시되어 있다. 트러스트스토어에서는 스토리지 가입자들이 데이터 기밀성과 무결성이 고려된 상황에서 스토리지 서비스 제공자(Storage Service Provider, SSP)에게 그들의 비밀 데이터를 아웃소싱할 수 있다. 트러스트스토어에서는 키 관리 서비스 제공자(Key Management Service Provider, KMSP)를 사용하여 복호화 키를 생성하여 배포하는 것에 추가하여, 이 KMSP가 또한 사용자 인증의 책임을 맡는다. 트러스트스토어에서는 데이터를 두 부분, 즉 데이터 조각들(data-fragments)과 메타데이터 오브젝트(meta-data object)로 분리한다. 데이터 조각들은 데이터를 같은 크기로 분할한 것으로서, 각각 서로 구별되는 부호화 키를 사용하여 부호화된다. 그리고 메타데이터 오브젝트는 부호화 키와 데이터 조각들에 대한 정보를 담고 있다. 데이터 조각들은 스토리지 제공자들에게 아웃소싱되며, 메타데이터는 KMSP에 저장된다.
비특허문헌 4에는 암호 클라우드 스토리지(Cryptographic Cloud Storage)가 개시되어 있다. 암호 클라우드 스토리지는 3개의 주요 구성요소, 즉 데이터 프로세서(Data Processor, DP), 데이터 인증기(Data Verifier, DV), 및 신임장 생성기(Credential Generator, CG)로 구성되어 있다. DP는 아웃소싱된 데이터를 부호화하고, DV는 클라우드 스토리지에서 데이터 무결성을 인증하며, CG는 데이터 소유자가 아웃소싱된 데이터를 공유하기를 원하는 사용자들을 위하여 복호화 키를 생성한다. 복호화 키는 엑세스 제어 정책과 사용자의 엑세스 권한에 따라서 생성된다. 이러한 암호 클라우드 스토리지를 이용하면, 복호화 키를 ABE(Attributes Based Encryption)를 이용하여 암호화함으로써 정교한 엑세스 제어를 달성할 수 있다(비특허문헌 5 참조).
그러나 전술한 비특허문헌들에 개시되어 있는 엑세스 제어 정책들은 모두 스토리지 서비스 제공자 및/또는 인증 관리자가 신뢰할만한 엔티티인 것을 전제로 하고 있다. 하지만, 현실적으로 스토리지 서비스 제공자 및/또는 인증 관리자가 100% 신뢰하기 어려운 측면이 있을 뿐만 아니라 또한 아웃소싱된 데이터에 대한 불법적인 접근을 기술적으로 완벽하게 차단하기는 어려운 측면이 있기 때문에, 스토리지 시스템 전체가 비신뢰 시스템일 수도 있다. 이러한 상황에서, 전술한 비특허문헌들에 개시되어 있는 엑세스 제어 정책들은 보안성과 기밀성을 완벽하게 달성하기에 한계가 있다.
1. Wang, W., Li, Z., Owens, R., Bhargava, B.: Secure and efficient access to outsourced data. In: Proceedings of the 2009 ACM workshop on Cloud computing security, CCSW '09, pp. 55-66. ACM, New York, NY, USA (2009). 2. Tang, Y., Lee, P.P.C., Lui, J.C.S., Perlman, R.: Fade: Secure overlay cloud storage with file assured deletion. In: SecureComm, pp. 380-397 (2010). 3. Yao, J., Chen, S., Nepal, S., Levy, D., Zic, J.: Truststore: Making amazon s3 trustworthy with services composition. In: Cluster, Cloud and Grid Computing (CCGrid), 2010 10th IEEE/ACM International Conference on, pp. 600 -605 (2010). 4. Kamara, S., Lauter, K.: Cryptographic cloud storage. In: Proceedings of the 14th international conference on Financial cryptography and data security, FC'10, pp. 136-149. Springer-Verlag, Berlin, Heidelberg (2010). 5. Goyal, V., Pandey, O., Sahai, A., Waters, B.: Attribute-based encryption for fine-grained access control of encrypted data. In: Proceedings of the 13th ACM conference on Computer and communications security, CCS '06, pp. 89-98. ACM, New York, NY, USA (2006).
엑세스 제어 정책은 권한을 부여 받은 사용자(authorized user)만이 리소스에 엑세스할 수 있도록 하는 것이다. 데이터 공유 시스템에서는 이러한 엑세스 제어 정책이 다수의 사용자들 사이에서 공유되는 데이터에 대한 엑세스를 지배하고 관리한다. 통상적으로 엑세스 제어 정책을 검증하기 위하여, 엑세스 파라미터(access parameters)가 이 정책에 부합하는지를 체크할 수 있는 신뢰할만한 엔티티(trusted entity)가 요구된다. 이 경우에는 엑세스 제어 정책을 검증하기 위하여 정책 검증자(policy evaluator)는 엑세스 제어 정책과 함께 권한을 부여 받은 사용자의 엑세스 파라미터를 알게 되는 것이 허용된다.
퍼블릭 클라우드 스토리지 서비스에서, 스토리지 제공자는 신뢰할만한 엔티티(trustable entity)로 간주되지 않을 수가 있다. 이 경우에, 만일 스토리지 제공자가 엑세스 제어 정책을 검증하는 동안에 아웃소싱되는 데이터나 정보에 대한 비밀 정보를 알게 된다면, 아웃소싱되는 데이터의 비밀유지(privacy)는 잘 되지 않을 수가 있다. 이러한 문제를 해결하기 위하여, 본 발명에서는 암호화된 엑세스 제어 정책 프레임워크가 제안된다.
본 발명이 해결하고자 하는 하나의 과제는 비록 퍼블릭 클라우드 스토리지 서비스의 제공자가 신뢰할 수 없는 엔티티(untrusted entity)라고 하더라도 아웃소싱되는 데이터나 정보의 기밀성을 유지할 수 있는 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 방법 및 위임된 데이터에 대한 엑세스 방법을 제공하는 것이다.
상기한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 방법은 타깃 사용자를 위하여 클라우드 스토리지에 데이터를 위임하는 방법으로서, 권한 엔티티(authority)와 접촉하여 상기 타깃 사용자의 아이덴티티 속성들을 확인하는 초기화 단계, 확인된 상기 아이덴티티 속성들을 퍼블릭 인코딩 함수와 프라이빗 인코딩 함수로 인코딩하는 정책 모델링 단계, 랜덤 마스크와 상기 프라이빗 인코딩 함수로 인코딩된 프라이빗 속성값들을 이용하여 생성된 마스터 키로 상기 데이터를 암호화하는 데이터 은닉 단계, 상기 퍼블릭 속성값들과 상기 퍼블릭 인코딩 함수로 인코딩된 프라이빗 속성값들을 암호화하는 정책 은닉 단계, 및 상기 암호화된 프라이빗 속성값, 상기 암호화된 퍼블릭 속성값, 및 상기 암호화된 데이터와 함께 은닉된 상기 랜덤 마스크와 상기 마스터 키를 상기 클라우드 스토리지에 전달하는 위임 단계를 포함한다.
상기 실시예의 일 측면에 의하면, 상기 마스터 키는 상기 데이터 은닉 단계에서 상기 인코딩된 프라이빗 속성값들을 시드로 사용하여 생성된 가상 랜덤 함수로 초기화하여 구할 수 있다.
상기 실시예의 다른 측면에 의하면, 상기 퍼블릭 속성값들은 랜덤 대칭 인코딩 키를 사용하여 암호화하고, 상기 프라이븟 속성값들은 대칭 인코딩 키를 암호화하되, 상기 대칭 인코딩 키는 상기 프라이빗 속성값들 각각에 대하여 대응되는 퍼블릭 속성값과 상기 랜덤 마스크를 사용하여 가상 랜덤 함수를 초기화할 수 있다.
상기한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 퍼블릭 클라우드 스토리지 서비스를 위한 위임된 데이터에 대한 엑세스 방법은 전술한 데이터 위임 방법에 따라서 위임된 데이터에 엑세스하기 위한 방법으로서, 상기 타깃 사용자가 상기 퍼블릭 속성값들을 획득하고 또한 상기 데이터에 대한 엑세스 요청을 모델링하여 암호화된 데이터 엑세스 요청을 전달하는 속성 준비 단계, 상기 암호화된 퍼블릭 속성값들과 상기 퍼블릭 인코딩 함수로 인코딩된 암호화된 프라이빗 속성값들을 이용하여 데이터 엑세스 제어 정책을 검증하는 정책 검증 단계, 및 상기 정책 검증 단계의 검증 결과를 이용하여 위임된 상기 데이터를 복호화하는 단계를 포함한다.
상기 실시예의 일 측면에 의하면, 상기 속성 준비 단계는 상기 클라우드 스토리지로부터 상기 은닉된 랜덤 마스크와 은닉된 적법성 키를 획득하는 단계, 프라이빗 키를 사용하여 상기 은닉된 랜덤 마스크와 은닉된 적법성 키를 복호화하여 상기 랜덤 마스크와 상기 적법성 키를 얻는 단계, 및 아이덴티티 속성들에 대하여 상기 퍼블릭 속성값들을 계산하는 단계를 포함할 수 있다.
본 발명에 따른 엑세스 제어 정책의 구현 방법에 의하면, 정당한 권한이 있는 사용자는 아웃소싱되는 데이터에 대한 접속은 허용하지만, 스토리지 제공자는 엑세스 제어 정책을 검증하는 과정에서 아웃소싱되는 데이터나 정보에 대하여 전혀 알 수가 없다. 따라서 본 발명에 의하면, 퍼블릭 클라우드 스토리지 서비스 등과 같이 서비스 제공자나 사용자들의 접속을 제어하는 인증 권한을 가진 엔티티가 완전히 신뢰할 수 없는 시스템이라고 하더라도, 아웃소싱되는 데이터의 비밀유지가 충분히 이루어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 엑세스 제어 모델링 과정의 일례를 보여주는 블록 다이어그램이다.
도 2는 본 발명의 일 실시예에 따른 엑세스 제어 모델링 과정의 일례를 보여 주는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 암호화된 엑세스 제어 정책 검증 과정의 일례를 보여주는 블록 다이어그램이다.
도 4는 도 3의 엑세스 제어 정책 검증 과정에 대응하는 흐름도의 일례이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세하게 설명한다. 사용되는 용어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 후술하는 실시예들에서 사용된 용어의 의미는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 엑세스 제어 모델링 과정의 일례를 보여주는 블록 다이어그램이다. 그리고 도 2는 도 1의 엑세스 제어 모델링 과정에 대응하는 흐름도의 일례이다.
도 1 및 도 2를 참조하면, 우선 타깃 사용자의 아이덴티티 정보(identity information)를 획득하기 위한 초기화 과정이 진행된다(도 1의 블록 101, 도 2의 단계 S11). 이를 위하여, 기밀이 유지되는 데이터를 타깃 사용자와 공유하기 위하여, 데이터 소유자는 권한 엔티티(authority)와 접촉하여 타깃 사용자의 아이덴티티 속성들(identity attributes,
Figure 112012071065264-pat00002
)을 전달하고 이에 대한 확인을 요청한다. 데이터 소유자의 요청에 대한 응답으로, 권한 엔티티는 타깃 사용자의 아이덴티티 속성들이 아이덴티티 선택 기준(identity selection criteria)을 충족하는지 확인을 해준다. 이외에도, 권한 엔티티는 또한 타깃 사용자의 퍼블릭 키(
Figure 112012071065264-pat00003
)를 데이터 소유자에게 제공할 수 있다.
그리고 이러한 초기화 과정 이후에, 데이터 소유자가 퍼블릭 스토리지 서버로 데이터를 아웃소싱하는 절차가 진행된다(도 1의 블록 102 이후 및 도 2의 단계S12 이후). 본 발명의 실시예에 의하면, 아웃소싱되는 데이터의 비밀유지가 이루어질 수 있도록, 후술하는 데이터 아웃소싱 절차는 네 개의 서로 연관된 단계들, 즉 정책 모델링(policy modeling) 단계, 데이터 은닉(data concealment) 단계, 정책 은닉(policy concealment) 단계, 및 위임(delegation) 단계를 포함하여 구성된다.
먼저, 정책 모델링 단계에서는 두 개의 인코딩 함수, 즉 퍼블릭 인코딩 함수(public encoding function)와 프라이빗 인코딩 함수(private encoding function)를 사용하여, 확인된 아이덴티티 속성들을 인코딩한다(도 1의 블록 102, 103, 104 및 도 2의 단계 S12). 이것은 데이터 소유자가 인코딩 함수들을 사용하여 확인된 아이덴티티 속성들을 인코딩함으로써, 이러한 것들을 소유하고 있다는 것이 사용자의 적법성과 진정성(legitimacy and authenticity)을 보장할 수 있도록 활용하기 위한 것이다. 본 단계에서는 각각의 확인된 아이덴티티 속성(
Figure 112012071065264-pat00004
)에 대하여, 데이터 소유자는 두 개의 인코딩 함수(encoding function)를 사용하여 수학식 1과 같은 두 개의 값, 즉 퍼블릭 인코딩된 아이덴티티 속성값(public encoded identity attribute value,
Figure 112012071065264-pat00005
, 이하, '퍼블릭 속성값(public values)'이라 한다) 및 프라이빗 인코딩된 아이덴티티 속성값(private encoded identity attribute value,
Figure 112012071065264-pat00006
, 이하, '프라이빗 속성값(private values)'이라 한다)을 계산한다. 도 1에서 블록 103과 블록 104는 각각 블록 102의 결과로 생성되는 프라이빗 속성값과 퍼블릭 속성값을 가리킨다.
Figure 112012071065264-pat00007
여기서, H1은 퍼블릭 인코딩 함수이고, H2는 프라이빗 인코딩 함수이다.
다음으로, 클라우드 스토리지(도 1의 블록 112)로 아웃소싱될 데이터에 대한 은닉 단계가 진행된다(도 1의 블록 103, 105, 106, 110 및 도 2의 단계 S13). 즉, 전술한 단계에서 생성된 프라이빗 속성값들(블록 103)을 이용하여 생성된 마스터 키(master key)로 아웃소싱될 데이터를 부호화한다. 보다 구체적으로, 먼저 정책 모델링 단계에서 생성된 프라이빗 속성값들(
Figure 112012071065264-pat00008
, 블록 103)을 시드(seed)로 사용하여 가상 랜덤 함수(pseudo random function,
Figure 112012071065264-pat00009
)를 생성한다. 그리고 생성된 가상 랜덤 함수는 마스터 암호화 키(
Figure 112012071065264-pat00010
), 즉 데이터 암호화 키(data encryption key)를 초기화하는데, 아웃소싱될 데이터(블록 105)는 이 초기화를 통해 유도된 마스터 기(
Figure 112012071065264-pat00011
)를 이용하여 암호화한다(
Figure 112012071065264-pat00012
, 블록 106). 그리고 이와 같이 암호화된 데이터(encrypted data, 블록 110)가 클라우드 서버(블록 112)로 아웃소싱된다.
계속해서, 프라이빗 속성값들과 퍼블릭 속성값들을 암호화하는 정책 은닉 단계가 수행된다(도 1의 블록 103, 104, 107, 108, 111 및 도 2의 단계 S14). 은닉 단계에서는 먼저, 정책 모델링 단계에서 생성된 프라이빗 속성값들(
Figure 112012071065264-pat00013
, 블록 103)을 은닉하기 위하여 랜덤 마스크(
Figure 112012071065264-pat00014
)를 생성한다. 그리고 각 프라이빗 속성값(
Figure 112012071065264-pat00015
)에 대하여, 대응되는 퍼블릭 속성값(
Figure 112012071065264-pat00016
)과 랜덤 마스크(
Figure 112012071065264-pat00017
)를 사용하여 가상 랜덤 함수(
Figure 112012071065264-pat00018
)를 초기화한다(블록 107). 그 결과, 대칭 암호화 키(symmetric encryption key), 즉 위임 키(mandatory key :
Figure 112012071065264-pat00019
)가 생성된다. 이러한 과정은 다음의 수학식 2와 같이 표현될 수 있다. 그리고 각 프라이빗 속성값(
Figure 112012071065264-pat00020
)은 각각의 대칭 암호화 키(
Figure 112012071065264-pat00021
)를 사용하여 암호화한다(블록 108). 암화화의 결과, 즉 암호화된 프라이빗 속성값들은
Figure 112012071065264-pat00022
로 표시할 수 있다.
Figure 112012071065264-pat00023
그리고 데이터 소유자는 랜덤 대칭 암호화 키(random symmetric encryption key), 즉 적법성 키(legitimacy key,
Figure 112012071065264-pat00024
)를 생성하고, 이 랜덤 대칭 암호화 키(
Figure 112012071065264-pat00025
)를 이용하여 퍼블릭 속성값들(
Figure 112012071065264-pat00026
, 블록 104) 각각을 암호화한다(블록 108). 암호화의 결과, 즉 암호화된 퍼블릭 속성값들은
Figure 112012071065264-pat00027
로 표시할 수 있다.
마지막으로 암호화된 데이터를 포함한 정보들을 클라우드 스토리지에 저장하는 위임 단계가 수행된다(도 1의 블록 109 - 112 및 도 2의 단계 S15). 보다 구체적으로, 본 위임 단계에서 데이터 소유자는 암호화된 데이터(블록 110)는 물론 전술한 과정에서 은닉된 랜덤 마스크(
Figure 112012071065264-pat00028
) 및 은닉된 적법성 키(
Figure 112012071065264-pat00029
)와 함께 암호화된 값들, 즉 암호화된 퍼블릭 속성값들
Figure 112012071065264-pat00030
과 암호화된 프라이빗 속성값들
Figure 112012071065264-pat00031
(블록 111)을 클라우드 스토리지(112)로 아웃소싱함으로써 정책 검증 절차(policy evaluation process)를 위임한다.
도 3은 본 발명의 일 실시예에 따른 암호화된 엑세스 제어 정책 검증 과정의 일례를 보여주는 블록 다이어그램이다. 그리고 도 4는 도 3의 엑세스 제어 정책 검증 과정에 대응하는 흐름도의 일례이다. 본 실시예에 따른 엑세스 제어 정책 검증 과정은 사용자가 클라우드 스토리지에 위임되어 있는 데이터에 대한 엑세스, 즉 파일 엑세스(file access)를 수행할 경우에 수행될 수 있지만, 여기에만 한정되는 것은 아니다.
만일 타깃 사용자가 요구되는 속성들의 집합(required set of attributes)을 소유하고 있다면, 이 타깃 사용자는 비밀값들을 알고 난 이후에 클라우드 서버와 위임된 프라이빗 매칭(delegated Private Matching, DPM) 프로토콜을 시작한다. 엑세스 제어 정책을 검증하고 그리고 권한이 있는 타깃 사용자가 유효한 마스터 키를 유추하는 것을 도와줄 수 있도록, 파일 엑세스 과정은 세 개의 연관된 단계들, 즉 속성 준비(attribute preparation) 단계, 정책 검증(policy evaluation) 단계, 및 위임된 값 복원(mandatory value recovery) 단계를 포함한다.
도 3 및 도 4를 참조하면, 클라우드 스토리지에 저장되어 있는 데이터에 접속하고자 하는 타깃 사용자는 퍼블릭 속성값들을 획득하는 속성 준비 단계를 수행한다(도 3의 블록 201 - 206 및 도 4의 단계 S21 및 단계 S22),
보다 구체적으로, 아웃소싱된 데이터에 엑세스하기 위하여, 먼저 타깃 사용자는 클라우드 서버로부터 은닉된 랜덤 마스크(
Figure 112012071065264-pat00032
)와 은닉된 적법성 키(
Figure 112012071065264-pat00033
)를 획득한다. 그리고 프라이빗 키(
Figure 112012071065264-pat00034
)를 사용하여, 타깃 사용자는 은닉된 랜덤 마스크(
Figure 112012071065264-pat00035
)와 적법성 키(
Figure 112012071065264-pat00036
)를 해독하여 랜덤 마스크(
Figure 112012071065264-pat00037
)와 적법성 키(
Figure 112012071065264-pat00038
)를 얻는다. 그 이후에, 각 아이덴티티 속성(
Figure 112012071065264-pat00039
, 블록 201)에 대하여, 퍼블릭 속성값(
Figure 112012071065264-pat00040
)이 상기 수학식 1에 의하여 계산된다(블록 202). 그리고 퍼블릭 속성값들(
Figure 112012071065264-pat00041
, 블록 203)이 랜덤 대칭 인코딩 키(
Figure 112012071065264-pat00042
)를 이용하여 은닉(인코딩)되며, 인코딩된 퍼블릭 속성값들이 전달된다(단계 S21).
다음으로 엑세스 요청 모델링 과정(access request modeling)이 수행하여 암호화된 데이터 엑세스 요청(encrypted data access request)를 전달한다(단계 S22). 보다 구체적으로, 엑세스 요청 모델링 과정(블록 204)에서는 루트
Figure 112012071065264-pat00043
를 갖는 다항식
Figure 112012071065264-pat00044
가 계산될 수 있다. 그리고 타깃 사용자는 암호화 함수(encryption function)를 초기화하고, 비밀 키(secret key,
Figure 112012071065264-pat00045
)를 가지고 다항식
Figure 112012071065264-pat00046
의 계수들(
Figure 112012071065264-pat00047
)을 요청과 함께 암호화한다(블록 205 및 206). 그 다음으로, 퍼블릭 키(public key,
Figure 112012071065264-pat00048
)와 함께 암호화된 계수들(
Figure 112012071065264-pat00049
)이 암호화된 데이터 엑세스 요청(encrypted data access request)과 함께 클라우드 서버로 보내진다.
그리고 암호화된 엑세스 제어 정책을 이용하여 정책 검증 과정을 수행한다(도 3의 블록 207 및 208 및 도 4의 단계 S23). 보다 구체적으로, 인코딩된 계수들(
Figure 112012071065264-pat00050
)을 수신하자마자, 클라우드 서버는 데이터 소유자에 의하여 제공된 은닉된 값들(블록 207), 즉 인코딩된 퍼블릭 속성값들(
Figure 112012071065264-pat00051
)에 대하여 인코딩된 계수들(
Figure 112012071065264-pat00052
)을 갖는 다항식
Figure 112012071065264-pat00053
을 검증한다(블록 208). 일단 다항식
Figure 112012071065264-pat00054
가 검증이 되면, 클라우드 서버는 각 인코딩된 프라이빗 아이덴티티 속성 검증값(
Figure 112012071065264-pat00055
)에 대하여 정책 검증 결과(policy evaluation result)인 망각 값(oblivious value,
Figure 112012071065264-pat00056
)을
Figure 112012071065264-pat00057
와 같이 계산한다. 그리고 그 결과 값들인 망각 값들(
Figure 112012071065264-pat00058
)이 사용자들에게 보내진다.
다음으로 정책 검증의 결과값을 이용하여 위임된 값들을 복원하는 과정이 수행된다(도 3의 블록 209 및 도 4의 블록 S24). 보다 구체적으로, 클라우드 서버로부터 망각 값들(
Figure 112012071065264-pat00059
)을 수신하자마자, 타깃 사용자는 비밀 키(
Figure 112012071065264-pat00060
)를 이용하여
Figure 112012071065264-pat00061
을 복호화한다. 루트
Figure 112012071065264-pat00062
를 갖는 다항식
Figure 112012071065264-pat00063
가 검증되었으므로, 복호화 함수는 은닉된 값(hidden values, 블록 209), 즉 암호화된 프라이빗 아이덴티티 속성 검증값(
Figure 112012071065264-pat00064
)을 얻을 수 있다. 그러나 사용자에 의하여 생성된 은닉된 적법성 값들이 데이터 소유자가 클라우드 서버에 제공한 값들과 일치하지 않는 경우에는, 망각 값(
Figure 112012071065264-pat00065
)을 복호화하면 임의의 숫자가 표시될 것이다.
일단 사용자가 암호화된 프라이빗 아이덴티티 속성 검증값들(
Figure 112012071065264-pat00066
)을 가지게 되면, 사용자는 퍼블릭 속성값(
Figure 112012071065264-pat00067
)과 랜덤 마스크()를 이용하여 가상 랜덤 함수(
Figure 112012071065264-pat00069
)를 초기화하는데, 이것은 위임 키(
Figure 112012071065264-pat00070
)를 생성한다. 이러한 과정은 수학식 3으로 표시될 수 있다.
Figure 112012071065264-pat00071
그리고 이 위임 키(
Figure 112012071065264-pat00072
)를 이용하여 은닉된 값들을 복호화한다. 일단, 모든 값들이 얻어지면, 마스터 키가 유추된다. 마지막으로, 이 마스터 키를 사용하여 아웃소싱된 데이터에 엑세스할 수 있다.
이상의 설명은 본 발명의 실시예에 불과할 뿐, 이 실시예에 의하여 본 발명의 기술 사상이 한정되는 것으로 해석되어서는 안된다. 본 발명의 기술 사상은 특허청구범위에 기재된 발명에 의해서만 특정되어야 한다. 따라서 본 발명의 기술 사상을 벗어나지 않는 범위에서 전술한 실시예는 다양한 형태로 변형되어 구현될 수 있다는 것은 당업자에게 자명하다.
101 : 확인된 속성들(attributes)
102 : 인코딩 함수들(encoding functions)
103 : 프라이빗 값들(private values)
104 : 퍼블릭 값들(public values)
105 : 아웃소싱될 데이터(data)
106 및 107 : 암호화(encryption)
108 : 가상 랜덤 값(pseudo random value)
109 : 암호화된 데이터(encrypted data, 110) 및 암호화된 엑세스 제어 정책(encrypted access control policy, 111)
112 : 클라우드 스토리지(cloud storage)
201 : 아이덴티티 속성들(identity attributes)
202 : 인코딩 함수(encoding function)
203 : 퍼블릭 값(public value)
204 : 엑세스 요청 모델링(access request modeling)
205 : 암호화(encryption)
206 : 암호화된 요청(encrypted request)
207 : 암호화된 엑세스 제어 정책(encrypted access control policy)
208 : 정책 검증(policy evaluation)
209 : 은닉된 값들(hidden values)

Claims (5)

  1. 타깃 사용자를 위하여 클라우드 스토리지에 데이터를 위임하는 방법에 있어서,
    권한 엔티티(authority)와 접촉하여 상기 타깃 사용자의 아이덴티티 속성들을 확인하는 초기화 단계;
    확인된 상기 아이덴티티 속성들을 퍼블릭 인코딩 함수와 프라이빗 인코딩 함수로 인코딩하는 정책 모델링 단계;
    랜덤 마스크와 상기 프라이빗 인코딩 함수로 인코딩된 프라이빗 속성값들을 이용하여 생성된 마스터 키로 상기 데이터를 암호화하는 데이터 은닉 단계;
    퍼블릭 속성값들과 상기 퍼블릭 인코딩 함수로 인코딩된 프라이빗 속성값들을 암호화하는 정책 은닉 단계; 및
    상기 암호화된 프라이빗 속성값, 상기 암호화된 퍼블릭 속성값, 및 상기 암호화된 데이터와 함께 은닉된 상기 랜덤 마스크와 상기 마스터 키를 상기 클라우드 스토리지에 전달하는 위임 단계를 포함하는 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 방법.
  2. 제1항에 있어서,
    상기 마스터 키는 상기 데이터 은닉 단계에서 상기 인코딩된 프라이빗 속성값들을 시드로 사용하여 생성된 가상 랜덤 함수로 초기화하여 구하는 것을 특징으로 하는 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 방법.
  3. 제1항에 있어서,
    상기 퍼블릭 속성값들은 랜덤 대칭 인코딩 키를 사용하여 암호화하고,
    상기 프라이빗 속성값들은 대칭 인코딩 키를 암호화하되, 상기 대칭 인코딩 키는 상기 프라이빗 속성값들 각각에 대하여 대응되는 퍼블릭 속성값과 상기 랜덤 마스크를 사용하여 가상 랜덤 함수를 초기화하여 구하는 것을 특징으로 하는 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 방법.
  4. 제1항의 데이터 위임 방법에 따라서 위임된 데이터에 엑세스하기 위한 방법에 있어서,
    상기 타깃 사용자가 상기 퍼블릭 속성값들을 획득하고 또한 상기 데이터에 대한 엑세스 요청을 모델링하여 암호화된 데이터 엑세스 요청을 전달하는 속성 준비 단계;
    상기 암호화된 퍼블릭 속성값들과 상기 퍼블릭 인코딩 함수로 인코딩된 암호화된 프라이빗 속성값들을 이용하여 데이터 엑세스 제어 정책을 검증하는 정책 검증 단계; 및
    상기 정책 검증 단계의 검증 결과를 이용하여 위임된 상기 데이터를 복호화하는 단계를 포함하는 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 엑세스 방법.
  5. 제4항에 있어서, 상기 속성 준비 단계에서는
    상기 클라우드 스토리지로부터 상기 은닉된 랜덤 마스크와 은닉된 적법성 키를 획득하는 단계;
    프라이빗 키를 사용하여 상기 은닉된 랜덤 마스크와 은닉된 적법성 키를 복호화하여 상기 랜덤 마스크와 상기 적법성 키를 얻는 단계; 및
    아이덴티티 속성들에 대하여 상기 퍼블릭 속성값들을 계산하는 단계를 포함하는 것을 특징으로 하는 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 엑세스 방법.
KR1020120097344A 2012-09-03 2012-09-03 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 및 엑세스 방법 KR101389981B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120097344A KR101389981B1 (ko) 2012-09-03 2012-09-03 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 및 엑세스 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120097344A KR101389981B1 (ko) 2012-09-03 2012-09-03 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 및 엑세스 방법

Publications (2)

Publication Number Publication Date
KR20140033573A KR20140033573A (ko) 2014-03-19
KR101389981B1 true KR101389981B1 (ko) 2014-04-30

Family

ID=50644362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120097344A KR101389981B1 (ko) 2012-09-03 2012-09-03 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 및 엑세스 방법

Country Status (1)

Country Link
KR (1) KR101389981B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101593165B1 (ko) 2014-08-19 2016-02-15 한국전자통신연구원 데이터 접근 제어 방법
CN106549758B (zh) * 2016-12-09 2019-07-30 四川师范大学 支持非单调访问结构的基于属性的加密方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070109040A (ko) * 2006-05-09 2007-11-15 인하대학교 산학협력단 사용자 인증의 이중 강화를 위한 보안 관리 웹 서비스시스템 및 방법
KR20100028516A (ko) * 2008-09-04 2010-03-12 인텔 코오퍼레이션 암호화 속성을 이용하는 가속 크립토그래피

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070109040A (ko) * 2006-05-09 2007-11-15 인하대학교 산학협력단 사용자 인증의 이중 강화를 위한 보안 관리 웹 서비스시스템 및 방법
KR20100028516A (ko) * 2008-09-04 2010-03-12 인텔 코오퍼레이션 암호화 속성을 이용하는 가속 크립토그래피

Also Published As

Publication number Publication date
KR20140033573A (ko) 2014-03-19

Similar Documents

Publication Publication Date Title
JP6941146B2 (ja) データセキュリティサービス
Ali et al. SeDaSC: secure data sharing in clouds
Zhao et al. Trusted data sharing over untrusted cloud storage providers
US9332002B1 (en) Authenticating and authorizing a user by way of a digital certificate
WO2018045568A1 (zh) 一种面向云存储服务平台的访问控制方法及其系统
US9380037B2 (en) Methods and devices for trusted protocols for a non-secured, distributed environment with applications to virtualization and cloud-computing security and management
Sanka et al. Secure data access in cloud computing
US20140112470A1 (en) Method and system for key generation, backup, and migration based on trusted computing
JP2019522412A (ja) 登録・認可方法、装置及びシステム
US20100017599A1 (en) Secure digital content management using mutating identifiers
US20050193199A1 (en) Accessing protected data on network storage from multiple devices
CN106027503A (zh) 一种基于tpm的云存储数据加密方法
WO2022148182A1 (zh) 一种密钥管理方法及相关设备
CN109587115B (zh) 一种数据文件安全分发使用方法
US20240039709A1 (en) Method and apparatus for sharing encrypted data, and device and readable medium
KR102122731B1 (ko) 블록 체인 기반 키의 저장 및 복원 방법과 이를 이용한 사용자 단말
KR101389981B1 (ko) 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 및 엑세스 방법
Tiwari et al. A novel secure cloud storage architecture combining proof of retrievability and revocation
CN106790185B (zh) 基于cp-abe的权限动态更新集中信息安全访问方法和装置
US20130014286A1 (en) Method and system for making edrm-protected data objects available
Fu et al. Secure storage of data in cloud computing
KR20140004703A (ko) 제어된 보안 도메인
Priya et al. A survey: attribute based encryption for secure cloud
Tsai et al. Cloud encryption using distributed environmental keys
Sathana et al. Three level security system for dynamic group in cloud

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee