부인 방지
더 많은 작업
- Non-repudiation
메시지의 송수신이나 교환 후, 또는 통신이나 처리가 실행된 후에 그 사실을 사후에 증명함으로써 사실 부인을 방지하는 보안 기술
부인 방지는 어떤 주체가 "나는 그 메시지를 보낸 적이 없다", "그런 요청은 받은 적이 없다"고 나중에 잡아떼지 못하도록 제3자가 검증할 수 있는 증거를 남기는 성질이다. NIST는 부인 방지를 "데이터의 무결성과 출처를, 개인키를 가진 특정 주체(서명자)에게서 나왔음을 제3자가 검증·확인할 수 있는 방식으로 보장하는 서비스"로 정의한다. 다른 정의에서는 송신자에게는 전달 증명을, 수신자에게는 송신자 신원 증명을 주어 어느 쪽도 나중에 처리 사실을 부인하지 못하게 하는 보증으로 설명한다.
핵심은 제3자이다. 당사자 둘만 확인할 수 있는 증거는 분쟁이 생기면 쓸모가 없다. 판사나 중재자처럼 거래에 끼지 않은 사람이 보고도 "이 행위는 그 사람이 했다"고 판단할 수 있어야 한다. 그래서 부인 방지는 기술만으로 끝나지 않고 키 관리, 신원 확인 절차, 기록 보존, 법적 효력까지 묶어서 설계한다. 미국 연방 정의(FIPS 199)는 부인 방지를 무결성의 일부로 포함하고, CISSP 출제 범위 1.2는 기밀성·무결성·가용성·진정성과 함께 "정보보안의 다섯 기둥"으로 따로 다룬다.
| 구분 | 막는 주장 | 증거 | 구현 예 |
|---|---|---|---|
| 송신 부인 방지(출처 부인 방지, non-repudiation of origin) | "내가 보낸 게 아니다", "내용이 달랐다" | 송신자 개인키로 만든 전자서명, 서명 시각 | 전자서명된 계약서·전자세금계산서, S/MIME 서명 메일, 코드 서명 |
| 수신 부인 방지(전달 부인 방지, non-repudiation of delivery/receipt) | "받은 적이 없다", "늦게 받았다" | 수신자가 서명한 수신 확인, 신뢰할 수 있는 제3자의 전달 기록 | 서명된 수신 확인(signed receipt), 전자문서 중계 서비스의 수신 기록, 배달 증명 |
| (참고) 제출·전송 부인 방지 | "전송 시스템에 넘긴 적이 없다" | 중계자(전달 기관)의 접수 증명 | 전자문서 중계자의 접수 기록 |
| 수단 | 역할 | 주의점 |
|---|---|---|
| 전자서명 | 개인키로 서명하고 공개키로 검증한다. 개인키는 서명자만 갖고 있으므로 제3자가 서명자를 특정할 수 있다. 무결성과 출처 인증도 함께 준다. | 개인키가 유출되거나 여럿이 공유하면 부인 방지가 무너진다. 개인키를 HSM, 스마트카드, TPM처럼 꺼낼 수 없는 장치에 두는 이유이다. |
| 공개키 기반 구조(PKI) | 인증기관이 발급한 인증서(X.509)로 공개키와 신원을 묶는다. 서명 시점에 인증서가 유효했는지 CRL이나 OCSP로 확인한다. | 신원 확인 절차가 허술하면 "인증서 주인 = 실제 행위자"가 성립하지 않는다. |
| 타임스탬프(시점 확인) | 신뢰할 수 있는 시점 확인 기관(TSA)이 데이터의 해시와 시각에 서명해 "이 시점에 이 데이터가 존재했다"를 증명한다. 인터넷 표준은 RFC 3161이다. | 인증서가 나중에 만료·폐지되어도 그 전에 한 서명이 유효했음을 보여 준다. 장기 보존 문서에 필수이다. |
| 감사 로그 | 누가 언제 무엇을 했는지 기록해 사후 책임 추적을 가능하게 한다. | 공유 계정은 개인을 특정하지 못하므로 부인 방지를 깨뜨린다. 로그는 변조 방지 저장(WORM, 해시 체인), 시각 동기화, 접근 제한이 필요하다. |
| 강한 인증 | 행위자가 정말 그 계정의 주인인지 확인한다. 다중 인증이 대표적이다. | 인증이 약하면 로그에 남은 사용자 ID를 증거로 쓰기 어렵다. |
| 신뢰할 수 있는 제3자(TTP) | 공증, 전자문서 중계, 에스크로처럼 중립 기관이 거래 사실을 기록·보증한다. | 제3자 자체의 신뢰성과 보안이 전제이다. |
메시지 인증 코드(MAC, HMAC)는 송신자와 수신자가 같은 비밀 키를 나눠 갖는다. 수신자는 MAC이 맞으면 "키를 가진 누군가가 만들었고 중간에 바뀌지 않았다"는 것을 알 수 있다. 그런데 키를 가진 사람은 송신자와 수신자 둘이므로, 송신자가 "그 MAC은 수신자가 직접 만든 것"이라고 주장하면 제3자는 반박할 근거가 없다. 수신자도 같은 키로 똑같은 MAC을 계산할 수 있기 때문이다.
전자서명은 서명 키(개인키)를 서명자 혼자 갖고 검증 키(공개키)는 누구나 가진다. 검증자는 서명을 확인할 수는 있어도 만들 수는 없으므로, 유효한 서명이 있다는 사실 자체가 서명자를 가리킨다. 이 비대칭성 때문에 부인 방지는 공개키 암호로 구현한다.
| 구분 | 해시 | MAC | 전자서명 |
|---|---|---|---|
| 무결성 | 우발적 변경 탐지(해시값을 따로 보호해야 함) | 제공 | 제공 |
| 출처 인증 | 없음 | 키 공유자 사이에서만 | 제공 |
| 부인 방지 | 없음 | 없음 | 제공 |
| 키 | 없음 | 대칭키(공유) | 개인키·공개키 쌍 |
부인 방지는 결국 분쟁에서 증거로 인정받아야 의미가 있다. 한국 전자서명법 제2조는 전자서명을 "서명자의 신원"과 "서명자가 해당 전자문서에 서명하였다는 사실"을 나타내는 데 이용하기 위해 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보로 정의한다. 정의 자체에 부인 방지의 두 요소(누가, 서명했다는 사실)가 들어 있는 셈이다.
전자서명법 제3조는 전자서명이 전자적 형태라는 이유만으로 서명, 서명날인, 기명날인으로서의 효력을 부인당하지 않는다고 정하고, 법령이나 당사자 간 약정에 따라 서명 방식으로 전자서명을 선택한 경우에는 그 전자서명이 서명·서명날인·기명날인으로서 효력을 가진다고 정한다. 따라서 실무에서는 계약이나 약관에 어떤 전자서명 수단을 서명으로 인정하는지 명시해 두는 것이 부인 방지 설계의 일부가 된다.
- 부인 방지를 요구하는 문제에서 정답은 전자서명(비대칭 암호)이다. 대칭키 암호와 MAC은 부인 방지를 제공하지 못한다.
- 전자서명은 무결성, 출처 인증, 부인 방지를 주지만 기밀성은 주지 않는다. 기밀성이 필요하면 따로 암호화한다.
- 공유 계정, 공유 개인키는 부인 방지와 책임 추적성을 무너뜨린다. 개인별 계정과 개인키 보호가 먼저이다.
- 장기간 서명의 효력을 유지하려면 신뢰할 수 있는 타임스탬프를 붙인다. 인증서 만료·폐지 이후 분쟁에 대비한다.
- 감사 로그가 부인 방지 증거가 되려면 로그 무결성(변조 방지)과 정확한 시각이 보장되어야 한다.
- Glossary: non-repudiation – NIST CSRC
- RFC 3161: Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP) – IETF
- 전자서명법 제3조(전자서명의 효력) – 국가법령정보센터
- CISSP Certification Exam Outline – ISC2