Skip to content

블록체인, 딥러닝 기반의 얼굴 인식 본인 인증 시스템

Notifications You must be signed in to change notification settings

jhLim97/lim-yoon-jeong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

개발 목표

분실, 파손, 도용 위험이 있는 인증에 필요한 소지품 없이 얼굴만을 통해서 인증함으로써 효율적이고 간편하며, 인증데이터와 인증 기록에 대해서도 무결성을 보장할 수 있는 시스템을 목표로 한 프로젝트입니다.

프로젝트 방향

해당 프로젝트는 카메라 내의 사람얼굴을 인식하여 사람에 대한 정보와 인증시간을 블록체인에 저장하며, 이더리움의 스마트 컨트랙트를 통해 발급한 토큰을 통한 결제를 할 수 있는 프로그램입니다.

시스템 구성도

image

개발 환경

image

유스케이스 다이어그램

image

사용자는 인증 프로그램을 통해 얼굴 인식을 한 뒤 입출입 허용을 받을 수 있고, 결제 프로그램을 통해 얼굴 인식을 한 뒤 메뉴선택을 하고 결제를 할 수 있다. 또한 사용자는 로그인을 통해 본인의 인증기록을 열람할 수 있다.

관리자는 로그인을 통해 전체 회원목록에서 특정 사용자에 대한 인증기록들을 조회할 수 있고 사용자 정보를 입력하여 새로운 사용자를 등록 할 수 있다.

클래스 다이어그램

image

  • FaceRecognition: 얼굴 전처리 후 얼굴 인식을 통한 인증을 수행한다.
  • FacePay: 얼굴 전처리 후 얼굴 인식을 통한 결제를 수행한다.
  • App: 얼굴 인증과 결제를 하기 위한 웹 서버와 파이썬 파일의 소켓통신을 수행한다.
  • Attendance: 인증이력 조회 및 추가를 수행한다.
  • UseHistory: 웹 서버와 이더리움 네트워크 사이의 인증정보에 대한 통신을 수행한다.
  • IdentifyInfo: 인증 데이터에 대한 해쉬 코드 조회 및 추가를 수행한다.
  • IdentifyInformation: 웹 서버와 이더리움 네트워크 사이의 인증에 사용되는 데이터에 관한 통신을 수행한다.
  • Pay: 유저의 잔액을 조회하고 결제하는 기능을 수행한다.
  • Token: 웹 서버와 이더리움 네트워크 사이의 결제에 관한 통신을 수행한다.
  • Admin: 관리자 뷰이다.
  • User: 일반 사용자의 뷰이다.
  • ApiCryto: 일반 사용자가 자신의 계좌 및 비밀키를 설정할 경우 암호화를 도와준다.

시퀀스 다이어그램

image

구현 기능 목록

  • 관리자는 인증에 쓰일 사람들의 정보를 저장한다.
    • 중앙 서버에 저장한다.
    • 개인 별 식별 코드, 이름을 저장한다.
    • 수정 및 삭제가 가능하다.
    • 해당 인증데이터에 대한 해쉬 값을 블록체인에 저장한다.
  • 출입시 본인확인을 위한 얼굴 인증을 수행한다.
    • 딥러닝 기반의 얼굴 인식 API를 구축한다.
    • 인식 성공 시 고유한 식별코드값이 추출된다.
  • 인식 성공 시 해당 데이터에 대한 검증을 실시한다.
    • 인증에 사용된 데이터의 해시값과 블록체인에 저장된 해쉬값을 비교함으로써 위변조를 검증한다.
  • 검증 성공 시 해당 데이터를 블록체인에 저장한다.
    • 인증 이력(중요정보가 아닌 메타데이터)을 이더리움 기반의 블록체인에 저장한다.
    • 따라서, 수정 및 삭제가 불가능하다.
  • 개인은 자신의 인증이력을 조회할 수 있다.
    • 회원가입 후 본인의 아이디를 통해 조회한다.
  • 관리자는 모든 사람의 인증이력을 조회할 수 있다.
    • 주어진 관리자 키를 사용하여 관리자 인증을 수행한다.
  • 사내, 학교 내에서 이더리움 기반의 토큰을 발급해 커뮤니티 화폐로 사용한다.
    • 약속된 단체 내에 식당, 카페와 같은 곳에서 결제 시 사용할 수 있다.
    • 결제내역은 메타마스크 및 이더스캔에서 확인가능하다.

About

블록체인, 딥러닝 기반의 얼굴 인식 본인 인증 시스템

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published