검수요청.png검수요청.png

전자서명

해시넷
leejia1222 (토론 | 기여)님의 2019년 7월 9일 (화) 15:05 판 (개요)
이동: 둘러보기, 검색

전자서명 이란 전자서명법에 나와 있는 정의로는 서명자를 확인하고 서명자가 당해 전자문서에 서명하였음을 나타내는데 이용하기 위하여 당해 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보를 말한다. 전자서명은 대부분 공개키 암호 알고리즘을 이용하여 구현하며, 무결성을 확인하고 인증과 부인 방지 기능을 제공하는 암호 기술이다ㅓ. 전자서명에 필요한 기술로는 서명 알고리즘 (Signing Algorithm)검증 알고리즘 (Verifying Algorithm) 이 사용 된다.

예를 들어 A(자신) B(믿을 수 있는 기관) A가 자신의 비밀키를 사용하여 원본 데이터의 해시값을 암호화 한다. 그 후에 믿을 수 있는 기관 B에 A의 공개키를 배포한다. 그러면 B는 자신의 비밀키로 A의 공개키를 서명하고, A의 주체 정보와 B의 공개키 등을 담아 인증서를 만들어 배포한다. 그리고 A는 이 인증서와 함께 원본 데이터와 원본 데이터의 해시값을 서명한 데이터를 합쳐 배포한다.

기관 B를 믿을 수 있는 사용자 C는 코드사인된 데이터를 받아 인증서 안에 들어있는 B의 공개키를 이용하여 A의 공개키를 얻어내고, 이 A의 공개키로 서명된 데이터를 복호화하여 얻은 해시값과 원본 데이터를 해싱하여 얻은 해시값을 비교하여 일치한다면 원본 데이터가 손상되지 않았다는 것을 알 수 있는 방식을 의미하는 것이다.

개요

전자서명이란 사이버 공간에서의 인감이다. 사이버 공간에서는 수많은 위협들이 존재하고 있으며, 또한 정보들도 쉽게 위변조 할 수 있다. 그렇기 때문에 프로그램의 제작자를 확인하고, 거래를 한 사람이 나 자신이 맞다는 것을 증명하기 위하여 나오게 된 것이 전자서명이다. 오프라인에의 인감증명서는 종이로 된 계약문서와 자신이 정부에 등록한 인감으로 날인을 한 것을 말한다. 정부에 등록된 인감은 자신이 직접 드옥한 것이기 때문에, 이 인감 도장이 찍혀있는 것은 법적 효력을 갖으며, 본인이 거래한 것으로 간주된다. 만약, 인감도장을 다른사람이 훔쳐가서 사용한다면, 법적 책임은 모두 인감의 소유자인 자신이 지게 된다. 그렇기 때문에 인감은 중요하게 보관해야 하는 것이다.

온라인에서는 인감이라는 개념 대신에 전자서명이라는 개념이 존재한다. 이미 발급된 전자문서의 해시값을 추출하여 자신의 개인키로 암호화 한다. 그 후 전자문서와 함께 암호화한 해시값을 함께 상대방에게 보낸다. 문서를 받은 상대방은 문서를 보낸 사람의 공개키로 해시값을 복호화 한 후 자신이 전달받은 문서의 해시값과 비교하여 일치하면 문서가 위변조 되지 않았으며, 자신이 올바른 사람에게서 정보를 전달 받았음을 확인할 수 있다. 여기에서 전자문서의 해시값을 개인키로 암호화 한 것이 바로 오프라인에서의 인감날인 역할을 하는 것이다. 따라서 인감과 전자서명은 이렇게 정리할 수 있다.

* 인감 : 종이문서 + 인감도장 날인
* 서명된 전자문서 : 전자문서 + 전자서명(전자문서 해시 + 개인키의 암호화)

기존의 암호화 방법은 메시지를 주고 받는 사람들이 서로에게만 메시지를 알 수 있게 하고, 다른 외부 사람들에게는 메시지를 못 알게 하는 방법이었다. 하지만 이러한 방법은 누군가가 메시지를 조작할 수 있어 이러한 상황을 막기 위하여 전자 서명이란 것이 나오게 된 것이다.

사용되는 기술

서명 알고리즘 (Signing Algorithm)

검증 알고리즘 (Verifying Algorithm)

비대칭 키 암호 시스템

  • 비대칭 키 암호 시스템은 개인키와 공개키로 구성된다.
  • 개인키는 자신만이 소유하고, 공개키는 타인에게 공개된다.
  • 개인키 (공개키)로 암호화된 문서는 공개키 (개인키)만을 이용해서 복호화가 가능하다.

조건

  • 위조 불가 (Unforgeable) : 합법적인 서명자만이 전자 문서에 대한 전자 서명을 생성할 수 있어야 한다.
  • 서명자 인증 (User Authentication) : 전자 서명의 서명자를 누구든지 검증할 수 있어야 한다.
  • 부인 불가 (Nonrepudiation) : 서명자는 서명 후에 자신의 서명 사실을 부인할 수 없어야 한다.
  • 변경 불가 (Unalteable) : 서명한 문서의 내용은 변경될 수 없어야 한다.
  • 재사용 불가 (Not Reusable) : 전자문서의 서명은 다른 전자문서의 서명으로 사용될 수 없어야 한다.

특징

  • 전자 서명은 서명을 한 사람과 날짜 등을 증명할 수 있어야 한다.
  • 전자 서명을 할 당시에 메시지의 내용을 증명할 수 있어야 한다.
  • 전자 서명은 외부 기관에 의해 검사받을 수 있어야 한다.

접근 방법

  • 접근 방법  : 직접적인 방법에서는 보내고, 받는 사람 둘 간에 전자 서명이 필요하다. RSA알고리즘 에서는 만약 받는 사람이 보내는 사람의 공개 키를 알고 있다면, 보내는 사람의 전자서명은 보낼 메시지를 보내는 사람의 비밀 키로 암호화 된 것이 된다.
  • 문제점  : 이 방법의 문제점은 보내는 사람 비밀키의 안전성에 있다. 예를 들어 A가 B에게 어떠한 시간 T 에 메시지를 보내는데, 몇일 후에 해커가 A의 비밀키를 알아내고, 해커가 A의 비밀키를 이용하여 시간을 T로 하는 메시지를 만들 수 있다. 그렇게 된다면 B는 A가 T시간에 메시지를 보낸 것으로 착각을 하게 될 것이다.
  • 해결책  : 이러한 부분의 해결책으로는 A와 B 사이에 신뢰할 수 있는 C라는 중재자를 두는 방법으로 해결 할 수 있다. 그 방법은 A가 B에게 바로 메시지를 보내는 것 이 아니라, A가 먼저 C에게 메시지를 보내고 C가 B에게 메시지를 보내는 방법이다. 이렇게 C라는 중재자를 거친다면 해커가 A의 비밀키를 알아도 시간을 조작할 수 없게 되는 것이다. 왜냐하면 시간은 C라는 중재자가 관리하기 때문이다.

전자서명 알고리즘의 종류

  • RSA 전자서명 : Rivest, Shamir, Adleman에 의해서 1978년 제안된 공개 키 암호 방식을 응용한 전자서명의 방식
  • ElGamal 전자서명 : 이산대수 문제를 기반으로 전자서명만을 위해 고안된 방식
  • Schorr 전자서명 : ElGamal 전자서명의 변형으로 이산대수 문제에 안정성을 두고있는 방식
  • DSS (DSA) 전자서명 : 1991년 미국의 NIST (National Institute of Standards and Technology) 에서 발표한 전자서명 방식으로 ElGamal 전자서명을 개량한 방식
  • KCDSA 전자서명 : 국내 표준 전자서명 방식으로 이산대수 문제를 기반
  • ECDSA (Elliptic Curve DSA) 전자서명 : 타원곡선 (Elliptic curve)상에서 군을 정의하고 이에 대한 이산대수 계산의 어려움에 근거 두고 있음

참고자료

같이 보기


  검수요청.png검수요청.png 이 전자서명 문서는 암호 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.