ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • "집콕하면서 시간 때우기 좋은 보안 지식 쌓기! -FIDO-"
    FIDO 2020. 7. 13. 23:41

    안녕하세요. 이번 2020년도 FIDO 해커톤에 참가하게 된 지문인증 486팀입니다.
    해커톤에 참가하게 되면서 FIDO에 대한 지식들을 모두에게 알리고자 글을 쓰게 되었습니다.

    FIDO Alliance?
    FIDO Alliance는 2012년 7월 PayPal, Lenovo, NokNok Labs, Validity Sensors, Infineon 및 Agnitio에 의해 설립하여 비밀번호가 필요하지 않은 인증 프로토콜의 표준을 정하기 위한 단체입니다. 설립 이후 삼성, 구글, 페이스북과 같은 여러 회사와 협력하여 비밀번호를 사용하지 않고 생체 인증으로 결제를 진행하며 자체적으로 개발한 프로토콜을 이용하여 더욱더 안전한 인증 체계를 개발하였습니다. 
    더 깊숙하게 FIDO Alliance가 하는 일을 알아보겠습니다. FIDO Alliance는 2014년 12월 암호 없는 프로토콜 v1.0인 FIDO UAF와 두 번째 요소 프로토콜인 FIDO U2F를 동시에 발표하였습니다. 또한 완전히 호환되는 v1.0 장치와 서버의 운영 배포를 시작하였습니다. 전 세계 산업 협회를 초청하는 FIDO 협력 및 리에종 프로그램을 추가하여 FIDO의 표준 개발이나 구현에 관한 협력을 위해 노력하고 있으며 FIDO UAF 1.1을 포함한 규격 업데이트를 발표함으로써 Andriod 8.0 이상 기기에서 FIDO 인증을 공개적으로 사용할 수 있게 하였습니다. 그 후 2018년 4월 W3C 웹 인증 표준이 후보 추천에 도달하였으며, FIDO2가 공식적으로 시작되었습니다. 2018년 9월, FIDO Alliance는 업계 최초로 생체인증 부품 시험인증 프로그램을 발표하였습니다. 6개월도 지나지 않은 2019년 2월에는 Andriod는 FIDO2 인증을 획득하여 플랫폼에서 실행되는 10억 개 이상의 장치에 대해 더 간단하고 강력한 인증을 가능하게 하였습니다. 2019년 3월, Fido Alliance의 FIDO2 스펙 세트의 핵심 구성 요소 안인 W3C의 웹 인증 권장사항이 공식으로 웹 표준화되어 전 세계 사용자들이 웹을 안전하게 사용할 수 있도록 기여하였습니다.

    FIDO 프로토콜?
    FIDO 프로토콜이란 공개키 및 로컬 사용자 인증을 기반으로 하는 프로토콜이며 안전성과 동시에 편의성을 제공하는 FIDO 서비스의 프로토콜입니다. 
    FIDO 프로토콜에는 UAF, U2F, CTAP가 있으며 UAF의 경우 비밀번호가 필요 없는 로그인 환경을 제공하고 지문, PIN, 마이크, 카메라 등 여러 인증 메커니즘을 결합한 로그인도 제공합니다. CTAP 1(구 U2F)은 FIDO 보안키와 같은 U2F 장치를 사용하여 FIDO2 지원 브라우저 및 USB, NFC, BLE 를 통해 운영체제에서 2단계 인증을 실행할 수 있도록 합니다. 마지막으로 CTAP 2는 FIDO 보안키와 모바일 장치 같은 외부 인증 요소를 사용하여 FIDO2 지원 브라우저 및 USB, NFC, BLE를 통해 운영체제에서 2단계 또는 다중 요소 인증을 실행할 수 있도록 합니다.

    FIDO 스펙?
    FIDO 스펙에는 FIDO2 spec, UAF spec, U2F spec이 있으며 FIDO2 스펙은 클라이언트 인증 프로토콜인 CTAP와 웹 인증인 W3C에 대한 내용을 포함합니다. UAF 스펙에서는 아키텍쳐, 프로토콜 사양, 응용 프로그램 API 및 전송 바인딩 사양, 인증 자별 모듈 API, 인증자 명령, ECDAA 알고리즘, APDU 명령, 사전 정의된 값의 UAF 레지스트리, ERRATA 등에 관해 설명하고 U2F 스펙은 아키텍처, JS API, 원시 메시지 형식, HID 프로토콜, 블루투스 프로토콜 NFC 프로토콜, 전송 확장, 구현 고려사항, AppID 및 패싯 사양, 보안 참조 등에 관한 내용을 설명합니다.

    이러한 FIDO 프로토콜은 계정 인증에서의 PASSWORD 문제를 해결할 수 있습니다. 현 계정 인증에서 사용 중인 ID/PASSWORD 방식은 데이터 유출에서 80%를 차지할 정도로 문제가 많습니다. 사용자는 온라인상에서 사용 중인 계정이 많으면 많을수록 데이터 유출 확률이 높아집니다. 온라인 계정의 경우 사용자는 최대 51%의 ID/PASSWORD를 재사용하게 되고, 하나의 계정이 유출될 경우 같은 ID/PASSWORD를 사용하는 경우 전부 유출됩니다. 기업의 경우 사용자들이 비밀번호 재설정 시 사용자에게 도움을 주기 위해 인건비를 위해 사용하기 때문에 기업의 입장에서는 부담이 될 수 있습니다. 

    이때 만약 FIDO를 사용한다면 어떻게 될 것인지 알아보겠습니다.

    FIDO의 이점과 예시
    FIDO는 사용자의 생체 정보를 인증에 사용하기 때문에 ID/PASSWORD를 외우고 따로 입력할 필요가 없기 때문에 기존의 방식보다 편리합니다. 또 하나의 기기(ex: 모바일 어플리케이션)에서 인증을 하여 서비스에 적용시킬 수 있기 때문에 기존의 ID/PASSWORD 방식보다 간단한 인증이 가능합니다. 보안적인 측면에서도 기존의 방식보다 강력하다 할 수 있습니다. 생체 정보에 대한 키가 암호화되어 있고, 키를 인증 기기에서 유지하기 때문에 피싱 및 일반적인 공격에 대해 보안성을 높일 수 있습니다. 

    이러한 FIDO 사용의 예를 들겠습니다. BC카드와 구글이 FIDO를 사용합니다.
    1. BC카드에서는 FIDO 인증을 활용하여 삼성의 삼성페이 및 BC 페이 오프라인 모바일 결제 서비스의 보안을 강화합니다.
    2. 구글에서는 사용자의 계정 인증을 진행할 때 U2F 방식으로 사용자 계정을 보호합니다.

    이번에 2020년도 FIDO 해커톤에 참가하게 된 지문인증 486팀은 회사 내에서 파일을 안전하게 공유하기 위한 서비스를 제작하려고 합니다. 이 서비스는 회사 내에서 작업 파일들을 FIDO를 통해 암호화하여 권한에 따라 복호화할 수 있습니다. 이를 통해 내, 외부자에 의한 파일 유출을 방지할 수 있습니다. 이는 파일을 권한이 부여된 생체 인증으로만 열람할 수 있기에 권한을 부여받지 않은 내, 외부자는 유출을 할 수 없습니다. 더 나아가 토큰을 통해서 일정 시간 내에만 열람할 수 있는 시스템을 구축하는 중입니다. 기존 회사 인트라넷이 아닌 외부에서 사용하더라도 안전성을 보장받을 수 있습니다. 이 시스템을 통해 파일을 어디서든 안전하게 공유하고, 열람할 수 있습니다.

    감사합니다.

    댓글 0

Designed by Tistory.