KR20180101870A - Method and system for data sharing using attribute-based encryption in cloud computing - Google Patents
Method and system for data sharing using attribute-based encryption in cloud computing Download PDFInfo
- Publication number
- KR20180101870A KR20180101870A KR1020170028373A KR20170028373A KR20180101870A KR 20180101870 A KR20180101870 A KR 20180101870A KR 1020170028373 A KR1020170028373 A KR 1020170028373A KR 20170028373 A KR20170028373 A KR 20170028373A KR 20180101870 A KR20180101870 A KR 20180101870A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- ciphertext
- user
- user terminal
- attribute
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 장치 및 방법에 관한 것으로서, 특히, 사용자별 할당된 속성값을 기반으로 공유 데이터에 대한 접근제어를 지원하며 또한 사용자의 비밀키가 유출될 시 이를 탐지하는 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템에 관한 것이다.The present invention relates to an apparatus and method for sharing data using attribute-based encryption in a cloud computing environment. More particularly, the present invention relates to an apparatus and method for sharing data using attribute-based encryption in a cloud computing environment, Data sharing using attribute-based encryption in a cloud computing environment that detects poetry And a system.
본 발명은 속성의 개수에 관계없이 항상 일정 크기의 암호문을 보장하는 속성 기반 암호화를 이용한 클라우드 컴퓨팅 환경에서의 데이터 공유 기술을 제시한다.The present invention proposes a data sharing technique in a cloud computing environment using attribute-based encryption that always guarantees a certain size of ciphertext regardless of the number of attributes.
ID 기반 암호는 특정한 ID를 기반으로 데이터를 암호화한다. 사용자가 해당 데이터를 복호하려면 ID가 일치해야 한다. 이는 다수 사용자 환경에서의 데이터 공유에 부적합하다. 속성 기반 암호는 다수의 속성(예, 학위, 나이, 성별, 직위 등)을 기반으로 데이터를 암호화한다. 사용자가 해당 데이터를 복호하려면 속성 별 조건(예, 석사학위 이상, 35세 미만, 남자, 대리급 이상)을 만족해야 한다. 이는 다수 사용자 환경에서의 데이터 공유에 적합하다. 하지만 대부분의 속성 기반 암호는 속성의 개수에 비례하여 데이터의 크기가 증가하기 때문에 스토리지 측면에서 비효율적이다. 사용자의 신원정보(예, ID)를 비밀키에 삽입함으로써, 추후 비밀키의 불법복제를 막는 기법이 존재하나, 비밀키로부터 신원정보를 복원함으로써 키 유출을 탐지하는데 부적합하다.An ID-based password encrypts data based on a specific ID. The ID must match in order for the user to decode the data. This is unsuitable for data sharing in a multi-user environment. Attribute-based cryptography encrypts data based on multiple attributes (e.g., degree, age, gender, title, etc.). In order to decrypt the data, the user must satisfy attribute-specific conditions (eg, a master's degree, 35 years of age, male, or higher). This is suitable for data sharing in a multi-user environment. However, most attribute-based passwords are inefficient in terms of storage because the size of the data increases in proportion to the number of attributes. There is a technique for preventing illegal copying of the secret key by inserting the user's identity information (e.g., ID) into the secret key, but it is not suitable for detecting key leakage by restoring the identity information from the secret key.
또한, 클라우드 서버는 사용자의 ID를 기반으로 데이터에 대한 접근제어를 지원한다. 하지만 이러한 방법은 해당 ID를 가진 사용자만 데이터에 접근할 수 있다는 점에서, 다수 사용자를 대상으로 하는 데이터 공유에 적합하지 않다. 다수의 속성을 기반으로 세분화된 접근제어를 지원하는 기법들이 존재하지만, 기존 기법들은 대부분 속성의 개수에 비례하여 공유 데이터의 크기가 증가하기 때문에 스토리지 측면에서 비효율적이다. 데이터 공유 환경에서 악의적인 사용자는 자신의 비밀키를 불법적으로 유출함으로써, 권한이 없는 제3자가 데이터에 접근하게끔 할 수 있다.In addition, the cloud server supports access control of data based on the user's ID. However, this method is not suitable for data sharing for a large number of users, since only the user having the corresponding ID can access the data. Although there are techniques that support granular access control based on multiple attributes, most existing schemes are inefficient in terms of storage because the size of shared data increases in proportion to the number of attributes. In a data sharing environment, a malicious user illegally leaks his / her secret key, thereby allowing an unauthorized third party to access the data.
따라서, 클라우드 컴퓨팅 환경에서 발생할 수 있는 상기와 같은 문제점을 해결하기 위해 속성의 개수에 관계없이 공유 데이터의 크기를 일정하게 유지할 수 있고 유출된 비밀키를 이용하여 비밀키를 유출한 사용자의 신원을 추적할 수 있는 보다 효율적인 데이터 공유 기법이 필요하다. Accordingly, in order to solve the above-described problems that may occur in the cloud computing environment, the size of the shared data can be kept constant regardless of the number of attributes, and the identity of the user who has leaked the secret key can be tracked More efficient data sharing techniques are needed.
본 발명이 이루고자 하는 기술적인 과제는 다양한 사용자 환경에서 데이터를 공유할 수 있는 속성 기반의 사용자 접근제어 및 비밀키 유출 탐지를 위한 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템을 제공하는 것이다.The present invention provides a data sharing method and system using attribute-based encryption in a cloud computing environment for attribute-based user access control and secret key leakage detection that can share data in various user environments will be.
본 발명의 실시 예에 따른 복수의 사용자 단말, 클라우드 서버, 및 신뢰기관 서버를 포함하는 속성 기반 암호화를 이용한 데이터 공유 시스템에서의 속성의 개수에 관계없이 항상 일정 크기의 암호문을 보장하는 속성 기반 암호화를 이용한 데이터 공유 방법은, 신뢰기관 서버가 임의의 g∈G0, ,∈Zp를 선택하여 마스터키(MK) 및 공개키(PK)를 생성하는 셋업 단계, 상기 신뢰기관 서버가 상기 마스터키(MK), 상기 공개키(PK), 각각의 사용자(u)의 ID(idu), 및 사용자(u)의 속성집합(Lu)을 입력으로 하고, k+2개의 임의의 a, c∈Zp *, {r1, r2,…, rk}∈Zp를 선택하여 비밀키(SKu)를 생성하고 해당 사용자 단말에 전송하는 키 생성 단계, 상기 신뢰기관 서버가 상기 비밀키(SKu) 생성을 위해 선택한 고유의 값(c) 및 상기 사용자(u)의 ID(idu)를 전체 사용자 ID 테이블(T)에 저장하는 단계, 상기 복수의 사용자 단말 중 어느 하나가 메시지(M)를 상기 공개키(PK) 및 접근제어를 위한 속성집합(W)을 입력으로 암호화하여 암호문(CT)을 생성하고 암호문(CT)을 클라우드 서버에 전송하는 암호화 단계, 상기 복수의 사용자 단말 중 어느 하나가 클라우드 서버에 암호문(CT)을 요청하고, 클라우드 서버로부터 암호문(CT)을 수신하는 암호문 요청 단계, 상기 복수의 사용자 단말 중 어느 하나가 수신한 암호문(CT)을 복호화하여 메시지(M)를 추출하는 복호화 단계를 포함하되, 상기 암호화 단계는, 임의의 t∈Zp를 선택하고 대칭키(Key)를 생성하는 과정, 상기 대칭키(Key)를 이용한 대칭키 암호문()을 생성하는 과정, 및 상기 공개키(PK), 상기 접근제어를 위한 속성집합(W), 상기 대칭키 암호문()을 입력하여 상기 암호문(CT)를 생성하는 과정을 포함한다.Based encryption that always guarantees a certain size of ciphertext irrespective of the number of attributes in a data sharing system using attribute-based encryption including a plurality of user terminals, a cloud server, and a trusted authority server according to an embodiment of the present invention data sharing method, the trust authority server random g∈G 0, , ∈ Z p to generate a master key (MK) and a public key (PK), wherein the trusted authority server comprises a master key (MK), a public key (PK) (id u), and to input the set of properties (L u) of the user (u) and, k + 2 of any of the a, c∈Z p *, {r 1,
본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 시스템은 마스터키(MK), 공개키(PK), 및 각각의 사용자 ID에 대응하는 비밀키(SKu)를 생성하고, 상기 마스터키(MK), 상기 공개키(PK), 상기 비밀키(SKu), 및 전체 사용자 ID 테이블(T)을 관리하는 신뢰기관 서버, 네트워크를 통해 암호문(CT) 또는 부분복호값(A)을 송신하거나 암호문(CT) 또는 부분복호키(gi D')를 수신하는 통신부, 상기 암호문(CT) 저장하는 저장부, 및 상기 암호문(CT)에 대한 부분복호 요청을 수신한 경우 상기 암호문을 부분적으로 복호하여 부분복호값(A)을 계산하는 부분복호부를 구비한 클라우드 서버, 및 메시지(M)를 암호화하여 암호문(CT)을 생성하는 암호화 모듈, 암호문(CT)을 복호화하는 복호화 모듈, 및 네트워크를 통해 암호문(CT) 또는 부분복호키(gi D')를 송신하고, 암호문(CT) 또는 부분복호값(A)을 수신하는 통신 모듈을 구비한 복수의 사용자 단말을 포함하되,A data sharing system using attribute-based encryption in a cloud computing environment according to an embodiment of the present invention generates a master key (MK), a public key (PK), and a secret key (SK u ) corresponding to each user ID A trusted authority server for managing the master key MK, the public key PK, the secret key SK u and the entire user ID table T, a ciphertext (CT) a) if the transmission or receiving part of the decoding request to the ciphertext (CT) or partial decryption key (g i D ') communication unit, a storage unit, and a ciphertext (CT) that stores the ciphertext (CT) for receiving the A cryptographic module for generating a ciphertext (CT) by encrypting a message (M), a decryption module for decrypting a ciphertext (CT), and a decryption module for decrypting the ciphertext , ≪ / RTI > and a cipher text (CT) Transmitting the key (g i D '), and comprising: a plurality of user terminals equipped with a communication module for receiving a ciphertext (CT) or partial decoding value (A),
상기 신뢰기관 서버는 임의의 g∈G0, ,∈Zp를 선택하여 상기 마스터키(MK) 및 상기 공개키(PK)를 생성하고, 상기 마스터키(MK), 상기 공개키(PK), 각각의 사용자(u)의 ID(idu), 및 사용자(u)의 속성집합(Lu)을 입력으로 하고, k+2개의 임의의 a, c∈Zp *, {r1, r2,…, rk}∈Zp를 선택하여 상기 비밀키(SKu)를 생성하고, 상기 비밀키(SKu) 생성을 위해 선택한 고유의 값(c) 및 상기 사용자(u)의 ID(idu)를 전체 사용자 ID 테이블(T)에 저장하며,The trusted authority server may use any g < RTI ID = 0.0 > , ∈Z p to generate the master key (MK) and the public key (PK), and the master key (MK), the public key (PK), the ID (id u ) And the attribute set L u of the user u are input, and k + 2 arbitrary a, c? Z p * , {r 1 , r 2 , ..., , R k} select ∈Z p to generate the secret key (SK u), and the unique value of the selected for generating the secret key (SK u) (c) and (u id) of the user ID (u) To the entire user ID table (T)
상기 사용자 단말의 암호화 모듈은 임의의 t∈Zp를 선택하여 대칭키(Key)를 생성하고, 상기 대칭키(Key)를 이용하여 대칭키 암호문()을 생성하며, 상기 공개키(PK), 접근제어를 위한 속성집합(W), 상기 대칭키 암호문()을 입력하여 상기 암호문(CT)를 생성한다.The encryption module of the user terminal generates a symmetric key by selecting an arbitrary t∈Z p , and generates a symmetric key cipher text using the symmetric key (PK), an attribute set (W) for access control, a symmetric key cipher text ) To generate the ciphertext (CT).
본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템에 의할 경우, 다수의 속성 (예, 학위, 나이, 성별, 직위 등)을 기반으로 세분화된 접근제어 기법을 클라우드 환경에 적용함으로써, 다양한 사용자 환경에서 데이터를 공유할 수 있는 효과가 있다.According to the data sharing method and system using attribute-based encryption in the cloud computing environment according to the embodiment of the present invention, a detailed access control technique based on a plurality of attributes (e.g., degree, age, sex, Is applied to a cloud environment, data can be shared in various user environments.
또한, 본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템에 의할 경우, 속성의 개수에 관계없이 공유 데이터의 크기를 항상 일정하게 유지할 수 있다.In addition, according to the data sharing method and system using attribute-based encryption in a cloud computing environment according to an embodiment of the present invention, the size of the shared data can be always maintained regardless of the number of attributes.
또한, 본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템에 의할 경우, 유출된 비밀키를 이용하여 비밀키를 유출한 사용자의 신원을 추적할 수 있다.In addition, according to the data sharing method and system using attribute-based encryption in the cloud computing environment according to the embodiment of the present invention, the identity of the user who has leaked the secret key can be tracked using the secret key.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 시스템의 개략도이다.
도 2는 도 1에 도시된 사용자 단말의 기능 블럭도이다.
도 3은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법을 설명하기 위한 흐름도이다.
도 4는 도 3의 복호화 단계를 보다 세부적으로 도시한 도면이다.
도 5는 도 3의 추적 단계를 보다 세부적으로 도시한 도면이다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In order to more fully understand the drawings recited in the detailed description of the present invention, a detailed description of each drawing is provided.
1 is a schematic diagram of a data sharing system using attribute-based encryption in a cloud computing environment according to an embodiment of the present invention.
2 is a functional block diagram of the user terminal shown in FIG.
3 is a flowchart illustrating a data sharing method using attribute-based encryption in a cloud computing environment according to an embodiment of the present invention.
Figure 4 is a more detailed illustration of the decoding step of Figure 3;
Figure 5 is a more detailed illustration of the tracking step of Figure 3;
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.It is to be understood that the specific structural or functional description of embodiments of the present invention disclosed herein is for illustrative purposes only and is not intended to limit the scope of the inventive concept But may be embodied in many different forms and is not limited to the embodiments set forth herein.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.The embodiments according to the concept of the present invention can make various changes and can take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. It should be understood, however, that it is not intended to limit the embodiments according to the concepts of the present invention to the particular forms disclosed, but includes all modifications, equivalents, or alternatives falling within the spirit and scope of the invention.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.The terms first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example, without departing from the scope of the right according to the concept of the present invention, the first element may be referred to as a second element, The component may also be referred to as a first component.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like are used to specify that there are features, numbers, steps, operations, elements, parts or combinations thereof described herein, But do not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings attached hereto.
우선, 본 발명에서 이용하는 겹선형 함수(Bilinear Map)와 암호화 기법들을 설명한다. G와 G T 가 위수를 소수 p로 갖는 순환 군(group)이라 할 때, 아래와 같은 조건을 만족하는 함수 를 겹선형 함수라 한다.First, a bilinear map and encryption schemes used in the present invention will be described. Let G and G T be a group having a prime number of prime p, then a function satisfying the following condition Is called a folded linear function.
겹선형성(Bilinearlity) : 임의의 와 에 대하여 을 만족한다.Bilinearity: arbitrary Wow about .
비소실성(Non-degeneracy) : 을 만족하는 가 존재한다.Non-degeneracy: of Satisfaction exists.
계산 가능성(Computability) : 임의의 에 대해서 를 계산하는 효율적인 알고리즘이 존재한다.Computability: arbitrary about There is an efficient algorithm to calculate
이하, 도 1 및 도 2를 참조하여, 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 시스템에 대해 상술한다. Hereinafter, a data sharing system using attribute-based encryption in a cloud computing environment according to an embodiment of the present invention will be described in detail with reference to FIG. 1 and FIG.
도 1은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 시스템(10)을 도시하고, 도 2는 도 1에 도시된 사용자 단말의 기능 블럭도를 도시한다.FIG. 1 shows a
도 1을 참조하면, 속성 기반 암호화를 이용한 데이터 공유 시스템(10)은 복수의 단말(100, 200, 300), 클라우드 서버(400), 신뢰기관 서버(500)를 포함한다.Referring to FIG. 1, a
신뢰기관 서버(500)는 마스터키(MSK) 및 공개키(PK)를 생성할 수 있다. 또한, 신뢰기관 서버(500)는 마스터키(MSK), 공개키(PK), 사용자 u의 속성집합(Lu), 및 사용자 u의 ID(IDu)를 입력으로 하여, 각각의 사용자에 대응하는 비밀키(SKu)를 생성할 수 있다.Trusted
비밀키(SKu)는 해당 사용자의 단말에 전송한다. 신뢰기관 서버(500)는 비밀키(SKu) 생성을 위하여 선택한 임의의 값 c를 상기 비밀키(SKu)와 함께 전체 사용자 ID 테이블(T)에 저장한다.The secret key (SK u ) is transmitted to the terminal of the corresponding user. Trusted
신뢰기관 서버는 주기적으로 사용자 단말로부터 비밀키(SKu)를 수신하여 키 온전성(key sanity)을 체크하고, 비밀키(SKu)가 유출된 경우 유출된 비밀키(SKu)를 이용하여 비밀키(SKu)를 유출한 사용자의 ID(idu)를 추적한다.Using the trusted party server periodically secret key (SK u) received by key integrity (key sanity) check, and the secret key (SK u) if leaked Leaked secret key (SK u) to the user terminal And tracks the ID (id u ) of the user who has leaked the secret key (SK u ).
각각의 사용자 단말(100, 200, 300)은 네트워크 망을 통하여 클라우드 서버(400) 또는 신뢰기관 서버(500)와 통신할 수 있다. 일 실시예에 따른 네트워크 망은, 개방형 인터넷, 폐쇄형 인트라넷을 포함한 유선 인터넷망, 이동 통신망과 연동된 무선 인터넷 통신망뿐만 아니라, 각종 데이터 통신이 가능한 컴퓨터 네트워크 등의 가능한 통신 수단을 포함하는 넓은 개념이다.Each of the
사용자 단말(100, 200, 300) 중 하나 이상의 단말은 데이터(M, 메시지)을 암호화하여 암호문(CT)를 생성하고, 암호문(CT)을 클라우드 서버(400)에 전송하여 저장한다.One or more terminals of the
사용자 단말(100, 200, 300) 중 하나 이상의 단말은 클라우드 서버(400)에 암호문(CT)를 요청하고, 클라우드 서버(400)로부터 수신한 암호문(CT)을 복호화하여 메시지(M)를 추출한다. One or more terminals of the
사용자 단말이 클라우드 서버(400)에 암호문(CT)을 요청하는 동안, 사용자 단말은 클라우드 서버(400)에 부분적 복호(Partial Decryption)를 요청할 수 있다.The user terminal may request the
클라우드 서버(400)는 일부 복호화된 제1 복호값(A)을 계산하여 사용자 단말에 전송하고, 사용자 단말은 제2 복호값(B)을 계산한다. 사용자 단말은 제2 복호값(B) 및 클라우드 서버(400)로부터 수신한 제1 복호값(A)을 이용하여 나머지 복호화를 수행하고 메시지(M)을 추출한다.The
클라우드 서버가 A를 계산하여 사용자 단말에 송신하는 경우, 통신 비용(communication cost)을 절감할 수 있는 효과 및 계산 시간을 단축할 수 있는 효과가 있다. When the cloud server calculates A and transmits it to the user terminal, the communication cost can be reduced and the calculation time can be shortened.
클라우드 서버(400)는 네트워크를 통해 암호문(CT) 또는 부분복호값(A)을 송신하거나 암호문(CT) 또는 부분복호키(gi D')를 수신하는 통신부, 상기 암호문(CT) 저장하는 저장부, 및 상기 암호문(CT)에 대한 부분복호 요청을 수신한 경우 상기 암호문을 부분적으로 복호하여 부분복호값(A, 또는 '제1 복호값'이라 함)을 계산하는 부분복호부를 포함한다.The
도 2를 참조하면, 사용자 단말(100, 200, 300)은 암호화 모듈(110), 복호화 모듈(130), 통신 모듈(170), 메모리(180), 및 제어 모듈(190)을 포함한다.Referring to FIG. 2, the
본 명세서에서 사용되는 모듈이라 함은 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.The module used in the present specification may mean a functional and structural combination of hardware for carrying out the technical idea of the present invention and software for driving the hardware. For example, the module may mean a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and does not necessarily mean a physically connected code or a kind of hardware.
사용자 단말의 암호화 모듈(110)은 제어 모듈(190)의 제어 하에, 암호화 알고리즘을 수행하여 메시지(M)를 암호화한다. 이때, 암호화 모듈(110)은 공개키(PK), 접근제어를 위한 속성집합(W), 및 메시지(M)를 입력으로 하여, 암호문(CT)를 생성한다.The
사용자 단말의 복호화 모듈(130)은 제어 모듈(190)의 제어 하에, 복호화 알고리즘을 수행하여 클라우드 서버(400)로부터 수신된 암호문(CT)을 복호화한다. 복호화 모듈(130)은 공개키(PK), 사용자의 비밀키(SKU), 및 암호문(CT)을 입력으로 하여, 메시지(M) 혹은 복호실패()를 반환한다.The
사용자 단말의 통신 모듈(170)은 제어 모듈(190)의 제어 하에, 클라우드 서버(400) 또는 신뢰기관 서버(500)와 유선 또는 무선 통신망을 통하여 통신을 수행할 수 있다. 예를 들어, 통신 모듈(170)은 네트워크를 통해 클라우드 서버(400)에 암호문(CT) 또는 부분복호키(gi D')를 송신하고, 클라우드 서버(400)로부터 암호문(CT) 또는 부분복호값(A)을 수신할 수 있다. 또한, 신뢰기관 서버(500)에서 키 온전성 체크를 요청하는 경우 신뢰기관 서버(500)에 사용자의 비밀키(SKu)를 송신할 수 있다.The
사용자 단말의 메모리(180)는 프로그램 메모리와 데이터 메모리를 포함할 수 있다. 상기 프로그램 메모리에는 제1 단말(100)의 동작을 제어하기 위한 프로그램들이 저장될 수 있다. 상기 데이터 메모리에는 상기 프로그램들을 수행하는 과정 중에 발생하는 데이터들이 저장될 수 있다.The
사용자 단말의 제어 모듈(190)은 사용자 단말의 전반적인 동작을 제어한다. 즉, 암호화 모듈(110), 복호화 모듈(130), 통신 모듈(170), 및 메모리(180)의 동작을 제어할 수 있다.
The
이하, 도 3 내지 도 5를 참조하여, 본 발명의 일 실시예에 따른 기반 데이터 공유 시스템을 이용한 사용자별 할당된 속성값을 기반으로 공유 데이터에 대한 접근제어를 지원하고 사용자의 비밀키가 유출될 시 이를 탐지하는 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법에 대하여 자세히 살펴보도록 한다.Hereinafter, with reference to FIGS. 3 to 5, it is assumed that the access control for the shared data is supported based on the attribute value assigned for each user using the base data sharing system according to the embodiment of the present invention, This paper discusses the data sharing method using attribute-based encryption in a cloud computing environment.
도 3은 도 1에 도시한 기반 데이터 공유 시스템을 이용한 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법을 설명하기 위한 흐름도이다. 도 4는 도 3의 복호화 단계(S400)를 보다 세부적으로 도시한 도면이고, 도 5는 도 3의 탐색 단계(S500)를 보다 세부적으로 도시한 도면이다. 3 is a flowchart illustrating a data sharing method using attribute-based encryption in a cloud computing environment using the infrastructure data sharing system shown in FIG. FIG. 4 is a more detailed view of the decoding step (S400) of FIG. 3, and FIG. 5 is a view showing the searching step (S500) of FIG. 3 in more detail.
본 발명에서 사용자는 다음과 같은 k개의 속성 을 가지며, 각각의 속성은 와 같이 세 가지 유형의 값 중 하나를 가진다. 예를 들어, +로 표기된 속성은 사용자가 해당 속성(Ai)을 가지고 있음을 나타내고, -로 표기된 속성은 사용자가 해당 속성(Ai)을 갖고 있지 않거나 해당 속성(Ai)이 사용자의 적절한 속성이 아님을 나타낸다. *로 표기된 속성은 사용자가 해당 속성에 무관함을 의미한다.In the present invention, the user selects one of the following k attributes And each attribute has And one of the three types of values. For example, the attribute indicated by + is the user and indicates that it has the property (A i), - attributes stated in the user does not have the property (A i) its properties (A i) have the appropriate user's Attribute. An attribute marked with * means that the user is irrelevant to the attribute.
셋업set up 단계 step
사용자 단말이 메시지(M)에 관한 암호문(CT)를 생성하기 위한 사전 단계로, 신뢰기관 서버(500)는 k를 입력으로 하여, 임의의 , 를 선택하여 마스터키(MK)와 공개키(PK)를 각각 생성한다(S100).As a preliminary step for the user terminal to generate a ciphertext (CT) related to the message M, the trusted
키 생성 단계Key generation step
신뢰기관 서버는 마스터키(MK), 공개키(PK), 사용자 u의 속성집합(Lu), 그리고 사용자 u의 ID(idu)를 입력으로 하고, k+2개의 임의의 를 선택하여 아래와 같이 비밀키(SKu)를 생성한다(S200).Trusted server master key (MK), a public key (PK), the set of properties of the user u (L u), and (u id) of the user ID u as input and, k + 2 of any And generates a secret key SK u as follows (S200).
이때, 을 만족한다. At this time, .
비밀키(SKu)는 해당 사용자에게 발급되고, 은 전체 사용자 ID 테이블(T)에 저장된다.The secret key SK u is issued to the user, Is stored in the entire user ID table (T).
비밀키(복호화키)에 고유한 값 (c) 을 추가하여 복호 권한을 불법적으로 공유하는 경우 사용자의 식별 가능한 정보를 찾을 수 있도록 한다.A unique value (c) is added to the secret key (decryption key) to allow the user to find identifiable information when the decryption authority is illegally shared.
암호화 단계Encryption step
복수의 사용자 단말(100, 200, 300) 중 어느 하나의 사용자 단말에서 메시지(M)를 암호화하여 암호문(CT)을 생성한다(S300). 사용자 단말에서 생성된 암호문(CT)은 클라우드 서버(400)에 전송한다. A message M is encrypted at any one of the
사용자 단말은 공개키(PK), 접근제어를 위한 속성집합(W)을 이용하여 암호문(CT)을 생성한다.The user terminal generates a ciphertext (CT) using a public key (PK) and an attribute set (W) for access control.
구체적으로, 임의의 를 선택하고, 아래와 같이 대칭키(Key, 일회성 대칭키)를 생성한다.Specifically, And generates a symmetric key (Key, one-time symmetric key) as shown below.
다음, 아래와 같이 암호문(CT)를 생성한다. Next, a ciphertext (CT) is generated as shown below.
이때, 는 일반적인 대칭키 암호를 이용한 대칭키 암호문()을 의미한다.At this time, Symmetric key ciphertext using general symmetric key ciphers ( ).
복호화 단계Decryption step
사용자 단말은 클라우드 서버(400)에 암호문(CT)을 요청하고, 클라우드 서버(400)로부터 암호문(CT)을 수신한다. 클라우드 서버(400)로부터 암호문(CT)을 수신한 사용자 단말은 상기 암호문(CT)을 복호화하여 메시지(M)를 추출한다(S400).The user terminal requests the cryptographic text (CT) from the
먼저 사용자 단말은 사용자의 속성집합(Lu)이 접근제어를 위한 속성집합(W)을 만족하는지 판단한다. 사용자의 속성집합(Lu)이 접근제어를 위한 속성집합(W)을 만족하지 않는다면, 복호실패 을 반환한다. 사용자의 속성집합이 접근제어를 위한 속성집합을 만족한다면, 암호문(CT)을 복호하여 메시지(M)를 추출한다.First, the user terminal determines whether the attribute set L u of the user satisfies the attribute set W for access control. If the attribute set L u of the user does not satisfy the attribute set W for access control, . If the attribute set of the user satisfies the attribute set for access control, the message (M) is extracted by decoding the ciphertext (CT).
암호문(CT)을 복호하기 위하여, 사용자 단말은 모든 에 대하여 아래와 같이 Ai를 계산한다. To decrypt the ciphertext (CT), the user terminal , A i is calculated as follows.
다음, 사용자 단말은 아래와 같이 Bi를 계산한다.Next, the user terminal calculates B i as follows.
다음, 사용자 단말은 아래와 같이 Ai/Bi를 계산한다.Next, the user terminal calculates A i / B i as follows.
다음, 사용자 단말은 아래와 같이 A/B를 계산한다.Next, the user terminal computes A / B as follows.
또는, 사용자 단말을 제1 복호값(A) 및 제2 복호값(B)을 계산하여 A/B를 계산한다.Alternatively, the user terminal calculates A / B by calculating the first decoded value A and the second decoded value B, respectively.
다음, 사용자 단말은 아래의 식을 계산하여 대칭키(Key)를 복원한다.Next, the user terminal computes the following equation to restore the symmetric key.
대칭키(Key)를 복원한 후, 대칭키 암호문 를 복호하여 메시지(M)을 추출한다.After restoring the symmetric key, a symmetric key cipher To extract the message (M).
이때, 제1 복호값(A)는 클라우드 서버(400)에서 계산할 수 있다(도 4 참고). 즉, 클라우드 서버(400)가 사용자 단말을 대신하여 암호문을 부분적으로 복호화할 수 있다. 본 발명에서의 는 공개적으로 알려져 있고 다른 암호문에도 재사용될 수 있다. 따라서, 사용자 단말이 클라우드 서버(400)에 암호문(CT)을 요청(S410)하는 동안 상기 사용자 단말이 부분복호키() 클라우드 서버(400)로 보내면서 클라우드 서버(400)에서의 부분 복호를 요청(S420)하는 경우 클라우드 서버(400)는 사용자를 대신하여 Ai 및 제1 복호값(A)을 계산할 수 있다. At this time, the first decryption value A can be calculated by the cloud server 400 (see FIG. 4). That is, the
사용자 단말은 클라우드 서버(400)로부터 제1 복호값(A)를 수신하고, 제2 복호값(B)를 계산하여, 나머지 복호화를 수행하고 메시지(M)을 추출한다(S430).The user terminal receives the first decryption value A from the
클라우드 서버가 제1 복호값(A)를 계산하여 사용자 단말에 송신하는 경우, 통신 비용(communication cost)을 절감할 수 있는 효과 및 계산 시간을 단축할 수 있는 효과가 있다. When the cloud server calculates the first decryption value A and transmits it to the user terminal, the communication cost can be reduced and the calculation time can be shortened.
추적 단계Tracking step
신뢰기관 서버(500)는 공개키(PK), 사용자 단말로부터 수신한 비밀키(SKu), 전체 사용자 ID 테이블(T)를 입력으로 하여 원래 키 소유자의 ID를 추적한다(S500). 키
신뢰도를 주기적으로 요청하는 신뢰기관 서버(500)가 주기적으로 키 온전성 체크(key sanity check)를 요청하고, 사용자 단말을 이에 응답한다. 구체적인 추적 방법은 아래와 같다.The
도 5에 도시된 바와 같이, 먼저, 신뢰기관 서버(500)가 사용자 단말에 키 온전성 체크(key sanity check)를 요청(S510)한다. 사용자 단말은 신뢰기관 서버(500)의 요청에 대한 응답으로 비밀키(SKu, 사용자키)를 신뢰기관 서버(500)에 전송(S520)한다. 다음, 신뢰기관 서버(500)는 수신한 비밀키(SKu)를 확인하고 원래 키 소유자의 ID를 추적(S530)한다. As shown in FIG. 5, first, the
신뢰기관 서버(500)는 공개키(PK), 사용자 단말로부터 수신한 비밀키(SKu), 전체 사용자 ID 테이블(T)를 입력으로 하여 아래와 같이 원래 키 소유자의 ID를 추적한다.The trusted
본 발명에 따른 추적 방법은 사용자 속성을 자주 수정하는 경우에 적합하다. 예를 들어, 온라인 소셜 네트워크에서 사용자는 소셜 연락처에 다른 속성 및 키를 할당하여 그룹을 만든 다음 지정된 속성에 따라 액세스 정책을 지정한다. 이때, 그룹은 동적이므로 사용자 속성은 시간이 지남에 따라 변경된다.The tracking method according to the present invention is suitable for frequent modification of user attributes. For example, in an online social network, a user creates groups by assigning different attributes and keys to their social contacts, and then assigns access policies based on the specified attributes. At this time, since the group is dynamic, the user attributes change over time.
비밀키(SKu)가 불법적으로 공유되었는지 여부는 비밀키(SKu)가 잘 형성되었는지 여부를 확인하여 비밀키(SKu)가 정당한 키 생성 단계(KeyGen)를 통한 실제 출력임을 나타냄으로써 결정한다.Whether or not the secret key SK u is illegally shared is determined by confirming whether the secret key SK u is well formed and indicating that the secret key SK u is the actual output through the key generation step KeyGen .
아래의 수식을 만족하면, 비밀키(SKu)가 잘 형성된 것으로 판단한다. If the following expression is satisfied, it is determined that the secret key SK u is well formed.
만약 상기 수식을 만족한다면, 신뢰기관 서버(500)는 전체 사용자 ID 테이블(T)에서 를 탐색한 후, 최종적으로 를 반환한다. 즉, 잘 형성된 비밀키(SKu)로 확인된 경우 신뢰기관 서버(500)는 해당 비밀키(SKu)에 상응하는 를 출력한다. 이때, 신뢰기관 서버(500)와 통신하는 사용자 단말의 아이디가 출력된 아이디와 일치하지 않는다면, 해당 비밀키가 유출되었다고 판단한다.If the above formula is satisfied, the
만약 상기 수식을 만족하지 않는다면, 신뢰기관 서버(500)는 비밀키(SKu)에 대한 탐색을 중지하고 탐색실패()를 반환한다. 이 경우, 신뢰기관 서버(500)는 사용자 단말이 전송한 비밀키가 키 생성 단계(KeyGen)에 의해 만들어진 것이 아니라 무작위로 생성한 값이며, 따라서 해당 사용자 단말은 합법적 사용자가 아니라고 판단한다.If the above expression is not satisfied, the
올바른 형식의 암호 해독 키(비밀키)는 올바르게 구성된 암호 해독 프로세스에서 올바르게 작동한다는 것을 보증한다.
A properly formatted decryption key (secret key) ensures that it works correctly in a properly configured decryption process.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.
10 : 속성 기반 암호화를 이용한 데이터 공유 시스템
100, 200, 300 : 사용자 단말
400 : 클라우드 서버
500 : 신뢰기관 서버10: Data sharing system using attribute-based encryption
100, 200, 300: user terminal
400: Cloud server
500: Trusted authority server
Claims (8)
신뢰기관 서버가 임의의 g∈G0, ,∈Zp를 선택하여 마스터키(MK) 및 공개키(PK)를 생성하는 셋업 단계;
상기 신뢰기관 서버가 상기 마스터키(MK), 상기 공개키(PK), 각각의 사용자(u)의 ID(idu), 및 사용자(u)의 속성집합(Lu)을 입력으로 하고, k+2개의 임의의 a, c∈Zp *, {r1, r2,…, rk}∈Zp를 선택하여 비밀키(SKu)를 생성하고 해당 사용자 단말에 전송하는 키 생성 단계;
(이때, 를 만족함)
상기 신뢰기관 서버가 상기 비밀키(SKu) 생성을 위해 선택한 고유의 값(c) 및 상기 사용자(u)의 ID(idu)를 전체 사용자 ID 테이블(T)에 저장하는 단계;
상기 복수의 사용자 단말 중 어느 하나가 메시지(M)를 상기 공개키(PK) 및 접근제어를 위한 속성집합(W)을 입력으로 암호화하여 암호문(CT)을 생성하고 암호문(CT)을 클라우드 서버에 전송하는 암호화 단계;
상기 복수의 사용자 단말 중 어느 하나가 클라우드 서버에 암호문(CT)을 요청하고, 클라우드 서버로부터 암호문(CT)을 수신하는 암호문 요청 단계; 및
상기 복수의 사용자 단말 중 어느 하나가 수신한 암호문(CT)을 복호화하여 메시지(M)를 추출하는 복호화 단계;를 포함하는 속성 기반 암호화를 이용한 데이터 공유 방법으로서,
상기 암호화 단계는,
임의의 t∈Zp를 선택하고 대칭키(Key)를 생성하는 과정;
상기 대칭키(Key)를 이용한 대칭키 암호문()을 생성하는 과정; 및
상기 공개키(PK), 상기 접근제어를 위한 속성집합(W), 상기 대칭키 암호문()을 입력하여 상기 암호문(CT)를 생성하는 과정;을 포함하는,
클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법.A data sharing method using attribute-based encryption that ensures a constant size of ciphertext regardless of the number of attributes in a data sharing system using attribute-based encryption including a plurality of user terminals, a cloud server, and a trusted authority server,
If the trusted authority server has any g ∈ G 0 , , ∈ Z p to generate a master key (MK) and a public key (PK);
The trusted authority server inputs the master key (MK), the public key (PK), the ID of each user ( u ), and the attribute set (L u ) of the user (u) + 2 arbitrary a, c? Z p * , {r 1 , r 2 , ... , r k } ∈ Z p to generate a secret key SK u and transmit it to the user terminal;
(At this time, Lt; / RTI >
Storing the unique value (c) selected by the trusted authority server for generating the secret key (SK u ) and the ID (id u ) of the user (u) in the entire user ID table (T);
One of the plurality of user terminals encrypts the message M by inputting the public key PK and the attribute set W for access control to generate a ciphertext CT and transmits the ciphertext CT to the cloud server An encryption step for transmitting;
A ciphertext requesting step in which one of the plurality of user terminals requests a ciphertext (CT) from the cloud server and receives a ciphertext (CT) from the cloud server; And
And a decryption step of decrypting a ciphertext (CT) received by one of the plurality of user terminals to extract a message (M), the method comprising:
Wherein the encrypting step comprises:
Selecting an arbitrary t? Z p and generating a symmetric key;
The symmetric key ciphertext using the symmetric key ); And
The public key (PK), the attribute set (W) for the access control, the symmetric key cipher text And generating the ciphertext (CT) by inputting the ciphertext (CT)
A Data Sharing Method Using Attribute Based Encryption in Cloud Computing Environments.
상기 복호화 단계는,
상기 사용자 단말이 모든 에 대하여 Ai를 계산하는 과정;
상기 사용자 단말이 모든 에 대하여 Bi를 계산하는 과정;
상기 사용자 단말이 Ai/Bi를 계산하는 과정;
상기 사용자 단말이 A/B를 계산하는 과정;
상기 사용자 단말이 아래의 식을 만족하는 상기 대칭키(Key)를 복원하는 과정; 및
상기 사용자 단말이 상기 복원된 대칭키(Key)를 이용하여 상기 대칭키 암호문()을 복호화하고 상기 메시지(M)를 추출하는 과정;을 포함하는,
클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법.The method according to claim 1,
The decoding step includes:
If the user terminal Calculating A i with respect to A i ;
If the user terminal A process of calculating B i relative;
Calculating A i / B i by the user terminal;
A step in which the user terminal calculates A / B;
Restoring the symmetric key satisfying the following equation: And
Wherein the user terminal transmits the symmetric key ciphertext using the restored symmetric key ) And extracting the message (M).
A Data Sharing Method Using Attribute Based Encryption in Cloud Computing Environments.
상기 암호문 요청 단계 및 복호화 단계는,
상기 사용자 단말이 상기 클라우드 서버에 암호문을 요청하는 과정;
상기 클라우드 서버에 암호문을 요청하는 동안, 상기 사용자 단말이 상기 클라우드 서버에 부분복호키(gi D')를 송신하고 부분 복호를 요청하는 과정;
상기 클라우드 서버가 상기 사용자 단말을 대신하여 모든 에 대하여 Ai를 계산하는 과정;
상기 클라우드 서버가 제1 복호값(A)을 계산하고, 상기 사용자 단말에 상기 암호문(CT) 및 제1 복호값(A)을 전송하는 과정;
상기 사용자 단말이 모든 에 대하여 Bi 및 제2 복호값(B)을 계산하는 과정;
상기 사용자 단말이 A/B를 계산하는 과정;
상기 사용자 단말이 아래의 식을 만족하는 상기 대칭키(Key)를 복원하는 과정; 및
상기 사용자 단말이 상기 복원된 대칭키(Key)를 이용하여 상기 대칭키 암호문()을 복호화하고 상기 메시지(M)를 추출하는 과정;을 포함하는,
클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법.The method according to claim 1,
The ciphertext requesting step and the decrypting step may include:
A step in which the user terminal requests a cipher text to the cloud server;
Transmitting a partial decryption key (g i D ' ) to the cloud server and requesting partial decryption while the user terminal requests the cipher text to the cloud server;
Wherein the cloud server replaces all Calculating A i with respect to A i ;
Calculating a first decryption value (A) by the cloud server and transmitting the ciphertext (CT) and the first decryption value (A) to the user terminal;
If the user terminal Calculating B i and a second decoded value (B) with respect to the first decoded value;
A step in which the user terminal calculates A / B;
Restoring the symmetric key satisfying the following equation: And
Wherein the user terminal transmits the symmetric key ciphertext using the restored symmetric key ) And extracting the message (M).
A Data Sharing Method Using Attribute Based Encryption in Cloud Computing Environments.
상기 신뢰기관 서버가 상기 사용자 단말로부터 비밀키(SKu)를 수신하여 키 온전성(key sanity)을 체크하고, 비밀키(SKu)가 유출된 경우 유출된 비밀키(SKu)를 이용하여 비밀키(SKu)를 유출한 사용자의 ID(idu)를 추적하는 단계를 더 포함하는,
클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법.The method according to claim 1,
Using the trusted party server a secret key (SK u) the secret key (SK u) leakage when received by checking the key integrity (key sanity), and a secret key (SK u) leaking from the user terminal Further comprising the step of tracking an ID (id u ) of the user who has revealed the secret key (SK u )
A Data Sharing Method Using Attribute Based Encryption in Cloud Computing Environments.
네트워크를 통해 암호문(CT) 또는 부분복호값(A)을 송신하거나 암호문(CT) 또는 부분복호키(gi D')를 수신하는 통신부, 상기 암호문(CT) 저장하는 저장부, 및 상기 암호문(CT)에 대한 부분복호 요청을 수신한 경우 상기 암호문을 부분적으로 복호하여 부분복호값(A)을 계산하는 부분복호부를 구비한 클라우드 서버; 및
메시지(M)를 암호화하여 암호문(CT)을 생성하는 암호화 모듈, 암호문(CT)을 복호화하는 복호화 모듈, 및 네트워크를 통해 암호문(CT) 또는 부분복호키(gi D')를 송신하고, 암호문(CT) 또는 부분복호값(A)을 수신하는 통신 모듈을 구비한 복수의 사용자 단말;을 포함하되,
상기 신뢰기관 서버는,
임의의 g∈G0, ,∈Zp를 선택하여 상기 마스터키(MK) 및 상기 공개키(PK)를 생성하고,
상기 마스터키(MK), 상기 공개키(PK), 각각의 사용자(u)의 ID(idu), 및 사용자(u)의 속성집합(Lu)을 입력으로 하고, k+2개의 임의의 a, c∈Zp *, {r1, r2,…, rk}∈Zp를 선택하여 상기 비밀키(SKu)를 생성하고, 상기 비밀키(SKu) 생성을 위해 선택한 고유의 값(c) 및 상기 사용자(u)의 ID(idu)를 전체 사용자 ID 테이블(T)에 저장하며,
(이때, 를 만족함)
상기 사용자 단말의 암호화 모듈은,
임의의 t∈Zp를 선택하여 대칭키(Key)를 생성하고, 상기 대칭키(Key)를 이용하여 대칭키 암호문()을 생성하며,
상기 공개키(PK), 접근제어를 위한 속성집합(W), 상기 대칭키 암호문()을 입력하여 상기 암호문(CT)를 생성하는,
클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 시스템.The master key (MK), a public key (PK), and generating a secret key (SK u) corresponding to each user ID, and the master key (MK), the public key (PK), the secret key (SK u ), And an entire user ID table (T);
The communication unit receiving a ciphertext (CT) or partial decoding value (A) to send or ciphertext (CT) or partial decryption key (g i D ') through a network, a storage to store the ciphertext (CT) unit, and the cipher text ( A partial decryption unit for partially decoding the cipher text and calculating a partial decryption value A when receiving a partial decryption request for the partial decryption value A; And
A decryption module for decrypting the ciphertext (CT), and a ciphertext (CT) or a partial decryption key (g i D ' ) via the network, (CT) or a partial decryption value (A), the user terminal comprising:
The trusted authority server,
Any g ∈ G 0 , , ∈ Z p to generate the master key (MK) and the public key (PK)
The master key (MK), the public key (PK), ID (id u ) for each user (u), and a set of properties of the user (u) (L u) as input and, k + 2 of any a, c? Z p * , {r 1 , r 2 , ... , R k} select ∈Z p to generate the secret key (SK u), and the unique value of the selected for generating the secret key (SK u) (c) and (u id) of the user ID (u) To the entire user ID table (T)
(At this time, Lt; / RTI >
The encryption module of the user terminal comprises:
A symmetric key is generated by selecting an arbitrary t? Z p , and a symmetric key cipher text ),
The public key (PK), the attribute set (W) for access control, the symmetric key cipher text ) To generate the ciphertext (CT)
Data Sharing System using Attribute - based Encryption in Cloud Computing Environment.
상기 사용자 단말의 복호화 모듈은,
모든 에 대하여 Ai 및 Bi를 계산하고,
Ai/Bi 및 A/B를 계산하여,
아래의 식을 만족하는 상기 대칭키(Key)를 복원하고,
상기 복원된 대칭키(Key)를 이용하여 상기 대칭키 암호문()을 복호화하고 상기 메시지(M)를 추출하는,
클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 시스템.6. The method of claim 5,
The decoding module of the user terminal comprises:
all Lt; RTI ID = 0.0 > Ai < / RTI > and Bi ,
A i / B i and A / B are calculated,
Restores the symmetric key satisfying the following equation,
The symmetric key ciphertext (ciphertext) using the restored symmetric key ) And extracting the message (M)
Data Sharing System using Attribute - based Encryption in Cloud Computing Environment.
상기 사용자 단말이 상기 클라우드 서버에 암호문(CT)을 요청하는 동안, 상기 사용자 단말이 상기 클라우드 서버에 부분복호키(gi D')를 송신하고 부분 복호를 요청하는 경우,
상기 클라우드 서버의 상기 부분복호부가 상기 사용자 단말을 대신하여 모든 에 대하여 Ai를 및 부분복호값(A)을 계산하는 하고, 상기 사용자 단말에 상기 암호문(CT) 및 부분복호값(A)을 전송하며,
상기 사용자 단말의 복호화 모듈이 모든 에 대하여 Bi, B, 및 A/B를 계산하여,
아래의 식을 만족하는 상기 대칭키(Key)를 복원하고,
상기 사용자 단말의 복호화 모듈이 상기 복원된 대칭키(Key)를 이용하여 상기 대칭키 암호문()을 복호화하고 상기 메시지(M)를 추출하는,
클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 시스템.6. The method of claim 5,
When the user terminal sends a partial decryption key g i D ' to the cloud server and requests partial decryption while the user terminal requests a cryptographic key (CT) to the cloud server,
Wherein the partial decryption unit of the cloud server replaces all For calculating A i and the partial decoding value (A) and with respect to the to the user terminal sends the ciphertext (CT) and the partial decoding value (A), and
The decryption module of the user terminal B i , B, and A /
Restores the symmetric key satisfying the following equation,
The decryption module of the user terminal uses the restored symmetric key to generate the symmetric key ciphertext ) And extracting the message (M)
Data Sharing System using Attribute - based Encryption in Cloud Computing Environment.
상기 신뢰기관 서버가 상기 사용자 단말로부터 비밀키(SKu)를 수신하여 키 온전성(key sanity)을 체크하고, 비밀키(SKu)가 유출된 경우 유출된 비밀키(SKu)를 이용하여 비밀키(SKu)를 유출한 사용자의 ID(idu)를 추적하는,
클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 시스템.
6. The method of claim 5,
Using the trusted party server a secret key (SK u) the secret key (SK u) leakage when received by checking the key integrity (key sanity), and a secret key (SK u) leaking from the user terminal (ID u ) of the user who has leaked the secret key (SK u )
Data Sharing System using Attribute - based Encryption in Cloud Computing Environment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170028373A KR101982237B1 (en) | 2017-03-06 | 2017-03-06 | Method and system for data sharing using attribute-based encryption in cloud computing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170028373A KR101982237B1 (en) | 2017-03-06 | 2017-03-06 | Method and system for data sharing using attribute-based encryption in cloud computing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180101870A true KR20180101870A (en) | 2018-09-14 |
KR101982237B1 KR101982237B1 (en) | 2019-05-24 |
Family
ID=63599554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170028373A KR101982237B1 (en) | 2017-03-06 | 2017-03-06 | Method and system for data sharing using attribute-based encryption in cloud computing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101982237B1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200048760A (en) * | 2018-10-30 | 2020-05-08 | 고려대학교 산학협력단 | Trustworthy delegation toward securing mobile healthcare cyber-physical systems |
KR20210056111A (en) * | 2019-11-08 | 2021-05-18 | 두나무 주식회사 | Method and terminal for managing user information |
KR20210058313A (en) | 2019-11-14 | 2021-05-24 | 순천향대학교 산학협력단 | Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment |
KR20210063619A (en) | 2019-11-25 | 2021-06-02 | 서강대학교산학협력단 | Attribute-based access control system in a blockchain network and method thereof |
KR102284877B1 (en) * | 2020-12-14 | 2021-07-30 | 세종대학교산학협력단 | Efficient functional encryption for set intersection |
CN114039737A (en) * | 2020-07-20 | 2022-02-11 | 中国科学院信息工程研究所 | Attribute-based shared data storage and access method and system for resisting selected plaintext attack |
CN114244567A (en) * | 2021-11-17 | 2022-03-25 | 西安邮电大学 | CP-ABE method for supporting circuit structure in cloud environment |
CN114386072A (en) * | 2022-01-13 | 2022-04-22 | 中国科学技术大学 | Data sharing method, device and system |
KR20220125567A (en) * | 2021-03-05 | 2022-09-14 | 순천향대학교 산학협력단 | System and method for sharing patient's medical data in medical cloud environment |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102386717B1 (en) | 2020-07-21 | 2022-04-14 | 순천향대학교 산학협력단 | Data access control system based anonymous user attribute and method thereof |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005195829A (en) * | 2004-01-07 | 2005-07-21 | Hitachi Ltd | Method for power remainder calculation in decoding or signature creation |
JP2013200461A (en) * | 2012-03-26 | 2013-10-03 | Nippon Telegr & Teleph Corp <Ntt> | Secret calculation device and secret calculation method |
US8615668B2 (en) | 2010-01-15 | 2013-12-24 | Mitsubishi Electric Corporation | Confidential search system and cryptographic processing system |
KR101464727B1 (en) | 2013-10-15 | 2014-11-27 | 순천향대학교 산학협력단 | Cloud Data Access Control System and Method using CP-ABE |
JP5650630B2 (en) | 2011-11-22 | 2015-01-07 | 日本電信電話株式会社 | Key exchange system, key exchange device, key exchange method, key exchange program |
KR101575681B1 (en) * | 2014-08-22 | 2015-12-09 | 고려대학교 산학협력단 | Method of attribute-based encryption |
KR101593165B1 (en) | 2014-08-19 | 2016-02-15 | 한국전자통신연구원 | Data access control method |
KR101615137B1 (en) * | 2015-03-27 | 2016-05-12 | 순천향대학교 산학협력단 | Data access method based on attributed |
-
2017
- 2017-03-06 KR KR1020170028373A patent/KR101982237B1/en active IP Right Grant
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005195829A (en) * | 2004-01-07 | 2005-07-21 | Hitachi Ltd | Method for power remainder calculation in decoding or signature creation |
US8615668B2 (en) | 2010-01-15 | 2013-12-24 | Mitsubishi Electric Corporation | Confidential search system and cryptographic processing system |
JP5650630B2 (en) | 2011-11-22 | 2015-01-07 | 日本電信電話株式会社 | Key exchange system, key exchange device, key exchange method, key exchange program |
JP2013200461A (en) * | 2012-03-26 | 2013-10-03 | Nippon Telegr & Teleph Corp <Ntt> | Secret calculation device and secret calculation method |
KR101464727B1 (en) | 2013-10-15 | 2014-11-27 | 순천향대학교 산학협력단 | Cloud Data Access Control System and Method using CP-ABE |
KR101593165B1 (en) | 2014-08-19 | 2016-02-15 | 한국전자통신연구원 | Data access control method |
KR101575681B1 (en) * | 2014-08-22 | 2015-12-09 | 고려대학교 산학협력단 | Method of attribute-based encryption |
KR101615137B1 (en) * | 2015-03-27 | 2016-05-12 | 순천향대학교 산학협력단 | Data access method based on attributed |
Non-Patent Citations (3)
Title |
---|
J. Li, K. Ren, Z. Wan, Privacy-aware attribute-based encryption with user accountability, Information Security. Springer Berlin Heidelberg, (2009) 347-362. |
Z. Liu, Z. Cao, D. Wong, Blackbox traceable CP-ABE: how to catch people leaking their keys by selling decryption devices on ebay, Proceedings of the 2013 ACM SIGSAC conference on Computer communications security, 2013, pp. 475-486. |
Z. Liu, Z. Cao, D. Wong, White-box traceable ciphertext-policy attribute-based encryption supporting any monotone access structures, Information Forensics and Security, IEEE Transactions on, (2013) 76-88. |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200048760A (en) * | 2018-10-30 | 2020-05-08 | 고려대학교 산학협력단 | Trustworthy delegation toward securing mobile healthcare cyber-physical systems |
KR20210056111A (en) * | 2019-11-08 | 2021-05-18 | 두나무 주식회사 | Method and terminal for managing user information |
KR20210058313A (en) | 2019-11-14 | 2021-05-24 | 순천향대학교 산학협력단 | Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment |
KR20210063619A (en) | 2019-11-25 | 2021-06-02 | 서강대학교산학협력단 | Attribute-based access control system in a blockchain network and method thereof |
CN114039737A (en) * | 2020-07-20 | 2022-02-11 | 中国科学院信息工程研究所 | Attribute-based shared data storage and access method and system for resisting selected plaintext attack |
CN114039737B (en) * | 2020-07-20 | 2023-08-08 | 中国科学院信息工程研究所 | Attribute-based shared data storage and access method and system for resisting selective plaintext attack |
KR102284877B1 (en) * | 2020-12-14 | 2021-07-30 | 세종대학교산학협력단 | Efficient functional encryption for set intersection |
KR20220125567A (en) * | 2021-03-05 | 2022-09-14 | 순천향대학교 산학협력단 | System and method for sharing patient's medical data in medical cloud environment |
CN114244567A (en) * | 2021-11-17 | 2022-03-25 | 西安邮电大学 | CP-ABE method for supporting circuit structure in cloud environment |
CN114244567B (en) * | 2021-11-17 | 2023-09-05 | 西安邮电大学 | CP-ABE method for supporting circuit structure in cloud environment |
CN114386072A (en) * | 2022-01-13 | 2022-04-22 | 中国科学技术大学 | Data sharing method, device and system |
CN114386072B (en) * | 2022-01-13 | 2024-04-02 | 中国科学技术大学 | Data sharing method, device and system |
Also Published As
Publication number | Publication date |
---|---|
KR101982237B1 (en) | 2019-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101982237B1 (en) | Method and system for data sharing using attribute-based encryption in cloud computing | |
CN109862041B (en) | Digital identity authentication method, equipment, device, system and storage medium | |
JP4866863B2 (en) | Security code generation method and user device | |
US11880831B2 (en) | Encryption system, encryption key wallet and method | |
CN113067699B (en) | Data sharing method and device based on quantum key and computer equipment | |
CN110971415A (en) | Space-ground integrated space information network anonymous access authentication method and system | |
US20080031458A1 (en) | System, methods, and apparatus for simplified encryption | |
US8683209B2 (en) | Method and apparatus for pseudonym generation and authentication | |
CN1985466B (en) | Method of delivering direct proof private keys in signed groups to devices using a distribution CD | |
CN101771699A (en) | Method and system for improving SaaS application security | |
US11831753B2 (en) | Secure distributed key management system | |
JP2010220212A (en) | Securing communications sent by first user to second user | |
KR102050887B1 (en) | METHOD AND SYSTEM FOR DATA SHARING FOR INTERNET OF THINGS(IoT) MANAGEMENT IN CLOUD COMPUTING | |
CN104412273A (en) | Method and system for activation | |
JP6072806B2 (en) | Group secret management by group members | |
JP2015500585A (en) | Simplified management of group secrets by group members | |
CN101019368B (en) | Method of delivering direct proof private keys to devices using a distribution CD | |
Chidambaram et al. | Enhancing the security of customer data in cloud environments using a novel digital fingerprinting technique | |
CN112118245A (en) | Key management method, system and equipment | |
CN109379345B (en) | Sensitive information transmission method and system | |
CN107409043B (en) | Distributed processing of products based on centrally encrypted stored data | |
CN114629713A (en) | Identity verification method, device and system | |
CN100561913C (en) | A kind of method of access code equipment | |
Kim et al. | Secure and efficient anonymous authentication scheme in global mobility networks | |
CN114760046A (en) | Identity authentication method and device |
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 |