Windows 2000 분산 보안 기능

보안 서비스

Windows 2000 분산 보안에는 도메인 관리를 단순하게 하고 성능을 향상시키며 공개 키 암호화 기법에 기반하여 인터넷 보안 기술을 통합하는 여러 새로운 기능이 포함되어 있습니다. Windows 2000 분산 보안 서비스의 하이라이트는 Windows 2000 Active Directory 서비스, Kerberos 버전5인증 프로토콜, 공개 키 인증서를 사용한 강력한 인증 확인, SSL(Secure Sockets Layer) 3.0과CryptoAPI에 기반하는 보안 채널등의 통합입니다. 위의 기능들은 데이터 통합 및 공중 네트워크에서의 개인 정보 보호와 함께 유연하고 확장할 수 있는 계정 관리를 제공합니다.

Windows 2000 보안에서는 인터넷 기반의 엔터프라이즈를 지원할 수 있도록 여러 영역을 개선하였습니다. 이러한 변경의 일부에는 계층적 Windows 2000 Active Directory를 사용한 향상된 대규모 조직 지원 기능이 반영되었습니다. 또 다른 변화는 Windows 보안 구조의 장점인 유연성을 이용하여 인터넷 공개 키 인증서를 통한 인증 기능 통합입니다.

아래 목록은 새로운 Windows 2000 보안 기능입니다:

  • Active Directory는 모든 도메인 보안 정책 및 계정 정보에 대한 저장소를 제공합니다. 복제 및 계정 정보를 복수개의 도메인 컨트롤러에 제공하는 Active Directory는 원격 관리할 수 있습니다.
  • Active Directory는 사용자, 그룹 및 컴퓨터 계정 정보에 대한 계층적 이름 공간을 지원하기 때문에 이전 버전의 Windows NT에서 제공되었던 단층 도메인 계정 이름 공간이 아닌 조직 단위별로 계정을 그룹화할 수 있습니다.
  • 사용자 또는 그룹 계정을 생성하고 관리할 수 있는 Administrator의 권한은 조직 단위 수준으로 위임할수 있습니다. 액세스 권한이 사용자 개체의 개인 속성에 허가되어 특정 개인 또는 그룹이 암호를 재설정할 수 있습니다. 이 때 다른 계정 정보는 수정할 수 없습니다.
  • Active Directory 복제를 사용하여 주 도메인 컨트롤러 (PDC)만이 아닌 모든 도메인 컨트롤러의 계정을 업데이트할 수 있습니다. 백업 도메인 컨트롤러 (BDC)라고 불리는 다른 도메인 컨트롤러에 있는 복수개의 Active Directory 마스터 복제가 자동으로 업데이트 및 동기화됩니다.
  • Windows 2000에서는 Active Directory를 사용하여 다중 수준 계층 트리 도메인을 지원하는 새로운 도메인 모델을 적용하였습니다. 도메인 사이의 트러스트 관계 관리는 모든 도메인 트리에서 트리 범위의 전이적 트러스트를 통해 단순화되었습니다.
  • Windows 보안에는 호환성을 위한 Windows NT LAN Manager 인증 프로토콜 지원과 더불어 분산 보안 프로토콜을 위한 Kerberos 버전5 및 TLS (transport Layer Security)를 포함하는 인터넷 표준 보안 프로토콜 기반의 새로운 인증이 포함되었습니다.
  • 보안 채널 프로토콜 (SSL 3.0/TLS)의 구현으로 공개 키 인증서 형태의 사용자 자격 증명을 기존 Windows NT 계정에 매칭함으로써 강력한 클라이언트 인증을 지원할 수 있게 되었습니다. 공통 관리 도구를 사용하여 공유 비밀 인증 또는 공개 키 보안 중 어느 것을 사용하는지 관계 없이 계정 정보 및 액세스 제어를 관리할 수 있습니다.
  • Windows 2000은 대화형 로그온에 대해 암호 뿐 아니라 옵션으로 스마트 카드 사용을 지원합니다. 스마트 카드는 개인 키 및 인증에 대한 암호화 및 보안 저장소를 지원하여 데스크톱에서부터 도메인에 걸친 강력한 인증을 가능하게 합니다.
  • Windows 2000은 조직에서 X.509 버전 3 인증을 직원 또는 비즈니스 파트너에게 발행할 수 있도록 Microsoft 인증서 서버를 제공합니다. 여기에는 인증 관리를 위한 CryptoAPI 소개 및 상용 인증 기관 (CA), 제3사CA및Windows에 포함되어 있는 Microsoft 인증서 서버중 한 곳에서 발행한 표준 형식 인증을 포함하는 공개 키 인증서를 처리할 수 있는 모듈이 제공됩니다. 시스템 관리자는 자신의 환경에서 트러스트하는 CA를 정의하여 클라이언트 인증 및 자원 액세스에 허용되는 인증을 결정합니다.
  • Windows 2000 계정이 없는 외부 사용자는 공개 키 인증서를 통하여 인증되어 기존 Windows 계정에 매핑됩니다. Windows 계정에 정의된 액세스 권한으로 외부 사용자가 시스템에서 사용할 수 있는 자원이 결정됩니다. 공개 키 인증서를 사용한 클라이언트 인증으로 Windows 2000에서 트러스트된 인증 기관 (CA)에서 발행한 인증에 근거하여 외부 사용자를 인증할 수 있습니다.
  • Windows 2000 사용자는 사용이 간편한 도구와 공통 인터페이스 대화 상자를 사용하여 개인/공통 키 및 이 키를 이용한 인터넷 기반 자원에 대한 액세스 인증을 관리합니다. 보안 디스크 저장소를 사용하는 개인 보안 자격 증명 저장소는 제안 작업 중에 있는 업계 표준 프로토콜인 개인 정보 교환(Personal Information Exchange)을 사용하여 쉽게 이동할 수 있습니다.
  • 암호화 기술은 인증 데이터 스트림 제공을 위한 디지털 서명을 사용할 수 있도록 다양한 방법으로 운영 체제에 설계되었습니다. 서명된 ActiveX™ 컨트롤 및 자바 클래스와 더불어 Windows 2000은 다양한 프로그램 구성 요소의 이미지 통합에 디지털 서명을 사용합니다. 회사 내의 개발자들은 서명 된 분산 및 바이러스 보호 소프트웨어를 개발할 수 있습니다.

이러한 변화 외에 제3사에서 동적 암호 인증 서비스를 Windows 2000 서버에 호스트하고 동적 암호를 Windows 2000 도메인 인증에 통합하길 기대합니다. 이와 같은 제3사 제품 지원에 대한 문서는 Microsoft Platform SDK에 포함되어 있습니다.

Windows NT 4.0계정 정보는 도메인 컨트롤러 레지스트리의 보안 된 일부분을 사용하여 유지관리 되었습니다. 도메인 트러스트 및 통과 인증을 사용함으로써 두 단계 계층의 도메인은 계정 관리 및 자원 서버를 어느 정도 유연하게 조직화할 수 있었습니다. 그러나 도메인 안에서 계정들은 내부 조직을 갖지 않는 평이한 이름 공간에서 유지관리 되었습니다.

Active Directory Security

Windows 2000 분산 보안 서비스는 Active Directory를 계정 정보의 리포지토리로 사용합니다. Active Directory는 레지스트리 기반의 구현 보다 성능 및 확장성이 현저히 개선되었으며 기능이 풍부한 관리 환경을 제공합니다.

아래 다이어그램은 Windows 2000 도메인 트리에 대한 계층적 구조와 조직 구성 단위(OU)를 디랙토리 개체 컨테이너로 사용하여 각 도메인의 계층적 이름 컨텍스트를 표시합니다.

secovr01

그림 1

Active Directory 계정 관리 기능

보안 계정 관리를 Active Directory와 통합하여 얻는 이점은 다음과 같습니다:

  1. 사용자, 그룹 및 시스템 계정은 조직 구성 단위 (OU;Organizational Unit)라고 불리는 디랙토리 컨테이너로 조직화할 수 있습니다. 도메인은 트리 구조의 이름 공간에 몇 개의 OU라도 가질 수 있습니다. 비즈니스에서 계정 정보의 이름 공간을 기업의 부서 및 조직을 나타내도록 구성할 수 있습니다. OU 만이 아니라 사용자 계정도 조직이 변경될 때 도메인 트리안에서 쉽게 이름을 수정할 수 있는 디랙토리 개체입니다.
  2. Active Directory는 레지스트리보다 훨씬 많은 사용자 개체(1백만 개 이상)를 지원하며 성능도 우수합니다. 개별 도메인의 크기는 더 이상 보안 계정 리포지토리 성능의 제한을 받지 않습니다. 연결된 도메인의 트리는 훨씬 크고 복잡한 조직 구조를 지원할 수 있습니다.
  3. 계정 정보의 관리는 Active Directory 관리를 위한 고급 그래픽 도구와 스크립트 언어를 위한 OLE DS 지원으로 향상 되었습니다. 공통 작업은 배치 스크립트로 구현하여 관리를 자동화할 수 있습니다.
  4. 디랙토리 복제 서비스는 복수개의 계정 정보 복사본을 지원하며 지정 주 도메인 컨트롤러 뿐이 아닌 모든 복사본에 대한 업데이트를 지원합니다. LDAP (Lightweight Directory Access Protocol) 및 디랙토리 동기화 지원 기능은 Windows 디랙토리와 엔터프라이즈 내의 다른 디랙토리를 연결하는 메커니즘을 제공합니다.

Active Directory의 강력한 보안 계정 정보는 사용자 및 그룹이 디랙토리에서 개체로 표시된다는 것을 의미합니다. 디랙토리의 개체에 대한 읽기 및 쓰기 권한은 개체 전체에 허용하거나 개체의 개별 속성에 적용할 수 있습니다. 관리자는 사용자 또는 그룹 정보의 업데이트 권한을 가질 사용자에 대해 세세하게 제어할 수 있습니다. 예를 들어, 텔레콤 운영자 그룹에게 계정 운영자 및 관리자의 전체 권한을 주지 않고도 사무실 전화 설비에 관계된 사용자 계정 속성에 대해서만 쓰기 권한을 부여할 수 있습니다.

로컬 및 글로벌 그룹이 모두 디랙토리의 그룹 개체로 대표되기 때문에 그룹이라는 개념 또한 단순화되었습니다. 로컬 그룹 액세스를 위한 기존의 프로그래밍 인터페이스는 이전 버전과의 완전한 호환성을 위해 지원됩니다. 그러나 디랙토리에 정의된 그룹은 자원에 대한 전체 도메인의 액세스 제어 또는 도메인 컨트롤러의 로컬 관리만을 위한 목적으로 사용될 수 있습니다.

디렉토리와 보안 서비스 사이의 관계

Active Directory와Windows 2000 운영 시스템에 통합된 보안 서비스 사이에는 중요한 관계가 있습니다. Active Directory에는 전체 도메인 암호 제약 사항 및 시스템 액세스 권한등과 같이 시스템 사용에 직접적인 연관이 있는 도메인 보안 정책 정보를 저장합니다. 디랙토리의 보안 관련 개체는 시스템 보안의 전체에 영향을 미치는 무단 변경이 일어나지 않도록 안전하게 관리 되야 합니다. Windows 2000 운영 시스템은 개체 기반의 보안 모델과 모든 Active Directory의 개체에 대한 액세스 제어 기능을 구현하였습니다. 모든 Active Directory의 개체에는 개체 속성을 읽거나 업데이트할 때 필요한 액세스 권한을 정의하는 고유 보안 설명자가 있습니다.

아래 다이어그램은 Active Directory와 운영 체제 보안 서비스 사이의 기본적인 관계를 나타냅니다.


브라우저에서 인라인 프레임이 지원되지 않는 경우 별도 페이지를 보려면 여기를 클릭 하십시오.

그림 2

Active Directory는 가장 및Windows 2000 액세스 확인을 사용하여 Active Directory 클라이언트가 대상 개체를 읽거나 업데이트할 수 있는지 결정합니다. 이것은 LDAP 클라이언트가 디랙토리로 요청을 보낼 때Active Directory 자신이 액세스 제어 결정을 하는 것이 아니라 운영 체제의 액세스 제어를 적용한다는 것을 의미합니다.

Windows 2000 보안 모델은 그룹 구성원에 근거하여 모든 도메인 자원에 대한 통합되고 일관적인 액세스 제어를 구현합니다. 예를 들어 Windows 2000 인증 서비스는 암호화된 암호 정보를 디랙토리 사용자 개체의 보안 된 부분에 저장합니다. 운영 체제는 이러한 보안 정책 정보가 보안 저장되어 있고 계정 제한 또는 그룹 구성원이 무단 사용자에 의해 변경되지 않았다는 것을 신뢰합니다. 추가적으로, 전체적인 도메인 관리에 대한 보안 정책 정보는 디랙토리에 저장됩니다.

보안 및Active Directory의 기본적인 관계는 디랙토리와 Windows 2000 운영 체제의 완전한 통합에 의해서만 가능하며 그렇지 않다면 불가능합니다.

관리 위임

관리 위임은 보안 관리를 전체 조직 도메인 중 정의된 부분 집합에만 적용하도록 제한하는 유용한 도구입니다. 이 때 필수 요구 사항은 적은 수의 사용자 집합 또는 그룹을 책임 영역내의 관리 권한을 허용하면서도 조직의 다른 부분의 계정 관리 권한은 주지 않는 것입니다.

새로운 사용자 또는 그룹 생성 책임에 대한 위임은 계정이 생성되는 조직 구성 단위 또는 컨테이너 수준에서 정의됩니다. 한 조직 구성 단위의 그룹 관리자가 반드시 같은 도메인내에 있는 다른 조직 구성 단위의 계정을 생성 및 관리할 수 있는 것은 아닙니다. 그러나 전체 도메인에 적용되는 정책 설정 및 디랙토리 트리의 상위 수준에서 정의된 액세스 권한은 액세스 권한의 상속으로 트리에서 적용할 수 있습니다.

관리 책임 위임을 정의하는 방법은 다음3가지입니다:

  • 도메인 개체 자신의 LocalDomainPolicies와 같은 특정 컨테이너의 속성을 변경할 수 있는 권한을 위임합니다.
  • 사용자, 그룹 또는 프린터와 같이 OU 아래의 특정 유형 개체의 자식을 생성 또는 삭제할 수 있는 권한 위임
  • OU의 특정 유형의 자식 개체의 특정 속성을 업데이트할 수 있는 권한 위임

디렉토리 서비스 관리 사용자 인터페이스를 사용하여 컨테이너에 정의된 위임 정보를 쉽게 볼 수 있습니다. 위임하려는 사람을 선택한 후 필요한 권한을 선택하여 새로운 권한 위임 또한 쉽게 추가할 수 있습니다. 보안 계정 리포지토리를 Active Directory와 통합함으로써 엔터프라이즈 관리에 실질적인 혜택을 얻을 수 있습니다.

성능, 관리의 용이성 및 대규모 조직을 위한 확장성은 그 직접적인 결과입니다. 인터넷 기반의 엔터프라이즈는 도메인 트리 및 계층적 OU를 사용하여 비즈니스 파트너, 우수 고객 또는 시스템에 특정 액세스 권한을 가진 공급업자의 계정을 조직화할 수 있습니다.

세세한 액세스 권한

대규모 조직에서는 일반적으로 다수의 개인 또는 그룹이 네트워크 계정 인프라를 보안하고 관리합니다. 그들에게는 사용자 암호 재설정 또는 계정 삭제등과 같은 특정 작동을 할 수 있는 액세스 권한을 새로운 계정을 생성하거나 사용자 계정의 다른 속성 변경 권한을 제외한 뒤에 특정 그룹에게 허가할 수 있는 능력이 필요합니다.

Active Directory 개체의 보안 구조는 Windows 2000 보안 설명자를 사용하여 개체 액세스를 제어합니다. 디랙토리의 모든 개체는 고유한 보안 설명자가 있습니다. 보안 설명자의 액세스 제어 목록 (ACL)은 개인 또는 그룹에게 허용 또는 거부하는 특정 액세스 권한 항목의 목록입니다. 액세스 권한은 개체의 서로 다른 범위 수준에 따라 허용 또는 거부될 수 있습니다. 액세스 권한은 다음 수준 중 하나로 정의됩니다:

  1. 개체에 전체적으로 적용되어 개체의 모든 속성에 적용됩니다.
  2. 개체의 속성 집합에 정의된 속성 그룹에 적용됩니다.
  3. 개체의 개별적인 속성에 적용됩니다.

개체의 생성자에게는 기본적으로 개체의 모든 속성에 통합 읽기/쓰기 액세스 할 수 있는 권한이 주어집니다. 속성 집합에 대한 개체 액세스 권한의 허용 또는 거부를 사용하면 편리하게 관련 있는 속성 그룹의 권한을 정의할 수 있습니다. 스키마에 있는 속성의 속성 설정 특성을 정의하여 속성들을 그룹으로 묶을 수 있습니다. 속성 집합 관계는 스키마를 변경하여 사용자 지정할 수 있습니다. 마지막으로, 개별 속성 수준의 액세스 권한 정의는 가장 상세한 수준의 권한 정의입니다. 속성별 액세스 정의는 Active Directory의 모든 개체에 대해 할 수 있습니다.

디렉토리의 컨테이너 개체에서도 자식 개체 생성 권한자와 생성할 수 있는 자식 개체 유형에 관해 세부 단위(fine-grain)의 액세스를 지원합니다. 예를 들어 조직 구성 단위(OU)에 정의된 액세스 제어는 이 컨테이너에 누가 User 개체(계정)를 생성할 수 있는지를 결정합니다. OU에 대한 또다른 액세스 제어 항목이 프린터 개체를 생성할 수 있는 사람을 정의할 수도 있습니다. 디랙토리 컨테이너에 대한 세부 단위(fine-grain) 액세스 제어는 디랙토리 이름 공간을 갖는 조직을 효과적으로 유지관리하는 방법입니다.

개체 보안 권한을 표시 또는 변경할 수 있는 공통 대화 제어는 속성 집합 또는 개별 속성을 사용하여 Active Directory 개체의 액세스 권한을 정의할 수 있는 인터페이스가 편리한 새 액세스 제어 목록(ACL) 편집기입니다. 이 ACL 편집기는 또한 컨테이너 개체에 대한 상속받은 액세스 권한을 정의할 수 있으며 이 권한은 디랙토리 트리의 해당 부분에 있는 모든 하위 개체에 전달됩니다.

액세스 권한 상속

액세스 권한 상속이란 디랙토리의 상위 수준 컨테이너에서 정의된 액세스 제어 정보가 하위 컨테이너와 가지 개체에 전달되는 방법에 대한 것입니다. 상속된 액세스 권한을 구현하는 모델에는 동적 상속과 정적 상속이 있습니다. 동적 상속은 개체에 특별히 정의된 권한과 해당 디랙토리의 모든 부모 개체에 정의된 권한을 평가하여 개체에 대한 유효한 액세스 권한을 결정합니다. 이렇게 하여 모든 하위 컨테이너 및 가지 개체에 자동으로 영향을 끼치는 특정 컨테이너를 변경함으로써 유연하게 디랙토리 트리의 일부분에 대한 액세스 제어를 변경할 수 있습니다. 이러한 유연성을 얻는 대신 클라이언트가 특정 디랙토리 개체에 읽기/쓰기를 요청할 때 영향 받는 액세스 권한을 평가하기 때문에 성능이 저하됩니다.

Windows 2000에는 생성 시 상속이라고 부르는 정적 형태의 액세스 권한 상속이 구현되어 있습니다. 컨테이너의 자식 개체에 전달되는 액세스 제어 정보를 정의할 수 있습니다. 자식 개체가 생성될 때 컨테이너로부터 상속되는 권한은 새로운 개체의 기본 액세스 권한과 병합됩니다. 트리의 상위 수준에서 상속 액세스 권한에 가한 모든 변경은 모든 영향권 내의 자식 개체에게 전파되어야 합니다. 새롭게 상속된 액세스 권한은 Active Directory에 의해 새로운 권한의 정의 옵션을 기준하여 적용 대상이 되는 개체에게 전파됩니다.

액세스 제어 확인 기능의 성능은 액세스 권한 상속의 정적 모델을 사용하므로 매우 빠릅니다. 액세스 점검은 자주 실행되며 필요한 작업으로 운영 체제는 디랙토리 개체 액세스 경우만 아니라 파일 시스템 및 모든 기타 Windows 2000 시스템 개체에 대해서 이 작업을 최적화할 수 있도록 설계되었습니다.

다중 보안 프로토콜

Windows 2000은 여러 네트워크 보안 프로토콜을 지원하는데 이것은 각 프로토콜이 기존 클라이언트와의 호환성 , 더 효과적인 보안 메커니즘 또는 인터넷과 같은 이기종 네트워크를 위한 상호 운용 기능등을 제공하기 때문입니다. 오늘날의 기업 네트워크에서 사용하는 인증 프로토콜은 매우 여러 종류가 있으며 Windows 2000구조는 지원할 프로토콜에 대한 제한이 없습니다. 모든 요구 사항을 만족하는 한 종류의 보안 프로토콜을 사용한다면 간단하겠으나 소규모 사무실에서부터 대규모 인터넷 컨텐트 제공업체를 망라하고 네트워크 구성은 동일한 보안 요구 사항을 공유하지 않습니다.

고객은 동적 암호 또는 공개 키 암호화와 같은 새로운 보안 기술을 자신의 컴퓨팅 환경에 통합하는 방법을 선택할 수 있어야 합니다. Windows 2000은 복수개의 보안 프로토콜을 지원할 수 있도록 설계되었으며 이것은 오늘날의 분산 컴퓨팅 환경에서 필수적인 요소입니다. 일반 목적의 Win32® security API를 사용하여 Windows 2000은 지원 응용 프로그램과 사용할 수 있는 서로 다른 보안 프로토콜의 세세한 내용을 분리시킵니다.

Authenticated RPC 및 DCOM이 제공하는 상위 수준의 응용 프로그램 인터페이스는 보안 서비스를 사용할 수 있도록 인터페이스 매개변수에 기반하는 고수준의 추상화를 제공합니다:

  1. Windows NT LAN Manager (NTLM) 인증 프로토콜은 Windows NT 4.0및 이전 버전에서 사용되었습니다. NTLM은 계속 지원될 것이며 통과 네트워크 인증, 원격 파일 액세스 및Windows NT 이전 버전과의 인증된 RPC 연결에 사용될 것입니다.
  2. Kerberos 버전5인증 프로토콜은 Windows 2000 도메인내에 있거나 걸쳐있는 자원을 액세스할 때 사용되는 주 보안 프로토콜로서 NTLM을 대체합니다. Kerberos 인증 프로토콜은 성숙한 업계 표준으로 Windows 네트워크 인증시에 이점이 있습니다. Kerberos 프로토콜의 장점으로는 클라이언트 및 서버의 상호 인증, 연결을 설정하는 동안 서버의 부하 감소와 프록시 매커니즘 사용을 통해 클라이언트에서 서버로 권한 위임기능을 지원하는 것 등이 있습니다.
  3. 분산 암호 인증 (DPA;Distributed Password Authentication)은 MSN과 CompuServe등과 같은 대형 인터넷 회원제 업체에서 사용하는 공유 비밀 인증 프로토콜입니다. 이 인증 프로토콜은 Microsoft Commercial Internet System (MCIS) 서비스의 일환으로서 사용자가 한 인터넷 회원 암호를 사용하여 회원제 사이트에 있는 여러 인터넷 사이트에 연결할 수 있도록 설계되었습니다. 인터넷 컨텐트 서버는 MCIS 인증 서비스를 백엔드 인터넷 서비스로 사용하며 사용자는 사이트별 암호를 재입력하지 않고 여러 사이트에 연결할 수 있습니다.
  4. 공개 키 프로토콜은 인터넷에서 개인 정보 보안과 안정성을 제공합니다. SSL은 인터넷 브라우저와 인터넷 서버를 연결하는 오늘날의 실질적인 표준입니다. (다가오는 SSL3에 기초한 IETF 표준 프로토콜 정의는 현재 TLS 또는 transport Layer Security Protocol이라고 부릅니다.) 공개 키 인증서를 사용하여 클라이언트와 서버를 인증하는 이러한 프로토콜의 광범위한 사용은 공개 키 인프라에 달려있습니다. Windows NT 4.0은SSL/PCT 프로토콜을 구현한 보안 채널 보안 서비스를 제공합니다. Windows 2000 보안은 공개 키 프로토콜에 대한 향상된 지원 기능을 제공하는데 자세한 내용은 이 장의 뒤에서 다시 설명합니다.

기업의 보안은 필요시에 올바른 보안 메커니즘을 사용할 수 있는 유연성 확보에 달려있습니다. 엔터프라이즈 컴퓨팅 환경은 원격 파일 및 프린트 서버, 업무용 응용 프로그램 및 데이터 서버와 데이터 웨어하우스 및 트랜젝션 처리 환경이 제공하는 광범위한 네트워크 서비스에 계속 의존할 것입니다. 다중 네트워크 보안 프로토콜을 지원하는 Windows 2000 Professional및Windows 2000 Server는 인터넷 기반의 기술과 더불어 다양한 네트워크 서비스를 호스트할 수 있습니다.

보안 지원 공급자 인터페이스

네트워크 인증을 위한 Windows 보안 API는 플랫폼 SDK에 문서화되어 있는 보안 지원 공급자 인터페이스(SSPI)에 의해 정의됩니다. SSPI는GSS-API(Generic Security Service Application Program Interface)에 기반한 Win32 API와 통신하며 보안 컨텍스트 관리에 대해 유사한 인터페이스 추상화를 제공합니다.1 Windows 2000 응용 프로그램 및 서비스는 SSPI를 사용하여 응용 프로그램 수준의 프로토콜을 네트워크 보안 프로토콜의 세부 사항과 분리시킵니다. Windows 2000은SSPI 인터페이스를 지원함으로써 다중 인증 프로토콜을 지원하기 위해 필요한 응용 프로그램 수준의 코드를 감소시킵니다. SSPI는 일반 추상화를 제공하여 공유 비밀 또는 공개 키 프로토콜을 기반으로 하는 다양한 인증 메커니즘을 지원합니다. 통합 Windows 2000 보안을 사용하는 응용 프로그램은 또는 SSPI가 제공하는 모듈성의 장점을 활용하여 SSPI 루틴 디랙토리를 호출하거나 인증된 RPC 또는 DCOM이 제공하는 고수준 네트워크 연결 관리 프로토콜을 사용합니다.

다음 다이어그램은 보안 지원 제공자 인터페이스(SSPI)를 사용하여 Windows 2000에 구현된 다중 보안 프로토콜 지원 구조를 보여줍니다.


브라우저에서 인라인 프레임이 지원되지 않는 경우 별도 페이지를 보려면 여기를 클릭 하십시오.

그림 3

보안 지원 제공자 인터페이스는 많은 응용 프로그램과 시스템 서비스(예를 들어, Internet Explorer(IE)와Internet Information Server(IIS))에서 응용 프로그램 수준의 프로토콜을 네트워크 인증에 사용되는 보안 프로토콜과 분리할 때 사용하는 Win32 시스템 API입니다. 보안 제공자는 사용자를 인증하기 위해 다른 자격 증명을 사용하는데 이것은 공유 비밀 또는 공개 키 인증서 중 하나입니다. 보안 프로토콜은 서로 다른 인증 서비스 및 계정 정보 저장소와 상호작용 합니다.

  1. NTLM 보안 제공자는 클라이언트 인증 및 권한 정보에 MSV1_0 인증 서비스 및 NetLogon 서비스를 사용합니다.
  2. Kerberos 보안 제공자는 세션 티켓을 얻기 위해 온라인 KDC(Key Distribution Center)와 Active Directory 계정 저장소에 연결합니다.
  3. DPA는 회원 인증 및 서버 전용 액세스 정보를 얻기 위해 MCIS 보안 서비스를 사용합니다.
  4. 보안 채널 서비스는 신뢰받는 인증 기관이 발행한 공개 키 인증서에 기반합니다. 이 서비스에는 온라인 인증 서버가 필요하지 않습니다.

Windows 2000의Kerberos 인증

Windows 2000은 시스템의 계정을 주장하는 사용자를 식별하기 위한 여러 프로토콜을 지원하는데 여기에는 전화 연결을 인증하는 프로토콜과 인터넷으로 네트워크에 액세스하는 외부 사용자를 인증하는 프로토콜이 포함됩니다. 그러나 Windows 2000 도메인내의 네트워크 인증은 두 종류 뿐입니다:

  • Kerberos 버전5. Kerberos 버전5인증 프로토콜은 Windows 2000이 설치된 컴퓨터의 기본 네트워크 인증 프로토콜입니다.
  • Windows NT LAN Manager (NTLM). NTLM 프로토콜은 Windows NT® 4.0운영 체제에서 기본 네트워크 인증 프로토콜이었습니다. 이것은 이전 버전의 클라이언트 및 서버와의 호환성을 위해 Windows 2000에 포함되었습니다. NTLM은 또한 Windows 2000가 설치된 독립 실행형 컴퓨터의 로그온을 인증할 때 사용됩니다.

Windows 3.11, Windows 95, Windows 98 또는 Windows NT을 설치한 컴퓨터는 Windows 2000 도메인내의 네트워크 인증에 NTLM 프로토콜을 사용합니다. Windows 2000을 실행하는 컴퓨터에서는 Windows NT가 설치된 서버를 인증할 때와 Windows NT 도메인의 자원에 액세스할 때NTLM을 사용할 것입니다. Windows 2000은 모든 기타 인증에Kerberos 버전5를 사용합니다.

Kerberos 인증의 이점

Kerberos 프로토콜은 NTLM 보다 유연하고 효율적이며 더 안전합니다. Kerberos 인증을 사용하여 얻는 이점은 다음과 같습니다:

  • 서버에게 더 효율적인 인증 NTLM 인증에서는 응용 프로그램 서버가 반드시 도메인 컨트롤러에 연결하여 각 클라이언트를 인증해야 합니다. Kerberos 인증에서는 서버가 도메인 컨트롤러에 갈 필요가 없습니다. 서버는 클라이언트가 제시한 자격 증명을 가지고 인증할 수 있습니다. 클라이언트는 특정 서버에 대한 자격 증명을 한 번 얻은 후 네트워크 로그온 세션 중에 재사용할 수 있습니다.
  • 상호 인증 NTLM은 서버가 자신의 클라이언트를 확인하도록 합니다. NTLM은 클라이언트가 서버를 식별하거나 한 서버가 다른 서버를 식별하는 것을 허용하지 않습니다. NTLM 인증은 서버가 진실하다고 가정하는 네트워크 환경에 맞게 설계되었습니다. Kerberos 프로토콜은 그러한 가정을 하지 않습니다. 네트워크 연결의 양쪽에서 각각 상대방이 주장하는 당사자임을 확인할 수 있습니다.
  • 인증 위임 Windows 서비스는 클라이언트를 대신하여 자원에 액세스할 때 클라이언트로 가장합니다. 많은 경우 서비스는 로컬 컴퓨터의 자원에 액세스하여 클라이언트를 위한 작업을 완료할 수 있습니다. NTLM 및 Kerberos 모두 서비스가 로컬에서 클라이언트를 가장하기 위해 필요한 정보를 제공합니다. 그러나 어떤 분산 응용 프로그램은 프론트 엔드 서비스가 다른 컴퓨터의 백 엔드 서비스에 연결할 때 반드시 클라이언트로 가장하도록 설계되었습니다. Kerberos 프로토콜에는 서비스가 다른 서비스에 연결할 때 클라이언트로 가장할 수 있는 프록시 메커니즘이 있으나 NTLM에는 없습니다.
  • 간단한 트러스트 관리 Kerberos 프로토콜의 이점 중 하나는 Windows 2000 도메인의 보안 권한사이의 트러스트가 기본적으로 양방향이며 전이적이라는 것입니다. 여러 도메인을 갖는 네트워크는 더 이상 복잡한 명시적, 점대점 트러스트 관계망을 필요로하지 않습니다. 그 대신 대규모 네트워크의 많은 도메인은 전이적인 상호 트러스트 트리에 조직화될 수 있습니다. 보안 권한이 발행한 도메인에 대한 자격 증명은 트리내의 어느 곳에서나 인정됩니다. 네트워크에 한 개 이상의 트리가 있다면 모든 트리의 도메인에 대해 발행된 자격 증명은 숲 전체에서 인정됩니다.
  • 상호 운용성 Microsoft의Kerberos 프로토콜 구현은 IETF(Internet Engineering Task Force)에 권고한 표준 트랙 명세에 기반합니다. 그 결과로 Windows 2000에 구현된 이 프로토콜은 Kerberos 버전5를 인증으로 사용하는 다른 네트워크와 상호운용할 수 있는 기반이 됩니다.

Kerberos 인증 프로토콜은 클라이언트와 KDC(Key Distribution Center)로 알려진 네트워크 인증 서비스 사이의 상호작용을 정의합니다. Windows 2000는KDC를 각 도메인 컨트롤러의 인증 서비스로 구현합니다. Windows 2000 도메인은 Kerberos 영역과 같으나 도메인으로 부릅니다. Windows 2000 Kerberos 구현은 Internet RFC 1510의 Kerberos 프로토콜 정의2에 기반합니다. Kerberos 클라이언트 런타임은 SSPI에 기반한 Windows 2000 보안 제공자로 구현되었습니다. 초기 Kerberos 인증은 WinLogon 단일 등록 구조와 통합되었습니다. 도메인 컨트롤러에서 실행되는 기존 Windows 보안 서비스와 통합된 Kerberos 서버(KDC)는 Active Directory를 사용자 및 그룹의 계정 데이터베이스로 사용합니다.

Kerberos 배경

Kerberos 인증 프로토콜은 네트워크 연결이 설정되기 전에 클라이언트와 서버 또는 두 서버 사이의 상호 인증 메커니즘을 제공합니다. Kerberos 프로토콜은 클라이언트와 서버 사이의 초기 트랜잭션이 대부분의 컴퓨터가 물리적으로 보안되지 않은 개방 네트워크에서 발생하며 케이블을 따라 이동하는 패킷이 임의로 모니터되고 수정될 수 있다고 가정합니다. 이와 같이 가정된 환경은 다시 말하자면 해커가 손쉽게 클라이언트 또는 서버로 둔갑하여 합법적인 클라이언트와 서버 사이의 정보를 엿듣거나 변경할 수 있는 오늘날의 인터넷과 매우 유사합니다.

Kerberos는 사용자와 KDC가 모두 사용자의 암호를 알거나 KDC의 경우 단방향 암호화된 암호를 알기 때문에 공유 비밀 인증 프로토콜입니다. Kerberos 프로토콜은 클라이언트, KDC 및 서버사이의 여러 교환을 정의하여 Kerberos 티켓을 얻고 사용하게 합니다. 사용자가 Windows에 로그온을 시도할 때 Kerberos SSP는 사용자 암호의 암호화된 해시에 기반한 초기Kerberos 티켓(TGT)을 얻습니다. Windows 2000은 사용자의 로그온 컨텍스트와 연관된 워크스테이션의 티켓 캐시에 TGT를 저장합니다. 클라이언트 프로그램이 네트워크 서비스에 액세스를 시도하면 Kerberos 런타임은 티켓 캐시를 확인하여 서버에 유효한 세션 티켓을 찾습니다. 티켓이 없으면 TGT는 KDC에 보내져 서버 액세스를 허용하는 세션 티켓을 요청합니다.

이 세션 티켓은 티켓 캐시에 추가되어 티켓이 만료될 때 까지 동일한 서버에 다시 연결할 때 재사용할 수 있습니다. 티켓 만료 기간은 도메인 보안 정책에 의해 정의되며 일반적으로 약 8시간으로 설정됩니다. 세션 티켓이 활성 세션 중에 만료되면 Kerberos 보안 제공자가 클라이언트와 서버가 티켓을 재생하고 신규 세션 키를 생성하여 연결을 재개할 수 있는 적절한 오류 값을 되돌려줍니다.

다음 다이어그램은 Kerberos 인증 프로토콜을 사용하는 클라이언트, KDC 및 응용 프로그램 서버 사이의 관계를 보여줍니다.


브라우저에서 인라인 프레임이 지원되지 않는 경우 별도 페이지를 보려면 여기를 클릭 하십시오.

그림 4

Kerberos 세션 티켓은 초기 연결 메시지 중에 원격 서비스에 표시됩니다. 세션 티켓의 일부는 서비스와 KDC 사이에 공유된 비밀 키를 사용하여 암호화됩니다. 서버는 인증 서비스에 가지 않고도 세션 티켓을 확인함으로써 신속하게 클라이언트를 인증할 수 있는데 이것은 서버를 위한 Kerberos 런타임이 서버의 비밀 키의 복사본을 캐시해 두었기 때문입니다. 세션 연결 설정은 서버 편에서 NTLM 인증보다 훨씬 빠릅니다. NTLM을 사용하면 서버에서 사용자 자격 증명을 얻은 후 연결 설정 과정의 일환으로 도메인 컨트롤러를 통해 사용자를 재인증해야 합니다.

Kerberos 세션 티켓에는 KDC가 생성한 고유한 세션 키가 있어 인증 정보 및 클라이언트와 서버 사이에서 전송되는 데이터의 대칭적 암호화에 사용합니다. Kerberos 모델에서 KDC는 세션 키를 생성하기 위한 온라인 신뢰받은 제 3사로서 사용됩니다. 온라인 인증 서비스는 캠퍼스 같은 네트워크 환경에서 사용하는 분산 응용 프로그램 서비스에 매우 효율적입니다.

Kerberos 통합

Kerberos 프로토콜은 Windows 2000의 인증 및 액세스 제어를 위한 보안 구조와 완전히 통합되었습니다. 초기 Windows 도메인 로그온은 WinLogon에 의해 제공됩니다. WinLogon은 Kerberos 보안 제공자를 사용하여 초기 Kerberos 티켓을 얻습니다.

Kerberos 버전 5 프로토콜은 인증 데이터를 전달할 수 있는 암호화된 필드를 세션 티켓에 정의하지만 응용 프로그램에서 이 필드를 사용합니다. Windows 2000은 Kerberos 티켓의 인증 데이터를 사용하여 사용자 및 그룹 구성원을 대표하는 Windows Security ID를 전달합니다. 연결의 서버편의 Kerberos 보안 제공자는 인증 데이터를 사용하여 이 시스템의 사용자를 나타내는 Windows 보안 액세스 토큰을 구축합니다. 서버는 Windows 보안 모델을 따라 ACL이 보호하는 로컬 자원에 액세스 하기 전에 클라이언트를 표시하는 액세스 토큰을 사용하여 클라이언트로 가장합니다.

프록시와 세션 티켓에 전달 플래그를 사용하여 Kerberos 버전 5 프로토콜에서 인증 위임을 지원합니다. Windows 2000은 위임 기능을 사용하여 서버가 클라이언트를 대신하여 원격 서버에 연결할 수 있는 추가 세션 티켓을 얻을 수 있습니다.

Kerberos 상호 운용성

Kerberos 버전 5 프로토콜은 다양한 시스템에 구현되었으며 분산 네트워크에서 단일 인증 서비스를 제공합니다. Kerberos 상호 운용성은 기업 컴퓨팅 환경의 모든 사용자를 인증하여 이기종 환경의 모든 서비스에 액세스가 가능하게 하는 단일(복제일 수 있음) 계정 데이터베이스를 사용할 수 있는 공통 프로토콜을 제공합니다. Kerberos 상호 운용성은 다음 특성에 기반합니다:

  • 최종 사용자 또는 서비스를 네트워크 연결의 사용자 이름으로 식별할 수 있는 공통 인증 프로토콜
  • Kerberos 영역 사이의 트러스트 관계를 정의할 수 있고 영역 사이의 티켓 조회 요청을 생성할 수 있는 능력
  • 암호화, 체크섬 알고리즘, 상호 인증 및 기타 티켓 옵션에 대해 RFC 1510에 정의된 상호 운용성 요구 사항을 지원하는 구현
  • IETF Common Authentication Technology 작업 그룹이 정의한 컨텍스트 설정 및 메시지당 교환에 대한 Kerberos 버전 5 보안 토큰 형식 지원3

Kerberos 티켓의 사용자 이름을 사용하여 사용자의 신원을 인증하지만 액세스 제어를 위해 로컬 시스템에서 추가 권한 정보를 관리할 수 있습니다. ID 기반의 인증을 Kerberos 버전 5 프로토콜을 지원하는 시스템에 높은 정도의 상호 운용성을 제공하지만 사용자 권한은 지원하지 않습니다. Kerberos 프로토콜은 권한 데이터의 전송을 제공하지만 필드의 내용은 응용 프로그램 서비스 전용입니다.

Microsoft의 Kerberos 프로토콜 구현은 ID 기반의 인증에 충분한 상호 운용 특성을 제공합니다. 추가적으로 Microsoft는 인증 데이터를 Kerberos 티켓의 Windows 2000 그룹 구성원 형태로 통합하여 액세스 제어 정보를 Windows 2000 서비스에 전달할 수 있도록 하였습니다. 인증 데이터의 최초 표시는 Windows Security ID에 있습니다.

Windows 2000 서비스는 Active Directory에서 정의한 서비스 계정을 갖는데 이것은 KDC가 세션 티켓을 암호화하기 위해 사용하는 공유 비밀을 정의합니다. Windows 2000 서비스에 연결하려는 클라이언트는 서비스 계정이 정의된 도메인의 KDC로부터 대상 서버의 세션 티켓을 얻습니다. Windows 2000 서비스를 지원하는 Kerberos 보안 제공자는 보안 액세스 토큰을 구축할 때 사용하는 세션 티켓의 인증 데이터를 찾습니다. Windows 2000 서비스는 세션 티켓이 제공한 인증 데이터를 기반으로 하여 클라이언트의 보안 컨텍스트로 가장합니다.

초기 Kerberos TGT 티켓을 비 Windows 2000 시스템의 KDC에서 얻은 클라이언트는 이 Kerberos 조회 메커니즘을 사용하여 Windows 2000 서비스 도메인의 KDC로부터 세션 티켓을 요청합니다. 조회 티켓은 KDC사이의 영역 간 트러스트 관계에 의해 생성됩니다. MIT Kerberos 인증 서비스로부터 오는 티켓 요청에는 인증 데이터가 포함되어 있지 않습니다. 세션 티켓에 인증 데이터가 없을 때 Windows 2000의 Kerberos 보안 제공자는 티켓의 사용자 이름을 사용하여 대상 사용자 계정에 대한 보안 액세스 토큰을 생성하거나 이 목적을 위해 정의된 기본 계정을 사용합니다. Microsoft은 서로 다른 Kerberos 구성에서 상호 운용성에 관련된 문제를 계속 조사하고 있으며 완전한 Kerberos 상호 운용성을 향해 계속 노력할 것입니다.

DCE 보안 서비스 또한 Kerberos 프로토콜 계층입니다. DCE 인증 서비스는 Kerberos 프로토콜 메시지의 RPC 표현을 사용합니다. 추가적으로, DCE는 Kerberos 티켓의 인증 데이터 필드를 사용자 신원 및 그룹 구성원을 정의하는 EPAC(Extended Privilege Attribute Certificates)를 전달하는데 사용합니다. DCE EPAC은 사용자 인증 및 액세스 제어를 위한 Windows Security ID로 사용됩니다. Windows 2000 서비스는 DCE EPAC을 Windows 2000 사용자 및 그룹 신원으로 번역할 수 없습니다. 이것은 Kerberos 상호 운용성의 문제가 아니라 DCE 및 Windows 2000 액세스 제어 정보 사이의 상호 운용에 관계됩니다. Microsoft는 DCE 인증을 Windows 2000 보안 모델에 매핑할 수 있는 방법을 조사할 것입니다.

공개 키에 대한 Kerberos 확장

Windows 2000은 또한 Kerberos에 확장명을 구현하여 공유 비밀 키에 추가하여 개인/공개 키에 기반한 인증을 지원합니다. 공개 키 인증 확장명을 사용하여 클라이언트는 개인 키를 사용하여 초기 TGT를 요청하고 KDC는 Active Directory의 User 개체에 정의된 X.509 인증에서 얻은 공개 키를 사용하여 이 요청을 확인 할 수 있습니다. 사용자 인증은 VeriSign의 Digital ID등과 같이 제 3사 인증 기관이 발행하거나 Windows 2000의 Microsoft 인증서 서버에서 발행할 수 있습니다. 초기 개인 키 인증 후에 표준 Kerberos 프로토콜을 사용하여 네트워크 서비스 연결에 사용할 세션 티켓을 얻을 수 있습니다.

초기 인증을 위한 공개 키 암호화를 사용할 수 있도록 Kerberos 프로토콜 명세를 확장하자는 제의를 검토할 수 있도록 IETF 작업 그룹에 접수하였습니다. Microsoft는 IETF 표준 프로세스에 참여하고 있으며 공개 키를 위한 표준 프로토콜 확장을 지원할 것입니다.

Kerberos 프로토콜의 공개 키 인증 확장은 스마트 카드 기술을 사용하여 네트워크 인증의 기반을 제공할 것입니다. Windows 2000에서는 사용자가 스마트 카드를 사용하여 워크스테이션에 로그온 할 수 있습니다. 미래에는 최종 사용자 조직의 관련 회사 또는 작업 요구 사항에 따라 인증을 얻는 다양한 옵션이 있을 것입니다. Windows 2000은 상용 CA 서비스에 의존하지 않고 공개 키 인증서를 사용자에게 발행하려는 조직을 위해 인증서 서버를 제공합니다. 인증 정책은 명확합니다. 유효한 도메인 계정 자격 증명을 사용하여 인증된 사용자에게 발행합니다. 다음 섹션에서는 인트라넷 또는 인터넷에서 Windows 2000의 자원을 액세스할 때 이 인증을 사용하는 방법에 대해 설명합니다.

Windows 2000의 Kerberos 구성 요소

Key Distribution Center

Windows 2000은 KDC(Key Distribution Center)를 도메인 서비스로 구현합니다. KDC는 도메인의 Active Directory를 계정 데이터베이스로 사용하며 글로벌 카탈로그에서 사용자 정보를 일부 얻습니다.

Kerberos 프로토콜의 다른 구현 사례와 같이 KDC는 다음의 두 가지 서비스를 제공하는 단일 프로세스입니다:

  • 인증 서비스 (AS;Authentication Service) 이 서비스는 도메인의 티켓 허용 서비스를 허가하는 TGT(Ticket Granting Ticket)을 발행합니다. 네트워크 클라이언트가 서비스 사용을 위한 티켓을 얻기 전에는 클라이언트는 사용자 계정 도메인의 인증 서비스에서 초기 TGT를 얻어야 합니다.
  • 티켓 허용 서비스(TGS;Ticket Granting Service) 이 서비스는 도메인의 다른 서비스 또는 트러스트된 도메인의 티켓 허용 서비스 사용을 허가하는 티켓을 발행합니다. 클라이언트가 서비스에 액세스하려면 서비스 계정 도메인의 티켓 허용 서비스에 접촉하여 TGT를 제시하고 티켓을 요청해야 합니다. 만약 클라이언트가 해당 티켓 허용 서비스를 사용할 수 있는 TGT를 가지고 있지 않다면 사용자 계정 도메인의 티켓 허용 서비스에서 시작하고 서비스 계정 도메인의 티켓 허용 서비스에서 끝나는 조회 프로세스를 통해 유효한 TGT를 얻어야 합니다.

Active Directory 서비스처럼 KDC도 모든 도메인 컨트롤러에 있습니다. 두 서비스 모드 도메인 컨트롤러의 로컬 보안 기관(LSA;Local Security Authority)에 의해 자동 시작되며 LSA의 프로세스 공간에서 실행됩니다. 두 서비스 모두 중지할 수 없습니다. Windows 2000은 각 도메인에 여러 도메인 컨트롤러를 피어로 가질 수 있게 하여 위의 두 서비스 사용을 보장합니다. 모든 도메인 컨트롤러는 도메인의 KDC에 보내는 인증 요청 및 티켓 허용 요청을 받을 수 있습니다.

Windows 2000 도메인을 위해 KDC에서 사용하는 보안 사용자 이름은 krbtgt이며 이것은 RFC 1510의 명세에 정의되어 있습니다. 이 보안 사용자의 계정은 새로운 도메인이 생성될 때 자동으로 생성됩니다. 이 계정은 삭제 또는 재명명할 수 없습니다. 이 계정에 자동으로 암호가 지정되며 도메인 트러스트 계정에 지정된 암호처럼 주기적으로 변경됩니다. KDC 계정의 암호를 사용하여 KDC가 발생하는 TGT의 암호화 및 암호해제에 사용할 비밀 키를 파생합니다. 도메인 트러스트 계정의 암호를 사용하여 조회 티켓의 암호화에 사용할 영역 간 키를 파생합니다.

도메인 내의 모든 KDC 인스턴스는 보안 사용자 도메인 계정에 krbtgt을 사용합니다. 클라이언트는 서비스 사용자 이름인 krbtgt와 도메인 이름을 모두 포함하여 도메인의 KDC에 메시지를 보냅니다.두 정보 항목 모두 티켓에 사용되어 발행 기관을 식별합니다. 이름 형식과 표시 규칙에 대한 자세한 정보는 RFC 1510을 참조하십시오.

계정 데이터베이스

보안 사용자에 대한 정보를 얻기 위해 KDC에서 필요한 계정 데이터베이스는 도메인의 Active Directory가 제공합니다. 모둔 사용자는 계정 개체로 표시됩니다. 사용자, 컴퓨터 또는 서비스와 통신하기 위해 사용되는 암호화 키는 이 보안 사용자의 계정 개체의 특성으로 저장됩니다.

도메인 컨트롤러만이 Active Directory 서버가 될 수 있습니다. 각 도메인 컨트롤러는 기록할 수 있는 디랙토리 복사본을 가지기 때문에 어느 도메인 컨트롤러에서나 계정을 생성하고 암호를 재설정하며 그룹 구성원을 수정할 수 있습니다. 한 디랙토리 복제본의 변경 사항은 자동으로 모든 다른 복제에 전파됩니다. 그러나 Windows 2000은 Kerberos 복제 프로토콜을 구현하지 않습니다. 그 대신 Windows 2000은 복제 파트너간 보안 채널에서 전용 다중 마스터 복제 프로토콜을 사용하여 Active Directory의 정보 저장소를 복제합니다.

계정 데이터의 물리적 저장소는 도메인 컨트롤러의 LSA와 통합된 보호된 프로세스인 디랙토리 시스템 대리(DSA;Directory System Agent)에 의해 관리됩니다. 디랙토리 서비스의 클라이언트는 데이터 저장소에 직접 액세스할 수 없습니다. 디랙토리 정보를 원하는 클라이언트는 지원되는 Active Directory Service Interfaces(ADSI) 중 하나를 사용하여 DSA에 연결한 후 디랙토리 개체 및 특성을 검색하고 읽거나 기록해야 합니다.

디랙토리의 개체 또는 특성에 액세스하려는 요청은 Windows 2000 액세스 제어 메커니즘에 의해 유효 확인을 받아야 합니다. Windows NT File System(NTFS)의 파일 및 폴더 개체와 같이 Active Directory의 개체는 개체에 액세스할 수 있는 사용자 및 액세스 방법을 지정한 ACL(Access Control Lists)에 의해 보호받습니다. 그러나 파일과 폴더와는 달리 Active Directory 개체에는 각 특성별 ACL이 있기 때문에 민감한 계정 정보의 특성은 이 계정의 다른 특성에 허용된 권한보다 더 제약이 심한 권한으로써 보호될 수 있습니다.

계정에 대한 가장 민감한 정보는 물론 암호입니다. 계정 개체의 암호 특성에 암호 자체가 아닌 암호에서 파생된 암호화 키가 저장됨에도 불구하고 해커에게는 이 키가 똑 같이 유용합니다. 그러므로 계정 개체의 암호 특성에 대한 액세스는 계정 소유자에게만 허용되며 관리자를 포함하는 다른 누구에게도 허용되지 않습니다. LSA의 보안 컨텍스트에서 실행되는 프로세스인 트러스트된 컴퓨터 기반 권한을 갖는 프로세스만이 암호 정보를 읽거나 변경할 수 있습니다.

도메인 컨트롤러의 백업 테이프에 액세스할 수 있는 누군가의 오프라인 공격을 막기 위해 계정 개체의 암호 특성은 시스템 키를 사용한 두번째 암호화로 한번 더 보호됩니다. 이 암호화 키는 이동할 수 있는 매체에 저장하여 독립적으로 보호되거나 도메인 컨트롤러에 저장하고 분산 메커니즘에 의해 보호될 수 있습니다. 관리자는 시스템 키를 저장할 위치와 암호 특성을 암호화할 알고리즘을 선택할 수 있습니다.

Kerberos 정책

Windows 2000에서 Kerberos 정책은 Default Domain Group Policy 개체에 정의되고 도메인의 KDC에 의해 구현됩니다. 기본적으로 정책 설정은 Domain Admins 보안 그룹의 구성원만 수정할 수 있습니다. Kerberos 정책의 요소는 다음과 같습니다:

  • 사용자 로그온 제한 적용 KDC에서 모든 세션 티켓 요청에 대해 대상 컴퓨터 사용자 권한 정책을 확인할 지 여부를 결정합니다. 이 정책을 사용할 때 세션 티켓을 요청하는 사용자는 로컬에서 로그온 또는 네트워크에서 이 컴퓨터로 액세스 권한 중 하나를 가져야 합니다. 요청 확인은 추가 단계에 시간이 걸려 서비스의 네트워크 액세스를 느리게 할 수 있기 때문에 선택 사항입니다. 기본적으로 이 정책을 사용합니다.
  • 서비스 티켓의 최대 유효 기간 서비스 사용이 허용된 티켓(세션 티켓)이 해당 서비스에 액세스 할 수 있는 최대 시간(분)을 결정합니다. 설정이 0분이면 이 티켓은 영구히 사용할 수 있습니다. 그렇지 않은 경우 설정 값은 10분보다 크고 사용자 티켓의 최대 유효 기간설정값보다 작아야 합니다. 이 설정의 기본 값은 600분(10시간)입니다.
  • 사용자 티켓의 최대 유효 기간 사용자의 TGT를 사용할 수 있는 최대 시간(시간)을 결정합니다. 사용자의 TGT가 만료되면 새로운 TGT를 요청하거나 기존 TGT를 갱신해야 합니다. 이 설정의 기본값은 10시간 입니다.
  • 사용자 티켓 갱신 최대 유효 기간 TGT를 반복하여 갱신할 수 있는 최대 시간(일)을 결정합니다. 이 설정의 기본값은 7일 입니다.
  • 컴퓨터 시계 동기화의 최대 허용 오차 Kerberos가 클라이언트 시계와 서버 시계가 동기화되어 있다고 여기는 시간 허용 오차(분) 입니다. 기본값은 5분입니다.

인증 위임

Windows NT에서 서비스 프로세스가 실행되는 컴퓨터의 자원을 액세스할 때 서비스는 클라이언트로 가장할 수 있습니다. Windows 2000에서 서비스는 Kerberos 프로토콜의 위임 기능을 사용하여 다른 컴퓨터의 클라이언트로도 가장할 수 있습니다. 인증 위임을 하려면 다음 세 가지 조건을 만족해야 합니다:

  1. 클라이언트 프로세스를 호스트하는 컴퓨터, 서비스 프로세스 및 백 엔드 서비스 프로세스가 모두 Windows 2000 도메인에서 Windows 2000을 실행합니다.
  2. 클라이언트의 계정이 위임 사용으로 설정되어 있습니다.
  3. 서비스의 계정이 위임 사용으로 설정되어 있습니다.

사전 인증

기본적으로 KDC는 모든 계정에서 사전 인증을 사용할 것을 요구합니다. 이렇게 하면 오프라인 암호 추측 공격이 어렵습니다. 그러나 사전 인증은 다른 프로토콜 구현과의 호환성을 위해 필요하다면 계정별로 사용 안할 수 있습니다.

Kerberos 보안 지원 제공자

Kerberos 인증 프로토콜은 운영 체제에 설치된 DLL인 보안 지원 제공자(SSP)로 구현됩니다. Windows 2000에는 또한 NTLM 인증을 위한 SSP도 포함되어 있습니다. 기본적으로 이 둘은 모두 컴퓨터가 부팅할 때 Windows 2000 컴퓨터의 LSA에 의해 로드됩니다. 네트워크 로그온 및 클라이언트/서버 연결을 인증할 때 두 SSP중 어느것이나 사용할 수 있으며 그것은 상대 컴퓨터의 기능에 달려있습니다. Kerberos SSP는 항상 우선 선택 사항입니다.

LSA에서 대화형 사용자를 위해 보안 컨텍스트를 설정하면 메시지의 서명 및 봉합을 지원하기 위해 사용자의 보안 컨텍스트를 실행하는 프로세스가 Kerberos SSP의 다른 인스턴스를 로드할 수 있습니다.

시스템 서비스 및 전송 수준 응용 프로그램은 SSPI(Microsoft Security Support Provider Interface)를 통해 SSP에 액세스할 수 있습니다. SSPI는 시스템에서 사용할 수 있는 제공자를 검색하여 그 중 한 개를 선택하여 인증된 연결에 사용하는 메서드가 있는 Win32® 인터페이스입니다. SSPI의 이 메서드는 일반 블랙 박스 루틴으로 개발자는 특정 프로토콜의 세부 사항에 대한 지식없이 사용할 수 있습니다. 예를 들어, 클라이언트/서버 연결이 인증되면 클라이언트의 응용 프로그램은 SSPI 메서드 InitializeSecurityContext를 사용하여 서버에게 자격 증명을 보냅니다. Kerberos SSP를 선택하면 이 메서드는 클라이언트에서 KRB_AP_REQ 메시지를 생성합니다. 서버의 응용 프로그램은 SSPI 메서드 AcceptSecurityContext를 사용하여 회신하며 이것은 서버에서 KRB_AP_REP 메시지를 생성합니다. 연결이 인증되면 서버의 LSA는 클라이언트 티켓의 정보를 사용하여 액세스 토큰을 구축한 뒤 SSPI 메서드인 ImpersonateSecurityContext를 호출하여 액세스 토큰을 서비스의 가정 스레드에 연결합니다.

Windows 2000의 모든 분산 서비스는 SSPI를 사용하여 Kerberos SSP에 액세스합니다. 다음은 Kerberos프로토콜을 사용하여 인증한 방법 중 일부입니다:

  • 프린트 스풀러 서비스
  • CIFS/SMB 원격 파일 액세스
  • Active Directory에 LDAP 질의
  • 분산 파일 시스템 관리 및 조회
  • IPSec 호스트 대 호스트 보안 권한 인증
  • 네트워크 서비스 품질 예약 요청
  • Internet Information Server에 인트라넷 인증
  • 인증된 RPC를 사용한 원격 서버 또는 워크스테이션 관리
  • 도메인 사용자 및 컴퓨터에 대해 Microsoft 인증서 서버에 인증 요청

자격 증명 캐시

Windows 2000를 실행하는 컴퓨터에서는 LSA가 보호하는 휘발성 메모리 영역인 자격 증명 캐시에 KDC에서 얻은 티켓 및 키를 저장합니다. 자격 증명 캐시는 디스크에 페이징되지 않습니다. 이곳에 저장된 모든 개체는 보안 사용자 로그가 꺼지거나 시스템이 종료되면 모두 삭제됩니다.

자격 증명 캐시는 LSA의 보안 컨텍스트에서 실행되는 Kerberos SSP가 관리합니다. 티켓 및 키를 얻거나 갱신할 필요가 있을 때 LSA가 Kerberos SSP를 호출하여 이 작업을 완료합니다.

LSA는 또한 대화형 사용자의 해시 암호의 복사본을 유지합니다. 사용자의 TGT가 로그온 세션 중에 만료되면 Kerberos SSP는 LSA의 해시 암호 복사본을 사용하여 자동으로, 사용자의 로그온 세션을 중단하지 않고, 새로운 TGT를 얻습니다. 이 암호는 컴퓨터에 영구 저장되지 않으며 로컬 복사본은 사용자의 로그온 세션이 끊어지면 삭제됩니다.

서비스 및 컴퓨터의 해시된 암호는 다르게 처리됩니다. Windows NT의 이전 버전에서와 같이 이 암호는 컴퓨터 레지스트리의 보안된 영역에 저장됩니다. 이 레지스트리는 또한 로컬 시스템의 사용자 계정에 대한 해시 암호도 저장하지만 로컬 계정은 독립 실행 모드의 컴퓨터에 액세스할 때에만 사용되며 네트워크 액세스에는 사용하지 않습니다.

DNS 이름 확인

RFC 1510에서는 클라이언트 및 KDC의 메시지 교환에 IP 전송을 사용하도록 규정합니다. 클라이언트 컴퓨터의 Kerberos SSP가 초기 인증 서비스 요청을 보내려면 사용자 계정 도메인의 KDC 주소를 찾아야 합니다. 그러려면 위해KDC 서비스가 실행하는 서버의 DNS(Domain Name System) 이름을 알아야 합니다. DNS 이름은 IP 주소로 확인할 수 있다면 Kerberos SSP는 그곳으로 메시지를 보내며 확인할 수 없다면 그러한 도메인을 찾을 수 없다는 오류를 발생합니다.

Windows 2000 도메인에서 KDC 서비스는 모든 Windows 2000 기반의 도메인 컨트롤러에서 실행됩니다. KDC 서버인 도메인 컨트롤러는 또한 LDAP(Lightweight Directory Access Protocol) 서버이기도 합니다. 이 두 서비스 모두 DNS 서비스 로케이터 레코드(SRV 자원 레코드)에 등록되어 있습니다. 클라이언트는 DNS에 _ldap._tcp.dc._msdcs.DnsDomainName이름의 SRV 자원 레코드를 질의하여 도메인 컨트롤러를 찾을 수 있습니다. DNS에 _kerberos._udp.DnsDomainName이름의 SRV 자원 레코드를 질의하여 KDC 서비스를 찾을 수 있습니다. DNS 확인자에서 SRV 레코드 유형을 지원하지 않는 클라이언트는 도메인 이름으로 호스트 레코드(자원 레코드)를 질의할 수 있습니다.

Windows 2000을 실행하는 컴퓨터는 Windows 2000 도메인이 아닌 Kerberos 영역에 참여할 수 있습니다. 이 경우 KDC는 Windows 2000 도메인 컨트롤러에 위치하지 않기 때문에 클라이언트 컴퓨터의 레지스트리에 KDC 서버의 DNS 이름을 저장해야 합니다. Kerberos SSP는 사용자 영역의 DNS 도메인 이름을 레지스트리에서 검색한 후 이 이름을 DNS에 질의하여 IP 주소와 확인합니다.

Windows 2000에는 클라이언트를 Windows 2000 도메인이 아닌 Kerberos 영역에 참여하도록 구성할 수 있는 도구가 제공됩니다. Windows 2000 설치 CD의 Support 폴더에서 ksetup.exe를 실행하십시오.

IP 전송

RFC 1510에 따르면 클라이언트가 KDC에 접촉할 때 UDP(User Datagram Protocol)를 KDC IP 주소의 포트 88에 보내야 합니다. KDC는 회신 데이터그램을 송신자 IP 주소의 송신 포트로 보내야 합니다.

UDP는 연결 없는 전송 프로토콜로 메시지 교환이 연결에 선행될 때 사용합니다. UDP는 또한 클라이언트와 KDC 사이의 교환처럼 각 메시지가 단일 데이터그램에 적합한 단일 메시지와 단일 회신을 갖는 응용 프로그램에 적합합니다. 그러나 UDP는 각 데이터그램이 한 프레임에 들어가서 데이터그램이 단일 유닛으로 전송될 수 있을 때 가장 적합합니다. 프레임의 용량은 매체에 따라 다양합니다. 이더넷 프레임의 최대 전송 단위(MTU)는 1500옥텟입니다. 물리적 네트워크가 이더넷인 경우 UDP 데이터그램으로 전송된 Kerberos 메시지는 최대 1500옥텟 데이터를 전달할 수 있습니다.

Windows 2000 인증 데이터는 쉽게 1500옥텟을 넘습니다. 이 데이터가 Windows 2000 운영 체제를 실행하는 컴퓨터에서만 필요하기 때문에 다른 운영 체제의 컴퓨터에 보내는 티켓에서는 생략됩니다. 그 결과로 이 메시지는 1500옥텟 이하가 되어 UDP 데이터그램을 전송될 수 있습니다. Windows 2000을 실행하는 컴퓨터의 티켓 메시지는 제한을 넘기 쉽기 때문에 TCP를 사용하여 전송됩니다. TCP 전송 사용은 최근에 제안된 RFC 1510 개정안을 따릅니다.

Windows 2000애서의 인터넷 보안

Microsoft는 공개 키 보안과 Windows 2000 보안을 통합할 공개 키 인프라를 개발하고 있습니다. 공개 키 암호화는 기업 및 인터넷 통신에서 강력한 보안을 가능하게 하는 보안 기술입니다. Microsoft 인터넷 보안 기술에는 인증서 서버, SSL/TLS 프로토콜을 구현하는 보안 채널 보안 제공자(secure channel security provider), 신용 카드 트랜잭션을 위한 SET 보안 지불 프로토콜 및 관리 인증을 위한 CryptoAPI 구성 요소등이 있습니다.

Microsoft 공개 키 보안 인프라의 구성 요소는 다음과 같습니다.


브라우저에서 인라인 프레임이 지원되지 않는 경우 별도 페이지를 보려면 여기를 클릭 하십시오.

그림 5

Microsoft 인터넷 보안 인프라는 RSP 공개 키 암호화, X.509 인증 형식 및 PKCS 표준을 포함하는 공개 키 보안에 대한 업계 표준을 따르고 있습니다.

다음은 Windows NT 4.0에서 제공하는 공개 키 보안을 사용한 첫번째 구성 요소입니다:

  1. CryptoAPI. 설치할 수 있는 암호화 서비스 공급자(CSP;Cryptographic Service Providers)를 지원하는 제공자 구조를 사용하여 키 생성 및 교환, 디지털 서명과 데이터 암호화 기능의 프로그래밍 지원
  2. C509 인증서 및 PKCS의 CryptoAPI 지원. Windows NT 4.0 Service Pack 3에 발표되었으며 Internet Explorer 4.0 및 Windows 2000에서 사용.
  3. SSL 버전 2.0, 버전 3.0 클라이언트 지원의 보안 채널 구현 및 PCT(Private Communications Technology) 버전 1.0 공개 키 보안 프로토콜.
  4. Authenticode™. 디지털 서명을 사용하여 인터넷에서 다운로드한 소프트웨어의 무결성과 소프트웨어 게시자의 신원을 확인하는 업계 표준 솔루션.

Microsoft 인터넷 보안 인프라는 이 구성 요소를 기반으로 구축되었으며 Windows 2000를 포함하는 Windows 플랫폼을 위한 공개 키를 지원할 수 있는 추가 기능을 제공합니다. Microsoft Internet Explorer 및 Internet Information Server는 여러 인터넷 보안 구성 요소를 사용합니다. Windows 2000 분산 보안 서비스를 위한 Microsoft 인터넷 보안 인프라의 새로운 기능은 다음과 같습니다:

  1. 공개 키 인증서에 기반하는 SSL 3.0으로 클라이언트 인증.
  2. Windows 2000 도메인 계정에 인증서를 발행하는 인증서 서버
  3. Windows 2000 보안은 운영 체제에 설치된 공개 키 보안 기능과 공개 키 보안을 위한 인터넷 표준을 사용합니다.

SSL 3.0으로 클라이언트 인증

SSL(Secure Socket Layer) 및 TLS(transport Layer Security)는 Schannel(Secure Channel) 보안 제공자가 구현한 공개 키 기반의 보안 프로토콜입니다. 인터넷 브라우저 및 서버는 이러한 보안 프로토콜을 상호 인증, 메시지 무결성 및 기밀성에 사용합니다. 인터넷 서버 인증은 서버 인증이 SSL/TLS 보안 채널 설정의 일부로 제공되었을 때 Internet Explorer(클라이언트)에 의해 수행됩니다. 클라이언트 프로그램은 인증의 암호화된 서명 및 중간 CA 인증을 공인 또는 루트 구성된 CA 중 한 곳에서 확인하여 서버의 인증을 받아들입니다.

클라이언트 인증 또한 SSL 3.0 및 TLS에서 지원됩니다. 공개 키 인증서를 사용한 클라이언트 인증은 보안 채널 세션 설정의 일부로 이루어집니다.

아래 그림 7은 보안된 연결 설정을 위한 클라이언트와 서버 사이의 핸드셰이크 메시지를 나타냅니다.


브라우저에서 인라인 프레임이 지원되지 않는 경우 별도 페이지를 보려면 여기를 클릭 하십시오.

그림 6

서버에 의한 클라이언트 인증은 서버 인증의 과정과 동일합니다. 서버가 클라이언트 인증 및 중간 CA 인증의 암호화된 서명을 잘 알려지거나 트러스트된 루트 CA에서 확인합니다. 그러나 클라이언트의 신원이 인증 확인(클라이언트 인증)에 의해 확인 되면 응용 프로그램 서버는 클라이언트에 정의된 적절한 액세스 권한을 갖는 보안 컨텍스트를 설정해야 합니다. 액세스 제어 정보는 클라이언트가 이 서버에서 사용할 수 있는 자원을 결정합니다. Windows 2000 보안 구조에서 액세스 제어는 보안 액세스 토큰의 그룹 구성원 및 권한으로 정의됩니다.

공개 키 클라이언트 인증은 클라이언트 인증의 정보를 사용하여 로컬 액세스 제어 정보에 매핑합니다. 이 매핑은 클라이언트가 서버 시스템의 자원에 액세스하는 권한 종류를 결정합니다. Microsoft Internet Information Server에 의한 클라이언트 인증 초기 지원은 데이터베이스 인증을 관리하여 인증 주체 또는 발행자 정보를 기존 Windows 2000 계정에 매핑함으로써 가능합니다. 권한 데이터베이스는 응용 프로그램의 요구 사항에 따라 단순하거나 복잡할 수 있습니다.

Windows 2000에서는 Active Directory을 사용하여 인증 정보를 기존 Windows 계정에 매핑하는 보안 서비스를 구현함으로써 더 광범위한 클라이언트 인증 지원을 제공합니다. 이러한 매핑은 Windows 디랙토리의 인증서 주체 이름을 검색하거나 클라이언트 인증을 식별하는 디랙토리 속성을 검색하여 수행됩니다.

Windows 2000의 클라이언트 인증 지원은 Windows 2000 보안 구조와 공개 키 인증서를 통합합니다. 공개 키 인증서와 연관된 액세스 권한을 정의하기 위한 데이터베이스가 따로 필요하지 않습니다. 액세스 제어 정보는 Windows 디랙토리에 저장된 그룹 구성원에 의해 유지관리 됩니다. Common Windows Directory Service 관리자 도구를 사용하여 Windows 사용자를 그룹에 추가함으로써 액세스 권한을 허용할 수 있습니다.

외부 사용자 인증

Windows 2000의 공개 키 인증서 인증 지원으로 Windows 2000 도메인 계정이 없는 사용자를 대신하여 클라이언트 응용 프로그램이 보안된 서비스에 연결할 수 있습니다. 신뢰할 수 있는 인증 기관이 발행한 공개 키 인증서에 기반하여 인증된 사용자는 Windows 2000 자원에 액세스가 허용됩니다. 디랙토리 서비스 관리자 도구를 사용하여 관리자 또는 위임 인증 대행자가 액세스 제어를 위해 외부 사용자를 기존 Windows 2000 계정에 연관시킬 수 있습니다. X.509 버전 3 인증서의 Subject 이름을 사용하여 계정에 연관된 외부 사용자를 식별할 수 있습니다.

기업에서는 Windows 2000 계정을 생성하지 않고 보안을 유지하며 다른 조직의 개인과 정보를 공유할 수 있습니다. 인증서와 Windows 2000 사용자 개체간의 다대일 매핑은 공개 키 인증서 및 공동 액세스 제어 권한에 기반한 강력한 인증 기능을 제공합니다. 외부 사용자의 클라이언트 인증을 하려면 시스템 관리자가 이 사용자의 인증서를 위한 인증 기관(CA)을 트러스트된 CA로 구성해야 합니다. 이렇게 하면 무명의 기관에서 발행한 인증서를 가진 사람이 다른 사람으로 가장하여 이 시스템에 인증되는 것을 방지합니다.

Microsoft 인증서 서버

Windows 2000 및 IIS 4.0에 포함된 Microsoft 인증서 서버는 공개 키 암호화를 사용하는 응용 프로그램의 인증서 발행 및 관리를 위한 사용자 지정 가능 서비스를 제공합니다. 인증서 서버는 시스템을 중앙에서 관리하여 인터넷, 기업 인트라넷 및 기타 보안되지 않은 네트워크에 보안 통신을 제공할 수 있습니다. Microsoft 인증서 서버는 다른 조직의 응용 프로그램 요구 사항을 지원할 수 있도록 사용자 지정할 수 있습니다.

인증서 서버는 RPC, HTTP 또는 전자 메일등과 같은 전송에 대한 새로운 인증서 요청을 받습니다. 각 요청은 사용자 지정 또는 사이트별 특정 정책에 대해 점검되며 발행할 인증서의 옵션 속성을 설정한 후 인증서를 발행합니다. 관리자는 인증서 서버를 사용하여 요소를 인증서 해지 목록(CRL;Certificate Revocation List)에 추가하고 서명된 CRL을 정기적으로 공개할 수 있습니다. 프로그램할 수 있는 인터페이스가 포함되어 개발자가 추가 전송, 정책, 인증서 속성 및 형식을 생성할 수 있습니다.

인증서 서버의 정책 모듈은 인증서 요청의 네트워크 인증을 사용하여 Windows 2000 도메인 계정을 가진 사용자에게 인증서를 발행합니다. 정책 모듈을 발행 조직의 필요에 맞도록 사용자 지정할 수 있습니다. 인증서 서버는 표준 X.509 형식으로 인증서를 생성합니다. X.509 형식으로 된 인증서는 보안 통신에 연관된 서버 및 클라이언트를 TLS 또는 SSL 프로토콜을 사용하여 인증할 때 일반적으로 사용됩니다.

기업 인트라넷 또는 인터넷에서 Microsoft Internet Information Server와 같은 서버는 인증서 서버가 발행한 인증서를 사용하여 보안 통신을 위한 클라이언트 인증을 수행할 수 있습니다. 인증서 서버는 또한 IIS 및 다른 웹 서버가 사용할 수 있는 서버 인증서를 생성하여 클라이언트(브라우저)에게 서버 인증을 제공함으로써 의도한 실체와 통신하고 있음을 확인시킬 수 있습니다.

CryptoAPI

Windows NT 4.0은 CryptoAIP를 사용하여 저수준의 암호화 지원 및 암호화 서비스 제공자를 제공했습니다. Windows 2000에는 공개 키 보안을 지원하기 위한 CryptoAPI 인증서 관리 기능이 소개되어 있습니다.

CryptoAPI의 주요 새 기능은 다음과 같습니다:

  1. 공통 인코딩/디코딩 함수, 인증서 분석 및 확인등을 통해 X.509 버전 3 인증서와 X.509 버전 2.0 CRL을 지원합니다.
  2. 서명되고 봉인된 데이터에 대해 PKCS #10 인증서 요청 및 PKCS #7 지원
  3. 인증서 저장소에서 인증서 및 CRL을 추가하고 가져올 수 있으며 특성 및 연관 공개 키로 인증서를 찾을 수 있습니다.
  4. 사용하 수 있는 고수준 함수를 HTML, Java, Visual Basic® Scripting Edition (VBScript) 및 C/C++에 사용하여 디지털 서명,확인, 데이터 암호화 지원

CryptoAPI 기능은 Software Publisher trust Provider for Authenticode 확인과 같은 Windows 2000 운영 체제 구성 요소에서 사용됩니다. 다른 응용 프로그램 및 시스템 서비스는 CryptoAPI 버전 2.0을 사용하여 고개 키 보안 기술을 사용할 수 있는 공통 기능을 제공합니다.

비즈니스간 액세스: 분산 파트너

인터넷 기반의 기업은 이미 고객 및 파트너와 인터넷으로 사업을 합니다. 대리점, 공급업체, 배급업체 및 확장된 비즈니스에 포함되는 누구나 기업 인트라넷에 접속하여 중요한 기업 정보에 액세스할 수 있습니다. 이 분야의 직원과 대표자들은 로컬 액세스를 사용하여 공용 네트워크에 연결한 뒤 원격 기업 정보 자원에 접속합니다. Windows NT 보안은 변화하는 인터넷의 분산 컴퓨팅 환경 요구사항을 지원하기 위해 계속 발전하고 있습니다.

비즈니스간 분산 컴퓨팅은 단일 구조로 제한되지 않으며 보안 기술은 단일화된 정보 액세스 방법으로 인해 비즈니스가 제한되지 않도록 해야 합니다. 보안 기술이 급속하게 변화하기 때문에 다양한 접근 방식을 사용할 수 있습니다. Windows 2000은 보안 프로토콜과 응용 프로그램 또는 비즈니스의 필요에 적합한 사용자 모델 지원 기능을 통합하였습니다. 더욱 중요한 것은 Windows 2000이 인프라가 성숙함에 따라 인터넷 공개 키를 충분히 사용할 수 있는 기회를 오늘날 사용되는 기업 보안에 병합한 것입니다.

다음은 비즈니스간 관계를 관리하고 지원하는 Windows 2000 보안이 제공하는 옵션입니다:

  1. 오늘날 광범위하게 사용되는 초기 접근 방법은 비즈니스 파트너가 기업 정보 서비스에 액세스 할 수 있도록 사용자 계정을 생성하는 것입니다. Windows 2000 보안과 Active Directory의 통합으로 이러한 특수한 계정의 관리가 쉬워졌습니다. 디랙토리의 조직 구성 단위를 사용하여 파트너, 공급업체 또는 기타 비즈니스 관계에 따라 이러한 계정을 그룹화할 수 있습니다. 이러한 계정의 관리를 파트너 관계를 관리하는 조직에게 위임할 수 있습니다. 공용 네트워크를 통해 전달되는 네트워크 트래픽을 암호화하기 위해 조직간 가상 사설망(VPN;Virtual Private Network)이 설정됩니다. 이러한 방법으로 비즈니스 파트너는 원격 액세스 서비스를 사용하여 원격지의 직원처럼 기업 정보를 사용할 수 있습니다. 데이터베이스 또는 정보 리포지토리에 대한 액세스는 Windows 2000 액세스 제어 기능을 사용하여 제어할 수 있습니다.
  2. 도메인 트러스트 관리는 비즈니스간 관계를 설정하는 또 다른 도구입니다. Active Directory는 계층적 도메인 트리의 관리에 있어서 더 많은 유연성을 제공합니다. Windows 2000 도메인 이름이 DNS 명명과 통합되었기 때문에 두 도메인간 정보의 인터넷 라우팅 구성이 용이합니다. 비즈니스 관계에 필요하다면 도메인 트러스트를 사용하여 인터넷에서 통신할 때 필요한 개인 정보 및 통합 기능을 갖춘 클라이언트/서버 응용 프로그램으로 구성할 수 있습니다. 사용자는 Kerberos 또는 공개 키 인증 프로토콜 중 하나를 사용하여 원격 도메인의 공유 자원에 액세스할 수 있습니다.
  3. 조직에서는 Microsoft 인터넷 보안 인프라를 사용하여 인터넷 보안 문제를 해결할 수 있습니다. 기업은 특정 정보 자원에 액세스해야 하는 특정 파트너에게 공개 키 인증서를 발행할 수 있습니다. 사용자 계정 또는 도메인 트러스트 관계를 정의하는 대신 인증서를 사용자 식별 및 인증에 사용할 수 있습니다. 공개 키 인증서 및 인증서 발급과 인증서 해지에 필요한 인프라는 인터넷에서 비즈니스 대 비즈니스 관계를 지원하는 가장 효과적인 수단입니다. Windows 2000은 모든 인증서 발행 시스템이 발행한 X.509 버전 3 인증서를 지원합니다. Windows 2000의 시스템 관리자는 신뢰할 인증 기관을 정의하며 공개 키 인증서로 인증된 외부 사용자를 Windows 2000 사용자 계정에 연관하여 이 사용자에게 부여된 액세스 권한을 정의합니다.

1 "Generic Security Services Application Program Interface", J. Linn, Internet RFC 1508, 1993년 9월.

2 "The Kerberos Network Authentication Service (V5)", J. Kohl and C. Neumann, Internet RFC 1510, 1993년 9월.

3 RFC 1964에서 Kerberos 버전 5 GSS-API Mechanism 보안 토큰 형식을 정의


 

최종 수정일 : 2001년 10월 24일