인디노트

FIDO2 와 WebAuthen 본문

인증기술

FIDO2 와 WebAuthen

인디개발자 2020. 11. 21. 08:14

내가 하는 일은 다양한 인증 기술의 제품을 개발하는 일이다. 이게 만만치 않다. 왜냐하면 세상의 인증기술을 각 나라마다의 특징이 있고 서양 사람과 동양 사람들의 사고 방식이 다르므로 (특히 한국은 많이 다름) 이를 잘 융합 시키는 일이 매우 중요하다.

또한, 세계적으로 새로운 인증 기술이 연구자들의 노력으로 표준화되고 HW 적으로 다양한 기기들이 융/복합 되는 시대이다.

그 중 FIDO2 와 WebAuthen 의 기술이 그야말로 IT 거대 기업들이 관심을 가지고 있는 기술이기도 하다.

FIDO 란 결국 사용자 계정 (ID 정도만) 과 생체인증 같은 외부기기 (USB, 블루투스 등등으로 연결된) 의 인증을 바인딩해주고 이를 이용하여 인증을 수행하는 기술이라고 할 수 있다.

즉, 기존의 ID/PW 에서 PW 를 없앨 수 있는것을 구현할 수도 있다.

하지만, 현실적으로 (많은 사람들의 전통적인 습관) 시스템에서 PW 를 없애기는 어려울 것이므로 FIDO 를 2FA 로 사용하는 측면이 강하다고 할 수 있다.

FIDO2 는 웹 브라우저를 이용하여 어떻게든 기기의 인증 모듈과 함께해야만 하는게 필수 불가한 시대적 흐름에 따르는듯 웹 브라우저 ( 정확히 말하면 자바스크립트의 표준만들고 결정하는 - W3C ) 진영과 원활한 협력이 당연한 과제이다.

Web Authentication API Guide 가 만들어 졌고 각 웹브라우저 업체들이 참여하고 있다. 아직까지 100% 완료된 것은 아니라고 할 수 있다.

위의 그림에서와 같이 웹브라우저 환경의 어플리케이션에서 Authenticator (인증자 정도로 이해) 를 서버가 어떻게 인증할 것인지를 해결하는 과제인 것이다. 당연히 PKI 기술이 적용되었다.

나는 지금 OKey FIDO2 를 만들고 있다. FIDO2 는 FIDO 의 발전된 버전으로 FIDO 의 UAF 와 U2F 를 합쳤다고 할 수 있다.

FIDO 의 개발을 해본 사람들은 알겠지만 그야말로 처음 시작하면 혼돈의 나날을 약간은 조금 거쳐야 할 것이다. 그 이유는 기술의 속도가 매우 빠르고 다양한 방향으로 연구되고 있는 과정이기 때문이다. 전세계적으로 여기 저기 흩어져서 개발하는 각 개발자들이 그 하나를 해결하기 위해 밤을 새우고 노력한 결과가 인정되고 표준화 되는 과정이 필요하기 때문이다.

다음 사이트들을 주목해야 할 것이다.

여담 이지만 지금 만들고 있는 OKey FIDO 도 잘 만들어서 이렇게 주목해야 하는 사이트 정도를 하나 Open 하는것도 나쁘진 않겠다는 생각이다.

fidoalliance.org/specifications/?lang=ko

 

FIDO 스펙 개요 - FIDO Alliance

FIDO 얼라이언스는 FIDO Universal Second Factor(FIDO U2F), FIDO Universal Authentication Framework(FIDO UAF), Client to Authenticator Protocols(CTAP)의 세 가지 규격 세트를 발표했습니다. CTAP은 W3C의 웹 인증(WebAuthn) 규격을 보

fidoalliance.org

www.w3.org/TR/webauthn/

 

Web Authentication: An API for accessing Public Key Credentials Level 1

 

www.w3.org

fidoalliance.org/specs/fido-v2.0-rd-20180702/fido-server-v2.0-rd-20180702.html

 

Server Requirements and Transport Binding Profile

Abstract FIDO2 provides secure authentication through the use of authenticators that implement the Client-to-Authenticator Protocol (CTAP) and platforms or browsers that implement the W3C WebAuthn specifications. These authenticators are expected to commun

fidoalliance.org

codelabs.developers.google.com/codelabs/webauthn-reauth#0

 

Your First WebAuthn App  |  Google Codelabs

In this codelab, you’ll add a user verifying strong authentication to a website with a simple form based sign-in system.

codelabs.developers.google.com

psteniusubi.github.io/webauthn-tester/

 

WebAuthn API Tester

 

psteniusubi.github.io

 

반응형
Comments