인터넷은 점점 더 중요해지고 있지만 동시에 심각한 문제에 직면해 있습니다. 온라인 ID 도용, 사기, 개인 정보 보호 문제가 증가하고 있습니다. 사용자는 날이 갈수록 더 많은 계정과 암호를 관리해야 합니다. 이러한 부담의 결과로 "암호 피로 현상"이 발생하여 다수의 사이트에서 동일한 계정 이름과 암호를 재사용하는 것과 같은 안전하지 않은 방법을 사용하게 됩니다.
CardSpace는 ID가 생성되고 사용되는 기본 ID 시스템과 독립적으로 사용자가 자신의 ID 포트폴리오에서 ID를 선택하여 적절한 상황에서 사용할 수 있도록 구현한 Microsoft의 ID 메타시스템입니다. 이 항목에서는 인터넷 사용과 관련된 문제 및 이에 대한 CardSpace의 해결책을 자세히 설명하고 WCF(Windows Communication Foundation) 사용자가 CardSpace를 사용하는 방법을 간략하게 설명합니다. 이러한 문제의 상당수는 인터넷에서 광범위하게 채택되는 ID 솔루션이 없다는 데에서 기인합니다.
기회와 도전
인터넷은 개인 사용자와 기업 모두에게 점점 더 중요해지고 있습니다. 쇼핑, 은행 업무, 청구서 지불에서 미디어나 엔터테인먼트 소비에 이르는 많은 일상 업무에 웹을 사용하는 사람이 증가하고 있습니다. 기업의 경우 인터넷을 통해 제공하는 서비스와 콘텐츠가 많아지고, 온라인으로 통신과 공동 작업을 수행하고, 서로를 연결하는 새로운 방법을 개발하면서 전자 상거래가 성장하고 있습니다.
그러나 온라인 작업의 중요성이 커짐에 따라 인터넷 자체도 더욱 복잡하고 위험해졌습니다. 온라인 ID 도용, 사기, 개인 정보 보호 문제가 증가하고 있습니다. "피싱"과 같이 점점 더 정교한 사기 수법이 등장하고 있습니다. 이러한 문제에 대응하여 ID를 보호하기 위한 여러 가지 시스템이 고안되었습니다. 이러한 다양성의 결과, 앞에서 말한 암호 피로와 안전하지 않은 보안 행위가 발생합니다.
이 문제의 근원은 인터넷 설계 시 디지털 ID를 고려하지 않았다는 데 있습니다. 이러한 결함을 해결하기 위해 수많은 디지털 ID 시스템이 도입되었으며 이러한 각 시스템에는 고유한 강점과 약점이 있습니다. 하지만 모든 디지털 ID 시나리오의 요구 사항을 충족하는 시스템은 없습니다. 현재 다양한 ID 시스템이 사용되고 있으며 여기에 추가로 새로운 시스템이 개발되고 있습니다. 결과적으로, 각 웹 사이트에서는 그때그때 필요에 따라 마련된 일관성 없는 솔루션이 사용되며 이로 인해 시스템 전체적으로 취약해지고 이러한 제약으로 인해 전자 상거래의 가능성을 완전하게 실현하기가 어렵습니다.
개방형 ID 메타시스템
단일 디지털 ID 시스템이나 기술을 보편적으로 채택할 가능성이 거의 없으므로 인터넷에 광범위하게 이용되는 성공적인 ID 솔루션에 대한 다른 접근법이 필요합니다. 즉, 기존 ID 시스템과 향후 만들어질 ID 시스템을 연결하여 하나의 ID 메타시스템("시스템의 시스템")으로 만드는 기능을 가진 솔루션이 있어야 합니다. 이러한 메타시스템은 자신을 구성하는 여러 ID 시스템의 장점을 활용하고, 각 시스템 간의 상호 운용성을 제공하며, 모든 시스템에 대해 일관적이고 간단한 사용자 인터페이스를 생성하도록 지원합니다. 그 결과로 사이버스페이스가 개선되면 인터넷은 전자 상거래를 활성화하고 피싱을 방지하며 기타 디지털 ID 문제를 해결할 수 있는 안전한 장소가 될 수 있어 모든 사람에게 이익이 됩니다.
시스템 다양성 유지
오프라인 세계에서 사람들은 운전 면허증 또는 기타 정부 발급 신분증, 신용 카드, 항공사 마일리지 카드와 같은 여러 가지 형태의 신분증, 즉 ID를 가지고 다닙니다. 그리고 특정 상황에서 사용할 카드와 공개할 정보 수준을 결정합니다.
이와 마찬가지로, ID 메타시스템을 사용하면 인터넷에서 자신의 통제하에 안전하게 리소스에 액세스할 수 있습니다. 사용자는 자신의 디지털 ID 포트폴리오에서 ID를 선택하여 적절한 인터넷 서비스에 사용할 수 있습니다. 메타시스템을 사용하면 특정 ID 시스템 기술에서 제공하는 ID를 다른 기술 기반의 시스템 내에서 사용할 수 있습니다. 단, 두 기술을 모두 인식하고 필요한 변환 작업을 수행하는 신뢰할 수 있는 매개자가 있어야 합니다.
ID 메타시스템은 자신이 연결하는 ID 시스템과 경쟁하거나 시스템을 대체하지 않습니다. ID 메타시스템의 목적은 개별 ID 시스템을 완벽하게 상호 운용할 수 있도록 연결하여 기반 기술에 관계없이 ID 표현을 응용 프로그램에 제공하고 사용자가 모든 시스템을 더 효과적이고 일관적으로 사용할 수 있도록 하는 것입니다. 메타시스템에서는 개별 시스템을 사용하여 작업을 수행합니다.
상황에 맞는 ID
오프라인에서 개인이 보유하는 ID는 출생 증명서, 여권, 운전 면허증과 같은 중요한 것부터 명함, 커피점 고객 카드와 같은 사소한 것까지 다양할 수 있습니다. 사람들은 상황에 따라 다양한 형태의 ID를 사용합니다.
ID는 상황에 맞을 수도 그렇지 않을 수도 있습니다. 일반적으로 상황에 맞지 않는 ID를 사용하면 원하는 결과를 얻을 수 없습니다. 예를 들어 국경을 넘을 때 커피 고객 카드를 사용하는 것은 분명히 상황에 맞지 않습니다. 반면에 ATM에서 은행 카드를 사용하거나, 국경에서 정부 발급 ID를 사용하거나, 커피점에서 커피 고객 카드를 사용하거나, MSN Hotmail에서 Passport Network(이전의 .NET Passport) 계정을 사용하는 것은 상황에 맞습니다.
이러한 구별이 불분명한 경우도 있습니다. 예를 들어 ATM에서 은행 발급 카드 대신 정부 발급 ID를 사용할 수도 있습니다. 하지만 그 결과로 정부가 개인의 금융 거래를 알게 된다면 어떤 사람들은 불쾌하게 여길 것입니다. 또 주민 등록 번호를 학생 ID로 사용할 수 있지만 그렇게 하면 ID 도용이 쉬워집니다. Microsoft가 아닌 일부 사이트에서 Passport 계정을 사용할 수 있지만, 이렇게 할 수 있는 사이트는 거의 없습니다. 할 수 있더라도 Microsoft가 이 상호 작용에 개입하는 것은 상황에 맞지 않는 것으로 생각하므로 그렇게 하는 사용자는 거의 없습니다.
산업 전반에 걸친 Passport 사용 경험과 기타 디지털 ID 이니셔티브에 대한 연구를 통해 다양한 분야의 전문가가 협력하여 널리 채택되며 지속적으로 유지되는 성공적인 인터넷 디지털 ID 시스템을 구축할 수 있는 근본 원칙을 도출했습니다. 다음 항목에서는 이러한 원칙에 대해 설명합니다.
원칙("ID의 법칙")
개방형 ID 메타시스템은 디지털 ID 관련 분야에서 활동하는 다양한 사용자로 구성된 커뮤니티에서 지속적으로 피드백과 의견을 받아들여 개발된 일련의 원칙("ID의 법칙")을 따르도록 설계되었습니다.
ID 시스템이 따라야 할 원칙은 다음과 같습니다.
- 사용자 제어 및 동의
ID 시스템은 사용자가 동의한 경우에만 사용자 식별 정보를 공개합니다.
- 한정된 시간 동안 최소한으로 공개
식별 정보를 최소한으로만 공개하는 ID 시스템 솔루션은 가장 안정적이고 장기적인 솔루션입니다.
- 정당한 당사자
ID 시스템은 주어진 ID 관계에서 필수적이며 정당한 위치에 있는 당사자에게만 식별 정보를 공개합니다.
- 방향성 ID
ID 시스템은 공용 엔터티에 사용되는 "전방향" 식별자와 전용 엔터티에 사용되는 "단방향" 식별자를 모두 지원하므로 상관 관계 핸들이 불필요하게 해제되지 않도록 하는 동시에 간편하게 검색할 수 있도록 합니다.
- 운영자와 기술의 다원성
ID 시스템은 여러 ID 공급자가 실행하는 다양한 ID 기술의 내부 작업을 연결하고 활성화합니다.
- 인적 통합
ID 시스템은 ID 공격을 방지하는 인간과 시스템 간의 명확한 통신 메커니즘을 통해 통합된 분산 시스템의 구성 요소로 개인 사용자를 정의합니다.
- 여러 상황에서 일관된 경험
ID 시스템은 신뢰 당사자와 특정 ID 사용자 간의 협상을 용이하게 합니다. 다시 말해서, 다양한 상황에서 ID의 자율성을 허용하는 동시에 사람이 기술을 이용하는 데 사용할 수 있도록 조화로운 인터페이스를 제공합니다.
개방형 ID 메타시스템 아키텍처
다음 항목에서는 개방형 ID 메타시스템의 일반 아키텍처를 다룹니다.
역할
여러 당사자는 각자 다른 방법으로 메타시스템에 참가합니다. 메타시스템 내의 역할은 다음과 같습니다.
ID 공급자 - ID를 발급합니다. 예를 들어 신용 카드 공급자는 지불 행위가 가능한 ID를 발급할 수 있고, 기업은 고객에게 ID를 발급할 수 있으며, 정부는 시민에게 ID를 발급할 수 있고, 개인은 웹 사이트 로그인 등의 상황에서 자체 발급 ID를 사용할 수 있습니다.
신뢰 당사자 - ID를 요구합니다. 예를 들어 다른 당사자에 의해 제공된 ID를 사용하는 웹 사이트나 온라인 서비스가 신뢰 당사자입니다.
주체 - 생성된 클레임 정보를 소유한 개인 및 기타 실체입니다. 예를 들면 최종 사용자, 회사, 조직 등이 이에 속합니다.
ID 메타시스템에 참가하는 모든 개인 및 실체는 모든 역할을 수행할 수 있으며 두 가지 이상의 역할을 동시에 수행할 수 있습니다. 개인이나 실체가 동시에 세 가지 역할을 모두 수행하는 경우가 종종 있습니다.
구성 요소
이 단원에서는 메타시스템의 주요 구성 요소와 개념을 설명합니다.
메타시스템은 다음과 같은 5가지 주요 구성 요소로 이루어집니다.
클레임을 사용하여 ID를 표현하는 방법
ID 공급자, 신뢰 당사자 및 주체의 협상 방법
클레임과 요구 사항을 가져오기 위한 캡슐화 프로토콜
클레임 변환을 사용하여 기술 및 조직 경계를 극복하는 방법
여러 상황, 기술 및 운영자 간의 일관된 사용자 경험
클레임 기반 ID
ID는 ID의 주체에 대해 어설션되는 클레임 집합으로 구성됩니다. 예를 들어 운전 면허증의 클레임에는 발급 시/도, 운전 면허 번호, 이름, 주소, 성별, 생년월일, 면허자가 운전할 수 있는 차량 종류 등이 포함될 수 있습니다. 발급 시/도는 이 클레임이 유효함을 어설션합니다.
신용 카드의 클레임에는 카드 발급자의 ID, 카드 보유자의 이름, 계정 번호, 만료 날짜, 유효성 검사 코드, 카드 보유자의 서명이 포함될 수 있습니다. 카드 발급자는 이 클레임이 유효함을 어설션합니다.
명함과 같은 자체 발급 ID의 클레임에는 이름, 주소, 전화 번호가 포함될 수 있습니다. 자체 발급 ID의 경우 사용자가 직접 이 클레임이 유효함을 어설션합니다.
협상
메타시스템 참가자는 협상을 사용하여 메타시스템 내에서 서로 연결하는 데 필요한 사항을 합의할 수 있습니다. 협상을 사용하여 상호 허용 가능한 기술, 클레임, 요구 사항을 결정합니다. 예를 들어 한 당사자는 SAML 및 X.509 클레임을 인식하고 다른 당사자는 Kerberos 및 X.509 클레임을 인식하는 경우, 양 당사자는 서로 협상하여 X.509 클레임을 사용하기로 결정할 수 있습니다. 이와 다른 유형의 협상에서는 신뢰 당사자가 요구하는 클레임을 특정 ID에서 공급할 수 있는지 여부를 결정합니다. 두 종류의 협상 모두 간단한 짝맞추기 방법입니다. 즉, 한 당사자가 제공할 수 있는 항목과 다른 당사자가 요구하는 항목을 비교하여 일치하는 항목이 있는지를 확인합니다.
캡슐화 프로토콜
캡슐화 프로토콜은 주체, ID 공급자, 신뢰 당사자 사이에서 클레임과 요구 사항을 교환하는 기술 중립적인 방법을 제공합니다. 교환 대상의 콘텐츠와 의미를 결정하는 것은 메타시스템이 아니라 참가자입니다. 예를 들어 캡슐화 프로토콜을 사용하면 응용 프로그램에서 SAML 프로토콜을 인식하거나 구현할 필요 없이 SAML로 인코딩된 클레임을 검색할 수 있습니다.
클레임 변환기
클레임 변환기는 한 시스템에서 인식되는 클레임을 다른 시스템에서 인식되고 신뢰되는 클레임으로 변환하여 조직 및 기술 경계를 넘어서므로 수많은 클라이언트와 서버가 복잡한 클레임 평가를 수행하는 수고를 덜어줍니다. 클레임 변환기는 클레임의 의미 체계를 변환하거나 구체화할 수도 있습니다. 예를 들어 "직원임"이라고 어설션하는 클레임을 "책을 구매해도 좋음"이라는 새 클레임으로 변환할 수 있습니다. "1960년 3월 22일생"이라는 클레임은 의도적으로 더 적은 정보를 제공하는 "연령 21세 이상"이라는 클레임으로 변환할 수 있습니다. 클레임 변환기를 사용하여 클레임 형식을 변경할 수도 있습니다. 예를 들어 X.509, Kerberos, SAML 1.0, SAML 2.0, SXIP 등과 같은 형식으로 만들어진 클레임을 다른 기술을 통해 표현된 클레임으로 변환할 수 있습니다. 클레임 변환기는 현재 필요한 상호 운용성을 제공할 뿐 아니라 향후의 새 기술을 통합하는 데 필요한 유연성도 제공합니다.
일관적인 사용자 경험
상당수의 ID 공격이 성공하는 것은 보안이 유지되지 않는 통신 기술 때문이 아니라 사용자가 화면에 나타나는 내용에 속기 때문입니다. 예를 들어 피싱 공격은 수천 킬로미터에 이르기도 하는 웹 서버와 브라우저 간 보안 채널에서 발생하는 것이 아니라 불과 60~90cm밖에 안 되는 브라우저와 브라우저 사용자 간에 발생합니다. 따라서 ID 메타시스템은 올바른 선택을 위한 일관적이고 포괄적이며 통합된 사용자 인터페이스 개발을 활성화하여 사용자가 정보에 근거한 합리적인 ID 결정을 내릴 수 있도록 지원합니다.
전체 시스템의 보안 유지를 위한 중요한 방법 중 하나는 채택된 기본 ID 기술이 어느 것이든 관계없이 동일한 모양으로 동일하게 작동하며 배우기 쉽고 예측 가능한 사용자 인터페이스를 제공하는 것입니다. 또 한 가지 방법은 중요한 정보를 눈에 띄게 만드는 것입니다. 예를 들어, 스푸핑 시도를 명백히 드러내는 방법을 통해 인증하려는 사이트의 ID를 표시할 수 있습니다. 사용자는 신뢰 당사자가 개인 정보의 어느 항목을 어떤 목적으로 요청하는지 알고 있어야 합니다. 그러면 사용자는 이 정보 공개 여부를 선택하는 데 있어서 정보에 근거하여 올바로 판단할 수 있습니다. 시스템의 보안 유지를 위한 마지막 방법으로 사용자 인터페이스가 있으며, 이 인터페이스를 통해 사용자는 조건에 동의하는 경우 정보 공개에 적극적으로 동의할 수 있습니다.
WS-* 사양
WCF의 다른 기능과 마찬가지로, CardSpace 기술은 WS-* Web Services Architecture라는 공개 사양 집합을 기반으로 합니다. 클레임 변환에 사용되는 캡슐화 프로토콜은 WS-Trust이며, 협상은 WS-MetadataExchange 및 WS-SecurityPolicy를 사용하여 수행됩니다. 이러한 프로토콜은 기술 중립적인 ID 메타시스템 구축을 가능하게 하며 ID 메타시스템의 "백플레인"을 형성합니다. 이 프로토콜은 다른 웹 서비스 프로토콜과 마찬가지로 업계에서 개발하고 채택하는 새로운 종류의 ID와 기술을 통합하고 사용할 수 있습니다.
폭넓게 채택되기 위해 필요한 상호 운용성을 향상하기 위해 WS-* 사양을 게시하여 무료로 제공하고, 개방형 표준 관련 단체에 지속적으로 제출하며, 사용료 없이 구현을 개발하도록 허용합니다.
종단 간 시나리오
다음 그림에서는 CardSpace를 사용하여 사용자 유효성 검사가 필요한 사이트에 액세스할 때 발생하는 종단 간 프로세스를 보여 줍니다.
.gif)
결론
피싱 공격에서부터 일관성 없는 사용자 경험에 이르기까지 현재 인터넷에서 발생하는 문제의 상당수는 소프트웨어 제조업체가 아키텍처에 기반을 둔 통합 디지털 ID 시스템 없이 그때그때 필요에 따라 디지털 ID 솔루션을 구축했기 때문에 발생합니다. ID의 법칙에 정의된 대로 구축된 ID 메타시스템은 디지털 ID 통합 패브릭을 제공하고, 기존 ID 시스템과 향후 ID 시스템을 사용하며, 시스템 간에 상호 운용성을 제공하고, 모든 시스템에 대해 일관적이고 간단한 사용자 인터페이스를 생성하도록 지원합니다. Microsoft는 게시된 WS-* 프로토콜을 사용하여 ID의 법칙을 기반으로 하며 Microsoft 구현과 다른 업체의 구현이 완벽하게 상호 운용되도록 하는 ID 메타시스템을 구축하기 위해 업계 관계자와 협력하고 있습니다. Microsoft가 구현한 ID 메타시스템 구성 요소가 CardSpace 시스템입니다.
CardSpace를 사용하면 현재 온라인 작업에서 겪는 수많은 위험, 복잡성, 곤란, 불확실성 등을 해결할 수 있습니다. ID 메타시스템을 광범위하게 배포하면 이러한 많은 문제를 해결할 수 있으며 온라인 세계를 더욱 안전하고, 신뢰할 수 있고, 사용하기 쉽게 만들어 모든 사람에게 이익을 주고 장기적인 연결 증가 속도를 높일 수 있습니다. Microsoft는 업계 관계자와의 협력을 통해 ID 메타시스템을 정의하고 배포하고 있습니다.
.gif)
이 항목에 대한 의견을 Microsoft에 보내 주십시오.
Copyright © 2007 by Microsoft Corporation. All rights reserved.