brunch

You can make anything
by writing

C.S.Lewis

by 병아리 기획자 Jul 05. 2019

이중인증, 2단계 인증, 2단계 확인

개인정보 보안강화 방법은? 2단계 인증, 2단계 확인, 이중인증의 차이점

2채널 인증 도입 배경


아이디와 비밀번호를 입력하는 것은 우리가 익히 알고 있는 가장 기본적인 로그인 과정입니다. 입력된 아이디와 비밀번호를 통해 시스템 사용 권한을 확인하고 접근 권한을 부여하는 방식입니다. 하지만 이런 방식은 *스니핑 또는 *키 로깅 등을 이용한 공격 방법에 의해 인증 정보가 쉽게 노출될 수 있다는 취약점이 있습니다.


이런 개인정보 유출 피해를 줄이기 위해 주요 온라인 사이트는 *지식 기반 인증(아이디, 비밀번호)에 *소유 기반 인증(보안카드, OTP 등)을 추가한 2채널 인증을 도입하고 있습니다. 소유 기반 인증은 사용자가 인증 요소를 소요하고 있어야 인증이 가능한 방식으로 보안카드, 하드에어 방식의 OTP, 공인인증서 등이 주로 사용됩니다. 최근에는 스마트폰 사용자가 증가하면서 USIM 기반 또는 VM 기반의 모바일 OTP를 이용한 인증 서비스가 사용되고 있습니다. 즉, 2채널 인증을 사용하게 되면 전문 해커가 비밀번호 보호 단계를 통과하더라도 휴대전화나 보안키가 있어야만 계정에 엑세스 할 수 있다는 뜻입니다.



2채널 인증을 설정하면 타인이 인증되지 않은 텀퓨터나 모바일 기기를 통해 계정에 엑세스하려고 할 때마다 특별한 로그인 코드를 입력하거나 로그인 시도를 확인하라는 메세지가 나타납니다. 누군가 확인되지 않은 컴퓨터에서 로그인하려고 시도할때 알림을 받을 수도 있습니다.


*스니핑 : 해킹 기법의 하나로 네트워크상에서 전송되는 패킷을 캡쳐하여 이의 내용을 엿보는 행위입니다. 전화로 말하면 도청 장치에 해당합니다.

*키 로깅 : 키보드 키들의 로그를 계속해서 저장하는 것을 말합니다. 사용자가 타이핑한 입력 내용을 가로채 다른 파일에 똑같이 저장되는 방식입니다.

*지식 기반 인증 : 사용자 이름 및 암호 조합과 같이 알고 있는 사항

*소유 기반 인증 : 보안 앱이 설치된 모바일 장치와 같이 보유하고 있는 사항










이중인증(2단계인증) vs 2단계 확인


2채널 인증에 관심을 가지고 계신 분들이라면 이중인증과 2단계확인 또한 알고 계신 분들이 많을텐데요. 많은 사람들이 '이중인증'과 '2단계 확인' 두가지를 똑같다고 생각합니다. 하지만 두 가지 기능은 언뜻 비슷해보이지만 엄연히 다릅니다. 이 둘의 차이를 보다 쉽게 이해하려면 해당 기능의 영문 표기법을 확인하면 됩니다.


이중 인증 :  Two-factor Authentication (2FA)
2단계 확인 : Two-step Verification (2SV)


Factor(요소) vs Step(단계)

authentication(인증)  vs Verification(확인)

친절한 네이버 사전이 제공해준 영문 해석에 따라 두 가지를 다시 해석해보면 다음과 같습니다.


이중인증 : 두 가지의 다른 인증 요소를 인증한다

2단계 확인 : 하나의 요소를 두 단계에 거쳐 인증한다


참 쉽죠? 그렇다면 이제 여기서 말하는 '인증 요소'에는 무엇이 있는지 좀 더 자세히 알아볼 필요가 있습니다.

인증 요소에는 3가지 유형이 있습니다.


(1) 지식 기반 인증 : 아이디, 비밀번호, PIN 번호 사용자가 알고 있는 것 (가장 기본적인 보안모델)

(2) 소유 기반 인증 : 휴대폰, 토큰, USB 키 등 사용자가 보유하고 있는 것

(3) 생체 인증 : 사용자의 지문, 홍체 등 사용자 그 자체에 해당하는 것




1. 이중인증 (2단계 인증)

이중인증은 기본적인 보안 모델인 (1)지식기반 인증(사용자 아이디 및 암호)(2,3) 또 다른 인증 요소(소유기반 또는 생체 인증)를 추가한 것입니다. 이중인증은 중요 데이터 보호에 권장되는 베스트 프렉티스입니다.

이중인증과 2단계인증을 다르다고 설명하시는 분들이 간혹 있습니다. 하지만 적어도 우리나라에서는 대부분의 서비스가 두 용어를 같은 의미로 사용하고 있습니다. 암호화 전문가나 고급 인증 솔루션 개발자가 아닌 이상 두 용어를 명확하게 분류하지 않고 사용한다는 뜻입니다.

자주 사용되는 이중인증의 예를 들자면 다음과 같습니다.

1. ATM에서 은행 카드(사용자가 갖고 있는 것)와 PIN(사용자가 알고 있는 것)을 사용하여 본인의 계좌에서 현금을 인출합니다.

2. 회사의 IT 팀이 발급한 하드웨어 토큰(사용자가 갖고 있는 것)에서 생성하는 특정 숫자와 사용자 이름/암호(사용자가 알고 있는 것)를 사용하여 회사 네트워크에 로그온합니다.

3. 사용자가 이미 인증한 스마트폰 또는 태블릿의 앱(사용자가 갖고 있는 것)과 사용자 이름/암호(사용자가 알고 있는 것)를 사용하여 프라이빗 뱅킹에 액세스합니다.

4. 다양한 보안 웹 사이트에 액세스하기 위해 사용자 이름/암호(사용자가 알고 있는 것)를 입력할 때 확인 이메일을 수신할 이메일 계정(사용자가 액세스할 수 있는 것)을 지정합니다.

5. 지정된 스마트폰(사용자가 갖고 있는 것)에서 SMS 메시지를 통해 숫자 코드를 받아 사용자 이름/암호(사용자가 알고 있는 것)와 함께 입력하여 보안 사이트에 로그인합니다.




2. 2단계 확인

2단계 확인에서는 (2)소유기반 인증(스마트폰 또는 유선 전화 등 물리적 엑세스가 가능한 수단)으로  일회용 인증정보(OTC 또는 OTP)를 입력한 후 임시 비밀번호를 발급받아 액세스 권한을 확인합니다. 실제로 새로운 장치를 사용하여 계정에 엑세스하려는 시도가 있을 때 사용자를 인증하기 위해 이 방법을 사용합니다. 2단계 확인의 예를 들면 다음과 같습니다.

1. 이메일이나 SMS를 통해서 비밀번호와 일회용 코드를 보내 추가 인증을 받습니다.

2. 새로운 데스크탑 시스템을 구매하거나 새로운 모바일 디바이스 또는 이전에 사용하지 않았던 다른 장치에서 연결했을 때 SMS 메세지를 통해 일회용 비밀번호를 입력하여 계정에 로그인합니다.



그리고 이중인증이 2단계 인증보다 보안강도가 세다. 정도로만 이해하면 좋을 것 같습니다.










2채널인증 적용 사례


실생활에서 자주 사용하는 대표적인 서비스들 몇 가지를 선택하였고, 그들이 제공하고있는 2채널 인증 옵션에는 무엇이 있는지에 초점을 맞춰



1. 구글 :  2단계 인증 바로가기 

Google 2단계인증 설정화면


구글은 '2단계 인증'이라는 명칭으로 2차 인증을 제공하고 있습니다. 로그인 후 계정 > 보안 > 2단계인증에서 신청할 수 있습니다. 인증 방식은 크게 3가지 방식으로 분류됩니다.


(1) 인증코드 : 휴대폰 SMS/ 음성통화/ Google 모바일 앱/ 백업전화로 인증코드를 실시간 발송

(2) 백업코드 : 네트워크를 사용할 수 없는 환경에서 미리 다운로드 하거나 인쇄된 일회성 백업 코드를 입력

(3) 보안키 : 소유하고 있는 보안키를 컴퓨터 USB 포트에 삽입하여 인증하는 방식

(+) 컴퓨터 등록 : 내 컴퓨터를 등록하여 2단계 인증을 사용하지 않아도 로그인할 수 있도록 설정하는 기능


로그인 할때마다 2차 인증을 물어보는 불편함을 줄이려면 이 컴퓨터를 신뢰함을 선택하여 동일 브라우저에서 로그인 시 2차 인증을 생략할 수 있습니다.




2. 페이스북 :  2단계 인증 바로가기 

페이스북 2단계인증 설정화면


페이스북 또한 '2단계 인증'이라는 명칭을 사용하고 있습니다. 설정 > 보안 및 로그인 > 보안 및 로그인 설정에서 기능을 활성화할 수 있습니다.


(1) 인증코드 : 휴대폰 SMS/ 타사 인증앱 으로 인증코드를 실시간 발송

(+) 확인된 기기 등록 : 내 기기를 등록하여 2단계 인증을 사용하지 않아도 로그인할 수 있도록 설정하는 기능

(+) 복구코드 : 휴대폰을 사용할 수 없을 경우에 미리 다운로드한 로그인 복구 코드 입력

(+) 보안키 : 소유하고 있는 보안키를 컴퓨터 USB 포트에 삽입하여 인증하는 방식


페이스북은 사용중인 기기를 저장하지 않은 상태에서 2단계 인증을 설정하면 해당 기기를 저장하라는 메세지가 나타나며 다시 로그인할 때 보안 코드를 입력하지 않아도 됩니다.




3. 애플 :  2단계 확인 바로가기 & 이중 인증 바로가기 

애플 이중인증 화면


애플은 '이중인증'과 '2단계 확인' 두가지 2채널 인증 기능을 제공하고 있습니다.


1) 이중 인증 :  Two-factor Authentication

이중 인증은 iOS, macOS, tvOS, watchOS 및 애플 웹 사이트에 직접 구축된 신개념 보안수단입니다. iOS 9 또는 OS X El Capitan 및 이후 버전을 사용중인 기기를 한 대 이상 가지고 있는 iCloud 사용자가 사용할 수 있습니다. 2단계 확인보다 더 강화된 보안 기능으로 확인 코드는 6자리이며, 확인 코드 전송 방식도 신뢰하는 전화번호를 기반으로 신원 확인에 이용됩니다. 계정을 가능한 한 안전하게 유지하되 계정에 접근하지 못하는 상황이 발생하지 않도록 하려면 다음의 몇 가지 간단한 지침을 따라야 합니다.

(1) Apple ID 암호 기억 

(2) 모든 기기에 각각의 암호 사용

(3) 신뢰할 수 있는 전화번호 : 최신 상태로 유지

(4) 신뢰할 수 있는 기기 : 물리적으로 안전하게 보관


2) 2단계 확인 : Two-step Verfication

애플 기기가 없거나, 기기를 업데이트 할 수 없거나, 그 외 이중인증 사용 대상이 아닌 사용자가 사용할 수 있는 이전 단계의 보안 방법입니다. 다른 사람이 사용자의 암호를 알더라도 사용자의 계정에 접근하거나 사용자 계정을 사용하지 못하도록 하는 보안 기능으로 Apple ID로 로그인 할때마다 암호와 4자리 확인 코드를 입력하여 신원을 확인할 수 있습니다. 본인 소유 기기를 기반으로 확인 코드가 발송됩니다.





4. 네이버 :  2단계 인증 & 로그인 전용 ID 바로가기


네이버 2단계인증 설정화면

네이버에서도 '2단계 인증' 을 제공하고 있습니다.


1) 2단계 인증

네이버의 2단계 인증은 스마트폰에 설치되어있는 네이버 앱을 통해서 인증을 받는 방식만 사용합니다. 로그인 할때마다 OTP 비밀번호를 받지 않고, 앱 푸시 알림을 터치만 해주면 되는 간단한 방식입니다. 스마트폰을 잃어버렸을 경우에는 본인인증을 할 수 있는 휴대전화, 이메일 주소가 필요합니다. 두 정보가 백업되어 있지 않은 경우에는 마이핀을 이용해서 네이버로 문의를 하면 2단계 인증을 풀어줍니다.

(1) 네이버 앱 푸시알림

(+) 휴대폰번호, 이메일주소

(+) 마이핀 


네이버 로그인 전용ID 설정화면

2차 인증은 아니지만 개인정보 보호를 위해 네이버에서 함께 제공하고 있는 '로그인 전용 ID' 기능도 함께 소개합니다.


2) 로그인 전용 ID

로그인 전용 아이디는 외부에 노출되는 아이디와 다른 나만 알고 있는 로그인 전용 아이디를 만들어 사용하는 것입니다. 메일, 블로그, 카페 등의 서비스에서는 기존의 아이디가 노출됩니다. 아주 높은 보안 강도를 가지는 기능은 아니지만 간단한 설정을 통해 상대적으로 아이디 해킹에 대한 위협에서 멀리 벗어날 수 있다는 점이 큰 장점입니다.









2채널 인증 방식 비교 : 현상은 다르지만 원인은 같다
각 서비스들의 2채널인증 방식 비교표

위 표는 각 서비스가 2채널 인증방식에 관여하는 기능을 비교하여 정리한 내용입니다. 모든 서비스가 2채널 인증을 구현하는 방식은 조금씩 다릅니다. 표로 만들어보니 그 차이가 더 확실하게 보이는 듯 합니다. 서비스 별로 2채널 인증의 방식은 다르지만 많은 기업들이 2채널 인증을 도입하는 현상은 그만큼 사용자 정보를 보호하는 것이 중요하다는 사실을 증명합니다.


(물론 구글과 페이스북에도 복구 이메일과 복구 휴대폰 번호를 저장하는 기능이 있습니다. 하지만 2채널 인증에 관여하지 않기 때문에 X라고 표기한 점 참고 부탁드립니다.)









나의 이야기 : 그러나, 무작정 따라하는 것은 오히려 서비스에 독이된다.


개인정보보호에 대한 중요성이 점점 커지면서 제가 몸담고 있는 회사에서도 2채널 인증의 필요성을 크게 느끼고, 해당 기능을 제공하기 위해 준비중이었습니다. 순조롭게 서버개발 직전까지 모두 작업이 완료되었지만, 고민 끝에 저는 결국 개발상태를 모두 홀딩하고 다시 기획하기로 결정하였습니다. 제대로된 현상 파악을 못하였기 때문입니다.

저는 개인정보 보호를 강화하기 위해 다른 서비스들을 참고하였고 해결 방안도 비슷하게 제시했습니다. 하지만 다시 살펴본 이 기획서는 우리 고객에게 적절한 해법이 아니었습니다. 결국 제가 생각했던 기획은 '문제의 해결책이 또 다른 문제를 불러일으키는 기획' 이었습니다. 모든 기업이 다른 방식으로 개인정보 보안강화 기능을 제공하는 것처럼 우리 서비스의 상황에 맞는 해결방안을 제공해야 합니다.


오늘처럼 기획서가 여러번 엎어질때 마다 스스로가 병아리처럼 서툴고 나약하다고 느껴지곤 합니다. 하지만 이내 조금 더 단단한 병아리가 되어보고자 노력하게 됩니다. 언제나 우리인생 화이팅!











[참고 자료]

네이버 D2 팩토리 : 2차인증 소개 

salesforce 커뮤니티 : 2단계 인증이란?

구글2단계 인증

페이스북 2단계인증

애플 2단계 확인 & 이중인증 

네이버 2단계 인증 & 로그인 전용 아이디

Symantec : 이중인증 가이드

Naked Security : 이중인증 옵션 이해





작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari