KR20200100471A - 액세스 제어를 위한 블록체인 네트워크의 노드 장치 및 이의 동작방법 - Google Patents

액세스 제어를 위한 블록체인 네트워크의 노드 장치 및 이의 동작방법 Download PDF

Info

Publication number
KR20200100471A
KR20200100471A KR1020190018809A KR20190018809A KR20200100471A KR 20200100471 A KR20200100471 A KR 20200100471A KR 1020190018809 A KR1020190018809 A KR 1020190018809A KR 20190018809 A KR20190018809 A KR 20190018809A KR 20200100471 A KR20200100471 A KR 20200100471A
Authority
KR
South Korea
Prior art keywords
access
request
state data
condition
user
Prior art date
Application number
KR1020190018809A
Other languages
English (en)
Other versions
KR102607875B1 (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 KR1020190018809A priority Critical patent/KR102607875B1/ko
Publication of KR20200100471A publication Critical patent/KR20200100471A/ko
Application granted granted Critical
Publication of KR102607875B1 publication Critical patent/KR102607875B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

블록체인 네트워크 상의 노드 장치 및 이의 동작방법이 개시된다. 노드 장치는 트랜잭션의 실행 결과에 따른 상태 데이터를 저장 및 유지하는 상태 데이터베이스에 대한 사용자의 액세스 요청을 수신하는 사용자 입력부, 액세스 요청에 따라 액세스 요청의 대상이 되는 상태 데이터에 대한 기 저장된 액세스 조건을 조회하는 액세스 조건 조회부, 조회된 액세스 조건에 기초하여 사용자의 액세스를 허용할지 판단하는 액세스 조건 판단부, 및 액세스 조건 판단부의 판단 결과에 따라 액세스 요청에 응답하여 액세스 요청 결과를 제공하는 액세스 제어부를 포함한다.

Description

액세스 제어를 위한 블록체인 네트워크의 노드 장치 및 이의 동작방법{Blockchain Network Node and Method for Controlling Access}
본 개시는 액세스 제어를 위한 블록체인 네트워크 노드 장치 및 이의 동작방법에 관한 것이다.
블록체인은 공유하는 데이터와 상호 계약을 여러 컴퓨팅 노드들에 중복시킴으로써, 신뢰성, 가용성 등을 크게 향상시키는 분산 장부 보관 및 처리 플랫폼 기술이다. 블록체인 네트워크 상에서, 데이터와 상호 계약 내용들은 블록단위로 기록되며, 블록체인 네트워크를 구성하는 컴퓨팅 노드들에 의해 상호 검증된다. 블록체인에 추가된 블록은 비가역적이며 수정 또는 삭제될 수 없다. 이러한 블록체인의 특징은 데이터 저작권을 보호하고, 데이터 위조 및 훼손을 방지하며, 일부 노드 결함이나 해킹에 강하다는 등의 많은 장점을 갖는다.
그러나 비가역적이며 수정 및 삭제가 불가능한 블록체인의 특징은 개인정보보호 측면에서는 취약점이 될 수 있다. 개인정보보호 관련법에 따르면, 정보의 주체가 정보의 수정이나 삭제를 원하는 경우 정보관리자는 이를 수용해야 하는데 블록체인 플랫폼에서는 정보의 수정이나 삭제가 어렵다. 이에 따라, 개인정보를 다루는 응용분야에서 블록체인 기술이 사용되는데 제약이 존재한다.
본 개시에 따른 다양한 실시예들은 정보 주체의 요청에 따라 데이터의 삭제 및 복원이 가능한 블록체인 네트워크 노드 및 이의 동작방법을 제공하고자 한다. 본 개시가 이루고자 하는 기술적 과제는 상기와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
일 실시예에 따른 블록체인 네트워크 상의 노드 장치는, 트랜잭션의 실행 결과에 따른 상태 데이터를 저장 및 유지하는 상태 데이터베이스에 대한 사용자의 액세스 요청을 수신하는 사용자 입력부; 상기 액세스 요청에 따라, 상기 액세스 요청의 대상이 되는 상태 데이터에 대한 기 저장된 액세스 조건을 조회하는 액세스 조건 조회부; 상기 조회된 액세스 조건에 기초하여, 상기 사용자의 액세스를 허용할지 판단하는 액세스 조건 판단부; 및 상기 액세스 조건 판단부의 판단 결과에 따라 상기 액세스 요청에 응답하여 액세스 요청 결과를 제공하는 액세스 제어부를 포함한다.
일 실시예에 따른 블록체인 네트워크 상의 노드 장치의 동작방법은, 트랜잭션의 실행 결과에 따른 상태 데이터를 저장 및 유지하는 상태 데이터베이스에 대한 사용자의 액세스 요청을 수신하는 단계; 상기 액세스 요청에 따라, 상기 액세스 요청의 대상이 되는 상태 데이터에 대한 기 저장된 액세스 조건을 조회하는 단계; 상기 조회된 액세스 조건에 기초하여, 상기 사용자의 액세스를 허용할지 판단하는 단계; 및 상기 판단 결과에 따라 상기 액세스 요청에 응답하여 액세스 요청 결과를 제공하는 단계를 포함할 수 있다.
본 개시의 실시예들에 따른 블록체인 네트워크 상의 노드 장치 및 이의 동작방법은 블록체인 상에 저장된 데이터의 삭제를 가능하게 함으로써 정보주체가 자신의 개인정보 삭제를 요청할 수 있도록 할 수 있다. 이에 따라, 정보주체의 "개인정보 삭제 또는 잊힐 권리" 행사를 가능하게 하여 보다 넓은 응용 분야에서 블록체인 기술이 사용되게 촉진할 수 있다. 또한, 본 개시의 실시예들에 따른 블록체인 네트워크 상의 노드 장치 및 이의 동작방법은 블록체인 상에 저장된 데이터에 대한 액세스 조건(예: 삭제 조건)이 사용자에 의해 자유롭게 설정될 수 있도록 하여 개인정보보호 서비스를 효과적으로 제공할 수 있다.
도 1은 일부 실시예들에 따른 노드 장치의 구성을 나타내는 블록도이다.
도 2는 일부 실시예들에 따른 노드 장치의 프로세서와 메모리의 세부구성을 나타내는 블록도이다.
도 3은 일부 실시예들에 따른 노드 장치의 동작을 설명하기 위한 흐름도이다.
도 4는 일부 실시예들에 따른 노드 장치의 동작을 설명하기 위한 흐름도이다.
이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시예들을 상세히 설명하기로 한다. 하기 설명은 실시예들을 구체화하기 위한 것일 뿐 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시예로부터 당해 기술분야의 전문가가 용이하게 유추할 수 있는 것은 권리범위에 속하는 것으로 해석된다.
본 명세서에서 사용되는 "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 "제 1" 또는 "제 2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서, "블록체인"은 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들이 서비스의 이용 내역 정보를 암호화 기법과 보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어 요소를 활용하는 원장(ledger)의 분산 P2P (Peer to Peer)시스템을 의미할 수 있다. 여기서, 분산 P2P 시스템은 분산 시스템의 특수한 형태일 수 있다. 또한, P2P 시스템은 중앙 노드의 조정 없이 네크워크의 모든 노드들이 서로에게 자원(처리 능력, 저장 공간, 데이터 또는 네트워크 대역폭 등)을 제공할 수 있다. 또한, "블록체인"은 이용 내역 정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌 P2P 네트워크에 분산하여 네트워크 내의 노드들이 공동으로 기록하고 관리하는 분산원장(distributed ledger) 기술을 의미할 수 있다.
본 명세서에서, "노드"는 블록체인 네트워크 내에서 구성요소를 의미할 수 있다. 예를 들면, 노드는 특수 목적 컴퓨터(special-purpose computer), 범용 컴퓨터(general-purpose computer), 슈퍼 컴퓨터(supercomputer), 대형 컴퓨터(mainframe computer), 개인용 컴퓨터(personal computer), 스마트폰, 태블릿 PC 등일 수 있으나, 이에 제한되지 않는다.
본 명세서에서, "사용자"는 액세스 대상이 되는 데이터의 주체를 의미할 수 있다.
도 1은 일부 실시예들에 따른 노드 장치(100)의 구성을 나타내는 블록도이다. 노드 장치(100)는 프로세서(130), 통신부(140) 및 메모리(150)를 포함한다. 노드 장치(100)는 사용자 입력부(110) 및 출력부(120)를 더 포함할 수 있다. 다만, 노드 장치(100)는 도 1에 도시된 구성요소보다 많은 구성요소에 의해 구현될 수도 있고, 도시된 구성요소보다 적은 구성요소에 의해 구현될 수도 있다.
사용자 입력부(110)는 사용자가 노드 장치(100)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(110)에는 키 패드(key pad), 돔 스위치(dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일부 실시예들에 따르면, 사용자 입력부(110)는 저장된 데이터에 대한 사용자의 액세스 요청 입력을 수신할 수 있다. 또한, 사용자 입력부(110)는 저장된 데이터에 대한 액세스 조건의 입력을 수신할 수 있다.
출력부(120)는 오디오 신호, 비디오 신호 또는 진동 신호를 출력할 수 있다. 도 1에 도시하지 않았으나, 출력부(120)는 디스플레이부, 음향 출력부 및 진동 모터 중 적어도 하나를 포함할 수 있다.
일부 실시예들에 따르면, 출력부(120)는 사용자의 액세스 요청에 따른 동작의 수행 결과를 출력할 수 있다. 예를 들면, 사용자의 액세스 요청이 발생함에 따라 노드 장치(100)에서 소정의 동작이 수행될 수 있고, 소정의 동작이 수행된 결과는 출력부(120)를 통해 출력될 수 있다.
프로세서(130)는 통상적으로 노드 장치(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는 메모리(150)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(110), 출력부(120), 통신부(140) 등을 전반적으로 제어할 수 있다. 노드 장치(100)는 적어도 하나의 프로세서를 포함할 수 있다.
프로세서(130)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(150)로부터 프로세서(130)에 제공되거나, 통신부(140)를 통해 수신되어 프로세서(130)로 제공될 수 있다. 예를 들면, 프로세서(130)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일부 실시예들에 따르면, 프로세서(130)는 사용자의 액세스 요청에 따라, 기 저장된 액세스 조건을 조회하고, 조회된 액세스 조건에 기초하여 사용자의 액세스 허용 여부를 결정하고, 액세스 허용 여부 결정에 따라 액세스 요청 결과를 제공할 수 있다. 이에 대한 상세한 설명은 다른 도면을 참조하여 후술한다.
통신부(140)는 노드 장치(100)가 블록체인 네트워크에 포함된 다른 노드 장치(미도시) 또는 외부 장치(미도시)와 통신하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(140)는 근거리 통신부, 이동 통신부, 방송 수신부를 포함할 수 있다.
메모리(150)는 프로세서(130)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 노드 장치(100)로 입력되거나 노드 장치(100)로부터 출력되는 데이터를 저장할 수도 있다.
일부 실시예들에 따르면, 메모리(150)는 블록체인과 관련된 정보로서 스마트 계약 및 분산 원장과 관련된 정보를 저장할 수 있다. 예를 들어, 메모리(150)는 전체 블록체인 중 전부 또는 일부의 블록을 저장하는 블록체인 데이터베이스일 수 있다. 일부 실시예들에 따르면, 메모리(150)는 트랜잭션을 실행한 결과를 나타내는 상태 데이터(예: 자산의 이전)를 저장할 수 있다. 예를 들면, 메모리(150)는 트랜잭션의 실행 결과에 따라 획득되는 스냅샷을 기록하는 상태 데이터베이스일 수 있다.
메모리(150)의 예로서, 플래시 메모리 타입(flash memory type), 하드디스크 타입(harddisk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예: SD 또는 XD 메모리 등), 램(RAM, Random Access Memory), SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 들 수 있으나, 이에 한정되는 것은 아니다.
도 2는 일부 실시예들에 따른 노드 장치(100)의 프로세서(130)와 메모리(150)의 세부구성을 나타내는 블록도이다. 프로세서(130)는 액세스 조건 조회부(132), 액세스 조건 판단부(134) 및 액세스 제어부(136)의 기능을 위한 프로그램 코드를 수행하도록 구성될 수 있다. 이러한 프로그램 코드는 메모리(150)와 같은 기록 장치에 저장될 수 있다. 액세스 조건 조회부(132), 액세스 조건 판단부(134) 및 액세스 제어부(136)를 구분하여 도시한 것은 각각의 기능을 구별하여 설명하기 위함이다. 따라서, 프로세서(130)는 액세스 조건 조회부(132), 액세스 조건 판단부(134) 및 액세스 제어부(136) 각각의 기능을 수행하도록 구성된 적어도 하나의 프로세서를 포함할 수 있다.
일부 실시예들에 따르면, 메모리(150)는 블록체인 데이터베이스(154) 및 상태 데이터베이스(156)를 포함할 수 있다. 블록체인 데이터베이스(154)는 스마트 계약 및 분산 원장과 관련된 정보를 저장 및 유지할 수 있으며, 전체 블록체인 중 전부 또는 일부를 저장 및 유지할 수 있다. 예를 들어, 블록체인 데이터베이스(154)는 스마트 계약의 처리 호출을 로그처럼 기록할 수 있다. 상태 데이터베이스(156)는 트랜잭션의 실행 결과에 따른 최신 상태를 나타내는 상태 데이터를 저장 및 유지할 수 있다. 예를 들어, 상태 데이터베이스(156)는 키-밸류(Key-Value) 데이터베이스로서 자산의 상태에 대한 데이터를 키(key)와 밸류(value)의 쌍으로 저장할 수 있다. 또한, 메모리(150)는 사용자에 의해 입력된 액세스 조건(152)을 저장할 수 있다. 예를 들어, 액세스 조건(152)은 트랜잭션 요청에 포함되어 트랜잭션 실행 후 메모리(150)에 저장될 수 있다.
도 2를 참조하면, 사용자 입력부(110)는 트랜잭션의 실행 결과에 따른 상태 데이터를 저장 및 유지하는 상태 데이터베이스(156)에 대한 사용자의 액세스 요청을 수신한다. 액세스 요청은 읽기 요청, 쓰기 요청 및 삭제 요청을 포함할 수 있다.
액세스 조건 조회부(132)는 사용자의 액세스 요청에 따라, 액세스 요청의 대상이 되는 상태 데이터에 대한 기 저장된 액세스 조건을 조회한다. 액세스 조건은 상태 데이터 별로 다르게 지정될 수 있고, 액세스 종류 별로 다르게 지정될 수도 있다. 일부 실시예들에 따른 기 저장된 액세스 조건은, 액세스 요청이 지정된 시간 범위 이내에서 발생한 경우, 액세스 요청이 액세스 권한을 갖는 사용자에 의해 발생한 경우, 및 액세스 요청이 지정된 블록 생성 주기에서 발생한 경우 중 적어도 하나의 경우를 포함할 수 있다. 예를 들어, 사용자는 소정의 상태 데이터에 대해 액세스 가능한 특정 시간대를 지정하거나, 액세스 권한을 갖는 노드를 지정하거나, 상태 데이터의 저장 이후 일정 블록 생성 주기가 경과한 뒤 액세스 가능하도록 지정하거나, 또는 이들의 조합을 지정할 수 있다. 일부 실시예들에 따르면, 사용자는 앞서 설명한 예시적인 조건 외에 다양한 조건들을 액세스 조건으로 자유롭게 설정할 수 있다.
액세스 조건 판단부(134)는 조회된 액세스 조건(152)에 기초하여 사용자의 액세스를 허용할지 판단한다. 예를 들어, 사용자가 소정의 상태 데이터에 대해 액세스 가능한 특정 시간대를 지정하였고, 지정된 특정 시간대에 상기 소정의 상태 데이터에 대한 액세스 요청이 발생한 경우, 액세스 조건 판단부(134)는 해당 상태 데이터에 대한 액세스를 허용한다.
액세스 제어부(136)는 액세스 조건 판단부(134)의 판단 결과에 따라 사용자의 액세스 요청에 응답하여 액세스 요청 결과를 제공한다. 액세스 조건 판단부(134)에 의해 액세스가 허용되는 경우, 액세스 제어부(136)는 액세스 요청에 따른 액세스 수행(예: 읽기, 쓰기, 삭제) 결과를 제공한다. 반대로, 액세서 조건 판단부(134)에 의해 액세스가 허용되지 않는 경우, 액세스 제어부(136)는 액세스 요청에 따라 액세스를 할 수 없다는 액세스 거부 결과를 제공한다.
예를 들어, 액세스 요청이 상태 데이터에 대한 삭제 요청인 경우에 대하여 설명한다. 액세스 조건 조회부(132)는 삭제 요청의 대상이 되는 상태 데이터에 대한 액세스 조건(예: 삭제 조건)을 조회할 수 있다. 액세스 조건 판단부(134)는 조회된 액세스 조건에 기초하여 삭제 요청을 허용할지 판단할 수 있다. 액세스 제어부(136)는 액세스 조건 판단부(134)에 의해 삭제 요청이 허용되면, 상태 데이터베이스(156)로부터 상태 데이터를 삭제(예: 영구 삭제)할 수 있다.
일부 실시예들에서, 사용자는 상태 데이터에 대한 삭제 조건으로서, 해당 상태 데이터가 삭제되더라도 추후에 복구 가능하도록 하는 조건(이하, "추후 복구 조건")을 설정할 수 있다. 예를 들어, 추후 복구 조건은 액세스 조건(예: 삭제 조건)으로서 메모리(150)에 미리 저장될 수 있다. 일부 실시예들에서, 사용자는 추후 복구 조건을 액세스 요청(예: 삭제 요청)에 포함시킬 수 있다.
추후 복구 조건이 존재하는 실시예에서, 액세스 제어부(136)는 액세스 조건 판단부(134)에 의해 삭제 요청이 허용되면, 해당 상태 데이터를 영구 삭제하지 않고, 해당 상태 데이터에 대한 복구 요청이 발생할 때까지 상태 데이터에 대한 액세스를 거부할 수 있다. 대안적으로, 액세스 제어부(136)는 해당 상태 데이터를 영구 삭제하지 않고, 해당 상태 데이터에 액세스하기 위한 상태 데이터베이스(156)로의 연결을 삭제할 수 있다. 상태 데이터에 대한 삭제 요청에 따라 전술한 과정이 수행된 뒤, 복구 요청이 발생하면 액세스 제어부(136)는 해당 상태 데이터에 대한 액세스 허용하거나, 삭제된 상태 데이터베이스(156)로의 연결을 다시 생성할 수 있다.
도 3은 일부 실시예들에 따른 노드 장치(100)의 동작을 설명하기 위한 흐름도이다.
노드 장치(100)는 트랜잭션의 실행 결과에 따른 상태 데이터를 저장 및 유지하는 상태 데이터베이스(156)에 대한 사용자의 액세스 요청을 수신할 수 있다(S310). 액세스 요청은 읽기 요청, 쓰기 요청 및 삭제 요청을 포함할 수 있다.
노드 장치(100)는 사용자의 액세스 요청에 따라, 액세스 요청의 대상이 되는 상태 데이터에 대한 기 저장된 액세스 조건을 조회할 수 있다(S320). 액세스 조건은 상태 데이터 별로 다르게 지정될 수 있고, 액세스 종류 별로 다르게 지정될 수도 있다. 일부 실시예들에 따른 기 저장된 액세스 조건은, 액세스 요청이 지정된 시간 범위 이내에서 발생한 경우, 액세스 요청이 액세스 권한을 갖는 사용자에 의해 발생한 경우, 및 액세스 요청이 지정된 블록 생성 주기에서 발생한 경우 중 적어도 하나의 경우를 포함할 수 있다. 예를 들어, 사용자는 소정의 상태 데이터에 대해 액세스 가능한 특정 시간대를 지정하거나, 액세스 권한을 갖는 노드를 지정하거나, 상태 데이터의 저장 이후 일정 블록 생성 주기가 경과한 뒤 액세스 가능하도록 지정하거나, 또는 이들의 조합을 지정할 수 있다. 일부 실시예들에 따르면, 사용자는 앞서 설명한 예시적인 조건 외에 다양한 조건들을 액세스 조건으로 자유롭게 설정할 수 있다.
노드 장치(100)는 조회된 액세스 조건에 기초하여, 사용자의 액세스를 허용할지 판단할 수 있다(S330). 예를 들어, 사용자가 소정의 상태 데이터에 대해 액세스 가능한 특정 시간대를 지정하였고, 지정된 특정 시간대에 상기 소정의 상태 데이터에 대한 액세스 요청이 발생한 경우, 액세스 조건 판단부(134)는 해당 상태 데이터에 대한 액세스를 허용한다.
노드 장치(100)는 단계 S330의 판단 결과에 따라 액세스 요청에 응답하여 액세스 요청 결과를 제공할 수 있다(S340). 단계 S330에서 액세스가 허용된 경우, 노드 장치(100)는 액세스 요청에 따른 액세스 수행(예: 읽기, 쓰기, 삭제) 결과를 제공한다. 반대로, 단계 S330에서 액세스가 허용되지 않은 경우, 노드 장치(100)는 액세스 요청에 따라 액세스를 할 수 없다는 액세스 거부 결과를 제공한다.
도 4는 액세스 요청이 삭제 요청인 일부 실시예들에 따른 노드 장치(100)의 동작을 설명하기 위한 흐름도이다.
노드 장치(100)는 상태 데이터베이스(156)에 저장된 소정의 상태 데이터에 대한 사용자의 삭제 요청을 수신할 수 있다(S410). 노드 장치(100)는 삭제 요청의 대상이 되는 상태 데이터에 대한 기 저장된 액세스 조건(즉, 삭제 조건)을 조회할 수 있다(S420). 노드 장치(100)는 조회된 액세스 조건에 기초하여 삭제 요청을 허용할지(즉, 삭제 조건이 만족되는지) 판단할 수 있다(S430). 단계 S430에서 삭제 요청이 허용되지 않는 것으로 판단되면, 노드 장치(100)는 해당 상태 데이터에 대한 삭제 요청을 거부할 수 있다(S440). 반면, 단계 S430에서 삭제 요청이 허용되는 것으로 판단되면, 노드 장치(100)는 추후 복구 조건이 존재하는지 더 판단할 수 있다(S450). 추후 복구 조건이 존재하지 않는 경우, 노드 장치(100)는 상태 데이터베이스(156)로부터 상태 데이터를 삭제(예: 영구 삭제)할 수 있다(S460). 반면, 추후 복구 조건이 존재하는 경우, 노드 장치(100)는 해당 상태 데이터를 영구 삭제하지 않고, 해당 상태 데이터에 대한 복구 요청이 발생할 때까지 상태 데이터에 대한 액세스를 거부할 수 있다(S470). 또는, 노드 장치(100)는 해당 상태 데이터를 영구 삭제하지 않고, 해당 상태 데이터에 액세스하기 위한 상태 데이터베이스(156)로의 연결을 삭제할 수 있다(S480).
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (10)

  1. 블록체인 네트워크 상의 노드 장치에 있어서,
    트랜잭션의 실행 결과에 따른 상태 데이터를 저장 및 유지하는 상태 데이터베이스에 대한 사용자의 액세스 요청을 수신하는 사용자 입력부;
    상기 액세스 요청에 따라, 상기 액세스 요청의 대상이 되는 상태 데이터에 대한 기 저장된 액세스 조건을 조회하는 액세스 조건 조회부;
    상기 조회된 액세스 조건에 기초하여, 상기 사용자의 액세스를 허용할지 판단하는 액세스 조건 판단부; 및
    상기 액세스 조건 판단부의 판단 결과에 따라 상기 액세스 요청에 응답하여 액세스 요청 결과를 제공하는 액세스 제어부
    를 포함하는 노드 장치.
  2. 제1항에 있어서,
    상기 기 저장된 액세스 조건은,
    액세스 요청이 지정된 시간 범위 이내에서 발생한 경우, 액세스 요청이 액세스 권한을 갖는 사용자에 의해 발생한 경우, 및 액세스 요청이 지정된 블록 생성 주기에서 발생한 경우 중 적어도 하나의 경우를 포함하는, 노드 장치.
  3. 제1항에 있어서,
    상기 액세스 요청은 상기 상태 데이터에 대한 삭제 요청이고,
    상기 액세스 조건 판단부는 상기 조회된 액세스 조건에 기초하여 상기 삭제 요청를 허용할지 판단하고,
    상기 액세스 제어부는 상기 액세스 조건 판단부에 의해 상기 삭제 요청이 허용되면 상기 상태 데이터베이스로부터 상기 상태 데이터를 삭제하는, 노드 장치.
  4. 제3항에 있어서,
    상기 삭제 요청은 상기 상태 데이터에 대한 추후 복구 조건을 포함하고,
    상기 액세스 제어부는 상기 액세스 조건 판단부에 의해 상기 삭제 요청이 허용되면, 상기 상태 데이터에 대한 복구 요청이 발생할 때까지 상기 상태 데이터에 대한 액세스를 거부하는, 노드 장치.
  5. 제3항에 있어서,
    상기 삭제 요청은 상기 상태 데이터에 대한 추후 복구 조건을 포함하고,
    상기 액세스 제어부는 상기 액세스 조건 판단부에 의해 상기 삭제 요청이 허용되면, 상기 상태 데이터에 액세스하기 위한 상기 상태 데이터베이스로의 연결을 삭제하는, 노드 장치.
  6. 블록체인 네트워크 상의 노드 장치의 동작방법에 있어서,
    트랜잭션의 실행 결과에 따른 상태 데이터를 저장 및 유지하는 상태 데이터베이스에 대한 사용자의 액세스 요청을 수신하는 단계;
    상기 액세스 요청에 따라, 상기 액세스 요청의 대상이 되는 상태 데이터에 대한 기 저장된 액세스 조건을 조회하는 단계;
    상기 조회된 액세스 조건에 기초하여, 상기 사용자의 액세스를 허용할지 판단하는 단계; 및
    상기 판단 결과에 따라 상기 액세스 요청에 응답하여 액세스 요청 결과를 제공하는 단계를 포함하는 방법.
  7. 제6항에 있어서,
    상기 기 저장된 액세스 조건은,
    액세스 요청이 지정된 시간 범위 이내에서 발생한 경우, 액세스 요청이 액세스 권한을 갖는 사용자에 의해 발생한 경우, 및 액세스 요청이 지정된 블록 생성 주기에서 발생한 경우 중 적어도 하나의 경우를 포함하는, 방법.
  8. 제6항에 있어서,
    상기 액세스 요청은 상기 상태 데이터에 대한 삭제 요청이고,
    상기 사용자의 액세스를 허용할지 판단하는 단계는, 상기 조회된 액세스 조건에 기초하여 상기 삭제 요청를 허용할지 판단하는 단계를 포함하고,
    상기 액세스 요청 결과를 제공하는 단계는, 상기 삭제 요청이 허용되면 상기 상태 데이터베이스로부터 상기 상태 데이터를 삭제하는 단계를 포함하는, 방법.
  9. 제8항에 있어서,
    상기 삭제 요청은 상기 상태 데이터에 대한 추후 복구 조건을 포함하고,
    상기 액세스 요청 결과를 제공하는 단계는, 상기 삭제 요청이 허용되면 상기 상태 데이터에 대한 복구 요청이 발생할 때까지 상기 상태 데이터에 대한 액세스를 거부하는 단계를 포함하는, 방법.
  10. 제8항에 있어서,
    상기 삭제 요청은 상기 상태 데이터에 대한 추후 복구 조건을 포함하고,
    상기 액세스 요청 결과를 제공하는 단계는, 상기 삭제 요청이 허용되면 상기 상태 데이터에 액세스하기 위한 상기 상태 데이터베이스로의 연결을 삭제하는 단계를 포함하는, 방법.
KR1020190018809A 2019-02-18 2019-02-18 액세스 제어를 위한 블록체인 네트워크의 노드 장치 및 이의 동작방법 KR102607875B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190018809A KR102607875B1 (ko) 2019-02-18 2019-02-18 액세스 제어를 위한 블록체인 네트워크의 노드 장치 및 이의 동작방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190018809A KR102607875B1 (ko) 2019-02-18 2019-02-18 액세스 제어를 위한 블록체인 네트워크의 노드 장치 및 이의 동작방법

Publications (2)

Publication Number Publication Date
KR20200100471A true KR20200100471A (ko) 2020-08-26
KR102607875B1 KR102607875B1 (ko) 2023-11-29

Family

ID=72242406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190018809A KR102607875B1 (ko) 2019-02-18 2019-02-18 액세스 제어를 위한 블록체인 네트워크의 노드 장치 및 이의 동작방법

Country Status (1)

Country Link
KR (1) KR102607875B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180085570A (ko) * 2017-01-19 2018-07-27 주식회사 케이티 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180085570A (ko) * 2017-01-19 2018-07-27 주식회사 케이티 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법

Also Published As

Publication number Publication date
KR102607875B1 (ko) 2023-11-29

Similar Documents

Publication Publication Date Title
US20210103581A1 (en) Blockchain based data management system and method thereof
US9077747B1 (en) Systems and methods for responding to security breaches
CN102112990B (zh) 为计算过程授予最小特权访问
JP2019521455A (ja) サービス操作リスクを管理するための方法及びデバイス
KR20160138450A (ko) 스토리지 디바이스에 대한 신속한 데이터 보호
US11403180B2 (en) Auxiliary storage device having independent recovery area, and device applied with same
RU2640653C2 (ru) Сетевое управление наборами защищенных данных
RU2581559C2 (ru) Система и способ применения политик безопасности к накопителю в сети
JP7448593B2 (ja) 改良されたデータ制御及びアクセスの方法及びシステム
KR101223594B1 (ko) Lkm 루트킷 검출을 통한 실시간 운영정보 백업 방법 및 그 기록매체
KR102519186B1 (ko) 트랜잭션 처리를 위한 블록체인 네트워크의 노드 장치 및 이의 동작방법
US20150235025A1 (en) Process to prevent malicious changes to electronic files on an electronic storage device
US11048809B1 (en) Systems and methods for detecting misuse of online service access tokens
JP2023517531A (ja) 認可されていないファイル変更からフォルダを保護するためのシステム及び方法
RU2571380C2 (ru) Система и способ для изоляции ресурсов посредством использования ресурсных менеджеров
KR102607875B1 (ko) 액세스 제어를 위한 블록체인 네트워크의 노드 장치 및 이의 동작방법
KR20200048676A (ko) 블록체인 기반 데이터 관리 방법, 장치 및 그 시스템
KR102212664B1 (ko) 로그 데이터의 무결성을 보장하는 장치 및 방법
Behera et al. Big data security threats and prevention measures in cloud and Hadoop
US7703135B2 (en) Accessing protected resources via multi-identity security environments
US10999310B2 (en) Endpoint security client embedded in storage drive firmware
KR102090151B1 (ko) 데이터 보호 시스템 및 그 방법
KR20220142210A (ko) 블록체인의 적응적 트랜잭션 처리 방법 및 노드 장치
US20230132611A1 (en) Abnormal classic authorization detection systems
US20220366039A1 (en) Abnormally permissive role definition detection systems

Legal Events

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