Windows의 디지털 ID 보호 방법

현대인들은 인터넷에 연결된 컴퓨팅 장치를 사용하면서 일상적으로 사용자 이름, 암호 및 PIN을 입력합니다. 이러한 측면은 디지털 경제의 매우 중요한 요소로 Windows에서도 이를 지원하는 인프라 제공은 중요한 작업입니다. 이러한 작업에는 Windows에 로그인하는 기본적 단계부터 점차 늘어나게 될 수많은 계정의 보안을 유지하는 다양한 기술을 구현하는 부분까지 포함됩니다. 이 글에서는 수많은 암호를 더욱 안전하게 관리해주는 Windows의 구조적인 개선 사항을 살펴봅니다. 이 글은 보안 및 ID 팀의 그룹 프로그램 관리자인 Dustin Ingalls가 작성했습니다.

– Steven


Windows 8을 계획하면서 많은 시간을 들여 해결하려고 노력한 문제 중 하나는 편리하고 안전하게 디지털 ID를 관리하는 방법에 대한 것이었습니다. 오늘날에는 디지털 ID 자체나 디지털 ID가 어떻게 쓰여지고 보호되는지에 대한 흥미로운 정보들이 많이 있습니다.

현재, 디지털 ID를 확인하는 가장 일반적인 방법으로 암호가 사용되고 있습니다. 암호는 컴퓨터, 은행, 온라인 상점 및 기타 많은 장소에서 로그인할 때 사용됩니다. 자체 조사 결과에 따르면 미국의 일반 PC 사용자가 통상적으로 보유한 온라인 계정 수는 약 25개인 것으로 나타났습니다.(1) 관리하기가 쉽지 않은 많은 양이죠! 실제로, 이 자료는 25개의 계정에서 사용되는 고유한 암호의 수가 6개 정도에 불과하다는 사실도 보여주었습니다. 보안에 민감한 사람들 입장에서는 일반인들이 여러 계정에서 동일한 암호를 자주 재사용하고 있다는 이 같은 사실이 우려를 자아냅니다. 또한, 특수 문자를 포함한 영숫자를 사용해야 하거나 특수 문자를 사용할 수 없는 경우, 최소 암호 길이가 있거나 없는 경우 등 웹 사이트마다 암호 정책이 다르다는 점을 고려하면 실제로 웹 사이트의 암호 정책이 다 같다고 가정할 경우 여러 계정에 대한 고유한 암호의 수는 더 적었을 것입니다.

한편으로, 이러한 상황은 충분히 이해할 만합니다. 많은 수의 암호를 기억한다는 것이 쉽지 않으며 자주 사용하지 않는 계정의 경우에는 특히 그렇습니다. 다른 한편으로, 암호의 재사용은 해커들에게는 매우 반길 만한 일입니다. 사이트 한곳에서 암호를 알아낼 수 있다면 다른 사이트에서는 같은 암호가 사용될 가능성이 크기 때문이지요. 더욱 심각한 문제는 해커가 로그인 정보를 사용하여 실제로 다른 암호를 사용하는 다른 계정의 암호까지 재설정할 수 있다는 점입니다. 예를 들어, 해커가 어떤 방법으로 한 계정의 암호를 알아낼 수 있다면 웹 전자 메일 계정 중 하나에 같은 암호가 사용될 가능성이 매우 높습니다. 주요 전자 메일 공급자 수가 적기 때문에 어떤 공급자의 전자 메일을 사용하는지 알아내는 일은 그리 어렵지 않습니다. 전자 메일에 접근한 후 해커는 주요 은행과 온라인 상점 등 많이 사용되는 다른 사이트로 가서 '암호 분실' 기능을 사용하여 이미 수중에 넣은 전자 메일 계정으로 암호 재설정 링크를 보냅니다.

(참고로, 핫메일 팀은 핫메일의 암호 복구 프로세스를 새롭게 디자인하기 위해 많은 노력을 기울이고 있습니다. '악의적 의도를 가진 사람들'은 공급자를 가리지 않고 온라인 계정에 접근하기 위해 여러 가지 방법을 시도하며, 핫메일도 예외가 아닙니다. 계정 정보가 노출되는 경우(또는 정상적으로 암호를 분실한 경우)를 대비하여 오직 실제 사용자만 계정을 복구할 수 있도록 다양한 보안 조치들이 마련되어 있습니다. 이러한 조치가 불편할 수 있지만 로그인을 위해 제공된 정보가 상대적으로 적다는 점을 생각해야 합니다. 이 때문에 계정 정보에 보조 전자 메일 계정 또는 가능하면 휴대전화 번호를 추가할 것을 사용자에게 권장합니다. 휴대 전화의 경우 복제하거나 해킹하기가 특히 어렵습니다. 핫메일 계정이 해킹당했다고 생각되면 암호를 재설정할 수 있습니다. 공용 터미널 또는 신뢰할 수 없는 환경에서 핫메일을 사용하는 사용자에게는 SMS를 통해 발송되는 일회용 암호 사용을 권장합니다.)

확실히, 전반적인 사용자 이름/암호의 구조는 일련의 흥미로운 해결 과제를 대두시킵니다. 모든 사용자는 웹을 불편 없이 쉽고 안전하게 사용하기를 원합니다. 또한 많은 양의 복잡한 암호를 기억해야 하는 일은 불편한 것으로 취급되는 것이 보통입니다. 그러나 여러 사이트에서 기억하기 쉬운 동일한 암호를 사용하는 것은 안전하지 않습니다. 따라서 각기 다른 모든 디지털 ID를 쉽고 안전하게 사용할 수 있는 방법을 찾아야 하는 해결 과제가 생기게 됩니다.

이와 관련하여 디지털 ID를 더욱 쉽고 편리하게 관리하기 위한 기본적 접근 방식으로 두 가지를 생각할 수 있습니다. 그 한 가지는 Windows에서 암호 관리를 지원하는 것입니다. 각 웹 사이트에 대해 복잡하고 고유한 암호를 사용하면서 이러한 암호를 일일이 기억할 필요가 없다면 이것은 기억하기 쉬운 암호 하나를 계속 사용하는 것보다 분명 더 수월할 뿐 아니라 복잡한 암호라서 해커가 ID를 도용하기도 더욱 어려울 것입니다. 또 다른 방법은 ID를 보호하고 구성하기 위해 암호 이외의 방법을 사용하는 것입니다. 일회용 암호(OTP), 인증서, 스마트 카드 등 암호를 대체하기 위한 여러 가지 기술들이 몇 년 전부터 이용되고 있습니다. 그러나 이러한 암호 대체 방법들이 보안 면에서는 우수하지만 암호만큼 사용하기가 쉽지는 않다는 점 때문에 큰 호응을 얻지는 못하고 있습니다.

Windows 8에서는 사용자 이름/암호 조합을 안전하게 보관하고 대체 인증을 지원하는 기술을 모두 지원합니다. 다시 말해서, 암호의 보안을 강화하는 한편 디지털 ID 보호를 위한 더욱 새롭고 강력한 기술을 사용하기 편리하게 해주는 환경을 제공하려고 합니다.

암호의 단점

암호를 알아내기 위해 해커들이 사용하는 방법은 다양합니다. 가장 일반적인 방법은 다음과 같습니다.

피싱. 피싱은 사용자를 속여 해커에게 암호를 직접 노출시키도록 합니다. 가장 일반적인 피싱 형태로는 암호를 보내도록 요청하는 '계정 재설정 요청' 전자 메일을 발송하거나 주요 웹 사이트처럼 보이는 허위 웹 사이트 링크로 사용자를 유인하여 암호를 입력하도록 하는 등의 수법이 있습니다.

추측. 사람들이 기억하기 쉬운 암호를 사용하려고 한다는 점을 노려 해커들은 단순히 인터넷에서 가장 많이 사용되는 10개 내지 20개 암호를 시도하는 것만으로도 계정에 접근하곤 합니다. 해커들은 또한 공개된 소셜 네트워킹 프로필 등의 공개 정보를 통해, 가령 사용자가 좋아하는 스포츠 팀이나 좋아하는 애완 동물에 대한 정보를 근거로 쉽게 추측되는 암호를 찾아낼 수 있습니다.

크래킹. 어떤 경우에는 해커들이 데이터 조각(일반적으로 암호의 해시 값)을 가로채 이를 바탕으로 암호를 유도할 수 있습니다. 해커들은 8자 미만의 암호를 매우 빠르게 찾아주는 프로그램을 인터넷에서 자유롭게 다운로드할 수 있습니다.

키로깅. 해커가 장치에 키로거를 성공적으로 설치하기만 한다면 사용자가 키보드의 키를 누를 때마다 이를 기록하여 이름/암호의 조합을 쉽게 알아낼 수 있습니다. 이는 공용 PC나 키오스크에서 성행하는 공격 형태입니다. (이 때문에 이러한 곳에서는 핫메일 암호 대신 일회용 코드를 사용하는 것이 바람직합니다!)

암호의 보안과 사용성 개선

이러한 모든 형태의 공격을 막아내기 위해 사용자가 취할 수 있는 여러 가지 중요한 조치들이 있습니다. 가장 중요한 조치 중 하나는 피싱과 키로깅을 효과적으로 방지하기 위해 PC에 바이러스나 악성 소프트웨어가 설치되지 않도록 관리하는 것입니다. Windows 8에는 이와 관련하여 많은 실용적 기능들이 도입되었으며 이전 블로그 글에서 이미 자세히 다루었습니다(보안 부팅, SmartScreen 및 Windows Defender 강화 등). 그러나 추측 및 크래킹과 같은 공격은 암호의 복잡성에만 의존하므로 각 계정에 고유한 복잡하고 강력한 암호를 사용하는 것이 중요합니다.

Windows 8은 두 가지 방법으로 고유하고 복잡한 암호의 관리 작업을 단순화합니다. 첫 번째로, 사용되는 모든 웹 사이트와 응용 프로그램에 대한 다수의 계정 이름과 암호를 자동으로 저장하고 검색하는 안전한 방법을 제공합니다. Internet Explorer 10에서는 사용자의 선택에 따라, 방문하는 웹 사이트의 이름과 암호를 기억하도록 자격 증명을 보관해두고 사용합니다. 또한, Metro 스타일 앱을 구축하는 사람은 직접 API를 사용하여 해당 앱의 자격 증명을 안전하게 저장 및 검색할 수 있습니다. (IE는 자격 증명의 저장에 관해 웹 사이트의 지침을 따르고 있으며, 암호를 저장하지 않도록 명시적으로 요청하는 웹 사이트도 있습니다.)

자격 증명을 관리하고 웹 사이트, 연결된 응용 프로그램 및 네트워크에 대해 저장된 로그온 정보를 표시 및 삭제합니다. / 웹 자격 증명 / Windows 자격 증명 / [웹 사이트 및 해당 암호 목록]

Windows 8에서는 모든 로그온 자격 증명의 안전한 저장과 관리를 지원합니다.

이 부분에 이루어진 두 번째 중요한 투자는 Katie Frigon이 앞서 게시한 Windows Live ID를 이용하여 Windows 8에 로그인에서 다루어졌습니다. Windows Live ID를 사용하여 Windows에 로그인할 때의 가장 큰 장점 중 하나는 저장해둔 자격 증명을 '신뢰하는 PC'로 등록한 모든 Windows 8 PC에 동기화할 수 있다는 점입니다.

Windows Live ID를 사용하여 Windows에 로그인하는 방식으로 자격 증명을 저장하는 경우 Windows가 각 계정에 대해 복잡하고 고유한 암호를 설정하도록 해줍니다. Windows 8이 사용자를 대신하여 자격 증명을 자동으로 제출하므로 암호를 직접 기억할 필요가 없습니다. 나중에 암호를 실제로 확인해야 하는 경우에는 신뢰하는 PC 중 하나에서 여기 나타낸 자격 증명 관리자를 이용하여 암호를 볼 수 있습니다.

웹 사이트와 응용 프로그램에서 자격 증명을 더욱 안전하게 유지시켜주는 원칙들은 PC 로그인 방식에도 적용됩니다. PC에서 계정을 보호하기 위해 사용하는 암호는 추측 및 크래킹 방법으로 쉽게 알아낼 수 없어야 합니다. Windows 8에서는 로그인에 매우 강력한 암호를 설정하는 동시에 그림 암호 및 생체 인식 등의 다양하고 '편리한' 로그인 방법을 사용할 수 있습니다. 이러한 방법들은 보안을 유지하면서 PC 로그인의 편리성을 높입니다. 이후 블로그 글을 통해 그림 암호와 다른 로그인 방법에 대해 자세히 다루겠습니다.

Windows Live ID를 사용하여 PC에 로그인하면 로그인이 간편하다는 점 외에도 로그인 보안이 강화되고 Windows 암호를 잊어버린 경우에 분명한 암호 복구 경로가 제공된다는 추가적 이점도 따른다는 점을 다시 한 번 강조합니다. 로컬 암호를 사용하면서 암호를 잊어버리면 매우 곤란한 상황에 처하게 됩니다. 암호 복구용 USB 메모리를 만들어놓지 않은 경우 시스템을 처음부터 다시 구축할 수밖에 없습니다. 그러나 Windows Live ID를 사용하여 PC에 로그인하면 다른 PC에서 암호를 재설정할 수 있습니다. Windows Live ID 암호를 도난당하는 경우에도 계정이 도난당했는지 감지하고 자신이 계정의 실제 소유자라는 것을 성공적으로 입증하여 계정을 복구할 수 있을 때까지 계정 사용을 제한하는 여러 가지 Windows Live 안전 장치를 통해 계정을 보호할 수 있습니다. 계정 복구 작업 흐름에는 휴대전화 번호 또는 보조 전자 메일 주소 등 사용자가 이전에 설정한 이중 인증 방법(보조 계정 증빙)이 사용됩니다(보조 인증을 아직 설정하지 않은 경우 Windows 8에서 Windows Live ID를 처음 사용할 때 등록을 요청함). 또한 Windows Live ID가 손상된 상태라도 Windows에서 '정상인 것으로 알려진' 마지막 로그인 암호(물론 암호화된 암호)를 캐싱하고 로그인에 이 암호를 계속 사용할 수 있도록 하기 때문에 PC에 정상적 액세스가 가능합니다.

간편한 암호 대체 방법 개발

복잡하고 고유한 암호가 추측 및 크래킹을 매우 어렵게 할 수 있지만 '공유' 또는 '대칭' 키라고 하는 본질적 한계 때문에 언제나 피싱과 키로깅에 취약성을 드러냅니다. 사용자와 사용자가 로그인하는 대상 사이에 키가 공유되기 때문에 해커가 어떤 방법으로 사용자의 보안 키에 액세스하게 되면 상황이 종료됩니다. 그러나 이러한 형태의 공격을 강력하게 방어하는 대체 방안들이 있습니다.

그 한 가지는 공용/개인 키 쌍입니다. 현재 인터넷의 네트워크 트래픽을 보호하기 위해 가장 일반적으로 사용되는 방법인 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 인증서가 한 예입니다. 공용/개인 키 쌍은 '비대칭' 키라는 점에서 암호와 다릅니다. 개인 키와 공용 키는 서로 다르며 해커가 공용 키를 알고 있어도 개인 키를 유추할 수 없습니다. 간단히 말해서, 공용/개인 키 로그인 방식에서는 서비스에 로그인할 때 해당 서비스에서 사용자에게 로그인 요청을 보내고 사용자는 개인 키로 요청에 서명합니다. 그러면 서비스에서 사용자의 공용 키를 사용하여 서명을 읽고 로그인 요청이 해당 개인 키를 소유한 사람이 서명한 것인지를 암호화된 방식으로 입증합니다. 이를 '소유 증빙'이라고 합니다. 개인 키를 잃어버리지만 않으면 자신이 서비스에 로그인하는 실제 계정 소유자라는 사실을 암호화된 방식으로 강력하게 입증할 수 있습니다. 실제로 개인 키가 교환되는 것이 아니므로 키로깅과 피싱은 있을 수 없습니다. 로깅할 키 입력 자체가 없으며 최악의 경우 사용자가 개인 키를 사용하여 허위 웹 사이트의 인증 요청에 서명하는 경우에도 유용한 정보는 제공되지 않습니다. 즉, 해커는 이 정보를 재사용하여 정상 웹 사이트에 로그인할 수 없습니다.

현재 이 기술은 인터넷에서 광범위하게 사용되지만 기존의 암호 로그인을 대체하지는 못하고 있습니다. 이유가 무엇일까요? 가장 큰 이유는 개인 키의 강력한 보안 기능을 이용하려면 일반적으로 전용 하드웨어(예: 하드웨어 보안 모듈(HSM), 스마트 카드)가 필요한데 지금까지 이러한 하드웨어는 사용하기가 불편하다는 것입니다. 즉, 하드웨어를 분실했거나 현재 가지고 있지 않으면 로그인하지 못한다는 거죠.

Windows 8에는 사용자와 응용 프로그램 개발자의 공용/개인 키 사용을 보다 편리하게 해주는 새롭고 다양한 기능이 도입되었습니다. Windows는 이미 키 쌍 및 인증서 사용을 상당히 포괄적으로 지원하고 있지만 앞서 언급했듯이 개인 키의 강력한 보안 기능을 이용하려면 일반적으로 HSM이나 스마트 카드가 필요합니다. Windows 8에는 개인 키를 강력하게 보호하는 수단으로 신뢰할 수 있는 플랫폼 모듈(TPM)을 쉽고 간편하게 사용할 수 있도록 해주는 새로운 KSP(Key Storage Provider)가 포함되었습니다. TPM은 PC에서 암호 키를 안전하게 저장할 수 있어 오늘날 많은 업무용 PC에 사용되고 있는 신뢰할 수 있는 실행 환경으로서, Windows 8이 출시되면 TPM의 사용 범위가 크게 확대될 것으로 기대합니다. Metro 스타일 앱에는 사용자를 대신하여 키를 자동으로 등록하고 관리해주는 편리한 API가 포함됩니다. 개발자는 Windows Dev Center에서 제공하는 샘플 뱅킹 앱을 통해 이 API의 사용법을 확인할 수 있습니다.

KSP 기능은 현재 인터넷에서 가장 일반적 형태로 나타나는 ID 도용을 매우 강력하게 방어하는 동시에 PC 내의 하드웨어를 이용하여 맬웨어에 의한 개인 키 도난을 방지하기 때문에 뱅킹과 상업용 응용 프로그램에 특히 유용합니다.

이미 스마트 키를 가지고 있는 조직이나 기업을 위해서는 TPM KSP 기능을 기반으로 TPM을 '가상 스마트 카드'로 활용하는 새로운 기능이 구현되었습니다. 이 솔루션은 실제 스마트 카드 판독기가 필요 없기 때문에 더욱 편리하고 경제적이면서 가상 스마트 카드 기능이 기존의 스마트 카드 응용 프로그램 및 관리 솔루션에서 정상 작동하기 때문에 배포도 용이합니다. 가상 스마트 카드 기능은 스마트 카드와 호환되는 모든 응용 프로그램 또는 솔루션에서 기존 스마트 카드를 대체하여 사용할 수 있습니다. 즉, 서버나 응용 프로그램 쪽에서 아무 것도 변경할 필요가 없습니다. 또한, Windows 8에서는 PIV(Personal Identity Verification) 표준 또는 GIDS(Generic Identity Device Specification) 표준을 준수하는 카드를 계속 지원합니다. 이러한 표준의 채택으로 Windows 8에서 스마트 카드를 배포하기가 훨씬 간편합니다. 이러한 모든 옵션은 이전에 실제 스마트 카드로 액세스할 수 있었던 모든 대상인 Windows(도메인 참여 PC), 앱, 웹 사이트 등에 로그인할 때 사용할 수 있습니다. 이 짧은 비디오는 관리자가 정책이나 로그온 스크립트를 사용하여 설정을 마친 후에 이런 식으로 로그인하는 실제 사용 모습을 보여줍니다.

이 HTML5 비디오는 현재 브라우저에서 지원되지 않습니다.

다른 미디어 플레이어로 보려면 이 비디오를 다운로드하십시오.
고화질 MP4 | 저화질 MP4

디지털 ID를 안전하게 유지하는 일이 점차 중요해지면서 복잡성을 가중시키지 않고 디지털 생활을 더욱 안전하고 편리하게 만들어주는 방법을 찾아야 하는 일은 매우 중요한 과제로 남아 있습니다. Windows 8에서는 이러한 부분에 많은 시간을 투여하고 집중적인 노력을 기울이고 있으며, 이에 못지 않게 여러분의 의견도 큰 도움이 될 것으로 생각합니다.

- Dustin Ingalls

(1) 출처: Dinei Florencio 및 Cormac Herley, 웹 암호 사용 습관에 관한 광범위 연구, Microsoft Research. 2007