정보보안 - 전자서명

전자서명

  • 전자서명의 개요
    • 암호화 방식에 따라 두 종류로 나뉨
      • 공개키 서명 방식 (공개키 암호화 방식)
        • 서명자의 검증 정보를 공개하여 누구나 검증할 수 있는 방식 (간편)
      • 중재 서명 방식 (관용 암호방식)
        • 서명 생성과 검증을 제 3자가 중재 (불편)
    • 전자서명 과정
      • 기본 개념
        • 송신자는 서명 알고리즘(signing algorithm)을 이용해서 메시지에 서명을 함
        • 메시지와 서명은 수신자에게 전송됨
        • 수신자는 메시지와 서명을 받고 이들에 검증 알고리즘(verifying algorithm)을 적용
        • 참이면 메시지가 받아들여짐
      • 디지털서명 (digital signature) - 전자서명의 한 종류, 공개키 암호화 방식을 사용
        • Alice 가 Bob 에게 메시지를 보낼 때 Bob 은 송신자에 대한 확실성을 점검할 필요가 있음.
        • Bob 은 이 메시지가 Alice 에게서 온 것인지 Eve 에게서 온 것인지 확인하고 싶음.
        • Bob 은 Alice 에게 메시지에 전자서명을 해달라고 요청할 수 있고, Alice 는 이에 전자서명을 해줌.
        • 디지털서명에서는 공개키 시스템이 필요. 서명자는 자신의 개인키로 서명, 검증자는 서명자의 공개키로 서명을 검증
        • 암호화 시스템에서는 수신자의 개인키와 공개키가 활용됨. 디지털서명에서는 송신자의 개인키와 공개키가 사용됨.
    • 전자서명 서비스
      • 메시지 인증
        • 안전한 디지털서명 구조는 메시지 인증 (데이터 근원 인증) 을 보장
        • Alice 에게서 받은 서명이 정말 Alice 의 서명인지를 보장
      • 메시지 무결성
        • 전체 메시지에 서명을 할 경우에 보장, 메시지 변경 시 서명도 달라지기 때문
        • 해시함수를 사용하여 검증 알고리즘을 만듦. 무결성 보장
      • 부인방지 (신뢰받는 센터 활용)
        • Alice 가 메시지를 보낸 사실을 부인하면 센터는 저장하고 있는 메시지를 제시할 수 있다.
        • Bob의 메시지가 센터가 보관하고 있는 메시지의 복사본과 같다면 Alice 는 법정에서 패하게 될 것이다.
          • Alice : 전송할 Msg 를 정해진 서명 알고리즘을 이용해 Alice 의 Private Key 를 이용해 서명한다.
          • Alice : 서명된 메시지를 Trusted Center 에 보낸다.
          • Trusted Center : Alice 의 Public Key 로 서명된 메시지를 검증 (검증알고리즘) 한다. (Msg)
          • Trusted Center : Alice 가 보낸 서명된 알고리즘을 Bob에게 전달한다.
          • Bob : Alice 의 Public Key로 검증 알고리즘을 이용해서 메시지를 얻어낸다. (Msg)
          • Trusted Center 의 Msg 와 Bob 의 Msg 가 같다면 Alice 는 부인할 수 없게 된다.
      • 기밀성
        • 디지털서명을 하더라도 기밀성이 보장되는 통신을 할 수는 없다. (전자서명이 기밀성을 보장하진 않음.)
          • 전자서명은 메시지인증과 무결성을 보증함.
        • 기밀성을 위해 메시지와 서명에 비밀키를 이용하거나 공개키를 이용해서 암호화를 해야만 한다.
          • Alice : 메시지를 Alice 의 Private Key를 이용, 서명알고리즘을 통해 서명함.
          • Alice : 서명을 Bob의 Public Key를 이용, 암호화함.
          • Bob : 암호화 메시지를 Bob 의 Private Key 를 이용, 복호화함.
          • Bob : Alice 의 서명을 Alice 의 Pubilc Key 를 이용, 검증알고리즘을 통해 검증함. (Msg)
    • 전자서명의 주요 기능
      • 위조 불가 (Unforgeable) : 합법적인 서명자만이 전자서명을 생성하는 것이 가능해야 한다.
      • 서명자 인증 (User authentication) : 전자서명의 서명자를 불특정 다수가 검증할 수 있어야 한다.
      • 부인방지 (Non-repudiation) : 서명자는 서명행위 이후에 서명한 사실을 부인할 수 없어야 한다. (신뢰할 수 있는 제3기관 이용)
      • 변경 불가 (Unalterable) : 서명한 문서의 내용을 변경할 수 없어야 한다.
      • 재사용 불가 (Not reusable) : 전자문서의 서명을 다른 전자문서의 서명으로 사용할 수 없어야 한다.
  • 전자서명의 구조
    • RSA 디지털 서명 구조
      • RSA 아이디어를 이용하면 메시지에 서명을 하고 검증을 할 수 있다.
        • 암호화, 키교환에도 사용되는 공개키 기술
        • RSA 암호화 방식과 전자서명 방식이 동일
        • RSA : 소수를 이용, 소인수분해의 어려움을 기반으로 함.
          • p, q : 두 소수
          • d : 개인키
          • e : 공개키 (공개)
          • n : p * q (공개)
        • Alice : Alice 의 Private key (d,n) 을 이용, M^d mod n 을 통해 서명 S 를 생성
        • Alice : 서명 S 를 전달
        • Alice : 메시지 M 을 전달
        • Bob : Alice 의 Public key (e,n) 을 이용, S^e mod n 을 통해 M’ 을 생성
        • Bob : M 과 M’ 을 비교, 같으면 M을 받아들임.
    • ElGamal 디지털서명 구조
      • 개요
        • ElGamal 암호시스템과 동일한 키를 사용하지만 알고리즘은 다름.
          • ElGamal 과 동일하게 이산대수 문제 기반
        • 서명 과정에서 두 개의 함수는 두 개의 서명을 생성
        • 검증 과정에서 두 함수에서 출력되는 값을 비교하여 확인
        • 한 개의 함수는 서명과 검증 과정에서 동시에 사용되지만 입력되는 것이 다를 뿐
        • 키 생성 : ElGamal 디지털서명 구조에서 (e1, e2, p) 가 Alice 의 공개키이고 d는 개인키이다.
        • 실제로 거의 사용되지 않음. DSA(Digital Signature Algorithm) 를 많이 사용 - ElGamal의 개량형
    • DSA (Digital Signature Algorithm)
      • 개요
        • DSS (Digital Signature Standard) : 미국의 전자서명 표준 = DSA 와 거의동일. ElGamal 전자서명을 개량한 것
          • ElGamal : 이산대수 문제 기반 알고리즘
          • 암호화에 사용되지 않음
          • 키교환에 사용되지 않음
          • 공개키 기술
        • DSA : NIST 에서 제안
    • ECDSA (Elliptic Curve DSA) = ECC 전자서명 (ECCDSA - 타원곡선 전자서명 구조)
      • ECC (타원곡선) : RSA, ElGamal 보다 길이가 짧아 속도가 빠른 알고리즘
      • 짧은 시간에 짧은 서명 생성 가능
      • ECDSA : 1998년 ANSI 에서 미국표준화
    • KCDSA (Korea Certification-based DSA)
      • 1994년 국내에서 개발 (국가 표준 전자서명 알고리즘)
      • 1997년 국가 표준으로 채택
      • 1998년 TTA 에서 표준으로 채택
      • ElGamal 전자서명을 개선 (이산대수 문제의 어려움 기반) / DSS 를 변형
      • 스마트카드에서도 편리하게 사용
    • Schnorr 전자서명 구조
      • ElGamal 전자서명에 기반, 서명의 크기는 작은 형태의 새로운 구조
        • ElGamal은 매우 큰 소수를 사용해야 함 (1024bit 이상)
      • IC 카드에 적합

댓글남기기