FIDO(Fast IDentity Online) 얼라이언스(Alliance)는 온라인 환경에서 생체인식기술을 활용한 인증방식에 대한 기술표준을 정하기 위해 2012년 7월 설립된 협의회이다. 회원사로 블랙베리, 크루셜텍, 구글, 레노보, 마스터카드, 마이크로소프트, 페이팔, LG전자등이 있다. [1]
FIDO에서 제안하는 것은 이러한 스마트 디바이스에 서 사용하는 인증기술을 온라인에도 적용하는 것은 어떨까 하는 아이디어이다. 한마디로 특정 웹서버에 인증하기 위해 패스워드를 사용하지 않고 디바이스 인증을 이용하면 사용자는 편리하고 웹서비스는 필요에 따라 인증기술을 선택할 수 있는 장점이 있다.
이것이 FIDO의 가장 핵심적인 필요성이다.
FIDO 구성요소
FIDO 표준은 두 가지 프로토콜을 제안
첫번째는 UAF(Universal Authentication Framework) Protocol :
사용자의 디바이스에서 제공하는 인증방법을 온라인 서비스와 연동하여 사용자를 인증하는 기술
두번째는 U2F(Universal 2nd Factor) Protocol :
기존 패스워드를 사용하는 온라인 서비스에서 두번째 인증요소로 강한 인증을 사용자 로그인 시에 추가할 수 있는 프로토콜
FIDO 구성요소를 보면 FIDO는 크게 클라이언트와 서버 그리고 두 개체 간에 주고 받는 프로토콜로 구성
FIDO 클라이언트는 FIDO 인증 토큰과 인증토큰 API라는 인증토큰 추상화 단계에서 연동하는 역할
이 의미는 API만 준용하면 어떤 종류의 인증토큰이라도 FIDO 클라이언트에서 사용할 수 있다는 것이다.
클라이언트의 다른 역할은 FIDO 서버와 프로토콜을 송수신하며 등록, 인증, 조회 서비스를 제공하는 것이다.
FIDO 서버는 클라이언트와 UAF 프로토콜을 주고 받아 서비스를 제공하는 것이 주 역할이다.
서버는 클라이언트가 제시하는 인증토큰을 검증하고 등록하는 과정을 수행하고 등록된 인증토큰을 관리하여
사용자가 인증을 요청할 때 평가하는 작업도 수행한다.
FIDO 프로토콜은 사용자 디바이스와 서버 간에 세가지 메시지를 전달한다.
첫번째는 등록 메시지로 사용자 디바이스에 있는 인증토큰을 조회하고 검증하여 등록하는 기능을 수행
두번째는 인증 메시지로 도전(Challenge)과 응답(Response) 형태로 이루어진 프로토콜을 수행하여 사용자를 인증한다.
마지막은 안전거래 확인 메시지로 특정거래에 대해 서버가 클라이언트에게 전자서명으로 거래내용을 확인하는 기능을 수행
FIDO제약사항
FIDO를 적용하기 위해서는 모든 서버에 새로운 프로토콜을 처리할 수 있는 라이브러리를 설치해야 하는 문제가 있다.
또한 사용자 환경에도 FIDO를 지원하는 하드웨어들이 설치돼야 사용자 인증에 사용할 수 있다.
또한 FIDO는 스마트 모바일 환경에 더욱 적합하며 웹브라우저를 사용하는 기존의 PC 환경에 적용하기에는 현재는 무리가 있다.
현재 FIDO는 일반적인 서비스에서의 인증보다는 온라인 지불에서 결제 시 인증수단으로 사용하려는 움직임을 보이고 있다.
페이팔은 삼성전자의 갤럭시 S5에 FIDO로 연동하여 결제하는 서비스를 선보였고 최근에는 신용카드 회사인 Visa가 이사회 멤버로 가입하여 결제에 활용하려는 움직임을 보이고 있다. 향후 FIDO가 차세대 인증기술로 주목을 받을지 기대가 되는 대목이다 [2]
iOS Security : Secure Enclave라고 불리는 새로운 보안 아키텍처로 보호
Galaxy tab Security : Hardware-based protection 메커니즘
There's still risk associated with storing this kind of data,
because a Bad Guy could potentially access your device, crack the encryption and steal the fingerprint info.
But there's little Apple or Samsung could do in that situation.[3]
The phone then converts the fingerprint information into a mathematical representation, known as a hash, and stores that in a secured location on the device.
When you want to unlock your phone, you simply swipe on the home button.
A hash is again created and must match the one the phone already has. Otherwise, the phone stays locked. [4]
References
'호기심_메모' 카테고리의 다른 글
SSL certificate pinning (0) | 2014.11.20 |
---|---|
암호 : TLS (0) | 2014.11.20 |
Oracle : DBlink 취약점 (1) (0) | 2014.11.19 |
.so 파일 (1) (0) | 2014.11.18 |
SunOS : passwd명령어로 lock 설정된 계정 확인 (0) | 2014.11.04 |