KR102298266B1 - Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment - Google Patents

Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment Download PDF

Info

Publication number
KR102298266B1
KR102298266B1 KR1020190145613A KR20190145613A KR102298266B1 KR 102298266 B1 KR102298266 B1 KR 102298266B1 KR 1020190145613 A KR1020190145613 A KR 1020190145613A KR 20190145613 A KR20190145613 A KR 20190145613A KR 102298266 B1 KR102298266 B1 KR 102298266B1
Authority
KR
South Korea
Prior art keywords
user
data
server
attribute
unit
Prior art date
Application number
KR1020190145613A
Other languages
Korean (ko)
Other versions
KR20210058313A (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 KR1020190145613A priority Critical patent/KR102298266B1/en
Publication of KR20210058313A publication Critical patent/KR20210058313A/en
Application granted granted Critical
Publication of KR102298266B1 publication Critical patent/KR102298266B1/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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템을 개시한다. 본 발명의 일 측면에 따른 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법은, TTP 서버가, 사용자에 의해 등록된 사용자 정보를 관리하고, 공개키와 마스터 키 및 비밀키를 생성하는 단계; 상기 TTP 서버가, 상기 생성된 공개키를 데이터 소유자부 및 사용자부로 각각 전송하고 상기 마스터 키 및 비밀키를 상기 사용자부로 전송하는 단계; 상기 데이터 소유자부가, 상기 TTP 서버로부터 전송받은 정보와 클라우드 환경 내에서 자신의 데이터 접근 가능한 사용자부의 속성을 기반으로 접근구조를 만들어 데이터를 암호화하고 클라우드 스토리지에 업로드하는 단계; 상기 사용자부가, 상기 TTP 서버로부터 전송받은 정보를 이용하여 클라우드에 접근하기 위한 토큰을 생성하고 클라우드 스토리지에 접근하는 단계; AC 서버가, 상기 사용자부가 접근하려는 암호문에 지정된 접근구조의 속성과 사용자 속성을 비교하여 일치하는 경우, 부분 복호화가 진행하여 최종 복호화에 필요한 키요소를 생성하여 상기 사용자부로 암호문과 함께 전송하는 단계; 및 상기 AC 서버가, 탈퇴한 사용자의 속성을 해지하여 탈퇴한 사용자가 기존에 가지고 있던 정보를 가지고 상기 클라우드 스토리지에 접근하는 것을 차단하는 단계;를 포함하며; 상기 AC 서버는 상기 암호문의 크기를 속성의 개수에 비례하지 않고 일정 크기로 출력시키는 것을 특징으로 한다.The present invention discloses a data access control method and system using attribute-based encryption for safe and efficient data sharing in a cloud environment. In a data access control method using attribute-based encryption for safe and efficient data sharing in a cloud environment according to an aspect of the present invention, a TTP server manages user information registered by a user, and includes a public key and a master key and generating a secret key; transmitting, by the TTP server, the generated public key to a data owner unit and a user unit, respectively, and transmitting the master key and the private key to the user unit; encrypting, by the data owner unit, the data transmitted from the TTP server and uploading the data to the cloud storage by creating an access structure based on the information received from the TTP server and the attribute of the user unit capable of accessing its own data in the cloud environment; generating, by the user unit, a token for accessing the cloud using the information received from the TTP server and accessing the cloud storage; When the AC server compares and matches the attribute of the access structure specified in the cipher text to be accessed by the user unit and the user attribute, partial decryption proceeds to generate a key element necessary for final decryption and transmits it to the user unit together with the cipher text; and blocking, by the AC server, from accessing the cloud storage with information previously owned by the withdrawn user by canceling the attribute of the withdrawn user; The AC server is characterized in that the size of the cipher text is not proportional to the number of attributes and outputs a predetermined size.

Description

클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템{Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment}Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment

본 발명은 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템에 관한 것으로, 더욱 상세하게는 속성기반 암호의 한 종류인 CP-ABE를 활용하여 클라우드 환경에서 효율적인 데이터 공유를 할 수 있는 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템에 관한 것이다.The present invention relates to a data access control method and system using attribute-based encryption for safe and efficient data sharing in a cloud environment, and more particularly, to a data access control method and system using CP-ABE, a type of attribute-based encryption It relates to a data access control method and system using attribute-based encryption for safe and efficient data sharing in a cloud environment that can share data.

최근 아마존 및/또는 구글과 같은 클라우드 컴퓨팅의 발달로 인해 사람들은 많은 비용이 소요되는 스토리지 공간을 임대하는 대신 클라우드 환경에 데이터를 저장하거나 필요에 따라 다른 사람들과 공유할 수 있다. 무엇보다 클라우드 컴퓨팅은 인터넷을 통해 사용할 수 있기 때문에 사용자 측면에서 편리하다. 하지만, 클라우드 환경에서는 다양한 보안 위협이 존재한다. 특히, 서비스 제공업체를 완전히 신뢰할 수 없다. 예컨대, 사용자는 한 회사에서 제공하는 클라우드를 사용하여 데이터를 안전하게 저장하기 때문에 데이터를 보호할 수 있지만, 클라우드를 제공하는 회사는 언제든지 데이터를 악용할 수 있다. 또한, 공격자에 의해 데이터가 유출 및/또는 손실될 수 있는 보안 위협이 존재한다. 따라서, 클라우드 환경에서 데이터 소유자의 데이터를 보호하기 위한 보안 기술이 필요하다. 다양한 보안 기술 중 CP-ABE(Ciphertext Policy-Attribute-Based Encryption) 방식이 가장 적합한 암호 기술이다. 현재까지 CP-ABE는 지속적으로 연구되어지고 있지만, 일부 보안 위협에 취약하거나 비효율적인 문제점이 존재한다. 특히, 보안 측면에서 사용자가 기존 클라우드 환경에서 탈퇴시 사용자 속성이 완전히 제거되어, 탈퇴 후 기존 클라우드에 접근할 수 없어야 한다. 하지만, 탈퇴한 사용자가 기존 속성 및 비밀키로 클라우드 환경에 접근할 수 있는 문제점이 발생한다. 또한, 탈퇴한 사용자가 다른 사용자의 속성을 가지고 접근할 수 있는 위장공격 및/또는 공모공격 등과 같은 다양한 보안 위협이 발생할 수 있다. Recent advances in cloud computing such as Amazon and/or Google allow people to store data in a cloud environment or share it with others as needed instead of renting out expensive storage space. Above all, cloud computing is convenient for users because it can be used over the Internet. However, various security threats exist in the cloud environment. In particular, the service provider cannot be completely trusted. For example, users can protect their data because they use the cloud provided by a company to securely store their data, but the company that provides the cloud can abuse the data at any time. In addition, there is a security threat in which data may be leaked and/or lost by an attacker. Therefore, there is a need for a security technology to protect the data of the data owner in the cloud environment. Among various security technologies, CP-ABE (Ciphertext Policy-Attribute-Based Encryption) is the most suitable encryption technology. Until now, CP-ABE has been continuously studied, but it is vulnerable to some security threats or has inefficiency problems. In particular, in terms of security, when a user leaves the existing cloud environment, the user attributes are completely removed, so that the user cannot access the existing cloud after leaving. However, there is a problem that a user who has withdrawn can access the cloud environment with the existing attribute and secret key. In addition, various security threats such as spoofing attacks and/or collusion attacks in which a departed user can access with the attributes of other users may occur.

한국공개특허 제2018-0101870호(2018.09.14 공개)Korea Patent Publication No. 2018-0101870 (published on September 14, 2018)

본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로서, 속성기반 암호의 한 종류인 CP-ABE를 활용하여 클라우드 환경에서 데이터를 효율적으로 공유할 수 있는 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템을 제공하는데 그 목적이 있다. The present invention has been proposed to solve the above problems, and it is an attribute for safe and efficient data sharing in a cloud environment that can efficiently share data in a cloud environment by using CP-ABE, which is a type of attribute-based encryption. An object of the present invention is to provide a data access control method and system using a base password.

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 일 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention may be understood by the following description, and will be more clearly understood by an embodiment of the present invention. Further, it will be readily apparent that the objects and advantages of the present invention can be realized by the means and combinations thereof indicated in the claims.

상기와 같은 목적을 달성하기 위한 본 발명의 일 측면에 따른 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법은, TTP 서버가, 사용자에 의해 등록된 사용자 정보를 관리하고, 공개키와 마스터 키 및 비밀키를 생성하는 단계; 상기 TTP 서버가, 상기 생성된 공개키를 데이터 소유자부 및 사용자부로 각각 전송하고 상기 마스터 키 및 비밀키를 상기 사용자부로 전송하는 단계; 상기 데이터 소유자부가, 상기 TTP 서버로부터 전송받은 정보와 클라우드 환경 내에서 자신의 데이터 접근 가능한 사용자부의 속성을 기반으로 접근구조를 만들어 데이터를 암호화하고 클라우드 스토리지에 업로드하는 단계; 상기 사용자부가, 상기 TTP 서버로부터 전송받은 정보를 이용하여 클라우드에 접근하기 위한 토큰을 생성하고 클라우드 스토리지에 접근하는 단계; AC 서버가, 상기 사용자부가 접근하려는 암호문에 지정된 접근구조의 속성과 사용자 속성을 비교하여 일치하는 경우, 부분 복호화가 진행하여 최종 복호화에 필요한 키요소를 생성하여 상기 사용자부로 암호문과 함께 전송하는 단계; 및 상기 AC 서버가, 탈퇴한 사용자의 속성을 해지하여 탈퇴한 사용자가 기존에 가지고 있던 정보를 가지고 상기 클라우드 스토리지에 접근하는 것을 차단하는 단계;를 포함하며; 상기 AC 서버는 상기 암호문의 크기를 속성의 개수에 비례하지 않고 일정 크기로 출력시키는 것을 특징으로 한다.In a data access control method using attribute-based encryption for safe and efficient data sharing in a cloud environment according to an aspect of the present invention for achieving the above object, a TTP server manages user information registered by a user and generating a public key, a master key, and a private key; transmitting, by the TTP server, the generated public key to a data owner unit and a user unit, respectively, and transmitting the master key and the private key to the user unit; encrypting, by the data owner unit, the data transmitted from the TTP server and uploading the data to the cloud storage by creating an access structure based on the information received from the TTP server and the attribute of the user unit capable of accessing its own data in the cloud environment; generating, by the user unit, a token for accessing the cloud using the information received from the TTP server and accessing the cloud storage; When the AC server compares and matches the user attribute with the attribute of the access structure specified in the cipher text to be accessed by the user unit, partial decryption is performed to generate a key element necessary for final decryption, and transmitting it to the user unit together with the cipher text; and blocking, by the AC server, from accessing the cloud storage with information previously owned by the withdrawn user by canceling the attribute of the withdrawn user; The AC server is characterized in that the size of the cipher text is output in a predetermined size without being proportional to the number of attributes.

상기 TTP 서버로부터 전송받은 정보와 클라우드 환경 내에서 자신의 데이터 접근 가능한 상기 사용자부의 속성을 기반으로 접근구조를 만들어 데이터를 암호화하고 상기 클라우드 스토리지에 업로드하는 단계는, 상기 데이터 소유자부가, 자신이 공유할 데이터에 접근할 수 있는 사용자의 속성들을 기반으로 트리형태의 접근구조를 생성하는 단계; 및 상기 데이터 소유자부가, 공개 파라미터와 접근구조로 데이터를 암호화하여, 상기 클라우드 스토리지에 전송하는 단계;를 포함하는 것을 특징으로 한다. The step of creating an access structure based on the information received from the TTP server and the properties of the user unit capable of accessing own data in the cloud environment, encrypting the data, and uploading the data to the cloud storage includes: creating a tree-type access structure based on the attributes of a user who can access data; and encrypting, by the data owner unit, data using public parameters and access structures, and transmitting the data to the cloud storage.

상기 TTP 서버로부터 전송받은 정보를 이용하여 클라우드에 접근하기 위한 토큰을 생성하고 상기 클라우드 스토리지에 접근하는 단계는, 암호화된 데이터 접근을 요청하는 상기 사용자부가, 상기 TTP 서버로부터 받은 사용자 정보(nonce value)로 자신의 속성집합을 암호화하여 클라우드에 접근하기 위한 토큰을 생성하고, 자신의 식별자와 함께 상기 AC 서버로 전송하는 단계; 상기 AC 서버가, 상기 사용자부로부터 받은 클라우드에 접근하기 위한 토큰을 가지고 있는 사용자 정보(nonce value)로 복호화하여 사용자부의 속성을 획득하는 단계; 및 상기 AC 서버가, 상기 사용자부가 원하는 암호데이터를 상기 클라우드 스토리지에 요청한 후 암호문을 전송받는 단계;를 포함하는 것을 특징으로 한다. The step of generating a token for accessing the cloud by using the information received from the TTP server and accessing the cloud storage includes, by the user unit requesting access to encrypted data, user information (nonce value) received from the TTP server generating a token for accessing the cloud by encrypting its own attribute set, and transmitting it to the AC server together with its own identifier; deciphering, by the AC server, user information (nonce value) having a token for accessing the cloud received from the user unit to obtain attributes of the user unit; and receiving, by the AC server, the encrypted text after requesting the encrypted data desired by the user to the cloud storage.

상기 사용자부가 접근하려는 암호문에 지정된 접근구조의 속성과 사용자 속성을 비교하여 일치하는 경우, 부분 복호화가 진행하여 최종 복호화에 필요한 키요소를 생성하여 상기 사용자부로 암호문과 함께 전송하는 단계는, 상기 AC 서버가, 상기 사용자부의 속성과 암호문에 지정된 접근구조를 비교하여 만족하는 경우, 암호문을 부분 복호화하여 최종 복호시 필요한 키를 생성하는 단계; 상기 AC 서버가, 암호문을 부분 복호화하여 최종 복호시 필요한 키를 사용자 정보(nonce value)로 암호화하여 사용자부로 전송하는 단계; 상기 사용자부가 상기 AC 서버로부터 전송받은 사용자 정보를 복호화하여 부분 복호화 진행 후 생성되는 최종 복호화 키 요소를 획득하는 단계; 및 상기 사용자부가 암호화문을 비밀키, 부분 복호화 진행 후 생성되는 최종 복호화 키 요소, 공개 파라미터를 통해 최종 복호화를 진행하여 메시지를 획득하는 단계;를 포함하는 것을 특징으로 한다.When the user attribute compares and matches the attribute of the access structure specified in the cipher text to be accessed by the user unit, partial decryption proceeds to generate a key element necessary for final decryption and transmits it together with the cipher text to the user unit, the AC server (a), if satisfied by comparing the properties of the user unit with the access structure specified in the cipher text, partially decrypting the cipher text to generate a key required for final decryption; The AC server partially decrypts the cipher text, encrypts the key required for final decryption as user information (nonce value) and transmits it to the user unit; obtaining, by the user unit, a final decryption key element generated after partial decryption by decrypting the user information transmitted from the AC server; and obtaining, by the user, a message by performing final decryption of the encrypted text using a private key, a final decryption key element generated after partial decryption, and a public parameter.

상기 탈퇴한 사용자의 속성을 해지하여 탈퇴한 사용자가 기존에 가지고 있던 정보를 가지고 상기 클라우드 스토리지에 접근하는 것을 차단하는 단계는, 상기 사용자부가 상기 TTP 서버에 탈퇴등록을 요청하는 단계; 상기 TTP 서버가 탈퇴할 사용자부의 정보를 사용자 속성 해지목록에 추가하고 탈퇴할 사용자 정보를 변경하는 단계; 상기 TTP 서버가 탈퇴한 상기 사용자부가 기존에 가지고 있던 사용자 정보를 대칭키로 사용하여 클라우드에 접근하기 위한 토큰을 만들어 상기 AC 서버에게 접근을 요청하는 단계; 및 상기 AC 서버가 접근실패 메시지를 사용자부로 전송하여 탈퇴한 사용자부에 대한 접근을 차단하는 단계;를 포함하는 것을 특징으로 한다.The step of canceling the attribute of the withdrawn user to block the withdrawn user from accessing the cloud storage with the information previously possessed may include: requesting, by the user, a withdrawal registration from the TTP server; adding, by the TTP server, information of the user to be withdrawn to the user attribute revocation list and changing the information of the user to withdraw from; making, by the TTP server, a token for accessing the cloud by using the user information previously owned by the user unit as a symmetric key, and requesting access to the AC server; and blocking, by the AC server, an access failure message to the user unit to block access to the withdrawn user unit.

상기와 같은 목적을 달성하기 위한 본 발명의 다른 측면에 따른 데이터를 저장 및 관리하는 클라우드 스토리지를 포함하는 데이터 접근 제어 시스템은, 사용자에 의해 등록된 사용자 정보를 관리하고, 공개키와 마스터 키 및 비밀키를 생성하며, 상기 생성된 공개키를 데이터 소유자부 및 사용자부로 각각 전송하고 상기 생성된 마스터 키 및 비밀키를 상기 사용자부로 전송하는 TTP 서버; 상기 TTP 서버로부터 전송받은 정보와 클라우드 환경 내에서 자신의 데이터 접근 가능한 상기 사용자부의 속성을 기반으로 접근구조를 만들어 데이터를 암호화하고 상기 클라우드 스토리지에 업로드하는 상기 데이터 소유자부; 상기 TTP 서버로부터 전송받은 정보를 이용하여 클라우드에 접근하기 위한 토큰을 생성하고 상기 클라우드 스토리지에 접근하는 사용자부; 및 상기 사용자부가 접근하려는 암호문에 지정된 접근구조의 속성과 사용자 속성을 비교하여 일치하는 경우, 부분 복호화가 진행하여 최종 복호화에 필요한 키요소를 생성하여 상기 사용자부로 암호문과 함께 전송하고, 탈퇴한 사용자의 속성을 해지하여 탈퇴한 사용자가 기존에 가지고 있던 정보를 가지고 상기 클라우드 스토리지에 접근하는 것을 차단하는 AC 서버;를 포함하며; 상기 AC 서버는 상기 암호문의 크기를 속성의 개수에 비례하지 않고 일정 크기로 출력시키는 것을 특징으로 한다.Data access control system including cloud storage for storing and managing data according to another aspect of the present invention for achieving the above object, manages user information registered by a user, public key, master key and secret a TTP server that generates a key, transmits the generated public key to a data owner unit and a user unit, respectively, and transmits the generated master key and private key to the user unit; the data owner unit for encrypting data and uploading to the cloud storage by creating an access structure based on the information transmitted from the TTP server and the attribute of the user unit capable of accessing its own data in a cloud environment; a user unit that generates a token for accessing the cloud using the information received from the TTP server and accesses the cloud storage; and if the user attribute is matched with the attribute of the access structure specified in the cipher text to be accessed by the user unit, partial decryption proceeds to generate a key element necessary for final decryption and transmits it to the user unit along with the cipher text, and and an AC server that blocks access to the cloud storage with information that a user who has withdrawn by canceling an attribute has previously owned information; The AC server is characterized in that the size of the cipher text is output in a predetermined size without being proportional to the number of attributes.

상기 데이터 소유자부는, 자신이 공유할 데이터에 접근할 수 있는 사용자의 속성들을 기반으로 트리형태의 접근구조를 생성하고, 공개 파라미터와 접근구조로 데이터를 암호화하여, 상기 클라우드 스토리지에 전송하는 것을 특징으로 한다. The data owner unit generates a tree-type access structure based on the properties of the user who can access the data to be shared, encrypts the data with public parameters and the access structure, and transmits it to the cloud storage do.

상기 사용자부는, 상기 TTP 서버로부터 받은 사용자 정보(nonce value)로 자신의 속성집합을 암호화하여 클라우드에 접근하기 위한 토큰을 생성하고, 자신의 식별자와 함께 상기 AC 서버로 전송하며, 암호화문을 비밀키, 부분 복호화 진행 후 생성되는 최종 복호화 키 요소, 공개 파라미터를 통해 최종 복호화를 진행하여 메시지를 획득하고, 상기 TTP 서버에 탈퇴등록을 요청하는 것을 특징으로 한다. The user unit generates a token for accessing the cloud by encrypting its attribute set with user information (nonce value) received from the TTP server, transmits it to the AC server together with its identifier, and transmits the encrypted text as a secret key , a final decryption key element and public parameter generated after partial decryption to obtain a message through final decryption, and to request withdrawal registration from the TTP server.

상기 AC 서버는, 상기 사용자부로부터 받은 클라우드에 접근하기 위한 토큰을 가지고 있는 사용자 정보(nonce value)로 복호화하여 상기 사용자부의 속성을 획득하고, 상기 사용자부가 원하는 암호데이터를 상기 클라우드 스토리지에 요청한 후 암호문을 전송받으며, 상기 사용자부의 속성과 암호문에 지정된 접근구조를 비교하여 만족하는 경우, 상기 암호문을 부분 복호화하여 최종 복호시 필요한 키를 생성하고, 상기 암호문을 부분 복호화하여 최종 복호시 필요한 키를 상기 사용자 정보(nonce value)로 암호화하여 상기 사용자부로 전송하고, 접근실패 메시지를 상기 사용자부로 전송하여 탈퇴한 사용자부에 대한 접근을 차단하는 것을 특징으로 한다. The AC server decrypts the user information (nonce value) having a token for accessing the cloud received from the user unit to obtain the attributes of the user unit, and after requesting the encrypted data desired by the user unit to the cloud storage, the encrypted text is transmitted, and if it is satisfied by comparing the attribute of the user part with the access structure specified in the cipher text, the cipher text is partially decrypted to generate a key required for final decryption, and the cipher text is partially decrypted to obtain the key required for final decryption by the user It is characterized in that the information (nonce value) is encrypted and transmitted to the user unit, and an access failure message is transmitted to the user unit to block access to the withdrawn user unit.

상기 TTP 서버는, 탈퇴할 사용자부의 정보를 사용자 속성 해지목록에 추가하고 탈퇴할 사용자 정보를 변경하고, 탈퇴한 사용자부가 기존에 가지고 있던 사용자 정보를 대칭키로 사용하여 클라우드에 접근하기 위한 토큰을 만들어 AC 서버에게 접근을 요청하는 것을 특징으로 한다. The TTP server adds the information of the user part to withdraw to the user attribute revocation list, changes the user information to withdraw, and creates a token for accessing the cloud using the user information previously owned by the withdrawn user part as a symmetric key. It is characterized by requesting access to the server.

본 발명의 일 측면에 따르면, 탈퇴된 사용자의 접근을 차단하고, 속성의 개수에 따라 증가되는 암호문 크기를 고정하여 출력시킴으로써 스토리지의 공간의 효율을 증대시킬 수 있는 효과가 있다. According to one aspect of the present invention, there is an effect that can increase the efficiency of the storage space by blocking the access of the withdrawn user and outputting the ciphertext size that is increased according to the number of attributes by fixing it.

또한, 아웃소싱 기법을 통한 부분 복호화 기법을 통해 사용자의 복호화 연산의 부담을 최소화하여 연산의 효율성을 증대시킬 수 있는 효과가 있다. In addition, there is an effect of increasing the efficiency of the operation by minimizing the user's burden on the decryption operation through the partial decryption method through the outsourcing method.

또한, 다수의 사용자들이 자신의 속성을 기반으로 클라우드에 저장된 데이터 중 원하는 데이터를 안전하고 효율적으로 공유할 수 있는 환경을 제공할 수 있다.In addition, it is possible to provide an environment in which multiple users can safely and efficiently share desired data among data stored in the cloud based on their properties.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description. .

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용들과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 시스템의 개략적인 구성도,
도 2는 본 발명의 일 실시예에 따른 초기 설정 및 키 생성 단계의 흐름을 개략적으로 도시한 도면,
도 3은 본 발명의 일 실시예에 따른 데이터 암호화 단계의 흐름을 개략적으로 도시한 도면,
도 4는 본 발명의 일 실시예에 따른 사용자 데이터 접근 단계 및 데이터 복호화 단계의 흐름을 개략적으로 도시한 도면,
도 5는 본 발명의 일 실시예에 따른 사용자 탈퇴 시 단계의 흐름을 개략적으로 도시한 도면이다.
The following drawings attached to this specification illustrate preferred embodiments of the present invention, and serve to further understand the technical spirit of the present invention together with specific contents for carrying out the invention, so the present invention is in such drawings It should not be construed as being limited only to the stated matters.
1 is a schematic configuration diagram of a data access control system using attribute-based encryption for safe and efficient data sharing in a cloud environment according to an embodiment of the present invention;
2 is a diagram schematically showing the flow of initial setting and key generation steps according to an embodiment of the present invention;
3 is a diagram schematically showing the flow of a data encryption step according to an embodiment of the present invention;
4 is a diagram schematically illustrating the flow of a user data access step and a data decryption step according to an embodiment of the present invention;
5 is a diagram schematically illustrating a flow of steps when a user leaves a user according to an embodiment of the present invention.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The above-described objects, features, and advantages will become more apparent through the following detailed description in relation to the accompanying drawings, and accordingly, those of ordinary skill in the art to which the present invention pertains can easily implement the technical idea of the present invention. There will be. In addition, in the description of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “…부” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, the “… The term “unit” means a unit that processes at least one function or operation, which may be implemented as hardware or software or a combination of hardware and software.

도 1은 본 발명의 일 실시예에 따른 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 시스템의 개략적인 구성도이다.1 is a schematic configuration diagram of a data access control system using attribute-based encryption for safe and efficient data sharing in a cloud environment according to an embodiment of the present invention.

본 실시예를 설명함에 있어서, 데이터 소유자부 및 사용자부는 클라우드를 통해 데이터를 공유하고자 하는 개체이다. 데이터 소유자부 및 사용자부는 PC, 태블릿 등과 같은 사용자 단말을 포함할 수 있다. 즉, 데이터 소유자부는 데이터 소유자가 소지한 사용자 단말일 수 있으며, 사용자부는 데이터의 사용자가 소지한 단말일 수 있다. In the description of the present embodiment, the data owner unit and the user unit are entities that want to share data through the cloud. The data owner unit and the user unit may include a user terminal such as a PC or a tablet. That is, the data owner unit may be a user terminal owned by the data owner, and the user unit may be a terminal owned by the data user.

도 1을 참조하면, 본 실시예에 따른 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 시스템은, TTP 서버(100), 데이터 소유자부(200), 사용자부(300) 및 AC 서버(400)를 포함한다. 이때, TTP 서버(100)는 클라우드 환경하에서 클라우드 스토리지(500)와 연결되어 통신을 수행할 수 있다. 이때, 클라우드 스토리지(500)는 데이터를 저장 및 관리하는 역할을 할 수 있다.Referring to FIG. 1 , the data access control system using attribute-based encryption for safe and efficient data sharing in a cloud environment according to the present embodiment includes a TTP server 100 , a data owner unit 200 , and a user unit 300 . ) and an AC server 400 . In this case, the TTP server 100 may be connected to the cloud storage 500 under a cloud environment to perform communication. In this case, the cloud storage 500 may serve to store and manage data.

TTP 서버(100)는, 신뢰할 수 있는 객체로, 초기 설정 및 키를 생성할 수 있다. 즉, TTP 서버(100)는, 사용자에 의해 등록된 사용자 정보를 관리하고, 공개키와 마스터 키 및 비밀키를 생성하며, 생성된 공개키와 마스터 키 및 비밀키를 데이터 소유자부(200) 및 사용자부(300)로 전송할 수 있다. The TTP server 100, as a trusted object, may generate an initial setting and a key. That is, the TTP server 100 manages user information registered by a user, generates a public key, a master key, and a private key, and uses the generated public key, master key and private key with the data owner unit 200 and It can be transmitted to the user unit 300 .

데이터 소유자부(200)는, 데이터를 암호화하는 객체일 수 있다. 즉, TTP 서버(100)로부터 전송받은 정보와 클라우드 환경 내에서 자신의 데이터 접근 가능한 사용자부(300)의 속성을 기반으로 접근구조를 만들어 데이터를 암호화하고 클라우드 스토리지(500)에 업로드할 수 있다. The data owner unit 200 may be an object that encrypts data. That is, it is possible to create an access structure based on the information transmitted from the TTP server 100 and the properties of the user unit 300 capable of accessing own data in the cloud environment, encrypt the data, and upload it to the cloud storage 500 .

사용자부(300)는, 데이터에 접근하려는 객체일 수 있다. 즉, 사용자부(300)는, TTP 서버(100)로부터 전송받은 정보를 이용하여 클라우드에 접근하기 위한 토큰을 생성하고 클라우드 스토리지(500)에 접근할 수 있다. The user unit 300 may be an object to access data. That is, the user unit 300 may generate a token for accessing the cloud using the information received from the TTP server 100 and access the cloud storage 500 .

AC 서버(400)는, 사용자의 접근차단 및 암호문의 부분 복호화를 진행해주는 아웃소싱 기법이 지원되는 객체일 수 있다. 즉, AC 서버(400)는, 사용자부(300)가 접근하려는 암호문에 지정된 접근구조의 속성과 사용자 속성을 비교하여 일치하는 경우, 부분 복호화가 진행하여 최종 복호화에 필요한 키요소를 생성하여 사용자부(300)로 암호문과 함께 전송하고, 탈퇴한 사용자의 속성을 해지하여 탈퇴한 사용자가 기존에 가지고 있던 정보를 가지고 클라우드 스토리지(500)에 접근하는 것을 차단할 수 있다. The AC server 400 may be an object supported by an outsourcing technique for blocking a user's access and partially decrypting the encrypted text. That is, the AC server 400 compares and matches the user attribute with the attribute of the access structure specified in the cipher text to be accessed by the user unit 300, partial decryption proceeds to generate a key element necessary for final decryption, and the user unit It is transmitted together with the ciphertext to 300 , and by canceling the attribute of the withdrawn user, it is possible to block the withdrawn user from accessing the cloud storage 500 with the information they have previously had.

상술한 바에 따른 데이터 접근 제어 시스템에 대해 정리하면 아래와 같다.The data access control system according to the above-mentioned bar is summarized as follows.

탈퇴된 사용자를 TTP 서버(100)의 속성 해지리스트에 등록하고, 일부 사용자 정보를 AC(Access Control) 서버에게 공유함으로써, AC 서버(400)는 사용자의 접근시 탈퇴된 사용자인지 아닌지 여부를 파악하여 탈퇴한 사용자의 접근권한을 차단할 수 있다. 여기서, TTP(Trusted third party)는 신뢰된 기관으로써 공개키, 마스터키를 출력하고, 등록된 사용자의 속성과 이에 대응하는 비밀키를 생성할 수 있으며, 속성 해지리스트를 통해 탈퇴된 사용자의 정보를 관리한다. 속성의 개수에 따라 암호문의 크기가 증가되는 문제를 해결하기 위해서는 암호문 생성과정에서 다수의 속성의 개수 연산을 통해 한 가지 속성으로 나타냄으로써 암호문 크기를 고정된 크기로 출력할 수 있으며, 이에 클라우드 스토리지(500) 공간을 효율적으로 사용할 수 있다. 또한, 아웃소싱 기법이 지원되는 AC 서버(400)를 통해 데이터에 접근하는 사용자의 속성과 암호문에 지정된 접근구조의 속성이 일치하면 암호문의 부분 복호화가 진행된다. 이후, 사용자는 부분 복호화가 진행된 암호문을 자신의 비밀키를 통해 최종복호화 연산만을 수행함으로써 데이터를 획득할 수 있기 때문에 연산량 측면에서 효율성이 제공될 수 있다. By registering the withdrawn user to the attribute revocation list of the TTP server 100 and sharing some user information with the AC (Access Control) server, the AC server 400 determines whether the user is a withdrawn user or not when the user accesses it. You can block the access rights of the user who has withdrawn. Here, TTP (Trusted third party) is a trusted organization that can output public and master keys, generate registered user attributes and corresponding private keys, and store the information of users who have been withdrawn through the attribute revocation list. manage In order to solve the problem that the size of the ciphertext increases according to the number of attributes, the ciphertext size can be output as a fixed size by calculating the number of multiple attributes during the ciphertext generation process and displaying the ciphertext size as a fixed size. 500) space can be used efficiently. In addition, if the attribute of the user accessing data through the AC server 400 supporting the outsourcing technique matches the attribute of the access structure specified in the ciphertext, partial decryption of the ciphertext is performed. Thereafter, since the user can obtain data by performing only the final decryption operation on the partially decrypted ciphertext through his/her private key, efficiency can be provided in terms of the amount of computation.

이하, 도 2 내지 도 5를 참조하여, 본 발명에 따른 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법에 대해 설명하기로 한다. Hereinafter, a data access control method using attribute-based encryption for safe and efficient data sharing in a cloud environment according to the present invention will be described with reference to FIGS. 2 to 5 .

도 2는 본 발명의 일 실시예에 따른 초기 설정 및 키 생성 단계의 흐름을 개략적으로 도시한 도면, 도 3은 본 발명의 일 실시예에 따른 데이터 암호화 단계의 흐름을 개략적으로 도시한 도면, 도 4는 본 발명의 일 실시예에 따른 사용자 데이터 접근 단계 및 데이터 복호화 단계의 흐름을 개략적으로 도시한 도면, 도 5는 본 발명의 일 실시예에 따른 사용자 탈퇴 시 단계의 흐름을 개략적으로 도시한 도면이다. 2 is a diagram schematically illustrating the flow of initial setting and key generation steps according to an embodiment of the present invention, FIG. 3 is a diagram schematically illustrating a flow of data encryption steps according to an embodiment of the present invention; 4 is a diagram schematically illustrating a flow of a user data access step and a data decryption step according to an embodiment of the present invention, and FIG. am.

한편, 본 실시예를 설명함에 있어서, 데이터 소유자 및 사용자는 각각 데이터 소유자부(200) 및 사용자부(300)를 소지한 사용자로, 데이터 소유자부(200) 및 사용자부(300)를 그 객체로 하여 각 단계의 흐름을 제어함은 자명하다.Meanwhile, in the description of the present embodiment, the data owner and the user are users having the data owner unit 200 and the user unit 300, respectively, and the data owner unit 200 and the user unit 300 are the objects. Therefore, it is self-evident to control the flow of each step.

먼저, 본 발명에 따른 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법에 대해에 대해 설명하기 이전에 본 발명의 개념에 대해 간략하게 설명하기로 한다. First, before explaining the data access control method using attribute-based encryption for safe and efficient data sharing in a cloud environment according to the present invention, the concept of the present invention will be briefly described.

본 발명은 본 발명에 따른 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법에 관한 것으로, 상술한 도 1에 도시된 바와 같은 요소들로 구성될 수 있다. 전체적인 데이터 접근 제어 방법에 대한 시나리오는 초기 설정 및 키 생성단계, 데이터 암호화 단계, 사용자 데이터 접근단계 및 데이터 복호화 단계 등으로 구성될 수 있다. 한편, 사용자의 탈퇴 시, 사용자 탈퇴 등록 및 접근차단 단계를 더 포함할 수 있다.The present invention relates to a data access control method using attribute-based encryption for safe and efficient data sharing in a cloud environment according to the present invention, and may be composed of the elements shown in FIG. 1 described above. A scenario for the overall data access control method may consist of initial setting and key generation steps, data encryption steps, user data access steps, and data decryption steps. On the other hand, when the user withdraws, the user withdrawal registration and access blocking step may be further included.

한편, 본 실시예에 따른 데이터 접근 제어 방법을 설명함에 앞서, 이하 내용에서 사용되는 기호들에 대해 다음과 같이 정의하기로 한다.Meanwhile, before describing the data access control method according to the present embodiment, symbols used in the following description will be defined as follows.

Figure 112019116783123-pat00001
: 신뢰할 수 있는 3기관(관리자)
Figure 112019116783123-pat00001
: 3 trusted organizations (administrators)

Figure 112019116783123-pat00002
: 데이터를 관리하는 서버
Figure 112019116783123-pat00002
: Server that manages data

Figure 112019116783123-pat00003
: 사용자 접근제어 관리
Figure 112019116783123-pat00003
: User access control management

Figure 112019116783123-pat00004
: 공개 파라미터, 마스터키
Figure 112019116783123-pat00004
: public parameters, master key

Figure 112019116783123-pat00005
: 사용자 비밀키(암호문 복호화키)
Figure 112019116783123-pat00005
: User secret key (cipher text decryption key)

Figure 112019116783123-pat00006
: 사용자 식별자
Figure 112019116783123-pat00006
: user identifier

Figure 112019116783123-pat00007
: 사용자 각 속성 데이터, 속성 데이터 집합
Figure 112019116783123-pat00007
: Each user attribute data, attribute data set

AS : 접근구조(Access policy or Access Structure)AS: Access policy or Access Structure

Figure 112019116783123-pat00008
: 각 속성이 가진 멀티 값
Figure 112019116783123-pat00008
: Multiple values of each attribute

Figure 112019116783123-pat00009
: 클라우드에 접근하기 위한 토큰
Figure 112019116783123-pat00009
: Token to access the cloud

Figure 112019116783123-pat00010
: 부분복호화 진행 후 생성되는 최종복호화 키 요소
Figure 112019116783123-pat00010
: Final decryption key element generated after partial decryption

Figure 112019116783123-pat00011
: 사용자마다 주어지는 랜덤값
Figure 112019116783123-pat00011
: A random value given to each user

Figure 112019116783123-pat00012
: 암호데이터
Figure 112019116783123-pat00012
: password data

Figure 112019116783123-pat00013
: 타임스탬프
Figure 112019116783123-pat00013
: timestamp

도 2를 참조하면, 먼저, 초기 설정 및 키 생성 단계에서는 사용자를 TTP에 등록하는 초기설정(셋업) 단계 및 TTP 서버(100)에서 공개키와 마스터키 및 사용자 속성에 대응되는 비밀키를 생성하는 단계를 포함할 수 있다(S210, S220). Referring to FIG. 2 , first, in the initial setting and key generation stage, the initial setting (setup) stage of registering a user to the TTP and the TTP server 100 generate a public key, a master key, and a private key corresponding to user attributes. It may include steps (S210, S220).

초기 설정 및 키 생성 단계에서, 사용자부(300)는 초기에 TTP 서버(100)에 등록 단계 절차를 수행하고, TTP 서버(100)는 사용자 정보를 관리할 수 있다. 이후, 공개키와 마스터키, 사용자 속성에 대응되는 비밀키를 생성하여 데이터 소유자부(200)와 사용자부(300)에게 안전한 채널로 정보를 송신하는 단계를 포함할 수 있으며, 보다 구체적인 단계는 아래와 같다. In the initial setting and key generation steps, the user unit 300 may initially perform a registration step procedure with the TTP server 100 , and the TTP server 100 may manage user information. Thereafter, it may include a step of generating a public key, a master key, and a private key corresponding to the user attribute and transmitting the information to the data owner unit 200 and the user unit 300 through a secure channel, and more specific steps are as follows. same.

<아 래><below>

1. TTP 서버(100)는 셋업 과정을 통해 초기 설정 및 공개키와 마스터키를 생성한다. 1. The TTP server 100 generates an initial setting and a public key and a master key through a setup process.

[수학식 1][Equation 1]

Figure 112019116783123-pat00014
Figure 112019116783123-pat00014

Figure 112019116783123-pat00015
Figure 112019116783123-pat00015

Figure 112019116783123-pat00016
Figure 112019116783123-pat00016

여기서, 겹선형 사상 그룹 G의 소수는 p이며, 랜덤 생성자는

Figure 112019116783123-pat00017
로 생성Here, the prime of the bilinear mapping group G is p, and the random generator is
Figure 112019116783123-pat00017
created with

2. 사용자부(300)가 TTP 서버(100)에 등록한 후, TTP 서버(100)는 사용자부(300)의 속성을 가지고 비밀키(

Figure 112019116783123-pat00018
)를 생성한다. 2. After the user unit 300 registers with the TTP server 100 , the TTP server 100 has the properties of the user unit 300 and a secret key (
Figure 112019116783123-pat00018
) is created.

[수학식 2][Equation 2]

Figure 112019116783123-pat00019
Figure 112019116783123-pat00019

Figure 112019116783123-pat00020
(각 속성의 번호),
Figure 112019116783123-pat00021
(
Figure 112019116783123-pat00022
는 각 속성에 대해 주어진 임의의 값)
Figure 112019116783123-pat00020
(number of each attribute),
Figure 112019116783123-pat00021
(
Figure 112019116783123-pat00022
is a given random value for each attribute)

Figure 112019116783123-pat00023
Figure 112019116783123-pat00023

Figure 112019116783123-pat00024
Figure 112019116783123-pat00024

3. TTP 서버(100)는 안전한 채널을 통해 데이터 소유자부(200)에게는 공개 파라미터(

Figure 112019116783123-pat00025
)를 사용자부(300)에게 공개 파라미터(
Figure 112019116783123-pat00026
)와 사용자 리스트에 등록된 사용자 식별자, 사용자 정보, 사용자 비밀키(
Figure 112019116783123-pat00027
)를 전송한다. 3. TTP server 100 sends open parameters (
Figure 112019116783123-pat00025
) to the user unit 300 as open parameters (
Figure 112019116783123-pat00026
) and the user identifier registered in the user list, user information, and user secret key (
Figure 112019116783123-pat00027
) is transmitted.

다음으로, 데이터 암호화 단계에서는 데이터 소유자가 사용자 속성을 기반을 접근구조를 생성하는 단계 및 메시지를 암호화하는 단계를 포함할 수 있다(S310, S320).Next, the data encryption step may include the data owner creating an access structure based on user attributes and encrypting the message (S310, S320).

데이터 암호화 단계에서, 데이터 소유자부(200)는 TTP 서버(100)로부터 받은 정보와 클라우드 환경 내에서 자신의 데이터에 접근 가능한 사용자부(300)의 속성을 기반으로 접근구조를 만들어 데이터를 암호화하고, 클라우드 스토리지(500)에 업로드하여 저장할 수 있다. 이때, 암호문의 크기는 속성의 개수에 비례하지 않고 일정크기가 출력되기 때문에 클라우드 스토리지(500)의 공간을 효율적으로 사용할 수 있다. 한편, 데이터 암호화 단계의 보다 구체적인 단계는 아래와 같다. In the data encryption step, the data owner unit 200 encrypts data by creating an access structure based on the information received from the TTP server 100 and the properties of the user unit 300 that can access its own data in the cloud environment, It may be uploaded and stored in the cloud storage 500 . At this time, since the size of the cipher text is not proportional to the number of attributes and a predetermined size is output, the space of the cloud storage 500 can be efficiently used. On the other hand, more specific steps of the data encryption step are as follows.

<아 래><below>

1. 데이터 소유자부(200)는 자신이 공유할 데이터(

Figure 112019116783123-pat00028
)에 접근할 수 있는 사용자의 속성들을 기반으로 트리형태의 접근구조(
Figure 112019116783123-pat00029
)를 생성한다.1. The data owner unit 200 is the data to be shared (
Figure 112019116783123-pat00028
), a tree-type access structure (
Figure 112019116783123-pat00029
) is created.

[수학식 3][Equation 3]

Figure 112019116783123-pat00030
여기서, Vi는 각 속성이 가진 멀티값
Figure 112019116783123-pat00030
Here, V i is the multi-value of each property.

Figure 112019116783123-pat00031
,
Figure 112019116783123-pat00032
여기서, AS는 접근구조
Figure 112019116783123-pat00031
,
Figure 112019116783123-pat00032
Here, AS is the access structure

2. 공개 파라미터와 접근구조(

Figure 112019116783123-pat00033
)로 데이터(
Figure 112019116783123-pat00034
)를 암호화하여, 클라우드 스토리지(500)에 전송한다. 2. Public parameters and access structures (
Figure 112019116783123-pat00033
) as data(
Figure 112019116783123-pat00034
) is encrypted and transmitted to the cloud storage 500 .

[수학식 4][Equation 4]

Figure 112019116783123-pat00035
Figure 112019116783123-pat00035

Figure 112019116783123-pat00036
(랜덤값 생성)
Figure 112019116783123-pat00036
(Generate random values)

Figure 112019116783123-pat00037
Figure 112019116783123-pat00037

3. 클라우드 스토리지(500)는 전송받은 암호화된 데이터를 저장한다.3. The cloud storage 500 stores the transmitted encrypted data.

다음으로, 데이터 접근 단계에서는, 사용자가 TTP 서버(100)로부터 받은 정보를 가지고 데이터에 접근할 수 있는 토큰을 생성하는 단계 및 AC 서버(400)에 접근요청을 하는 단계를 포함할 수 있다(S410, S420).Next, in the data access step, the user may include the step of generating a token that can access the data with the information received from the TTP server 100 and the step of making an access request to the AC server 400 (S410) , S420).

데이터 접근 단계에서, 사용자부(300)는 TTP 서버(100)로부터 전송받은 정보를 통해 클라우드에 접근하기 위한 토큰(

Figure 112019116783123-pat00038
)을 생성하여 클라우드 스토리지(500)에 접근한다. 한편, 데이터 접근 단계의 보다 구체적인 단계는 아래와 같다.In the data access step, the user unit 300 provides a token (
Figure 112019116783123-pat00038
) to access the cloud storage 500 . On the other hand, more specific steps of the data access step are as follows.

<아 래><below>

1. 암호화된 데이터에 접근을 요청하는 사용자부(300)는 TTP 서버(100)로부터 받은 사용자 정보(

Figure 112019116783123-pat00039
)로 자신의 속성집합을 암호화하여 클라우드에 접근하기 위한 토큰(
Figure 112019116783123-pat00040
)을 생성하고, 자신의 식별자와 함께 AC 서버(400)에게 전송한다.1. The user unit 300 requesting access to the encrypted data receives the user information (
Figure 112019116783123-pat00039
) to encrypt one's attribute set to access the cloud (
Figure 112019116783123-pat00040
) is generated and transmitted to the AC server 400 together with its identifier.

<수학식 5><Equation 5>

Figure 112019116783123-pat00041
Figure 112019116783123-pat00041

2. AC 서버(400)는 사용자부(300)로부터 받은 클라우드에 접근하기 위한 토큰(

Figure 112019116783123-pat00042
)을 가지고 있는 사용자 정보(
Figure 112019116783123-pat00043
)로 복호화하여 사용자부(300)의 속성을 획득한다. 이후, AC 서버(400)는 사용자부(300)가 원하는 암호데이터를 클라우드 스토리지(500)에 요청한 후 암호문을 전송받는다.2. The AC server 400 receives a token (
Figure 112019116783123-pat00042
) with user information (
Figure 112019116783123-pat00043
) to obtain the properties of the user unit 300 . After that, the AC server 400 requests the encrypted data desired by the user unit 300 from the cloud storage 500 and then receives the encrypted text.

다음으로, 데이터 복호화 단계에서는, AC 서버(400)가 접근하는 사용자를 인증하는 단계, 데이터를 부분 복호화하는 단계를 포함할 수 있다(S430, S440). Next, in the data decryption step, the AC server 400 may include a step of authenticating an accessing user and a step of partially decrypting the data (S430, S440).

데이터 복호화 단계에서, AC 서버(400)에서 사용자부(300)가 접근하려는 암호문에 지정된 접근구조(

Figure 112019116783123-pat00044
)의 속성과 사용자 속성을 비교하여 일치하면 부분 복호화가 진행하여 최종 복호화에 필요한 키요소(
Figure 112019116783123-pat00045
)를 생성하여 사용자부(300)에게 암호문과 함께 전송한다. 사용자부(300)는 자신이 가지고 있는 비밀키(
Figure 112019116783123-pat00046
)를 가지고 최종 복호화를 진행하여 암호문을 복호화하여 데이터(
Figure 112019116783123-pat00047
)를 획득한다. 한편, 데이터 복호화 단계의 보다 구체적인 단계는 아래와 같다.In the data decryption step, the access structure (
Figure 112019116783123-pat00044
) and user attributes are compared, and if they match, partial decryption proceeds and the key element (
Figure 112019116783123-pat00045
) is generated and transmitted to the user unit 300 together with the cipher text. The user unit 300 has a private key (
Figure 112019116783123-pat00046
) with the final decryption to decrypt the ciphertext,
Figure 112019116783123-pat00047
) is obtained. Meanwhile, a more specific step of the data decoding step is as follows.

<아 래><below>

1. 사용자의 속성과 암호문에 지정된 접근구조(

Figure 112019116783123-pat00048
)를 비교하여 만족하면 암호문을 부분 복호화하여 최종 복호시 필요한 키(
Figure 112019116783123-pat00049
)를 생성한다.1. The access structure specified in the user's attributes and passphrase (
Figure 112019116783123-pat00048
), the ciphertext is partially decrypted and the key (
Figure 112019116783123-pat00049
) is created.

[수학식 6][Equation 6]

Figure 112019116783123-pat00050
Figure 112019116783123-pat00050

Figure 112019116783123-pat00051
Figure 112019116783123-pat00051

2. AC 서버(400)는 최종 복호시 필요한 키(

Figure 112019116783123-pat00052
)를 사용자부(300)의 사용자 정보(
Figure 112019116783123-pat00053
)로 암호화하여 사용자부(300)에게 전송한다.2. The AC server 400 provides a key (
Figure 112019116783123-pat00052
) to the user information of the user unit 300 (
Figure 112019116783123-pat00053
) and transmitted to the user unit 300 .

[수학식 7][Equation 7]

Figure 112019116783123-pat00054
Figure 112019116783123-pat00054

3. 사용자부(300)는 AC 서버(400)로부터 받은

Figure 112019116783123-pat00055
를 복호화하여 최종 복호시 필요한 키(
Figure 112019116783123-pat00056
)를 획득한다.3. The user unit 300 receives from the AC server 400
Figure 112019116783123-pat00055
The key required for final decryption (
Figure 112019116783123-pat00056
) is obtained.

4. 암호문(

Figure 112019116783123-pat00057
)을 비밀키(
Figure 112019116783123-pat00058
), 최종 복호시 필요한 키(
Figure 112019116783123-pat00059
), 공개 파라미터(
Figure 112019116783123-pat00060
)를 통해 최종 복호화를 진행하여 메시지(
Figure 112019116783123-pat00061
)를 획득한다4. Passphrase (
Figure 112019116783123-pat00057
) with the secret key (
Figure 112019116783123-pat00058
), the key required for final decryption (
Figure 112019116783123-pat00059
), public parameters (
Figure 112019116783123-pat00060
) through the final decryption to
Figure 112019116783123-pat00061
) to get

[수학식 8][Equation 8]

Figure 112019116783123-pat00062
Figure 112019116783123-pat00062

Figure 112019116783123-pat00063
Figure 112019116783123-pat00063

다음으로, 사용자 탈퇴 등록 및 접근차단 단계에서는, 사용자 탈퇴 요청 및 등록 단계를 포함할 수 있으며, 이로 인해 탈퇴된 사용자의 접근을 접근토큰의 검증을 통해 AC 서버(400)가 차단할 수 있다(S510, S520). Next, the user withdrawal registration and access blocking step may include a user withdrawal request and registration step, whereby the AC server 400 may block the access of the withdrawn user through verification of the access token (S510, S520).

사용자 탈퇴 등록 및 접근차단 단계에서, 탈퇴한 사용자의 속성을 해지하여 탈퇴한 사용자가 기존에 가지고 있던 정보를 가지고 클라우드 스토리지(500)에 접근하는 것을 차단한다. 사용자 탈퇴 시, TTP 서버(100)는 속성 해지리스트에서 탈퇴된 사용자의 정보를 등록하고, 탈퇴된 사용자의 사용자 정보(

Figure 112019116783123-pat00064
)를 변경한다. 그리고, 사용자 리스트와 동기화를 진행한 후 이를 AC 서버(400)와 공유한다. 이후, 탈퇴된 사용자가 기존에 가지고 있던 사용자 정보(
Figure 112019116783123-pat00065
)를 기반으로 접근 요청 시 AC 서버(400)는 사용자의 사용자 정보(
Figure 112019116783123-pat00066
)를 모르기 때문에 사용자로부터 받은
Figure 112019116783123-pat00067
를 복호화 할 수 없다. 이에, AC 서버(400)는 사용자에게 접근실패 메시지를 전송함으로써 탈퇴된 사용자의 접근을 차단한다. 한편, 사용자 탈퇴 등록 및 접근차단 단계의 보다 구체적인 단계는 아래와 같다.In the user withdrawal registration and access blocking step, the attribute of the withdrawn user is canceled to block the withdrawn user from accessing the cloud storage 500 with the information previously possessed. When the user withdraws, the TTP server 100 registers the information of the user withdrawn from the attribute revocation list, and the user information (
Figure 112019116783123-pat00064
) is changed. Then, after synchronizing with the user list, it is shared with the AC server 400 . After that, the user information (
Figure 112019116783123-pat00065
) based on the AC server 400, the user's user information (
Figure 112019116783123-pat00066
) received from the user because
Figure 112019116783123-pat00067
cannot be decrypted. Accordingly, the AC server 400 blocks the access of the withdrawn user by transmitting an access failure message to the user. On the other hand, more specific steps of the user withdrawal registration and access blocking step are as follows.

<아 래><below>

1. 사용자부(300)는 TTP 서버(100)에 탈퇴 등록을 요청한다.1. The user unit 300 requests the TTP server 100 to register for withdrawal.

2. TTP 서버(100)는 탈퇴할 사용자의 정보를 사용자 속성 해지목록에 추가하고 탈퇴할 사용자의 사용자 정보(

Figure 112019116783123-pat00068
)를 변경한다. 이때, 등록된 사용자 목록에서의 사용자 정보(
Figure 112019116783123-pat00069
)는 사용자 해지목록과 동기화되면서 변경되고, 이 정보는 AC 서버(400)와 공유된다.2. The TTP server 100 adds the information of the user to withdraw from the user attribute revocation list, and the user information (
Figure 112019116783123-pat00068
) is changed. At this time, user information (
Figure 112019116783123-pat00069
) is changed while being synchronized with the user revocation list, and this information is shared with the AC server 400 .

3. 탈퇴한 사용자가 기존에 가지고 있던 사용자 정보(

Figure 112019116783123-pat00070
)를 대칭키로 사용하여 클라우드에 접근하기 위한 토큰(
Figure 112019116783123-pat00071
)을 만들어 AC 서버(400)에게 접근을 요청한다. AC 서버(400)는 사용자의 식별자를 통해 대응되는 사용자 정보(
Figure 112019116783123-pat00072
)를 찾는데, 이때, AC 서버(400)가 찾은 사용자 정보(
Figure 112019116783123-pat00073
)와 사용자가 대칭키로 사용한 사용자 정보(
Figure 112019116783123-pat00074
)가 다르기 때문에 AC 서버(400)는 사용자로부터 받은 클라우드에 접근하기 위한 토큰(
Figure 112019116783123-pat00075
)을 복호화하지 못한다.3. User information (
Figure 112019116783123-pat00070
) to access the cloud using the symmetric key (
Figure 112019116783123-pat00071
) to request access to the AC server 400 . The AC server 400 provides user information (
Figure 112019116783123-pat00072
), at this time, the user information (
Figure 112019116783123-pat00073
) and user information (
Figure 112019116783123-pat00074
) is different, so the AC server 400 receives the token (
Figure 112019116783123-pat00075
) cannot be decoded.

4. AC 서버(400)는 접근실패 메시지를 사용자에게 전송하여 탈퇴한 사용자에 대한 접근을 차단한다. 타임스탬프(

Figure 112019116783123-pat00076
)가 속성해지 목록에 등록되면, 등록된 타임스탬프(
Figure 112019116783123-pat00077
) 기간 동안 사용자의 사용자 정보(
Figure 112019116783123-pat00078
)가 변경되기 때문에 사용자는 타임스탬프(
Figure 112019116783123-pat00079
) 기간 동안 클라우드 스토리지(500)에 접근할 수 없다.4. The AC server 400 transmits an access failure message to the user to block access to the withdrawn user. timestamp (
Figure 112019116783123-pat00076
) is registered in the property revocation list, the registered timestamp (
Figure 112019116783123-pat00077
) of the user's user information during the period (
Figure 112019116783123-pat00078
) changes, so the user needs to change the timestamp (
Figure 112019116783123-pat00079
) cannot access the cloud storage 500 during the period.

상술한 바와 같은 본 발명에 따르면, 데이터를 CP-ABE와 같은 속성기반 암호로 암호화하여 클라우드에 업로드하면 다수의 사용자가 암호화된 데이터에 접근이 가능하다. 특히 TTP 서버(100)에서 비밀키 생성시 속성과 랜덤함수를 기반으로 비밀키를 생성하기 때문에 제 3자가 사용자의 속성정보만으로 비밀키(

Figure 112019116783123-pat00080
)를 유추할 수 없다. 또한, 사용자와 AC만이 알고 있는 사용자 정보(nonce value)를 대칭키로 사용하여 데이터 접근을 요청하고, 데이터 복호시 최종 복호화키(
Figure 112019116783123-pat00081
)도 같이 사용하기 때문에 사용자들 간의 공모를 통해 데이터(
Figure 112019116783123-pat00082
)를 복호화하기 어렵다. 이에 따르면, 기존 클라우드 환경에서 발생되는 공모공격을 방지할 수 있으며, 클라우드에 저장된 데이터에 대한 무결성 및 기밀성을 보장할 수 있다. 사용자가 탈퇴 시 사용자 속성 해지리스트에서 사용자를 등록하고 사용자 정보(nonce value) 중 변경한 정보를 AC 서버(400)와 공유한다. 그리고, 사용자와 AC 서버(400) 간의 통신은 사용자 속성 해지리스트에 등록된 사용자의 사용자 정보(nonce value)를 대칭키로 사용하여 통신하기 때문에 탈퇴 된 사용자가 다른 사용자의 속성을 가지고 AC 서버(400)에 접근하더라도 AC 서버(400)는 접근요청 메시지를 알 수 없다. 이에 따라, 다른 사람의 속성을 사칭에서 접근하는 위장공격에 안전하며, 탈되 된 사용자의 접근을 차단할 수 있다. 또한, 효율성 측면에서는 암호화하는 과정에서
Figure 112019116783123-pat00083
연산을 통해 증가되는 속성의 수를 한가지의 속성의 수로 나타내어 암호문의 크기를 일정하게 출력할 수 있으며, 이로 인해 클라우드 스토리지(500) 저장 공간을 효율적으로 사용할 수 있다. 또한, 아웃소싱 기법을 지원하는 AC 서버(400)에서 부분 복호화 연산을 처리함으로써 사용자가 암호문을 복호화 시 처리할 수 있는 연산량을 감소시켜 연산의 효율성을 증대시킬 수 있다. 이를 통해, 클라우드 환경에서 안전하고 효율적인 데이터 공유 서비스를 제공할 수 있다.According to the present invention as described above, when data is encrypted with an attribute-based encryption such as CP-ABE and uploaded to the cloud, a plurality of users can access the encrypted data. In particular, since the TTP server 100 generates a secret key based on an attribute and a random function when generating a secret key, a third party uses only the user's attribute information to generate the secret key (
Figure 112019116783123-pat00080
) cannot be inferred. In addition, data access is requested using the user information (nonce value) known only to the user and AC as a symmetric key, and the final decryption key (
Figure 112019116783123-pat00081
) is also used, so the data (
Figure 112019116783123-pat00082
) is difficult to decrypt. According to this, collusion attacks occurring in the existing cloud environment can be prevented, and the integrity and confidentiality of data stored in the cloud can be guaranteed. When the user withdraws, the user is registered in the user attribute revocation list, and the changed information among user information (nonce value) is shared with the AC server 400 . And, since the communication between the user and the AC server 400 uses the user information (nonce value) of the user registered in the user attribute revocation list as a symmetric key to communicate, the withdrawn user has the attributes of another user and the AC server 400 Even when accessing the AC server 400, the access request message cannot be known. Accordingly, it is safe from spoofing attacks that access other people's properties by impersonating them, and it is possible to block the access of the user who has been removed. In addition, in terms of efficiency, in the process of encryption
Figure 112019116783123-pat00083
By expressing the number of attributes increased through the operation as the number of one attribute, the size of the cipher text can be output uniformly, thereby efficiently using the cloud storage 500 storage space. In addition, by processing the partial decryption operation in the AC server 400 supporting the outsourcing technique, it is possible to increase the operation efficiency by reducing the amount of operations that the user can process when decrypting the ciphertext. Through this, it is possible to provide a safe and efficient data sharing service in a cloud environment.

본 발명의 실시예에 따른 방법들은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는, 본 발명을 위한 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Methods according to an embodiment of the present invention may be implemented as an application or implemented in the form of program instructions that may be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the computer-readable recording medium are specially designed and configured for the present invention, and may be known and used by those skilled in the art of computer software. Examples of the computer-readable recording medium include a hard disk, a magnetic medium such as a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM, a DVD, and a magneto-optical medium such as a floppy disk. media) and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the present invention, and vice versa.

본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 아니 된다. 또한, 본 명세서의 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서의 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While this specification contains many features, such features should not be construed as limiting the scope of the invention or the claims. Also, features described in individual embodiments herein may be implemented in combination in a single embodiment. Conversely, various features described in a single embodiment herein may be implemented in various embodiments individually, or may be implemented in appropriate combination.

도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 앱 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.Although operations have been described in a particular order in the drawings, it should not be understood that such operations are performed in the specific order as illustrated, or that all described operations are performed in a continuous sequence, or to obtain a desired result. Multitasking and parallel processing can be advantageous in certain circumstances. In addition, it should be understood that the division of various system components in the above-described embodiments does not require such division in all embodiments. The app components and systems described above may generally be implemented as a package in a single software product or multiple software products.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니다.The present invention described above, for those of ordinary skill in the art to which the present invention pertains, various substitutions, modifications and changes are possible without departing from the technical spirit of the present invention. It is not limited by the drawings.

100 : TTP 서버
200 : 데이터 소유자부
300 : 사용자부
400 : AC 서버
500 : 클라우드 스토리지
100 : TTP server
200: data owner part
300: user part
400 : AC server
500 : cloud storage

Claims (10)

TTP 서버가, 사용자에 의해 등록된 사용자 정보를 관리하고, 공개키와 마스터 키 및 비밀키를 생성하는 단계;
상기 TTP 서버가, 상기 생성된 공개키를 데이터 소유자부 및 사용자부로 각각 전송하고 상기 마스터 키 및 비밀키를 상기 사용자부로 전송하는 단계;
상기 데이터 소유자부가, 상기 TTP 서버로부터 전송받은 정보와 클라우드 환경 내에서 자신의 데이터 접근 가능한 사용자부의 속성을 기반으로 접근구조를 만들어 데이터를 암호화하고 클라우드 스토리지에 업로드하는 단계;
상기 사용자부가, 상기 TTP 서버로부터 전송받은 정보를 이용하여 클라우드에 접근하기 위한 토큰을 생성하고 클라우드 스토리지에 접근하는 단계;
AC 서버가, 상기 사용자부가 접근하려는 암호문에 지정된 접근구조의 속성과 사용자 속성을 비교하여 일치하는 경우, 부분 복호화가 진행하여 최종 복호화에 필요한 키요소를 생성하여 상기 사용자부로 암호문과 함께 전송하는 단계; 및
상기 AC 서버가, 탈퇴한 사용자의 속성을 해지하여 탈퇴한 사용자가 기존에 가지고 있던 정보를 가지고 상기 클라우드 스토리지에 접근하는 것을 차단하는 단계;를 포함하며;
상기 AC 서버는 상기 암호문의 크기를 속성의 개수에 비례하지 않고 일정 크기로 출력시키는 것을 특징으로 하는 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법.
The TTP server, managing user information registered by the user, and generating a public key, a master key, and a private key;
transmitting, by the TTP server, the generated public key to a data owner unit and a user unit, respectively, and transmitting the master key and the private key to the user unit;
encrypting, by the data owner unit, the data transmitted from the TTP server and uploading the data to the cloud storage by creating an access structure based on the information received from the TTP server and the attribute of the user unit capable of accessing its own data in the cloud environment;
generating, by the user unit, a token for accessing the cloud using the information received from the TTP server and accessing the cloud storage;
When the AC server compares and matches the user attribute with the attribute of the access structure specified in the cipher text to be accessed by the user unit, partial decryption is performed to generate a key element necessary for final decryption, and transmitting it to the user unit together with the cipher text; and
and blocking, by the AC server, from accessing the cloud storage with information previously owned by the withdrawn user by canceling the attribute of the withdrawn user;
Data access control method using attribute-based encryption for safe and efficient data sharing in a cloud environment, characterized in that the AC server outputs the size of the cipher text in a predetermined size, not proportional to the number of attributes.
제 1 항에 있어서,
상기 TTP 서버로부터 전송받은 정보와 클라우드 환경 내에서 자신의 데이터 접근 가능한 상기 사용자부의 속성을 기반으로 접근구조를 만들어 데이터를 암호화하고 상기 클라우드 스토리지에 업로드하는 단계는,
상기 데이터 소유자부가, 자신이 공유할 데이터에 접근할 수 있는 사용자의 속성들을 기반으로 트리형태의 접근구조를 생성하는 단계; 및
상기 데이터 소유자부가, 공개 파라미터와 접근구조로 데이터를 암호화하여, 상기 클라우드 스토리지에 전송하는 단계;를 포함하는 것을 특징으로 하는 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법.
The method of claim 1,
The step of creating an access structure based on the information received from the TTP server and the properties of the user unit capable of accessing own data in the cloud environment, encrypting the data, and uploading the data to the cloud storage,
generating, by the data owner, a tree-type access structure based on attributes of a user who can access the data to be shared; and
Data access control using attribute-based encryption for safe and efficient data sharing in a cloud environment, comprising: the data owner unit encrypting data with public parameters and access structure, and transmitting it to the cloud storage Way.
제 1 항에 있어서,
상기 TTP 서버로부터 전송받은 정보를 이용하여 클라우드에 접근하기 위한 토큰을 생성하고 상기 클라우드 스토리지에 접근하는 단계는,
암호화된 데이터 접근을 요청하는 상기 사용자부가, 상기 TTP 서버로부터 받은 사용자 정보(nonce value)로 자신의 속성집합을 암호화하여 클라우드에 접근하기 위한 토큰을 생성하고, 자신의 식별자와 함께 상기 AC 서버로 전송하는 단계;
상기 AC 서버가, 상기 사용자부로부터 받은 클라우드에 접근하기 위한 토큰을 가지고 있는 사용자 정보(nonce value)로 복호화하여 사용자부의 속성을 획득하는 단계; 및
상기 AC 서버가, 상기 사용자부가 원하는 암호데이터를 상기 클라우드 스토리지에 요청한 후 암호문을 전송받는 단계;를 포함하는 것을 특징으로 하는 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법.
The method of claim 1,
Generating a token for accessing the cloud using the information received from the TTP server and accessing the cloud storage comprises:
The user unit requesting access to encrypted data encrypts its attribute set with user information (nonce value) received from the TTP server to generate a token for accessing the cloud, and transmits it to the AC server together with its identifier to do;
deciphering, by the AC server, user information (nonce value) having a token for accessing the cloud received from the user unit to obtain attributes of the user unit; and
Data access control using attribute-based encryption for safe and efficient data sharing in a cloud environment, comprising the step of, by the AC server, receiving the encrypted text after requesting the encrypted data desired by the user from the cloud storage Way.
제 1 항에 있어서,
상기 사용자부가 접근하려는 암호문에 지정된 접근구조의 속성과 사용자 속성을 비교하여 일치하는 경우, 부분 복호화가 진행하여 최종 복호화에 필요한 키요소를 생성하여 상기 사용자부로 암호문과 함께 전송하는 단계는,
상기 AC 서버가, 상기 사용자부의 속성과 암호문에 지정된 접근구조를 비교하여 만족하는 경우, 암호문을 부분 복호화하여 최종 복호시 필요한 키를 생성하는 단계;
상기 AC 서버가, 암호문을 부분 복호화하여 최종 복호시 필요한 키를 사용자 정보(nonce value)로 암호화하여 사용자부로 전송하는 단계;
상기 사용자부가 상기 AC 서버로부터 전송받은 사용자 정보를 복호화하여 부분 복호화 진행 후 생성되는 최종 복호화 키 요소를 획득하는 단계; 및
상기 사용자부가 암호화문을 비밀키, 부분 복호화 진행 후 생성되는 최종 복호화 키 요소, 공개 파라미터를 통해 최종 복호화를 진행하여 메시지를 획득하는 단계;를 포함하는 것을 특징으로 하는 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법.
The method of claim 1,
When the attribute of the access structure specified in the cipher text to be accessed by the user unit and the user attribute are matched, partial decryption is performed to generate a key element necessary for final decryption and transmitting the cipher text to the user unit together with the cipher text,
generating, by the AC server, a key required for final decryption by partially decrypting the ciphertext, if it is satisfied by comparing the attribute of the user unit with the access structure specified in the ciphertext;
The AC server partially decrypts the cipher text, encrypts the key required for final decryption as user information (nonce value) and transmits it to the user unit;
obtaining, by the user unit, a final decryption key element generated after partial decryption by decrypting the user information transmitted from the AC server; and
Secure and efficient data sharing in a cloud environment, characterized in that it includes; the user unit performing final decryption of the encrypted text through a secret key, a final decryption key element generated after partial decryption, and a public parameter to obtain a message; Data access control method using attribute-based encryption for
제 1 항에 있어서,
상기 탈퇴한 사용자의 속성을 해지하여 탈퇴한 사용자가 기존에 가지고 있던 정보를 가지고 상기 클라우드 스토리지에 접근하는 것을 차단하는 단계는,
상기 사용자부가 상기 TTP 서버에 탈퇴등록을 요청하는 단계;
상기 TTP 서버가 탈퇴할 사용자부의 정보를 사용자 속성 해지목록에 추가하고 탈퇴할 사용자 정보를 변경하는 단계;
상기 TTP 서버가 탈퇴한 상기 사용자부가 기존에 가지고 있던 사용자 정보를 대칭키로 사용하여 클라우드에 접근하기 위한 토큰을 만들어 상기 AC 서버에게 접근을 요청하는 단계; 및
상기 AC 서버가 접근실패 메시지를 사용자부로 전송하여 탈퇴한 사용자부에 대한 접근을 차단하는 단계;를 포함하는 것을 특징으로 하는 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법.
The method of claim 1,
The step of canceling the attribute of the withdrawn user to block the user who has withdrawn from accessing the cloud storage with the information previously possessed includes:
requesting, by the user, a withdrawal registration from the TTP server;
adding, by the TTP server, information of the user to be withdrawn to the user attribute revocation list and changing the information of the user to withdraw from;
making, by the TTP server, a token for accessing the cloud by using the user information previously owned by the user unit as a symmetric key, and requesting access to the AC server; and
Data access control using attribute-based encryption for safe and efficient data sharing in a cloud environment, comprising: the AC server transmitting an access failure message to the user unit to block access to the withdrawn user unit Way.
데이터를 저장 및 관리하는 클라우드 스토리지를 포함하는 데이터 접근 제어 시스템에 있어서,
사용자에 의해 등록된 사용자 정보를 관리하고, 공개키와 마스터 키 및 비밀키를 생성하며, 상기 생성된 공개키를 데이터 소유자부 및 사용자부로 각각 전송하고 상기 생성된 마스터 키 및 비밀키를 상기 사용자부로 전송하는 TTP 서버;
상기 TTP 서버로부터 전송받은 정보와 클라우드 환경 내에서 자신의 데이터 접근 가능한 상기 사용자부의 속성을 기반으로 접근구조를 만들어 데이터를 암호화하고 상기 클라우드 스토리지에 업로드하는 상기 데이터 소유자부;
상기 TTP 서버로부터 전송받은 정보를 이용하여 클라우드에 접근하기 위한 토큰을 생성하고 상기 클라우드 스토리지에 접근하는 사용자부; 및
상기 사용자부가 접근하려는 암호문에 지정된 접근구조의 속성과 사용자 속성을 비교하여 일치하는 경우, 부분 복호화가 진행하여 최종 복호화에 필요한 키요소를 생성하여 상기 사용자부로 암호문과 함께 전송하고, 탈퇴한 사용자의 속성을 해지하여 탈퇴한 사용자가 기존에 가지고 있던 정보를 가지고 상기 클라우드 스토리지에 접근하는 것을 차단하는 AC 서버;를 포함하며;
상기 AC 서버는 상기 암호문의 크기를 속성의 개수에 비례하지 않고 일정 크기로 출력시키는 데이터 접근 제어 시스템.
In the data access control system including cloud storage for storing and managing data,
Manages user information registered by a user, generates a public key, a master key, and a private key, transmits the generated public key to a data owner unit and a user unit, respectively, and transmits the generated master key and private key to the user unit Transmitting TTP server;
the data owner unit for encrypting data and uploading to the cloud storage by creating an access structure based on the information transmitted from the TTP server and the attribute of the user unit capable of accessing its own data in a cloud environment;
a user unit that generates a token for accessing the cloud using the information received from the TTP server and accesses the cloud storage; and
When the attribute of the access structure specified in the cipher text to be accessed by the user unit is matched with the user attribute, partial decryption proceeds to generate a key element necessary for final decryption and transmits it to the user unit along with the cipher text, and the attribute of the user who has withdrawn and an AC server that blocks access to the cloud storage with the information that the user who has withdrawn by canceling the .
The AC server is a data access control system for outputting the size of the ciphertext in a predetermined size, not proportional to the number of attributes.
제 6 항에 있어서,
상기 데이터 소유자부는,
자신이 공유할 데이터에 접근할 수 있는 사용자의 속성들을 기반으로 트리형태의 접근구조를 생성하고, 공개 파라미터와 접근구조로 데이터를 암호화하여, 상기 클라우드 스토리지에 전송하는 것을 특징으로 하는 데이터 접근 제어 시스템.
7. The method of claim 6,
The data owner unit,
A data access control system, characterized in that it creates a tree-type access structure based on the properties of a user who can access the data to be shared, encrypts the data with public parameters and access structure, and transmits it to the cloud storage .
제 6 항에 있어서,
상기 사용자부는,
상기 TTP 서버로부터 받은 사용자 정보(nonce value)로 자신의 속성집합을 암호화하여 클라우드에 접근하기 위한 토큰을 생성하고, 자신의 식별자와 함께 상기 AC 서버로 전송하며, 암호화문을 비밀키, 부분 복호화 진행 후 생성되는 최종 복호화 키 요소, 공개 파라미터를 통해 최종 복호화를 진행하여 메시지를 획득하고, 상기 TTP 서버에 탈퇴등록을 요청하는 것을 특징으로 하는 데이터 접근 제어 시스템.
7. The method of claim 6,
The user unit,
Generates a token for accessing the cloud by encrypting its attribute set with the user information (nonce value) received from the TTP server, transmits it to the AC server along with its identifier, and proceeds with partial decryption of the encrypted text with the private key A data access control system, characterized in that the message is obtained by performing final decryption through the final decryption key element and public parameter generated afterward, and requesting a withdrawal registration from the TTP server.
제 6 항에 있어서,
상기 AC 서버는, 상기 사용자부로부터 받은 클라우드에 접근하기 위한 토큰을 가지고 있는 사용자 정보(nonce value)로 복호화하여 상기 사용자부의 속성을 획득하고, 상기 사용자부가 원하는 암호데이터를 상기 클라우드 스토리지에 요청한 후 암호문을 전송받으며, 상기 사용자부의 속성과 암호문에 지정된 접근구조를 비교하여 만족하는 경우, 상기 암호문을 부분 복호화하여 최종 복호시 필요한 키를 생성하고, 상기 암호문을 부분 복호화하여 최종 복호시 필요한 키를 상기 사용자 정보(nonce value)로 암호화하여 상기 사용자부로 전송하고, 접근실패 메시지를 상기 사용자부로 전송하여 탈퇴한 사용자부에 대한 접근을 차단하는 것을 특징으로 하는 데이터 접근 제어 시스템.
7. The method of claim 6,
The AC server decrypts the user information (nonce value) having a token for accessing the cloud received from the user unit to obtain the attributes of the user unit, and after requesting the encrypted data desired by the user unit to the cloud storage, the encrypted text is transmitted, and if it is satisfied by comparing the attribute of the user part with the access structure specified in the cipher text, the cipher text is partially decrypted to generate a key required for final decryption, and the cipher text is partially decrypted to obtain the key required for final decryption by the user The data access control system, characterized in that the encrypted information (nonce value) is transmitted to the user unit, and an access failure message is transmitted to the user unit to block access to the withdrawn user unit.
제 6 항에 있어서,
상기 TTP 서버는, 탈퇴할 사용자부의 정보를 사용자 속성 해지목록에 추가하고 탈퇴할 사용자 정보를 변경하고, 탈퇴한 사용자부가 기존에 가지고 있던 사용자 정보를 대칭키로 사용하여 클라우드에 접근하기 위한 토큰을 만들어 AC 서버에게 접근을 요청하는 것을 특징으로 하는 데이터 접근 제어 시스템.
7. The method of claim 6,
The TTP server adds the information of the user part to withdraw to the user attribute revocation list, changes the user information to withdraw, and creates a token for accessing the cloud using the user information previously owned by the withdrawn user part as a symmetric key. Data access control system, characterized in that requesting access to the server.
KR1020190145613A 2019-11-14 2019-11-14 Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment KR102298266B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190145613A KR102298266B1 (en) 2019-11-14 2019-11-14 Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190145613A KR102298266B1 (en) 2019-11-14 2019-11-14 Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment

Publications (2)

Publication Number Publication Date
KR20210058313A KR20210058313A (en) 2021-05-24
KR102298266B1 true KR102298266B1 (en) 2021-09-06

Family

ID=76153303

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190145613A KR102298266B1 (en) 2019-11-14 2019-11-14 Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment

Country Status (1)

Country Link
KR (1) KR102298266B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230127696A (en) 2022-02-25 2023-09-01 부경대학교 산학협력단 A decentralized data sharing system and Collusion-Resistant Multi-Authority Attribute-Based Encryption Scheme based on a Blockchain

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114157424B (en) * 2021-12-03 2023-05-05 福建师范大学 Attribute-based encryption system and method without key escrow and supporting user revocation
WO2024085728A1 (en) * 2022-10-21 2024-04-25 삼성전자 주식회사 Electronic device, and method for uploading data from external electronic device to electronic device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101380278B1 (en) * 2012-09-26 2014-04-02 동국대학교 경주캠퍼스 산학협력단 Revocation method of data access and cloud service system using the revocation method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101982237B1 (en) 2017-03-06 2019-05-24 고려대학교 산학협력단 Method and system for data sharing using attribute-based encryption in cloud computing
KR102050887B1 (en) * 2017-11-29 2019-12-02 고려대학교 산학협력단 METHOD AND SYSTEM FOR DATA SHARING FOR INTERNET OF THINGS(IoT) MANAGEMENT IN CLOUD COMPUTING

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101380278B1 (en) * 2012-09-26 2014-04-02 동국대학교 경주캠퍼스 산학협력단 Revocation method of data access and cloud service system using the revocation method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Changehee Hahn 외 2명, Trustworthy Delegation Toward Securing Mobile Healthcare Cyber-Physical Systems, IEEE INTERNET OF THINGS JOURNAL, VOL.6 NO.4 (2019.08.)*
Runhua Xu 외 2명, A Tree-based CP-ABE Scheme with Hidden Policy Supporting Secure Data Sharing in Cloud Computing, 2013 International Confernece on Advanced Clound and Big Data (2013.)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230127696A (en) 2022-02-25 2023-09-01 부경대학교 산학협력단 A decentralized data sharing system and Collusion-Resistant Multi-Authority Attribute-Based Encryption Scheme based on a Blockchain

Also Published As

Publication number Publication date
KR20210058313A (en) 2021-05-24

Similar Documents

Publication Publication Date Title
CN110855671B (en) Trusted computing method and system
Kaaniche et al. A secure client side deduplication scheme in cloud storage environments
CN103138939B (en) Based on the key access times management method of credible platform module under cloud memory module
JP2019532603A (en) Digital rights management based on blockchain
Swathy et al. Providing advanced security mechanism for scalable data sharing in cloud storage
KR102298266B1 (en) Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment
CN106797316B (en) Router, data equipment, the method and system for distributing data
CN102075544A (en) Encryption system, encryption method and decryption method for local area network shared file
CN105245328A (en) User and file key generation and management method based on third party
CN106027503A (en) Cloud storage data encryption method based on TPM
CN108809633B (en) Identity authentication method, device and system
US20220014367A1 (en) Decentralized computing systems and methods for performing actions using stored private data
CN110688666B (en) Data encryption and preservation method in distributed storage
KR20110028968A (en) Method for verifying the integrity of a user&#39;s data in remote computing and system thereof
US11783091B2 (en) Executing entity-specific cryptographic code in a cryptographic coprocessor
Ramachandran et al. Secure and efficient data forwarding in untrusted cloud environment
US20160148021A1 (en) Systems and Methods for Trading of Text based Data Representation
Rukavitsyn et al. The method of ensuring confidentiality and integrity data in cloud computing
US10015143B1 (en) Methods for securing one or more license entitlement grants and devices thereof
CN106790185B (en) CP-ABE-based method and device for safely accessing authority dynamic update centralized information
Charanya et al. Attribute based encryption for secure sharing of E-health data
KR100989371B1 (en) DRM security mechanism for the personal home domain
US20210111901A1 (en) Executing entity-specific cryptographic code in a trusted execution environment
KR100769439B1 (en) Database Security System Using Key Profile based on Public Key Infrastructure Mechanism
CN107769915B (en) Data encryption and decryption system and method with fine-grained user control

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant