KR102025837B1 - Access control system with blockchain network and smart contract - Google Patents

Access control system with blockchain network and smart contract Download PDF

Info

Publication number
KR102025837B1
KR102025837B1 KR1020180140776A KR20180140776A KR102025837B1 KR 102025837 B1 KR102025837 B1 KR 102025837B1 KR 1020180140776 A KR1020180140776 A KR 1020180140776A KR 20180140776 A KR20180140776 A KR 20180140776A KR 102025837 B1 KR102025837 B1 KR 102025837B1
Authority
KR
South Korea
Prior art keywords
access
record
system server
smart contract
user
Prior art date
Application number
KR1020180140776A
Other languages
Korean (ko)
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 KR1020180140776A priority Critical patent/KR102025837B1/en
Application granted granted Critical
Publication of KR102025837B1 publication Critical patent/KR102025837B1/en

Links

Images

Classifications

    • G07C9/00031
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00571Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72522
    • H04L2209/38
    • 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

Abstract

The present invention relates to a blockchain network and an access control system with a smart contract using the same. The access control system using the access control system including the blockchain network to verify the user′s authentication information for the user′s access request and manage an access control record comprises: a user terminal requesting a door access approval by a user; a system server checking an access authority from the received authentication information of the user according to the access request of the user terminal, and when the access request is approved, providing an approval signal to a door control device and storing an access record of the user; a blockchain network storing a hash value of the access record of the user received from the system server; and a manager terminal requesting the access control record to be viewed with the administrator authentication information to the system server, and receiving and confirming the access control record from the system server. Thus, the present invention can minimize the size of data stored on the blockchain and reduce costs.

Description

블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템{Access control system with blockchain network and smart contract}Blockchain network and access control system with smart contract using it {Access control system with blockchain network and smart contract}

본 발명은 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에 관한 것으로, 상세하게는 블록체인과 스마트컨트랙트 기반을 통해 사용자의 출입통제를 관리하고 운영하는 출입통제 시스템에 관한 것이다.The present invention relates to a blockchain network and an access control system using a smart contract using the same, and more particularly, to an access control system for managing and operating an access control of a user through a blockchain and a smart contract.

최근 많은 기업에서는 외부인의 출입을 통제하거나 사용자의 출입을 관리하기 위해서 출입통제 시스템을 설치하고 있으며, 기업의 비밀보호 등을 이유로 직원들의 출입 또한 선택적으로 제한하기 위해 출입통제 수단을 강화하고 있다.In recent years, many companies have installed access control systems to control outsiders' access or manage users' access, and have strengthened access control measures to selectively restrict employees' access to employees for reasons of corporate secret protection.

따라서 모든 출입자들은 출입카드를 지참하거나 미리 설정된 비밀번호를 기억하거나 또는 소정의 확인수단을 소지해야만 자유로운 출입이 가능하게 되며 어떤 경우는 출입할 때마다 허가가 있어야만 한다. 이와 같은 종래기술은 출입자 확인수단을 보유하고 있을 경우에 출입자확인수단에 의해 기억장치에 기억된 값과의 일치여부를 판단하여 출입문제어부에 의해 출입문을 열어주게 된다. 출입자확인수단을 보유하고 있지 않거나 방문자일 경우에는 출입통제단말기의 키입력부를 통하여 내부사용자의 내선번호를 눌러 사용자와 통화가 이루어지면 사용자는 내부 전화기를 통하여 출입통제단말기를 원격제어하기 위한 버튼을 누르면 출입문제어부에서 내부 전화기의 입력 신호를 검출하여 출입문을 열수 있도록 구성되어 출입문 통제를 철저하게 관리하고 있는 실정이다.Therefore, all accessors must have an access card, remember a preset password, or have a certain verification means to be freely accessible. In some cases, permission must be obtained every time they enter. In the conventional art, when the accessor identification means is provided, the accessor identification means determines whether the value matches the value stored in the storage device, and opens the door by the access problem fisherman. If the user does not have access control means or is a visitor, if the call is made with the user by pressing the extension number of the internal user through the key input unit of the access control terminal, the user presses a button for remotely controlling the access control terminal through the internal telephone. It is configured to open the door by detecting the input signal of the internal telephone from the access problem fisherman, and manages the door control thoroughly.

한편, 최근 세계적으로 확산되고 있는 블록체인 기술은 불변하고 영구적인 방식으로 데이터를 저장하는 데 사용될 수 있다. 블록체인 기술은 트랜잭션들로 이루어진 블록들로 이루어진 컴퓨터 기반 비집중 분산형 시스템으로서 구현된 컨센서스 기반의 전자 원장이다. 각 트랜잭션은 블록체인 시스템의 참여자들 간에 데이터 전달을 인코딩하는 데이터 구조이며, 적어도 하나의 입력과 적어도 하나의 출력을 포함한다. 각 블록은, 트랜잭션의 시작부터 블록체인에 기입된 모든 트랜잭션의 영구적이고 불변인 기록을 생성하도록 블록들이 함께 체인 연결되는 것에 대한 이전 블록의 해쉬값을 포함한다.On the other hand, blockchain technology, which is spreading worldwide recently, can be used to store data in an immutable and permanent manner. Blockchain technology is a consensus-based electronic ledger implemented as a computer-based decentralized distributed system of blocks of transactions. Each transaction is a data structure that encodes data transfer between participants in a blockchain system and includes at least one input and at least one output. Each block contains a hash value of the previous block for which the blocks are chained together to create a permanent and immutable record of all transactions written to the blockchain since the beginning of the transaction.

앞서 언급한 바와 같이 현재 적용되고 있는 출입문 통제 시스템은 출입기록을 내부적으로 관리하는 중앙집중형 방식으로써, 사용자의 출입정보가 쉽게 노출되거나 외부에 의해 위변조가 쉽게 가능하여 출입기록의 신뢰성에 한계가 따르는 단점이 있다.As mentioned above, the door control system currently applied is a centralized method of managing access records internally, and the access information of the user can be easily exposed or forged by the outside, which limits the reliability of the access records. There are disadvantages.

KR 10-0682485호 KR 10-1595413호KR 10-0682485 Issue KR 10-1595413 KR 10-1223899호 KR 10-1541145호 KR 10-2015-0115766호KR 10-1223899 KR 10-1541145 KR 10-2015-0115766

상기와 같은 문제점을 해결하기 위한 본 발명은 출입문 통제 시스템을 구현함에 있어서, 출입통제 기록(출입기록, 출입기록의 열람기록, 출입권한 변경기록 등)을 해쉬값으로 변환하여 블록체인 기반으로 저장함에 따라 출입통제 기록의 위변조가 불가능하고 출입기록을 암호화하여 열람하여도 출입기록을 확인할 수 없도록 보안을 강화하고 사용자가 관리자에게 자신의 출입기록의 열람 권한을 부여할 수 있어서 출입기록을 스스로 관리할 수 있게 하는데 목적이 있다.In order to solve the above problems, the present invention implements a door control system, and converts access control records (access records, access records of access records, access permission records, etc.) into hash values and stores them on a blockchain basis. Therefore, it is impossible to forgery the access control record, strengthen the security so that access record can not be checked even if the access record is encrypted and read, and the user can give the administrator the right to view his / her access record so that the access record can be managed by himself. It is intended to be.

또한, 본 발명은 출입통제 기록을 그룹화하고 해쉬값으로 변환하여 블록체인에 그룹별로 하나의 머클루트를 저장함에 따라 블록체인에 저장되는 데이터의 크기를 줄이고 비용을 절감시킬 수 있는 출입통제 시스템을 제공하고자 하는데 목적이 있다.In addition, the present invention provides an access control system that can reduce the size of the data stored in the block chain by reducing the size of the data stored in the block chain by grouping the access control records and converting them into a hash value to store one Mercule per group in the block chain There is a purpose.

상기와 같은 목적을 달성하기 위한 본 발명은, 블록체인 네트워크를 포함하는 출입통제 시스템을 사용하여 사용자의 출입 요청에 대해 사용자의 인증정보를 검증하고 출입통제 기록을 관리하는 출입통제 시스템에 있어서, 상기 사용자에 의해 출입문 출입 승인을 요청하는 사용자단말기, 상기 사용자단말기의 출입요청에 따라 수신받은 사용자의 인증정보로부터 출입권한을 확인하여 출입요청이 승인된 경우 출입문 제어장치로 승인신호를 제공하고 사용자의 출입기록을 저장하는 시스템서버, 상기 시스템서버로부터 수신된 사용자의 출입기록에 대한 해쉬값을 저장하는 블록체인 네트워크 및 관리자 인증정보와 함께 열람하고 싶은 출입통제 기록을 상기 시스템서버에 요청하고 이로부터 해당 출입통제 기록을 수신하여 확인하는 관리자단말기를 포함하여 구성된다.The present invention for achieving the above object, in the access control system for verifying the authentication information of the user for the access request of the user using an access control system including a blockchain network and manages the access control record, Check the access authority from the user terminal requesting the door access approval by the user and the user's authentication information received according to the access request of the user terminal, and if the access request is approved, provide the approval signal to the door controller and enter the user's access. Requests the access control record to be viewed along with the system server storing the record, the blockchain network storing the hash value of the access record of the user received from the system server, and the administrator authentication information from the system server. The administrator terminal that receives and checks the control record It is configured to hereinafter.

또한, 상기 시스템서버는, 출입기록을 그룹화하여 상기 그룹별 출입기록과 출입기록의 해쉬값, 그리고 그룹의 머클트리를 저장하고, 상기 블록체인 네트워크는 상기 그룹의 머클루트를 저장한다.The system server may group the access records to store the access records for each group, a hash value of the access records, and a merkle tree of the group, and the blockchain network stores the mercury of the group.

또한, 상기 시스템서버는, 상기 관리자단말기로부터 출입기록 열람 요청이 발생한 경우 상기 시스템서버에 출입기록의 열람 요청과 관리자 인증정보를 전송하고, 출입기록의 열람기록을 그룹화하여 상기 그룹별 출입기록의 열람기록과 출입기록의 열람기록의 해쉬값, 그룹의 머클트리를 저장한다.In addition, the system server, when the access record reading request from the administrator terminal occurs, and transmits the access request for access record and administrator authentication information to the system server, the access record for each group by reading the access record of the group by group Stores hash value of record, access record of access record and group tree of group.

또한, 상기 시스템서버는, 상기 관리자단말기로부터 출입권한 변경 요청이 발생한 경우 상기 시스템서버에 출입권한 변경 요청과 관리자 인증정보를 전송하고, 출입권한 변경기록을 그룹화하여 상기 그룹별 출입권한 변경기록과 출입권한 변경기록의 해쉬값, 그룹의 머클트리를 저장한다.In addition, the system server, when an access right change request from the administrator terminal occurs, transmits an access right change request and administrator authentication information to the system server, and group the access rights change record to group the access right change record and access by the group Stores hash value of authority change record and group tree of group.

또한, 상기 시스템서버는, 상기 관리자단말기로부터 출입기록의 위변조 확인 요청이 있는 경우, 상기 블록체인 네트워크로부터 출입기록의 해쉬값을 전송받아 상기 시스템서버에 저장되어 있는 출입기록으로부터 해쉬값을 계산하고, 상기 블록체인 네트워크로부터 전송받은 해쉬값과 비교하여 출입통제 기록의 위변조 여부를 확인하고, 상기 관리자단말기로 위변조 여부 확인 메시지를 전송한다.The system server may receive a hash value of the access record from the blockchain network and calculate a hash value from the access record stored in the system server when a request for forgery confirmation of access record is received from the administrator terminal. Compare the hash value received from the blockchain network to check whether the access control record forgery, and transmits a forgery confirmation message to the administrator terminal.

또한, 상기 시스템서버는, 상기 관리자단말기로부터 출입통제 기록의 위변조 확인 요청이 있는 경우, 상기 블록체인 네트워크에 출입통제 기록(출입기록, 출입기록의 열람기록, 출입권한 변경기록)의 머클루트를 요청하고 전송받은 다음 상기 시스템서버에 저장되어 있는 출입통제 기록으로부터 해쉬값을 계산하고 상기 계산된 해쉬값과 상기 시스템서버에 저장되어 있는 해쉬값을 비교하여 동일여부를 판단하고, 동일할 때는, 상기 해쉬값과 머클트리로부터 머클루트를 계산한 다음 상기 블록체인 네트워크로부터 전송받은 머클루트와 비교하여 출입통제 기록의 위변조 여부를 확인하고, 상기 관리자단말기로 위변조 여부 확인 메시지를 전송한다.In addition, the system server, when there is a request for forgery confirmation of the access control record from the administrator terminal, requests the Mercule of the access control record (access record, access record, access record change record) to the blockchain network And after receiving the transmission, calculate a hash value from the access control record stored in the system server, compare the calculated hash value with the hash value stored in the system server, and determine whether or not it is the same. After calculating the Mercule from the value and the Merkle Tree, and comparing the Mercule received from the blockchain network to check whether the access control record forgery, and transmits a forgery confirmation message to the administrator terminal.

또한, 스마트컨트랙트(smart contract)를 포함하는 출입통제 시스템을 사용하여 사용자의 출입 요청에 대해 사용자의 인증정보를 검증하고 출입통제 기록을 관리하는 출입통제 시스템에 있어서, 상기 사용자에 의해 출입문 출입 승인을 요청하는 사용자단말기, 상기 사용자단말기의 출입요청에 따라 수신받은 사용자의 인증정보로부터 출입권한을 확인하여 출입요청이 승인된 경우 출입문 제어장치로 승인신호를 제공하며, 암호화 키와 해당 암호화 키에 대응되는 복호화 키를 구비하여 사용자의 출입기록을 암호화하고, 암호화된 출입기록을 그룹화하여 저장하고 상기 암호화된 출입기록의 해쉬값과 그룹의 머클트리를 저장하는 시스템서버, 상기 시스템서버로부터 수신된 암호화된 출입기록의 복호화 키와 그룹의 머클루트를 저장하는 스마트컨트랙트 및 관리자 인증정보와 함께 열람하고 싶은 출입통제 기록을 상기 시스템서버에 접속하여 요청하고 이로부터 해당 출입통제 기록을 수신하여 확인하는 관리자단말기를 포함하여 구성되고, 상기 시스템서버는 상기 관리자단말기로부터 출입기록의 열람 요청이 발생하면 관리자권한을 확인하고 상기 스마트컨트랙트에게 출입기록의 복호화 키를 요청하며 열람조건을 만족할 경우 상기 스마트컨트랙트로부터 복호화 키를 전송받고, 암호화된 출입기록을 복호화하여 출입기록을 상기 관리자단말기로 전송한다.In addition, in the access control system that uses the access control system including a smart contract (verbal contract) to verify the user's authentication information for the user's access request and manages the access control record, the door access approval by the user The requesting user terminal checks the access authority from the authentication information of the user received according to the access request of the user terminal, and when the access request is approved, provides an approval signal to the door controller, and corresponds to the encryption key and the corresponding encryption key. A system server for encrypting a user's access record with a decryption key, grouping and storing the encrypted access record, and storing a hash value of the encrypted access record and a merkle tree of the group, and an encrypted access received from the system server. A smart contract that stores the decryption key of the record and the merlute of the group And an administrator terminal for accessing and requesting an access control record to be accessed with the administrator authentication information and receiving and confirming the access control record therefrom, wherein the system server records the access control from the administrator terminal. Check the authority and request the decryption key of the access record to the smart contract, and if the read condition is satisfied, the decryption key is received from the smart contract, and the access record is decrypted by decrypting the encrypted access record. Send to the terminal.

또한, 상기 사용자단말기는 상기 스마트컨트랙트에 접속 가능한 프로그램을 저장하고 있으며, 상기 시스템서버에 접속한 상기 관리자단말기가 출입기록의 열람 권한이 없는 경우, 상기 시스템서버는 상기 사용자단말기에게 출입기록 열람 권한을 요청하고, 상기 사용자단말기는 출입기록의 복호화 키를 관리자가 열람할 수 있도록 상기 스마트컨트랙트에게 열람조건을 변경하도록 요청하는 한편 상기 시스템서버에 열람 승인을 통보함에 따라, 상기 시스템서버는 상기 스마트컨트랙트에게 출입기록의 복호화 키를 요청하여 열람조건을 만족할 경우 상기 스마트컨트랙트로부터 출입기록의 복호화 키를 전송받고, 암호화된 출입기록을 복호화하여 출입기록을 상기 관리자단말기로 전송한다.In addition, the user terminal stores a program accessible to the smart contract, and if the administrator terminal connected to the system server does not have the right to view the access record, the system server grants the user terminal the right to view the access record. And the user terminal requests the smart contract to change the reading condition so that the administrator can view the decryption key of the access record, and notifies the system server of the read approval, and the system server sends the smart contract to the smart contract. When the decryption key of the access record is requested and the reading condition is satisfied, the decryption key of the access record is received from the smart contract, the encrypted access record is decrypted, and the access record is transmitted to the manager terminal.

또한, 상기 관리자단말기 중에서 강제 열람 권한을 갖는 관리자단말기가 상기 시스템서버에게 출입기록의 강제 열람을 요청한 경우, 상기 시스템서버는 상기 스마트컨트랙트에게 출입기록의 강제 열람 기록을 저장하도록 하는 한편 출입기록의 복호화 키를 요청하면, 상기 스마트컨트랙트는 상기 강제 열람 요청에 한하여 출입기록의 복호화 키를 상기 시스템서버에 전송하고, 상기 복호화 키를 전송받은 상기 시스템서버는 강제 열람 기록을 상기 사용자단말기에 전송하고, 암호화된 출입기록을 복호화하여 출입기록을 상기 관리자단말기로 전송한다.In addition, when an administrator terminal having a compulsory reading authority among the administrator terminals requests the system server to read the access record forcibly, the system server causes the smart contract to store the compulsory reading record of the access record while decrypting the access record. Upon requesting the key, the smart contract transmits the decryption key of the access record to the system server only for the compulsory reading request, and the system server receiving the decryption key transmits the compulsory reading record to the user terminal and encrypts it. The access record is decrypted and the access record is transmitted to the administrator terminal.

또한, 상기 시스템서버는, 상기 관리자단말기로부터 출입기록의 위변조 확인 요청이 있는 경우, 상기 스마트컨트랙트에 암호화된 출입기록의 머클루트를 요청하고 전송받은 다음 상기 시스템서버에 저장되어 있는 암호화된 출입기록으로부터 해쉬값을 계산하고 상기 계산된 해쉬값과 상기 시스템서버에 저장되어 있는 해쉬값을 비교하여 동일여부를 판단하고, 동일할 때는 상기 해쉬값과 머클트리로부터 머클루트를 계산한 다음 상기 스마트컨트랙트로부터 전송받은 머클루트와 비교하여 출입기록의 위변조 여부를 확인하고, 상기 관리자단말기로 위변조 여부 확인 메시지를 전송한다.In addition, when there is a request for forgery confirmation of access record from the administrator terminal, the system server requests and transmits the mercury of the encrypted access record to the smart contract, and then receives the encrypted access record from the encrypted access record stored in the system server. Calculate the hash value and compare the calculated hash value with the hash value stored in the system server to determine whether it is the same, and if it is the same, calculate the Mercut from the hash value and the Merkle tree, and then send it from the smart contract. It checks whether the access record is forged or not compared with the received Mercule, and transmits a forgery confirmation message to the manager terminal.

상기와 같이 구성되고 작용되는 본 발명은 블록체인 네트워크 및 스마트컨트랙트(스마트 계약)를 적용하여 출입통제 시스템을 구성함에 따라 위변조가 불가능하고 암호화 저장을 통해 보안을 강화할 수 있으며 사용자가 관리자에게 자신의 출입기록의 열람 권한을 부여할 수 있어서 출입기록을 스스로 관리할 수 있는 효과가 있다.The present invention configured and operated as described above is a forgery and impossibility of forgery and security through encryption storage by configuring the access control system by applying the blockchain network and smart contract (smart contract), and the user can access his / her administrator to the administrator. Since the authority to view the record can be given, the access record can be managed by yourself.

또한, 본 발명은 출입통제 기록을 그룹화하고 해쉬값으로 변환하여 블록체인에 그룹별로 하나의 머클루트를 저장함에 따라 블록체인에 저장되는 데이터의 크기를 줄이고 비용을 절감시킬 수 있는 효과가 있다.In addition, the present invention has the effect of reducing the size of the data stored in the block chain by reducing the cost by storing a single group in each block in the block chain by grouping the access control records and converted to a hash value.

따라서, 본 발명은 블랙체인 네트워크 및 스마트컨트랙트 기반으로 구성함에 따라 출입통제 기록에 대한 위변조가 불가능하기 때문에 출입정보의 신뢰성을 확보할 수 있고, 나아가 정보화시대에 따른 개인정보 보호를 통해 만족도 높은 출입통제 시스템을 구현할 수 있는 장점이 있다.Therefore, since the present invention is based on the black chain network and smart contract, forgery of the access control record is impossible, it is possible to secure the reliability of access information, and furthermore, the access control with high satisfaction through personal information protection according to the information age. There is an advantage to implementing a system.

도 1은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템의 전체 구성도,
도 2는 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템의 구성도,
도 3은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 출입기록 저장 과정의 흐름도,
도 4는 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 출입기록 열람 과정의 흐름도,
도 5는 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 출입권한 변경 과정의 흐름도,
도 6은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 출입통제 기록의 위변조 여부 확인 과정의 흐름도,
도 7은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 출입기록의 암호화 및 저장 과정의 흐름도,
도 8은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 암호화된 출입기록 열람 과정의 흐름도,
도 9는 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 암호화된 출입기록의 열람 권한 요청 및 열람 과정의 흐름도,
도 10은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 암호화된 출입기록의 강제 열람 과정의 흐름도,
도 11은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 암호화된 출입기록의 위변조 여부 확인 과정의 흐름도.
1 is an overall configuration diagram of an access control system to which a block chain network and a smart contract using the same according to the present invention,
2 is a block diagram of a blockchain network and an access control system using a smart contract using the same according to the present invention;
3 is a flow chart of an access record storage process in a blockchain network and an access control system to which a smart contract using the same according to the present invention;
4 is a flow chart of an access record reading process in a blockchain network and an access control system to which a smart contract using the same according to the present invention;
5 is a flowchart of a process for changing access rights in a blockchain network and an access control system to which smart contracts using the same according to the present invention;
6 is a flowchart of a process of checking forgery of an access control record in a blockchain network and an access control system to which a smart contract using the same according to the present invention;
7 is a flowchart illustrating a process of encrypting and storing access records in a blockchain network and an access control system to which a smart contract using the same according to the present invention;
8 is a flowchart illustrating an encrypted access record reading process in a blockchain network and an access control system to which a smart contract using the same according to the present invention;
9 is a flowchart illustrating a request for viewing authority and reading process of an encrypted access record in a blockchain network and an access control system to which a smart contract using the same according to the present invention;
10 is a flowchart of a forced reading process of an encrypted access record in a blockchain network and an access control system to which a smart contract using the same according to the present invention;
11 is a flowchart of a process for checking whether a forged access record is encrypted in an access control system to which a block chain network and a smart contract using the same according to the present invention are applied.

이하, 첨부된 도면을 참조하여 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템의 바람직한 실시예를 상세히 설명하면 아래와 같다.Hereinafter, a preferred embodiment of a blockchain network according to the present invention and an access control system to which a smart contract using the same according to the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 블록체인 네트워크를 포함하는 출입통제 시스템을 사용하여 사용자의 출입 요청에 대해 사용자의 인증정보를 검증하고 출입통제 기록을 관리하는 출입통제 시스템에 있어서, 상기 사용자에 의해 출입문 출입 승인을 요청하는 사용자단말기, 상기 사용자단말기의 출입요청에 따라 수신받은 사용자의 인증정보로부터 출입권한을 확인하여 출입요청이 승인된 경우 출입문 제어장치로 승인신호를 제공하고 사용자의 출입기록을 저장하는 시스템서버, 상기 시스템서버로부터 수신된 사용자의 출입기록에 대한 해쉬값을 저장하는 블록체인 네트워크 및 관리자 인증정보와 함께 열람하고 싶은 출입통제 기록을 상기 시스템서버에 요청하고 이로부터 해당 출입통제 기록을 수신하여 확인하는 관리자단말기를 포함하여 구성된다.The present invention provides an access control system for verifying authentication information of a user for an access request of a user using an access control system including a blockchain network and managing access control records, wherein the user requests access approval for a door access by the user. A system server for checking an access right from user authentication information received according to an access request of the user terminal and providing an approval signal to a door control device and storing an access record of the user when the access request is approved. An administrator terminal that requests the system server for access control records to be viewed along with the blockchain network and administrator authentication information that stores the hash value of the user's access records received from the server, and receives and confirms the access control records therefrom. It is configured to include.

또한, 스마트컨트랙트(smart contract)를 포함하는 출입통제 시스템을 사용하여 사용자의 출입 요청에 대해 사용자의 인증정보를 검증하고 출입통제 기록을 관리하는 출입통제 시스템에 있어서, 상기 사용자에 의해 출입문 출입 승인을 요청하는 사용자단말기, 상기 사용자단말기의 출입요청에 따라 수신받은 사용자의 인증정보로부터 출입권한을 확인하여 출입요청이 승인된 경우 출입문 제어장치로 승인신호를 제공하며, 암호화 키와 해당 암호화 키에 대응되는 복호화 키를 구비하여 사용자의 출입기록을 암호화하고, 암호화된 출입기록을 그룹화하여 저장하고 상기 암호화된 출입기록의 해쉬값과 그룹의 머클트리를 저장하는 시스템서버, 상기 시스템서버로부터 수신된 암호화된 출입기록의 복호화 키와 그룹의 머클루트를 저장하는 스마트컨트랙트 및 관리자 인증정보와 함께 열람하고 싶은 출입통제 기록을 상기 시스템서버에 요청하고 이로부터 해당 출입통제 기록을 수신하여 확인하는 관리자단말기를 포함하여 구성되고, 상기 관리자단말기로부터 출입기록의 열람 요청이 발생하면 상기 시스템서버에서 관리자권한을 확인하고 출입기록의 복호화 키를 상기 스마트컨트랙트에 요청하여 열람조건을 만족할 경우 복호화 키를 전송받는다.In addition, in the access control system that uses the access control system including a smart contract (verbal contract) to verify the user's authentication information for the user's access request and manages the access control record, the door access approval by the user The requesting user terminal checks the access authority from the authentication information of the user received according to the access request of the user terminal, and when the access request is approved, provides an approval signal to the door controller, and corresponds to the encryption key and the corresponding encryption key. A system server for encrypting a user's access record with a decryption key, grouping and storing the encrypted access record, and storing a hash value of the encrypted access record and a merkle tree of the group, and an encrypted access received from the system server. A smart contract that stores the decryption key of the record and the merlute of the group And an administrator terminal for requesting the access control record to be viewed with the administrator authentication information to the system server, and receiving and confirming the access control record therefrom, wherein a request for access to the access record is generated from the administrator terminal. The system server checks the administrator's authority and requests the decryption key of the access record to the smart contract to receive the decryption key if the reading condition is satisfied.

본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템은, 블록체인 네트워크 기반의 출입통제 기록 관리 시스템과 블록체인 네트워크 상에 스마트컨트랙트 기반의 출입기록 관리 시스템을 제공하고자 하는데 목적이 있다.The blockchain network and the access control system using the smart contract using the same according to the present invention are to provide a blockchain network-based access control record management system and a smart contract-based access record management system on the blockchain network. have.

본 발명에 따른 출입통제 시스템은 본 발명은 출입문 통제 시스템을 구현함에 있어서, 출입통제 기록(출입기록, 출입기록의 열람기록, 출입권한 변경기록 등)을 해쉬값으로 변환하여 블록체인 기반으로 저장함에 따라 기록의 위변조가 불가능하고 출입기록을 암호화함에(스마트컨트랙트 기반) 따라 열람하여도 출입기록에 관한 정보를 확인할 수 없도록 구성함에 목적이 있다.In the present invention, the access control system according to the present invention implements the door control system, and converts the access control record (entry record, access record of the access record, access permission change record, etc.) into a hash value and stores it on a blockchain basis. Accordingly, the purpose is to configure the record so that the information about the access record cannot be confirmed even if the record is impossible to be forged and the access record is encrypted (based on the smart contract).

블록체인(blockchain)은 데이터 정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌 P2P 네트워크에 분산하여, 네트워크에 참여한 컴퓨팅장치가 공동으로 기록하고 관리하는 기술이다. 기존 시스템은 임의의 중앙관리자가 있어 쌍방 간의 데이터를 확정하고 청산하며 거래기록을 보관하는 역할을 했지만, 블록체인은 궁극적으로 이러한 중앙관리자의 역할을 불필요하게 만들어 시스템의 인프라 비용이 적고, 블록체인에 참여한 컴퓨팅장치가 많을수록 데이터의 무결성이 증대되는 장점도 있다.Blockchain is a technology in which the ledger that records data information is distributed to P2P networks rather than a central server of a specific institution, and jointly recorded and managed by the computing devices participating in the network. Existing system had arbitrary central managers to confirm and clear data between both parties and keep transaction records.But blockchain ultimately makes these central managers unnecessary, so system infrastructure cost is low and The more participating computing devices, the greater the integrity of the data.

또한, 본 발명에서 설명되는 스마트컨트랙트(smart contract : 스마트 계약)는 블록체인 기술기반을 이용하여 상호 합의이행 및 검증과정이 네트워크로 자동화되는 것이다. 이해 당사자간 공유 네트워크를 통해 계약과 계약 결과에 대한 신뢰를 쌓아 나가는 기반 하에 자동화된 계약처리 형태로 네트워크에 참여하는 컴퓨팅장치 모두가 공동으로 거래 정보를 검증, 기록, 보관한다. 좀 더 구체적으로는 블록체인 기술을 이용하여 계약 또는 협상의 실행 및 시행을 수행할 수 있는 프로그램 코드를 말한다. In addition, the smart contract (smart contract) described in the present invention is that the mutual agreement implementation and verification process is automated to the network using a blockchain technology base. On the basis of building trust in the contract and the outcome of the contract through a shared network between stakeholders, all the computing devices participating in the network in the form of automated contract processing jointly verify, record and store transaction information. More specifically, it refers to program code that can execute the execution and enforcement of contracts or negotiations using blockchain technology.

도 1과 도 2는 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템의 전체 구성도이다.1 and 2 is a block diagram of the blockchain network according to the present invention and the access control system to which the smart contract using the same is applied.

본 발명은 크게 출입문 출입 승인을 요청하는 사용자단말기(300)와, 상기 사용자단말기의 출입요청을 수신받아 출입문 제어장치(100)로 승인신호를 제공하여 출입문(미부호)를 개방하는 시스템서버(400)와, 상기 시스템서버로부터 수신된 사용자의 출입통제 기록의 해쉬값을 저장하는 블록체인 네트워크(200) 및 관리자가 운영하는 관리자단말기(500)로 구성된다.The present invention is a system server 400 for opening a door (unsigned) by receiving an access request from the user terminal 300 and the access request from the user terminal and greatly providing an approval signal to the door control apparatus 100. ), And a blockchain network 200 that stores a hash value of a user's access control record received from the system server, and an administrator terminal 500 operated by an administrator.

또한, 본 발명에 따른 출입통제 시스템에서는 출입문 제어장치(100)에 대하여 사용자의 출입기록, 출입기록의 열람기록, 출입권한 변경기록 등 출입통제 기록의 운영, 출입통제 기록의 무결성 확인(위변조 확인)과 같은 전반적인 출입 운영에 관한 프로세스를 블록체인 기반과 스마트컨트랙트가 적용된 프로세스를 포함한다.In addition, in the access control system according to the present invention for the door control device 100, the operation of the access control record, such as the access record, access record of the access record, access authority change record, check the integrity of the access control record (forgery confirmation) Processes related to overall access operation such as blockchain-based and smart contract are applied.

본 발명에서 사용자단말기(300)는 사용자가 휴대하는 스마트 기기(스마트폰) 또는 사용자가 접근하여 출입문을 통과하고자 할 때 행위하는 조작 장치(비밀번호 입력, 지문입력, 태그 스캐닝 등)에 해당하며, 출입문 제어장치(100)에서 출입문 개폐를 제어할 수 있도록 시스템이 구성된다. 상기 출입문 제어장치(100)라 하면, 출입문의 개방 여부를 통제하는 통제 장치에 해당한다.In the present invention, the user terminal 300 corresponds to a smart device (smartphone) that the user carries or an operation device (password input, fingerprint input, tag scanning, etc.) that acts when the user approaches and passes the door. The system is configured to control the door opening and closing in the control device (100). The door control device 100 corresponds to a control device for controlling whether the door is open.

도 3 내지 도 11은 사용자의 출입기록 저장 과정에서부터 관리자가 운영하는 시스템의 프로세스를 도식화한 도면이다. 도 3은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 출입기록 저장 과정의 흐름도이다.3 to 11 are diagrams illustrating a process of a system operated by an administrator from a process of storing access records of a user. 3 is a flow chart of the access record storage process in the access control system to which the block chain network and smart contract using the same according to the present invention.

출입통제 시스템은 사용자의 출입 요청에 따라 출입문 개폐요청이 발생하게 되면, 사용자단말기에서 시스템서버로 사용자 인증정보를 전송한다. 상기 시스템서버는 사용자 인증정보로부터 출입권한이 있는지 여부를 확인하여 권한이 있을 경우에 출입문 제어장치로 개방 신호를 전송하여 출입문이 개폐되도록 제어한다.The access control system transmits user authentication information from the user terminal to the system server when a door opening / closing request is generated according to a user's access request. The system server checks whether there is an access right from the user authentication information and transmits an open signal to the door control device if there is authority to control the door to be opened and closed.

상기 시스템서버는 상기 사용자단말기로부터 전송받은 상기 사용자 인증정보와 상기 시스템서버에 저장되어 있는 사용자 인증정보의 일치 여부를 판단하여 사용자의 출입권한을 확인한다. The system server determines whether the user authentication information transmitted from the user terminal matches the user authentication information stored in the system server and confirms the access right of the user.

여기서, 상기 시스템서버(400)는, 일정기준에 따라 출입기록을 저장하게 되는데, 본 발명에서는 출입기록, 출입기록의 열람기록, 출입권한 변경기록 등 출입통제 정보를 구분하며, 이를 통칭하여 "출입통제 기록"이라고 출입에 따른 전반적인 데이터를 통칭한다. 상기 시스템서버는 출입통제 기록을 일정 기준에 따라 그룹화하고 그룹별 출입통제 기록과 이 기록에 대한 해쉬값, 그룹에 대한 머클트리를 저장한다. 그 후 그룹별 머클루트는 블록체인 네트워크에 저장되도록 시스템은 구현된다.Here, the system server 400 is to store the access record according to a certain standard, in the present invention, the access control information such as access record, access record reading record, access authority change record, etc., and collectively referred to as "entry access" "Control records" collectively refers to the overall data of access. The system server groups the access control records according to a predetermined criterion, and stores the access control records for each group, a hash value for the records, and a merkle tree for the group. The system is then implemented so that group-specific merclutes are stored in the blockchain network.

상기 시스템서버는 상기 머클루트를 데이터로 포함하는 트랜잭션을 생성하여 블록체인 네트워크에 전파하는 방법을 통하여 블록체인 네트워크에 머클루트를 저장한다. 상기 시스템서버는 상기 그룹별로 상기 트랜잭션의 트랜잭션ID 또는 상기 트랜잭션을 생성하는데 사용한 블록체인 주소를 저장하고 있다. 상기 블록체인 네트워크에서 상기 트랜잭션ID 또는 상기 블록체인 주소를 검색하면 블록체인 네트워크에 저장된 해당 머클루트를 확인할 수 있다.The system server generates a transaction including the Mercule as data and stores the Mercule in the blockchain network through a method of propagating the transaction to the blockchain network. The system server stores the transaction ID of the transaction or the blockchain address used to generate the transaction for each group. When the transaction ID or the blockchain address is searched for in the blockchain network, the corresponding mercruit stored in the blockchain network can be checked.

상기 트랜잭션ID 또는 상기 블록체인 주소는 상기 블록체인 네트워크에서 해당 트랜잭션을 특정하기 위해서 사용되는 정보로 상기 시스템서버는 상기 트랜잭션ID와 상기 블록체인 주소 중 하나만 저장하고 있어도 무방하다. 상기 트랜잭션ID를 알면 블록체인 네트워크에서 상기 트랜잭션을 확인하여 상기 블록체인 주소를 확인할 수 있고 상기 블록체인 주소를 알면 상기 트랜잭션ID를 확인할 수 있다. The transaction ID or the blockchain address is information used for specifying the transaction in the blockchain network. The system server may store only one of the transaction ID and the blockchain address. If the transaction ID is known, the blockchain address can be confirmed by checking the transaction in the blockchain network, and the transaction ID can be confirmed if the blockchain address is known.

본 발명에서 사용되는 머클트리(Merkle tree)란, 기록 내역을 위조하려는 시도가 있어도 머클트리의 머클경로를 따라가면 해쉬값이 다른 것이 나오게 되어 금방 기록의 위변조를 알 수 있게 되고 이를 방지할 수 있다. 본 발명에서 출입통제 기록은 그룹화하여 저장되며 블록체인 네트워크에는 그룹별로 하나의 해쉬값인 머클루트가 저장된다. 그룹화를 하는데 있어서 머클트리 구조를 사용하지 않으면 출입통제 기록이 위변조된 경우 그룹 내 위변조된 출입통제 기록이 존재한다는 것만 확인할 수 있을 뿐 위변조된 출입통제 기록을 특정할 수 없다. 머클트리 구조를 사용함으로써 블록체인 네트워크에 그룹의 머클루트만 저장하고 모든 출입통제 기록의 해쉬값을 저장하지 않아도 그룹 내 위변조된 출입통제 기록을 특정하는 것이 가능하다.Merkle tree used in the present invention, even if there is an attempt to falsify the record, the hash value is different when the Merkle tree follows the Merkle path, so that the forgery of the record can be immediately known, and this can be prevented. . In the present invention, the access control record is grouped and stored, and the block chain network stores one hash value for each group. If the Merkle Tree structure is not used in grouping, it can only confirm that a forged access control record exists within the group if the access control record is forged, and it cannot specify the forged access record. By using the Merkle Tree structure, it is possible to specify a forged access control record within a group without storing only the group's Mercut on the blockchain network and storing the hash value of all access control records.

따라서, 본 발명에서 출입통제 기록을 머클트리 구조로 저장/관리하게 된다.Therefore, in the present invention, the access control record is stored / managed in the Merkle Tree structure.

출입기록을 그룹화하지 않아 머클트리 구조를 사용하지 않는 경우에는 상기 시스템서버는 출입기록을 저장하고 이 기록에 대한 해쉬값을 블록체인 네트워크에 저장한다. 상기 시스템서버는 상기 해쉬값을 데이터로 포함하는 트랜잭션을 생성하여 블록체인 네트워크에 전파하는 방법으로 블록체인 네트워크에 해쉬값을 저장한다. 상기 시스템서버는 상기 출입기록별로 상기 트랜잭션의 트랜잭션ID 또는 상기 트랜잭션을 생성하는데 사용한 블록체인 주소를 저장하고 있다. 상기 블록체인 네트워크에서 상기 트랜잭션ID 또는 상기 블록체인 주소를 검색하면 블록체인 네트워크에 저장된 해당 해쉬값을 확인할 수 있다. If the access record is not grouped so that the Merkle Tree structure is not used, the system server stores the access record and stores the hash value for the record in the blockchain network. The system server stores the hash value in the blockchain network by generating a transaction including the hash value as data and propagating the blockchain network. The system server stores the transaction ID of the transaction or the blockchain address used to generate the transaction for each access record. When the transaction ID or the blockchain address is searched in the blockchain network, a corresponding hash value stored in the blockchain network can be checked.

또한 도3을 참조하여 이를 더욱 상세하게 설명하면, 상기 사용자단말기에서 시스템서버에 출입승인을 요청하고 사용자 인증정보를 전송하는 제 3-1단계와, 상기 시스템서버에서 출입권한을 확인하는 제 3-2단계와, 상기 시스템서버에서 상기 출입문 제어장치로 출입 승인신호를 전송하는 제 3-3단계와, 상기 출입문 제어장치에서 출입문을 개방하는 제 3-4단계와 상기 시스템서버에서 출입기록을 그룹화하여 그룹별로 출입기록, 출입기록의 해쉬값, 머클트리를 저장하는 3-5단계와 상기 시스템서버에서 상기 블록체인 네트워크에 머클루트를 저장하는 제3-6단계를 거친다.In addition, referring to FIG. 3, the user terminal requests access approval to the system server and transmits user authentication information to the system server, and the third to confirm access authority in the system server. Step 2, Steps 3-3 to transmit the access approval signal from the system server to the door control device, Steps 3-4 to open the door from the door control device and the access record grouped in the system server Steps 3-5 store the access record, the hash value of the access record, and the Merkle Tree for each group, and the third through 6-6 stores the Mercut on the blockchain network in the system server.

도 4는 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 출입기록 열람 과정의 흐름도이다. 시스템서버(400)에 저장된 출입기록을 관리자에 의해 열람하고자 할 경우에는 관리자단말기(500)에서 열람요청을 위해 상기 관리자단말기로부터 출입기록 열람 요청이 발생한 경우 상기 시스템서버에 출입기록의 열람 요청과 관리자 인증정보를 전송하고, 상기 시스템서버는 관리자권한을 확인하여 열람 권한이 있는 경우 상기 관리자단말기로 출입기록을 전송한다.4 is a flowchart illustrating an access record viewing process in a blockchain network according to the present invention and an access control system to which a smart contract using the same is applied. When the user wants to view the access record stored in the system server 400 by the administrator, when the access request for access record is generated from the administrator terminal for the request to read in the administrator terminal 500, the request for viewing the access record and the administrator to the system server The authentication information is transmitted, and the system server checks the administrator's authority and transmits the access record to the administrator's terminal if the user has the authority to view the authority.

상기 시스템서버는 상기 관리자단말기로부터 전송받은 상기 관리자 인증정보와 상기 시스템서버에 저장되어 있는 관리자 인증정보의 일치 여부를 판단하여 관리자권한을 확인한다. The system server checks whether the administrator authentication information received from the administrator terminal matches the administrator authentication information stored in the system server and confirms the administrator's authority.

출입기록 열람과 동시에 출입기록의 위변조 여부를 확인하고자 할 경우 상기 시스템서버는 상기 관리자단말기에 출입기록을 전송하기 전에 블록체인 네트워크에서 출입기록의 머클루트를 전송받아 출입기록의 위변조 여부를 확인한다. 상기 시스템서버는 출입기록으로부터 해쉬값을 계산하여 시스템서버에 저장된 해쉬값과 비교하고, 출입기록의 해쉬값과 머클트리로부터 머클경로를 사용하여 머클루트를 계산하여 블록체인 네트워크 상의 머클루트와 비교하는 절차를 진행하여 출입기록의 위변조 여부를 확인한다. 출입기록이 위변조된 경우 상기 절차에서 해쉬값 또는 머클루트가 일치하지 않는다. 상기 시스템서버는 출입기록의 위변조 여부를 확인한 후 상기 관리자단말기(500)로 해당 출입기록을 전송하거나 위변조 확인 시에는 위변조 확인 메시지를 전송한다. At the same time when the access record is viewed and the access record is forged, the system server checks whether the access record is forged by receiving a mercury of the access record in the blockchain network before transmitting the access record to the administrator terminal. The system server calculates a hash value from the access record and compares it with the hash value stored in the system server. The system server calculates a merkle using the hash value of the access record and the merkle path from the merkle tree and compares it with the mercruit on the blockchain network. Proceed through the procedure to check the access record forgery. If the access record is forged, the hash value or mercruit does not match in the above procedure. The system server checks whether the access record is forged, and then transmits the access record to the administrator terminal 500 or transmits a forgery confirmation message when the forgery is confirmed.

상기 시스템서버는 상기 블록체인 네트워크에서 출입기록의 머클루트를 전송받는데 있어서, 상기 출입기록이 속한 그룹의 트랙잭션ID 또는 블록체인 주소를 사용한다. 상기 블록체인 네트워크에서 상기 트랜잭션ID 또는 상기 블록체인 주소를 검색하면 블록체인 네트워크에 저장된 해당 머클루트를 확인할 수 있다. 더욱 상세하게 설명하면, 상기 시스템서버에서 상기 블록체인 네트워크에 상기 트랜잭션ID 또는 상기 블록체인 주소를 전송하면서 해당 트랜잭션의 정보를 요청하면, 상기 블록체인 네트워크는 상기 시스템서버에 상기 머클루트가 포함된 상기 트랜잭션의 정보를 전송한다. The system server uses the transaction ID or blockchain address of the group to which the access record belongs in receiving the access record mercury from the blockchain network. When the transaction ID or the blockchain address is searched for in the blockchain network, the corresponding mercruit stored in the blockchain network can be checked. In more detail, when the system server requests the information of the transaction while transmitting the transaction ID or the block chain address to the block chain network, the block chain network includes the mercury in the system server. Send the transaction information.

출입기록을 그룹화하지 않아 머클트리 구조를 사용하지 않는 경우에는 상기 시스템서버에 저장된 출입기록으로부터 해쉬값을 계산하여 블록체인 네트워크 상의 해쉬값과 비교하는 절차를 진행하여 출입기록의 위변조 여부를 확인한다. 상기 시스템서버는 상기 블록체인 네트워크에서 상기 해쉬값을 전송받는데 있어서, 상기 출입기록의 트랙잭션ID 또는 블록체인 주소를 사용한다. 상기 블록체인 네트워크에서 상기 트랜잭션ID 또는 상기 블록체인 주소를 검색하면 블록체인 네트워크에 저장된 해당 해쉬값을 확인할 수 있다.If the access record is not grouped and the merkle tree structure is not used, the hash value is calculated from the access record stored in the system server and compared with the hash value on the blockchain network to check whether the access record is forged or not. The system server uses the transaction ID or the blockchain address of the access record in receiving the hash value from the blockchain network. When the transaction ID or the blockchain address is searched in the blockchain network, a corresponding hash value stored in the blockchain network can be checked.

그 후 열람기록이 발생하였기 때문에 상기 시스템서버(400)는 열람기록을 관리하기 위하여 열람기록을 일정 기준에 따라 그룹화한 후 그룹별 열람기록과 열람기록의 해쉬값, 그룹의 머클트리를 저장하고, 이 머클트리에 따른 머클루트는 블록체인 네트워크(200)에 저장되도록 처리한다. 따라서, 상기 블록체인 네크워크(200)에서는 머클루트만을 저장한다. 상기 시스템서버는 상기 머클루트를 데이터로 포함하는 트랜잭션을 생성하여 블록체인 네트워크에 전파하는 방법을 통하여 블록체인 네트워크에 머클루트를 저장한다. 상기 시스템서버는 상기 그룹별로 상기 트랜잭션의 트랜잭션ID 또는 상기 트랜잭션을 생성하는데 사용한 블록체인 주소를 저장하고 있다. Thereafter, since the reading record is generated, the system server 400 groups the reading records according to a predetermined criterion in order to manage the reading records, and stores the reading records for each group, the hash values of the reading records, and the Merkle Tree of the group. Mercules according to the Merkle Tree are processed to be stored in the blockchain network 200. Therefore, the blockchain network 200 stores only merclute. The system server generates a transaction including the Mercule as data and stores the Mercule in the blockchain network through a method of propagating the transaction to the blockchain network. The system server stores the transaction ID of the transaction or the blockchain address used to generate the transaction for each group.

이를 더욱 상세하게 설명하면, 상기 관리자단말기에서 시스템서버로 출입기록을 열람요청하고 관리자 인증정보를 전송하는 제 4-1단계와 상기 시스템서버에서 관리자권한을 확인하는 제 4-2단계와 상기 시스템서버에서 상기 블록체인 네트워크로 출입기록의 머클루트를 요청하는 제 4-3단계와 상기 블록체인 네트워크에서 상기 시스템서버로 출입기록의 머클루트를 전송하는 제 4-4단계와 상기 시스템서버에서 출입기록의 위변조를 확인하는 제 4-5단계와 상기 시스템서버에서 상기 관리자단말기로 출입기록을 전송하되, 이때 위변조 확인 시 위변조 확인 메시지를 전송하는 제 4-6단계와 상기 시스템서버에서 열람기록을 그룹화하여 그룹별로 열람기록, 열람기록의 해쉬값, 머클트리를 저장하는 제 4-7단계와 상기 시스템서버에서 상기 블록체인 네트워크에 머클루트를 저장하는 제 4-8단계를 거친다.In more detail, step 4-1 of requesting to view the access record from the administrator terminal to the system server and transmitting administrator authentication information, and step 4-2 of checking the administrator authority from the system server and the system server Steps 4-3 of requesting mercury of entry and exit records to the blockchain network, and Steps 4-4 of transmitting a mercury of entry and exit records from the blockchain network and the system server. Steps 4-5 for checking forgery and the access record from the system server to the administrator terminal, wherein steps 4-6 for sending a forgery confirmation message when the forgery is checked and grouping the reading records in the system server Steps 4-7 for storing the reading record, the hash value of the reading record, and the Merkle Tree for each step and the blockchain network in the system server. Subjected to a first step 4-8 of storing meokeul root.

도 5는 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 출입권한 변경 과정의 흐름도이다.5 is a flowchart illustrating a process of changing an access right in a blockchain network according to the present invention and an access control system to which a smart contract using the same is applied.

출입권한 변경이 발생한 경우 상기 관리자단말기(500)는 시스템서버(400)로 출입권한 변경 요청을 관리자 인증정보와 함께 전송하게 되고, 시스템서버는 관리자권한을 확인하고 출입권한을 변경한다. 이때, 발생된 사용자의 출입권한 변경은 마찬가지로 출입통제 기록(출입기록, 출입기록의 열람기록, 출입권한 변경기록)을 일정 기준에 따라 그룹화하고 그룹별 출입통제 기록, 출입통제 기록에 대한 해쉬값, 그룹의 머클트리를 상기 시스템서버에 저장하고 상기 머클트리에 대한 머클루트를 블록체인 네트워크(200)에 저장하는 것으로 출입권한 변경에 따른 기록이 기록되는 것이다. 상기 시스템서버는 상기 머클루트를 데이터로 포함하는 트랜잭션을 생성하여 블록체인 네트워크에 전파하는 방법을 통하여 블록체인 네트워크에 머클루트를 저장한다. 상기 시스템서버는 상기 그룹별로 상기 트랜잭션의 트랜잭션ID 또는 상기 트랜잭션을 생성하는데 사용한 블록체인 주소를 저장하고 있다. When the access authority change occurs, the administrator terminal 500 transmits an access authority change request to the system server 400 together with the administrator authentication information, and the system server confirms the administrator authority and changes the access authority. At this time, the user's access authority change is similarly grouped in the access control record (entry access record, access record, access record change record) according to a certain criteria, access control record for each group, hash value for access control record, The mercury tree of the group is stored in the system server, and the mercurt of the mercury tree is stored in the blockchain network 200, and a record according to the change of the access right is recorded. The system server generates a transaction including the Mercule as data and stores the Mercule in the blockchain network through a method of propagating the transaction to the blockchain network. The system server stores the transaction ID of the transaction or the blockchain address used to generate the transaction for each group.

이를 더욱 상세하게 설명하면, 관리자단말기에서 상기 시스템서버로 출입권한을 변경 요청하고 관리자 인증정보를 전송하는 제 5-1단계와 상기 시스템서버에서 관리자권한을 확인하는 제 5-2단계와 출입권한을 변경하는 제 5-3단계와 상기 시스템서버에서 출입권한 변경기록을 그룹화하여 그룹별로 출입권한 변경기록 및 출입권한 변경기록의 해쉬값, 머클트리를 저장하는 제 5-4단계와 상기 시스템서버에서 상기 블록체인 네트워크에 머클루트를 저장하는 제 5-5단계를 거친다.In more detail, step 5-1 of requesting to change the access right from the administrator terminal to the system server and transmitting administrator authentication information, and step 5-2 of checking the administrator right from the system server and the access right Steps 5-3 of changing and the access rights change record grouped by the system server to store the hash value of the access right change record and the access right change record, Merkle Tree for each group and the system server in the step 5-4 There are five to five steps of storing Mercule on the blockchain network.

도 6은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 출입통제 기록의 위변조 여부 확인 과정의 흐름도이다. 6 is a flowchart illustrating a process of checking whether a forgery of an access control record is tampered with in an access control system to which a block chain network and a smart contract using the same according to the present invention are applied.

상기 시스템서버는 상기 관리자단말기(500)로부터 출입통제 기록(출입기록, 출입기록의 열람기록, 출입권한 변경기록)의 열람 요청이 있거나 출입통제 기록의 위변조 확인 요청이 있는 경우, 또는 정기적으로 상기 블록체인 네트워크로부터 출입통제 기록의 머클루트를 전송받아 상기 시스템서버(400)에 저장되어 있는 출입통제 기록으로부터 해쉬값을 계산하여 시스템서버에 저장되어 있는 해쉬값과 비교하고, 상기 해쉬값과 머클트리로부터 머클경로를 사용하여 머클루트를 계산하여 상기 블록체인 네트워크(500)로부터 전송받은 머클루트와 비교하여 요청받은 또는 전체 출입통제 기록의 위변조 여부를 확인하고, 상기 관리자단말기(500)로 위변조 여부에 대한 메시지를 전송한다. 출입기록이 위변조된 경우 해쉬값 또는 머클루트가 일치하지 않는다. When the system server requests to view an access control record (entry record, access record, access record, access right change record) from the administrator terminal 500, or requests for forgery confirmation of access control record, or periodically the block Receives the Mercule of the access control record from the chain network, calculates a hash value from the access control record stored in the system server 400, compares the hash value with the hash value stored in the system server, and compares the hash value with the merkle tree. Compute the Mercule using the Merkle path to check whether the requested or total access control record is forged and compared with the Mercut received from the blockchain network 500, and forgery with the administrator terminal 500 Send a message. If the access record is forged, the hash value or mercury does not match.

상기 시스템서버는 상기 블록체인 네트워크에서 출입통제 기록의 머클루트를 전송받는데 있어서, 상기 출입통제 기록이 속한 그룹의 트랙잭션ID 또는 블록체인 주소를 사용한다. 상기 블록체인 네트워크에서 상기 트랜잭션ID 또는 상기 블록체인 주소를 검색하면 블록체인 네트워크에 저장된 해당 머클루트를 확인할 수 있다. The system server uses the transaction ID or the blockchain address of the group to which the access control record belongs in receiving the access control record in the blockchain network. When the transaction ID or the blockchain address is searched for in the blockchain network, the corresponding mercruit stored in the blockchain network can be checked.

출입기록을 그룹화하지 않아 머클트리 구조를 사용하지 않는 경우에는 상기 시스템서버는 상기 관리자단말기(500)로부터 출입기록의 열람 요청이 있거나 출입기록의 위변조 확인 요청이 있는 경우, 또는 정기적으로 상기 블록체인 네트워크(200)로부터 출입기록의 해쉬값을 전송받아 상기 시스템서버에 저장되어 있는 출입기록으로부터 계산한 해쉬값과 비교하여 요청받은 또는 전체 출입통제 기록의 위변조 여부를 확인하고, 상기 관리자단말기(500)로 위변조 여부에 대한 메시지를 전송한다. 상기 시스템서버는 상기 블록체인 네트워크에서 상기 해쉬값을 전송받는데 있어서, 상기 출입기록의 트랙잭션ID 또는 블록체인 주소를 사용한다. 상기 블록체인 네트워크에서 상기 트랜잭션ID 또는 상기 블록체인 주소를 검색하면 블록체인 네트워크에 저장된 해당 해쉬값을 확인할 수 있다. When the access record is not grouped and the merkle tree structure is not used, the system server requests the access record from the administrator terminal 500 or the request for forgery confirmation of the access record, or periodically the blockchain network. Receives the hash value of the access record from the 200 and compares it with the hash value calculated from the access record stored in the system server to check whether or not forgery of the requested or total access control record, and to the administrator terminal 500 Send a message about forgery or not. The system server uses the transaction ID or the blockchain address of the access record in receiving the hash value from the blockchain network. When the transaction ID or the blockchain address is searched in the blockchain network, a corresponding hash value stored in the blockchain network can be checked.

이를 더욱 상세하게 설명하면, 상기 관리자단말기에서 상기 시스템서버에 출입통제 기록의 위변조 확인 요청 또는 정기적으로 전체 출입통제 기록의 위변조 확인을 요청하는 제 6-1단계와 상기 시스템서버에서 상기 블록체인 네트워크로 출입통제 기록의 머클루트를 요청하는 제 6-2단계와 상기 블록체인 네트워크에서 상기 시스템서버로 출입통제 기록의 머클루트를 전송하는 제 6-3단계와 상기 시스템서버에서 출입통제 기록의 위변조를 확인하는 제 6-4단계와 상기 시스템서버에서 상기 관리자단말기로 위변조 여부에 대한 메시지를 전송하는 제 6-5단계를 거친다.In more detail, step 6-1 and the system server from the system server to the blockchain network requesting forgery confirmation of the access control record or regular forgery confirmation of the entire access control record to the system server in the administrator terminal. Step 6-2 of requesting the Mercule of the access control record, Step 6-3 of transmitting the Mercule of the access control record from the blockchain network to the system server, and confirming the forgery of the access control record of the system server. Step 6-4 and step 6-5 in which the system server transmits a message on the forgery or not forgery.

한편, 본 발명에서는 블록체인 네트워크에 구현되는 스마트컨트랙트기반의 출입통제 방법을 다른 실시예로 제안한다.On the other hand, the present invention proposes a smart contract-based access control method implemented in a blockchain network as another embodiment.

도 7 내지 도 11은 스마트컨트랙트가 적용된 출입통제 시스템을 설명하고 있다. 도 7은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 출입기록 암호화 및 저장 과정의 흐름도이다.7 to 11 illustrate an access control system to which a smart contract is applied. 7 is a flowchart illustrating a process of encrypting and storing access records in a blockchain network and an access control system to which smart contracts using the same are applied according to the present invention.

사용자의 출입 요청에 따라 사용자단말기(300)에서 시스템서버(400)로 사용자 인증정보를 전송하면 상기 시스템서버는 사용자 인증정보로부터 출입권한을 확인하고 출입문 제어장치(100)로 개방 신호를 전송하여 출입문이 개폐되도록 한다. 여기서, 상기 시스템서버는 암호화 키와 해당 암호화 키에 대응되는 복호화 키를 구비하고 있으며 상기 암호화 키를 사용하여 출입기록을 암호화하고 암호화된 출입기록을 그룹화하여 그룹별로 암호화된 출입기록, 암호화된 출입기록의 해쉬값, 머클트리를 저장한다. 그리고 출입기록의 복호화 키와 그룹의 머클루트는 스마트컨트랙트에 저장된다.When the user terminal 300 transmits user authentication information to the system server 400 according to an access request of the user, the system server checks the access authority from the user authentication information and transmits an open signal to the door control device 100 to access the door. To be opened and closed. Here, the system server includes an encryption key and a decryption key corresponding to the encryption key, and encrypts the access record using the encryption key and groups an encrypted access record to group an encrypted access record and an encrypted access record. Stores the hash value of and Merkle Tree. In addition, the decryption key of the access record and the mercruit of the group are stored in the smart contract.

상기 시스템서버는 상기 사용자단말기로부터 전송받은 상기 사용자 인증정보와 상기 시스템서버에 저장되어 있는 사용자 인증정보의 일치 여부를 판단하여 사용자의 출입권한을 확인한다.The system server determines whether the user authentication information transmitted from the user terminal matches the user authentication information stored in the system server and confirms the access right of the user.

상기 시스템서버는 상기 스마트컨트랙트에 접속 가능한 계정의 주소를 가지고 있으며, 상기 계정의 주소는 스마트컨트랙트에 트랜잭션을 등록할 수 있는 권한이 있고, 상기 출입기록의 복호화 키와 그룹의 머클루트를 상기 스마트컨트랙트의 변수에 등록하는 트랜잭션을 생성하고 상기 계정의 주소로 상기 스마트컨트랙트 주소에 접속하여 상기 트랜잭션을 등록하는 방법을 통하여 상기 스마트컨트랙트에 상기 출입기록의 복호화 키와 상기 머클루트를 저장한다. 상기 변수에는 그룹 내 암호화된 출입기록의 수만큼의 출입기록의 복호화 키와 한 개의 머클루트가 저장된다. 하나의 그룹 내에서는 동일한 암호화 키를 사용하는 등의 방법을 통하여 상기 스마트컨트랙트에 저장되는 복호화 키의 수를 줄일 수 있다. 상기 시스템서버는 상기 그룹별로 상기 스마트컨트랙트의 변수를 저장하고 있다. 상기 시스템서버는 상기 스마트컨트랙트에 접속하여 상기 변수의 열람을 요청하여 상기 스마트컨트랙트에 저장된 해당 출입기록의 복호화 키와 머클루트를 확인한다.The system server has an address of an account that can access the smart contract, and the address of the account has the authority to register a transaction in the smart contract, and the decryption key of the access record and mercury of the group are included in the smart contract. The decryption key and the mercury of the access record are stored in the smart contract through a method of creating a transaction to register a variable in the smart contract and registering the transaction by accessing the smart contract address using the account address. The variable stores as many decryption keys and access points as there are encrypted access records in the group. In one group, the number of decryption keys stored in the smart contract can be reduced by using the same encryption key. The system server stores the variables of the smart contract for each group. The system server accesses the smart contract, requests the reading of the variable, and checks the decryption key and merquet of the corresponding access record stored in the smart contract.

상기 시스템서버는 암호화 키와 해당 암호화 키에 대응되는 복호화 키의 풀 또는 키 생성 프로그램을 포함하고 있고, 출입기록을 암호화할 때 무작위로 암호화 키와 해당 암호화 키에 대응되는 복호화 키를 선택 또는 생성하여 사용하고 상기 암호화 키와 해당 암호화 키에 대응되는 복호화 키는 한번 사용하면 시스템서버에는 저장하지 않고 복호화 키만 상기 스마트컨트랙트에 저장한다. 상기 암호화 키와 해당 암호화 키에 대응되는 복호화 키는 암호화 키와 복호화 키가 서로 다른 비대칭 키 또는 암호화 키와 복호화 키가 동일한 대칭 키일 수 있다.The system server includes an encryption key and a pool or key generation program of a decryption key corresponding to the encryption key, and randomly selects or generates an encryption key and a decryption key corresponding to the encryption key when encrypting access records. If the encryption key and the decryption key corresponding to the encryption key are used once, only the decryption key is stored in the smart contract without being stored in the system server. The encryption key and the decryption key corresponding to the encryption key may be an asymmetric key having different encryption keys and decryption keys or a symmetric key having the same encryption key and decryption key.

상기 도 7을 참조하면, 상기 사용자단말기는 상기 시스템서버로 출입승인요청 및 사용자 인증정보를 전송하는 제 7-1단계와 상기 시스템서버에서 출입권한을 확인하는 제 7-2단계와 상기 시스템서버에서 상기 출입문 제어장치로 출입 승인신호를 전송하는 제 7-3단계와 상기 출입문 제어장치에서 출입문을 개방하는 제 7-4단계와 상기 시스템서버에서 출입기록을 암호화 하는 제 7-5단계와 상기 시스템서버에서 암호화된 출입기록을 그룹화하여 그룹별로 암호화된 출입기록과 암호화된 출입기록의 해쉬값, 머클트리를 저장하는 제 7-6단계와 상기 시스템서버에서 상기 스마트컨트랙트에 복호화 키와 머클루트를 저장하는 제 7-7단계를 거친다.Referring to FIG. 7, the user terminal transmits an access approval request and user authentication information to the system server, step 7-1, and checks the access authority from the system server. Step 7-3 of transmitting an access approval signal to the door control device; Step 7-4 of opening the door at the door control device; Step 7-5 of encrypting the access record at the system server and the system server Step 7-6 of storing the encrypted access record, the hash value of the encrypted access record, and the Merkle Tree by grouping the encrypted access records in the group; and storing the decryption key and the Mercut in the smart contract in the system server. Go through steps 7-7.

도 8은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 암호화된 출입기록 열람 과정의 흐름도이다.8 is a flowchart illustrating an encrypted access record reading process in a blockchain network according to the present invention and an access control system to which a smart contract using the same is applied.

시스템서버(400)에 저장된 암호화된 출입기록을 관리자에 의해 열람하고자 할 경우에는 관리자단말기(500)에서 상기 시스템서버에 출입기록의 열람 요청과 관리자 인증정보를 전송하고, 상기 시스템서버는 관리자권한을 확인하여 열람 권한이 있는 경우 스마트컨트랙트(200)로 출입기록의 복호화 키를 요청하여 상기 스마트컨트랙트의 열람조건을 만족할 경우 복호화 키를 상기 시스템서버(400)로 제공하고, 암호화된 출입기록을 복호화하여 출입기록을 상기 관리자단말기(500)로 전송한다.When the user wants to view the encrypted access record stored in the system server 400 by the administrator, the administrator terminal 500 transmits a request for viewing the access record and the administrator authentication information to the system server, and the system server transmits the administrator authority. In case of checking and checking authority, the decryption key of the access record is requested to the smart contract 200. If the reading condition of the smart contract is satisfied, the decryption key is provided to the system server 400, and the encrypted access record is decrypted. The access record is transmitted to the manager terminal 500.

상기 시스템서버는 상기 스마트컨트랙트에서 암호화된 출입기록의 복호화 키를 전송받는데 있어서, 상기 암호화된 출입기록이 속한 그룹에 대한 스마트컨트랙트의 변수를 사용한다. 상기 시스템서버는 상기 스마트컨트랙트에 접속 가능한 계정의 주소로 상기 스마트컨트랙트의 주소에 접속하여 상기 변수의 열람을 요청하고, 상기 계정의 주소가 상기 스마트컨트랙트의 열람조건을 만족하는 경우 상기 스마트컨트랙트의 변수에 저장된 해당 복호화 키를 확인한다. 이때 상기 변수에는 그룹 내 암호화된 출입기록의 수만큼의 복호화 키와 한 개의 머클루트가 저장되어 있기 때문에 상기 변수 내의 열람하려는 복호화 키를 특정하여 상기 변수의 열람을 요청한다. 상기 시스템서버에 저장된 그룹 내 상기 암호화된 출입기록의 순서와 상기 스마트컨트랙트의 상기 변수 내 저장된 상기 복호화 키의 순서가 매칭되므로 복호화 키를 특정하여 열람 요청할 수 있다.The system server receives the decryption key of the encrypted access record in the smart contract, and uses the variable of the smart contract for the group to which the encrypted access record belongs. The system server requests to view the variable by accessing the address of the smart contract with the address of an account accessible to the smart contract, and if the address of the account satisfies the reading condition of the smart contract, the variable of the smart contract. Check the corresponding decryption key stored in. In this case, since the number of decryption keys and one merlute of the encrypted access records in the group are stored, the decryption key to be viewed in the variable is specified to request reading of the variable. Since the order of the encrypted access record in the group stored in the system server and the order of the decryption key stored in the variable of the smart contract are matched, the decryption key may be specified and requested to be read.

또한 출입기록을 열람하는데 있어서 시스템서버에서 관리자권한을 확인하고 스마트컨트랙트에서 열람조건을 확인하는 두 번의 열람권한 확인 과정을 거친다. 상기 시스템서버는 상기 관리자단말기로부터 전송받은 상기 관리자 인증정보와 상기 시스템서버에 저장되어 있는 관리자 인증정보의 일치 여부를 판단하여 관리자권한을 확인한다. In addition, when reading access records, the system checks the administrator's authority on the system server and checks the access authority on the smart contract twice. The system server checks whether the administrator authentication information received from the administrator terminal matches the administrator authentication information stored in the system server and confirms the administrator's authority.

그 다음 관리자권한이 확인되면 시스템서버에 저장된 스마트컨트랙트 접속을 위한 계정의 주소 중 상기 관리자권한에 대응하는 계정의 주소를 선택하여 스마트컨트랙트에 접속하고 복호화 키를 요청한다. 이후 스마트컨트랙트에서 스마트컨트랙트의 열람조건을 확인하는데 있어서, 상기 스마트컨트랙트는 상기 시스템서버가 사용한 계정의 주소가 상기 스마트컨트랙트에 접속 권한이 있는지, 상기 변수 또는 상기 변수 내 저장된 상기 복호화 키의 열람 권한이 있는지를 확인한다. 상기 시스템서버에는 스마트컨트랙트 접속을 위한 복수의 계정의 주소가 있고, 상기 계정의 주소에 따라 열람할 수 있는 변수가 다르며, 일부 또는 전체 변수는 열람 기간에 제한이 있을 수 있다. Next, if the administrator authority is confirmed, select the address of the account corresponding to the administrator authority among the addresses of the account for accessing the smart contract stored in the system server, access the smart contract, and request the decryption key. Thereafter, in checking the smart contract viewing condition in the smart contract, the smart contract checks whether the address of the account used by the system server has access authority to the smart contract, or the authority to view the variable or the decryption key stored in the variable. Check if it is. The system server has the address of a plurality of accounts for accessing the smart contract, and the variable that can be viewed according to the address of the account is different, some or all of the variables may be limited in the viewing period.

암호화된 출입기록 열람과 동시에 암호화된 출입기록의 위변조 여부를 확인하고자 할 경우 상기 시스템서버는 출입기록을 복호화하고 관리자단말기로 전송하기 전에 상기 스마트컨트랙트에서 상기 출입기록의 머클루트를 전송받아 암호화된 출입기록의 위변조 여부를 확인한다. 상기 시스템서버는 암호화된 출입기록으로부터 해쉬값을 계산하여 시스템서버에 저장된 해쉬값과 비교하고, 암호화된 출입기록의 해쉬값과 머클트리로부터 머클경로를 사용하여 머클루트를 계산하여 스마트컨트랙트의 머클루트와 비교하는 절차를 진행하여 암호화된 출입기록의 위변조 여부를 확인한다. 암호화된 출입기록이 위변조된 경우 상기 절차에서 해쉬값 또는 머클루트가 일치하지 않는다. 상기 시스템서버는 암호화된 출입기록의 위변조 여부를 확인한 후 스마트컨트랙트에서 제공받은 출입기록의 복화화 키를 사용하여 출입기록을 복호화하고 상기 관리자단말기(500)로 해당 출입기록을 전송하거나 위변조 확인 시에는 위변조 확인 메시지를 전송한다. 여기서 출입기록은 암호화된 출입기록을 복호화하여 얻어지므로 암호화된 출입기록의 위변조 여부를 확인함으로써 출입기록의 위변조 여부를 확인할 수 있다. If the user wants to check the encrypted access record at the same time as checking the encrypted access record, the system server decrypts the access record and transmits the mercury of the access record from the smart contract before transmitting it to the administrator terminal. Check for forgery of records. The system server calculates the hash value from the encrypted access record and compares it with the hash value stored in the system server, and calculates the Mercut using the Merkle path from the hash value of the encrypted access record and the Merkle Tree. Check if the encrypted access record is forged or not by proceeding with the comparison procedure. In the above procedure, if the encrypted access record is forged, the hash value or merclute does not match. The system server checks whether the encrypted access record is forged or not and then decrypts the access record using the decryption key of the access record provided by the smart contract, and transmits the access record to the administrator terminal 500 or checks the forgery. Send a forgery confirmation message. Here, since the access record is obtained by decrypting the encrypted access record, it is possible to confirm whether the access record is forged by checking whether the encrypted access record is forged.

상기 시스템서버는 상기 스마트컨트랙트에서 암호화된 출입기록의 복호화키와 머클루트를 전송받는데 있어서, 상기 암호화된 출입기록에 대한 스마트컨트랙트의 변수를 사용한다. 상기 시스템서버는 상기 스마트컨트랙트에 접속 가능한 계정의 주소로 상기 스마트컨트랙트의 주소에 접속하여 상기 변수의 열람을 요청하고, 상기 계정의 주소가 상기 스마트컨트랙트의 열람조건을 만족하는 경우 상기 스마트컨트랙트의 변수에 저장된 해당 출입기록의 복호화키와 머클루트를 확인한다. 이때 상기 변수에는 그룹 내 암호화된 출입기록의 수만큼의 복호화 키와 한 개의 머클루트가 저장되어 있기 때문에 상기 변수 내의 열람하려는 복호화 키와 머클루트를 특정하여 상기 변수의 열람을 요청한다.The system server uses a variable of the smart contract for the encrypted access record in receiving the decryption key and merquet of the encrypted access record in the smart contract. The system server requests to view the variable by accessing the address of the smart contract with the address of an account accessible to the smart contract, and if the address of the account satisfies the reading condition of the smart contract, the variable of the smart contract. Check the decryption key and Mercut of the access record stored in the system. At this time, since the number of decryption keys and one mercruit is stored in the variable as many as the number of encrypted access records in the group, the decryption key and merlute to be viewed in the variable are specified to request the reading of the variable.

스마트컨트랙트 기반에서는 출입기록을 열람할 때는 시스템서버에서 스마트컨트랙트에 복호화 키를 요청하고 위변조 여부를 확인할 때는 머클루트를 요청하며 출입기록 열람과 동시에 위변조 여부를 확인할 때에는 복호화 키와 머클루트를 요청한다. In the smart contract based system, when the access record is read, the system server requests the decryption key from the smart contract, and when the forgery is checked, the mercurt is requested. When the access record is read, the decryption key and the mercruit are requested.

이를 더욱 상세하게 설명하면, 상기 관리자단말기는 상기 시스템서버에 출입기록을 열람요청하고 관리자 인증정보를 전송하는 제 8-1단계와 상기 시스템서버에서 관리자권한을 확인하는 제 8-2단계와 상기 시스템서버에서 상기 스마트컨트랙트에 상기 출입기록의 복호화 키와 머클루트를 요청하는 제 8-3단계와 열람조건을 만족할 경우 상기 스마트컨트랙트에서 상기 시스템서버에 출입기록의 복호화 키와 머클루트를 전송하는 제 8-4단계와 상기 시스템서버에서 암호화된 출입기록의 위변조를 확인하는 제 8-5단계와 상기 시스템서버에서 출입기록을 복호화 하는 제 8-6단계와 상기 시스템서버에서 상기 관리자단말기에 출입기록을 전송하되, 이때 위변조 확인 시 위변조 확인 메시지를 전송하는 제 8-7단계를 거친다.In more detail, the administrator terminal requests to view the access record to the system server and transmits the administrator authentication information to step 8-1 and step 8-2 to confirm the administrator authority in the system server and the system. Step 8-3, wherein the server requests the decryption key and the mercury of the access record from the server, and if the reading condition is satisfied, the smart contract transmits the decryption key and the mercury of the access record to the system server. Step 8-5 and Step 8-5 of checking forgery and corruption of the encrypted access record in the system server, and Step 8-6 of decrypting the access record in the system server and transmitting the access record to the administrator terminal in the system server However, in this case, the forgery check goes through steps 8-7 of transmitting the forgery confirmation message.

도 9는 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 암호화된 출입기록의 열람 권한 요청 및 열람 과정의 흐름도이다. 9 is a flowchart illustrating a request for viewing authority and reading process of an encrypted access record in a blockchain network and an access control system using a smart contract using the same according to the present invention.

상기 관리자단말기(500)가 관리자권한은 확인되지만 열람을 요청한 출입기록에 대한 열람 권한이 없는 경우, 상기 시스템서버(400)는 상기 사용자단말기로 상기 출입기록의 열람 권한을 요청하고, 상기 사용자단말기(300)에서 해당 출입기록의 복호화 키를 관리자가 열람할 수 있도록 스마트컨트랙트의 열람조건을 변경하여 상기 시스템서버(400)에 열람 승인을 통보하고, 상기 시스템서버에서 상기 스마트컨트랙트로 출입기록의 복호화 키를 요청하여 스마트컨트랙트의 열람조건을 만족할 경우 출입기록의 복호화 키를 상기 시스템서버로 제공하고, 출입기록을 복호화하여 사용자의 출입기록을 상기 관리자단말기(500)로 전송하게 된다.When the administrator terminal 500 is confirmed that the administrator authority, but does not have the right to view the access record requesting the reading, the system server 400 requests the right to view the access record to the user terminal, the user terminal ( In 300, the administrator reads the decryption key of the corresponding access record and notifies the system server 400 of the reading approval by changing the reading condition of the smart contract, and the decryption key of the access record from the system server to the smart contract. When requesting the smart contract viewing conditions are satisfied, the decryption key of the access record is provided to the system server, and the access record of the user is transmitted to the administrator terminal 500 by decrypting the access record.

상기 사용자단말기에서 출입기록의 복호화 키를 관리자가 열람할 수 있도록 스마트컨트랙트의 열람조건을 변경하는데 있어서, 상기 사용자단말기는 스마트컨트랙트에 접속 가능한 프로그램을 저장하고 있고 상기 스마트컨트랙트에 접속 가능한 계정의 주소를 가지고 있으며 상기 계정의 주소는 시스템서버가 상기 사용자단말기의 출입기록의 복호화 키를 열람할 수 있게 상기 스마트컨트랙트의 열람조건을 변경할 수 있는 권한이 있고, 상기 사용자단말기는 상기 열람조건을 변경하는 트랜잭션을 생성하고 상기 계정의 주소로 상기 스마트컨트랙트 주소에 접속하여 상기 트랜잭션을 등록하는 방법을 통하여 상기 시스템서버가 시스템서버의 계정의 주소로 스마트컨트랙트의 주소에 접속하여 상기 사용자단말기의 출입기록의 복호화 키를 열람할 수 있도록 상기 스마트컨트랙트의 열람조건을 변경한다. 상기 사용자단말기가 열람조건을 변경할 수 있는 출입기록은 상기 사용자단말기에 의해 출입 승인 요청된 상기 사용자단말기의 출입기록이다. In changing the reading condition of the smart contract so that the administrator can view the decryption key of the access record in the user terminal, the user terminal stores a program accessible to the smart contract and the address of the account accessible to the smart contract. And the address of the account is authorized to change the viewing condition of the smart contract so that the system server can view the decryption key of the access record of the user terminal, and the user terminal executes a transaction that changes the viewing condition. The system server accesses the smart contract's address using the account address of the system server and registers the decryption key of the access record of the user terminal through the method of registering the transaction by generating and accessing the smart contract address using the account address. Can be read Change the viewing conditions of the smart contract so that. An access record in which the user terminal can change the reading condition is an access record of the user terminal requested for access approval by the user terminal.

이후 상기 시스템서버는 상기 스마트컨트랙트에서 출입기록의 복호화 키를 전송받는데 있어서, 상기 암호화된 출입기록에 대한 스마트컨트랙트의 변수를 사용한다. 상기 시스템서버는 상기 스마트컨트랙트에 접속 가능한 계정의 주소로 상기 스마트컨트랙트의 주소에 접속하여 상기 변수의 열람을 요청하고, 상기 계정의 주소가 상기 변경된 스마트컨트랙트의 열람조건을 만족하는 경우 상기 스마트컨트랙트의 변수에 저장된 해당 출입기록의 복호화 키를 확인한다.Thereafter, the system server receives the decryption key of the access record from the smart contract, and uses the variable of the smart contract for the encrypted access record. The system server requests to view the variable by accessing the address of the smart contract with the address of an account that is accessible to the smart contract, and if the address of the account satisfies the reading condition of the changed smart contract, Check the decryption key of the access record saved in the variable.

암호화된 출입기록 열람과 동시에 암호화된 출입기록의 위변조 여부를 확인하고자 할 경우 상기 시스템서버는 출입기록을 복호화하고 관리자단말기로 전송하기 전에 상기 스마트컨트랙트에서 출입기록의 머클루트를 전송받아 암호화된 출입기록의 위변조 여부를 확인한다.When the encrypted access record is checked at the same time as the encrypted access record is read, the system server decrypts the access record and transmits the mercury of the access record from the smart contract before transmitting the encrypted access record to the administrator terminal. Check the forgery of

이를 더욱 상세하게 설명하면, 상기 관리자단말기는 상기 시스템서버에 출입기록을 열람 요청하고 관리자 인증정보를 전송하는 제 9-1단계와 상기 시스템서버에서 관리자권한을 확인하는 제 9-2단계와 상기 시스템서버에서 상기 사용자단말기로 출입기록 열람 권한을 요청하는 제 9-3단계와 상기 사용자단말기에서 출입기록의 복호화 키를 관리자가 열람할 수 있도록 스마트컨트랙트의 열람조건을 변경하는 제 9-4단계와 상기 사용자단말기에서 상기 시스템서버로 출입기록 열람 승인을 통보하는 제 9-5단계와 상기 시스템서버에서 상기 스마트컨트랙트로 출입기록의 복호화 키와 머클루트를 요청하는 제 9-6단계와 열람조건을 만족할 경우 상기 스마트컨트랙트에서 상기 시스템서버로 출입기록의 복호화 키와 머클루트를 전송하는 제 9-7단계와 상기 시스템서버에서 암호화된 출입기록의 위변조를 확인하는 제 9-8단계와 상기 시스템서버에서 출입기록을 복호화하는 제 9-9단계와 상기 시스템서버에서 상기 관리자단말기로 출입기록을 전송하되 이때 위변조를 확인 시 위변조 확인 메시지를 전송하는 제 9-10단계를 거친다.In more detail, the administrator terminal requests the system server to view the access record and transmits the administrator authentication information, and steps 9-1 and 9-2 for checking the administrator authority in the system server and the system. A step 9-3 of requesting the access record viewing authority from the server to the user terminal; and a step 9-4 of changing a reading condition of the smart contract so that the administrator can view the decryption key of the access record at the user terminal; Steps 9-5 of notifying the access record reading approval from the user terminal to the system server, steps 9-6 of requesting the decryption key and merquet of the access record from the system server to the smart contract and the reading condition are satisfied. Steps 9-7 and the time for transmitting the decryption key and the mercruit of the entry record from the smart contract to the system server Steps 9-8 to check forgery and corruption of the encrypted access record in the system server, steps 9-9 to decrypt the access record in the system server, and the access log is transmitted from the system server to the administrator terminal. In step 9-10, a time forgery confirmation message is transmitted.

도 10은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 암호화된 출입기록의 강제 열람 과정의 흐름도이다. 10 is a flowchart illustrating a forced reading process of an encrypted access record in a blockchain network and an access control system to which a smart contract using the same according to the present invention is applied.

상기 관리자단말기(500)에서 강제열람 권한을 갖는 관리자단말기가 출입기록의 강제 열람을 요청한 경우에는 상기 시스템서버에서 상기 스마트컨트랙트에 복호화 키 강제 열람 기록을 저장하면서 출입기록의 복호화 키를 요청하면, 상기 강제 열람 요청에 한하여 출입기록의 복호화 키를 스마트컨트랙에서 상기 시스템서버에 전송하고, 상기 시스템서버는 강제 열람 기록을 상기 사용자단말기(300)에 전송한다. 그리고 상기 시스템서버에서 암호화된 출입기록을 복호화하고 출입기록을 상기 관리자단말기로 전송한다.When the administrator terminal having the compulsory reading authority in the manager terminal 500 requests the compulsory reading of the access record, the system server requests the decryption key of the access record while storing the decryption key compulsory reading record in the smart contract. Only for the compulsory reading request, the decryption key of the access record is transmitted from the smart contract to the system server, and the system server transmits the compulsory reading record to the user terminal 300. The system server decrypts the encrypted access record and transmits the access record to the administrator terminal.

상기 시스템서버에서 상기 스마트컨트랙트에 복호화 키 강제 열람 기록을 저장하면서 출입기록의 복호화 키를 요청하는데 있어서, 상기 시스템서버는 상기 스마트컨트랙트에 접속 가능한 계정의 주소를 가지고 있으며, 상기 계정의 주소는 트랜잭션을 등록할 수 있는 권한이 있고, 상기 강제 열람 기록을 스마트컨트랙트의 변수에 등록하고 상기 출입기록의 복호화 키의 열람을 요청하는 트랜잭션을 생성하고 상기 계정의 주소로 상기 스마트컨트랙트 주소에 접속하여 상기 트랜잭션을 등록하는 방법을 통하여 상기 스마트컨트랙트에 강제 열람 기록을 저장하고 상기 출입기록의 복호화 키를 확인한다. 여기서 상기 스마트컨트랙트의 변수는 상기 강제 열람 기록을 저장하기 위한 변수이다. 상기 출입기록의 복호화 키 요청은 열람 권한이 없어 열람조건을 만족하지 못함에도 불구하고 강제 열람하는 경우로 강제열람 권한을 갖는 관리자단말기의 요청에 의해 상기 시스템서버에서 상기 스마트컨트랙트에 상기 트랜잭션을 등록하여 강제 열람 기록을 저장할 때에 한하여 열람 가능하다.When the system server requests the decryption key of the access record while storing the decryption key forced reading record in the smart contract, the system server has an address of an account accessible to the smart contract, and the address of the account is used to Have a right to register, create a transaction that registers the compulsory reading record in a variable of a smart contract, request a view of the decryption key of the access record, and access the smart contract address using the account address to execute the transaction. Through the registration method, the compulsory reading record is stored in the smart contract and the decryption key of the access record is checked. The variable of the smart contract is a variable for storing the forced reading record. The decryption key request of the access record is forcibly read even though the access condition is not satisfied because the request for the decryption key is not satisfied, and the system server registers the transaction in the smart contract at the request of the administrator terminal having the compulsory reading authority. It is possible to read only when storing the compulsory reading record.

암호화된 출입기록의 강제 열람과 동시에 암호화된 출입기록의 위변조 여부를 확인하고자 할 경우 상기 시스템서버는 암호화된 출입기록을 복호화하고 관리자단말기로 전송하기 전에 상기 스마트컨트랙트에서 암호화된 출입기록의 머클루트를 전송받아 암호화된 출입기록의 위변조 여부를 확인한다. 이때 강제 열람에 대한 상기 트랜잭션을 생성하는데 있어서 출입기록의 복호화 키와 머클루트를 함께 열람 요청하게 할 수 있다.When the encrypted access record is forced to be checked at the same time as the forced access of the encrypted access record, the system server decrypts the encrypted access record and transmits the mercury of the encrypted access record in the smart contract before transmitting it to the administrator terminal. Check whether the encrypted access record is forged or not. In this case, in generating the transaction for the forced reading, the request for reading the decryption key of the access record and the mercruit together may be requested.

이를 더욱 상세하게 설명하면, 상기 관리자단말기는 상기 시스템서버에 출입기록 강제 열람을 요청하고 관리자 인증정보를 전송하는 제 10-1단계와 상기 시스템서버에서 관리자권한을 확인하는 제 10-2단계와 상기 시스템서버에서 상기 스마트컨트랙트에 강제 열람기록을 저장하면서 출입기록의 복호화 키와 머클루트를 요청하는 제 10-3단계와 상기 스마트컨트랙트에서 상기 시스템서버에 상기 강제 열람 요청에 한하여 출입기록의 복호화 키와 머클루트를 전송하는 제 10-4단계와 상기 시스템서버에서 상기 사용자단말기로 강제 열람 기록을 전송하는 제 10-5단계와 상기 시스템서버에서 암호화된 출입기록의 위변조를 확인하는 제 10-6단계와 상기 시스템서버에서 출입기록을 복호화 하는 제 10-7단계와 상기 시스템서버에서 상기 관리자단말기로 출입기록을 전송하되, 이때 위변조 확인 시 위변조 확인 메시지를 전송하는 제 10-8단계를 거친다.In more detail, the manager terminal requests the system server to read the access record forcibly and transmits administrator authentication information, and steps 10-2 for checking the administrator's authority in the system server and the manager terminal. A step 10-3 of requesting a decryption key and mercury of the access record while storing the compulsory reading record in the smart contract by the system server; and the decryption key of the access record only in the compulsory reading request to the system server in the smart contract. A step 10-4 of transmitting a mercruit, a step 10-5 of transmitting a compulsory reading record from the system server to the user terminal, and a step 10-6 of checking forgery of an encrypted access record in the system server; Steps 10-7 of decrypting the access record in the system server and entering and exiting the manager terminal from the system server But the transfer, this time subjected to the first stage 10-8 to transfer the check forgery upon confirmation message forgery.

도 11은 본 발명에 따른 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템에서 암호화된 출입기록의 위변조 여부 확인 과정의 흐름도이다. FIG. 11 is a flowchart illustrating a process of checking whether or not an encrypted access record is forged in a blockchain network and an access control system using a smart contract using the same according to the present invention.

본 발명에 따른 스마트컨트랙트 기반에서 암호화된 출입기록의 위변조 여부를 확인하기 위해서 상기 시스템서버는, 상기 관리자단말기로부터 출입기록의 열람요청이 있거나 위변조 확인 요청이 있는 경우, 또는 정기적으로 상기 스마트컨트랙트로부터 암호화된 출입기록의 머클루트를 전송받아 상기 시스템서버에 저장되어 있는 암호화된 출입기록으로부터 해쉬값을 계산하여 상기 시스템서버에 저장되어 있는 해쉬값과 비교하고, 암호화된 출입기록의 해쉬값과 머클트리로부터 머클경로를 사용하여 머클루트를 계산하여 스마트컨트랙트의 머클루트와 비교하는 절차를 진행하여 암호화된 출입기록의 위변조 여부를 확인하고, 상기 관리자단말기로 위변조 여부에 대한 메시지를 전송한다. 암호화된 출입기록이 위변조된 경우 상기 절차에서 해쉬값 또는 머클루트가 일치하지 않는다. 출입기록은 암호화된 출입기록을 복호화하여 얻어지므로 암호화된 출입기록의 위변조 여부를 확인함으로써 출입기록의 위변조 여부를 확인할 수 있다. In order to check the forgery of the encrypted access record based on the smart contract according to the present invention, the system server encrypts the access record when there is a request for viewing the access record or a forgery confirmation request from the administrator terminal, or periodically. The hash value of the encrypted access record is received and the hash value is calculated from the encrypted access record stored in the system server and compared with the hash value stored in the system server. The mercury path is calculated to compare the mercurt with the mercurt of the smart contract to check whether the encrypted access record is forged, and transmits a message regarding the forgery to the administrator terminal. In the above procedure, if the encrypted access record is forged, the hash value or merclute does not match. Since the access record is obtained by decrypting the encrypted access record, it is possible to confirm whether the access record is forged by checking whether the encrypted access record is forged.

상기 시스템서버는 상기 스마트컨트랙트에서 암호화된 출입기록의 머클루트를 전송받는데 있어서, 상기 암호화된 출입기록에 대한 스마트컨트랙트의 변수를 사용한다. 상기 시스템서버는 상기 스마트컨트랙트에 접속 가능한 계정의 주소로 상기 스마트컨트랙트의 주소에 접속하여 상기 변수 내의 머클루트를 특정하여 상기 변수의 열람을 요청하고, 상기 스마트컨트랙트의 변수에 저장된 해당 머클루트를 확인한다. 상기 변수에 저장되어 있는 출입기록의 복화화 키와 머클루트 중에서 머클루트만을 특정하여 열람하는 경우에는 상기 계정의 주소가 상기 스마트컨트랙트에 접속할 수 있는 권한이 있음이 확인되면 해당 머클루트의 열람이 가능하다. The system server uses a variable of the smart contract for the encrypted access record in receiving the mercury of the encrypted access record in the smart contract. The system server accesses the address of the smart contract with the address of an account that can access the smart contract, specifies the mercury in the variable, requests the reading of the variable, and checks the corresponding mercury stored in the variable of the smart contract. do. In the case of reading only the Mercut from the decryption key of the entry record stored in the variable and the Mercut, it is possible to view the Mercut if the address of the account has the authority to access the smart contract. Do.

이를 더욱 상세하게 설명하면 상기 관리자단말기에서 상기 시스템서버로 출입기록의 위변조 확인 요청 또는 정기적으로 전체 출입기록의 위변조 확인을 요청하는 제 11-1단계와 상기 시스템서버에서 상기 스마트컨트랙트에 출입기록의 머클루트를 요청하는 제 11-2단계와 상기 스마트컨트랙트에서 상기 시스템서버에 출입기록의 머클루트를 전송하는 제 11-3단계와 상기 시스템서버에서 암호화된 출입기록의 위변조를 확인하는 제 11-4단계와 상기 시스템서버에서 상기 관리자단말기로 위변조 여부에 대한 메시지를 전송하는 제 11-5단계를 거친다.In more detail, step 11-1 of requesting forgery confirmation of access record from the administrator terminal to the system server or forgery confirmation of the entire access record on a regular basis and mercury of access record to the smart contract from the system server Step 11-2 for requesting a route; Step 11-3 for transmitting a mercury of an access record to the system server in the smart contract; Step 11-4 for checking forgery of an encrypted access record in the system server And the eleventh step of transmitting a message on the forgery or not from the system server to the administrator terminal.

이상, 본 발명의 원리를 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 그와 같이 도시되고 설명된 그대로의 구성 및 작용으로 한정되는 것이 아니다. 오히려, 첨부된 청구범위의 사상 및 범주를 일탈함이 없이 본 발명에 대한 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.While the invention has been described and illustrated in connection with a preferred embodiment for illustrating the principles of the invention, the invention is not limited to the construction and operation as shown and described. Rather, it will be apparent to those skilled in the art that many changes and modifications to the present invention are possible without departing from the spirit and scope of the appended claims. Accordingly, all such suitable changes and modifications and equivalents should be considered to be within the scope of the present invention.

100 : 출입문 제어장치
200 : 블록체인 네트워크, 스마트컨트랙트
300 : 사용자단말기
400 : 시스템서버
500 : 관리자단말기
100: door control device
200: Blockchain Network, Smart Contract
300: user terminal
400: System Server
500: manager terminal

Claims (8)

출입통제 시스템을 사용하여 사용자의 출입 요청에 대해 사용자의 인증정보를 검증하고 출입통제 기록을 관리하는 출입통제 시스템에 있어서,
상기 사용자에 의해 출입문 출입 승인을 요청하는 사용자단말기;
상기 사용자단말기의 출입요청에 따라 수신받은 사용자의 인증정보로부터 출입권한을 확인하여 출입요청이 승인된 경우 출입문 제어장치로 승인신호를 제공하고 사용자의 출입기록을 저장하는 시스템서버;
상기 시스템서버로부터 수신된 사용자의 출입기록에 대한 해쉬값을 저장하는 블록체인 네트워크에 참여한 컴퓨팅 장치; 및
관리자 인증정보와 함께 열람하고 싶은 출입통제 기록을 상기 시스템서버에 요청하고 이로부터 해당 출입통제 기록을 수신하여 확인하는 관리자단말기를 포함하여 구성되는 것을 특징으로 하는 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템.
In the access control system using the access control system to verify the user's authentication information for the user's access request and to manage the access control record,
A user terminal for requesting door access approval by the user;
A system server which checks the access authority from the received authentication information of the user according to the access request of the user terminal, provides an approval signal to the door control apparatus and stores the access record of the user when the access request is approved;
A computing device participating in a blockchain network storing a hash value of an access record of a user received from the system server; And
Blockchain network and smart contract using the same, characterized in that it comprises a manager terminal for requesting the access control record to be viewed with the administrator authentication information to the system server and receiving and confirming the access control record therefrom. Applied access control system.
제 1항에 있어서, 상기 시스템서버는,
출입기록을 그룹화하여 상기 그룹별 출입기록과 출입기록의 해쉬값, 그리고 그룹의 머클트리를 저장하고,
상기 블록체인 네트워크에 참여한 상기 컴퓨팅 장치도 상기 그룹의 머클루트를 저장하는 것을 특징으로 하는 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템.
The method of claim 1, wherein the system server,
Grouping the access record and storing the access record for each group, the hash value of the access record, and the Merkle Tree of the group,
And the computing device participating in the blockchain network also stores mercury of the group, and an access control system to which a smart contract using the same is applied.
제 2항에 있어서, 상기 시스템서버는,
상기 관리자단말기로부터 출입기록 열람 요청이 발생한 경우 상기 시스템서버에 출입기록의 열람 요청과 관리자 인증정보를 전송하고, 출입기록의 열람기록을 그룹화하여 상기 그룹별 출입기록의 열람기록과 출입기록의 열람기록의 해쉬값, 그룹의 머클트리를 저장하는 것을 특징으로 하는 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템.
The method of claim 2, wherein the system server,
When a request for access record access from the administrator terminal occurs, the access request for access record and administrator authentication information is transmitted to the system server, and the access record for each group is read and the access record for access record is grouped by grouping the access record of the access record. Blockchain network, characterized in that to store the hash value of the group, Merkle Tree and access control system to which the smart contract using the same.
제 2항에 있어서, 상기 시스템서버는,
상기 관리자단말기로부터 출입권한 변경 요청이 발생한 경우 상기 시스템서버에 출입권한 변경 요청과 관리자 인증정보를 전송하고, 출입권한 변경기록을 그룹화하여 상기 그룹별 출입권한 변경기록과 출입권한 변경기록의 해쉬값, 그룹의 머클트리를 저장하는 것을 특징으로 하는 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템.
The method of claim 2, wherein the system server,
When the access authority change request is generated from the administrator terminal, the access authority change request and the administrator authentication information are transmitted to the system server, and the access authority change record for each group and the hash value of the access authority change record are grouped by grouping the access authority change record. Block chain network, characterized in that stores the group Merkle tree and access control system applied smart contract using the same.
제 1항에 있어서, 상기 시스템서버는,
상기 관리자단말기로부터 출입기록의 위변조 확인 요청이 있는 경우, 상기 시스템서버에 저장되어 있는 출입기록으로부터 해쉬값을 계산하고,
상기 블록체인 네트워크에 참여한 컴퓨팅 장치로부터 출입기록의 해쉬값을 전송받으며, 상기 전송받은 해쉬값과 상기 계산된 해쉬값을 비교하여 출입통제 기록의 위변조 여부를 확인하고, 상기 관리자단말기로 위변조 여부 확인 메시지를 전송하는 것을 특징으로 하는 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템.
The method of claim 1, wherein the system server,
If there is a request for forgery confirmation of access record from the administrator terminal, Calculate the hash value from the access record stored in the system server,
Receives the hash value of the access record from the computing device participating in the blockchain network, compares the received hash value and the calculated hash value to check whether the access control record is forged, and confirms whether the forgery is forged by the manager terminal. Block chain network, characterized in that for transmitting and access control system applied smart contract using the same.
스마트컨트랙트(smart contract)를 포함하는 출입통제 시스템을 사용하여 사용자의 출입 요청에 대해 사용자의 인증정보를 검증하고 출입통제 기록을 관리하는 출입통제 시스템에 있어서,
상기 사용자에 의해 출입문 출입 승인을 요청하는 사용자단말기;
상기 사용자단말기의 출입요청에 따라 수신받은 사용자의 인증정보로부터 출입권한을 확인하여 출입요청이 승인된 경우 출입문 제어장치로 승인신호를 제공하며, 암호화 키와 해당 암호화 키에 대응되는 복호화 키를 구비하여 사용자의 출입기록을 암호화하고, 암호화된 출입기록을 그룹화하여 저장하고 상기 암호화된 출입기록의 해쉬값과 그룹의 머클트리를 저장하는 시스템서버;
상기 시스템서버로부터 수신된 출입기록의 복호화 키와 그룹의 머클루트를 저장하는 스마트컨트랙트; 및
관리자 인증정보와 함께 열람하고 싶은 출입통제 기록을 상기 시스템서버에 접속하여 요청하고 이로부터 해당 출입통제 기록을 수신하여 확인하는 관리자단말기;를 포함하여 구성되고,
상기 시스템서버는 상기 관리자단말기로부터 출입기록의 열람 요청이 발생하면 관리자권한을 확인하고 상기 스마트컨트랙트에게 출입기록의 복호화 키를 요청하며 열람조건을 만족할 경우 상기 스마트컨트랙트로부터 출입기록의 복호화 키를 전송받고, 암호화된 출입기록을 복호화하여 출입기록을 상기 관리자단말기로 전송하는 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템.
In the access control system that uses the access control system including a smart contract (verification) to verify the user's authentication information for the user's access request and manage the access control record,
A user terminal for requesting door access approval by the user;
Upon confirming the access authority from the authentication information of the user received according to the access request of the user terminal, if the access request is approved, provides the approval signal to the door control device, and provided with an encryption key and a decryption key corresponding to the encryption key A system server for encrypting the access record of the user, grouping and storing the encrypted access record, and storing the hash value of the encrypted access record and the merkle tree of the group;
A smart contract for storing the decryption key of the access record received from the system server and the merlute of the group; And
And an administrator terminal for accessing and requesting an access control record to be accessed with the administrator authentication information and receiving the access control record from the system server.
The system server checks the authority of the administrator when the request for reading the access record is generated from the administrator terminal, requests the decryption key of the access record from the smart contract, and receives the decryption key of the access record from the smart contract when the reading condition is satisfied. And a blockchain network for decrypting an encrypted access record and transmitting the access record to the manager terminal, and an access control system to which a smart contract using the same is applied.
제 6항에 있어서,
상기 관리자단말기 중에서 강제 열람 권한을 갖는 관리자단말기가 상기 시스템서버에게 출입기록의 강제 열람을 요청한 경우,
상기 시스템서버는 상기 스마트컨트랙트에게 출입기록의 강제 열람 기록을 저장하도록 하는 한편 출입기록의 복호화 키를 요청하면, 상기 스마트컨트랙트는 상기 강제 열람 요청에 한하여 출입기록의 복호화 키를 상기 시스템서버에 전송하고, 상기 복호화 키를 전송받은 상기 시스템서버는 강제 열람 기록을 상기 사용자단말기에 전송하고, 암호화된 출입기록을 복호화하여 출입기록을 상기 관리자단말기로 전송하는 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템.
The method of claim 6,
When the administrator terminal having the compulsory reading authority of the administrator terminal requests the system server to read the access record,
The system server stores the compulsory reading record of the access record while the smart contract requests the decryption key of the access record, and the smart contract transmits the decryption key of the access record to the system server only for the compulsory reading request. The system server receiving the decryption key transmits a compulsory reading record to the user terminal, decrypts an encrypted access record, and transmits the access record to the administrator terminal, and an access to which a smart contract using the same is applied. Control system.
제 6항에 있어서,
상기 시스템서버는,
상기 관리자단말기로부터 출입기록의 위변조 확인 요청이 있는 경우, 상기 스마트컨트랙트에 암호화된 출입기록의 머클루트를 요청하고 전송받은 다음
상기 시스템서버에 저장되어 있는 암호화된 출입기록으로부터 해쉬값을 계산하고 상기 계산된 해쉬값과 상기 시스템서버에 저장되어 있는 해쉬값을 비교하여 동일여부를 판단하고, 동일할 때는, 상기 해쉬값과 머클트리로부터 머클루트를 계산한 다음 상기 스마트컨트랙트로부터 전송받은 머클루트와 비교하여 출입기록의 위변조 여부를 확인하고, 상기 관리자단말기로 위변조 여부 확인 메시지를 전송하는 블록체인 네트워크 및 이를 활용한 스마트컨트랙트가 적용된 출입통제 시스템.













The method of claim 6,
The system server,
When there is a request for forgery confirmation of access record from the manager terminal, the smart contract is requested to receive the Mercut of the encrypted access record and then received.
Calculate the hash value from the encrypted access record stored in the system server and compare the calculated hash value with the hash value stored in the system server to determine whether it is the same. After calculating mercury from the tree, the blockchain network that checks whether the access record is forged or not is compared with the mercurt received from the smart contract, and transmits a forgery confirmation message to the manager terminal, and the smart contract using the same is applied. Access control system.













KR1020180140776A 2018-11-15 2018-11-15 Access control system with blockchain network and smart contract KR102025837B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180140776A KR102025837B1 (en) 2018-11-15 2018-11-15 Access control system with blockchain network and smart contract

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180140776A KR102025837B1 (en) 2018-11-15 2018-11-15 Access control system with blockchain network and smart contract

Publications (1)

Publication Number Publication Date
KR102025837B1 true KR102025837B1 (en) 2019-09-26

Family

ID=68067927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180140776A KR102025837B1 (en) 2018-11-15 2018-11-15 Access control system with blockchain network and smart contract

Country Status (1)

Country Link
KR (1) KR102025837B1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102197293B1 (en) * 2020-08-07 2020-12-31 주식회사 시냅틱웨이브 System for providing smart door lock based access control service using temporary access key
KR102222857B1 (en) * 2020-09-25 2021-03-03 정안수 System and method for access control using blockchain network and computer program for the same
CN112562154A (en) * 2020-11-04 2021-03-26 重庆恢恢信息技术有限公司 Method for guaranteeing safety consciousness of building personnel in smart building site area
KR20210044472A (en) * 2019-10-15 2021-04-23 주식회사 에스원 Illegal Admission Checking system By Block Chain and Method thereof
CN113268408A (en) * 2020-12-28 2021-08-17 上海能链众合科技有限公司 Automatic testing method facing open permission chain
KR20210125215A (en) 2020-04-08 2021-10-18 인천대학교 산학협력단 Blockchain Nodes and Blockchain System Having the Same
KR20220011922A (en) * 2020-07-22 2022-02-03 아이오유소프트주식회사 Method and system for managing visit history of visitors
KR20220031471A (en) * 2020-09-04 2022-03-11 주식회사 에스원 Unregistered Entrance Management Method by Using DID and System thereof
KR20220056432A (en) * 2020-10-28 2022-05-06 주식회사 디티에이치 Entrance management kiosk of non-face-to-face based on artificial intelligence and access management system including thereof
KR20220094931A (en) * 2020-12-29 2022-07-06 상명대학교산학협력단 Blockchain-based comprehensive car management system
KR20230089766A (en) * 2021-12-14 2023-06-21 상명대학교산학협력단 Email reception confirmation and denial prevention system using blockchain
CN116455645A (en) * 2023-04-24 2023-07-18 中国工程物理研究院计算机应用研究所 Fine granularity isolation protection method and system for network target range data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100682485B1 (en) 2003-05-02 2007-02-15 (주)니트 젠 Biometric access control system and method
KR101223899B1 (en) 2011-08-18 2013-01-21 주식회사 씨브이네트 System and method for controlling visitor access using smart device
KR20150092618A (en) * 2014-02-05 2015-08-13 조봉관 An access control method using the mobile device
KR101875725B1 (en) * 2017-04-12 2018-07-06 서강대학교산학협력단 Smart door lock system, smart door lock and terminal for controlling the smart door lock

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100682485B1 (en) 2003-05-02 2007-02-15 (주)니트 젠 Biometric access control system and method
KR101223899B1 (en) 2011-08-18 2013-01-21 주식회사 씨브이네트 System and method for controlling visitor access using smart device
KR20150092618A (en) * 2014-02-05 2015-08-13 조봉관 An access control method using the mobile device
KR101875725B1 (en) * 2017-04-12 2018-07-06 서강대학교산학협력단 Smart door lock system, smart door lock and terminal for controlling the smart door lock

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210044472A (en) * 2019-10-15 2021-04-23 주식회사 에스원 Illegal Admission Checking system By Block Chain and Method thereof
KR102304731B1 (en) * 2019-10-15 2021-09-23 주식회사 에스원 Illegal Admission Checking system By Block Chain and Method thereof
KR20210125215A (en) 2020-04-08 2021-10-18 인천대학교 산학협력단 Blockchain Nodes and Blockchain System Having the Same
KR20220011922A (en) * 2020-07-22 2022-02-03 아이오유소프트주식회사 Method and system for managing visit history of visitors
KR102429807B1 (en) * 2020-07-22 2022-08-08 아이오유소프트주식회사 Method and system for managing visit history of visitors
KR102197293B1 (en) * 2020-08-07 2020-12-31 주식회사 시냅틱웨이브 System for providing smart door lock based access control service using temporary access key
KR20220031471A (en) * 2020-09-04 2022-03-11 주식회사 에스원 Unregistered Entrance Management Method by Using DID and System thereof
KR102484921B1 (en) 2020-09-04 2023-01-04 주식회사 에스원 Unregistered Entrance Management Method by Using DID and System thereof
KR102222857B1 (en) * 2020-09-25 2021-03-03 정안수 System and method for access control using blockchain network and computer program for the same
KR20220056432A (en) * 2020-10-28 2022-05-06 주식회사 디티에이치 Entrance management kiosk of non-face-to-face based on artificial intelligence and access management system including thereof
KR102496002B1 (en) 2020-10-28 2023-02-08 주식회사 디티에이치 Entrance management kiosk of non-face-to-face based on artificial intelligence and access management system including thereof
CN112562154A (en) * 2020-11-04 2021-03-26 重庆恢恢信息技术有限公司 Method for guaranteeing safety consciousness of building personnel in smart building site area
CN112562154B (en) * 2020-11-04 2022-08-26 重庆恢恢信息技术有限公司 Method for guaranteeing safety consciousness of building personnel in smart building site area
CN113268408A (en) * 2020-12-28 2021-08-17 上海能链众合科技有限公司 Automatic testing method facing open permission chain
CN113268408B (en) * 2020-12-28 2023-11-28 上海零数众合信息科技有限公司 Automatic testing method for open license chain
KR20220094931A (en) * 2020-12-29 2022-07-06 상명대학교산학협력단 Blockchain-based comprehensive car management system
KR102535763B1 (en) * 2020-12-29 2023-05-22 상명대학교산학협력단 Blockchain-based comprehensive car management system
KR20230089766A (en) * 2021-12-14 2023-06-21 상명대학교산학협력단 Email reception confirmation and denial prevention system using blockchain
KR102656550B1 (en) * 2021-12-14 2024-04-09 상명대학교산학협력단 Email reception confirmation and denial prevention system using blockchain
CN116455645A (en) * 2023-04-24 2023-07-18 中国工程物理研究院计算机应用研究所 Fine granularity isolation protection method and system for network target range data
CN116455645B (en) * 2023-04-24 2024-02-02 中国工程物理研究院计算机应用研究所 Fine granularity isolation protection method and system for network target range data

Similar Documents

Publication Publication Date Title
KR102025837B1 (en) Access control system with blockchain network and smart contract
US11314891B2 (en) Method and system for managing access to personal data by means of a smart contract
CN110519062B (en) Identity authentication method, authentication system and storage medium based on block chain
US20230245019A1 (en) Use of identity and access management for service provisioning
US10027489B2 (en) Digital rights management system and method
CN110535833B (en) Data sharing control method based on block chain
US8359465B2 (en) Enterprise security system
US8302171B2 (en) System and method for privilege delegation and control
US10410213B2 (en) Encapsulated security tokens for electronic transactions
US20010020228A1 (en) Umethod, system and program for managing relationships among entities to exchange encryption keys for use in providing access and authorization to resources
US20090025090A1 (en) Digital safety deposit box
KR20210040078A (en) Systems and methods for safe storage services
JP7114078B2 (en) Electronic authentication method and program
CN111787530A (en) Block chain digital identity management method based on SIM card
CN109995791B (en) Data authorization method and system
TWM623435U (en) System for verifying client identity and transaction services using multiple security levels
US20220405765A1 (en) Know your customer (kyc) and anti-money laundering (aml) verification in a multi-decentralized private blockchains network
CN111292174A (en) Tax payment information processing method and device and computer readable storage medium
KR102131206B1 (en) Method, service server and authentication server for providing corporate-related services, supporting the same
KR101651563B1 (en) Using history-based authentication code management system and method thereof
CN113536388B (en) Data sharing method and system based on block chain
US11461451B2 (en) Document signing system for mobile devices
US8621231B2 (en) Method and server for accessing an electronic safe via a plurality of entities
TW202101267A (en) Account data processing method and account data processing system ensuring that there is encryption protection when account data is returned to an electronic payment dealer
TWM585941U (en) Account data processing system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant