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 PDF

Info

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
Application number
KR1020170028373A
Other languages
Korean (ko)
Other versions
KR101982237B1 (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 KR1020170028373A priority Critical patent/KR101982237B1/en
Publication of KR20180101870A publication Critical patent/KR20180101870A/en
Application granted granted Critical
Publication of KR101982237B1 publication Critical patent/KR101982237B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation 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
    • 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/06Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Abstract

The present invention relates to a method for sharing data using an attribute-based encryption in a cloud computing environment and a system thereof, which always guarantee a cryptogram of a constant size. The method of the present invention comprises: a setup step of generating a master key (MK) and a public key (PK); a key generation step of generating a secret key (SK_u) and transmitting the same to a corresponding user terminal; a step of storing a unique value (c) and an ID (id_u) of a user (u) in an entire user ID table (T); an encryption step of transmitting a cryptogram (CT) to a cloud server; a cryptogram request step; and a decoding step.

Description

클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템{METHOD AND SYSTEM FOR DATA SHARING USING ATTRIBUTE-BASED ENCRYPTION IN CLOUD COMPUTING}[0001] METHOD AND SYSTEM FOR DATA SHARING USING ATTRIBUTE-BASED ENCRYPTION IN CLOUD COMPUTING [0002]

본 발명은 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 장치 및 방법에 관한 것으로서, 특히, 사용자별 할당된 속성값을 기반으로 공유 데이터에 대한 접근제어를 지원하며 또한 사용자의 비밀키가 유출될 시 이를 탐지하는 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템에 관한 것이다.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.

KR 1464727 B1KR 1464727 B1 KR 1593165 B1KR 1593165 B1 US 8615668 B2US 8615668 B2 JP 5650630 B2JP 5650630 B2

J. Li, K. Ren, Z. Wan, Privacy-aware attribute-based encryption with user accountability, Information Security. Springer Berlin Heidelberg, (2009) 347-362. 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, White-box traceable ciphertext-policy attribute-based encryption supporting any monotone access structures, Information Forensics and Security, IEEE Transactions on, (2013) 76-88. Z. Liu, Z. Cao, D. Wong, White-box traceable ciphertext-policy attribute-based encryption supporting any monotone access structures, IEEE Transactions on, (2013) 76-88. 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, Blackbox traceable CP-ABE: How to catch people leaking their keys by selling decryption devices on eBay, 2013 ACM SIGSAC Conference on Computer Communications Security, 2013, pp. 475-486.

본 발명이 이루고자 하는 기술적인 과제는 다양한 사용자 환경에서 데이터를 공유할 수 있는 속성 기반의 사용자 접근제어 및 비밀키 유출 탐지를 위한 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템을 제공하는 것이다.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,

Figure pat00001
,
Figure pat00002
∈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)를 이용한 대칭키 암호문(
Figure pat00003
)을 생성하는 과정, 및 상기 공개키(PK), 상기 접근제어를 위한 속성집합(W), 상기 대칭키 암호문(
Figure pat00004
)을 입력하여 상기 암호문(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,
Figure pat00001
,
Figure pat00002
∈ 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, r 2, ... , r k } ∈ Z p to generate and transmit a secret key SK u to the corresponding user terminal, a unique key c (k) selected by the trust agent server for generating the secret key SK u ) and the user (u) of ID (id u) the entire user ID table (T) the release step, any one of the plurality of user terminals, the message (M) for storing the key (PK), and access control (CT) to the cloud server by encrypting an attribute set (W) for inputting a ciphertext (CT) for inputting a ciphertext (CT) to the cloud server A ciphertext request step of receiving a ciphertext (CT) from a cloud server, and a decryption step of deciphering a ciphertext (CT) received by one of the plurality of user terminals to extract a message (M) , to select any t∈Z p Generating a symmetric key (Key), a symmetric key cipher text using the symmetric key (Key) (
Figure pat00003
(PK), an attribute set (W) for the access control, a symmetric key cipher text
Figure pat00004
) To generate the ciphertext (CT).

본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 시스템은 마스터키(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,

Figure pat00005
,
Figure pat00006
∈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 >
Figure pat00005
,
Figure pat00006
∈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)를 이용하여 대칭키 암호문(

Figure pat00007
)을 생성하며, 상기 공개키(PK), 접근제어를 위한 속성집합(W), 상기 대칭키 암호문(
Figure pat00008
)을 입력하여 상기 암호문(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
Figure pat00007
(PK), an attribute set (W) for access control, a symmetric key cipher text
Figure pat00008
) 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)와 암호화 기법들을 설명한다. GG T 가 위수를 소수 p로 갖는 순환 군(group)이라 할 때, 아래와 같은 조건을 만족하는 함수

Figure pat00009
를 겹선형 함수라 한다.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
Figure pat00009
Is called a folded linear function.

겹선형성(Bilinearlity) : 임의의

Figure pat00010
Figure pat00011
에 대하여
Figure pat00012
을 만족한다.Bilinearity: arbitrary
Figure pat00010
Wow
Figure pat00011
about
Figure pat00012
.

비소실성(Non-degeneracy) :

Figure pat00013
Figure pat00014
만족하는 가 존재한다.Non-degeneracy:
Figure pat00013
of
Figure pat00014
Satisfaction exists.

계산 가능성(Computability) : 임의의

Figure pat00015
에 대해서
Figure pat00016
를 계산하는 효율적인 알고리즘이 존재한다.Computability: arbitrary
Figure pat00015
about
Figure pat00016
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 data sharing system 10 using attribute-based encryption in a cloud computing environment according to an embodiment of the present invention, and FIG. 2 shows a functional block diagram of the user terminal shown in FIG.

도 1을 참조하면, 속성 기반 암호화를 이용한 데이터 공유 시스템(10)은 복수의 단말(100, 200, 300), 클라우드 서버(400), 신뢰기관 서버(500)를 포함한다.Referring to FIG. 1, a data sharing system 10 using attribute-based encryption includes a plurality of terminals 100, 200, and 300, a cloud server 400, and a trusted authority server 500.

신뢰기관 서버(500)는 마스터키(MSK) 및 공개키(PK)를 생성할 수 있다. 또한, 신뢰기관 서버(500)는 마스터키(MSK), 공개키(PK), 사용자 u의 속성집합(Lu), 및 사용자 u의 ID(IDu)를 입력으로 하여, 각각의 사용자에 대응하는 비밀키(SKu)를 생성할 수 있다.Trusted authority server 500 may generate a master key (MSK) and a public key (PK). Also, the trustworthiness institution server 500 receives as input the master key MSK, the public key PK, the attribute set L u of the user u, and the ID u u of the user u, Lt; RTI ID = 0.0 > SK u. ≪ / RTI >

Figure pat00017
Figure pat00017

비밀키(SKu)는 해당 사용자의 단말에 전송한다. 신뢰기관 서버(500)는 비밀키(SKu) 생성을 위하여 선택한 임의의 값 c를 상기 비밀키(SKu)와 함께 전체 사용자 ID 테이블(T)에 저장한다.The secret key (SK u ) is transmitted to the terminal of the corresponding user. Trusted server 500 stores a random value c to select the generated secret key (SK u) to the entire user ID table (T) with the private key (SK u),.

신뢰기관 서버는 주기적으로 사용자 단말로부터 비밀키(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 user terminals 100, 200, and 300 may communicate with the cloud server 400 or the trusted authority server 500 through a network. The network according to one embodiment includes a wide range of possible communication means such as an open Internet, a wired Internet network including a closed intranet, a wireless Internet communication network interlocked with a mobile communication network, and a computer network capable of various data communication .

사용자 단말(100, 200, 300) 중 하나 이상의 단말은 데이터(M, 메시지)을 암호화하여 암호문(CT)를 생성하고, 암호문(CT)을 클라우드 서버(400)에 전송하여 저장한다.One or more terminals of the user terminals 100, 200 and 300 generate a ciphertext (CT) by encrypting data (M, message), and transmit the ciphertext (CT) to the cloud server 400 for storage.

사용자 단말(100, 200, 300) 중 하나 이상의 단말은 클라우드 서버(400)에 암호문(CT)를 요청하고, 클라우드 서버(400)로부터 수신한 암호문(CT)을 복호화하여 메시지(M)를 추출한다. One or more terminals of the user terminals 100, 200 and 300 request a ciphertext (CT) to the cloud server 400 and decrypt the ciphertext (CT) received from the cloud server 400 to extract the message M .

사용자 단말이 클라우드 서버(400)에 암호문(CT)을 요청하는 동안, 사용자 단말은 클라우드 서버(400)에 부분적 복호(Partial Decryption)를 요청할 수 있다.The user terminal may request the cloud server 400 for partial decryption while the user terminal requests the cryptographic key (CT) to the cloud server 400. [

클라우드 서버(400)는 일부 복호화된 제1 복호값(A)을 계산하여 사용자 단말에 전송하고, 사용자 단말은 제2 복호값(B)을 계산한다. 사용자 단말은 제2 복호값(B) 및 클라우드 서버(400)로부터 수신한 제1 복호값(A)을 이용하여 나머지 복호화를 수행하고 메시지(M)을 추출한다.The cloud server 400 calculates and transmits the decoded first decoded value A to the user terminal, and the user terminal calculates the second decoded value B. [ The user terminal performs the remaining decoding using the second decryption value B and the first decryption value A received from the cloud server 400 and extracts the message M. [

클라우드 서버가 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 cloud server 400 includes a communication unit for transmitting a ciphertext or partial decryption value A or a ciphertext or partial decryption key g i D ' And a partial decoding unit for partially decoding the cipher text and calculating a partial decryption value (A, or 'first decryption value') when receiving a partial decryption request for the ciphertext (CT).

도 2를 참조하면, 사용자 단말(100, 200, 300)은 암호화 모듈(110), 복호화 모듈(130), 통신 모듈(170), 메모리(180), 및 제어 모듈(190)을 포함한다.Referring to FIG. 2, the user terminals 100, 200, and 300 include an encryption module 110, a decryption module 130, a communication module 170, a memory 180, and a control module 190.

본 명세서에서 사용되는 모듈이라 함은 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.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 encryption module 110 of the user terminal encrypts the message M by performing an encryption algorithm under the control of the control module 190. At this time, the encryption module 110 generates a ciphertext (CT) using the public key PK, the attribute set W for access control, and the message M as input.

Figure pat00018
Figure pat00018

사용자 단말의 복호화 모듈(130)은 제어 모듈(190)의 제어 하에, 복호화 알고리즘을 수행하여 클라우드 서버(400)로부터 수신된 암호문(CT)을 복호화한다. 복호화 모듈(130)은 공개키(PK), 사용자의 비밀키(SKU), 및 암호문(CT)을 입력으로 하여, 메시지(M) 혹은 복호실패(

Figure pat00019
)를 반환한다.The decryption module 130 of the user terminal decrypts the ciphertext (CT) received from the cloud server 400 by performing a decryption algorithm under the control of the control module 190. Decryption module 130 has the public key (PK), the user of the secret key (U SK), and the ciphertext (CT) as an input, a message (M) or decryption fails (
Figure pat00019
).

Figure pat00020
Figure pat00020

사용자 단말의 통신 모듈(170)은 제어 모듈(190)의 제어 하에, 클라우드 서버(400) 또는 신뢰기관 서버(500)와 유선 또는 무선 통신망을 통하여 통신을 수행할 수 있다. 예를 들어, 통신 모듈(170)은 네트워크를 통해 클라우드 서버(400)에 암호문(CT) 또는 부분복호키(gi D')를 송신하고, 클라우드 서버(400)로부터 암호문(CT) 또는 부분복호값(A)을 수신할 수 있다. 또한, 신뢰기관 서버(500)에서 키 온전성 체크를 요청하는 경우 신뢰기관 서버(500)에 사용자의 비밀키(SKu)를 송신할 수 있다.The communication module 170 of the user terminal can perform communication with the cloud server 400 or the trusted institution server 500 through the wired or wireless communication network under the control of the control module 190. [ For example, the communication module 170 may transmit a ciphertext (CT) or partial decryption key (g i D ' ) to the cloud server 400 over the network and may receive a ciphertext (CT) Can receive the value (A). In addition, when the trusted-institution server 500 requests the key-integrity check, the trust-agent server 500 may transmit the secret key SK u of the user to the trusted-institution server 500.

사용자 단말의 메모리(180)는 프로그램 메모리와 데이터 메모리를 포함할 수 있다. 상기 프로그램 메모리에는 제1 단말(100)의 동작을 제어하기 위한 프로그램들이 저장될 수 있다. 상기 데이터 메모리에는 상기 프로그램들을 수행하는 과정 중에 발생하는 데이터들이 저장될 수 있다.The memory 180 of the user terminal may include a program memory and a data memory. Programs for controlling the operation of the first terminal 100 may be stored in the program memory. Data generated during the execution of the programs may be stored in the data memory.

사용자 단말의 제어 모듈(190)은 사용자 단말의 전반적인 동작을 제어한다. 즉, 암호화 모듈(110), 복호화 모듈(130), 통신 모듈(170), 및 메모리(180)의 동작을 제어할 수 있다.
The control module 190 of the user terminal controls the overall operation of the user terminal. That is, it can control operations of the encryption module 110, the decryption module 130, the communication module 170, and the memory 180.

이하, 도 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개의 속성

Figure pat00021
을 가지며, 각각의 속성은
Figure pat00022
와 같이 세 가지 유형의 값 중 하나를 가진다. 예를 들어, +로 표기된 속성은 사용자가 해당 속성(Ai)을 가지고 있음을 나타내고, -로 표기된 속성은 사용자가 해당 속성(Ai)을 갖고 있지 않거나 해당 속성(Ai)이 사용자의 적절한 속성이 아님을 나타낸다. *로 표기된 속성은 사용자가 해당 속성에 무관함을 의미한다.In the present invention, the user selects one of the following k attributes
Figure pat00021
And each attribute has
Figure pat00022
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를 입력으로 하여, 임의의

Figure pat00023
,
Figure pat00024
를 선택하여 마스터키(MK)와 공개키(PK)를 각각 생성한다(S100).As a preliminary step for the user terminal to generate a ciphertext (CT) related to the message M, the trusted authority server 500 receives k as an input,
Figure pat00023
,
Figure pat00024
To generate a master key (MK) and a public key (PK), respectively (S100).

Figure pat00025
Figure pat00025

Figure pat00026
Figure pat00026

Figure pat00027
Figure pat00028
Figure pat00027
Figure pat00028

키 생성 단계Key generation step

신뢰기관 서버는 마스터키(MK), 공개키(PK), 사용자 u의 속성집합(Lu), 그리고 사용자 u의 ID(idu)를 입력으로 하고, k+2개의 임의의

Figure pat00029
를 선택하여 아래와 같이 비밀키(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
Figure pat00029
And generates a secret key SK u as follows (S200).

Figure pat00030
Figure pat00030

Figure pat00031
Figure pat00031

이때,

Figure pat00032
을 만족한다. At this time,
Figure pat00032
.

비밀키(SKu)는 해당 사용자에게 발급되고,

Figure pat00033
은 전체 사용자 ID 테이블(T)에 저장된다.The secret key SK u is issued to the user,
Figure pat00033
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 user terminals 100, 200, and 300 to generate a ciphertext (CT) (S300). The ciphertext (CT) generated at the user terminal is transmitted to the cloud server 400.

사용자 단말은 공개키(PK), 접근제어를 위한 속성집합(W)을 이용하여 암호문(CT)을 생성한다.The user terminal generates a ciphertext (CT) using a public key (PK) and an attribute set (W) for access control.

구체적으로, 임의의

Figure pat00034
를 선택하고, 아래와 같이 대칭키(Key, 일회성 대칭키)를 생성한다.Specifically,
Figure pat00034
And generates a symmetric key (Key, one-time symmetric key) as shown below.

Figure pat00035
Figure pat00035

다음, 아래와 같이 암호문(CT)를 생성한다. Next, a ciphertext (CT) is generated as shown below.

Figure pat00036
Figure pat00036

Figure pat00037
Figure pat00037

이때,

Figure pat00038
는 일반적인 대칭키 암호를 이용한 대칭키 암호문(
Figure pat00039
)을 의미한다.At this time,
Figure pat00038
Symmetric key ciphertext using general symmetric key ciphers (
Figure pat00039
).

복호화 단계Decryption step

사용자 단말은 클라우드 서버(400)에 암호문(CT)을 요청하고, 클라우드 서버(400)로부터 암호문(CT)을 수신한다. 클라우드 서버(400)로부터 암호문(CT)을 수신한 사용자 단말은 상기 암호문(CT)을 복호화하여 메시지(M)를 추출한다(S400).The user terminal requests the cryptographic text (CT) from the cloud server 400 and receives the cryptographic text (CT) from the cloud server 400. The user terminal having received the ciphertext (CT) from the cloud server 400 decrypts the ciphertext (CT) to extract the message M (S400).

먼저 사용자 단말은 사용자의 속성집합(Lu)이 접근제어를 위한 속성집합(W)을 만족하는지 판단한다. 사용자의 속성집합(Lu)이 접근제어를 위한 속성집합(W)을 만족하지 않는다면, 복호실패

Figure pat00040
을 반환한다. 사용자의 속성집합이 접근제어를 위한 속성집합을 만족한다면, 암호문(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,
Figure pat00040
. If the attribute set of the user satisfies the attribute set for access control, the message (M) is extracted by decoding the ciphertext (CT).

Figure pat00041
Figure pat00041

암호문(CT)을 복호하기 위하여, 사용자 단말은 모든

Figure pat00042
에 대하여 아래와 같이 Ai를 계산한다. To decrypt the ciphertext (CT), the user terminal
Figure pat00042
, A i is calculated as follows.

Figure pat00043
Figure pat00043

Figure pat00044
Figure pat00044

다음, 사용자 단말은 아래와 같이 Bi를 계산한다.Next, the user terminal calculates B i as follows.

Figure pat00045
Figure pat00045

다음, 사용자 단말은 아래와 같이 Ai/Bi를 계산한다.Next, the user terminal calculates A i / B i as follows.

Figure pat00046
Figure pat00046

다음, 사용자 단말은 아래와 같이 A/B를 계산한다.Next, the user terminal computes A / B as follows.

Figure pat00047
Figure pat00047

또는, 사용자 단말을 제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.

Figure pat00048
Figure pat00048

Figure pat00049
Figure pat00049

대칭키(Key)를 복원한 후, 대칭키 암호문

Figure pat00050
를 복호하여 메시지(M)을 추출한다.After restoring the symmetric key, a symmetric key cipher
Figure pat00050
To extract the message (M).

이때, 제1 복호값(A)는 클라우드 서버(400)에서 계산할 수 있다(도 4 참고). 즉, 클라우드 서버(400)가 사용자 단말을 대신하여 암호문을 부분적으로 복호화할 수 있다. 본 발명에서의

Figure pat00051
는 공개적으로 알려져 있고 다른 암호문에도 재사용될 수 있다. 따라서, 사용자 단말이 클라우드 서버(400)에 암호문(CT)을 요청(S410)하는 동안 상기 사용자 단말이 부분복호키(
Figure pat00052
) 클라우드 서버(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 cloud server 400 can partially decrypt the cipher text on behalf of the user terminal. In the present invention
Figure pat00051
Is publicly known and can be reused in other ciphertexts. Therefore, while the user terminal requests (S410) a ciphertext (CT) to the cloud server 400, the user terminal transmits the partial decryption key
Figure pat00052
The cloud server 400 may calculate the A i and the first decryption value A on behalf of the user when requesting the partial decryption in the cloud server 400 by sending it to the cloud server 400 in step S420.

Figure pat00053
Figure pat00053

사용자 단말은 클라우드 서버(400)로부터 제1 복호값(A)를 수신하고, 제2 복호값(B)를 계산하여, 나머지 복호화를 수행하고 메시지(M)을 추출한다(S430).The user terminal receives the first decryption value A from the cloud server 400 and calculates the second decryption value B to perform the remaining decryption and extract the message M at step S430.

Figure pat00054
Figure pat00054

클라우드 서버가 제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 trust institution server 500 tracks the ID of the original key owner by inputting the public key PK, the secret key SK u received from the user terminal, and the entire user ID table T in operation S500. The trusted authority server 500 periodically requesting the key reliability periodically requests a key sanity check and responds to the user terminal. The specific tracking method is as follows.

도 5에 도시된 바와 같이, 먼저, 신뢰기관 서버(500)가 사용자 단말에 키 온전성 체크(key sanity check)를 요청(S510)한다. 사용자 단말은 신뢰기관 서버(500)의 요청에 대한 응답으로 비밀키(SKu, 사용자키)를 신뢰기관 서버(500)에 전송(S520)한다. 다음, 신뢰기관 서버(500)는 수신한 비밀키(SKu)를 확인하고 원래 키 소유자의 ID를 추적(S530)한다. As shown in FIG. 5, first, the trust authority server 500 requests the user terminal for a key sanity check (S510). The user terminal transmits the secret key (SK u , user key) to the trust institution server 500 in response to the request of the trust institution server 500 (S520). Next, the trust authority server 500 confirms the received private key SK u and tracks the original key owner's ID (S530).

신뢰기관 서버(500)는 공개키(PK), 사용자 단말로부터 수신한 비밀키(SKu), 전체 사용자 ID 테이블(T)를 입력으로 하여 아래와 같이 원래 키 소유자의 ID를 추적한다.The trusted authority server 500 tracks the ID of the original key owner as follows, with the public key PK, the secret key SK u received from the user terminal, and the entire user ID table T as inputs.

Figure pat00055
Figure pat00055

본 발명에 따른 추적 방법은 사용자 속성을 자주 수정하는 경우에 적합하다. 예를 들어, 온라인 소셜 네트워크에서 사용자는 소셜 연락처에 다른 속성 및 키를 할당하여 그룹을 만든 다음 지정된 속성에 따라 액세스 정책을 지정한다. 이때, 그룹은 동적이므로 사용자 속성은 시간이 지남에 따라 변경된다.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.

Figure pat00056
Figure pat00056

만약 상기 수식을 만족한다면, 신뢰기관 서버(500)는 전체 사용자 ID 테이블(T)에서

Figure pat00057
를 탐색한 후, 최종적으로
Figure pat00058
를 반환한다. 즉, 잘 형성된 비밀키(SKu)로 확인된 경우 신뢰기관 서버(500)는 해당 비밀키(SKu)에 상응하는
Figure pat00059
를 출력한다. 이때, 신뢰기관 서버(500)와 통신하는 사용자 단말의 아이디가 출력된 아이디와 일치하지 않는다면, 해당 비밀키가 유출되었다고 판단한다.If the above formula is satisfied, the trustworthiness server 500 checks the total user ID table T
Figure pat00057
And finally,
Figure pat00058
. That is, if it is confirmed with the well-formed secret key SK u , the trusted-institution server 500 transmits the secret key SK u corresponding to the corresponding secret key SK u
Figure pat00059
. At this time, if the ID of the user terminal communicating with the trusted-institution server 500 does not match the output ID, it is determined that the corresponding secret key is leaked.

만약 상기 수식을 만족하지 않는다면, 신뢰기관 서버(500)는 비밀키(SKu)에 대한 탐색을 중지하고 탐색실패(

Figure pat00060
)를 반환한다. 이 경우, 신뢰기관 서버(500)는 사용자 단말이 전송한 비밀키가 키 생성 단계(KeyGen)에 의해 만들어진 것이 아니라 무작위로 생성한 값이며, 따라서 해당 사용자 단말은 합법적 사용자가 아니라고 판단한다.If the above expression is not satisfied, the trust authority server 500 stops searching for the secret key SK u and returns a search failure
Figure pat00060
). In this case, the trusted-agent server 500 determines that the secret key transmitted by the user terminal is a randomly generated value, not created by the key generation step (KeyGen), and thus the corresponding user terminal is not a legitimate user.

올바른 형식의 암호 해독 키(비밀키)는 올바르게 구성된 암호 해독 프로세스에서 올바르게 작동한다는 것을 보증한다.
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,
Figure pat00061
,
Figure pat00062
∈Zp를 선택하여 마스터키(MK) 및 공개키(PK)를 생성하는 셋업 단계;
Figure pat00063

Figure pat00064
Figure pat00065

상기 신뢰기관 서버가 상기 마스터키(MK), 상기 공개키(PK), 각각의 사용자(u)의 ID(idu), 및 사용자(u)의 속성집합(Lu)을 입력으로 하고, k+2개의 임의의 a, c∈Zp *, {r1, r2,…, rk}∈Zp를 선택하여 비밀키(SKu)를 생성하고 해당 사용자 단말에 전송하는 키 생성 단계;
Figure pat00066

(이때,
Figure pat00067
를 만족함)
상기 신뢰기관 서버가 상기 비밀키(SKu) 생성을 위해 선택한 고유의 값(c) 및 상기 사용자(u)의 ID(idu)를 전체 사용자 ID 테이블(T)에 저장하는 단계;
상기 복수의 사용자 단말 중 어느 하나가 메시지(M)를 상기 공개키(PK) 및 접근제어를 위한 속성집합(W)을 입력으로 암호화하여 암호문(CT)을 생성하고 암호문(CT)을 클라우드 서버에 전송하는 암호화 단계;
상기 복수의 사용자 단말 중 어느 하나가 클라우드 서버에 암호문(CT)을 요청하고, 클라우드 서버로부터 암호문(CT)을 수신하는 암호문 요청 단계; 및
상기 복수의 사용자 단말 중 어느 하나가 수신한 암호문(CT)을 복호화하여 메시지(M)를 추출하는 복호화 단계;를 포함하는 속성 기반 암호화를 이용한 데이터 공유 방법으로서,
상기 암호화 단계는,
임의의 t∈Zp를 선택하고 대칭키(Key)를 생성하는 과정;
Figure pat00068

상기 대칭키(Key)를 이용한 대칭키 암호문(
Figure pat00069
)을 생성하는 과정; 및
상기 공개키(PK), 상기 접근제어를 위한 속성집합(W), 상기 대칭키 암호문(
Figure pat00070
)을 입력하여 상기 암호문(CT)를 생성하는 과정;을 포함하는,
Figure pat00071

클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법.
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 ,
Figure pat00061
,
Figure pat00062
∈ Z p to generate a master key (MK) and a public key (PK);
Figure pat00063

Figure pat00064
Figure pat00065

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;
Figure pat00066

(At this time,
Figure pat00067
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;
Figure pat00068

The symmetric key ciphertext using the symmetric key
Figure pat00069
); And
The public key (PK), the attribute set (W) for the access control, the symmetric key cipher text
Figure pat00070
And generating the ciphertext (CT) by inputting the ciphertext (CT)
Figure pat00071

A Data Sharing Method Using Attribute Based Encryption in Cloud Computing Environments.
제1항에 있어서,
상기 복호화 단계는,
상기 사용자 단말이 모든
Figure pat00072
에 대하여 Ai를 계산하는 과정;
Figure pat00073

Figure pat00074

상기 사용자 단말이 모든
Figure pat00075
에 대하여 Bi를 계산하는 과정;
Figure pat00076

상기 사용자 단말이 Ai/Bi를 계산하는 과정;
Figure pat00077

상기 사용자 단말이 A/B를 계산하는 과정;
Figure pat00078

상기 사용자 단말이 아래의 식을 만족하는 상기 대칭키(Key)를 복원하는 과정; 및
Figure pat00079

Figure pat00080

상기 사용자 단말이 상기 복원된 대칭키(Key)를 이용하여 상기 대칭키 암호문(
Figure pat00081
)을 복호화하고 상기 메시지(M)를 추출하는 과정;을 포함하는,
클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법.
The method according to claim 1,
The decoding step includes:
If the user terminal
Figure pat00072
Calculating A i with respect to A i ;
Figure pat00073

Figure pat00074

If the user terminal
Figure pat00075
A process of calculating B i relative;
Figure pat00076

Calculating A i / B i by the user terminal;
Figure pat00077

A step in which the user terminal calculates A / B;
Figure pat00078

Restoring the symmetric key satisfying the following equation: And
Figure pat00079

Figure pat00080

Wherein the user terminal transmits the symmetric key ciphertext using the restored symmetric key
Figure pat00081
) And extracting the message (M).
A Data Sharing Method Using Attribute Based Encryption in Cloud Computing Environments.
제1항에 있어서,
상기 암호문 요청 단계 및 복호화 단계는,
상기 사용자 단말이 상기 클라우드 서버에 암호문을 요청하는 과정;
상기 클라우드 서버에 암호문을 요청하는 동안, 상기 사용자 단말이 상기 클라우드 서버에 부분복호키(gi D')를 송신하고 부분 복호를 요청하는 과정;
상기 클라우드 서버가 상기 사용자 단말을 대신하여 모든
Figure pat00082
에 대하여 Ai를 계산하는 과정;
Figure pat00083

Figure pat00084

상기 클라우드 서버가 제1 복호값(A)을 계산하고, 상기 사용자 단말에 상기 암호문(CT) 및 제1 복호값(A)을 전송하는 과정;
Figure pat00085

상기 사용자 단말이 모든
Figure pat00086
에 대하여 Bi 및 제2 복호값(B)을 계산하는 과정;
Figure pat00087

Figure pat00088

상기 사용자 단말이 A/B를 계산하는 과정;
Figure pat00089

상기 사용자 단말이 아래의 식을 만족하는 상기 대칭키(Key)를 복원하는 과정; 및
Figure pat00090

Figure pat00091

상기 사용자 단말이 상기 복원된 대칭키(Key)를 이용하여 상기 대칭키 암호문(
Figure pat00092
)을 복호화하고 상기 메시지(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
Figure pat00082
Calculating A i with respect to A i ;
Figure pat00083

Figure pat00084

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;
Figure pat00085

If the user terminal
Figure pat00086
Calculating B i and a second decoded value (B) with respect to the first decoded value;
Figure pat00087

Figure pat00088

A step in which the user terminal calculates A / B;
Figure pat00089

Restoring the symmetric key satisfying the following equation: And
Figure pat00090

Figure pat00091

Wherein the user terminal transmits the symmetric key ciphertext using the restored symmetric key
Figure pat00092
) And extracting the message (M).
A Data Sharing Method Using Attribute Based Encryption in Cloud Computing Environments.
제1항에 있어서,
상기 신뢰기관 서버가 상기 사용자 단말로부터 비밀키(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.
마스터키(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)을 수신하는 통신 모듈을 구비한 복수의 사용자 단말;을 포함하되,
상기 신뢰기관 서버는,
임의의 g∈G0,
Figure pat00093
,
Figure pat00094
∈Zp를 선택하여 상기 마스터키(MK) 및 상기 공개키(PK)를 생성하고,
Figure pat00095

Figure pat00096
Figure pat00097

상기 마스터키(MK), 상기 공개키(PK), 각각의 사용자(u)의 ID(idu), 및 사용자(u)의 속성집합(Lu)을 입력으로 하고, k+2개의 임의의 a, c∈Zp *, {r1, r2,…, rk}∈Zp를 선택하여 상기 비밀키(SKu)를 생성하고, 상기 비밀키(SKu) 생성을 위해 선택한 고유의 값(c) 및 상기 사용자(u)의 ID(idu)를 전체 사용자 ID 테이블(T)에 저장하며,
Figure pat00098

(이때,
Figure pat00099
를 만족함)
상기 사용자 단말의 암호화 모듈은,
임의의 t∈Zp를 선택하여 대칭키(Key)를 생성하고, 상기 대칭키(Key)를 이용하여 대칭키 암호문(
Figure pat00100
)을 생성하며,
Figure pat00101

상기 공개키(PK), 접근제어를 위한 속성집합(W), 상기 대칭키 암호문(
Figure pat00102
)을 입력하여 상기 암호문(CT)를 생성하는,
Figure pat00103

클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 시스템.
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 ,
Figure pat00093
,
Figure pat00094
∈ Z p to generate the master key (MK) and the public key (PK)
Figure pat00095

Figure pat00096
Figure pat00097

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)
Figure pat00098

(At this time,
Figure pat00099
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
Figure pat00100
),
Figure pat00101

The public key (PK), the attribute set (W) for access control, the symmetric key cipher text
Figure pat00102
) To generate the ciphertext (CT)
Figure pat00103

Data Sharing System using Attribute - based Encryption in Cloud Computing Environment.
제5항에 있어서,
상기 사용자 단말의 복호화 모듈은,
모든
Figure pat00104
에 대하여 Ai 및 Bi를 계산하고,
Figure pat00105

Figure pat00106

Figure pat00107

Ai/Bi 및 A/B를 계산하여,
Figure pat00108

Figure pat00109

아래의 식을 만족하는 상기 대칭키(Key)를 복원하고,
Figure pat00110

Figure pat00111

상기 복원된 대칭키(Key)를 이용하여 상기 대칭키 암호문(
Figure pat00112
)을 복호화하고 상기 메시지(M)를 추출하는,
클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 시스템.
6. The method of claim 5,
The decoding module of the user terminal comprises:
all
Figure pat00104
Lt; RTI ID = 0.0 > Ai < / RTI > and Bi ,
Figure pat00105

Figure pat00106

Figure pat00107

A i / B i and A / B are calculated,
Figure pat00108

Figure pat00109

Restores the symmetric key satisfying the following equation,
Figure pat00110

Figure pat00111

The symmetric key ciphertext (ciphertext) using the restored symmetric key
Figure pat00112
) And extracting the message (M)
Data Sharing System using Attribute - based Encryption in Cloud Computing Environment.
제5항에 있어서,
상기 사용자 단말이 상기 클라우드 서버에 암호문(CT)을 요청하는 동안, 상기 사용자 단말이 상기 클라우드 서버에 부분복호키(gi D')를 송신하고 부분 복호를 요청하는 경우,
상기 클라우드 서버의 상기 부분복호부가 상기 사용자 단말을 대신하여 모든
Figure pat00113
에 대하여 Ai를 및 부분복호값(A)을 계산하는 하고, 상기 사용자 단말에 상기 암호문(CT) 및 부분복호값(A)을 전송하며,
Figure pat00114

Figure pat00115

Figure pat00116

상기 사용자 단말의 복호화 모듈이 모든
Figure pat00117
에 대하여 Bi, B, 및 A/B를 계산하여,
Figure pat00118

Figure pat00119

Figure pat00120

아래의 식을 만족하는 상기 대칭키(Key)를 복원하고,
Figure pat00121

Figure pat00122

상기 사용자 단말의 복호화 모듈이 상기 복원된 대칭키(Key)를 이용하여 상기 대칭키 암호문(
Figure pat00123
)을 복호화하고 상기 메시지(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
Figure pat00113
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
Figure pat00114

Figure pat00115

Figure pat00116

The decryption module of the user terminal
Figure pat00117
B i , B, and A /
Figure pat00118

Figure pat00119

Figure pat00120

Restores the symmetric key satisfying the following equation,
Figure pat00121

Figure pat00122

The decryption module of the user terminal uses the restored symmetric key to generate the symmetric key ciphertext
Figure pat00123
) And extracting the message (M)
Data Sharing System using Attribute - based Encryption in Cloud Computing Environment.
제5항에 있어서,
상기 신뢰기관 서버가 상기 사용자 단말로부터 비밀키(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.
KR1020170028373A 2017-03-06 2017-03-06 Method and system for data sharing using attribute-based encryption in cloud computing KR101982237B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US11880831B2 (en) Encryption system, encryption key wallet and method
JP4866863B2 (en) Security code generation method and user device
CN101032117B (en) Method of authentication based on polynomials, system, and method for demonstration device
CN1985466B (en) Method of delivering direct proof private keys in signed groups to devices using a distribution CD
CN110971415A (en) Space-ground integrated space information network anonymous access authentication method and system
CN101019368B (en) Method of delivering direct proof private keys to devices using a distribution CD
US20080031458A1 (en) System, methods, and apparatus for simplified encryption
US8683209B2 (en) Method and apparatus for pseudonym generation and authentication
CN101771699A (en) Method and system for improving SaaS application security
CN104641592A (en) Method and system for a certificate-less authentication encryption (CLAE)
CN113067699B (en) Data sharing method and device based on quantum key and computer equipment
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
CN114629713A (en) Identity verification method, device and system
CN109379345B (en) Sensitive information transmission method and system
CN114760046A (en) Identity authentication method and device
CN107409043B (en) Distributed processing of products based on centrally encrypted stored data
CN112118245A (en) Key management method, system and equipment
CN100561913C (en) A kind of method of access code equipment

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