보안이 신뢰가 되는 순간 — 시스템의 침묵이 약속이 될 때
1 views
# 보안이 신뢰가 되는 순간 — 시스템의 침묵이 약속이 될 때
보안은 기능이 아니라 약속의 형식이다.
사용자가 비밀번호를 입력하고, 카드 번호를 맡기고, 위치 정보를 허락하는 모든 순간은 거래가 아니라 위탁(委託)이다. 거래는 등가교환으로 종결되지만, 위탁은 시간 위에 놓인 약속이다. 그 약속이 깨지는 순간 사용자는 돈이 아니라 자신의 일부를 잃는다. 보안이 곧 신뢰가 되는 지점이 여기다. 기술적 방어선이 무너지지 않았다는 사실보다, 무너지지 않을 것이라는 믿음이 매일 갱신된다는 사실이 더 본질적이다.
## 1. 사고가 일어나기 전, 신뢰는 이미 작동한다
2017년 미국 신용평가사 에퀴팩스(Equifax)는 약 1억 4,700만 명의 개인정보를 유출당했다. 원인은 이미 알려진 취약점(Apache Struts CVE-2017-5638)에 대한 패치를 두 달간 적용하지 않은 운영 실패였다. 기술적 결함은 단순했지만, 무너진 것은 시스템이 아니라 그 회사가 사람들의 사회보장번호를 보관할 자격이 있다는 전제 자체였다.
흥미로운 점은 사고 이후의 반응이다. 사용자들은 "어떻게 뚫렸는가"를 묻기보다 "왜 그동안 우리가 이 회사를 믿고 있었는가"를 물었다. 사고 이전의 신뢰는 무의식이었고, 사고 이후의 신뢰는 의식이 된다. 의식화된 신뢰는 좀처럼 회복되지 않는다.
여기서 첫 번째 명제가 도출된다. **보안은 사고를 막을 때가 아니라, 사고가 없는 동안 사용자가 그것을 의식하지 않게 해줄 때 신뢰가 된다.** 좋은 보안은 침묵한다. 침묵이 약속이 되는 구조, 그것이 보안 시스템의 미학이다.
## 2. 신뢰를 설계하는 네 개의 층위
보안을 신뢰의 관점에서 재구성하면, 단일한 기술이 아니라 네 개의 층위로 분해된다.
### 2.1 비밀의 층위 — 암호화
암호화는 비밀을 다루는 가장 오래된 방식이다. TLS 1.3, AES-256, Argon2 같은 알고리즘은 수학적 엄밀성 위에 서 있지만, 그 본질은 수학이 아니다. 암호화는 "이 정보는 당신과 나 사이에만 존재한다"는 약속을 코드로 번역한 것이다.
문제는 잘못된 구현에서 발생한다. 2014년의 Heartbleed(CVE-2014-0160)는 OpenSSL의 단 한 줄짜리 경계 검사 누락이 전 세계 인터넷 트래픽의 비밀을 위협한 사건이었다. 알고리즘은 옳았지만 구현이 틀렸다. 신뢰는 알고리즘의 우아함이 아니라, 그것이 매일 작동하는 환경의 견고함에 의해 결정된다.
암호화는 비밀을 지키는 기술이 아니라, **비밀을 지킬 수 있다는 가능성을 유지하는 기술**이다. 그 가능성이 흔들리는 순간 위탁은 의심으로 바뀐다.
### 2.2 정체의 층위 — 인증과 인가
비밀이 지켜져도 누구에게 열어줄지를 모르면 의미가 없다. 인증(authentication)은 "당신이 당신임을 증명하라"는 요구이고, 인가(authorization)는 "그 증명에 따라 허용 범위를 정한다"는 결정이다.

지난 십여 년간 이 층위는 가장 빠르게 진화했다. 단일 비밀번호에서 2단계 인증으로, 다시 FIDO2/WebAuthn 기반 패스키(passkey)로의 이행은 단순한 기술 교체가 아니다. "기억할 수 있는 비밀"에서 "소유하고 있는 장치"로, 다시 "신체에 귀속된 증명"으로 신뢰의 닻을 옮겨가는 과정이다.
패스키의 설계 철학은 의미심장하다. 비밀이 서버에 저장되지 않는다. 사용자의 장치에 머무는 개인 키와 서버에 등록된 공개 키만이 존재한다. 서버가 털려도 비밀은 새지 않는다. 이는 단순한 기술 개선이 아니라 "서비스 제공자도 사용자의 비밀을 알아서는 안 된다"는 새로운 윤리의 코드화다.
신뢰는 더 이상 "내가 잘 보관하겠다"는 약속이 아니다. "나는 애초에 그것을 가지지 않겠다"는 약속이다. 이 전환은 깊다.
### 2.3 흔적의 층위 — 로깅과 감사
세 번째 층위는 사후에 작동한다. 모든 접근, 모든 변경, 모든 권한 상승은 기록된다. 로그는 시스템의 기억이다.
조선 왕조가 사관(史官)에게 임금조차 함부로 열람할 수 없는 사초(史草)를 쓰게 한 이유는 명료하다. 권력은 기록되지 않으면 폭주한다. 시스템도 마찬가지다. 관리자 권한이 언제 어디서 누구에게 사용되었는지 추적할 수 없다면, 그 권한 자체가 위험이 된다.
좋은 로깅 시스템은 두 가지를 동시에 한다. 사고가 발생했을 때 원인을 재구성할 수 있게 하고, 사고가 발생하지 않도록 행위자 스스로를 검열하게 만든다. 후자가 더 중요하다. 감시의 가능성이 행동의 윤리를 만든다. 푸코의 판옵티콘이 디지털 인프라 안에서 다시 작동한다.
다만 여기에는 긴장이 있다. 모든 것을 기록하면 사용자의 프라이버시가 침해되고, 아무것도 기록하지 않으면 사고가 미궁이 된다. 무엇을, 얼마나, 누가 볼 수 있도록 기록할 것인가. 이 균형이 흔들리면 신뢰는 양쪽에서 동시에 무너진다.
### 2.4 회복의 층위 — 사고 대응
마지막 층위는 가장 자주 간과된다. 사고는 일어난다. 충분히 정교한 시스템도 충분히 정교한 공격 앞에서는 무너진다. 신뢰의 진짜 시험대는 사고 자체가 아니라 사고 이후의 24시간이다.
2022년 한 글로벌 인증 서비스의 침해 사건에서 가장 비판받은 것은 침해 자체가 아니라, 발견 후 공개까지 두 달이 걸렸다는 사실이었다. 사용자들은 회사가 침입을 당했다는 사실보다, 그 사실을 자신들에게 늦게 알렸다는 점에 더 분노했다. 정보의 비대칭이 위탁의 전제를 깨뜨렸기 때문이다.
신뢰는 무사고가 아니라 **투명한 사고 대응**으로 회복된다. 빠른 공지, 정확한 영향 범위 고지, 구체적인 보상과 후속 조치. 이 셋이 작동하면 일부 사용자는 오히려 사고 이전보다 더 깊은 신뢰를 보내기도 한다. 인간이 신뢰하는 것은 완벽함이 아니라 정직함이다. 시스템도 같다.
## 3. 보안의 비대칭성 — 99.99%로는 부족하다
신뢰 공학의 가장 잔혹한 진실은 그 비대칭성이다. 가용성(availability)은 99.99%면 우수하다고 평가된다. 그러나 보안에서 99.99%는 의미가 없다. 만 번의 시도 중 한 번만 뚫려도, 그 한 번이 전부다.
이 비대칭성은 보안 엔지니어링의 사유 방식 자체를 바꾼다. 일반 소프트웨어는 "대부분의 경우에 작동하는가"를 묻지만, 보안 소프트웨어는 "최악의 경우에도 무너지지 않는가"를 묻는다. 전자는 통계의 언어이고, 후자는 임계의 언어다.
> "안전한 시스템이란 존재하지 않는다. 다만, 공격 비용이 공격 이익을 초과하도록 설계된 시스템이 있을 뿐이다." — 브루스 슈나이어
이 명제는 보안이 절대적 방어가 아니라 경제학적 균형임을 드러낸다. 모든 자물쇠는 열린다. 다만 그것을 여는 데 드는 시간과 비용이 그 안의 가치를 초과하도록 설계되었을 뿐이다. 신뢰는 이 균형이 사용자에게 유리한 쪽으로 유지되고 있다는 묵시적 확신이다.

그래서 보안 설계는 본질적으로 비관주의의 미학이다. "이것이 무너지면 어떻게 될 것인가"를 끊임없이 묻는 사유. 낙관은 기능 설계에 맡기고, 비관은 보안 설계에 맡긴다. 두 사유가 한 시스템 안에서 공존할 때 사용자는 비로소 그것을 의식하지 않고 사용할 수 있다.
## 4. 신뢰의 코드화 — 제로 트러스트라는 역설
최근 십여 년간 보안 아키텍처의 주류는 "경계 방어(perimeter defense)"에서 "제로 트러스트(zero trust)"로 이동했다. 회사 내부 네트워크에 있다는 사실만으로 신뢰하지 않는다. 모든 요청은 매번 다시 인증되고 인가된다.
제로 트러스트라는 이름은 역설적이다. 신뢰를 0으로 두는 모델이 어떻게 신뢰를 만드는가. 그러나 그 역설의 안쪽에 통찰이 있다. **무조건적 신뢰가 사라질 때, 조건부 신뢰가 정확해진다.** 매 요청마다 정체가 검증되고 매 접근마다 권한이 재확인된다면, 그 시스템 안에서 일어나는 모든 행위는 추적 가능하고 책임 귀속이 가능하다.
이것은 인간 사회의 신뢰 구조와 정반대다. 우리는 가족과 오랜 친구를 "조건 없이" 신뢰함으로써 관계를 유지한다. 그러나 시스템에서의 무조건적 신뢰는 단일 실패점(single point of failure)이 된다. 한 명의 관리자, 한 개의 내부 네트워크, 한 줄의 신뢰된 코드가 전체를 무너뜨릴 수 있다.
장자(莊子)의 「응제왕」에는 혼돈(渾沌)에게 일곱 구멍을 뚫어주자 그가 죽었다는 우화가 있다. 신뢰도 그렇다. 형상화되지 않은 신뢰는 깊지만 취약하다. 시스템에서의 신뢰는 일곱 구멍을 가져야 한다. 인증, 인가, 암호화, 로깅, 모니터링, 격리, 대응. 각각이 명확히 정의되고 검증 가능해야 한다. 모호한 신뢰는 보안의 적이다.
## 5. 침묵의 약속
보안이 신뢰가 되는 순간은 사용자가 그것을 의식하지 않는 모든 순간이다. 로그인이 매끄럽게 끝났을 때, 결제 화면에서 카드 번호를 입력하면서 머뭇거리지 않았을 때, 메시지가 상대에게만 도착할 것이라고 의심 없이 보냈을 때. 그 모든 무의식의 순간들은 누군가가 깨어 있었기에 가능했다.
좋은 보안은 사용자에게 자신의 존재를 드러내지 않는다. 그것은 무대 뒤의 일이다. 무대 위에서 박수받는 기능과 달리, 보안은 박수를 받지 않을 때 가장 잘 작동하고 있다. 신뢰란 결국 누군가의 침묵하는 노동 위에 세워진 약속이다.
나는 시스템을 설계하면서 가끔 사관(史官)의 붓을 떠올린다. 임금이 보지 못하는 곳에서 시대를 기록하던 그 손. 사용자가 의식하지 못하는 곳에서 그들의 비밀을 지키는 코드도 같은 자리에 있다. 박수받지 않는 자리, 그러나 무너지면 모든 것이 무너지는 자리.
> 노자 『도덕경』 17장: "태상부지유지(太上不知有之)." 최상의 다스림은 백성이 그 존재를 알지 못하는 것이다.
최상의 보안 또한 그렇다. 사용자가 그 존재를 알지 못할 때, 시스템은 비로소 신뢰가 된다. 침묵이 약속이 되는 자리에서 코드는 윤리가 된다.