윈도우를 사용하다 보면 S-1-5- 로 시작하는 SID(Security Identifier, 보안 식별자)가 곳곳에 등장한다. SID는 계정 이름(ID)과는 별도로 운영체제가 각 사용자와 그룹을 구분하기 위해 부여하는 고유 식별자이다. 이 글에서는 SID가 무엇인지, 왜 중요한지, 어떻게 구성되는지, 그리고 내 계정의 SID를 확인하는 방법까지 윈도우 보안 구조의 관점에서 차근차근 설명한다.
윈도우는 다중 사용자용 운영 체계이다
PC를 나 혼자만 사용하고 있다고 해서 윈도우가 단일 사용자 환경이라고 생각하면 곤란하다. 윈도우는 본래 다중 사용자 운영 체계로 설계되었다. 사용자 계정은 물론이고, 시스템이 동작하기 위해 자동으로 생성되는 여러 서비스 계정들까지 모두 포함하여, 운영체제는 다양한 사용자들이 동시에 존재하는 환경을 전제로 한다.


설치 후 로그인 화면이 존재하는 이유도, 프로그램을 설치할 때 UAC가 뜨는 이유도, 심지어 관리자 권한으로 실행이라는 메뉴가 따로 존재하는 것도 모두 이 구조 때문이다. 나 혼자 쓰는 PC처럼 보일지라도, 내부적으로는 여러 계정과 여러 권한이 서로 구분되어 있으며, 윈도우는 이를 바탕으로 보안 정책을 엄격하게 적용한다.
실제로, 제어판의 컴퓨터 관리창이나, 파워셀의 Get-LocalUser 명령을 통해 확인해 보면, 내가 생성하지 않은 사용자 계정(ID)들과 그룹이 존재하고 있음을 알 수 있다.


SID란 무엇인가?
여기서 중요한 점은, 우리가 사용하는 것은 ID이지만, 윈도우가 실제로 사용하는 것은 SID(Security Identifier, 보안 식별자)라는 것이다. 윈도우를 사용하다 보면 S-1-5-로 시작하는 이상한 문자열이 가끔 튀어나오는 것을 본 적이 있을 것이다. 이 문자열이 바로 SID이다.
윈도우를 설치하며 계정을 생성할 때 사용자는 ID와 암호를 생성한다. 이때 윈도우는 생성된 계정에 고유ID를 할당해 준다. 이 고유ID는 무작위로 생성된 일련의 문자열이다.
만약 사용자가 DectENG라는 ID의 계정을 생성했다고 하자. 그럼 윈도우는 이 계정에 대한 고유ID를 생성한다. 그리고 계정을 삭제한 다음, 똑같이 DectENG라는 ID의 계정을 다시 생성했다고 하자. 그럼 윈도우는 새롭게 만들어진 DectENG계정에 대해 새로운 고유ID를 생성한다. 즉, 사용자가 사용하는 ID만 놓고 보면 같게 보여도, 실제로는 새롭게 생성된 다른 계정이 된다는 뜻이다.
반대의 경우로, 만약 ID를 변경했다고 하더라도 고유ID는 변경되지 않는다. 사용자에게는 다른 계정처럼 느껴지겠으나, 윈도우 입장에서는 여전히 동일한 계정인 것이다.
결론적으로 SID는 윈도우가 실제로 사용자를 구분하는데 사용하는 기준이다. 로그 기록, 파일 접근 권한, 그룹 정책, 보안 설정 등이 모두 SID를 기반으로 동작하는 이유도 바로 여기에 있다.
SID의 구조
그렇다면 SID는 어떤 구조로 이루어져 있을까? 이 값은 단순한 숫자 나열처럼 보이지만, 실제로는 각 위치마다 명확한 의미가 담겨 있다. 예를 들어 아래와 같은 형태의 SID가 있다고 하자.
S-1-5-21-1004336348-1177238915-682003330-512
이 문자열을 하나씩 뜯어보면 다음과 같다. SID는 맨 앞의 S로 시작하며, 이 문자열이 보안 식별자임을 나타낸다. 그 뒤에는 SID 버전(대부분 1), SID를 발급한 상위 기관(Identifier Authority), 그리고 해당 컴퓨터 또는 도메인을 대표하는 식별자, 마지막으로 해당 계정의 고유 번호인 RID(Relative Identifier)가 순서대로 붙는다.
| S | SID 문자열임을 나타냄 |
| 1 | SID 버전 |
| 5 | 식별자 기관(Identifier Authority) |
| 21-1004…-8915…-3330 | 도메인 식별자(또는 로컬 PC의 Machine SID) |
| 512 | RID(Relative Identifier) |
도메인 식별자는 Active Directory 환경에서만 존재할 것 같은 이름이지만, 사실 로컬 PC에서도 비슷한 개념이 존재한다. 윈도우는 설치할 때 시스템 자체에 고유한 Machine SID를 생성하며, 로컬 계정의 SID는 이 Machine SID에 각 계정의 RID가 붙는 구조로 이루어진다. 즉, 같은 PC에 있는 여러 계정은 앞부분이 동일하고, 끝의 RID만 서로 다르게 나타난다.
그리고 이 RID가 바로 각 계정의 고유한 번호이며, ID의 삭제·재생성 여부와 관계없이 매번 새로운 값이 부여된다.
식별자 기관 (Identifier Authority)
SID 버전에 이어, 식별자 기관(Identifier Authority)이 이어진다. 식별자 기관이란, 각 SID가 속해있는 가장 최상위 보안 제공자를 의미한다. SID를 만든 주체라고 생각해도 되겠다. 우리는 윈도우를 사용하고 있기 때문에, 볼 수 있는 대부분의 식별자 기관은 5 (SECURITY_NT_AUTHORITY)일 것이다.
- S-1-0
- NULL Authority
- S-1-1
- WORLD Authority (모든 사용자)
- S-1-2
- LOCAL Authority
- S-1-3
- CREATOR Authority
- S-1-5
- NT Authority (가장 흔히 볼 수 있는 범주)
- S-1-15
- Application Package Authority (UWP/AppX 관련)
- S-1-16
- Mandatory Label Authority (무결성 수준)
- S-1-18
- Authentication Authority
NT Authority의 잘 알려진 SID들
윈도우 시스템 (NT)은, 자신의 아래에 필요한 여러 권한들을 구성한다. NT Authority 범주 아래에 여러 ‘well-known SID’가 존재하며, 윈도우 시스템에서 특정 역할이나 조건을 가진 사용자 그룹을 의미한다. 예를 들어 원격 데스크톱 사용자, 인증된 사용자, 시스템 계정 등이 모두 여기에 속한다.
- S-1-5-2
- Network Logon Users
- S-1-5-4
- Interactive Logon Users
- S-1-5-5-X-Y
- Logon Session SID (세션마다 값이 달라짐)
- S-1-5-6
- Service
- S-1-5-11
- Authenticated Users
- S-1-5-13
- Remote Desktop Users
- S-1-5-14
- Remote Interactive Logon
- S-1-5-18
- Local System (운영체제 자체)
- S-1-5-19
- Local Service
- S-1-5-20
- Network Service
- S-1-5-도메인-500
- Administrator 계정
- S-1-5-도메인-501
- Guest 계정
여기서 ‘도메인’이라고 되어 있는 부분은 Active Directory 환경에서는 실제 도메인을 의미하지만, 로컬 컴퓨터에서도 고유한 Machine SID가 이 위치를 대신한다. 그래서 로컬 관리자 계정의 SID도 위와 같은 형식을 가진다.
지금 내 계정의 SID 확인하기
현재 로그인한 계정의 SID를 확인하는 가장 간단한 방법은 다음 명령을 사용하는 것이다.
whoami /user

이 외에 함께 쓸 수 있는 옵션들은 다음과 같다.
/groups: 현재 계정이 속한 그룹 목록 표시/priv: 계정이 가진 권한 표시/all: 표시 가능한 모든 정보를 한 번에 출력
SID 관련 자주 묻는 질문(FAQ)
SID는 계정 이름(ID)과 어떻게 다른가요?
계정 이름은 사용자가 구분하기 위한 표시용 이름이며 언제든 변경할 수 있습니다. 반면 SID(Security Identifier)는 운영체제가 계정을 식별하기 위해 부여하는 고유 값으로, 이 값은 계정 이름이 바뀌어도 변경되지 않습니다. 윈도우가 실제로 인식하는 기준은 SID입니다.
SID는 어떻게 생성되나요?
윈도우는 설치 과정에서 시스템 고유의 Machine SID를 생성합니다. 계정을 추가할 때마다 운영체제는 이 Machine SID 뒤에 새로운 RID(Relative Identifier)를 붙여 각 계정의 고유 SID를 만듭니다. 때문에 같은 PC의 계정들은 SID 앞부분이 같고 RID만 다릅니다.
계정을 삭제한 뒤 같은 이름으로 다시 만들면 SID는 같아지나요?
아닙니다. 동일한 이름으로 다시 계정을 만들어도 SID는 완전히 달라집니다. 윈도우는 계정 이름이 아니라 SID 기준으로 사용자를 구분하기 때문에, 표면적으로 이름이 같아도 내부적으로는 완전히 새로운 사용자입니다.
Administrator 계정의 SID는 고정인가요?
예. 기본 Administrator 계정에는 RID 500이 사용됩니다. 즉 S-1-5-도메인-500 형태는 윈도우가 ‘기본 관리자 계정’으로 인식하는 표준 SID입니다.
내 SID는 어떻게 확인할 수 있나요?
CMD 또는 PowerShell에서 다음 명령을 실행하면 됩니다:whoami /user
그 외에 /groups, /priv, /all 옵션으로 그룹 SID나 권한도 확인할 수 있습니다.
SID가 바뀌면 어떤 문제가 생기나요?
SID가 다르면 윈도우는 ‘다른 사용자’로 인식합니다. 따라서 동일한 이름으로 다시 만든 계정은 기존 파일 권한, 서비스 권한, 스케줄러 권한 등을 그대로 갖지 않습니다. 기존 계정에 설정된 모든 ACL은 새 계정과 연결되지 않습니다.
SID를 임의로 수정하거나 원하는 값으로 바꿀 수 있나요?
일반적인 방법으로는 불가능합니다. SID는 계정을 식별하는 핵심 요소이기 때문에 변경을 전제로 설계되지 않았습니다. 임의 변경 시 시스템 불안정 및 보안 문제가 발생할 수 있습니다.
Machine SID는 무엇이며 사용자 SID와 어떤 관계가 있나요?
Machine SID는 윈도우가 설치될 때 생성되는 시스템 고유 식별자입니다. 로컬 사용자 계정 SID는 모두 이 Machine SID를 기반으로 만들어지며, 마지막에 RID만 다르게 붙습니다. 즉 Machine SID는 ‘PC 전체를 대표하는 SID’, 사용자 SID는 ‘개별 계정을 대표하는 SID’라고 이해할 수 있습니다.
도메인 환경의 SID는 로컬 SID와 어떻게 다른가요?
도메인 환경에서는 계정과 그룹 SID를 도메인 컨트롤러(DC)가 발급하며, SID의 도메인 부분이 로컬 Machine SID가 아니라 AD(Active Directory)의 도메인 SID가 됩니다. 도메인 계정은 어떤 PC에서 로그인하더라도 동일한 SID를 유지하며, 이를 통해 네트워크 전반에서 일관된 접근 제어가 가능합니다.