Today
Total
08-27 04:13
관리 메뉴

devGYU World

블록체인 및 DID 기반 교내 학생증 발급 및 서비스 본문

Study/Paper

블록체인 및 DID 기반 교내 학생증 발급 및 서비스

devGYU 2021. 12. 7. 14:37

블록체인 및 DID 기반 교내 학생증 발급 및 서비스

김성빈*, 박기우*, 박영길*, 조규선*, 하현준*

 

Campus Student ID Issuance and Service based on Blockchain and DID

Kim-Sung Been*, and Park-Ki Woo*, Park-Young Gil*, Jo-Gyu Seon*, Ha-Hyun Joon*

 

요 약

본 연구에서는 블록체인과 DID(Decentralized Identifier) 기반 학생증 발급 및 서비스를 설명하고자 한다. 블록체인은 기존의 사용 중인 여러 Legacy System에 비하여 다루는 데이터에 대한 무결성과 투명성을 보장하여 보안적 측면에서 매우 우수한 기술이다. 본 연구는 보안적인 기대 효과를 위해 DID와 블록체인을 응용한 시스템을 사용하였다. DID를 통한 분산 신원 인증 체계를 구축하고 도커를 활용하여 학생들의 정보를 분산된 형태로 보관하고, 해싱을 활용하여 정보를 저장한다. 해당 시스템은 교내의 다양한 인증 절차를 간편하게 이용할 수 있고, 사용자 친화적인 UI 및 서비스를 제공할 수 있다.

 

Abstract

In this study, we intend to explain the issuance and service of student ID cards based on blockchain and DID (Decentralized Identifier). Blockchain is a very superior technology in terms of security by ensuring the integrity and transparency of data handled compared to existing legacy systems. This study used a system that applied DID and blockchain for the expected security effect. Establish a distributed identity authentication system through DID, use Docker to store student information in a distributed form, and use hashing to store information. The system can conveniently use various authentication procedures within the school, and can provide user-friendly UI and services.

 

Ⅰ. 서 론

 

 블록체인(Blockchain)이란 데이터를 ‘블록’이라 불리는 데이터 덩어리를 분산된 형태의 노드들로 구성된 P2P 분산 네트워크 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장 환경이다. 블록체인에 저장된 데이터는 누구라도 임의로 수정이 불가능하고, 누구나 데이터를 열람할 수 있다. 블록체인은 기본적으로 ‘Satoshi Nakamoto’가 고안한 ‘비트코인’과 같은 암호 화폐 거래에 주로 활용이 된다. 하지만 본 연구에서는 암호 화폐 거래가 아닌, 학생증 발급을 논하고자 한다.

 블록체인은 크게 Public Blockchain과 Private Blockchain으로 나뉜다. 본 연구에서는 특정 집단을 대상으로 블록체인 네트워크를 구성하기 때문에 Private 블록체인을 선택하고, 허가된 사용자만이 네트워크에 접속할 수 있도록 구성하였다.

기존 학생증 발급 시스템은 중앙 집중된 형태의 데이터베이스를 활용하여 중앙 집중형 공격(SPoF)에 취약한 모습을 보인다. 하지만 블록체인을 활용하여 학생증을 발급한다면, 분산된 P2P 형태의 네트워크를 구성하고 데이터의 무결성과 보안성, 투명성을 보장받을 수 있다.

 블록체인과 더불어 최근 DID(Decentralized Identifier)라는 분산 신원인증 체계가 도입되는 추세이다. DID는 위에서 언급한 중앙 집중형 공격에 취약한 데이터를 사용자 자신이 사용 및 저장하며, 서버에는 저장되지 않는 형태이다.

 본 연구에서는 이를 활용하여 DID 학생증을 발급하고, 발급받은 학생증을 활용하여 데이터 주권을 실현하고자 한다.

 

(중략...)

 

Ⅱ.1. Layer 1: 블록체인 네트워크

 

 블록체인 네트워크는 Linux 재단의 Hyperledger 프로젝트 중 하나인 Hyperledger Indy(이하 Indy)를 활용하여 구성하였다. Indy는 오픈소스 프로젝트로 누구나 참여할 수 있고, 기여할 수 있다. 또한, DID를 활용하기 위해 고안된 프로젝트이기 때문에 해당 연구에서 활용도가 상당히 높다.

 Indy는 Private 블록체인으로 허가된 사용자만이 네트워크에 접속할 수 있다. 따라서 검증 노드로 Indy-Node를 활용하였고, 각 클라이언트는 도커위에 Indy-SDK를 활용한 파이썬 코드로 구성되어 있다. 블록체인 네트워크를 구성하게 되면, Pool이 형성된다.

 각 검증 노드는 교내 서버실 등을 활용한다. 따라서 중앙 집중형 서버가 아닌 분산된 형태로 네트워크를 구성하게 된다. 예를 들어, 각 과 별로 하나의 검증 노드를 구성하고, 이를 연결하면 50개의 과가 존재한다는 가정하게 50개의 검증 노드가 존재할 수 있다.

 각 클라이언트 도커를 활용하게 된다. 각 도커는 도커 컨테이너로 생성이 되며, 같은 도커 이미지로 생성할 수 있다. 클라이언트는 생성된 Pool에 접근하여 DID를 발급받고 해당 DID를 Pool에 등록하는 ‘NYM 트랜잭션’을 발생시킬 수 있다. 발생된 트랜잭션에는 DID 정보가 담겨있고, 해당 정보는 누구나 열람할 수 있다. DID 정보는 누구나 확인할 수 있지만, 해당 DID가 누구의 DID 인지는 확인이 불가능하다. 따라서 이를 통해 데이터 주권을 실현할 수 있다. 데이터 주권은 자신의 데이터가 어디서, 어떻게, 어떤 목적으로 사용될지 결정할 수 있는 권리이다.

 사용자는 도커 즉, 클라이언트에 접근할 수 있고, Wallet 생성 및 DID 발급, 트랜잭션 발생 등을 수행할 수 있다. 따라서 사용자는 자신이 도커를 사용하는지 알 수 없다.

 

(중략...)

 

Ⅲ. 제안연구

 

Ⅲ.1. 이외 도메인을 위한 DID 증명서 발급

 

 본 논문에서는 학생증 발급을 위한 블록체인 네트워크와 DID 증명서 발급에 대하여 논하였다. 하지만 이를 통해 다른 도메인으로의 확장이 가능할 것으로 예상한다. 예를 들어 사원증, 교직원증 등을 블록체인과 DID를 활용하여 발급할 수 있을 것이다.

 본 논문에서 언급한 네트워크 구성과 각종 API 및 Web을 프레임워크로 사용하고, 필요한 변수와 도메인만 변경한다면 다른 도메인으로의 활용이 가능할 것으로 예상한다. 따라서 추후 연구에서는 이외 도메인을 활용하기 위한 DID 구성요소를 파악하고, 인증받을 수 있는 네트워크 구성 등을 수행할 예정이다.

 

Ⅲ.2. 각종 서비스 제공

 

 해당 논문에서 말하고자 하는 내용은 블록체인 네트워크를 구성하고 DID를 활용하여 증명서 등을 발급하는 흐름이다. 하지만, 이외에 다른 서비스 계층을 추가할 수 있을 것으로 예상한다.

 예를 들어 교내 포인트 제도를 블록체인의 무결성 및 보안성, 투명성 등을 활용하여 관리할 수 있을 것이다. 또한, 시설물 예약 등을 간편하게 할 수 있을 것이다.

 이외에도 다양한 서비스들을 제공할 수 있을 것으로 예상하고, 모든 서비스들은 트랜잭션을 통해 블록체인 네트워크상에 기록될 것이다. 기록된 트랜잭션은 누구도 변경할 수 없으며, 누구나 확인할 수 있다.

 

Ⅳ. 실험결과 및 분석: 도커를 활용한 블록체인 네트워크 구성

 

도커를 활용한 설계 구조

 

 본 논문에서는 블록체인 네트워크를 구성하는 클라이언트 노드에 도커를 활용하였다. 도커는 가상환경을 제공하며, 각 도커에는 실제 사용자들이 접근하게 된다. 접근하는 사용자들의 편의를 위해 사용자 자신이 도커에 접근했는지 모른다. 도커를 활용하게 되면, 분산된 환경을 구성할 수 있을 뿐 아니라, 서버를 사용할 때 보다 네트워크 구성이 편리하다.

사용자는 웹서버에 접근하여 매핑된 도커 컨테이너에 접속하고, 다양한 동작을 수행한다. 이때 웹서버에서 SSL 통신을 활용하여 보안성을 향상시키고, 사용자의 데이터 및 정보를 Hashing 하여 API 서버 및 도커에 전송한다. 각 검증 노드는 서버를 활용하여 구성한다. 클라이언트 노드들은 검증 노드(Pool)에 트랜잭션을 발생시켜 DID를 Pool에 등록한다.

이때, 도커와 사용자의 매핑되는 비율은 변경될 수 있다. 만약, 제공되는 서비스가 무거운 프로세스를 실행해야 한다면, 1개의 도커에 매핑되는 사용자 수를 감소시키면 된다. 하지만 가벼운 프로세스만 실행하는 경우에는 1개의 도커에 매핑되는 사용자 수를 증가시켜 자원을 절약할 수 있다.

 해당 실험을 통해 시스템 자원을 절약하고, 사용자의 편의성을 증대시킬 수 있는 결과를 도출하게 되었다.

 


참고
김성빈, 박기우, 박영길, 조규선, & 하현준. (2021, June). 블록체인 및 DID 기반 교내 학생증 발급 및 서비스. In Proceedings of KIIT Conference (pp. 739-744).

 

Comments