(2021.12.03)
이번에 정리할 부분 목차
13.1 비교
13.1.1 포함
13.1.2 확인 방법
13.1.3 관계
13.1. 복제
13.2 과정
13.2.1 키의 필요성
13.2.2 다이제스트에 서명하기
13.3 서비스
13.3.1 메시지 인증
13.3.2 메시지 무결성
13.3.3 부인봉쇄
13.3.4 기밀성
13.4 디지털 서명에 대한 공격
13.4.1 공격 유형
13.4.2 위조 유형
13.5 디지털 서명 구조
13.5.1 RSA 디지털 서명 구조
13.5.2 RSA 서명에 대한 공격
13.5.3 EIGamal 디지털 서명 구조
13.5.5 디지털 서명 표준
교수님이 설명하신 부분에 대해서만 정리
서명의 유형
- 전자 서명: Electronic Signature
- Biometric signature: 전자서명에 생물학적인 것 추가
- 디지털 서명: Digital Signature
- advanced Biometric signature using Digital Signature
전통적인 서명과 디지털 서명의 비교
- inclusion : 포함
- 서명 확인 방법
- 관계 (일대다 or 일대일)
- duplicity : 복제
전통적인 서명
- 전통적인 서명은 문서에 포함된다.
- 수신자가 문서를 받으면, 문서의 서명과 파일의 서명을 비교한다. (수신자는 서명 파일을 가지고 있어야함)
- 서명과 문서는 일-대-다수 관계이다.
- 서명된 문서의 복사본은 파일 상의 원래 서명과 구별된다.
디지털 서명
- 문서와 서명이 분리된다.
- 수신자가 메시와 서명을 받으면 확인기술을 통해 서명이 맞는지 아닌지 확인한다. (서명은 어느 곳에도 저장하지 않음)
- 서명과 메시지는 일-대-일 관계이다.
- 문서에 타임 스탬프와 같은 시간관련요소가 없으면 문서를 서로 구별할 수 없다.
디지털 서명의 과정
디지털 서명: 네트워크에서 송신자의 신원을 증명하는 방법
--> 송신자가 자신의 비밀키로 암호화한 메시지를 수신자가 송신자의 공용키로 해독하는 과정
- 송진자는 서명 알고리즘을 이용해서 메시지에 서명을 한다.
- 메시지와 서명은 수신자에게 전송된다.
- 수신자는 메시지와 서명을 받고 이들에게 검증 알고리즘을 적용한다.
- 만약 그 결과가 참이면, 메시지는 올바른 것으로 받아들여지고, 거짓이면 그 문서는 거절된다.
생성->전송->검증
키 생성 알고리즘: 서명자의 키 쌍(pk,sk)을 생성한다. (pk:public key, sk:secret key)
서명 생성 알고리즘: 메시지 m과 서명값 sk를 입력하고, 서명을 생성한다.
서명 검증 알고리즘: 메시지 m과 검증값 pk, 서명을 입력하고 승인 or 거부를 출력한다.
키의 필요성
디지털 서명에는 공개 키 시스템이 필요하다.
Alice는 Alice의 private key로 서명하고, Bob은 Alice의 public key로 검증한다.
누구나 Alice의 public key를 얻을 수 있기 때문에 Alice의 public key로 서명을 하면, 누구나 Alice의 서명을 만들어낼 수 있다. --> Alice의 private key로 서명하는 이유
비대칭 키 암호는 Alice가 Bob의 public key, Bob이 Bob의 private key를 이용했고,
디지털 서명은 Alice가 Alice의 private key, Bob이 Alice의 public key를 이용한다.
다이제스트에 서명하기(siging the digest)
> 공개된 해쉬함수를 이용해서 메시지 다이제스트를 만든다.
> Alice는 해시함수를 이용해서 메시지 다이제스트를 만들고, Alice의 private key를 이용하여 메시지 다이제스트에 서명한다. Alice는 메시지와 서명을 Bob에게 보낸다. 그리고, Bob은 전달받은 메시지에 해시함수를 이용해서 메시지 다이제스트를 만들고, Alice의 public key를 이용하여 메시지 다이제스트에 서명한다. 그리고 이를 Alice에게 전달받은 서명과 비교한다.
디지털 서명의 서비스
- 메시지 인증(Message Authentication)
- 메시지 무결성(Message Integrity)
- 부인봉쇄(Nonrequdiation)
(+암호화/복호화를 통해 기밀성 추가)
> 메시지 인증
: Alice의 public key를 이용해서 검증했기 때문에 메시지 출처 인증이 가능하다. Alice의 public key는 Eve의 private key로 서명된 서명을 검증할 수 없다.
> 메시지 무결성
: 메시지가 변경되면 서명이 달라지기 때문에 디지털 서명은 메시지 무결성을 보장한다. 전체 메시지에 서명을 할 경우에도 메시지 무결성은 보장된다.
> 부인 봉쇄
: Alice가 메시지에 서명하고 서명한 사실을 부인하면, Bob은 Alice가 서명을 한 것이라고 증명할 수 있는가에 대한 문제이다. 이는 제 3자를 이용하여 증명할 수 있다.
+) 기밀성(confidentiality)
디지털 서명은 기밀성을 보장해주지 못하기 때문에 암호화/복호화를 할 수 있는 다른 수단이 적용되어야함
디지털 서명에 대한 공격
(공격 유형)
> 키 단독 공격: 암호문 단독 공격과 비슷
> 알려진-메시지 공격: 알려진 평문 공격과 비슷
> 선택-메시지 공격: 선택 평문 공격과 비슷
(위조 유형)
> 무의미한 위조: 문서를 위조할 수는 있으나. 위조된 문서의 내용이 랜덤이다.
> 선택적 위조: Eve가 선택한 내용으로 메시지에 Alice의 서명을 위조할 수 있다. Eve에게는 도움이 되고, Alice에게는 해가 되지만, 이런 위조는 매우 어렵다.
RSA 디지털 서명 구조 & EIGamal 디지털 서명 구조 & 디지털 서명 표준(DSS)
- RSA 디지털 서명구조는 d가 개인키고, e와 n이 공개키이다.
- EIGamal 디지털 서명구조는 d가 개인키고, (e1, e2, p)가 공개키이다.
- 디지털 서명 표준은 d가 개인키고, (e1, e2, p, q)가 공개키이다. (RSA의 p,q랑은 다름)
- 디지털 서명 표준 vs RSA : 동일한 p를 사용할 경우, DSS의 서명 계산이 RSA 알고리즘의 계산보다 빠름
- 디지털 서명 표준 vs EIGamal : DSS 서명이 EIGamal 서명보다 길이가 짧음 (q가 p보다 작기 때문)
디지털 서명의 변형
- 타임스탬프
: 서명된 문서에 타임스탬프를 추가하여 공격자가 재전송 공격을 하지 못하도록 막을 수 있음
: 시간 표시 대신 일회용 난수인 비표(nonce) 사용 가능
- 블라인드 서명
: 문서의 내용을 서명자에게 보여주지 않고 서명하도록 원할 경우에 사용한다.
: 수학적 계산(곱셈의 역원)에 의해 감추어진 메시지에 부여된 서명으로부터 원래 메시지의 서명을 얻음
- Bob은 메시지를 생성하고, 그것을 블라인드 시킨다. Bob은 블라인드된 메시지를 Alice에게 보낸다.
- Alice는 블라인드된 메시지에 서명하고, 블라인드된 메시지의 서명을 Bob에게 돌려준다.
- Bob은 원 메시지의 서명을 얻기 위해서 서명의 블라인드를 벗긴다.
ㅇㅇ
'Security > 현대 암호학' 카테고리의 다른 글
[현대 암호학] 제 12장 - 암호학적 해시 함수 (0) | 2021.12.01 |
---|---|
[현대 암호학] 제 11장 - 메시지 무결성과 메시지 인증 (0) | 2021.11.21 |
[현대암호학] 제 10장 - 비대칭 키 암호 (0) | 2021.11.14 |
[현대암호학] 제 9장 - 비대칭 키 암호수학 (2) (0) | 2021.11.14 |
[현대암호학] 제 9장 - 비대칭 키 암호수학 (1) (0) | 2021.11.06 |