생체 정보를 활용한 안전한 로그인, passwordless LINE 프로젝트를 소개합니다

LINE DEVELOPER DAY 2020에서 편백범 님이 발표하신 Secure LINE Login with biometric key replacing password 세션 내용을 옮긴 글입니다.

안녕하세요. LINE 플랫폼 엔지니어링 3팀의 편백범입니다. 이번 글에서는 패스워드 대신 생체 정보를 활용해 안전하게 로그인할 수 있게 만드는 ‘Passwordless LINE’ 프로젝트에 대해 말씀드리겠습니다. 먼저 패스워드의 역사를 살펴보고 패스워드의 대체재로 사용할 수 있는 생체 정보의 장단점을 알아본 뒤 산업계의 동향과 이에 대응해 LINE에서 진행한 passwordless LINE 프로젝트를 소개하는 순서로 진행하겠습니다.

 

패스워드의 역사

사실 패스워드의 역사는 2000년 전 고대 로마 군단까지 거슬러 올라갑니다.

적군과 아군을 식별하기 위해서 자기들만 아는 단어를 주고받은 것이 그 시초인데요. 오늘날까지도 많은 군대에서 경계병들이 암구호를 사용하고 있다는 게 놀랍습니다. 근대적 개념의 패스워드는 1960년대로 내려와서, 같은 자원을 공유해야 할 필요가 있어 사용한 유닉스 시스템이 그 시초라고 볼 수 있습니다.

패스워드는 사용하기 쉽고 센서와 같은 특별한 장치가 필요 없으며 사용자들에게 익숙하다는 점이 장점입니다. 다만 암호가 암호의 소유주와 큰 관계가 없기 때문에 암호가 유출되면 그 암호를 알게 된 또 다른 소유주가 원래 소유주의 모든 권한을 그대로 상속해서 사용할 수 있으며 소유주가 암호를 잊어버릴 수 있다는 단점이 있습니다. 이런 암호의 단점을 이용해 나쁜 마음을 먹은 사람들이 아래 사진과 같이 ATM기나 기차역의 티켓 발권기에서 콘센트처럼 생긴 가짜 장치를 이용해 사용자가 입력하는 패스워드를 탈취하는 사례가 끊임없이 발생하고 있습니다.

이런 문제를 개선하기 위해 암호의 개념을 ‘우리가 알고 있는 무언가’에서 ‘우리가 지니고 있는 무언가’ 혹은 ‘우리의 일부’라는 개념으로 확장하게 됐는데요. 이런 관점에서 가장 적합한 대체재로 생체 인증을 널리 사용하고 있습니다. 물론 이런 생체 인증을 사용하기 위해서는 센서나 장치의 발달도 뒤따라야 하는데요. 현재 많은 스마트폰들이 해당 센서와 장치를 탑재하고 있기 때문에 가능하기도 했습니다. 

 

생체 인증의 장점

생체 정보를 이용한 인증은 사용하기 편리한 직관적인 인터페이스를 갖출 수 있고 외우거나 갖고 다녀야 할 필요가 없으며 분실할 염려가 없다는 장점이 있습니다. 훔치거나 복제하는 게 상당히 어려우며 보안 수준도 상당히 높다고 볼 수 있습니다. 암호를 모르는 상태에서 인증에 성공하는 경우를 FAR(False Accept Rate)라고 정의했을 때 네 자리 핀 코드를 입력해서 맞힐 확률은 약 만 분의 일 정도지만 지문의 경우에는 오만 분의 일, 홍채의 경우에는 백만 분의 일에서 이백만 분의 일에 이를 정도로 높은 보안 수준을 보여줍니다.

이런 장점에 힙입어 산업계에서 적극적으로 생체 정보를 활용하려는 움직임이 나타나고 있는데요. 엄밀히 들여다보면 생체 정보의 활용보다는 패스워드를 비활성화(disable)할 수 있는 옵션을 제공하는 게 핵심이라고 볼 수 있습니다.

Yahoo! Japan이나 eBay, Docomo, Microsoft와 같이 생체 정보를 사용할 수 있게 제공하는 것과 동시에 패스워드를 비활성화해서 이후 서비스 사용 흐름에서 패스워드를 아예 제거하는 것이 산업계의 일반적인 흐름입니다. 그동안 패스워드 탈취 공격으로 많이 고생했던 Microsoft가 특히 적극적으로 연구하며 앞서 나가는 모습을 보여주고 있습니다. 수많은 사용자가 이용하는 플랫폼인 LINE 역시 예외가 아닙니다. 패스워드를 무작위로 대입해서 탈취하려는 시도가 하루에 만 건 가까이 발생하고 있으며 그때마다 여러 방어 체계를 통해 시도를 차단하고 사용자에게 이런 시도가 있었다는 것을 알리고 있습니다.

하지만 대다수의 사용자들은 이런 불법적인 시도가 있었다는 것 자체만으로도 불안감을 느끼기 때문에 보다 근본적인 대책을 생각하게 됐습니다.

 

Passwordless LINE 프로젝트

이제 Passwordless LINE 프로젝트에 대해 말씀드리겠습니다. 

 

Passwordless LINE의 네 가지 하이라이트

LINE 10.18.0 버전부터 탑재되는 Passwordless LINE 프로젝트의 하이라이트는 크게 네 가지로 말씀드릴 수 있습니다.

먼저 생체 정보를 사용할 수 있고 앞서 말씀드렸듯이 패스워드를 비활성화할 수 있습니다. 스마트폰을 마스터키처럼 활용해서 데스크톱이나 아이패드 같은 보조 기기에서 로그인할 때 스마트폰의 생체 정보 인증을 이용해 안전하게 로그인할 수도 있습니다. 또한 사용자가 스마트폰과 데스크톱 등 주 기기와 보조 기기를 처음 페어링할 때 기존에는 스마트폰으로 핀 코드를 푸시 알림으로 보내는 방식으로 진행했다면 이제 생체 정보를 활용해 사용자가 페어링 과정에 좀 더 적극적으로 참여하게 되었습니다. 이를 통해 어뷰저가 푸시 알림을 이용해 사용자가 인지하지 못하는 상태에서 인증해 버리는 상황을 미연에 방지할 수 있습니다.

 

Passwordless LINE의 작동 방식

그럼 passwordless LINE 프로젝트가 어떻게 동작하는지 설명하겠습니다.

먼저 등록할 때를 살펴보면, 아이폰의 경우에는 지문이나 얼굴을 사용할 수 있고 Android 폰은 각 Android 폰에서 제공하는 생체 정보나 화면 잠금장치를 사용할 수 있습니다.

설정에서 사용자의 패스워드 대신 사용할 생체 정보 등록을 마치고 나면 이후 패스워드로 로그인하는 기능을 선택적으로 끌 수 있도록 제공하고 있으며 기능을 끄는 것이 보안 관점에서 더욱 안전하다는 안내 메시지를 표시하고 있습니다.

기기 페어링 과정은 최초에 한 번만 진행하는데요. 이때도 앞서 말씀드린 것처럼 주 기기인 스마트폰으로 바로 푸시 알림을 전송하는 것이 아닙니다. 데스크톱이나 아이패드와 같은 보조 기기에서 스마트폰 핀 코드 입력과 관련해서 안내하고 그 안내에 따라 입력할 수 있게 구현했습니다.

이후 Passwordless LINE의 PaaK 기능을 통해 전화번호를 입력하면 해당 전화번호가 식별자로 등록된 스마트폰에서 생체 정보 인증을 진행합니다. 생체 정보 인증이 끝나면 아이패드나 데스크톱에서 바로 로그인되도록 간단하게 구현했습니다.

 

Passwordless LINE 프로젝트 적용 결과

이 프로젝트를 진행하면서 크게 두 부분에 주안점을 두었습니다. 첫 번째는 사용자가 어뷰저의 무작위 공격에 대한 안내 메시지를 받는 것조차 없애보자는 것이었습니다.

이에 따라 최초에 스마트폰과 보조 기기를 연계할 때 사용자가 주도적으로 설정에 들어가서 핀 코드를 입력하는 흐름을 넣어 자기도 모르는 사이에 어뷰저가 해달라는 대로 핀 코드를 입력하는 것 같은 흐름을 원천 차단했습니다.

두 번째로 패스워드를 사용하는 흐름을 최대한 줄이고 싶었습니다.

데스크톱이나 아이패드 같은 보조 기기에서 첫 화면에 전화번호를 사용한 스마트폰 PaaK 로그인을 표시합니다. 이후 기존의 이메일 패스워드 로그인까지 넘어가려면 두 단계를 거쳐야 합니다. 다른 방법으로 로그인하겠다고 해도 QR 코드 로그인을 한 번 거쳐야 합니다. 어디서든지 QR 코드나 PaaK 로그인을 먼저 거치도록 해서 패스워드 로그인까지는 한 단계, 이메일 패스워드 로그인까지는 두 단계를 거치도록 설계했습니다.

 

마치며

제가 준비한 부분은 여기까지입니다. 아래에서 발표 영상도 확인하실 수 있습니다. 긴 글 읽어 주셔서 감사합니다.