
Comparison of Public Key–Owner Binding Models (Trust Model)
공개키 암호에서 가장 중요한 문제는
어떤 공개키(public key)가 어떤 주체(identity, owner)에 대응되는지를 어떻게 확인하느냐임
이를 "공개키에 대한 trust" 라고 애기하기도 함.
이 공개키-소유자 바인딩(public key–owner binding)이 명확하지 않으면, 올바른 암호 알고리즘을 사용하더라도 잘못된 상대와 안전(?)하게 통신하는 오류가 발생할 수 있음.
- 중앙화된 방식인 CA/Certificate 모델이 현재의 주류이지만, 중앙 집중 구조의 한계와 위험으로 인해 다양한 탈중앙화 방식들이 지속적으로 제안되고 있음.
- 이 문제는 공개키 암호 기법 자체만으로는 단일한 해법이 제시되지 않았으며, 신뢰 모델과 운영 환경에 따라 서로 다른 해결 방식이 선택되는 영역에 해당한다.
중앙집중구조의 한계
중앙집중 구조에서는 소수의 신뢰 주체에 보안과 정책 결정이 집중됨.
때문에 해당 하는 소수의 주체가 침해되거나 오판할 경우
그 영향이 대규모로 전파되는 단일 실패 지점(single point of failure)이 된다는 한계를 가짐.
또한 신뢰 기준과 운영 정책이 중앙에서 결정되기 때문에,
사용자나 응용 환경의 다양성을 충분히 반영하기 어렵다는 한계를 가짐.
이 문서는 public key–owner binding 에 대한 대표적인 해법 세 가지를 소개한다.
- Web of Trust (WoT) :개인이 개인을 직접 확인하고, 그 결과를 키 서명(key signature)으로 기록하여 공개키와 소유자의 대응 관계를 형성하는 방식.
- keys.openpgp.org 기반 이메일–키 바인딩: 이메일 수신 가능 여부를 검증한 뒤, 해당 이메일과 공개키의 대응 관계를 키서버가 관리·유통하는 방식.
- Certificate Authority (CA) 기반 Certificate(인증서) 모델 : 신원 정보와 공개키를 포함한 인증서(certificate)를 기관이 검증·서명하고, 클라이언트가 이를 신뢰 체인(chain of trust)을 통해 검증하는 방식.
신뢰 모델(trust model)이란
“누구를, 어떤 근거로, 어디까지 믿을 것인가를 미리 정해 둔 규칙”을 의미.
Web of Trust (WoT)
: 내가 직접 확인했거나 내가 신뢰하는 사람이 서명한 공개키만을 신뢰한다는 신뢰 모델.
keys.openpgp.org 기반 이메일–키 바인딩
: 특정 이메일을 실제로 제어하는 주체만 해당 이메일과 공개키를 연결할 수 있다고 가정하는 신뢰 모델.
CA(Certificate Authority) 기반 인증서 모델
: 운영체제나 브라우저에 사전 등록된 CA를 신뢰하며, 해당 CA가 서명한 인증서의 바인딩을 자동으로 신뢰하는 신뢰 모델.
기본 개념 정리
- key pair:
private key와 public key의 쌍. - signature:
private key로 데이터를 서명함으로써, 해당 private key가 실제로 사용되었음을 암호학적으로 증명하는 수단. - binding:
특정 identity와 public key가 서로 대응된다고 받아들이기 위한 신뢰 관계. - authentication:
제시된 identity가 해당 public key에 대응되는 private key의 제어와 연결된다는 사실을 검증하여, 신원을 확정하는 과정.
1. Web of Trust (WoT)
1-1. 핵심 개념
- 중앙 기관 없이,
- 개인이 개인을 직접 확인하고,
- 그 확인 결과를 key signature로 기록하는 방식.
1-2. 동작 방식
- 각 사용자는 자신의 key pair를 관리함.
- private key를 통해 public key의 소유자임을 증명 가능.
- 다른 사용자의 identity를 직접 확인한 뒤:
- 자신의 private key로
- 상대의 public key + User ID에 대해 서명 수행.
- 이 서명은 다음을 의미함.
- “이 public key는 이 identity의 소유자가 관리하고 있음을 확인했다.”
1-3. WoT에서 signature와 authentication의 관계
- signature 는 private key 제어 사실을 암호학적으로 증명함.
- 그러나 authentication은 그 private key가 어떤 identity에 대응되는지, 그리고 그 identity–key 바인딩을 신뢰할 것인지를 판단하는 과정임.
- WoT에서는 이 authentication 판단이 중앙 기관에 의해 자동으로 이루어지지 않으며, 사용자가 기존에 신뢰하던 이들의 키 서명을 기반으로 하거나, 오프라인에서 직접 확인 (만나서 finger print 확인 등)하는 방식으로 사용자에게 위임되어 있다.
1-4. 특징 요약
- 바인딩 확인 주체: 개인.
- public key는 키서버에 공개 가능.
- 신뢰 판단은 사용자 설정에 의존.
- 자동화 및 확장성은 낮음.
1-5. 예제 : WoT에서 Signature vs. Authentication
1-5-1. 상황
- 나는 키서버에서 "현무"의 공개키를 받아 둔 상태임.
- "현무"가 나에게 메시지를 보냄.
- 메시지는 "현무" 의 private key로 서명되어 있음.
1-5-2. 1단계: Signature + Verification
- "현무" 의 public key로 메시지의 서명을 검증함.
- 결과:
- 서명은 수학적으로 올바름
- 확정되는 사실:
- “이 메시지는 이 public key에 대응되는 private key로 생성되었다.”
여기까지는 signature / verification
아직 신원(identity)에 대한 판단은 없음.
1-5-3. 2단계: Authentication 판단 (WoT)
이제 판단해야 할 질문은 다음임.
“이 public key가 내가 알고 있는 "현무"의 것이라고 받아들일 수 있는가?”
경우 A. 내가 신뢰하는 사람이 이 키에 서명해 둔 경우
- 내가 신뢰하는 사람이
- 자신의 private key로
- "현무"의 public key에 서명해 둠.
- 판단: “신뢰하는 사람이 확인했으므로 이 키를 "현무" 의 것으로 받아들인다.”
- Authentication 성공
경우 B. 내가 직접 Carol을 오프라인에서 만난 경우
- 내가 "현무" 을 직접 만나서
- "현무" 가 제시한 공개키 fingerprint를 확인함.
- 내가 보유한 공개키의 fingerprint와 일치함을 대조함.
- 판단: “이 fingerprint는 내가 직접 확인한 "현무" 의 공개키와 동일하다.”
- Authentication 성공
경우 C. 위 두 조건이 모두 없는 경우
- 서명은 올바르지만, 이 공개키가 "현무" 의 것이라는 근거가 없음.
- 판단: “이 공개키가 "현무" 의 것이라고는 판단할 수 없다.”
- Authentication 보류 또는 실패
signature는 ‘어떤 키가 사용되었는지’ 만을 증명
authentication은 그 키를 ‘누구의 것이라고 받아들일지’에 해당.
WoT에선 신뢰 관계 또는 직접 확인을 통해 사용자가 판단하는 과정임.
2. keys.openpgp.org 방식
2-1. 등장배경
2019년 이전에는 WoT 에 기반한 키서버(SKS 등)는 OpenPGP 생태계에서 키 유통의 핵심 인프라였음.
하지만, 이같은 방식은 이메일 개인정보 노출, key poisoning 공격, 삭제 불가능한 구조적 한계로 인해 지속적인 운영이 불가능한 상태에 이르렀고 2019년을 전후로 사실상 퇴출됨.
이를 대체하기 위해 keys.openpgp.org와 같은 관리형 키 유통 모델이 등장
https://ds31x.github.io/wiki/gpg/gpg_keyserver/
Key Server - keys.openpgp.org
ds31x.github.io
2-2. 핵심 개념
- 이메일과 public key의 대응 관계(binding)를
- 중앙 키서버가 관리·유통하는 방식.
- WoT와 달리:
- 개인 간 key signature에 의존하지 않음.
2-3. 동작 방식
- 사용자가 자신의 public key를 키서버에 업로드함.
- public key 데이터는 서버에 저장됨.
- 하지만:
- 이메일(User ID)이 검증되지 않으면
- 해당 public key는 공개되거나 검색되지 않음.
- 키서버는 이메일로 검증 메일을 발송함.
- 이메일 수신을 통해:
- 해당 사용자가 이메일 주소를 실제로 제어하고 있음을 확인.
- 검증 완료 후에만:
- 이메일과 public key의 대응 관계가 공개됨.
2-4. signature와 authentication의 관계
- private key로 바인딩을 서명하지 않음.
- authentication은 다음 사실에 기반함.
- “이 public key를 업로드한 주체가 해당 이메일을 실제로 수신 가능하다.”
- 신뢰의 근원은:
- 이메일 시스템과
- 키서버 운영 정책.
2-5. 특징 요약
- 바인딩 확인 주체: 키서버 운영자 + 이메일 검증 절차.
- public key는 저장되나:
- 검증 전에는 공개/검색되지 않음.
- 개인정보 노출 최소화.
- WoT의 전이 신뢰는 사용하지 않음.
email과 public key의 대응 관계는 확인되나,
identity와 email의 대응 관계가 선행되지 않으면
실질적인 신원 확인으로는 충분하지 않음.
Email–public key 바인딩 모델에서
- 키서버에서 얻은 공개키를 얻고
- signature는 ‘해당 공개키에 대응하는 비밀키가 사용되었는지’를 증명함.
- 이는 email 주소의 제어권을 가진 이가 공개키의 주인인 것까지를 key server를 통해서 신뢰할 수 있음.
- 하지만, emil 주소를 가진 이가 실제 정당한 소유자인지는 여전히 개인이 확인해야 하는 부분임.
4. CA 기반 인증서 (X.509)
4-1. 역사적 배경
CA 기반 인증서(X.509)는 1988년 ITU-T에서 표준화되어, 개인 간 직접 신원 확인이나 WoT 방식이 인터넷 규모로 확장되기 어려운 한계를 해결하기 위한 구조로 등장하였다. 이후 1990년대 중반 SSL/TLS와 웹 브라우저의 보급을 통해, 대규모·자동화된 환경에서 공개키–신원 바인딩을 일관되게 검증하는 사실상의 표준 신뢰 모델로 자리 잡았다.
4-2. 핵심 개념
- CA 자신이 사용하는 certificate와
- CA가 발급하여 서명하는 certificate를 명확히 구분해야 함.
4-2-1. CA 자신의 certificate (신뢰 기준점)
- CA는 자신의 key pair를 보유함.
- CA는 자신의 public key와 identity를 포함한 CA certificate를 가짐.
- 이 certificate는:
- 운영체제나 브라우저에 사전 저장되어 있음.
- 신뢰의 기준점(trust anchor)으로 사용됨.
- 이 certificate의 public key는:
- 이후 다른 certificate를 검증하는 데 사용됨.
4-2-2. 특정 주체의 certificate (CA가 발급)
- 특정 주체는 자신의 key pair를 생성함.
- 해당 주체는:
- 자신의 public key
- 자신의 identity 정보
를 CA에 제출함.
- CA는 신원을 검증한 뒤:
- 해당 주체의 identity와 public key를 포함한 certificate를 생성함.
- 이 certificate에 CA의 private key로 서명함.
- 이 certificate는:
- “이 identity와 이 public key의 대응 관계를
CA가 확인했다”는 의미를 가짐. - 이 후 주체는 자신의 공개키를 CA가 서명해준 certificate로 대신함.
- “이 identity와 이 public key의 대응 관계를
4-2-3. 클라이언트 측 검증 흐름
- 클라이언트는:
- 이미 보관하고 있는 CA certificate를 기준으로 삼음.
- 클라이언트는:
- CA certificate에 포함된 CA public key로
- 특정 주체의 certificate 서명을 검증함.
- 검증이 성공하면:
- 해당 주체의 identity-public key 대응 관계를 신뢰함.
4-3. signature와 authentication의 관계
- signature
- CA가 특정 주체의 certificate 내용을 확인했음을 나타냄.
- authentication
- 클라이언트는 CA certificate를 신뢰하므로,
- 그 CA가 서명한 certificate도 신뢰함.
4-4. 특징 요약
- 바인딩 확인 주체: 기관(CA).
- 신뢰 기준은 CA certificate.
- 중앙 집중 구조.
- 자동화와 확장성이 매우 높음.
4-5. 사용되는 곳
- HTTPS/TLS (웹 브라우저).
- 기업 인증 인프라.
- 코드 서명, 문서 서명, S/MIME.
5. 세 방식의 비교 요약
- WoT (Web of Trust)
- 신뢰할 수 있는 개인의 private key 서명이나 오프라인 fingerprint 확인을 통해,
- public key와 identity의 대응 관계를 사용자 스스로 판단한다.
- keys.openpgp.org
- 키서버가 email과 public key의 대응 관계를 검증하며, 키서버에 공개된 public key의 사용은 해당 email–key 바인딩을 신뢰함을 의미한다.
- 단, 해당 email이 실제 identity와 대응하는지는 최종적으로 사용자가 별도로 판단해야 한다.
- CA / Certificate
- 클라이언트는 CA certificate를 신뢰 기준으로 삼고,
- CA의 private key로 서명되어 발급된 certificate를 검증함으로써 public key와 identity의 대응 관계를 자동으로 신뢰한다.
같이보면 좋은 자료들
https://ds31x.github.io/wiki/gpg/gpg_term/
GPG 관련 용어
ds31x.github.io
[ssh-keygen] ssh 정의 및 private key와 public key 생성하기.
ssh (secure shell)ssh는 secure shell의 약자로 네트워크 상에서 암호화된 통신을 위한 프로토콜 (및 이를 구현한 프로그램)을 가르킴. 주로 원격지의 장비에 보안이 보장된 접속을 제공하며 이를 위해
ds31x.tistory.com
https://www.boannews.com/media/view.asp?idx=126609#
[테크칼럼] 개인정보와 데이터 보호 위해 PGP를 안전하게 사용하는 방법
여러분은 친구에게 비밀 글이나 비밀 파일을 보내려 할 때 어떤 방식을 사용하는지 생각해 볼 필요가 있다, 아마도 파일을 압축하고 비밀번호를 설정한 후 해당 비밀번호를 메신저나 이메일을
www.boannews.com
2026.01.29 - [CE] - Cryptography: From Symmetric-Key Encryption to TLS
Cryptography: From Symmetric-Key Encryption to TLS
1. Symmetric Key Cryptography (대칭키 암호)1.1 개념대칭키 암호는 암호화와 복호화에 동일한 키를 사용하는 암호 방식..송신자와 수신자가 같은 비밀 키(secret key)를 공유매우 빠른 속도로 대량의 데이
ds31x.tistory.com
'CE' 카테고리의 다른 글
| Cryptography: From Symmetric-Key Encryption to TLS (0) | 2026.01.29 |
|---|---|
| SSH 의 Flowchart (1) | 2026.01.18 |
| SSH 키 알고리즘 비교 정리 (0) | 2026.01.18 |
| FIPS - Federal Information Processing Standard (1) | 2026.01.18 |
| C Runtime (CRT) 이란 - CRT, POSIX, System call, ABI (0) | 2026.01.16 |