정보보안 - 전자서명
전자서명
- 전자서명의 개요
- 암호화 방식에 따라 두 종류로 나뉨
- 공개키 서명 방식 (공개키 암호화 방식)
- 서명자의 검증 정보를 공개하여 누구나 검증할 수 있는 방식 (간편)
- 중재 서명 방식 (관용 암호방식)
- 서명 생성과 검증을 제 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을 받아들임.
- RSA 아이디어를 이용하면 메시지에 서명을 하고 검증을 할 수 있다.
- ElGamal 디지털서명 구조
- 개요
- ElGamal 암호시스템과 동일한 키를 사용하지만 알고리즘은 다름.
- ElGamal 과 동일하게 이산대수 문제 기반
- 서명 과정에서 두 개의 함수는 두 개의 서명을 생성
- 검증 과정에서 두 함수에서 출력되는 값을 비교하여 확인
- 한 개의 함수는 서명과 검증 과정에서 동시에 사용되지만 입력되는 것이 다를 뿐
- 키 생성 : ElGamal 디지털서명 구조에서 (e1, e2, p) 가 Alice 의 공개키이고 d는 개인키이다.
- 실제로 거의 사용되지 않음. DSA(Digital Signature Algorithm) 를 많이 사용 - ElGamal의 개량형
- ElGamal 암호시스템과 동일한 키를 사용하지만 알고리즘은 다름.
- 개요
- DSA (Digital Signature Algorithm)
- 개요
- DSS (Digital Signature Standard) : 미국의 전자서명 표준 = DSA 와 거의동일. ElGamal 전자서명을 개량한 것
- ElGamal : 이산대수 문제 기반 알고리즘
- 암호화에 사용되지 않음
- 키교환에 사용되지 않음
- 공개키 기술
- DSA : NIST 에서 제안
- DSS (Digital Signature Standard) : 미국의 전자서명 표준 = DSA 와 거의동일. ElGamal 전자서명을 개량한 것
- 개요
- 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 카드에 적합
- ElGamal 전자서명에 기반, 서명의 크기는 작은 형태의 새로운 구조
- RSA 디지털 서명 구조
댓글남기기