WIPIVERSE

보안 식별자

보안 식별자(Security Identifier, SID)는 컴퓨터 시스템, 특히 마이크로소프트 윈도우 운영체제에서 사용되는 고유한 문자열이나 숫자 값으로, 사용자인증 및 권한 부여 과정에서 개체(사용자, 그룹, 컴퓨터 등)를 식별하기 위해 사용된다.

정의 및 목적

  • 고유성: 시스템 내에서 각 보안 주체는 전역적으로 중복되지 않는 SID를 가진다. 동일한 이름을 가진 두 계정이라도 SID가 다르면 서로 구별된다.
  • 영속성: 계정 이름이 변경되더라도 SID는 변경되지 않아, 접근 제어 목록(ACL) 등 권한 정보와의 연계가 지속된다.

구조

  • SID는 일반적으로 다음과 같은 구성 요소를 포함한다.
    1. 버전(1바이트) – 현재는 버전 1이 사용된다.
    2. 식별자 권한(Identifier Authority) – 6바이트로, SID가 속한 권한 영역을 나타낸다.
    3. 서브 인증자(Sub‑Authority) 배열 – 가변 길이의 32비트 정수들로, 도메인 또는 로컬 컴퓨터를 구분하고 개별 개체를 식별한다.

예시) S-1-5-21-3623811015-3361044348-30300820-1013

  • S는 SID임을 나타내는 접두사.
  • 1은 버전.
  • 5는 식별자 권한(NT Authority).
  • 뒤의 숫자들은 도메인 식별자와 상대 식별자를 의미한다.

주요 사용 맥락

  1. 액세스 제어 목록(ACL)
    파일·디렉터리·레지스트리 키 등 객체에 대한 권한은 SID를 기반으로 정의된다. 예를 들어, 특정 파일에 대해 “사용자 A(S‑1‑5‑…‑1013)에게 read 권한 부여”와 같은 형태다.

  2. 그룹 정책 및 도메인 관리
    윈도우 도메인 환경에서 그룹 정책 객체(GPO)는 대상 컴퓨터·사용자를 SID로 식별한다.

  3. 감사 및 로그
    보안 이벤트 로그는 사건 발생 주체를 SID로 기록한다. 이를 통해 동일 계정의 이름 변경 전후 활동을 추적할 수 있다.

  4. 네트워크 인증
    Kerberos, NTLM 등 인증 프로토콜에서도 SID가 전파되어, 인증된 주체가 어떤 권한을 가지고 있는지 확인한다.

관련 개념

  • 액세스 토큰(Access Token): 사용자가 로그온할 때 시스템이 생성하는 구조로, 해당 사용자의 SID와 그룹 SID를 포함한다.
  • 보안 주체(Security Principal): SID가 부여되는 객체(사용자, 그룹, 컴퓨터 등).
  • 액세스 제어 리스트(ACL): 객체에 대한 권한을 정의하는 리스트이며, 각 항목(ACE)은 SID와 권한 정보를 결합한다.

제한 및 주의점

  • SID는 시스템 내에서만 고유성을 보장한다. 서로 다른 도메인이나 작업 그룹 간에 동일한 SID가 존재할 가능성은 없으며, 이를 위해 도메인 식별자와 같은 서브 인증자 값이 활용된다.
  • SID를 직접 편집하거나 변경하는 것은 권한 관리에 심각한 영향을 미칠 수 있어, 일반 사용자는 수정하지 않는 것이 권장된다.

참고

  • Microsoft 공식 문서: Security Identifiers (SIDs) Overview
  • Windows Internals, Part 1 – 시스템 구조와 보안 메커니즘 (Mark E. Russinovich 외)

(본 내용은 공개된 기술 문서 및 표준을 기반으로 작성되었으며, 추가적인 최신 정보는 마이크로소프트의 공식 문서를 참조한다.)

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기