서문: 하드웨어 키 2단계 인증이 좋다는 건 알겠습니다. 어떻게 시작하죠?
이미 지난번에 하드웨어 키 2단계 인증이 매우 강고한 방어수단이라는 것은 말씀드렸습니다. 그렇다면 어떤 것을, 어떻게 도입 하면 좋을까요? 우선 가장 먼저 하드웨어 키를 선정하고 구매해야 합니다. 여러분의 환경에 적합한 하드웨어키를 구매하는 것이 첫 걸음이라고 할 수 있겠습니다. 만약 하드웨어 키가 여러분의 환경에 알맞지 않을 경우, 사용하는 것이 귀찮아져서 천덕꾸러기가 되고 방치하는 끝에 사용을 포기하는 엔딩이 기다리고 있을지 모릅니다. 물론 모든 보안은 어느정도의 귀찮음을 수반하기 마련이지만 말이죠.
하드웨어 키 선정하기
하드웨어 키를 2단계 인증 매체로 사용하기로 했다면 우선 여러분이 어떤 시나리오에서 2단계 인증을 사용하는지 생각해보셔야 합니다. 집에서나 휴대폰 등에서는 자동 로그인을 켜놓고 자주 사용하지 않는 컴퓨터에서 로그인 할 때 2단계 인증을 사용하는지(예를 들어 공용PC에서 로그인하거나, 개인 계정을 회사 PC에서 로그인할때), 아니면 자동 로그인을 꺼두어서 항상 사용하는 컴퓨터에서도 상시 2단계 인증을 사용하는지, 회사의 정책은 어떤지, 아니면 여러분이 서버에 하드웨어 키를 통한 2단계 인증을 설정하실 경우, 서버에는 어떤 컴퓨터로 접속하실것인지 등을 고려하셔야 합니다.
하드웨어 키는 USB나 NFC로만 연결하기 때문에 만약 여러분이 2단계 인증을 상시 사용하신다면 하드웨어 키를 하드웨어적으로 로그인 할 때 마다 연결 해야 합니다. 따라서 상시 사용하도록 요구되거나, 상시 사용하기로 결정했다면 그에 맞는 사이즈의 하드웨어 키를 사용하는 것이 바람직합니다.
예를 들어서 일반적인 용도의 2단계 인증용이라면 Yubico의 YubiKey 5 NFC/5C NFC면 대개 적당합니다. 이 제품은 세부적으로 USB-A 타입과 USB-C 타입으로 나뉘는데요. 여러분이 사용하고 계신 컴퓨터가 어떤 포트를 가지고 있느냐를 생각하시면 됩니다. 다만 여기서 함정이 있는데요. 예를 들어 제가 MacBook Pro를 가지고 있어서 USB-C 타입의 키만 구입하게 된다면, 예를 들어 외부에 출타해서 다른 컴퓨터를 사용하게 되었을때 그 컴퓨터에 USB-C 포트가 없다면 변환 젠더가 없는한 어카운트가 잠기는 상황이 발생하게 됩니다. 따라서, USB-C 컴퓨터를 가지고 있다 하더라도 USB-A 타입의 키를 하나 더 준비하실 필요가 있습니다.
아까전에 말씀드린 ‘상시 2단계 인증을 사용하는 경우’ 라면 포트에 하드웨어 키를 끼워놓고 사용하는 것이 매우 편리 합니다. 이 경우에는 YubiKey 5 Nano/5C Nano 등이 후보가 될 것 같습니다. 이 역시 USB-A와 C타입이 있지만, 이 경우에는 항시 사용하는 컴퓨터에 삽입하는 것이므로 부담없이 한 종류를 고를 수 있겠지요. 물론 이전 글에서도 언급했듯이 반드시 키는 2개 이상 갖추는것이 추천되므로(애플은 아예 키 2개가 준비되지 않으면 하드웨어 키 2단계를 쓸 수 없습니다) USB-C 타입을 하든 USB-A 타입을 하든 평범한 YubiKey 5 NFC 하나 정도는 갖추는게 바람직합니다.
하드웨어 키 설정하기
하드웨어 키를 선정해서 구입하셨다면 이제 설정을 하실 차례인데요. YubiKey를 사셨다면 Yubico 사이트에 친절하게 가지고 있는 하드웨어 키로 2FA를 설정하는 방법에 대한 방법을 사이트나 서비스 별로 알려줍니다.
간단하게 흐름을 설명하자면 여러분이 하드웨어 키를 인증으로 사용하고자 하는 사이트나 서비스 등의 계정 정보 페이지에 접속해서 인증/보안 메뉴에서 2단계 인증 부분에서 하드웨어 키를 선택하고 키를 꽂습니다. 하드웨어 키를 요구하는 서비스에 따라 PIN을 요구하는 경우가 일반적인데, PIN을 설정하지 않았을 테니 PIN을 설정해둡니다. 이렇게 하드웨어 키를 꽂기만 하면 2단계 인증이 통과되는게 아니라 하드웨어 키에만 기록되는 PIN을 한번 더 입력해야 하드웨어 키가 동작하기 때문에 더욱 안전하게 됩니다. (경우에는 PIN 대신에 지문인식을 사용할 수 있는 키가 있기도 합니다, 하지만 더욱 더 비싸죠)
만약 기껏 하드웨어 키를 샀지만 예외적으로 서비스가 통상적인 TOTP 인증밖에 지원하지 않는 경우에는 TOTP 토큰을 YubiKey에 저장할 수도 있습니다. 그럴 경우 PC에 꽂거나 NFC로 폰에 갖다 댄 다음 Yubico Authenticator 라는 어플리케이션을 실행해서 저장하고 불러들일 수 있는데요. 이때 키의 PIN이 필요하기 때문에 클라우드나 휴대폰에 저장하는 것보다 안전하다고 할 수 있겠습니다.
참고로 푸른곰은…
저는 민감한 정보를 다루는 서비스 계정과 패스워드 매니저는 키로 잠그고 일반적인 크게 중요하지 않은 계정은 TOTP로 잠그고 있습니다. 그리고 TOTP는 따로 관리하고 있고요. 일차적으로 모든 서비스가 하드웨어 키를 지원하는 것은 아니고 그리고 TOTP도 사용해야 하는 만큼, TOTP와 함께 병용해서 관리하는 것이 바람직하지 않나 여겨집니다.