KR102664379B1 - A decentralized data sharing system and Collusion-Resistant Multi-Authority Attribute-Based Encryption Scheme based on a Blockchain - Google Patents
A decentralized data sharing system and Collusion-Resistant Multi-Authority Attribute-Based Encryption Scheme based on a Blockchain Download PDFInfo
- Publication number
- KR102664379B1 KR102664379B1 KR1020220025287A KR20220025287A KR102664379B1 KR 102664379 B1 KR102664379 B1 KR 102664379B1 KR 1020220025287 A KR1020220025287 A KR 1020220025287A KR 20220025287 A KR20220025287 A KR 20220025287A KR 102664379 B1 KR102664379 B1 KR 102664379B1
- Authority
- KR
- South Korea
- Prior art keywords
- attribute
- secret key
- user
- agency
- smart contract
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000008520 organization Effects 0.000 claims abstract description 26
- 230000004044 response Effects 0.000 claims abstract description 4
- 230000007704 transition Effects 0.000 claims description 7
- 230000003213 activating effect Effects 0.000 claims description 2
- 238000000151 deposition Methods 0.000 claims 3
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 3
- 238000012797 qualification Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 참여자들이 상호 간에 공통으로 신뢰하는 중앙신뢰기관의 참여없이 각종 데이터를 공유할 수 있는 시스템에 관한 것으로, 보다 상세하게는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호 시스템에 관한 것이다. 이를 위해, 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법에 있어서, 중앙기관(30)이 블록체인 네트워크(10) 상에 스마트 계약(SC)을 배포하는 단계(S1); 사용자가 사용자단말(12)을 통해 스마트 계약(SC)에 대응하여 예치금을 예치하는 단계(S2); 중앙기관(30)이 복수의 속성기관(50)에 대해 키를 발급하는 단계(S3); 복수의 속성기관(50)이 발급된 키에 기초하여 고유의 속성비밀키(70)를 각각 발급하는 단계(S4); 사용자에 의해 사용자 비밀키(uGID)(25)가 선택되고, 사용자 비밀키(uGID)(25)의 해시 연산 결과가 예치금의 출금조건(hvalue)(60)이 되는 단계(S5); 및 사용자단말(12)이 고유의 속성비밀키(70)들을 결합하여 기관비밀키(cGID)(22)를 생성하고, 기관비밀키(cGID)(22)에 사용자 비밀키(uGID)(25)를 결합하여 속성비밀키(GID)(20)를 생성하는 단계(S6);를 포함하는 것을 특징으로 하는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법이 제공된다.The present invention relates to a system that allows participants to share various data without the participation of a central trust agency that mutually trusts each other. More specifically, it relates to a decentralized data sharing system and a multi-agency safe from collusion attacks based on blockchain technology. It is about an attribute-based encryption system. To this end, in a multi-agency attribute-based encryption method that is safe from collusion attacks based on a decentralized data sharing system and blockchain technology, the central agency 30 distributes a smart contract (SC) on the blockchain network 10. (S1); A step (S2) in which the user deposits a deposit in response to a smart contract (SC) through the user terminal 12; A step (S3) in which the central organization 30 issues keys to a plurality of attribute organizations 50; A step (S4) in which a plurality of attribute agencies (50) each issue a unique attribute secret key (70) based on the issued key; A step (S5) in which the user secret key (uGID) 25 is selected by the user, and the hash operation result of the user secret key (uGID) 25 becomes the withdrawal condition (hvalue) 60 of the deposit; And the user terminal 12 combines the unique attribute secret keys 70 to generate an organization secret key (cGID) 22, and the organization secret key (cGID) 22 is combined with a user secret key (uGID) 25. A multi-agency attribute-based encryption method that is safe from collusion attacks based on blockchain technology and a decentralized data sharing system comprising a step (S6) of combining attribute secret keys (GID) 20 is provided. do.
Description
본 발명은 참여자들이 상호 간에 공통으로 신뢰하는 중앙신뢰기관없이 각종 데이터를 공유할 수 있는 시스템에 관한 것으로, 보다 상세하게는 탈중앙 데이터 공유 시스템에서 다중기관의 속성에 기반한 암호의 안전성을 강화할 수 있는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호 시스템에 관한 것이다. The present invention relates to a system that allows participants to share various data without a central trust agency that mutually trusts each other. More specifically, it relates to a system that can strengthen the security of passwords based on the properties of multiple organizations in a decentralized data sharing system. It is about a decentralized data sharing system and a multi-agency attribute-based encryption system that is safe from collusion attacks based on blockchain technology.
일반적으로, 사용자가 하나의 조직에만 소속되어 있는 경우, 단일기관의 속성에 기반한 암호 모델이 구현될 수 있다. 그런데 만약 사용자가 하나 이상의 조직에 소속하여 각 조직으로부터 고유의 속성을 검증받아 사용할 경우가 있다. 이때, 다중기관의 속성에 기반한 암호 모델이 구현된다. 그리고, 사용자는 다중기관의 각 기관이 부여한 고유의 속성 비밀키(복수의 속성)들을 보유하게 되며, 사용자는 이러한 고유의 속성비밀키를 조합하여 새로운 속성 비밀키를 생성하는 것이 가능하다. In general, if a user belongs to only one organization, a password model based on the attributes of a single organization can be implemented. However, if a user belongs to more than one organization, there are cases where unique attributes are verified and used by each organization. At this time, a cryptographic model based on the properties of multiple organizations is implemented. In addition, the user holds unique attribute secret keys (plural attributes) granted by each organization of the multi-organization, and the user can create a new attribute secret key by combining these unique attribute secret keys.
이와 마찬가지로 데이터 역시 기관에서 관리하는 속성들로 암호화될 수 있다. 예를 들어 특정한 데이터의 복호화에 (1) 정부기관 소속, (2) 부장 급 이상 직위, (3) 특정 자격증(예 : 운전면허증) 보유가 요구될 수 있으며 사용자는 시스템 내의 정부 기관 A로부터 (1),(2)에 해당하는 속성 비밀키를 발급받고, 해당 자격증(예 : 운전면허증)을 관리하는 기관(예 : 도로교통공단)으로부터 (3)에 해당하는 속성 비밀키를 발급받아 이들을 결합하여 (1),(2),(3)의 속성에 해당하는 속성비밀키를 새로 생성할 수 있다.Similarly, data can also be encrypted with attributes managed by the organization. For example, decryption of specific data may require (1) belonging to a government agency, (2) a position of manager or higher, and (3) holding a specific qualification (e.g. driver's license), and the user may be required to obtain (1) from government agency A in the system. ), obtain the attribute secret key corresponding to (2), and issue the attribute secret key corresponding to (3) from the organization (e.g., Road Traffic Authority) that manages the relevant certificate (e.g. driver's license), and combine them You can create a new attribute secret key corresponding to the attributes (1), (2), and (3).
그런데, 데이터 복호화를 위해 필요한 속성들을 실제로 보유하지 않은 사용자(예 : 공모공격자)가 속성을 보유한 사용자들로부터 해당하는 고유의 속성비밀키를 양도받아 이를 결합한 뒤, 데이터에 접근하는 공모공격이 가능하다. 단일기관 모델에서 기관은 “사용자의 신원정보와 속성발급정보”를 가지고 있으므로 본인이 소유하지 않는 속성을 복호화 과정에 사용하는 공모공격의 실현이 어렵다. 즉, 누구에게 어떤 속성을 발급했는지를 알고 있으며 동일한 사용자의 속성값들 사이에서만 결합이 가능하도록 암호학적 방법으로 보장한다. 하지만 다중기관 모델의 경우 각 기관은 타 기관의 검증정보를 가지고 있지 않기에 복호화를 위한 해당 속성값들의 결합과정에서 각 기관에서 사용자에게 부여하는 식별정보에 기반한 공모공격 방지 방법은 적용이 불가능하다. However, a collusion attack is possible in which a user (e.g. a collusion attacker) who does not actually possess the attributes required for data decryption obtains the corresponding unique attribute secret key from users who possess the attributes, combines them, and then accesses the data. . In the single agency model, the agency has “user identity information and attribute issuance information,” so it is difficult to implement a collusion attack that uses attributes that are not owned by the user in the decryption process. In other words, it knows who has issued which attribute and uses cryptographic methods to ensure that only attribute values belonging to the same user can be combined. However, in the case of a multi-agency model, each organization does not have the verification information of other organizations, so the collusion attack prevention method based on the identification information provided to the user by each organization during the process of combining the corresponding attribute values for decryption is not applicable.
예를 들어 앞선 예시에서 데이터가 (1) 정부기관 소속, (2) 부장급 이상 직위, (3) 특정 자격증(예 : 운전면허증) 보유로 암호화되어 있을 때, 공모공격자는 정부기관 A의 부장급 이상 직위로 (1), (2)의 속성을 만족하고 해당하는 고유의 속성비밀키를 가지고 있으나 복호화에서 요구하는 특정 자격증(3)을 보유하고 있지 않을 수 있다. 이때 공모공격자는 (3)의 자격증(예 : 운전면허증)을 보유한 다른 사용자로부터 해당하는 고유의 속성비밀키를 양도받아 (1),(2),(3)의 속성에 해당하는 속성비밀키를 새로 생성할 수 있다. For example, in the previous example, when the data is encrypted as (1) belonging to a government agency, (2) holding a manager-level or higher position, and (3) holding a specific qualification (e.g. driver's license), the colluding attacker is a manager-level or higher position in government agency A. Although it satisfies the properties of (1) and (2) and has the corresponding unique property secret key, it may not possess the specific certificate (3) required for decryption. At this time, the colluding attacker receives the corresponding unique attribute secret key from another user holding the certificate (e.g. driver's license) of (3) and uses the attribute secret key corresponding to the attributes of (1), (2), and (3). You can create a new one.
이는 결합에 사용되는 고유의 속성비밀키들이 모두 동일한 사용자에게 부여된 것인지를 확인하는 방법이 없기 때문에 발생하는 것이다. 이러한 문제점을 해결하기 위한 대표적인 방법으로는 시스템의 모든 조직이 공통으로 신뢰하는 중앙의 시스템 관리기관을 두는 것이다. 그러면 중앙의 관리기관이 모든 사용자에게 글로벌 식별자를 부여하여 사용자가 동일한지를 확인할 수 있다. 또한 모든 기관은 고유의 속성비밀키 발급에 사용자의 글로벌 식별자를 사용하게 되므로 키의 결합단계에서는 반드시 결합하려는 키들이 모두 동일한 글로벌 식별자로부터 생성되었음을 보장할 수 있다. 하지만 이와 같이 중앙의 관리기관을 시스템으로 두는 방식은 시스템 확장성 문제 등으로 인해 탈중앙 시스템에 적합하지 않다. This occurs because there is no way to check whether the unique attribute secret keys used for combining are all given to the same user. A representative way to solve this problem is to establish a central system management agency that is commonly trusted by all organizations in the system. Then, the central management agency can assign a global identifier to all users to check whether the users are the same. In addition, since all organizations use the user's global identifier to issue unique attribute secret keys, it can be guaranteed that all keys to be combined are generated from the same global identifier in the key combining stage. However, this method of having a central management agency as the system is not suitable for a decentralized system due to system scalability issues.
즉, 신뢰하는 중앙기관을 가정하는 방법은 전체 시스템의 안전성이 중앙기관에 전적으로 의존하는 문제로 인해, 해당 기관이 절대적으로 외부의 위협에 안전하다는 가정(Fully Trusted)을 비현실적이라고 판단할 때 여러 위협(프라이버시 침해 등)이 존재하고(단일지점장애), 시스템에 새로운 기관이 참여할 때마다 해당 정보를 업데이트하고 공유하는 문제(확장성의 문제)가 존재한다.In other words, the method of assuming a trusted central authority causes the safety of the entire system to be completely dependent on the central authority, and when the assumption that the authority is absolutely safe from external threats (Fully Trusted) is judged to be unrealistic, it is judged to be unrealistic. There are issues (privacy violations, etc.) (single point failures), and there are issues with updating and sharing relevant information each time a new organization participates in the system (problems of scalability).
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 해결하고자 하는 과제는 참여자들이 상호 간에 공통으로 신뢰하는 중앙신뢰기관의 참여없이 각종 데이터를 공유할 수 있고, 탈중앙 데이터 공유 시스템에서 다중기관의 속성에 기반한 암호의 안전성을 강화할 수 있는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호 시스템을 제공하는 것이다.Therefore, the present invention was created to solve the above problems, and the problem to be solved by the present invention is to enable participants to share various data without the participation of a central trust institution that they commonly trust, and to provide decentralized data. It provides a decentralized data sharing system that can strengthen the safety of passwords based on multi-agency attributes in a shared system and a multi-agency attribute-based encryption system that is safe from collusion attacks based on blockchain technology.
그리고, 여러 조직에서 동일한 사용자에게 부여한 속성인지(정상) 혹은 여러 조직에서 서로 다른 사용자에게 부여한 속성인지(공모공격)를 구별할 수 있어야 한다. 글로벌식별자(GID)는 여러 기관이 참여하는 전체 시스템의 관리자가 각 사용자에게 고유한 식별자(GID)를 발급하고 각 기관에서는 속성의 발급에 해당 GID를 사용함으로써 속성의 결합과정에서 서로 다른 GID에 기반한 속성값의 결합을 암호학적으로 방지하는 것을 목적으로 한다.Additionally, it must be possible to distinguish whether an attribute has been granted to the same user by multiple organizations (normal) or an attribute has been granted to different users by multiple organizations (collusive attack). A global identifier (GID) is a unique identifier (GID) issued to each user by the administrator of the entire system in which multiple organizations participate, and each organization uses the corresponding GID to issue properties. The purpose is to cryptographically prevent the combination of attribute values.
다만, 본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly apparent to those skilled in the art from the description below. It will be understandable.
상기의 기술적 과제를 달성하기 위하여, 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법에 있어서, 중앙기관(30)이 블록체인 네트워크(10) 상에 스마트 계약(SC)을 배포하는 단계(S1); 사용자가 사용자단말(12)을 통해 스마트 계약(SC)에 대응하여 예치금을 예치하는 단계(S2); 중앙기관(30)이 복수의 속성기관(50)에 대해 키를 발급하는 단계(S3); 복수의 속성기관(50)이 발급된 키에 기초하여 고유의 속성비밀키(70)를 각각 발급하는 단계(S4); 사용자에 의해 사용자 비밀키(uGID)(25)가 선택되고, 사용자 비밀키(uGID)(25)의 해시 연산 결과가 예치금의 출금조건(hvalue)(60)이 되는 단계(S5); 및 사용자단말(12)이 고유의 속성비밀키(70)들을 결합하여 기관비밀키(cGID)(22)를 생성하고, 기관비밀키(cGID)(22)에 사용자 비밀키(uGID)(25)를 결합하여 속성비밀키(GID)(20)를 생성하는 단계(S6);를 포함하는 것을 특징으로 하는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법이 제공된다.In order to achieve the above technical task, in the multi-agency attribute-based encryption method that is safe from collusion attacks based on decentralized data sharing system and blockchain technology, the
또한, S5단계에서 사용자는 복수의 속성기관(50)에 대해 각각 사용자 비밀키(uGID)(25)를 선택한다.Additionally, in step S5, the user selects a user secret key (uGID) 25 for each of the plurality of
또한, 속성비밀키(GID)(20)는 사용자의 데이터를 암호화하거나 복호화하는데 사용된다.Additionally, the attribute secret key (GID) 20 is used to encrypt or decrypt the user's data.
또한, 스마트계약(SC)은, 키에 의해 갱신되어 활성화되는 제 1 상태; 사용자의 출금에 의해 비활성화되는 제 2 상태; 공모공격자의 출금에 의해 비활성화되는 제 3 상태; 중앙기관(30)에 의해 이용중단되는 제 4 상태; 및 스마트계약(SC)의 유효기간이 만료되는 제 5 상태; 중 하나의 상태로 전이될 수 있다.In addition, the smart contract (SC) has a first state that is updated and activated by a key; a second state that is deactivated by the user's withdrawal; a third state deactivated by a colluding attacker's withdrawal; a fourth state, deactivated by the
또한, 예치금은 블록체인 토큰이다.Additionally, the deposit is a blockchain token.
또한, S5단계에서 사용자는 사용자 비밀키(uGID)(25)를 랜덤으로 선택할 수 있다. Additionally, in step S5, the user can randomly select the user secret key (uGID) 25.
또한, 사용자는 자신이 소유한 데이터를 판매하는 판매자 또는 다른 사용자의 데이터를 구매하기 위한 구매자이다.Additionally, users are either sellers who sell their own data or buyers who purchase data from other users.
또한, 예치금의 예치 단계(S2)는 스마트 계약(SC)을 활성화하는 제 1 상태로 전이하는 단계를 더 포함한다.Additionally, the deposit deposit step (S2) further includes transitioning to a first state for activating the smart contract (SC).
본 발명의 목적은 또 다른 실시예로써, 전술한 암호화 방법으로 생성된 속성비밀키를 이용한 데이터 거래 방법에 있어서, 판매자의 암호화된 데이터를 저장하고 있는 클라우드 서비스 제공자(16)가 블록체인 네트워크(10) 상에 거래지원 스마트계약(TSC)(90)을 배포하는 단계(S①); 구매자가 구매자 단말(14)을 통해 판매자 단말(12)로 암호화된 데이터의 공유를 요청하는 단계(S②); 판매자 단말(12)이 판매자에 의해 선택된 랜덤값(R)의 해시값(hproof)을 산출한 뒤, 해시값(hproof)을 접근권한증명(hproof)으로 설정하여 구매자단말(14)과 클라우드 서비스 제공자(16)에서 전송하는 단계(S③); 구매자가 구매자 단말(14)을 통해 거래지원 스마트계약(TSC)(90)에 판매대금을 예치하는 단계(S④); 판매자 단말(12)이 거래지원 스마트계약(TSC)(90)에 랜덤값(R)을 제출하여 판매대금을 수령하고, 랜덤값(R)이 구매자 단말(14)로 전송되어 공개되는 단계(S⑤); 구매자 단말(14)이 클라우드 서비스 제공자(160)로 랜덤값(R)을 제출하고 암호화된 데이터를 획득하는 단계(S⑥); 및 구매자 단말(14)이 구매자의 속성비밀키(GID)(20)로 암호화된 데이터를 복호화하는 단계(S⑦);를 포함하는 것을 특징으로 하는 다중기관 속성기반의 속성비밀키를 이용한 데이터 거래 방법이 제공된다. The purpose of the present invention is another embodiment, in a data transaction method using an attribute secret key generated by the above-described encryption method, the
또한, 거래지원 스마트계약(TSC)(90)은 해시 타임락 계약이다. Additionally, the Transaction Support Smart Contract (TSC) 90 is a hash time-lock contract.
또한, 공개단계(S⑤)에서, 판매자 단말(12)은 거래지원 스마트계약(TSC)(90)에 랜덤값(R)의 해시값(hproof)을 제출하여 판매대금을 수령하고, 랜덤값(R)의 해시값(hproof)이 구매자 단말(14)로 전송되어 공개되며, 그리고 데이터 획득단계(S⑥)에서 구매자 단말(14)은 클라우드 서비스 제공자(160)로 랜덤값(R)의 해시값(hproof)을 제출하여 암호화된 데이터를 획득한다.In addition, in the disclosure stage (S⑤), the
본 발명의 일실시예에 따르면, 탈중앙 데이터 공유 시스템에서 데이터소유자는 특정한 속성으로 암호화된 데이터를 공유하고 사용자들은 시스템에 존재하는 여러 기관으로부터 자신이 보유한 속성에 대해 증명하고 해당하는 속성 비밀키를 발급받아 데이터 복호화에 사용할 수 있다. 즉, 암호화된 데이터는 데이터 소유자가 암호화 과정에서 지정한 속성을 만족하는 누구나 접근할 수 있다. According to an embodiment of the present invention, in a decentralized data sharing system, the data owner shares data encrypted with specific attributes, and users prove the attributes they possess from various organizations existing in the system and provide the corresponding attribute secret key. It can be issued and used to decrypt data. In other words, encrypted data can be accessed by anyone who satisfies the properties specified by the data owner during the encryption process.
또한, 여러 고유의 속성비밀키들의 결합단계에서 결합에 사용된 예치금의 출금조건이 결합을 시도하는 사용자(예 : 공모공격자)에게 노출되도록 함으로써 공모공격을 하려는 다른 사용자에게 자신의 속성비밀키를 제공하는 것을 주저하게 하거나 망설이게 할 수 있다. 만약 자신의 속성비밀키를 제공하는 경우 예치금을 상실할 수 있기 때문이다. 이로써 예치금의 상실 위험성을 사용자에게 부담토록 하여 탈중앙 시스템에서 공모공격의 저항성을 보장하는 효과가 있다. In addition, in the stage of combining several unique attribute secret keys, the withdrawal conditions of the deposit used for combination are exposed to the user attempting the combination (e.g. collusion attacker), thereby providing the attribute secret key to other users who want to carry out a collusion attack. It can make you hesitate or hesitate to do something. This is because if you provide your attribute secret key, you may lose your deposit. This has the effect of ensuring resistance to collusion attacks in a decentralized system by forcing users to bear the risk of losing their deposits.
또한, 예치금을 보관한 스마트계약(SC)은 사용자 예치금의 상태에 따라 전이되며 계약의 상태 전이를 통해 시스템에서 사용자의 시스템 이용에 제약을 가할 수 있다.In addition, the smart contract (SC) that holds the deposit is transitioned according to the state of the user's deposit, and the system can impose restrictions on the user's use of the system through the state transition of the contract.
특히, 블록체인 스마트 계약(SC)은 블록체인 네트워크 상에 실행되는 프로그램이기 때문에 블록체인 네트워크의 신뢰성과 보안성에 따르게 되어 제3자의 개입이 확률적으로 거의 불가능하다는 특징이 있다. In particular, because a blockchain smart contract (SC) is a program that runs on a blockchain network, it is subject to the reliability and security of the blockchain network, making intervention by a third party stochastically almost impossible.
또한, 본 발명은 암호문 정책 속성기반 암호(Ciphertext-Policy Attribute-Based Encryption, CP-ABE)의 환경뿐만 아니라 다양한 악의적인 사용자의 행동에 대해 통제가 필요한 시스템에 활용될 수 있는 장점이 있다. Additionally, the present invention has the advantage of being able to be used not only in a Ciphertext-Policy Attribute-Based Encryption (CP-ABE) environment but also in systems that require control over the actions of various malicious users.
본 발명에서 사용하는 속성기반 암호는 암호화에 비밀키 대신 특정한 속성을 사용하는 것으로 이때 사용자는 이러한 속성의 집합으로 표현될 수 있다. 이때 사용자의 속성은 사용자가 속한 조직(기관)에 의해 검증된 후 해당 기관의 비밀키를 사용한 암호학 연산의 결과물로 발급될 수 있으며 암호문의 복호화 과정에서 사용자는 복호화에 필요한 속성값들을 암호학적으로 결합하여 복호화키로 사용할 수 있다(단일기관 속성기반암호 시스템). 이를 확장하여 시스템 내에 복수의 기관이 존재하고 사용자가 여러 속성기관에 소속될 수 있는 경우(다중기관 속성기반암호 시스템) 사용자는 각 속성기관에서 서로 다른 식별정보로 관리되며 속성 검증 및 발급 관리(이때 각 기관이 발급하는 속성은 고정적) 또한 각 기관에서 개별적으로 수행하나 암호화 및 복호화 과정에서는 시스템상의 모든 속성값을 사용하는 것이 가능하다. The attribute-based encryption used in the present invention uses specific attributes instead of secret keys for encryption, and in this case, the user can be expressed as a set of these attributes. At this time, the user's properties can be verified by the organization (institution) to which the user belongs and then issued as the result of a cryptographic operation using the organization's secret key. In the process of decrypting the ciphertext, the user cryptographically combines the property values required for decryption. It can be used as a decryption key (single agency attribute-based encryption system). Extending this, if there are multiple organizations in the system and a user can belong to multiple property organizations (multi-agency attribute-based password system), the user is managed with different identification information in each property organization and manages property verification and issuance (in this case, The attributes issued by each institution are fixed) and are performed individually by each institution, but it is possible to use all attribute values in the system during the encryption and decryption process.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the effects that can be obtained from the present invention are not limited to the effects mentioned above, and other effects not mentioned above will be clearly understood by those skilled in the art from the description below. You will be able to.
본 명세서에서 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어서 해석되어서는 아니된다.
도 1은 본 발명의 일실시예에 따른 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호 시스템의 시스템 블록도,
도 2는 본 발명의 일 실시예 중 예치금의 설정을 나타내는 설명도,
도 3은 본 발명의 일 실시예 중 암호문 획득 과정을 나타내는 설명도,
도 4는 본 발명에 따른 스마트계약(SC)의 상태 전이 모델을 나타내는 상태도이다.The following drawings attached to this specification illustrate preferred embodiments of the present invention, and serve to further understand the technical idea of the present invention together with the detailed description of the invention described later. Therefore, the present invention includes the matters described in such drawings. It should not be interpreted as limited to only .
Figure 1 is a system block diagram of a multi-agency attribute-based encryption system that is safe from collusion attacks based on blockchain technology and a decentralized data sharing system according to an embodiment of the present invention;
Figure 2 is an explanatory diagram showing the setting of a deposit in one embodiment of the present invention;
Figure 3 is an explanatory diagram showing the process of obtaining ciphertext in one embodiment of the present invention;
Figure 4 is a state diagram showing the state transition model of a smart contract (SC) according to the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Below, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. However, since the description of the present invention is only an example for structural or functional explanation, the scope of the present invention should not be construed as limited by the examples described in the text. In other words, since the embodiment can be modified in various ways and can have various forms, the scope of rights of the present invention should be understood to include equivalents that can realize the technical idea. In addition, the purpose or effect presented in the present invention does not mean that a specific embodiment must include all or only such effects, so the scope of the present invention should not be understood as limited thereby.
본 발명에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.The meaning of terms described in the present invention should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.Terms such as “first” and “second” are used to distinguish one component from another component, and the scope of rights should not be limited by these terms. For example, a first component may be named a second component, and similarly, the second component may also be named a first component. When a component is referred to as being “connected” to another component, it should be understood that it may be directly connected to the other component, but that other components may also exist in between. On the other hand, when a component is referred to as being “directly connected” to another component, it should be understood that there are no other components in between. Meanwhile, other expressions that describe the relationship between components, such as "between" and "immediately between" or "neighboring" and "directly neighboring" should be interpreted similarly.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions, unless the context clearly indicates otherwise, and terms such as “comprise” or “have” refer to the specified features, numbers, steps, operations, components, parts, or them. It is intended to specify the existence of a combination, and should be understood as not excluding in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein, unless otherwise defined, have the same meaning as commonly understood by a person of ordinary skill in the field to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as consistent with the meaning they have in the context of the related technology, and cannot be interpreted as having an ideal or excessively formal meaning unless clearly defined in the present invention.
이하, 첨부된 도면을 참조하여 바람직한 실시예의 구성을 상세히 설명하기로 한다. 도 1은 본 발명의 일실시예에 따른 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호 시스템의 시스템 블록도이다. Hereinafter, the configuration of the preferred embodiment will be described in detail with reference to the attached drawings. Figure 1 is a system block diagram of a decentralized data sharing system and a multi-agency attribute-based encryption system that is safe from collusion attacks based on blockchain technology according to an embodiment of the present invention.
시스템의 구성System configuration
도 1에 도시된 바와 같이, 중앙기관(Central Authority, 30)은 시스템 관리를 위한 서버장치일 수 있고, 속성기관(50)과 협업하여 사용자(12, 14)에게 키를 발급하고, 주기적으로 키의 갱신과 폐기를 수행한다. 또한, 중앙기관(30)은 각 사용자(12, 14)마다 예치금 스마트 계약(Smart Contract, SC)을 배포한다. As shown in FIG. 1, the central authority (Central Authority) 30 may be a server device for system management, collaborates with the attribute authority (50) to issue keys to users (12, 14), and periodically exchanges the keys. Perform renewal and disposal of . Additionally, the
속성기관(50)은 소속된 사용자(12, 14)의 속성을 검증하고, 해당하는 고유의 속성비밀키(70)를 발급한다. 예를 들어, 속성기관(50)은 정부기관(50a), 운전면허기관(50b) 등이 될 수 있다. The
사용자는 데이터의 판매자와 구매자가 될 수 있고, 구체적으로는 판매자가 보유하는 판매자 단말(12) 및 구매자가 보유하는 구매자 단말(14)이다. 판매자 단말(12) 및 구매자 단말(14)은 휴대폰, 노트북, 태블릿, PC, 클라이언트 컴퓨터 등이 될 수 있다. 사용자 단말(12, 14)에는 본 발명에 따라 동작될 수 있는 응용프로그램(앱)이 설치되고 실행된다. 사용자는 판매자 단말(12)이나 구매자 단말(14)을 통해 본 발명의 시스템에 참여할 수 있다. 그리고, 사용자는 스마트계약(SC)(40)에 예치금을 예치하여야 한다. Users can be sellers and buyers of data, and specifically, the
블록체인 네트워크(10)에는 스마트계약(40)이라는 동작 프로그램이 실행된다. 스마트계약(40)은 단일 서버장치에서 동작하는 것이 아니라 블록체인 네트워크(10)에 존재하는 모든 노드(Node, 참여자)에 의해 실행되고 검증되며, 합의에 의해 그 결과가 반영되므로 신뢰할 수 있는 결과를 반환할 수 있다. 본 발명의 일실시예에서 사용자의 예치금을 관리하는 스마트계약(40) 및 시스템에서 사용자 간의 거래 관리를 처리하는 거래 지원 스마트계약(Trade Support Smart Contract, TSC, 90)이 존재한다. 특히, 거래 지원 스마트계약(TSC, 90)는 해시타임락 계약(Hashed Time Lock Contracts)으로써 유효기간을 갖는다. An operation program called a
클라우드 서비스 제공자(Cloud Service Provider, 160)는 데이터의 거래(공유)를 위해 사용되며, 데이터의 거래는 사용자 간의 직접적인 데이터 공유 방식이 아니라 클라우드 서버에 저장된 데이터에 대한 접근권한의 거래로 이루어진다. 거래를 통해 데이터 접근권한을 획득한 구매자(14)는 클라우드 서버에 접근권한을 증명한 후, 해당 암호문을 획득하고 자신의 속성비밀키를 사용하여 암호문을 복호화한다. 클라우드 서버는 사용자들의 거래를 지원하기 위한 거래 지원 스마트계약(TSC)를 블록체인 네트워크(10)에 배포한다. Cloud Service Provider (160) is used for data trading (sharing), and data trading is not done through direct data sharing between users, but through trading access rights to data stored in the cloud server. The buyer (14), who obtained data access rights through a transaction, proves access rights to the cloud server, obtains the corresponding ciphertext, and decrypts the ciphertext using his attribute secret key. The cloud server distributes a transaction support smart contract (TSC) to the blockchain network (10) to support users' transactions.
예치금의 설정과 속성비밀키의 생성Setting the deposit and generating the attribute secret key
도 2는 본 발명의 일 실시예 중 예치금의 설정을 나타내는 설명도이다. 도 2에 도시된 바와 같이, 먼저 중앙기관(30)이 블록체인 네트워크(10) 상에 스마트 계약(40)을 배포한다(S1). Figure 2 is an explanatory diagram showing the setting of a deposit in one embodiment of the present invention. As shown in Figure 2, first, the
그 다음, 사용자는 사용자단말(12)을 통해 스마트 계약(SC)에 대응하여 예치금(예 : 블록체인 토큰)을 예치한다(S2). 그러면, 스마트 계약(SC)이 활성화를 의미하는 제 1 상태로 전이된다.Next, the user deposits a deposit (e.g. blockchain token) in response to the smart contract (SC) through the user terminal 12 (S2). Then, the smart contract (SC) transitions to the first state, meaning activation.
그 다음, 중앙기관(30)이 복수의 속성기관(50)에 대해 각각 키(Key)를 발급한다(S3).Next, the
그 다음, 복수의 속성기관(50)은 발급받은 키에 기초하여 고유의 속성비밀키(70)를 각각 발급한다(S4).Next, the plurality of
그 다음, 사용자에 의해 사용자 비밀키(user Group Identifier, uGID, 25)가 선택되고, 사용자 비밀키(uGID)(25)의 해시 연산 결과가 예치금의 출금조건(hvalue)(60)이 된다(S5). 구체적으로는 사용자는 복수의 속성기관(50)에 대해 각각 비밀키를 랜덤으로 선택하고, 이들을 모두 결합하여 사용자 비밀키(uGID)(25)를 생성한다. 사용자 비밀키(uGID)(25)는 사용자가 보유한 속성들에 대한 비밀키의 집합으로 구성되며 그리고, 다음과 같이 사용자 비밀키(uGID)(25)의 해시 연산 결과가 예치금의 출금조건(hvalue)(60)이 된다. 즉, 예치금을 출금하기 위해서는 사용자 비밀키(uGID)(25)를 스마트계약(40)에 제출하여야 한다.Next, the user secret key (user Group Identifier, uGID, 25) is selected by the user, and the hash operation result of the user secret key (uGID) (25) becomes the deposit withdrawal condition (hvalue) (60) (S5 ). Specifically, the user randomly selects a secret key for each of the plurality of
[수학식 1][Equation 1]
hvalue = Hash(uGID)hvalue = Hash(uGID)
스마트계약(40)의 블록체인 상태 데이터베이스에는 사용자 비밀키(uGID, 25)의 해시 연산결과인 hvalue만 기록되므로 공모공격을 제외하면 시스템의 그 누구도 사용자 비밀키(uGID, 25)를 알 수 없게 된다.Since only the hvalue, which is the hash operation result of the user secret key (uGID, 25), is recorded in the blockchain state database of the smart contract (40), except for collusion attacks, no one in the system can know the user secret key (uGID, 25). .
그 다음, 사용자단말(12)은 고유의 속성비밀키(70)들을 모두 결합하여 기관비밀키(cGID)(22)를 생성하고, 생성된 기관비밀키(cGID)(22)에 사용자 비밀키(uGID)(25)를 다시 결합하여 속성비밀키(GID)(20)를 생성한다(S6). 이러한 속성비밀키(GID)(20)는 사용자의 데이터를 암호화하거나 복호화하는데 사용된다.Next, the
도 4는 본 발명에 따른 스마트계약(SC)의 상태 전이 모델을 나타내는 상태도이다. 도 4에 도시된 바와 같이, 스마트계약(SC)은, 예치금이 설정(예 : 입금)된 후, 여러 가지 상태들 중 하나로 전이될 수 있다. 예를 들어, 키에 의해 주기적으로 갱신되어 활성화되는 제 1 상태, 사용자의 출금에 의해 비활성화되는 제 2 상태(Close), 공모공격자의 출금에 의해 비활성화되는 제 3 상태(Close), 중앙기관(30)에 의해 이용중단되는 제 4 상태(Revoke, 폐기) 및 스마트계약(SC)의 유효기간이 만료되는 제 5 상태(Revoke, 폐기) 중 하나의 상태로 전이될 수 있다.Figure 4 is a state diagram showing the state transition model of a smart contract (SC) according to the present invention. As shown in Figure 4, a smart contract (SC) can transition to one of several states after the deposit is set (e.g., deposited). For example, the first state is periodically updated and activated by a key, the second state is deactivated by the user's withdrawal (Close), the third state is deactivated by the collusion attacker's withdrawal (Close), and the central authority (30) It can be transferred to one of the fourth state (Revoke, discard), where use is discontinued, and the fifth state (Revoke, discard), when the validity period of the smart contract (SC) expires.
암호문의 획득Obtaining the ciphertext
도 3은 본 발명의 일 실시예 중 암호문 획득 과정을 나타내는 설명도이다. 도 3에 도시된 바와 같이, 판매자 단말(12)에서 판매자의 속성비밀키를 이용하여 거래하고자 하는 데이터를 암호화한다. 그리고, 암호화된 데이터를 클라우드 서비스 제공자(16)의 클라우드 서버에 저장한다. 그러면, 클라우드 서비스 제공자(16)가 블록체인 네트워크(10) 상에 거래지원 스마트계약(TSC)(90)을 배포한다(S①).Figure 3 is an explanatory diagram showing the process of obtaining ciphertext in one embodiment of the present invention. As shown in Figure 3, the
그 다음, 거래지원 스마트계약(TSC)(90)을 본 구매자가 구매자 단말(14)을 통해 판매자 단말(12)로 암호화된 데이터의 공유(구매)를 요청한다(S②).Next, the buyer who has seen the transaction support smart contract (TSC) 90 requests sharing (purchase) of the encrypted data with the
그 다음, 판매자 단말(12)은 [수학식 2]와 같이 판매자에 의해 선택된 랜덤값(R)의 해시값(hproof)을 산출한 뒤, 해시값(hproof)을 접근권한증명(hproof)으로 설정하여 구매자단말(14)과 클라우드 서비스 제공자(16)에서 각각 전송한다(S③).Next, the
[수학식 2][Equation 2]
hproof = Hash(R)hproof = Hash(R)
그 다음, 구매자 단말(14)을 통해 거래지원 스마트계약(TSC)(90)에 판매대금을 예치한다(S④).Next, the sales price is deposited into the transaction support smart contract (TSC) (90) through the buyer terminal (14) (S④).
그 다음, 판매자 단말(12)이 거래지원 스마트계약(TSC)(90)에 랜덤값(R)의 해시값(hproof)을 제출하여 판매대금을 수령하고, 이와 동시에 자동으로 랜덤값(R)과 랜덤값(R)의 해시값(hproof)이 구매자 단말(14)로 전송되어 공개된다(S⑤). 거래지원 스마트계약(TSC)(90)은 해시타임락 계약(Hashed Time Lock Contracts)이므로 판매대금의 수령과 랜덤값(R)의 공개가 동시에 이루어지도록 한다. 본 발명의 데이터 거래와 실제 데이터 공유는 신뢰하는 중개인을 통하지 않기 때문에 서로 다른 시점에 발생한다. 즉, 권한을 획득하고 이후에 실제 암호문을 획득하게 된다. 해시타임락 계약은 여기서 발생하는 불공정성을 해결하기 위한 것으로, 클라우드 서버를 포함한 3명 사이에 순차적으로 발생하게 된다. 판매자(데이터 소유자)는 구매자에게 접근권한을 판매하는 시점에서 이익을 얻지만, 구매자는 판매자에게 대가를 지불하고 권한을 얻은 뒤 서버에 저장된 데이터를 획득한 뒤에 거래에서의 이익을 얻을 수 있다. 즉, 거래의 두 참여자가 이익을 획득하는 단계가 동기화되어 있지 않다. 본 발명의 해시타임락 기술은 거래에서 이익(구매자-데이터, 판매자-판매대금)을 얻는 시점을 동기화시키기 위해 사용된다. Next, the
그 다음, 구매자 단말(14)은 클라우드 서비스 제공자(160)로 랜덤값(R)의 해시값(hproof)을 제출하고 암호화된 데이터를 획득한다(S⑥). 즉, 암호화된 데이터를 획득하기 위한 권한증명과 판매대금을 획득하기 위한 권한증명 조건이 동일하다.Next, the
그 다음, 구매자 단말(14)이 구매자의 속성비밀키(GID)(20)로 암호화된 데이터를 복호화한다(S⑦). 이러한 과정을 통해 구매자는 원하는 데이터를 수령할 수 있다. Next, the
상술한 바와 같이 개시된 본 발명의 바람직한 실시예들에 대한 상세한 설명은 당업자가 본 발명을 구현하고 실시할 수 있도록 제공되었다. 상기에서는 본 발명의 바람직한 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 본 발명의 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 예를 들어, 당업자는 상술한 실시예들에 기재된 각 구성을 서로 조합하는 방식으로 이용할 수 있다. 따라서, 본 발명은 여기에 나타난 실시형태들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다.A detailed description of preferred embodiments of the invention disclosed above is provided to enable any person skilled in the art to make or practice the invention. Although the present invention has been described above with reference to preferred embodiments, those skilled in the art will understand that various modifications and changes can be made to the present invention without departing from the scope of the present invention. For example, a person skilled in the art may use each configuration described in the above-described embodiments by combining them with each other. Accordingly, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다. 본 발명은 여기에 나타난 실시형태들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다. 또한, 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함할 수 있다.The present invention may be embodied in other specific forms without departing from the spirit and essential features of the present invention. Accordingly, the above detailed description should not be construed as restrictive in all respects and should be considered illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention. The present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein. In addition, claims that do not have an explicit reference relationship in the patent claims can be combined to form an embodiment or included as a new claim through amendment after filing.
10 : 블록체인 네트워크,
12 : 사용자 단말,
14 : 구매자 단말,
16 : 클라우드 서비스 제공자,
20 : 속성비밀키,
22 : 기관비밀키(cGID),
25 : 사용자 비밀키,
30 : 중앙기관,
40 : 스마트 계약(SC),
50 : 속성기관,
50a : 정부기관,
50b : 운전면허기관,
60 : 출금조건(hvalue).
70 : 고유의 속성비밀키,
90 : 거래지원 스마트계약(TSC).10: Blockchain network,
12: user terminal,
14: Buyer terminal,
16: Cloud service provider,
20: attribute secret key,
22: Institutional secret key (cGID),
25: user secret key,
30: Central agency,
40: Smart Contract (SC),
50: attribute agency,
50a: government agency,
50b: Driver's licensing agency,
60: Withdrawal conditions (hvalue).
70: Unique attribute secret key,
90: Transaction Support Smart Contract (TSC).
Claims (11)
중앙기관(30)이 블록체인 네트워크(10) 상에 스마트 계약(SC)을 배포하는 단계(S1);
사용자가 사용자단말(12)을 통해 상기 스마트 계약(SC)에 대응하여 예치금을 예치하는 단계(S2);
상기 중앙기관(30)이 복수의 속성기관(50)에 대해 키를 발급하는 단계(S3);
상기 복수의 속성기관(50)이 발급된 키에 기초하여 고유의 속성비밀키(70)를 각각 발급하는 단계(S4);
상기 사용자에 의해 사용자 비밀키(uGID)(25)가 선택되고, 상기 사용자 비밀키(uGID)(25)의 해시 연산 결과가 상기 예치금의 출금조건(hvalue)(60)이 되는 단계(S5); 및
상기 사용자단말(12)이 상기 고유의 속성비밀키(70)들을 결합하여 기관비밀키(cGID)(22)를 생성하고, 상기 기관비밀키(cGID)(22)에 상기 사용자 비밀키(uGID)(25)를 결합하여 속성비밀키(GID)(20)를 생성하는 단계(S6);를 포함하는 것을 특징으로 하는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법.In the multi-agency attribute-based encryption method that is safe from collusion attacks based on decentralized data sharing system and blockchain technology,
A step (S1) in which the central agency 30 distributes a smart contract (SC) on the blockchain network 10;
A step (S2) of the user depositing a deposit in response to the smart contract (SC) through the user terminal 12;
A step (S3) of the central organization 30 issuing keys to a plurality of attribute organizations 50;
A step (S4) in which each of the plurality of attribute agencies (50) issues a unique attribute secret key (70) based on the issued key;
A step (S5) in which a user secret key (uGID) 25 is selected by the user, and the hash operation result of the user secret key (uGID) 25 becomes the withdrawal condition (hvalue) 60 of the deposit; and
The user terminal 12 combines the unique attribute secret keys 70 to generate an organization secret key (cGID) 22, and the user secret key (uGID) is added to the organization secret key (cGID) 22. A decentralized data sharing system and multi-institution attribute-based encryption that is safe from collusion attacks based on blockchain technology, comprising a step (S6) of combining (25) to generate an attribute secret key (GID) (20); method.
상기 S5단계에서 상기 사용자는 상기 복수의 속성기관(50)에 대해 각각 상기 사용자 비밀키(uGID)(25)를 선택하는 것을 특징으로 하는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법.According to claim 1,
In step S5, the user selects the user secret key (uGID) 25 for each of the plurality of attribute institutions 50 and is safe from collusion attacks based on blockchain technology and a decentralized data sharing system. Multi-agency attribute-based encryption method.
상기 속성비밀키(GID)(20)는 상기 사용자의 데이터를 암호화하거나 복호화하는데 사용되는 것을 특징으로 하는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법.According to claim 1,
The attribute secret key (GID) 20 is a multi-agency attribute-based encryption method that is safe from collusion attacks based on a decentralized data sharing system and blockchain technology, characterized in that it is used to encrypt or decrypt the user's data.
상기 스마트계약(SC)은,
상기 키에 의해 갱신되어 활성화되는 제 1 상태;
상기 사용자의 출금에 의해 비활성화되는 제 2 상태;
공모공격자의 출금에 의해 비활성화되는 제 3 상태;
상기 중앙기관(30)에 의해 이용중단되는 제 4 상태; 및
상기 스마트계약(SC)의 유효기간이 만료되는 제 5 상태; 중 하나의 상태로 전이될 수 있는 것을 특징으로 하는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법.According to claim 1,
The smart contract (SC) is,
a first state updated and activated by the key;
a second state deactivated by the user's withdrawal;
a third state deactivated by a colluding attacker's withdrawal;
a fourth state in which use is discontinued by the central agency 30; and
A fifth state in which the validity period of the smart contract (SC) expires; A decentralized data sharing system that can transition to one of the following states and a multi-agency attribute-based encryption method that is safe from collusion attacks based on blockchain technology.
상기 예치금은 블록체인 토큰인 것을 특징으로 하는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법.According to claim 1,
A decentralized data sharing system in which the deposit is a blockchain token and a multi-agency attribute-based encryption method that is safe from collusion attacks based on blockchain technology.
상기 S5단계에서 상기 사용자는 상기 사용자 비밀키(uGID)(25)를 랜덤으로 선택하는 것을 특징으로 하는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법.According to claim 1,
In step S5, the user randomly selects the user secret key (uGID) 25. A multi-agency attribute-based encryption method that is safe from collusion attacks based on a decentralized data sharing system and blockchain technology.
상기 사용자는 자신이 소유한 데이터를 판매하는 판매자 또는 다른 사용자의 데이터를 구매하기 위한 구매자인 것을 특징으로 하는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법.According to claim 1,
A multi-agency attribute-based encryption method that is safe from collusion attacks based on a decentralized data sharing system and blockchain technology, characterized in that the user is a seller who sells the data he or she owns or a buyer who purchases the data of other users.
상기 예치금의 예치 단계(S2)는 상기 스마트 계약(SC)을 활성화하는 제 1 상태로 전이하는 단계를 더 포함하는 것을 특징으로 하는 탈중앙 데이터 공유 시스템과 블록체인 기술 기반의 공모공격에 안전한 다중기관 속성기반 암호화 방법.According to claim 1,
The depositing step (S2) of the deposit further includes a step of transitioning to a first state activating the smart contract (SC). A multi-agency safe from collusion attacks based on a decentralized data sharing system and blockchain technology. Attribute-based encryption method.
판매자의 암호화된 데이터를 저장하고 있는 클라우드 서비스 제공자(16)가 블록체인 네트워크(10) 상에 거래지원 스마트계약(TSC)(90)을 배포하는 단계(S①);
구매자가 구매자 단말(14)을 통해 판매자 단말(12)로 상기 암호화된 데이터의 공유를 요청하는 단계(S②);
상기 판매자 단말(12)이 상기 판매자에 의해 선택된 랜덤값(R)의 해시값(hproof)을 산출한 뒤, 상기 해시값(hproof)을 접근권한증명(hproof)으로 설정하여 상기 구매자단말(14)과 상기 클라우드 서비스 제공자(16)에서 전송하는 단계(S③);
상기 구매자가 상기 구매자 단말(14)을 통해 상기 거래지원 스마트계약(TSC)(90)에 판매대금을 예치하는 단계(S④);
상기 판매자 단말(12)이 상기 거래지원 스마트계약(TSC)(90)에 상기 랜덤값(R)을 제출하여 상기 판매대금을 수령하고, 상기 랜덤값(R)이 상기 구매자 단말(14)로 전송되어 공개되는 단계(S⑤);
상기 구매자 단말(14)이 상기 클라우드 서비스 제공자(16)로 상기 랜덤값(R)을 제출하여 상기 암호화된 데이터를 획득하는 단계(S⑥); 및
상기 구매자 단말(14)이 상기 구매자의 속성비밀키(GID)(20)로 상기 암호화된 데이터를 복호화하는 단계(S⑦);를 포함하는 것을 특징으로 하는 다중기관 속성기반의 속성비밀키를 이용한 데이터 거래 방법. In a data transaction method using an attribute secret key generated by the encryption method according to any one of claims 1 to 8,
A step (S①) in which the cloud service provider (16), which stores the seller's encrypted data, distributes a transaction support smart contract (TSC) (90) on the blockchain network (10);
A step (S②) in which the buyer requests sharing of the encrypted data with the seller terminal 12 through the buyer terminal 14;
After the seller terminal 12 calculates the hash value (hproof) of the random value (R) selected by the seller, the hash value (hproof) is set as the access right proof (hproof) to the buyer terminal 14. and a transmission step (S③) from the cloud service provider 16;
A step (S④) of the buyer depositing the sales amount into the transaction support smart contract (TSC) 90 through the buyer terminal 14;
The seller terminal 12 receives the sales payment by submitting the random value (R) to the transaction support smart contract (TSC) 90, and the random value (R) is transmitted to the buyer terminal 14. Step where it is made public (S⑤);
A step (S⑥) of the buyer terminal 14 submitting the random value (R) to the cloud service provider 16 to obtain the encrypted data; and
A step (S⑦) of the buyer terminal 14 decrypting the encrypted data using the buyer's attribute secret key (GID) 20; data using a multi-agency attribute-based attribute secret key, comprising: How to trade.
상기 거래지원 스마트계약(TSC)(90)은 해시 타임락 계약인 것을 특징으로 하는 다중기관 속성기반의 속성비밀키를 이용한 데이터 거래 방법. According to clause 9,
The transaction support smart contract (TSC) 90 is a data transaction method using a multi-agency attribute-based attribute secret key, characterized in that it is a hash time lock contract.
상기 공개단계(S⑤)에서,
상기 판매자 단말(12)은 상기 거래지원 스마트계약(TSC)(90)에 상기 랜덤값(R)의 해시값(hproof)을 제출하여 상기 판매대금을 수령하고,
상기 랜덤값(R)의 해시값(hproof)이 상기 구매자 단말(14)로 전송되어 공개되며, 그리고
상기 데이터 획득단계(S⑥)에서 상기 구매자 단말(14)은 상기 클라우드 서비스 제공자(16)로 상기 랜덤값(R)의 해시값(hproof)을 제출하여 상기 암호화된 데이터를 획득하는 것을 특징으로 하는 다중기관 속성기반의 속성비밀키를 이용한 데이터 거래 방법. According to clause 9,
In the disclosure step (S⑤),
The seller terminal 12 receives the sales amount by submitting the hash value (hproof) of the random value (R) to the transaction support smart contract (TSC) 90,
The hash value (hproof) of the random value (R) is transmitted to the purchaser terminal 14 and made public, and
In the data acquisition step (S⑥), the buyer terminal 14 submits a hash value (hproof) of the random value (R) to the cloud service provider 16 to obtain the encrypted data. Data transaction method using attribute secret key based on institutional attributes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220025287A KR102664379B1 (en) | 2022-02-25 | 2022-02-25 | A decentralized data sharing system and Collusion-Resistant Multi-Authority Attribute-Based Encryption Scheme based on a Blockchain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220025287A KR102664379B1 (en) | 2022-02-25 | 2022-02-25 | A decentralized data sharing system and Collusion-Resistant Multi-Authority Attribute-Based Encryption Scheme based on a Blockchain |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230127696A KR20230127696A (en) | 2023-09-01 |
KR102664379B1 true KR102664379B1 (en) | 2024-05-08 |
Family
ID=87975098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220025287A KR102664379B1 (en) | 2022-02-25 | 2022-02-25 | A decentralized data sharing system and Collusion-Resistant Multi-Authority Attribute-Based Encryption Scheme based on a Blockchain |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102664379B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117640255B (en) * | 2024-01-25 | 2024-04-09 | 齐鲁工业大学(山东省科学院) | Anti-35820 trap searchable data sharing method and system for Internet of things |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020004915A1 (en) | 2018-06-26 | 2020-01-02 | 경호연 | Blockchain cryptocurrency transmission method using blockchain self-authentication process |
KR102298266B1 (en) | 2019-11-14 | 2021-09-06 | 순천향대학교 산학협력단 | Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment |
-
2022
- 2022-02-25 KR KR1020220025287A patent/KR102664379B1/en active IP Right Grant
Non-Patent Citations (2)
Title |
---|
Meamari, Ehsan, et al. "Collusion attacks on decentralized attributed-based encryption: analyses and a solution." arXiv preprint arXiv:2002.07811 (2020) |
Qin, Xuanmei, et al. "A Blockchain-based access control scheme with multiple attribute authorities for secure cloud data sharing." Journal of Systems Architecture 112 (2021) |
Also Published As
Publication number | Publication date |
---|---|
KR20230127696A (en) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108418680B (en) | Block chain key recovery method and medium based on secure multi-party computing technology | |
US10673632B2 (en) | Method for managing a trusted identity | |
CN111213147B (en) | Systems and methods for blockchain-based cross-entity authentication | |
JP6942136B2 (en) | How to be implemented by the blockchain for the control and distribution of digital content | |
US11196573B2 (en) | Secure de-centralized domain name system | |
US20190372965A1 (en) | Template-based distributed certificate issuance in a multi-tenant environment | |
US20190158275A1 (en) | Digital containers for smart contracts | |
US8843415B2 (en) | Secure software service systems and methods | |
CN109741039A (en) | Bookkeeping methods, terminal device, digs mine node and mine pond at mine pool server | |
CN109450843B (en) | SSL certificate management method and system based on block chain | |
CN115699000A (en) | Method, apparatus and computer readable medium for secure multilateral data exchange over a computer network | |
US20080209575A1 (en) | License Management in a Privacy Preserving Information Distribution System | |
US20060212270A1 (en) | Auditing of secure communication sessions over a communications network | |
CN110020541B (en) | Reputation evaluation method and system based on block chain privacy protection | |
US20190238319A1 (en) | Rights management of content | |
US11405198B2 (en) | System and method for storing and managing keys for signing transactions using key of cluster managed in trusted execution environment | |
US9967091B2 (en) | Method for enhancing security in distributed systems | |
CN112908442A (en) | Medical data sharing method, device, equipment and computer readable medium | |
KR102664379B1 (en) | A decentralized data sharing system and Collusion-Resistant Multi-Authority Attribute-Based Encryption Scheme based on a Blockchain | |
KR102195830B1 (en) | System for security enforced crypto currency based on block chain | |
Noh et al. | Pyros: A state channel-based access control system for a public blockchain network | |
CN114679473A (en) | Financial account management system and method based on distributed digital identity | |
Elagin et al. | Development and analysis of a blockchain system based on JavaScript | |
CN115170132B (en) | Payment method suitable for high-speed post network member system | |
Alharbi et al. | A Blockchain Review: A Comparative Study Between Public Key Infrastructure and Identity Based Encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |