보안 계층 추가
비밀번호만으로 충분하지 않다면 기업을 어떻게 보호할 수 있을까요? 완벽하게는 아니더라도 해킹에 대한 내성을 가지려면 2차 챌린지로 무엇을 제공해야 할까요?
U2F(Universal 2nd Factor)를 시작하세요.
U2F는 암호화 챌린지를 사용자가 소유한 디바이스(일반적으로 키 포브)로 전송할 수 있는 프로토콜입니다. 처음에는 비밀번호로 프로세스를 시작하지만 액세스 권한을 얻으려면 디지털 키가 필요합니다.
FIDO U2F 프로토콜은 2014년에 개발되었으며, 이후 수정과 개선을 거쳐 업데이트되었습니다. 암호화 키라는 개념에 익숙해진 사람들도 점차 늘고 있습니다. 나아가 데이터를 안전하게 보호할 목적으로 이러한 보호를 요구하는 사람들까지 생겨났습니다.
U2F의 역사
대부분의 소비자들은 이중 요소 인증에 대해 어느 정도 알고 있습니다. 여러 블로거들이 얘기하는 것처럼 은행 카드와 PIN을 사용해야 할 때마다 두 가지 데이터 세트를 사용해 원하는 것을 얻었습니다. Universal 2nd Factor도 이와 비슷한데, 이러한 인증 프로토콜에 대한 요구는 오래 전부터 습니다.
2012년에 Google 프로젝트에 표준 키워드 항목이 아닌 키 포브를 사용한다는 소문이 업계 블로그에 퍼지기 시작했습니다. 전문가들조차 툴이 어떻게 실행되는지 알지 못했지만 기대감은 부풀어올랐습니다. "The Plot to Kill the Password(비밀번호를 없앨 방법) " 같은 제목의 블로그들 때문에 이에 대한 관심이 사그라들지 않았습니다.
2014년에 다음과 같은 파트너십을 통해 표준이 제시되었습니다.
- Google
- Yubico
- NXP Semiconductors
이후 최종적으로 FIDO Alliance에서 오픈 소스 표준을 주관하게 되었고, 지금까지 유지보수와 관리를 이어오고 있습니다.
U2F는 어떻게 운영되나요?
Universal 2nd Factor는 사람들이 비공개 리소스에 접근하기 위해 통과해야 하는 새로운 보안 게이트웨이라고 할 수 있습니다. 인증 프로세스를 시작할 때 비밀번호가 필요한 것은 변함이 없지만 인증 단계를 마치려면 물리적 디바이스가 있어야 합니다.
쉽게 얘기해서 U2F 프로세스는 다음과 같습니다.
- 비밀번호: 사용자가 웹사이트에 접속해서 해당 사이트에서 인식하는 사용자 이름과 비밀번호를 입력합니다.
- 챌린지: 사용자 이름과 비밀번호가 인식되면 시스템에서 사용자가 USB 포트에 연결한 키로 챌린지를 전송합니다. 전송 과정에서 통신은 암호화됩니다.
- 응답: 키에서 조명이 켜지거나, 그 밖에 다른 방법으로 챌린지가 수신되었다는 사실을 알립니다. 그러면 사용자가 버튼을 눌러 연결을 마칩니다.
FIDO 규칙은 비대칭형 암호화를 규정합니다. 따라서 중요한 데이터가 디바이스 외부로 전송되는 일이 없습니다. 또한 USB가 휴먼 인터페이스 디바이스(HID) 프로토콜을 통해 호스트와 연동하기 때문에 사용자가 인증을 받기 위해 드라이버나 소프트웨어를 따로 다운로드할 필요 없습니다.
사용자는 사용 가능한 예비 보안 키를 항시 소지해야 합니다. 보안 키를 분실하게 되면 비공개 리소스에 액세스하기가 매우 어려워집니다. U2F 환경에서는 사용자 편의성보다 보안이 더욱 중요하기 때문에 사용자는 권한이 인증된 키에 대해서만 주의를 기울이면 됩니다.
대부분 키에서 블루투스가 지원되지 않기 때문에 배터리나 유지보수가 따로 필요하지 않습니다. USB 포트에 올바르게 연결하기만 하면 파손될 때까지 정상적으로 실행됩니다. 키에 저장된 비공개 정보를 추출할 수 없기 때문에 복제도 불가능합니다.
엔드 유저의 입장에서 보안 키는 특별한 문제 없이 강력한 보안을 보장하는 셈입니다. 또 어떤 사용자에게는 완벽한 조합이기도 합니다.
U2F 구현 옵션
Universal 2nd Factor 프로토콜은 개방형이기 때문에 어떤 개발자든지 사용할 수 있습니다. 하지만 공급업체의 역할이 중요합니다.
소비자들은 일반적으로 YubiKey, Titan 등 타사의 키를 구매하기 때문에 공급업체는 고객이 구매한 키가 자사의 시스템과 제대로 통신할 수 있도록 보장해야 합니다. 일부 공급업체들은 소비자들에게 자사의 심사를 거쳐 신뢰할 수 있는 파트너에게서만 키를 구매하도록 권장하고 있습니다. 금융업계처럼 민감한 분야에 종사하고 있다면 이러한 방법이 좋은 옵션이 될 수 있습니다.
고객들은 U2F 키를 설정하는 것이 어렵다고 얘기합니다. 다음과 같이 몇 가지 단계를 거쳐야 하기 때문입니다.
- 로그인. 먼저 사용자가 원하는 웹사이트로 이동해 사용자 이름과 비밀번호를 입력하여 프로세스를 시작합니다.
- 토큰 등록. 사용자가 키를 구매했다는 사실을 알립니다.
- 연결 및 등록. 사용자가 키를 컴퓨터에 연결합니다. 이후 시작하려면 SMS 인증이 필요하다는 메시지가 표시될 수 있습니다.
- 반복. U2F 토큰을 사용해 인증하는 웹사이트마다 이러한 등록 과정을 반복해야 합니다.
웹사이트 개발자에게 필요한 코딩 작업은 많지 않습니다. 다만 사용자가 로그인할 때 이러한 인증 모드를 추가할 수 있도록 등록 프로세스를 개발해야 합니다. 개발자들도 등록 프로세스를 개발하는 데 시간이나 기술 전문성이 별로 필요하지 않다고 흔히 얘기합니다.