devGYU World
UPass: DID를 활용한 사용자 주권 보장 교내 인증 플랫폼 본문
UPass는 블록체인 네트워크 기술을 활용한 DID 기반의 교내 인증 플랫폼이다.
기존의 중앙화된 인증 시스템은 사용자의 개인 정보를 관리하는 것에 있어서 공격자의 공격에 취약했다. UPass의 개발팀 '이팔청춘'은 이러한 점을 보완하고자 블록체인 네트워크 상에서 동작하는 DID 기반의 새로운 인증 플랫폼을 개발하였다.
UPass의 목표와 필요성
네트워크 상에서 발생할 수 있는 데이터 침해 사고를 예방 및 관리하기 위한 분산신원인증 플랫폼 인터넷 상에서 발생하는 데이터 침해 사고에 방어적인 전략을 수립하기 위한 어플리케이션 개인정보에 대해 민감하게 반응할 수 있는 사용자들의 정보를 관리해야하는 서버 관리자들을 대상으로 함 |
UPass는 다양한 플랫폼에서의 활용을 지향한다
UPass는 사용자 학생증을 발급하기 위해 학생의 정보를 블록체인 네트워크에 기록한다.
기록된 학생의 정보는 해싱되어 본인을 제외한 누구도 탈취할 수 없다.
암호화된 학생 정보는 QR코드를 통해 간편하게 인증할 수 있다. 이때 QR코드는 동적으로 발급되므로 사용자 외에 타인이 무단으로 도용할 수 없다.
Private Blockchain의 네트워크 구성
기존의 Public Blockchain과는 다르게 Hyperledger Indy는 Private Blockchain으로 구성되어 있다. Private Blockchain은 합의 노드가 정해져 있으므로 합의할 수 있는 노드를 구성할 수 있다. 이를 통해 Ledger를 분산시켜 저장할 수 있는 Client 노드는 Docker로 구성한다.
Docker 활용 시 시스템의 자원을 절약하고 사용자가 손쉽게 노드로 네트워크에 참여할 수 있음은 이전 게시글을 통해 확인할 수 있다.
블록체인 및 DID 기반 교내 학생증 발급 및 서비스
블록체인 및 DID 기반 교내 학생증 발급 및 서비스 김성빈*, 박기우*, 박영길*, 조규선*, 하현준* Campus Student ID Issuance and Service based on Blockchain and DID Kim-Sung Been*, and Park-Ki Woo*, Park-..
devgyuworld.tistory.com
Transactions의 발생과 저장
Pool은 초기에 Steward를 생성한다. 이후에 Trust anchor를 등록시키기 위해 후보 DID를 생성하고, Steward는 후보 DID를 Trust anchor로 등록시키기 위해 Transactions를 생성한다. 모든 과정이 완료된 이후로부터 사용자가 DID를 발급하게 되면 해당 사실을 담은 Transaction을 Trust anchor가 Steward에게 전송하고 Steward는 받은 Transactions의 발신자가 자신이 임명한 Trust anchor인지를 확인하기 위해 Trust anchor의 verkey와 Transaction에 담긴 verkey의 일치 여부를 확인한다.
Django REST Framework로 RESTful API Server 구축
UPass는 웹앱 기반이므로 그에 잘 대응 될 수 있는 API 서버의 구축이 필요했다. 따라서 DRF를 활용했으며 http의 URL과 http method를 사용하여 API 사용 가독성을 높인 구조화된 시스템 아케텍쳐가 적용되었다. 또한 Searializer 기능을 통해 데어터를 JSON 형식으로 변환하여 처리할 수 있었다.
Hash 함수 활용
UPass의 네트워크 상에서 전달되는 모든 정보는 RAW하지 않다. 모든 정보는 해싱된 데이터로 전달되며 http와 https, GET, POST를 모두 활용할 수 있도록 해싱을 진행하였다. 빠른 서비스 실행을 위해 사용되는 Cache DB 역시 암호화된 데이터만을 다룬다.
즉, UPass의 모든 개인 정보는 사용자 본인 외에는 활용할 수 없다. UPass는 사용자의 데이터 주권 보장을 추구한다.
UPass 기능 Flow
- 초기 프로토타입(Figma)
- 7가지 컴포넌트
- 사용자 UI
- 관리자 UI
- 회원가입 1/2
- 회원가입 2/2
- 간편 비밀번호 백업
- 회원 찾기
- 출입 명부 불러오기
- QR 인증
- 사용자 출입 기록 확인
참고
이팔청춘
캡스톤디자인 프로젝트(블록체인 기반 학생증 발급 어플리케이션). 이팔청춘 has 4 repositories available. Follow their code on GitHub.
github.com