[ 논문스터디 ] FIDO, NFC, 블록체인을 활용한 오프라인 본인확인 서비스 제안
FIDO와 블록체인을 활용한 본인확인 서비스 구조를 제안, NFC를 활용하여 빠른 인증이 가능할 것으로 기대됨
2022년도 한국통신학회 동계종합학술발표회
링크 : https://www-dbpia-co-kr.libproxy.swu.ac.kr/pdf/pdfView.do?nodeId=NODE11047918
신분증을 활용한 본인확인 방법의 경우 대리시험, 위조 신분증 등의 문제가 발생함.
본인확인을 위한 QR코드 체크인의 경우, 카메라 성능에 따라 QR코드 이미지 인식에 자주 실패하는 경우가 존재함.
이러한 문제를 해결하고자 FIDO와 블록체인을 활용하여 오프라인에서 본인확인이 가능하며,
QR코드가 아닌 NFC를 이용하여 빠른 인증이 가능한 설계를 제안하고자 함
설계 개요
국가기관과 본인확인 기관이 블록체인 노드로 구성된 블록체인 네트워크에 FIDO 공개키를 저장하는 방식을 제안.
FIDO 인증이 완료된 이후 NFC 리더기를 통해 본인확인 인증 데이터를 전송함
= 오프라인에서 본인확인 절차의 정확성과 신속성을 증진
FIDO는 인증 프로토콜과 인증 디바이스가 분리되어 사용자의 생체 정보가 서버가 아닌 디바이스에 저장됨
= 생체 정보의 안전성이 높아짐 ( 현재 모바일 기기의 생체인증 기능의 정밀도 수준을 고려했을 때 적합)
현재 FIDO를 이용하기 위해서는 사전에 RP(Relaying Party)서버에 사용자의 공개키를 저장하는 과정이 필요함
본 논문에서는 해당 과정을 RP 서버가 아닌 블록체인 네트워크에 저장하는 방식으로 변경하는것을 제안.
변경된 방식은 다음과 같은 장점을 가진다 :
공개키 등록과 관리가 간편
기존 RP 서버만을 인증한 FIDO 인증의 경우, FIDO를 활용하고자 하는 모든 서비스 기관에 FIDO 정보를 등록해야 한다.
블록체인 네트워크를 활용하면 한 번의 등록으로 인증에 필요한 공개키 관리 O, 다양한 서비스 기관에서 이용 O
FIDO를 *SSO(Single Sign On)처럼 이용 가능
중앙화 된 서버 없이 블록체인 네트워크의 여러 노드를 통해 FIDO 공개키를 다양한 곳에서 이용할 수 있음
= SSO와 같은 방식으로 FIDO 서비스를 제공할 수 있음
*SSO : 한 번의 사용자 인증으로 다수의 애플리케이션 및 웹사이트에 대한 사용자 로그인을 허용하는 인증 솔루션(링크)
FIDO 공개키 변조의 위험이 적음
RP 서버가 공격당하는 경우 FIDO 인증에 사용될 공개키 변조의 위험이 있지만,
블록체인 네트워크를 활용하여 데이터가 영구 저장되는 특성을 활용하여 FIDO 인증에 필요한 공개키 변조의 위험이 감소
FIDO와 NFC를 활용하여 정확하고 신속하게 본인확인이 가능
오프라인에서 신분증을 이용한 얼굴 대조 - 사람이 직접 확인해야함, 유사할 경우 확인 어려움
FIDO를 이용하여 디바이스에서 사용자 인증이 가능, 인증 정보는 NFC 태그를 통해 전송함으로써 빠른 본인확인 가능
활용 데이터 및 노드 구성
블록체인 네트워크 구성을 위해 필요한 데이터는
RP 서버에서 관리하는 데이터, 블록체인 네트워크에서 관리하는 데이터가 필요
RP 서버 | 사용자 ID, 생년월일 등 |
블록체인 네트워크 | 1회성 본인인증 정보, FIDO 인증에 필요한 공개키 |
블록체인 네트워크는 스마트 컨트랙트를 활용하여 FIDO 공개키를 관리, 전송을 진행함
사용자 인증이 필요한 RP 서버에서 해당 사용자 ID와 FIDO 공개키를 수신함으로써 검증을 진행
네트워크 구성
블록체인 네트워크는 사용자 등록 과정과 사용자 인증 과정으로 구성된다.
사용자가 FIDO 인증 공개키를 블록체인 네트워크에 등록하기 위한 과정은 다음의 과정을 거친다 :
1) 웹/앱 등을 활용하여 RP 서버를 통해 블록체인 네트워크에 사용자 공개키 등록을 요청한다.
2) 블록체인 네트워크에서 RP 서버를 통해 사용자에게 1 회용 개인 정보 인증 정보와 FIDO 공개키를 요청한다.
3) 사용자가 1 회용 개인 정보 인증을 시도한다. (SMS, I-PIN, PASS 등을 이용)
4) FIDO 인증 기기 (FIDO Authenticator)를 통해 FIDO 등록을 진행한다.
5) FIDO 인증 기기로부터 공개키와 Test 서명 내용을 사용자가 받는다.
6) 사용자가 RP 서버에게 1 회용인증정보와FIDO 공개키, Test 서명을전달한다.
7) RP 서버에서 Test 서명에 대한 검증을 진행한다.
8) RP 서버에서 블록체인 네트워크로 1 회용 인증 정보와 공개키를 전송한다.
9) 블록체인 네트워크에서 RP 서버로부터 받은 트랜잭션을 검증한다.
10) 검증이 완료된 이후 사용자의 공개키를 등록하고 사용자 ID 를 발급한다.
11) RP 서버를 통해 사용자는 사용자 ID 를 받는다.
12) 사용자는 블록체인 네트워크에 등록 성공 메시지를 받는다.
FIDO 인증을 통한 본인확인 과정은 다음의 과정을 거친다 :
1) 사용자가 FIDO 인증 기기를 통해 생체 인증을 완료한다.
2) 생체 인증 결과와 사용자 인증 요청을 NFC 를 통해 RP 서버로 전달한다.
3) RP 서버는 블록체인 네트워크에서 사용자 ID 를 통해 FIDO 검증에필요한 사용자의 공개키를 조회한다.
4) 조회된 공개키를 보유한 RP 서버에서 FIDO 서명을 요청한다.
5) 사용자는 FIDO 인증 기기를 통해 서명을 생성하고 RP 서버에 전달한다.
6) RP 서버는 해당 공개키를 이용해 FIDO 검증을 진행한다.
7) FIDO 검증 결과 메시지를 사용자에게 보낸다.
8) 사용자에 대한 본인 인증이 완료된다.
사용자 확보 방안 및 기대 효과
신분증 위조, 사칭 등이 가능한 모든 곳에서 사용 가능
ex) , 시험 주최 기관, 회사, 병원, 미성년자 출입 금지 업소 등
실생활에 도입되기 위한 사용자 확보 방안은 고속도로의 하이패스 사용과 유사하게 사용자를 확보할 수 있음
하이패스의 경우 : 사용자들이 직접 하이패스를 이용함으로써 대면 결제 시스템보다 빠르고 편리함을 느꼈음
실제 사용자들이 직접 해당 서비스를 이용함으로써 빠르고 정확한 본인인증 절차의 편리함을 느낀다면
기존 신분증 검사 등의 본인확인 절차 대신 해당 서비스를 이용할 것으로 기대됨