---
title: 제로 트러스트
created: 2023-08-14
modified: 2024-03-02
---
```틀
제목: 제로 트러스트
부제: Zero Trust
== 한 줄
전제: 안에서 온 요청도 밖에서 온 것처럼 다룬다
단위: 요청 하나
질문: 누구냐 · 뭘 하려느냐 · 지금도 허락됐냐
== 반대말
성 모형: 담 안은 믿는다
```
어디서 왔느냐로 믿지 않는다. 요청마다 다시 묻는다. 그게 전부다.
## 내 문장
- 옛 보안은 성이다. 담을 쌓고, 문에서 한 번 검사하고, 안에 들어온 사람은 믿는다. 뚫리는 지점은 늘 같다 — 담 안에 들어온 하나가 안의 전부를 가진다.
- 제로 트러스트는 담을 없애는 게 아니라 안을 없애는 것이다. 안이라는 구역이 없으니 "안에서 온 요청"이라는 게 없다. 모든 요청이 바깥에서 온 것과 같은 검사를 받는다.
- 검사의 단위가 바뀐다. 사람이나 기기가 아니라 요청이다. 같은 사람이 1분 전에 통과했어도 지금 요청은 다시 본다. 권한은 가진 게 아니라 그때그때 받는 것이다.
- 세 질문으로 적힌다. 누구냐(인증), 뭘 하려느냐(권한), 지금도 그게 허락되느냐(상태). 하나라도 못 답하면 거절. 셋은 서버에서 답한다. 클라이언트가 "나 관리자야"라고 말하는 건 답이 아니라 주장이다.
- 이 사이트가 그렇게 돼 있다. 글 페이지는 파일이라 검사할 게 없고, 서버에서 도는 건 함수 다섯이며, 다섯 다 요청마다 서명·횟수·출처를 다시 본다. 로그인 쿠키가 있어도 서명키가 없으면 쿠키는 종이다. 클라이언트에서 뭘 숨기거나 막는 건 보안으로 치지 않는다 — 그건 공격자가 고칠 수 있는 코드다.
## 왜 생겼나
담이 의미를 잃어서다. 직원이 집에서 일하고, 서버가 남의 데이터센터에 있고, 노트북이 카페에 있다. 안과 밖의 경계가 지도에서 사라졌는데 보안은 아직 지도를 보고 있었다. 2010년대에 구글이 사내망 자체를 없애고(BeyondCorp) 모든 접근을 공개 인터넷에서 오는 것처럼 다루기 시작했고, 그게 이름을 얻었다.
## 식으로
성 모형에서 공격자가 얻는 건 뚫은 지점의 권한이 아니라 담 안 전체다.
$$
\text{피해}_{\text{성}} = \text{안의 전부}, \qquad \text{피해}_{\text{제로}} = \text{그 요청 하나}
$$
담이 한 번 뚫릴 확률을 $p$라 하면 성은 $p$에 전부를 건다. 제로 트러스트는 요청 $n$개 각각이 따로 뚫려야 해서, 같은 $p$로 전부를 얻으려면 $p^n$이다. 공격의 값이 곱으로 떨어진다.
## 반례
검사를 요청마다 하면 비용이 요청마다 든다. 큰 조직에서 제로 트러스트가 "다 하자"로 끝나고 안 되는 이유가 이거다 — 서비스 수백 개에 검사를 심는 일 자체가 몇 년이다. 작을 때 시작하면 공짜고, 클 때 시작하면 사업이다.
그리고 검사하는 쪽이 뚫리면 다 뚫린다. 인증 서버 하나가 모든 요청의 답을 쥐고 있으니 그게 새 담이다. 안을 없앴더니 중심이 생겼다. 중심을 어떻게 지키느냐는 제로 트러스트가 답하지 않는다.
## 이어진 개념
↑ [[개념/구조가 선택을 강제|구조가 선택을 강제]] — 담이 있으면 담 안을 믿게 된다. 사람 문제가 아니라 구조 문제
→ [[개념/메커니즘 디자인|메커니즘 디자인]] — 속이는 게 손해가 되게 규칙을 짜는 쪽. 제로 트러스트는 속이는 걸 막는 쪽
→ [[개념/밖을 본다|밖을 본다]] — 요청이 어디서 왔다는 말을 안 믿고 요청 자체를 본다