용어집 / 개발자 참고 자료
PKI
별칭은 공개 키 기반 구조입니다.
- PKI란 무엇입니까?
- PKI, 즉 공개 키 기반 구조는 인증 기관, 인증서, 신뢰 저장소로 이루어진 체계로, 소프트웨어가 공개 키에 붙은 이름이 실제로 그 키의 것인지 판단할 수 있게 해 줍니다.
PKI는 웹이 소개 문제를 해결하는 방식입니다. 사용자는 서버를 만난 적이 없으므로 그 서버를 보증하는 제3자를 신뢰합니다. 브라우저에는 수백 개의 이런 기관 목록이 함께 제공되며, 그중 어느 하나라도 어떤 이름이라도 보증할 수 있습니다. 비트코인은 그런 목록이 전혀 필요하지 않도록 설계되었습니다.
작동 방식
PKI에는 세 가지 구성 요소가 있으며, 그중 기기 안에 있는 것은 하나뿐입니다.
인증 기관은 서명 키를 보유하고 신청자에 대해 무언가를 확인한 뒤 인증서를 발급하는데, 일반 웹 인증서의 경우 이는 도메인 이름에 대한 통제를 확인하는 것뿐이며 그 이상은 아닙니다. 인증서는 이름을 공개 키에 묶고 그 둘에 대한 기관의 서명을 담습니다. 운영체제나 브라우저와 함께 제공되고 그와 함께 업데이트되는 신뢰 저장소는 사용자가 받아들이는 기관을 나열하며, 나머지 모든 것은 그 목록에서 비롯됩니다.
이 모델의 약점은 우발적이 아니라 구조적입니다. 신뢰에는 범위가 없습니다. 어느 나라에 있든 한 기관이 전 세계 어느 도메인에든 인증서를 발급할 수 있으므로, 모든 사이트의 보안은 저장소에서 가장 약한 기관의 보안과 같습니다. 이는 가정이 아닙니다. 2011년에 네덜란드 기관인 DigiNotar를 침해한 공격자들은 Google 도메인에 대한 사기 인증서를 발급해 이란의 인터넷 사용자들을 상대로 사용했고, 브라우저 제조사들이 DigiNotar의 루트를 제거했으며, 그해 9월까지 이 회사는 파산했습니다. Google은 30,000개가 넘는 인증서가 부적절하게 발급되었다고 밝힌 뒤 2017년에 Chrome이 Symantec 인증서 사업을 더는 신뢰하지 않을 것이라고 발표했습니다.
이어서 두 가지 완화책이 나왔습니다. 2013년 6월에 RFC 6962로 규정된 Certificate Transparency는 인증서를 공개 추가 전용 로그에 게시하도록 요구하며, 그래서 잘못된 발급을 막을 수 없을 때는 적어도 탐지할 수 있습니다. 인증서 수명도 크게 줄였는데, 수명이 짧은 자격 증명은 애초에 존재해서는 안 될 자격 증명이 끼치는 피해를 제한한다는 논리였습니다.
확인할 수 있는 곳
PKI는 사용자가 거래소 비밀번호를 입력하는 순간을 보호하며, 비트코인 구매자의 일상에서 이것이 주된 역할입니다.
한계가 드러나는 곳도 여기입니다. 자물쇠 표시는 연결이 암호화되었고 도메인이 인증서와 일치한다는 뜻입니다. 그것이 사업체가 정직하거나 라이선스를 취득했거나 지급 능력이 있다는 뜻은 아니며, 사기꾼이 등록한 유사 도메인이 몇 초 만에 유효한 인증서를 받는 것은 바로 그 도메인을 실제로 통제하기 때문입니다. 주소 표시줄의 이름 철자를 확인하고, 광고가 아니라 북마크를 통해 사이트에 접속하십시오.
하드웨어 지갑 제조사는 기기 증명을 위해 자체적인 소규모 인프라를 운영하며, 공개 저장소 대신 자사가 통제하는 단일 루트를 사용합니다. 이 방식은 제3자가 전혀 들어가지 않는다는 단순한 이유로 웹보다 훨씬 강력합니다.
비트코인의 설계 자체는 전혀 다른 길을 택했습니다. 주소는 해싱을 통해 키에서 도출되므로 인증할 이름도, 물어볼 상대도 없습니다. 목적지는 문자를 비교해 검증하며, 이는 사용성 면에서 더 나쁘고 수백 개의 신뢰 당사자를 그림에서 없앱니다.
PKI vs 공개 키
PKI는 공개 키를 사용하는 일을 가리키는 일반 용어가 아닙니다. 키 쌍을 생성하고, 그로부터 도출된 주소에서 비트코인을 받고, 나중에 그 키로 트랜잭션에 서명하는 일에는 기관도, 인증서도, 신뢰 저장소도 관여하지 않으며, 그것이 이 설계의 핵심입니다. PKI는 현실 세계의 이름을 키에 붙이기 위해 만들어진 특정한 관료 체계이고, 비트코인은 이를 의도적으로 생략합니다.