다음을 통해 공유


WCF 보안 용어

보안을 설명할 때 사용되는 일부 용어는 생소할 수 있습니다. 이 항목에서는 일부 보안 용어에 대해 간략하게 설명하며, 모든 항목을 포괄적으로 설명하지는 않습니다.

WCF(Windows Communication Foundation) 설명서에서 사용된 용어에 대한 자세한 내용은 기본적인 Windows Communication Foundation 개념을 참조하세요.

ACL(액세스 제어 목록 - Access Control List)
개체에 적용되는 보안 보호 목록입니다. (개체는 파일, 프로세스, 이벤트 또는 보안 설명자가 있는 다른 항목일 수 있습니다.) ACL의 항목은 ACE(액세스 제어 항목)입니다. 임의 ACL과 시스템 ACL의 두 가지 종류가 있습니다.

authentication
사용자, 컴퓨터, 서비스 또는 프로세스가 요청된 대상이 맞는지 확인하는 프로세스입니다.

권한
리소스에 대한 액세스 및 권한을 제어하는 행위입니다. 예를 들어, 특정 그룹의 멤버에게는 파일 읽기를 허용하고, 다른 그룹의 멤버에게는 파일 변경만 허용합니다.

CA(인증 기관) 인증서
서버 및 클라이언트 인증 인증서를 해당 인증서를 요청하는 서버와 클라이언트에 발급하는 CA를 식별합니다. CA는 디지털 서명에 사용되는 공개 키를 포함하기 때문에 서명 인증서라고도 합니다. CA가 루트 기관인 경우, CA 인증서를 루트 인증서라고 할 수 있습니다. 또한 사이트 인증서라고도 합니다.

CA 계층 구조
CA 계층 구조에는 여러 CA가 포함되어 있습니다. CA 계층 구조는 루트 기관이라고도 하는 계층 구조의 맨 위에 도달할 때까지 각 CA를 상위 수준의 다른 CA가 인증하도록 구성되어 있습니다.

인증서(certificate)
엔터티 및 엔터티의 공개 키에 대한 정보를 포함하여 두 정보 부분을 함께 바인딩하는 디지털 서명된 문입니다. 인증서는 인증 기관이라는 신뢰할 수 있는 조직(또는 엔터티)에서 엔터티가 정확한지 확인한 이후에 발급됩니다.

인증서는 다양한 형식의 데이터를 포함할 수 있습니다. 예를 들어, X.509 인증서는 인증서 형식, 인증서 일련 번호, 인증서 서명에 사용된 알고리즘, 인증서를 발급한 CA 이름, 인증서를 요청하는 엔터티의 이름 및 공개 키, CA의 서명 등을 포함합니다.

인증서 저장소
일반적으로 인증서, CRL(인증서 해지 목록) 및 CTL(인증서 신뢰 목록)이 저장되는 영구 스토리지입니다. 영구 스토리지에 넣을 필요가 없는 인증서로 작업할 경우에는 메모리에서만 인증서 스토리지를 만들고 열 수 있습니다.

claims
한 엔터티에서 다른 엔터티로 전달되어 발신자의 ID를 설정하는 데 사용되는 정보입니다. 예를 들어, 사용자 이름과 암호 토큰 또는 X.509 인증서가 있습니다.

클라이언트 인증서
클라이언트 인증(예: 웹 서버에서 웹 브라우저 인증)에 사용되는 인증서를 말합니다. 웹 브라우저 클라이언트가 보안된 웹 서버에 액세스하려고 하면 클라이언트는 서버에서 클라이언트의 ID를 확인할 수 있도록 서버에 인증서를 보냅니다.

credentials
보안 주체가 자신의 ID(예: 암호) 또는 Kerberos 프로토콜 티켓을 설정하는 데 사용하는 이전에 인증된 로그온 데이터입니다. 자격 증명은 리소스에 대한 액세스를 제어하는 데 사용됩니다.

다이제스트 데이터
데이터 형식과 콘텐츠의 메시지 해시(다이제스트)로 구성되는 PKCS(공개 키 암호화 표준) #7에 정의된 데이터 콘텐츠 형식입니다.

디지털 서명
발신자의 ID를 전송 중인 정보에 바인딩하는 데이터입니다. 디지털 서명은 메시지, 파일 또는 기타 디지털로 인코딩된 정보와 함께 제공되거나 개별적으로 전송될 수 있습니다. 디지털 서명은 공개 키 환경에서 사용되며 인증 및 무결성 서비스를 제공합니다.

encoding
데이터를 비트 스트림으로 변경하는 프로세스입니다. 인코딩은 데이터를 1과 0의 스트림으로 변환하는 serialization 프로세스의 일부입니다.

교환 키 쌍
세션 키를 안전하게 저장하여 사용자끼리 교환할 수 있도록 암호화하는 데 사용되는 퍼블릭/프라이빗 키 쌍입니다.

hash
임의 크기의 데이터에 수학적 함수(해시 알고리즘 참조)를 적용하여 구하는 고정된 크기의 숫자 값입니다. 데이터는 일반적으로 nonce라는 난수 데이터를 포함합니다. 서비스와 클라이언트는 모두 nonce를 교환하므로 결과가 더 복잡해집니다. 이 결과를 메시지 다이제스트라고도 합니다. 해시 값을 보내는 것이 암호와 같은 중요한 데이터를 보내는 것보다 더 안전합니다. 이는 암호가 암호화되어 있는 경우에도 마찬가지입니다. 해시 발신자와 수신자가 수신된 해시를 확인할 수 있도록 해시 알고리즘과 nonce에 동의해야 합니다.

해시 알고리즘
메시지 또는 세션 키와 같은 데이터의 일부에 대한 해시 값을 생성하는 데 사용되는 알고리즘입니다. 일반적인 해시 알고리즘은 MD2, MD4, MD5, SHA-1 등입니다.

Kerberos 프로토콜
클라이언트가 네트워크 인증 서비스와 상호 작용하는 방법을 정의하는 프로토콜입니다. 클라이언트는 Kerberos KDC(키 배포 센터)로부터 티켓을 가져와서 연결할 때 서버에 제출합니다. Kerberos 티켓은 클라이언트의 네트워크 자격 증명을 나타냅니다.

LSA(로컬 보안 기관)
사용자를 인증하고 로컬 시스템에 로그온하는 보호된 하위 시스템입니다. 또한 LSA는 시스템의 모든 로컬 보안 관련 정보를 유지 관리하며, 시스템의 로컬 보안 정책이라고 통칭합니다.

Negotiate
SSPI(보안 지원 공급자 인터페이스)와 다른 SSP(보안 지원 공급자) 사이의 애플리케이션 계층 역할을 하는 SSP입니다. 애플리케이션은 네트워크에 로그온하기 위해 SSPI를 호출할 때 요청을 처리할 SSP를 지정할 수 있습니다. 애플리케이션에서 Negotiate를 지정하면 Negotiate에서 요청을 분석하고 고객이 구성한 보안 정책을 기반으로 요청을 처리하는 데 가장 적합한 SSP를 선택합니다.

nonce
"재생" 공격을 무력화하는 데 사용되는 임의로 생성되는 값입니다.

거부 없음
특정 작업을 수행한 사용자를 식별하여 사용자가 책임을 거부하려는 시도를 무력화하는 기능입니다. 예를 들어, 파일이 삭제될 때마다 시스템에서 사용자의 ID를 기록할 수 있습니다.

PKCS(공개 키 암호화 표준)
공개 키 암호화 배포를 가속화하기 위해 RSA Data Security, Inc.가 전세계의 보안 시스템 개발자와 함께 작업하여 만든 사양입니다.

PKCS #7
암호화 메시지 구문 표준입니다. 디지털 서명 및 암호화와 같은 암호화 기법을 적용할 수 있는 데이터에 대한 일반 구문입니다. 또한 인증서 또는 인증서 해지 목록과 기타 메시지 특성(예: 타임스탬프)을 메시지에 배포하는 구문을 제공합니다.

일반 텍스트
암호화되지 않은 메시지입니다. 일반 텍스트(plaintext) 메시지를 일반 텍스트(cleartext) 메시지라고도 합니다.

권한
시스템 종료, 디바이스 드라이버 로드, 시스템 시간 변경 등과 같은 다양한 시스템 관련 작업을 수행할 수 있는 권한입니다. 사용자의 액세스 토큰에는 사용자 또는 사용자 그룹이 보유하는 권한 목록이 포함되어 있습니다.

프라이빗 키(private key)
공개 키 알고리즘에 사용되는 키 쌍의 암호 부분입니다. 프라이빗 키는 일반적으로 대칭 세션 키를 암호화하거나, 메시지에 디지털 서명을 하거나, 해당 퍼블릭 키로 암호화된 메시지를 해독하는 데 사용됩니다. "공개 키"를 참조하십시오.

프로세스
애플리케이션이 실행되는 보안 컨텍스트입니다. 일반적으로 보안 컨텍스트는 사용자와 연관되므로, 지정된 프로세스에서 실행 중인 모든 애플리케이션은 소유자의 권한을 사용합니다.

퍼블릭/프라이빗 키 쌍
공개 키 암호화에 사용되는 암호화 키 세트입니다. CSP(암호화 서비스 공급자)는 일반적으로 사용자별로 두 퍼블릭/프라이빗 키 쌍(교환 키 쌍 및 디지털 서명 키 쌍)을 유지 관리합니다. 두 키 쌍은 모두 세션별로 유지 관리됩니다.

공개 키
암호화 키는 일반적으로 세션 키 또는 디지털 서명을 해독하는 데 사용됩니다. 퍼블릭 키를 사용하여 메시지를 암호화하여 해당 프라이빗 키를 가진 사용자만 메시지를 해독하도록 보장할 수 있습니다.

공개 키 암호화
데이터 암호화를 위한 키와 데이터 해독을 위한 키로 구성된 키 쌍을 사용하는 암호화입니다. 반면에 대칭 암호화 알고리즘은 암호화와 해독 모두에 동일한 키를 사용합니다. 실제로 공개 키 암호화는 보통 대칭 암호화 알고리즘에 사용되는 세션 키를 보호하는 데 사용됩니다. 이 경우 퍼블릭 키는 세션 키를 암호화(즉, 일부 데이터를 암호화)하는 데 사용되고, 프라이빗 키는 해독에 사용됩니다. 세션 키를 보호하는 외에도 퍼블릭 키 암호화를 사용하여 메시지에 디지털로 서명(프라이빗 키 사용)하고 서명의 유효성을 검사(퍼블릭 키 사용)할 수도 있습니다.

PKI(공개 키 인프라)
공개 키 애플리케이션을 작성, 배포 및 관리하기 위한 일련의 통합 서비스 및 관리 도구를 제공하는 인프라입니다.

부인
다른 사용자가 증명할 수 없는 경우 작업의 수행을 거짓으로 부인할 수 있는 기능입니다. 예를 들어, 파일을 삭제한 사용자가 파일을 삭제했음을 부인할 수 있습니다.

루트 기관
CA 계층 구조의 맨 위에 있는 CA입니다. 루트 기관은 계층 구조의 다음 수준에 속하는 CA를 인증합니다.

SHA(Secure Hash Algorithm)
메시지 다이제스트를 생성하는 해시 알고리즘입니다. SHA는 DSS(디지털 서명 표준) 등 여러 위치에서 DSA(디지털 서명 알고리즘)와 함께 사용됩니다. SHA는 SHA-1, SHA-256, SHA-384, SHA-512의 네 가지가 있습니다. SHA-1은 160비트 메시지 다이제스트를 생성합니다. SHA-256, SHA-384 및 SHA-512는 각각 256비트, 384비트 및 512비트 메시지 다이제스트를 생성합니다. SHA는 NIST(National Institute of Standards and Technology)와 NSA(National Security Agency)에 의해 개발되었습니다.

SSL(Secure Sockets Layer)
공개 및 비밀 키 기술을 함께 사용하는 보안 네트워크 통신을 위한 프로토콜입니다.

보안 컨텍스트
현재 적용되는 보안 특성 또는 규칙입니다. 예를 들어, 컴퓨터에 로그온한 현재 사용자 또는 스마트 카드 사용자가 입력한 개인 식별 번호 등이 있습니다. SSPI의 경우 보안 컨텍스트는 세션 키, 세션 기간 표시 등과 같은 연결 관련 보안 데이터를 포함하는 불투명 데이터 구조입니다.

보안 주체
보안 시스템에서 인식되는 엔터티입니다. 주체는 사용자와 자치 프로세스를 포함할 수 있습니다.

SSP(보안 지원 공급자)
하나 이상의 보안 패키지를 애플리케이션에 사용할 수 있게 만들어 SSPI를 구현하는 DLL(동적 연결 라이브러리)입니다. 각 보안 패키지는 애플리케이션의 SSPI 함수 호출과 실제 보안 모델 함수 사이의 매핑을 제공합니다. 보안 패키지는 Kerberos 인증 및 Microsoft LanMan(LAN Manager)과 같은 보안 프로토콜을 지원합니다.

SSPI(보안 지원 공급자 인터페이스)
Microsoft RPC(원격 프로시저 호출)와 같은 전송 수준 애플리케이션과 Windows 분산 보안과 같은 보안 공급자 사이의 공용 인터페이스입니다. SSPI를 사용하면 전송 애플리케이션에서 여러 보안 공급자 중 하나를 호출하여 인증된 연결을 가져올 수 있습니다. 이러한 호출에서는 보안 프로토콜에 대한 많은 정보가 필요하지 않습니다.

보안 토큰 서비스
다중 서비스 시나리오에서 사용자 지정 보안 토큰(발급된 토큰)을 발급 및 관리하도록 디자인된 서비스입니다. 사용자 지정 토큰은 일반적으로 사용자 지정 자격 증명을 포함하는 SAML(Security Assertions Markup Language) 토큰입니다.

서버 인증서
서버 인증(예: 웹 브라우저에 웹 서버 인증)에 사용되는 인증서를 말합니다. 웹 브라우저 클라이언트가 보안된 웹 서버에 액세스하려고 하면 서버는 브라우저에서 서버의 ID를 확인할 수 있도록 브라우저에 인증서를 보냅니다.

session
키 재료의 단일 부분을 보호하는 메시지 교환입니다. 예를 들어, SSL 세션에서는 단일 키를 사용하여 해당 키 하에서 여러 메시지를 앞뒤로 보냅니다.

세션 키
임의적으로 생성된 키이며 한 번 사용된 후 삭제됩니다. 세션 키는 대칭적입니다(암호화와 해독에 모두 사용). 세션 키는 대상 수신자의 공개 키로 암호화하여 보호된 메시지와 함께 전송됩니다. 세션 키는 약 40-2,000비트 사이의 임의의 수로 구성됩니다.

보조 자격 증명
외래 보안 도메인에 대해 보안 주체를 인증하는 데 사용되는 자격 증명입니다.

대칭 암호화
암호화와 해독 모두에 단일 키를 사용하는 암호화입니다. 대칭 암호화는 많은 양의 데이터를 암호화할 때 주로 사용됩니다. 일반적인 대칭 암호화 알고리즘으로는 RC2, RC4, DES(Data Encryption Standard) 등이 있습니다.

"공개 키 암호화"를 참조하십시오.

대칭 키
암호화와 해독 모두에 사용되는 단일 키입니다. 세션 키는 일반적으로 대칭 키입니다.

토큰(액세스 토큰)
액세스 토큰에는 로그온 세션에 대한 보안 정보가 포함되어 있습니다. 사용자가 로그온하면 액세스 토큰이 자동으로 생성되며 사용자 대신 실행된 모든 프로세스에는 토큰 복사본이 있습니다. 토큰은 사용자, 사용자 그룹 및 사용자 권한을 식별합니다. 시스템에서는 토큰을 사용하여 보안 개체에 대한 액세스를 제어하고 로컬 컴퓨터에서 다양한 시스템 관련 작업을 수행할 수 있는 사용자 기능을 제어합니다. 기본 액세스 토큰과 가장 액세스 토큰의 두 가지 종류가 있습니다.

전송 계층
서비스 품질과 정보의 정확한 배달을 모두 책임지는 네트워크 계층입니다. 이 계층에서 수행되는 작업으로는 오류 검색과 수정이 있습니다.

신뢰 목록(인증서 신뢰 목록 또는 CTL)
신뢰할 수 있는 엔터티가 서명한 미리 정의된 항목 목록입니다. CTL은 인증서 해시 목록, 파일 이름 목록 등이 모두 해당됩니다. 목록에 있는 모든 항목은 서명 엔터티에 의해 인증(승인)됩니다.

신뢰 공급자
지정된 파일의 신뢰 여부를 결정하는 소프트웨어입니다. 이 결정은 파일과 연결된 인증서를 기반으로 수행됩니다.

UPN(User Principal Name)
사용자 로그온 이름이라고도 하는 사용자 계정 이름 및 사용자 계정이 있는 도메인을 나타내는 도메인 이름입니다. Windows 도메인에 로그온하는 표준 사용법입니다. 형식은 someone@example.com입니다(메일 주소에 관한 한).

참고 항목

표준 UPN 형식 이외에 WCF에서는 cohowinery.com\someone과 같은 하위 수준의 UPN 형식을 적용합니다.

X.509
필수 부분을 정의하는 인증서에 대한 국제 승인 표준입니다.

참고 항목