Tech Point - 전자 서명(digital signatures)
상태바
Tech Point - 전자 서명(digital signatures)
  • 승인 2005.12.02 00:00
  • 댓글 0
이 기사를 공유합니다

이메일 보안으로 가는 열쇠, 전자서명
써드파티 증명서 기반 … 송신자 신원·콘텐츠 신빙성 증명

오늘날 이메일 보안의 문제는 스팸과 멀웨어(malware)만이 아니다. 아마도 상업적인 용도나 규정준수를 위해 이메일 메시지의 신빙성과 그 송신자의 신원을 확인할 필요도 있을 것이며, 많은 회사들이 전자 서명(digital signature)을 이용해 이메일을 보안하고 있는 이유도 이 때문이다. 써드파티의 증명서를 기반으로 하는 전자 서명은 송신자의 신원과 콘텐츠의 신빙성을 확인해줌으로써 이메일을 보안한다. 다음은 이 시스템을 셋업하는 방법이다.

전자 증명서(electronic certificates)를 기반으로 하는 전자 서명은 신원 정보를 제공하는 것과 같은 수학적인 프로세스를 통해 콘텐츠의 신빙성을 확인할 뿐만 아니라 써드파티 증명서 대행기관을 통해 송신자의 신원까지 확인한다. 전자적으로 서명된 이메일은 연방 정부에서 2000년 제정한 E-사인 법안(E-Sign Act)에 속하는 문서 비거부(nonrepudiation) 혹은 인증과는 다른 것이다. E-사인 법안은 온라인 트랜잭션에서 전자서명의 법적 체계를 규정한 것으로, 일상의 이메일 메시지에는 적용되지 않는다.
우리가 여기서 이야기하고자 하는 것은 컴퓨터와 조직을 인증하고, 발신 이메일 메시지의 내용을 보안하고자 만들어진 자동 메커니즘이다.

인프라 구축하기
대부분의 조직들은 전자 서명용의 PKI(Public Key Infrastructure)와 이 서명을 수용하는 증명서를 사용하는데, PKI 이행에는 다음과 같은 것들이 포함돼 있다.

>> 스토리지, 배치 및 증명서 서명을 관리하는 써드파티인 CA (Certificate Authority)
>> 증명서가 발급되는 개별적인 그룹이나 사용자를 확인하기 위해 CA에서 위임하는 하나 이상의 RA(Registration Authorities)
>> 증명서 발급, 확인, 갱신, 혹은 말소를 관리하는 소프트웨어 툴
>> 공중키, 증명서, 사용자 디렉토리로의 링크, 그리고 증명서 관리 데이터용 디렉토리
>> 아카이빙(archiving)되고, 에스크로잉(escrowing)되고, 갱신되고, 그리고 기타 키들이 저장되는 데이터베이스용 키 관리 소프트웨어
>> 이메일 클라이언트나 사용자 인증 프로그램 등과 같이 조직 외부에서 로컬 및 인증된 사용자용의 증명서를 모두 사용하는 애플리케이션
>> 조직을 벗어난 곳에서의 안전한 커뮤니케이션을 확장하기 위해, 파트너와 다이렉트로 발행하는 CA를 증명서로 활용하는 신용 모델(trust model)
>> 증명서 배치용 모델을 포함한 증명서 관리, 적절한 처리에 대한 책임, 콘텐츠를 설명하기 위한 표준, 그리고 이들을 사용하는(혹은 남용하는) 사람들에 대한 법적 책임 등에 대한 정책

이렇게 복합적인 여러 조각들을 하나에 두어야 하기 때문에 이메일용 전자 서명 시스템을 이행하기 꺼려질 수도 있다. 하지만 고통이 쓴 만큼 그 열매는 달콤한 법이다.

공중키와 전용키
전자적으로 서명된 이메일은 증명서나 송신자의 신원을 나타내는 성명서를 암호화한 다음, 수신 측에서 증명서의 암호를 해독하기 위해 함께 작동하는 한 쌍의 키로 시작이 된다. 그리고 보안을 위해 이들은 같은 키가 될 수 없기 때문에 공중키와 전용키(public/private key)를 사용하게 된다.
공중/전용키 쌍의 기본 개념은 하나의 엔티티나 사용자만이 증명서를 암호화한다는 메시지에 서명을 할 수 있고, 증명서의 암호를 해독함으로써 사실상 누구나 메시지를 읽을 수 있다는 것이다. 전자 서명은 비대칭 암호화 알고리즘을 이용하는데, 여기서는 전용키가 메시지를 암호화하고 공중키가 그 암호를 해독한다.
실제로 사용자들은 자신들의 전용키가 어떤 것인지 아무런 개념이 없으며, 이것을 알아야 할 필요도 없다. 이들의 메시징 애플리케이션은 사용자의 개입이 필요 없이 키에 자동으로 액세스하기 때문이다. 수신자가 증명서가 있는 메시지를 받으면 사용자의 애플리케이션은 CA로 가서 공중키를 받는다. 증명서는 이메일 클라이언트에 의해 해독이 되며, 송신자의 신원증명이 설정되고, 그런 다음 메시지가 전달이 된다.
공중키를 관리하는 것은 CA의 책임이며, 증명서 자체를 관리하는 것은 당신의 책임이다. 어떤 증명서는 송신자에 의해서만 증명이 되는 것도 있지만(소위 자가서명 증명서), 이들은 CA에서 지원하는 증명서와 같은 수준의 신분 증명을 제공하지 않는다. 증명서를 관리하기 위해서는 안전한 배치 및 보관을 위해 정책과 프로시저를 개발하는 데 있어 물리적 인프라와 시간에 많은 투자가 필요하다. 하지만 전자 서명은 반드시 정말 안전하게 보관을 해야 한다. 증명서 보관소가 훼손된다는 것은 운전면허증, 신용카드, 주민등록카드가 들어 있는 지갑을 도둑맞는 것과 같다.
증명서 데이터베이스는 또한 장애로부터도 안전하게 지켜져야 하는데, 그 이유는 신분을 확인할 수 있는 능력을 상실할 경우 전자적으로 비즈니스를 할 수 있는 능력도 지장을 받기 때문이다. 만약 조직에 든든한 장애 복구 계획이 없다면 이메일용 전자서명 방안을 배치함으로써 이런 계획을 세우는 계기를 만들 수도 있다.
아마도 증명서 데이터베이스가 일관성 있게 사용 가능하고, 일관성 있게 오프사이트 로케이션으로 백업을 하도록 보장하기 위해서는 별도의 장비를 구입해야 할 것이다. 그리고 증명서 관리 부분도 또한 구입을 해야 한다. 적절한 하드웨어가 있고 소프트웨어가 네트워크 운영 환경의 일부에 속해 있을 경우에는 현금 지출을 최소화할 수 있다. 물론 그렇다 하더라도 여전히 이행에 따르는 비용은 각오를 해야 할 것이다. 하지만 그 대가로 사용자들은 고객, 공급업체 및 파트너와 커뮤니케이션을 할 때 신분이 보증되며, 트랜잭션은 암호화된다. 많은 업체들이 증명서와 서명을 관리하기 위한 제품을 제공하고 있다.
예를 들어 인트러스트(Entrust), 텀블위드(Tumbleweed) 및 베리사인(VeriSign)은 이메일 증명서 배치용으로 고안된 제품을 판매하고 있으며, 오쎈티카(Authentica), PGP, 포스트엑스(PostX), 프루프로인트(Proofpoint), 그리고 시가바(Sigaba)는 보안 메일 소프트웨어를 제공하고 있다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.