KR102342021B1 - Attribute-based access control system in a blockchain network and method thereof - Google Patents

Attribute-based access control system in a blockchain network and method thereof Download PDF

Info

Publication number
KR102342021B1
KR102342021B1 KR1020190151960A KR20190151960A KR102342021B1 KR 102342021 B1 KR102342021 B1 KR 102342021B1 KR 1020190151960 A KR1020190151960 A KR 1020190151960A KR 20190151960 A KR20190151960 A KR 20190151960A KR 102342021 B1 KR102342021 B1 KR 102342021B1
Authority
KR
South Korea
Prior art keywords
attribute
access
node
information
user
Prior art date
Application number
KR1020190151960A
Other languages
Korean (ko)
Other versions
KR20210063619A (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 KR1020190151960A priority Critical patent/KR102342021B1/en
Publication of KR20210063619A publication Critical patent/KR20210063619A/en
Application granted granted Critical
Publication of KR102342021B1 publication Critical patent/KR102342021B1/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/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
    • 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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • 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
    • H04L63/102Entity profiles
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Abstract

본 발명은 복수 개의 노드들을 포함하는 블록체인 네트워크에서의 접근 권한 제어 시스템에 관한 것이다. 상기 접근 권한 제어 시스템은, 공개키와 비밀키를 생성하는 중앙 노드; 사용자 속성을 검증하고, 검증에 성공한 사용자에게는 일회용 토큰을 발급하는 속성 노드; 정보 주체가 배포하는 스마트 컨트랙트로서, 개인 정보를 속성 노드가 관리하는 접근 정책과 중앙 노드가 배포한 공개키로 암호화하여 암호문을 생성하여 블록체인에 기록하는 제1 스마트 컨트랙트; 정보 이용자가 배포하는 스마트 컨트랙트로서, 블록체인의 암호문에 대한 접근을 요청하고, 상기 접근 요청에 따라 속성 노드로부터 일회용 토큰을 제공받고, 일회용 토큰을 이용하여 중앙노드로부터 비밀키를 제공받고, 상기 비밀키를 이용하여 암호문을 복호화하는 제2 스마트 컨트랙트;를 구비하여, 속성을 기반으로 하여 개인 정보를 암호화하여 분산 원장에 저장하고 암호화된 정보를 복호화하는 것을 특징으로 한다. The present invention relates to an access right control system in a blockchain network including a plurality of nodes. The access authority control system, a central node for generating a public key and a private key; an attribute node that verifies the user attribute and issues a one-time token to the user who has succeeded in the verification; A smart contract distributed by an information subject, comprising: a first smart contract that encrypts personal information with an access policy managed by an attribute node and a public key distributed by a central node to generate a ciphertext and record it in a block chain; As a smart contract distributed by information users, it requests access to the ciphertext of the block chain, receives a one-time token from the attribute node according to the access request, receives a secret key from the central node using the one-time token, and the secret A second smart contract that decrypts the cipher text using the key; comprising, encrypting personal information based on the attribute, storing it in the distributed ledger, and decrypting the encrypted information.

Description

속성을 기반으로 한 블록체인 네트워크에서의 접근 권한 제어 시스템 및 접근 권한 제어 방법{Attribute-based access control system in a blockchain network and method thereof}Attribute-based access control system in a blockchain network and method thereof

본 발명은 블록체인 네트워크에서의 접근 권한 제어 시스템 및 접근 권한 제어 방법에 관한 것으로서, 더욱 구체적으로는 블록체인 네트워크에 있어서, 이용자의 자격 속성 및 데이터의 보유 기간에 대한 속성을 기반으로 하여 데이터를 암호화 및 복호화하도록 함으로써, 데이터에 대한 접근 권한을 제어할 수 있도록 하는 블록체인 네트워크에서의 접근 권한 제어 시스템 및 접근 권한 제어 방법에 관한 것이다. The present invention relates to an access authority control system and access authority control method in a block chain network, and more specifically, in a block chain network, data is encrypted based on the user's qualification property and the property of the data retention period And it relates to an access authority control system and access authority control method in a block chain network that allows to control access authority to data by decrypting it.

블록체인은 암호화폐인 비트코인을 구현하는 기반 기술로서 2008년에 처음으로 소개되었다. 블록체인은 별도의 중앙기관이 존재하지 않는 피어-투-피어(Peer-to-peer)구조에서 가명의 계정을 사용하여 거래를 주고 받을 수 있는 혁신적 기술로 평가된다. 중앙기관이 존재하지 않아도 거래가 정상적으로 수행될 수 있는 것은 모든 데이터 기록이 각 노드에 동일하게 복제된 분산원장을 사용하기 때문이다. 분산원장은 블록체인의 핵심적인 기술로서, 일정 시간 동안 모아진 거래의 집합인 블록들을 시간 순으로 나열한 것이며, 각 블록은 전후 블록의 해쉬값을 참조하는 형식으로 서로가 연결된다. 블록은 작업증명(Proof of work, POW)등과 같은 합의 알고리즘에 따라 선발된 하나의 노드에 의하여 승인되어 블록체인에 추가된다. Blockchain was first introduced in 2008 as the underlying technology to implement the cryptocurrency, Bitcoin. Blockchain is evaluated as an innovative technology that can send and receive transactions using pseudonymous accounts in a peer-to-peer structure where there is no separate central authority. Transactions can be performed normally even without a central authority because all data records use a distributed ledger identically replicated to each node. Distributed ledger is a core technology of blockchain, which lists blocks, which are sets of transactions collected for a certain period of time, in chronological order, and each block is connected to each other in the form of referencing the hash value of the preceding and following blocks. Blocks are approved by one node selected according to a consensus algorithm such as Proof of Work (POW) and added to the blockchain.

블록체인은 데이터의 위변조가 어려운 불변성, 중앙기관이 필요 없는 탈중앙화, 거래 기록의 타당성을 모든 참가자가 검증하는 투명성의 특징을 지닌다. 블록체인은 이러한 특징으로 인하여 다양한 응용분야에 활용되고 있다. 블록체인은 참여 범위에 따라 참여 제한이 없는 공개형과 참여 제한이 있는 허가형으로 나뉜다. 공개형은 블록체인이 태생부터 추구해온 목표인 완전한 분산화와 가장 가까운 형태이지만 현실적으로는 다양한 곳에 적용되기 힘들다는 문제점이 있다. 반면, 허가형은 블록체인의 참여나 정보 열람 자격 등을 제한하기 때문에 공개형보다는 개인정보보호 측면에서는 좀더 현실적인 대안이 될 수 있다. Blockchain has the characteristics of immutability, which is difficult to forge and falsification of data, decentralization without the need for a central authority, and transparency in which all participants verify the validity of transaction records. Due to these characteristics, blockchain is being used in various application fields. According to the scope of participation, the blockchain is divided into an open type without participation restrictions and a permission type with participation restrictions. The open type is the closest form to complete decentralization, the goal of which blockchain has been pursued since its inception, but in reality, it has a problem that it is difficult to apply to various places. On the other hand, the permission type restricts participation in the block chain and the qualification to read information, so it can be a more realistic alternative in terms of personal information protection than the open type.

한편, 접근통제 시스템은 조직이 보유한 자원을 보호하기 위하여 누가, 어디서, 어떠한 자원에 대하여 어떠한 동작을 하는지에 대한 허용 또는 거부를 결정하는 시스템이다. 즉, 접근 통제는 접근 정책을 기반으로 이용자 신원을 승인한 이후 부여된 접근권한을 확인하며, 해당 접근권한을 기준으로 할당된 자원에 대한 접근을 허용 또는 거부를 하는 절차를 거친다. 조직에서 사용되는 접근통제시스템은 이용자의 개인정보, 민감정보, 직위 등을 포함한 다양한 정보를 바탕으로 하기에 지속적이고 무결한 모니터링이 필요하다. On the other hand, the access control system is a system that determines the permission or denial of who, where, and what kind of operation is performed on which resource in order to protect the resources possessed by the organization. That is, access control checks the granted access right after approving the user identity based on the access policy, and goes through the procedure of allowing or denying access to the allocated resource based on the access right. The access control system used in the organization requires continuous and flawless monitoring because it is based on a variety of information including the user's personal information, sensitive information, and position.

전술한 접근 통제는 통상적으로 3가지의 원칙이 충족되어야 한다. 첫 번째는 '필요성의 원칙'으로 이용자 별로 해당 업무 및 관련 업무에 대해서만 접근 권한을 부여해야 함을 의미한다. 두 번째는 '최소권한의 원칙'으로 허가 받은 일을 수행하기 위한 최소한의 권한만을 부여하여, 권한 남용으로 인한 피해를 최소화하는 원칙을 의미한다. 세 번째는 '직무분리의 원칙'으로 업무의 발생으로부터 승인, 수정, 확인, 완료 등이 처음부터 끝까지 한 사람에 의해 처리될 수 없도록 하는 보안 정책을 의미한다. In general, three principles must be satisfied for the aforementioned access control. The first is the 'principle of necessity', which means that access rights should be granted only to the relevant task and related tasks for each user. The second is the 'principle of least authority', meaning the principle of minimizing damage caused by abuse of authority by granting only the minimum authority to perform the permitted work. The third is the 'principle of separation of duties', which means a security policy that prevents approval, modification, confirmation, and completion of tasks from being processed by one person from start to finish.

접근 통제 프로세스에서 접근 및 관리되는 다양한 부류의 정보 및 데이터 중에는 기밀 정보, 영업 정보, 개인정보, 민감정보 등 다양하게 다뤄질 수 있다. 이에 따라 다양한 분류의 정보 및 데이터를 활용하는 블록체인의 경우 접근 통제 측면에서 다양한 요구사항들이 도출될 수 있다. 그 중 가장 엄격하게 다뤄지는 정보의 대표적 부류가 개인정보이다. Among the various types of information and data accessed and managed in the access control process, confidential information, business information, personal information, and sensitive information may be variously handled. Accordingly, in the case of a blockchain that utilizes various types of information and data, various requirements can be derived in terms of access control. Among them, personal information is the representative category of the most strictly handled information.

개인정보란 개인정보보호법에 의하면 살아있는 개인을 알아볼 수 있는 정보 및 다른 정보와 쉽게 결합하여 개인을 알아볼 수 있는 정보이다. 대한민국을 포함한 세계 주요 국가는 개인정보 보호법을 시행하고 있으며 특히 EU(유럽연합)는 2018년 5월 25일부터 유럽시민의 개인정보를 취급하는 사업자 등을 대상으로 일반 정보보호 규정(General Data Protection Regulation, GDPR)을 시행하고 있다. 그러나 블록체인의 탈중앙화 및 분산원장의 특성은 개인정보 보호 의무를 준수하고 책임을 부담하는 중앙기관에 기반한 현행의 GDPR규범 체계가 상충된다. 즉, 블록체인 기술은, 개인정보 목적에 부합한 수집 또는 최소수집 원칙 등 전술한 접근통제 3가지 원칙과 관련한 성질을 충족하기 어려운 설계구조를 가지고 있고, 정보주체의 정보통제권(잊혀질 권리 등)을 어렵게 하며, 탈중앙화의 특성상 정보유출에 대한 과실 책임에 대한 소지도 불분명하기 때문에 특히 공개형 블록체인이 현재의 GDPR체계와 정합될 것인지에는 많은 논란의 여지가 존재한다. According to the Personal Information Protection Act, personal information is information that can identify a living individual and information that can be easily combined with other information to identify an individual. Major countries around the world, including Korea, are enforcing personal information protection laws, and in particular, the EU (European Union) has implemented the General Data Protection Regulation (General Data Protection Regulation) for businesses handling personal information of European citizens from May 25, 2018. , GDPR). However, the decentralization and distributed ledger characteristics of blockchain conflict with the current GDPR norms based on a central authority that complies with privacy obligations and bears responsibilities. In other words, the blockchain technology has a design structure that makes it difficult to satisfy the characteristics related to the three principles of access control, such as the principle of collection or minimum collection in accordance with the purpose of personal information, and the information control right of the information subject (right to be forgotten, etc.) In particular, there is a lot of debate about whether the public blockchain will be compatible with the current GDPR system because it is difficult to do so, and the nature of decentralization also makes it unclear whether the public blockchain will be compatible with the current GDPR system.

한편, 블록체인 상에서 데이터 보호를 위하여 다양한 기술들이 제안되고 있다. 먼저, 속성기반 암호화 기술은 시스템에 저장된 데이터에 일정한 접근정책을 부여하고 이를 암호화한 다음, 데이터 이용자가 동 접근정책을 충족하는 속성을 지닐 경우에 복호화를 허용하는 암호 스킴이다. 속성기반 암호화는 제3의 신뢰기관을 중심으로 운영된다. 신뢰기관은 정보주체가 정보의 접근정책을 정의하여 암호화할 수 있도록 접근정책과 공개키를 관리한다. 또한 정보이용자의 자격 속성을 검증하고 비밀키를 발급하는 역할을 수행한다. 속성기반 암호화에서 신뢰기관은 가장 핵심적인 역할을 담당하는 부분이 된다. 탈중앙 구조의 블록체인에서 속성기반 암호화를 사용하기 위해서는 키와 속성을 관리할 새로운 메커니즘이 필요하다.On the other hand, various technologies have been proposed for data protection on the block chain. First, the attribute-based encryption technology is an encryption scheme that grants a certain access policy to data stored in the system, encrypts it, and allows decryption when the data user has attributes that satisfy the access policy. Attribute-based encryption is operated by a third-party trusted organization. The trusted authority manages the access policy and public key so that the information subject can define and encrypt the information access policy. In addition, it verifies the qualification attributes of information users and plays a role in issuing a secret key. In attribute-based encryption, the trusted authority plays the most important role. In order to use attribute-based encryption in a decentralized blockchain, a new mechanism for managing keys and attributes is required.

개인정보를 암호화 기술로 은닉하여 정보를 노출하지 않고도 주어진 업무를 처리할 수 있다. 이는 영지식증명 기술로 구현 가능하다. 영지식증명(zero-knowledge proof)이란 거래 상대방에게 어떠한 정보도 제공하지 않은 채, 자신이 해당 정보를 가지고 있거나 알고 있다는 사실을 증명하는 것을 말한다. 영지식증명을 이용한 개인정보 보호의 대표적인 사례는, ZCash라고 하는 암호화폐이다. ZCash는 거래상대방에게 자신이 보유한 잔액이 거래금액보다 같거나 크다는 것을 영지식증명을 이용하여 증명함으로써 거래상대방에게 잔액을 노출하지 않고도 거래를 할 수 있다. 이와 같은 영지식증명 방식은 블록체인과 같은 다자간의 비대면 통신 프로토콜에서 개인정보 보호 기능을 제공하기 위한 고급 암호 기술로 분류된다.By hiding personal information with encryption technology, it is possible to process a given task without exposing the information. This can be implemented with zero-knowledge proof technology. Zero-knowledge proof refers to proving that you have or know the information without providing any information to the counterparty. A representative example of personal information protection using zero-knowledge proof is a cryptocurrency called ZCash. ZCash proves to the counterparty that the balance held by it is equal to or greater than the transaction amount using zero-knowledge proof, so that transactions can be made without exposing the balance to the counterparty. This zero-knowledge proof method is classified as an advanced encryption technology to provide privacy protection in multi-party non-face-to-face communication protocols such as block chains.

한편, 프라이빗 블록체인 기술 중 하나인 하이퍼레저 패브릭은 채널(channel)을 이용하여 접근 통제를 수행한다. 하이퍼레저 패브릭은 이해관계가 맞는 조직들로 분리되어 채널을 형성하며 해당 채널간에만 원장을 공유함으로써, 타 채널에서 유지되는 원장은 열람할 수 없고 접근이 차단된다. 하지만, 많은 채널이 생성될 경우, 각 노드는 다수의 원장을 관리하여야 하므로 매우 비효율적인 측면이 있기 때문에, 개인 사용자를 대상으로 하는 접근 제어 방식이 필요하다. 하이퍼래저 패브릭은 채널 내에서도 정보의 접근을 제한하기 위하여 'visibility setting'과 같은 기능을 제공하기도 하며, 체인코드를 이용하여 역할에 따른 접근제어 로직을 구현할 수도 있다. 그러나 이 경우 반드시 복호키의 발행 및 배포 방식을 사용자가 구현할 수 있어야 한다.Meanwhile, Hyperledger Fabric, one of the private blockchain technologies, uses channels to control access. Hyperledger Fabric is divided into organizations with interests to form a channel, and by sharing the ledger only between the channels, the ledger maintained in other channels cannot be viewed and access is blocked. However, when many channels are created, each node has to manage multiple ledgers, which is very inefficient, so an access control method targeting individual users is required. Hyperledger Fabric also provides functions such as 'visibility setting' to restrict access to information within a channel, and can implement access control logic according to roles using chaincode. However, in this case, the user must be able to implement the issuance and distribution method of the decryption key.

전술한 바와 같이, 블록체인 상에서 데이터 보호를 위하여 제안되고 있는 기술들은 비효율성이 발생되고, 다양한 문제점들이 내포되어 있는 실정이다. As described above, the technologies proposed for data protection on the block chain are inefficient and contain various problems.

한국공개특허공보 제 10-2018-0101870호Korean Patent Publication No. 10-2018-0101870 한국등록특허공보 제 10-0989605호Korean Patent Publication No. 10-0989605 한국등록특허공보 제 10-2025409호Korean Patent Publication No. 10-2025409

전술한 문제점을 해결하기 위한 본 발명의 목적은 블록체인 네트워크 상에서의 개인정보, 민감 정보 등의 데이터를 효율적이면서도 안전하게 보호할 수 있는 블록체인 네트워크에서의 접근 권한 제어 시스템을 제공하는 것이다. An object of the present invention for solving the above problems is to provide an access right control system in a block chain network that can efficiently and safely protect data such as personal information and sensitive information on the block chain network.

본 발명의 다른 목적은 블록체인 네트워크 상에서의 개인정보, 민감 정보 등의 데이터를 효율적이면서도 안전하게 보호할 수 있는 블록체인 네트워크에서의 접근 권한 제어 방법을 제공하는 것이다.Another object of the present invention is to provide a method for controlling access rights in a blockchain network that can efficiently and safely protect data such as personal information and sensitive information on the blockchain network.

전술한 기술적 과제를 달성하기 위한 본 발명의 제1 특징에 따른 복수 개의 노드들을 포함하는 블록체인 네트워크에서의 접근 권한 제어 시스템은, 상기 노드들 중 단일의 중앙 노드와 K개(블록체인에 참여하는 조직의 개수)의 속성 노드들을 선정하는 MSP; 공개키와 비밀키를 생성하는 중앙 노드; 사용자 속성을 검증하고 검증에 성공한 사용자에게는 일회용 토큰을 발급하는 속성 노드; 개인정보를 속성 노드가 관리하는 접근정책과 중앙노드가 배포한 공개키로 암호화하여 블록체인에 기록하는 정보주체가 배포한 제1 스마트 컨트랙트; 암호문에 대한 접근을 요청하면, 상기 속성 노드로부터 속성을 검증받은 후, 검증 성공시 일회용 토큰을 제공받고, 상기 일회용 토큰을 중앙 노드에게 제시하여 중앙 노드로부터 비밀키를 제공받고, 해당 비밀키를 이용하여 암호문을 복호화하는 정보 이용자가 배포한 제2 스마트 컨트랙트;를 구비하여, 속성을 기반으로 하여 분산 원장의 데이터를 암호화 및 복호화한다. An access authority control system in a blockchain network including a plurality of nodes according to the first aspect of the present invention for achieving the above-described technical problem is a single central node and K (participating in the blockchain) among the nodes. MSP for selecting attribute nodes of the number of organizations); a central node generating public and private keys; an attribute node that verifies user attributes and issues a one-time token to a user who succeeds in verification; a first smart contract distributed by an information subject that records personal information in a block chain by encrypting the personal information with the access policy managed by the attribute node and the public key distributed by the central node; When access to the ciphertext is requested, after the attribute is verified by the attribute node, a one-time token is provided upon successful verification, the one-time token is presented to the central node to receive a secret key from the central node, and the corresponding private key is used and a second smart contract distributed by the information user to decrypt the ciphertext, and encrypts and decrypts the data of the distributed ledger based on the attribute.

전술한 제1 특징에 따른 블록체인 네트워크에서의 접근 권한 제어 시스템에 있어서, 상기 접근 정책은 접근 트리로 표현되며, 상기 접근 트리는 이용자의 자격 속성들을 나타내는 부분 트리와 개인정보의 보유기간을 나타내는 부분 트리의 AND 게이트로 표현되는 것이 바람직히다. In the access right control system in the block chain network according to the first feature described above, the access policy is expressed as an access tree, wherein the access tree is a partial tree indicating the user's qualification attributes and a partial tree indicating the retention period of personal information It is preferably expressed as an AND gate of

전술한 제1 특징에 따른 블록체인 네트워크에서의 접근 권한 제어 시스템에 있어서, 상기 속성 노드는 정보 이용자 노드로부터의 암호문 접근 요청에 따라, 자격 속성과 타임 스탬프를 포함한 정보 이용자의 속성을 이용하여 일회용 토큰을 생성하고, 생성된 일회용 토큰을 정보 이용자 노드에게 전송하는 것이 바람직하다. In the access authority control system in the block chain network according to the first aspect described above, the attribute node uses the information user attribute including the entitlement attribute and the time stamp according to the ciphertext access request from the information user node to a one-time token It is preferable to generate and transmit the generated one-time token to the information user node.

본 발명의 제2 특징에 따른 블록체인 네트워크에서의 접근 권한 제어 시스템은, 사용자의 속성을 검증하여 검증에 성공할 경우 일회용 코튼을 발생하여 정보주체에게 전송하는 속성 노드; 사용자의 속성을 기반으로 한 접근 정책으로 데이터를 암호화하여 암호문을 생성하고 이를 블록체인에 기록하는 정보 주체의 제1 스마트 컨트랙트; 암호문에 대한 접근을 요청하면, 상기 속성 노드로부터 일회용 토큰을 제공받고, 상기 일회용 토큰을 이용하여 중앙 노드로부터 비밀키를 제공받고, 상기 비밀키를 이용하여 상기 암호문을 복호화하는 정보 이용자의 제2 스마트 컨트랙트;을 구비하여, 속성을 기반으로 하여 분산 원장의 데이터를 암호화 및 복호화한다. The access authority control system in the block chain network according to the second aspect of the present invention includes: an attribute node that generates a disposable cotton and transmits it to an information subject when the verification is successful by verifying the user's attribute; a first smart contract of the information subject that encrypts data with an access policy based on the user's attributes to generate a ciphertext and records it in the block chain; When access to the cipher text is requested, the information user receives a one-time token from the attribute node, receives a secret key from the central node using the one-time token, and decrypts the cipher text using the secret key. A contract; is provided to encrypt and decrypt data on the distributed ledger based on attributes.

전술한 제2 특징에 따른 블록체인 네트워크에서의 접근 권한 제어 시스템에 있어서, 상기 접근 정책은 접근 트리로 표현되며, 자격 속성 트리와 보유 기간 속성 트리를 포함하는 것이 바람직하다. In the access right control system in the block chain network according to the second feature described above, the access policy is expressed as an access tree, and preferably includes an entitlement attribute tree and a retention period attribute tree.

전술한 제2 특징에 따른 블록체인 네트워크에서의 접근 권한 제어 시스템에 있어서, 상기 속성 노드는 정보 이용자 노드로부터의 암호문 접근 요청에 따라, 자격 속성과 타임 스탬프를 포함한 정보 이용자의 속성을 이용하여 일회용 토큰을 생성하고, 생성된 일회용 토큰을 정보 이용자 노드에게 전송하는 것이 바람직하다. In the access right control system in the block chain network according to the second feature described above, the attribute node uses the information user attribute including the qualification attribute and the time stamp according to the ciphertext access request from the information user node to a one-time token It is preferable to generate and transmit the generated one-time token to the information user node.

전술한 제2 특징에 따른 블록체인 네트워크에서의 접근 권한 제어 시스템은, 블록체인 네트워크의 노드들 중 단일의 중앙 노드와 K개의 속성 노드들이 설정되고, K개의 분산된 속성 노드들은 각 조직을 대표하는 노드로서, 해당 조직원인 사용자의 정보 요청에 대하여 속성 검증을 수행하고 검증에 성공한 사용자에게는 일회용 토큰을 발행한다. 일회용 토큰을 제공받은 사용자는 이를 중앙 노드에게 제시하여 자신이 적법한 자격을 가진 자임을 증명하고, 이로부터 비밀키를 발급받는다.In the access right control system in the blockchain network according to the second feature described above, a single central node and K attribute nodes are set among the nodes of the blockchain network, and the K distributed attribute nodes represent each organization. As a node, attribute verification is performed on the information request of the user who is a member of the organization, and a one-time token is issued to the user who has succeeded in verification. A user who is provided with a one-time token presents it to the central node to prove that he or she has legal qualifications, and is issued a secret key from it.

본 발명에 따른 블록체인 네트워크를 기반으로 한 접근 권한 제어 시스템은, 블록체인 내의 개인 정보를 포함한 다양한 정보에 대하여 사용자 단위별 권한에 따른 접근 통제를 할 수 있게 된다. 또한, 도 4는 본 발명과 종래의 유사 연구들에 대하여, 개인 정보에 대하여 GDPR 에서 요구하는 법적 준수 사항을 충족하는 정도를 비교한 도표이다. 도 4를 통해, 개인 정보의 경우, GDPR에서 요구하는 법적 준수 사항을 충족하며, 유사 연구에 비해 많은 장점이 있음을 알 수 잇다. The access authority control system based on the block chain network according to the present invention can control access according to the authority for each user unit for various information including personal information in the block chain. In addition, FIG. 4 is a chart comparing the degree of satisfying the legal compliance requirements of the GDPR for personal information with respect to the present invention and conventional similar studies. 4, in the case of personal information, it can be seen that it meets the legal compliance requirements required by the GDPR, and has many advantages compared to similar studies.

또한, 본 발명에 따른 블록체인 네트워크를 기반으로 한 접근 권한 제어 시스템은, 별도의 신뢰 기관이 없으며 K개의 속성 노드들과 같이 다중 노드를 선정함으로써, 전체 네트워크의 정보 이용의 연속성과 데이터의 기밀성을 보장할 수 있다. 또한, 본 발명에 따른 시스템은 단일 노드와 복수개의 속성 노드로 구성되는 특징으로 인하여 블록체인 네트워크의 병목 현상을 해결할 수 있다. 즉, 기존의 속성기반 암호화 스킴에서 단일한 신뢰기관이 수행하는 역할인 사용자 속성 검증과 키 발급 기능을 분리하고 이를 각각 K개의 속성노드와 단일한 중앙 노드에게 부여하여 블록체인 네트워크의 부하를 분산시킬 수 있기 때문에 전체 시스템이 안정화 될 수 있다.In addition, the access authority control system based on the block chain network according to the present invention does not have a separate trust authority, and by selecting multiple nodes like K attribute nodes, the continuity of information use of the entire network and the confidentiality of data can guarantee In addition, the system according to the present invention can solve the bottleneck of the block chain network due to the feature of being composed of a single node and a plurality of attribute nodes. In other words, in the existing attribute-based encryption scheme, it is possible to separate the user attribute verification and key issuance functions, which are the roles played by a single trusted authority, and distribute the load of the block chain network by assigning them to K attribute nodes and a single central node, respectively. Because of this, the whole system can be stabilized.

또한, 본 발명에 따른 블록체인 네트워크를 기반으로 한 접근 권한 제어 시스템은, 영구적인 복호화키를 제공하는 것이 아니라 일회용 토큰을 이용하여 복호화키를 생성하게 됨으로써, 기존의 다른 속성 기반 암호화에 비하여, 키 관리에 대한 효율성과 보안성을 가진다. 따라서 속성 노드로부터 속성 검증에 실패한 정보 이용자는 키를 제공받을 수 있는 권한인 일회용 토큰을 획득할 수 없다. 이 경우 이용자는 정보를 복호화하지 못한다. 속성 노드로부터 검증에 실패한 경우란, 어떠한 사유로 이용자의 속성이 변동되어 기존의 접근정책과 속성이 일치하지 않는 경우 또는 개인정보의 보유기간 속성이 현재의 타임스탬프보다 과거일 경우에 해당된다. 이와 같이 속성 검증과 키 발급 기능이 분리되면 정보 이용자의 속성 변동에 유연하게 대응할 수 있게 되며 변동된 속성을 위해 발급받았던 키를 갱신하거나 폐기할 필요가 없어진다. 또한 개인정보의 보유기간 만료시 자동으로 정보 접근을 차단할 수 있는 장점도 있다. 도 5는 본 발명과 종래의 유사 연구들에 대하여, 개인 정보에 대한 보안성을 평가하여 비교한 도표이다. 도 5를 통해, 본 발명에 따른 방법은 모든 분야에서 보안성이 향상되고 있음을 알 수 있다. In addition, the access authority control system based on the block chain network according to the present invention generates a decryption key using a one-time token rather than providing a permanent decryption key. It has efficiency and security for management. Therefore, the information user who has failed to verify the attribute from the attribute node cannot obtain a one-time token, which is the right to receive the key. In this case, the user cannot decrypt the information. The case where verification from the attribute node fails is when the user's attribute is changed for some reason and the attribute does not match with the existing access policy, or when the attribute of the retention period of personal information is older than the current timestamp. When the attribute verification and key issuance functions are separated in this way, it is possible to respond flexibly to the attribute change of information users, and there is no need to update or discard the key issued for the changed attribute. In addition, there is an advantage of automatically blocking access to information when the retention period of personal information expires. 5 is a table comparing the present invention and conventional similar studies by evaluating and comparing the security of personal information. 5, it can be seen that the method according to the present invention has improved security in all fields.

도 1은 본 발명의 바람직한 실시예에 따른 접근 권한 제어 시스템에 있어서, 각 노드에 대한 구성을 개략적으로 도시한 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 접근 권한 제어 시스템에 있어서, 개인정보의 접근정책을 접근트리로 도시한 것으로서, 접근트리는 사용자의 속성을 나타내는 부분 트리(a)와 개인정보의 보유기간을 나타내는 부분 트리(b)로 구성된다.
도 3은 본 발명의 바람직한 실시예에 따른 블록체인 네트워크에서의 접근 권한 제어 시스템의 각 노드들의 동작을 전체적으로 도시한 흐름도이다.
도 4는 본 발명과 종래의 유사 연구들에 대하여, 개인 정보에 대하여 GDPR 에서 요구하는 법적 준수 사항을 충족하는 정도를 비교한 도표이다.
도 5는 본 발명과 종래의 유사 연구들에 대하여, 개인 정보에 대한 보안성을 평가하여 비교한 도표이다.
도 6은 본 발명의 바람직한 실시예에 따른 접근 권한 제어 시스템에 있어서, 중앙 노드와 K개의 속성 노드의 동작을 설명하기 위한 모식도이다.
도 7은 본 발명의 바람직한 실시예에 따른 접근 권한 제어 시스템에 있어서, 정보 주체 노드와 정보 이용자 노드의 동작을 설명하기 위한 모식도이다.
1 is a block diagram schematically showing the configuration of each node in the access authority control system according to a preferred embodiment of the present invention.
2 is a view showing the access policy of personal information as an access tree in the access authority control system according to a preferred embodiment of the present invention, wherein the access tree includes a partial tree (a) indicating user attributes and the retention period of personal information. It is composed of the partial tree (b) shown.
3 is a flowchart showing the overall operation of each node of the access right control system in the block chain network according to a preferred embodiment of the present invention.
4 is a chart comparing the degree of satisfying the legal compliance requirements of the GDPR for personal information with respect to the present invention and conventional similar studies.
5 is a table comparing the present invention and conventional similar studies by evaluating and comparing the security of personal information.
6 is a schematic diagram for explaining the operations of the central node and K attribute nodes in the access authority control system according to the preferred embodiment of the present invention.
7 is a schematic diagram for explaining the operations of an information subject node and an information user node in the access authority control system according to a preferred embodiment of the present invention.

본 발명은 블록체인의 블록에 포함된 기밀 정보, 개인 정보, 민감 정보 등을 포함한 다양한 데이터에 대하여 이용자의 권한, 접근 정책 및 보유 기간 등에 따른 차등적 접근 통제를 적용하는 블록체인을 기반으로 한 접근 권한 제어 시스템이다. 본 발명에 따른 접근 권한 제어 시스템은, 블록체인 거래에 포함된 정보에 따라 속성 기반 암호화를 활용하여 데이터의 속성에 따른 접근 정책으로 암호화하고 해당 접근 정책을 만족하는 정보 이용자만 해당 정보를 복호화하여 조회할 수 있도록 한다. 이에 따라, 블록체인인 분산 원장이 갱신되거나 조회될 때마다 스마트 컨트랙트를 통해 속성기반 암호화 및 복호화를 실행하게 된다. 본 발명에 따른 접근 권한 제어 시스템에 있어서, 속성은 접근정책을 기준으로 속성 노드에 의해 검증되고, 검증된 이용자에게는 일회용 토큰이 발행된다. 중앙 노드는 이용자의 일회용 토큰을 통해 비밀키를 생성하며, 이러한 비밀키는 암호문을 복호화하기 위한 키에 해당된다. 접근트리는 사용자의 속성을 나타내는 부분 트리와 개인정보의 보유기간을 나타내는 부분 트리로 구성된다. 상기 두개의 부분 트리는 AND게이트로 연결된다. 부분 트리 a는 사용자의 속성을 표현하는 리프노드(Leaf node)와 이들간의 논리적 관계를 나타내는 AND, OR게이트로 구성된다. 정보 이용자의 속성을 검증하기 위해서는 트리의 리프노드와 속성값을 비교하여 일치할 경우 해당 트리 노드 값이 참이 된다. 이와 같은 동작을 리프노드로부터 루트노드까지 반복 실행하여 전체 트리 노드가 참이 될 경우 속성 검증에 성공한다.The present invention is a block chain-based access that applies differential access control according to the user's authority, access policy and retention period, etc. to various data including confidential information, personal information, sensitive information, etc. included in the block of the block chain. It is a privilege control system. The access right control system according to the present invention uses attribute-based encryption according to the information included in the block chain transaction to encrypt it with an access policy according to the attribute of data, and only information users who satisfy the corresponding access policy decrypt and query the information make it possible Accordingly, whenever the distributed ledger, which is a blockchain, is updated or inquired, property-based encryption and decryption are executed through a smart contract. In the access authority control system according to the present invention, the attribute is verified by the attribute node based on the access policy, and a one-time token is issued to the verified user. The central node generates a secret key through the user's one-time token, and this secret key corresponds to a key for decrypting the cipher text. The access tree consists of a partial tree representing the user's attributes and a partial tree representing the retention period of personal information. The two partial trees are connected by an AND gate. Part tree a is composed of leaf nodes expressing user attributes and AND and OR gates indicating logical relationships between them. In order to verify the attribute of the information user, the tree node value becomes true if the leaf node of the tree and the attribute value match and match. By repeating this operation from the leaf node to the root node, if the entire tree node becomes true, the attribute verification is successful.

본 발명에 따른 접근 권한 제어 시스템은 정보 주체가 거래 정보를 생성할 때 정보에 접근할 수 있는 속성 구조(access structure)를 기반으로 한 접근정책으로 암호화하여 이를 블록체인에 기록한다. 한편, 정보 이용자가 암호화된 데이터에 대한 접근을 요청하면, 속성 노드는 정보 이용자에 대한 자격 속성과 타임 스탬프를 이용하여 일회용 토큰(tu)을 생성한다. 정보 이용자는 속성 노드가 제공한 일회용 토큰을 이용하여 중앙 노드로부터 비밀키를 제공받아 이를 통해 데이터에 접근할 수 있다. 정보는 접근 정책과 보유 기간으로 암호화되고, 속성 노드는 정보 이용자의 속성 정보와 접근 요청 시간 정보를 이용하여, 정보 이용자에 대한 일회용 토큰을 생성하여 발행한다. 이때, 정보 이용자의 속성과 해당 정보에 대한 접근 정책이 일치해야 일회용 토큰을 제공받을 수 있다.The access authority control system according to the present invention encrypts an access policy based on an access structure that allows an information subject to access information when generating transaction information, and records it in the block chain. On the other hand, when an information user requests access to encrypted data, the attribute node generates a one-time token (tu) using the qualification attribute and time stamp for the information user. Information users can access data by receiving the secret key from the central node using the one-time token provided by the attribute node. The information is encrypted with the access policy and retention period, and the attribute node generates and issues a one-time token for the information user by using the attribute information and access request time information of the information user. In this case, the one-time token can be provided only when the attribute of the information user and the access policy for the information match.

속성 기반 암호화는 접근 정책에 기반하여 동작한다. 접근 정책이란 각 정보 주체가 접근할 수 있는 객체에 대한 정보를 기술해 놓은 정책으로서, 정보 주체의 경우 직책과 직무 등을 포함한 주체를 표현하는 다양한 정보가 속성으로 부여되고, 객체는 보유 기간이 부여된다. 접근 정책은 조직의 정책에 따라 언제든지 추가, 수정, 삭제될 수 있다. Attribute-based encryption works based on access policies. An access policy is a policy that describes information about objects that each data subject can access. In the case of a data subject, various information expressing the subject, including position and job, is given as an attribute, and the object is given a retention period. do. Access policies can be added, modified, or deleted at any time according to the organization's policy.

속성 기반 암호화에서는 접근 정책을 접근 트리 형태로 표현한다. 접근 트리는 모든 주체의 속성을 리프 노드로 구성하고 각 속성간의 관계를 내부 노드로 구성한다. 이어, 트리 탐색 알고리즘을 통해 임의의 정보 이용자의 속성이 접근 정책과 일치하는지 판단할 수 있다. In attribute-based encryption, the access policy is expressed in the form of an access tree. The access tree composes the properties of all subjects as leaf nodes, and the relationship between each property as internal nodes. Then, it can be determined whether the attribute of an arbitrary information user matches the access policy through the tree search algorithm.

암호화와 복호화는 단일 중앙 노드와 K개의 속성 노드로 동작한다. 접근트리는 사용자의 자격 속성을 나타내는 부분 트리와 개인정보의 보유기간을 나타내는 부분 트리로 구성된다. 상기 두개의 부분 트리는 AND게이트로 연결된다. 자격 속성을 나타내는 부분 트리는 사용자의 속성을 표현하는 리프노드(Leaf node)와 이들간의 논리적 관계를 나타내는 AND, OR게이트로 구성된다. 보유기간 속성을 나타내는 부분 트리는 개인정보가 블록체인에 기록된 시점의 날짜에 해당 개인정보의 법적 최대 보유기간(10년 등)을 기산하여 트리로 표현한다. 즉, 보유기간 속성 트리는 문자가 아닌 숫자에 대한 대소 비교를 하여야 하므로, 보유기간 속성 트리는 별도의 비트열로 구성된 트리(n-bit integer)로 구성한 다음, 정보 이용자가 정보를 요청한 타임 스탬프보다 같거나 큰지를 비교한다. Encryption and decryption operate with a single central node and K attribute nodes. The access tree consists of a partial tree representing the user's qualification attributes and a partial tree representing the retention period of personal information. The two partial trees are connected by an AND gate. The partial tree representing the qualification attribute is composed of a leaf node expressing the user attribute and AND and OR gates indicating the logical relationship between them. The partial tree representing the retention period attribute is expressed as a tree by counting the legal maximum retention period (10 years, etc.) of the personal information from the date when the personal information is recorded in the block chain. In other words, since the retention period attribute tree must compare numbers, not letters, the retention period attribute tree is composed of a separate bit string (n-bit integer), and then is equal to or equal to the timestamp requested by the information user. Compare the larger ones.

이하, 도 1을 참조하여 본 발명의 바람직한 실시예에 따른 접근 권한 제어 시스템의 각 노드에 대한 구조를 구체적으로 설명한다. 도 1은 본 발명의 바람직한 실시예에 따른 접근 권한 제어 시스템에 있어서, 각 노드에 대한 구성을 개략적으로 도시한 블록도이다. Hereinafter, the structure of each node of the access authority control system according to a preferred embodiment of the present invention will be described in detail with reference to FIG. 1 . 1 is a block diagram schematically showing the configuration of each node in the access authority control system according to a preferred embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 블록체인을 기반으로 한 접근 권한 제어 시스템의 각 노드는, 블록체인 모듈(100), 감시 모듈(110), 접근 제어 모듈(120), 암호 모듈(130), 및 접근 정책 모듈(140)을 구비한다. Referring to FIG. 1 , each node of the block chain-based access right control system according to the present invention includes a block chain module 100 , a monitoring module 110 , an access control module 120 , and an encryption module 130 . , and an access policy module 140 .

상기 블록체인 모듈(Blockchain Module; 100)은, 거래를 생성하고 유효성을 검증한 후 블록에 추가하여 조회한다. 상기 감시 모듈(Auditing Module; 110)은, 누가 언제 어떤 개인 정보를 암호화하여 블록에 저장하였고 복호화하여 조회하였는지를 감시하고 기록한다. 상기 접근 제어 모듈(Access control Module; 120)은, 블록체인 개인 정보에 누가 어떤 정보를 언제까지 조회할 수 있는가에 대한 규칙을 정의하며, 필요시 접근 정책은 수정, 삭제 및 추가될 수 있다. The blockchain module (Blockchain Module; 100) creates a transaction, verifies the validity, and adds it to the block for inquiry. The monitoring module (Auditing Module; 110) monitors and records who encrypted what personal information when, stored in a block, and decrypted and inquired. The access control module (Access control module; 120) defines a rule for who can inquire what information in the block chain personal information by when, and if necessary, the access policy can be modified, deleted, and added.

상기 암호 모듈(Cryptography Module; 130)은, 블록체인상의 정보를 접근 정책을 참조하여 암호화하고, 정보 이용자의 속성에 따라 복호화한다. 상기 접근 정책 모듈(Access Control Policy Module; 140)은 블록체인의 개인 정보에 대하여 누가 어떤 정보를 언제까지 조회할 수 있는가에 대한 규칙인 접근 정책을 정의하며, 필요시에는 접근 정책은 수정, 삭제, 추가될 수 있다. 접근 정책은 모두 주체와 객체의 속성에 논리연산(AND, OR)을 결합한 트리 구조로 구현된다. The cryptographic module (Cryptography Module; 130) encrypts the information on the block chain with reference to the access policy, and decrypts it according to the properties of the information user. The access policy module (Access Control Policy Module; 140) defines an access policy that is a rule for who can inquire what information for personal information of the block chain by when, and if necessary, the access policy can be modified, deleted, can be added. All access policies are implemented in a tree structure that combines logical operations (AND, OR) with the properties of subjects and objects.

도 2는 본 발명의 바람직한 실시예에 따른 접근 권한 제어 시스템에 있어서, 자격 속성 부분 트리(a)와 보유기간 속성 부분 트리로 구성된 접근트리(b)를 예시적으로 도시한 것이다. 접근 트리는, 도 2에 도시된 바와 같이, K개의 부분 트리로 나누어 처리되며, shamir의 비밀분산법에 의하여 각 부분 트리의 값이 모두 만족될 때 일회용 토큰이 발행될 수 있다. 2 exemplarily shows an access tree (b) composed of a partial tree of qualification attributes (a) and a partial tree of retention period attributes in the access right control system according to a preferred embodiment of the present invention. As shown in FIG. 2, the access tree is divided into K partial trees and processed, and a one-time token can be issued when all the values of each partial tree are satisfied by shamir's secret distribution method.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 블록체인 네트워크에서의 접근 권한 제어 시스템의 동작에 대하여 구체적으로 설명한다. Hereinafter, the operation of the access authority control system in the block chain network according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명의 바람직한 실시예에 따른 블록체인 네트워크에서의 접근 권한 제어 시스템의 각 노드들의 동작을 전체적으로 도시한 흐름도이다. 3 is a flowchart showing the overall operation of each node of the access right control system in the block chain network according to a preferred embodiment of the present invention.

도 3을 참조하면, 본 발명에 따른 블록체인 네트워크에서의 접근 권한 제어 시스템은, 멤버쉽 서비스 프로바이더(10: Membership Service Provider; MSP), 중앙 노드(20), K개의 속성 노드들(30), 정보 정보 주체가 배포한 제1 스마트 컨트랙트(40), 정보 이용자가 배포한 제2 스마트 컨트랙트(50)를 포함한다. Referring to FIG. 3, the access authority control system in the blockchain network according to the present invention includes a membership service provider (10: Membership Service Provider; MSP), a central node 20, K attribute nodes 30, The first smart contract 40 distributed by the information information subject and the second smart contract 50 distributed by the information user are included.

상기 MSP는 블록체인 네트워크를 구성하는 노드들 중 1개의 중앙 노드와 K개의 분산된 속성 노드들을 설정한다. K개의 분산된 속성 노드들은 각 조직을 대표하는 노드로서, 제2 스마트 컨트랙트를 통해 해당 조직의 구성원인 사용자의 정보 요청이 발생되면, 속성 검증을 수행하고, 검증에 성공한 사용자에게는 일회용 토큰을 발행한다. 일회용 토큰을 제공받은 사용자는 이를 중앙 노드에게 제시하고 자신이 적법한 자격을 가진 자임을 증명하고, 이로부터 비밀키를 발급하게 된다. 이에 따라, 사용자는 중앙 노드로부터 발급된 비밀키를 이용하여 암호문을 복호화할 수 있게 된다. The MSP sets one central node and K distributed attribute nodes among the nodes constituting the blockchain network. The K distributed attribute nodes are nodes representing each organization. When a request for information from a user who is a member of the organization occurs through the second smart contract, attribute verification is performed, and a one-time token is issued to the user who succeeded in verification. . A user who is provided with a one-time token presents it to the central node, proves that he or she has legal qualifications, and issues a secret key from it. Accordingly, the user can decrypt the ciphertext using the secret key issued from the central node.

도 6은 본 발명의 바람직한 실시예에 따른 접근 권한 제어 시스템에 있어서, 중앙 노드와 K개의 속성 노드의 동작을 설명하기 위한 모식도이다. 도 6을 참조하면, 상기 중앙 노드는 MSP에 의해 선정되며, 암호화에 사용될 시스템 공개키와, 비밀키, 그리고 비밀키 생성에 사용되는 마스터키를 생성한다. 메시지 암호화 및 사용자에게 분배할 수 있는 모든 속성값들의 집합을 정의하며 암호화에 사용되는 공개키 PK와 개인키 발급에 사용되는 마스터 키 MK를 생성한다.6 is a schematic diagram for explaining the operations of the central node and K attribute nodes in the access authority control system according to the preferred embodiment of the present invention. Referring to FIG. 6 , the central node is selected by the MSP and generates a system public key to be used for encryption, a private key, and a master key used to generate the private key. It defines a set of all attribute values that can be distributed to message encryption and users, and creates a public key PK used for encryption and a master key MK used for issuing a private key.

도 7은 본 발명의 바람직한 실시예에 따른 접근 권한 제어 시스템에 있어서, 정보 주체 노드와 정보 이용자 노드의 동작을 설명하기 위한 모식도이다. 도 7을 참조하면, 정보 이용자 노드는 정보 이용자의 속성을 접근정책 기준으로 검증하여 검증에 성공할 경우 정보 이용자에 대한 일회용 토큰을 생성한다. 상기 정보 이용자 노드는 상기 속성 노드로부터 제공받은 일회용 토큰을 이용하여 중앙 노드에게 비밀키를 요청하고 중앙노드는 일회용 토큰 값이 적정할 경우 비밀키를 발급한다. 정보 이용자는 상기 비밀키를 이용하여 암호문을 복호화하여 원문을 얻게 된다7 is a schematic diagram for explaining the operations of an information subject node and an information user node in the access authority control system according to a preferred embodiment of the present invention. Referring to FIG. 7 , the information user node verifies the attribute of the information user based on the access policy standard and generates a one-time token for the information user when the verification is successful. The information user node requests a secret key from the central node using the one-time token provided from the attribute node, and the central node issues the private key when the one-time token value is appropriate. The information user decrypts the cipher text using the secret key to obtain the original text.

이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다. In the above, the present invention has been mainly described with respect to its preferred embodiment, but this is only an example and does not limit the present invention. It will be appreciated that various modifications and applications not exemplified above in the scope are possible. And, the differences related to such modifications and applications should be construed as being included in the scope of the present invention defined in the appended claims.

10 : 멤버쉽 서비스 프로바이더(Membership Service Provider; MSP)
20 : 중앙 노드
30 : K개의 속성 노드들
40 : 정보 주체 노드가 배포하는 제1 스마트 컨트랙트
50 : 정보 이용자 노드가 배포하는 제2 스마트 컨트랙트
100 : 블록체인 모듈
110 : 감시 모듈
120 : 접근 제어 모듈
130 : 암호 모듈
140 : 접근 정책 모듈
10: Membership Service Provider (MSP)
20: central node
30: K attribute nodes
40: The first smart contract distributed by the data subject node
50: The second smart contract distributed by the information user node
100: blockchain module
110: monitoring module
120: access control module
130: cryptographic module
140: access policy module

Claims (12)

복수 개의 노드들을 포함하는 블록체인 네트워크에서의 접근 권한 제어 시스템에 있어서,
상기 노드들 중 단일의 중앙 노드와 속성 노드를 선정하는 MSP;
공개키와 비밀키를 생성하는 중앙 노드;
사용자 속성을 검증하고, 검증에 성공한 사용자에게는 일회용 토큰을 발급하는 속성 노드;
정보 주체가 배포하는 스마트 컨트랙트로서, 개인 정보를 속성 노드가 관리하는 접근 정책과 중앙 노드가 배포한 공개키로 암호화하여 암호문을 생성하여 블록체인에 기록하는 제1 스마트 컨트랙트;
정보 이용자가 배포하는 스마트 컨트랙트로서, 블록체인의 암호문에 대한 접근을 요청하고, 상기 접근 요청에 따라 속성 노드로부터 속성을 검증받고, 검증 성공시 속성 노드로부터 일회용 토큰을 제공받고, 일회용 토큰을 이용하여 중앙노드로부터 비밀키를 제공받고, 상기 비밀키를 이용하여 암호문을 복호화하는 제2 스마트 컨트랙트;
를 구비하여, 속성을 기반으로 하여 개인 정보를 암호화하여 분산 원장에 저장하고 암호화된 정보를 복호화하는 것을 특징으로 하며,
상기 접근 정책은 접근 트리로 표현되며,
상기 접근 트리는 정보 이용자의 자격 속성을 나타내는 부분 트리와 상기 개인 정보에 대한 보유 기간을 나타내는 부분 트리의 AND 게이트로 표현된 것을 특징으로 하는 블록체인 네트워크에서의 접근 권한 제어 시스템.
In the access authority control system in a block chain network including a plurality of nodes,
an MSP for selecting a single central node and an attribute node from among the nodes;
a central node generating public and private keys;
an attribute node that verifies the user attribute and issues a one-time token to the user who has succeeded in the verification;
A smart contract distributed by an information subject, comprising: a first smart contract that encrypts personal information with an access policy managed by an attribute node and a public key distributed by a central node to generate a ciphertext and record it in a block chain;
As a smart contract distributed by information users, it requests access to the ciphertext of the block chain, receives the property verification from the property node according to the access request, receives a one-time token from the property node when verification is successful, and uses the one-time token a second smart contract that receives a secret key from the central node and decrypts the ciphertext using the secret key;
characterized in that it encrypts personal information based on the attribute, stores it in a distributed ledger, and decrypts the encrypted information,
The access policy is expressed as an access tree,
The access tree is an access right control system in a blockchain network, characterized in that it is expressed as an AND gate of a partial tree indicating the qualification attribute of the information user and the partial tree indicating the retention period for the personal information.
삭제delete 제1항에 있어서, 상기 속성 노드는 정보 이용자로부터의 암호문 접근 요청에 따라, 자격 속성과 타임 스탬프를 포함한 정보 이용자의 속성을 이용하여, 정보 이용자에 대한 일회용 토큰을 생성하고, 생성된 일회용 토큰을 정보 이용자 노드에게 전송하는 것을 특징으로 하는 블록체인 네트워크에서의 접근 권한 제어 시스템.According to claim 1, wherein the attribute node generates a one-time token for the information user by using the attribute of the information user, including the entitlement attribute and the time stamp, according to the ciphertext access request from the information user, and receives the generated one-time token. An access authority control system in a blockchain network, characterized in that it is transmitted to information user nodes. 복수 개의 노드들을 포함하는 블록체인 네트워크에서의 접근 권한 제어 시스템에 있어서,
사용자의 속성을 검증하여 검증에 성공하면 일회용 토큰을 발행하여 정보 주체에게 전송하는 속성 노드;
정보 주체에 의해 배포되는 스마트 컨트랙트로서, 사용자의 속성을 기반으로 한 접근 정책으로 데이터를 암호화하여 암호문을 생성하여 블록체인에 기록하는 제1 스마트 컨트랙트;
정보 이용자가 배포하는 스마트 컨트랙트로서, 블록체인의 암호문에 대한 접근을 요청하고, 상기 접근 요청에 따라 속성 노드로부터 일회용 토큰을 제공받고, 일회용 토큰을 이용하여 중앙노드로부터 비밀키를 제공받고, 상기 비밀키를 이용하여 암호문을 복호화하는 제2 스마트 컨트랙트;
을 구비하여, 속성을 기반으로 하여 개인 정보를 암호화하여 분산 원장에 저장하고 분산 원장의 암호문을 복호화하는 것을 특징으로 하며,
상기 접근 정책은 접근 트리로 표현되며,
상기 접근 트리는 정보 이용자의 자격 속성을 나타내는 부분 트리와 상기 개인 정보에 대한 보유 기간을 나타내는 부분 트리의 AND 게이트로 표현된 것을 특징으로 하는 블록체인 네트워크에서의 접근 권한 제어 시스템.
In the access authority control system in a block chain network including a plurality of nodes,
an attribute node that verifies the user's attributes and, if successful, issues a one-time token and transmits it to the information subject;
A smart contract distributed by an information subject, comprising: a first smart contract that encrypts data with an access policy based on user properties to generate a ciphertext and record it in a block chain;
As a smart contract distributed by information users, it requests access to the ciphertext of the block chain, receives a one-time token from the attribute node according to the access request, and receives a secret key from the central node using the one-time token, and the secret a second smart contract that decrypts the ciphertext using the key;
characterized in that it encrypts personal information based on the attribute, stores it in the distributed ledger, and decrypts the encrypted text of the distributed ledger,
The access policy is expressed as an access tree,
The access tree is an access right control system in a blockchain network, characterized in that it is expressed as an AND gate of a partial tree indicating the qualification attribute of the information user and the partial tree indicating the retention period for the personal information.
삭제delete 제4항에 있어서, 상기 속성 노드는,
정보 이용자 노드로부터의 암호문 접근 요청에 따라, 자격 속성과 타임 스탬프를 포함한 정보 이용자의 속성을 이용하여, 정보 이용자에 대한 일회용 토큰을 생성하고, 생성된 일회용 토큰을 정보 이용자 노드에게 전송하는 것을 특징으로 하는 블록체인 네트워크에서의 접근 권한 제어 시스템.
According to claim 4, wherein the attribute node,
In response to a request for access to ciphertext from the information user node, generating a one-time token for the information user by using the information user’s attributes including the qualification attribute and time stamp, and transmitting the generated one-time token to the information user node An access right control system in a blockchain network that
제4항에 있어서, 상기 접근 권한 제어 시스템은,
블록체인 네트워크를 구성하는 노드들 중 단일의 중앙 노드와 K개의 속성 노드들이 설정되며,
K개의 속성 노드들은 해당 속성 노드들에 포함된 사용자의 정보 요청에 따라 속성 검증을 수행하고 검증에 성공한 사용자에게는 일회용 토큰을 발행하는 것을 특징으로 하는 블록체인 네트워크에서의 접근 권한 제어 시스템.
According to claim 4, The access authority control system,
Among the nodes constituting the blockchain network, a single central node and K attribute nodes are set,
An access authority control system in a blockchain network, characterized in that the K attribute nodes perform attribute verification according to the user's request for information included in the attribute nodes, and issue a one-time token to the user who has succeeded in verification.
제7항에 있어서, 상기 중앙 노드는
1개의 시스템 공개키와 K개의 마스터키를 생성하고 이를 이용하여 K개의 속성 노드 비밀키들을 생성하며, 시스템 공개키를 이용하여 K개의 속성 노드 접근 트리들을 생성하고,
상기 중앙 노드는 상기 마스터키, 속성 노드 접근 트리, 속성 노드 비밀키를 상기 속성 노드에게 전달하는 것을 특징으로 하는 블록체인 네트워크에서의 접근 권한 제어 시스템.
The method of claim 7, wherein the central node is
One system public key and K master keys are generated, and K attribute node secret keys are generated using them, and K attribute node access trees are generated using the system public key,
The central node transmits the master key, the attribute node access tree, and the attribute node secret key to the attribute node.
중앙 노드, 속성 노드, 정보 주체에 의해 배포된 제1 스마트 컨트랙트 및 정보 이용자에 의해 배포된 제2 스마트 컨트랙트를 포함하는 블록체인 네트워크에서의 접근 권한 제어 방법에 있어서,
(a) 상기 중앙 노드가 공개키와 비밀키를 생성하는 단계;
(b) 속성 노드가 속성 노드 공개키를 생성하고, 속성 노드 접근 트리를 이용하여 사용자 속성에 대한 속성 암호문을 생성하여 제1 스마트 컨트랙트에게 전송하는 단계;
(c) 정보 주체가 제1 스마트 컨트랙트를 통해, 개인 정보를 속성 노드가 관리하는 접근 정책과 중앙 노드가 배포한 공개키로 암호화하여 블록체인에 기록하는 단계;
를 구비하여, 속성 기반으로 하여 개인 정보를 암호화하여 분산 원장에 저장하는 것을 특징으로 하는 블록체인 네트워크에서의 접근 권한 제어 방법.
A method for controlling access rights in a blockchain network including a central node, an attribute node, a first smart contract distributed by an information subject, and a second smart contract distributed by an information user, the method comprising:
(a) generating, by the central node, a public key and a private key;
(b) the attribute node generates an attribute node public key, generates an attribute cipher text for a user attribute using the attribute node access tree, and transmits it to the first smart contract;
(c) the information subject encrypting personal information through the first smart contract with the access policy managed by the attribute node and the public key distributed by the central node and recording it in the block chain;
A method for controlling access rights in a block chain network, characterized in that by having, encrypting personal information based on an attribute and storing it in a distributed ledger.
제9항에 있어서, 상기 접근 정책은 접근 트리로 표현되며,
상기 접근 트리는 정보 이용자의 자격 속성을 나타내는 부분 트리와 상기 개인 정보에 대한 보유 기간을 나타내는 부분 트리의 AND 게이트로 표현된 것을 특징으로 하는 블록체인 네트워크에서의 접근 권한 제어 방법.
The method of claim 9, wherein the access policy is expressed as an access tree,
The access tree is an access right control method in a blockchain network, characterized in that it is expressed as an AND gate of a partial tree indicating the qualification attribute of the information user and the partial tree indicating the retention period for the personal information.
제9항에 있어서, 상기 접근 권한 제어 방법은,
(d) 정보 이용자가 제2 스마트 컨트랙트를 통해, 블록체인의 암호문에 대한 접근을 속성 노드에게 요청하고, 상기 접근 요청에 따라 속성 노드로부터 일회용 토큰을 제공받고, 일회용 토큰을 이용하여 중앙노드로부터 비밀키를 제공받고, 상기 비밀키를 이용하여 암호문을 복호화하는 단계;
를 더 구비하는 것을 특징으로 하는 블록체인 네트워크에서의 접근 권한 제어 방법.
The method of claim 9, wherein the access right control method comprises:
(d) The information user requests access to the cryptographic text of the block chain from the attribute node through the second smart contract, receives a one-time token from the attribute node according to the access request, and uses the one-time token to secretly from the central node receiving a key and decrypting the encrypted text using the secret key;
Access authority control method in a block chain network, characterized in that it further comprises.
제11항에 있어서, 상기 속성 노드는,
정보 이용자에 의해 배포된 제2 스마트 컨트랙트를 통한 암호문 접근 요청에 따라, 자격 속성과 타임 스탬프를 포함한 정보 이용자의 속성을 이용하여, 정보 이용자에 대한 일회용 토큰을 생성하고, 생성된 일회용 토큰을 제2 스마트 컨트랙트에게 전송하는 것을 특징으로 하는 블록체인 네트워크에서의 접근 권한 제어 방법.
The method of claim 11, wherein the attribute node,
According to the request for access to the cryptogram through the second smart contract distributed by the information user, a one-time token is generated for the information user by using the information user’s attributes including the qualification attribute and the time stamp, and the generated one-time token is used as a second A method of controlling access rights in a blockchain network, characterized in that it is transmitted to a smart contract.
KR1020190151960A 2019-11-25 2019-11-25 Attribute-based access control system in a blockchain network and method thereof KR102342021B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190151960A KR102342021B1 (en) 2019-11-25 2019-11-25 Attribute-based access control system in a blockchain network and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190151960A KR102342021B1 (en) 2019-11-25 2019-11-25 Attribute-based access control system in a blockchain network and method thereof

Publications (2)

Publication Number Publication Date
KR20210063619A KR20210063619A (en) 2021-06-02
KR102342021B1 true KR102342021B1 (en) 2021-12-22

Family

ID=76372671

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190151960A KR102342021B1 (en) 2019-11-25 2019-11-25 Attribute-based access control system in a blockchain network and method thereof

Country Status (1)

Country Link
KR (1) KR102342021B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567639B (en) * 2022-03-03 2023-08-18 临沂大学 Lightweight access control system and method based on blockchain
CN114978771B (en) * 2022-07-26 2023-06-02 成都云智数安科技有限公司 Data security sharing method and system based on blockchain technology
CN116561786B (en) * 2023-06-14 2024-01-26 成都信息工程大学 Medical data classified encryption sharing method based on blockchain
CN116842573A (en) * 2023-07-25 2023-10-03 南京理工大学 Hierarchical encryption privacy protection method based on blockchain

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5076539B2 (en) 2007-02-16 2012-11-21 富士通株式会社 Encoding apparatus and encoding method
KR20140088437A (en) * 2013-01-02 2014-07-10 한국전자통신연구원 Method and apparatus for managing network state via encipherment and authentication
KR101982237B1 (en) 2017-03-06 2019-05-24 고려대학교 산학협력단 Method and system for data sharing using attribute-based encryption in cloud computing
KR102025409B1 (en) 2017-07-31 2019-09-25 서강대학교산학협력단 Data access management system based on blockchain and method thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hao Guo 외 2명, Multi-Authority Attribute-Based Access Control with Smart Contract, ICBCT 2019 (2019.03.)*
Joao Pedro Nunes dos Santos, IDENTITY MANAGEMENT IN HEALTHCARE USING BLOCKCHAIN TECHNOLOGY, MS thesis, UNIVERSIDADE DE EVORA (2018.)*

Also Published As

Publication number Publication date
KR20210063619A (en) 2021-06-02

Similar Documents

Publication Publication Date Title
KR102342021B1 (en) Attribute-based access control system in a blockchain network and method thereof
KR102025409B1 (en) Data access management system based on blockchain and method thereof
US20230087557A1 (en) System for privacy protection during iot secure data sharing and method thereof
US8423764B2 (en) Method and apparatus for key revocation in an attribute-based encryption scheme
US5214700A (en) Method for obtaining a securitized cleartext attestation in a distributed data processing system environment
CN101819612B (en) Versatile content control with partitioning
JP4975035B2 (en) Role-based access control with encryption
KR102307574B1 (en) Cloud data storage system based on blockchain and method for storing in cloud
CA2808369C (en) System for protecting an encrypted information unit
US11314847B2 (en) Method for electronically documenting license information
JP2007282295A (en) Cryptographic system and method with key escrow feature
JP6907144B2 (en) Access control system, access control method and access control program
CN101120352A (en) Memory system with universal content control
CN102906755A (en) Content control method using certificate revocation lists
US20020147917A1 (en) Distribution of secured information
JP3662828B2 (en) File encryption system
TW200820037A (en) Content control system and method using certificate chains
KR102014647B1 (en) Electronic voting method based on blockchain
KR100286904B1 (en) System and method for security management on distributed PC
US11480945B2 (en) Production device for production of an object for user permitted to print pre-defined number of copies of the object including encrypted token, and decrypted by the production device for determining user access right
KR102211937B1 (en) A System of the Role-based Data Protection by using of the Off-Chain Ledger on the Blockchain Network
WO2023135879A1 (en) Computer system and key exchange method
WO2007036862A2 (en) Secure management of content owned by multiple-persons
Vignesh et al. Secured Data Access and Control Abilities Management over Cloud Environment using Novel Cryptographic Principles
Bećirović et al. Blockchain Redaction in Self-Sovereign Identity

Legal Events

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