close

[IT열쇳말] FIDO(Fast Identity Online)

가 +
가 -

가뭄에 콩 나듯 들어가는 웹사이트 비밀번호가 기억나지 않는다. 분명 회원가입은 한 것 같은데, 머릿속은 뿌옇고 비밀번호는 가물가물하다. 이건가, 저건가? 수차례 시도하다가 결국 ‘비밀번호 찾기’를 통해 새로운 비밀번호를 입력한다.

그리고는 또 잊는다. 비밀번호 찾기를 반복한다. 오랫동안 쓰지 않으면 잊어먹는 각종 숫자 비밀번호 홍수 속에서 살아남을 수 있는 방법은 없을까.

▲홍채, 지문, 목소리 등 다양한 인증 수단을 활용하는 FIDO. (출처 : FIDO 얼라이언스)

▲홍채, 지문, 목소리 등 다양한 인증 수단을 활용하는 FIDO. (출처 : FIDO 얼라이언스)

잊을래야 잊을 수 없는 인증수단

기존 아이디와 비밀번호 기반 인증은 비밀번호 입력이 모바일 기기에서 쉽지 않고, 시간이 지나면 잊어버리는데다, 입력 피로도가 높다는 단점을 가지고 있다. 이를 보완하기 위해 등장한 생체인증 체계는 생체 정보 전송의 위험과 서버에 저장된 생체 정보가 해킹될 가능성 때문에 신뢰도가 높지 않은 편이다.

이런 한계를 해결하기 위해 편의성과 보안성을 갖춘 새로운 인증 방식이 필요해졌다. 삼성전자, 구글, 마이크로소프트 등 200여개 글로벌 기업들은 FIDO 연합체를 꾸리고 2014년 12월 온라인 환경에서도 생체인식 기술을 활용한 안전하게 인증할 수 있는 ‘국제 인증 기술 표준 FIDO 1.0’을 발표했다.

▲FIDO 구성요소. (출처 : 한국정보통신기술협회(TTA))

▲FIDO 구성요소. (출처 : 한국정보통신기술협회(TTA))

FIDO(Fast Identity Online)는 아이디, 비밀번호 방식 대신 지문, 홍채, 얼굴 인식, 목소리, 정맥 등을 활용한 새로운 인증 시스템이다. 사용자가 잊을래야 잊을 수 없는 생체 정보를 활용해 만든 인증 수단이다. 기존 생체 인증에서 단점으로 지적된 안정성과 관련해 인증 프로토콜과 인증수단을 분리해 보안과 편리성을 챙겼다.

FIDO 표준은 2가지 프로토콜을 제안하고 있다. 첫 번째는 UAF(Universal Authentication Framework)로, 사용자 기기에서 제공하는 인증방법을 온라인 서비스와 연동해 인증하는 기술이다. 대표적으로 지문인식 기능을 통해 결제 서비스를 제공하는 ‘삼성페이’를 떠올리면 된다.

두 번째는 U2F(Universal 2nd Factor)로, 기존 아이디와 비밀번호 기반 온라인 서비스에서 추가로 인증을 받고자 할 때, 사용자 로그인 시에 추가할 수 있는 프로토콜이다. 구글의 USB 보안키를 활용한 방식이 대표적인 예로 꼽힌다.

적용하기 편리한 FIDO 프로토콜

사용자만 FIDO를 활용하기 편리한 건 아니다. 인증 방식을 고민하는 기업도 쉽게 FIDO 기술을 적용할 수 있다. FIDO는 크게 클라이언트와 서버, 그리고 두 개체 간에 주고 받는 프로토콜(UAF)로 이뤄져 있다.

▲FIDO UAF 아키텍처. (출처 : TTA)

▲FIDO UAF 아키텍처. (출처 : TTA)

FIDO 클라이언트는 FIDO 인증토큰과 인증토큰 API라는 인증토큰 추상화 단계를 연동하는 역할을 맡는다. 즉, API만 지키면 어떤 종류의 인증토큰이라도 FIDO 클라이언트에서 사용할 수 있다. FIDO 클라이언트는 또한 FIDO 서버와 프로토콜을 송·수신하며 등록, 인증, 조회 서비스를 제공한다.

등록은 사용자의 인증토큰과 공개키를 등록하는 과정이다. FIDO 클라이언트가 FIDO 서버에 로그인을 시도하면 서버는 클라이언트에 로그인에 사용할 인증토큰 목록을 보낸다.

사용자는 인증토큰 목록에서 원하는 인증토큰을 선택하고 본인 인증을 수행한다. 클라이언트는 이렇게 만들어진 키 쌍에서 공개키를 서명해 FIDO 서버에 보낸다.

▲FIDO 인증 등록 과정. (출처 : TTA)

▲FIDO 인증 등록 과정. (출처 : TTA)

FIDO 서버는 클라이언트와 UAF 프로토콜을 주고받아 서비스를 제공한다. 서버는 사용자가 선택한 인증토큰과 공개키를 등록해 나중에 인증 또는 전자서명 검증에 사용한다.

인증 프로토콜 흐름은 등록보다 더욱 간단하다. FIDO 서버는 클라이언트에 인증에 필요한 난수와 사용 가능한 인증토큰을 보내 인증을 요청한다.

클라이언트에서는 기기에서 등록된 인증토큰으로 사용자를 인증하고, 서버에 등록된 공개키에 대한 쌍인 비밀키를 복호화해 서버에서 보내온 요청 메시지 대한 응답으로 전자서명을 생성해 서버로 보낸다. 서버는 클라이언트가 보내온 전자서명을 등록된 공개키로 검증해 사용자를 인증한다.

▲FIDO 인증 과정. (출처 : TTA)

▲FIDO 인증 과정. (출처 : TTA)

즉, FIDO 프로토콜은 사용자 기기와 서버 간에 3가지 메시지를 전달한다. 등록 메시지를 통해 사용자 기기에 있는 인증토큰을 조회, 검증, 등록하고 인증 메시지로 사용자를 인증한다. 마지막으로 안전거래 확인 메시지를 통해 특정거래에 대해 서버가 클라이언트에게 전자서명으로 거래내용을 확인하는 기능을 수행한다.

모바일 넘어 웹브라우저 활용 방법 고민 중

FIDO 1.0 규격은 지난 2014년 12월 처음 발표됐다. 2015년 4월엔 처음으로 상호운용성 테스트를 했다. 이후 분기당 1회 정도 테스트를 진행하고 있다. FIDO 연합체는 시험에 통과한 기술 에 대해 국제인증서를 발급한다. 국내에서는 한국전자통신연구원을 시작으로 다수 업체에서 FIDO 국제 인증을 획득했다.

현재 FIDO 기술은 다양한 분야에서 활용되고 있다. 공인인증서 의무사용 규제가 폐지된 이후 현금자동입출금기(ATM)나 디지털 키오스크, 간편결제·스마트뱅킹 서비스에서 지문·홍채·정맥 등의 생체인식 기술을 활용한 본인인증 서비스가 확산되는 추세다.

삼성페이, KEB하나은행, 신한은행 등 결제·금융 분야에서 FIDO 기반 지문인증 서비스를 도입했으며 신한은행, 기업은행, 우리은행, 하나은행, NH농협 등 다양한 금융사들이 생체인증 기반 금융서비스를 제공한다. 금융결제원도 금융 공동 생체인증·FIDO시스템을 통해 통합 인증 시스템을 만들겠다고 밝혔다.

이 시스템을 활용하면 금융권은 생체정보를 이용해 안전하고 편리하게 사용자 본인인증 서비스를 지원할 수 있다. 16개 시중은행을 비롯해 증권사·보험·카드사 등 50개 금융사가 참여하겠다고 밝혔다.

▲금융결제원 차세대 인증실 박정현 부부장이 지난 10월11일 오후 한국FIDO산업포럼 주최로 열린 ‘시큐업세미나 2016’에서 바이오정보 분산관리시스템을 소개하고 있다. 

▲금융결제원 차세대 인증실 박정현 부부장이 지난 10월11일 오후 한국FIDO산업포럼 주최로 열린 ‘시큐업세미나 2016’에서 바이오정보 분산관리시스템을 소개하고 있다.

이처럼 FIDO는 새로운 인증 수단으로 자리잡고 점차 확산되고 있는 분위기다. 이런 흐름에 발맞춰 FIDO 연합체는 모바일(안드로이드, iOS) 응용프로그램 중심이었던 FIDO 기술을 웹브라우저에서도 활용할 수 있도록 FIDO 2.0 표준 초안을 준비해 W3C(World Wide Web Consortium)에 제출했다.

현재 구글과 마이크로소프트 주도로 웹표준화 작업을 진행 중이며, 2017년 상반기까지 표준화 작업이 완료될 것으로 예상된다. 웹표준화가 완료되면 FIDO 기술은 더 많은 서비스에 빠르게 적용될 것으로 보인다.

※ 참고

이 글은 ‘네이버캐스트→테크놀로지월드→용어로 보는 IT’에도 게재됐습니다. ☞‘네이버캐스트’ 보기

네티즌의견(총 0개)