본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
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으로는 부인 방지가 안 되는 이유

편집 원본 편집

메시지 인증 코드(MAC, HMAC)는 송신자와 수신자가 같은 비밀 키를 나눠 갖는다. 수신자는 MAC이 맞으면 "키를 가진 누군가가 만들었고 중간에 바뀌지 않았다"는 것을 알 수 있다. 그런데 키를 가진 사람은 송신자와 수신자 둘이므로, 송신자가 "그 MAC은 수신자가 직접 만든 것"이라고 주장하면 제3자는 반박할 근거가 없다. 수신자도 같은 키로 똑같은 MAC을 계산할 수 있기 때문이다.

전자서명은 서명 키(개인키)를 서명자 혼자 갖고 검증 키(공개키)는 누구나 가진다. 검증자는 서명을 확인할 수는 있어도 만들 수는 없으므로, 유효한 서명이 있다는 사실 자체가 서명자를 가리킨다. 이 비대칭성 때문에 부인 방지는 공개키 암호로 구현한다.

구분 해시 MAC 전자서명
무결성 우발적 변경 탐지(해시값을 따로 보호해야 함) 제공 제공
출처 인증 없음 키 공유자 사이에서만 제공
부인 방지 없음 없음 제공
키 없음 대칭키(공유) 개인키·공개키 쌍

부인 방지는 결국 분쟁에서 증거로 인정받아야 의미가 있다. 한국 전자서명법 제2조는 전자서명을 "서명자의 신원"과 "서명자가 해당 전자문서에 서명하였다는 사실"을 나타내는 데 이용하기 위해 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보로 정의한다. 정의 자체에 부인 방지의 두 요소(누가, 서명했다는 사실)가 들어 있는 셈이다.

전자서명법 제3조는 전자서명이 전자적 형태라는 이유만으로 서명, 서명날인, 기명날인으로서의 효력을 부인당하지 않는다고 정하고, 법령이나 당사자 간 약정에 따라 서명 방식으로 전자서명을 선택한 경우에는 그 전자서명이 서명·서명날인·기명날인으로서 효력을 가진다고 정한다. 따라서 실무에서는 계약이나 약관에 어떤 전자서명 수단을 서명으로 인정하는지 명시해 두는 것이 부인 방지 설계의 일부가 된다.

  • 부인 방지를 요구하는 문제에서 정답은 전자서명(비대칭 암호)이다. 대칭키 암호와 MAC은 부인 방지를 제공하지 못한다.
  • 전자서명은 무결성, 출처 인증, 부인 방지를 주지만 기밀성은 주지 않는다. 기밀성이 필요하면 따로 암호화한다.
  • 공유 계정, 공유 개인키는 부인 방지와 책임 추적성을 무너뜨린다. 개인별 계정과 개인키 보호가 먼저이다.
  • 장기간 서명의 효력을 유지하려면 신뢰할 수 있는 타임스탬프를 붙인다. 인증서 만료·폐지 이후 분쟁에 대비한다.
  • 감사 로그가 부인 방지 증거가 되려면 로그 무결성(변조 방지)과 정확한 시각이 보장되어야 한다.