th network security essentialslily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호...
TRANSCRIPT
![Page 1: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/1.jpg)
NETWORK SECURITY
네트워크 보안 에센셜
ESSENTIALS
4th EDITION
![Page 2: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/2.jpg)
3.1 메시지 인증 방법
3.2 안전 해시함수
3.3 메시지 인증 코드
3.4 공개키 암호 원리
3.5 공개키 암호 알고리즘
3.6 디지털 서명
제3장 공개키 암호와 메시지 인증
![Page 3: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/3.jpg)
3.1 메시지 인증 방법
• 근원지 인증
• 메시지 인증
3
![Page 4: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/4.jpg)
관용 암호를 이용한 인증
• 송신자와 수신자가 동일한 키를 가지고 있다고 가정
• 오직 진짜 송신자만이 수신자에게 보내는 메시지를 성공적으로 암호화할 수 있다.
4
![Page 5: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/5.jpg)
메시지 암호화 없는 메시지인증
• 인증 꼬리표(authentication tag) 붙여 보내기
• 메시지 자체는 암호화 하지 않고 전송
• 기밀성 보장 없음
5
![Page 6: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/6.jpg)
메시지 암호 없는 메시지인증
• 브로드캐스팅: 네트워크 경고
• 메시지 복호화 시간이 부족할 때
• 컴퓨터 프로그램은 평문인 채로 인증하는 게 더 편리
6
![Page 7: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/7.jpg)
메시지 인증코드
•
7
![Page 8: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/8.jpg)
메시지 인증코드를 이용한 메시지인증
8
![Page 9: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/9.jpg)
일방향 해시함수
• 일방향 해시함수(one-way hash function)
• 해시=H(M)
– H: 해시함수
– M: 메시지
• 키가 필요 없음
9
![Page 10: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/10.jpg)
메시지 인증방법
• 관용암호 사용 방법
• 공개키 암호 사용 방법
• 비밀값 사용 방법
10
![Page 11: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/11.jpg)
관용암호 사용 메시지 인증
11
![Page 12: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/12.jpg)
공개키암호 사용 메시지 인증
12
![Page 13: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/13.jpg)
비밀값 사용 메시지 인증
13
![Page 14: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/14.jpg)
암호화 없는 메시지인증 이유
• 암호 소프트웨어의 느린 속도
• 고가의 암호 장비비용
• 암호 장비는 대용량 데이터처리에 적합
– 작은 데이터처리에 오버헤드 발생
• 암호 알고리즘 수출제약
14
![Page 15: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/15.jpg)
3.2 안전 해시함수
• 해시함수용도
– 메시지 인증
– 디지털 서명
• 안전한 해시함수 필수조건
• SHA(Secure Hash Algorithm)
• 파일, 메시지, 데이터 블록에 대한‘지문(fingerprint)’을 생성
15
![Page 16: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/16.jpg)
해시 함수 요건
1. 임의 크기의 데이터 블록에 적용
2. 일정한 길이의 출력
3. 계산 용이성과 구현 가능성
4. 일방향 성질(one-way property)
5. 약한 충돌 저항성(weak collision resistance)
6. 강한 충돌 저항성(strong collision resistance)
16
![Page 17: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/17.jpg)
일 방향 성질
•
17
![Page 18: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/18.jpg)
약한 충돌 저항성
•
18
![Page 19: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/19.jpg)
약한 충돌성이 없는 해시사용시 위험
• 메시지와 암호화된 해시코드 가로채기
• 메시지로부터 암호화되지 않은 해시코드 생성
• 동일한 해시코드를 갖는 변조된 메시지를 생성
19
![Page 20: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/20.jpg)
강한 충돌 저항성
•
20
![Page 21: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/21.jpg)
메시지 다이제스트 역할
• 인증
• 무결성도 제공
21
![Page 22: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/22.jpg)
해시함수 보안
•
22
![Page 23: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/23.jpg)
단순 해시 함수
23
![Page 24: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/24.jpg)
비트별 XOR 단순 해시 함수
•
24
![Page 25: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/25.jpg)
단순 해시 취약점 해결
•
25
![Page 26: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/26.jpg)
단순 XOR과 CBC 모드 사용의 약점
•
26
![Page 27: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/27.jpg)
•
27
![Page 28: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/28.jpg)
SHA 안전 해시 함수
• 1993년에 FIPS PUB 180
• SHA-1 – 1995년에 FIPS PUB 180-1: MD4 해시 함수에
기초, 설계: MD4를 모델
• SHA-2 – SHA-256, SHA-384, SHA-512
• SHA-3: – 2008년에 수정된 문서가 FIP PUB 180-3
– SHA-224
28
![Page 29: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/29.jpg)
SHA 매개변수 비교
29
![Page 30: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/30.jpg)
SHA-512
• 입력메시지 크기
– 최대 길이가 2128 비트 이하인 메시지
• 출력
– 512비트 해시
• 처리 단위
– 1024비트 블록
30
![Page 31: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/31.jpg)
SHA-512 처리 단계
• 단계 1: 패딩 비트 붙이기(Appending padding bits)
• 단계 2: 길이 붙이기(Append length)
• 단계 3: MD 버퍼 초기화(Initialize MD buffer)
• 단계 4: 1024-비트 블록 메시지 처리(Process message in 1024-bit blocks)
• 단계 5: 출력(Output)
31
![Page 32: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/32.jpg)
패딩 비트 붙이기
• 총 길이를 896 (mod 1024)가 되게 만든다
• 메지시 길이가 1024의 배수이어도 패딩을 추가
• 패딩을 구성하는 비트는 첫 번째 비트가 1 이고 나머지 비트는 모두 0
32
![Page 33: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/33.jpg)
예
• 메시지 길이가 1010일 때 패딩을 구성해보아라
33
![Page 34: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/34.jpg)
길이 붙이기
• 128 비트 블록을 메시지에 추가
34
![Page 35: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/35.jpg)
SHA-512를 사용하는 메시지 다이제스트 생성
35
![Page 36: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/36.jpg)
MD 버퍼 초기화
• 512-비트 버퍼를 해시함수의 중간 값과 최종 값을 저장하기 위해 사용
• 버퍼를 8 개의 64-비트 레지스터(a, b, c, d, e, f, g, h)로 나타낸다
a = 6A09E667F3BCC908 e = 510E527FADE682D1
b = BB67AE8584CAA73B f = 9B05688CEB3E6C1F
c = 3C6EF372FE94F82B g = 1F83D9ABFB41BD6B
d = A54FF53A5F1D36F1 h = 5BE0CDI9137E2179
36
![Page 37: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/37.jpg)
SHA-512를 이용한 메시지
다이제스트 생성
37
![Page 38: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/38.jpg)
1024-비트(128-워드)블록 메시지 처리
• 각 라운드가 80 라운드
– 512-비트 버퍼 값인 abcdefgh를 입력으로 사용하고 이 버퍼의 내용을 갱신
38
![Page 39: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/39.jpg)
출력
• N 개의 1024-비트 블록 모두가 처리된 뒤에 N 번째 단계에서 512-비트 메시지 다이제스트를 출력
39
![Page 40: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/40.jpg)
3.3 메시지 인증 코드
40
![Page 41: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/41.jpg)
HMAC
• 암호적 해시코드를 이용한 MAC 방법
• 키를 사용하는 HASH
• HMAC(hashed MAC)
– IP Security 용 필수 MAC
– TLS 프로토콜에서 사용
– SET(Secure Electronic Transaction) 프로토콜에서도 사용
41
![Page 42: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/42.jpg)
HMAC의 필요성
• 빠른 속도 – 암호적 해시함수는 일반적으로 관용암호 알고리
즘인 DES에 비해 소프트웨어에서 빠르게 실행
• 코드 획득 용이 – 암호적 해시함수에 대한 코드를 쉽게 구할 수 있
다.
• 수출규제 없음 – 관용암호 알고리즘이나 MAC에서 사용하는 관용
암호 알고리즘까지 수출 규제 – 암호적 해시함수에 대해 미국이나 다른 나라가 수
출규제 없음
42
![Page 43: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/43.jpg)
HMAC 설계 목표
• 수정하지 않고 쓸 수 있는 해시함수 – 특히 소프트웨어에서 잘 돌아가고 무료코드 제공
• 모듈형 – 더 빠르고 안전 해시함수로 교환 가능
• 기능저하 없이 해시함수의 원래 성능을 유지 • 용이한 키 처리 • 인증메커니즘의 투명성
– 내장된 해시함수를 통한 인증 메커니즘의 강도를 확실히 파악
– 암호해독을 확실히 파악
43
![Page 44: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/44.jpg)
HMAC 알고리즘
• H =내장된 해시함수(예를 들면 SHA-1) • M =HMAC의 입력 메시지(내장된 해시함수에 필요한 패딩까
지 포함해서) • Yi =M 의 i 번째 블록, 0≤ i ≤(L-1) • L =M 의 블록 수 • b =블록의 비트 수 • n =내장된 해시함수에 의해 생성된 해시코드의 길이 • K =비밀키, 키의 길이가 b 보다 길면 n-비트 키를 생성하는
해시함수에 입력으로 사용된다. • K+ =K 의 왼쪽에 0을 붙여서 길이가 b 비트가 되도록 한 것 • ipad =00110110(16진법수 36)를 b/8 번 반복한 2진 수열 • opad =01011100(16진법수 5C)를 b/8 번 반복한 2진 수열
44
![Page 45: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/45.jpg)
HMAC 알고리즘
HMACK(M) =H[(K+ ⨁ opad)‖H[(K+ ⨁ ipad)‖M]]
45
![Page 46: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/46.jpg)
HMAC 구조
46
![Page 47: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/47.jpg)
블록 암호 기반 MAC
• 암호-기반 메시지 인증 코드코드(Cipher-based Message Authentication Code(CMAC))
• 운용모드: – AES: b=128 – 3DES: b=64
• 메시지: n개 블록: M1,M2,…, Mn • k-비트 암호키 K
– AES: 128, 192, 256비트 – 3DES: 112, 168비트
• n-비트 키 K1
47
![Page 48: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/48.jpg)
CMAC 계산 C1 = E(K, M1)
C2 = E(K, [M2 ⨁ C1])
C3 = E(K, [M3 ⨁ C2])
…
Cn = E(K, [MN ⨁ Cn-1 ⨁ K1])
T = MSBTlen(Cn)
여기서
T = 메시지 인증 코드, 또는‘태그(tag)’라고도 한다.
Tlen = T의 비트 길이
MSBs(X) = 비트열 X의 왼쪽부터 s개 비트
48
![Page 49: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/49.jpg)
암호-기반 메시지 인증 코드(CMAC) (메시지길이가 블록길이의 정수배)
49
![Page 50: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/50.jpg)
암호-기반 메시지 인증 코드(CMAC) (메시지길이가 블록길이의 정수배 아님)
50
![Page 51: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/51.jpg)
암호블록체인카운터-메시지인증코드 (인증)
51
![Page 52: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/52.jpg)
암호블록체인카운터-메시지인증코드 (암호화)
52
![Page 53: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/53.jpg)
3.4 공개키 암호 원리
• 공개키 암호의 기본 개념
• 키 분배(key distribution) 문제
• RSA 알고리즘
• Diffie-Hellman 알고리즘
• 디지털 서명
53
![Page 54: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/54.jpg)
공개키 암호 구조
• 1976년에 Diffie 와 Hellman 에 의해 최초로 제안
• 수학적 함수에 근거
• 서로 다른 두 개의 키를 이용하는 비대칭 방식
• 기밀성, 키 분배, 인증에서 뛰어난 성능
54
![Page 55: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/55.jpg)
공개키 암호에 대한 오해
• 공개키 암호가 관용 암호보다 암호해독에 있어서 더 안전하다(X)
• 공개키 암호 기술이 일반화 되어 관용 암호를 더 이상 사용하지 않게 된다(X)
• 관용 암호의 키 분배보다 공개키를 사용하는 키 분배가 더 쉽다(X)
55
![Page 56: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/56.jpg)
공개키 암호 핵심 요소
• 평문(Plaintext):
• 암호 알고리즘(Encryption algorithm):
• 공개키와 개인키(Public and private key):
• 암호문(Ciphertext):
• 복호 알고리즘(Decryption algorithm):
56
![Page 57: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/57.jpg)
공개키로 암호화하기
57
![Page 58: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/58.jpg)
개인키로 암호화하기
58
![Page 59: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/59.jpg)
공개키 암호의 특성
• 한 쌍의 키 필요
– 하나는 메시지 암호화에 사용하고 다른 하나는 복호화에 사용
• 공개키를 등록
– 공개키와 한 쌍을 이루는 키는 개인키
• 메시지 암호화는 수신자 공개키로 암호화
• 암호문은 수신자의 개인키로 복호화
59
![Page 60: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/60.jpg)
키 명칭
• 대칭암호(관용암호)
– 비밀키(secret key)
• 공개키암호(비대칭 암호)
– 공개키(public key)
– 개인키(private key)
60
![Page 61: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/61.jpg)
공개키 암호시스템 응용
61
![Page 62: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/62.jpg)
공개키 암호의 응용
• 암호화/복호화(Encryption/decryption):
– 수신자의 공개키로 메시지 암호화
• 디지털 서명(Digital signature):
– 송신자 자신의 개인키로 메시지 암호화(서명).
• 키 교환(Key exchange):
– 세션 키를 교환(공유)한다
62
![Page 63: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/63.jpg)
공개키 암호 요건
•
63
![Page 64: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/64.jpg)
공개키 암호 요건
•
64
![Page 65: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/65.jpg)
3.5 공개키 암호 알고리즘
• RSA
• Diffie-Hellman 알고리즘
• 디지털 서명 표준
• 타원곡선암호
65
![Page 66: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/66.jpg)
RSA 공개키 암호 알고리즘
•
66
![Page 67: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/67.jpg)
RSA
• 송신자와 수신자 모두는 𝑛 과 𝑒 를 알고 있어야 하고, 오직 수신자만이 𝑑 값을 알고 있어야 한다.
• 공개키 𝑃𝑈 = {𝑒, 𝑛}
• 개인키 𝑃𝑅 = {𝑑, 𝑛}
67
![Page 68: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/68.jpg)
RSA 공개키 암호 요구 조건
1. 𝑛 보다 작은 모든 정수 𝑀 에 대해서 𝑀 = 𝑀𝑒𝑑 𝑚𝑜𝑑 𝑛 을 만족하는 값 𝑒, 𝑑, 𝑛 을구할 수 있어야 한다.
2. 𝑛 보다 작은 모든 정수 𝑀 에 대해서 𝑀𝑒와 𝐶𝑑를 구하는 것이 비교적 쉬워야 한다.
3. 𝑒 와 𝑛 이 주어졌을 때 𝑑 를 구하는 것이 불가능해야 한다.
68
![Page 69: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/69.jpg)
RSA 알고리즘(키 생성)
𝜙(𝑛): 오일러(Euler) 함수로서 𝑛 보다 작으면서 𝑛 과 서로소인 양의 정수의 개수를 나타낸다.
69
![Page 70: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/70.jpg)
RSA 알고리즘(암호화/복호화)
70
![Page 71: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/71.jpg)
RSA 알고리즘 예
1. 두 소수 𝑝 = 17과 𝑞 = 11을 선택한다. 2. 𝑛 = 𝑝𝑞 = 17 × 11 = 187을 계산한다. 3. 𝜙(𝑛) = (𝑝 − 1)(𝑞 − 1) = 16 × 10 = 160을 계산한다. 4. 𝜙(𝑛) = 160보다 작으면서 𝜙(𝑛) 과 서로소인 수 𝑒 를 선택한
다. 여기서는 𝑒 = 7을 선택한다. 5. 𝑑<160이면서 𝑑𝑒 𝑚𝑜𝑑 160 = 1인 수 𝑑 를 결정한다. 여기에
적합한 수는 𝑑 = 23이다. 왜냐하면 23 × 7 = 161 = 1 ×160 + 1이기 때문이다.
71
![Page 72: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/72.jpg)
RSA 알고리즘 예
• 공개키:𝑃𝑈 = {7,187}
• 개인키:𝑃𝑅 = {23,187}
• 평문 𝑀 = 88을 암호화 해보자
𝐶 = 887 𝑚𝑜𝑑 187을 계산
72
![Page 73: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/73.jpg)
암호화 단계
• 887 𝑚𝑜𝑑 187 = [(884 𝑚𝑜𝑑 187) × (882 𝑚𝑜𝑑 187) ×(881 𝑚𝑜𝑑 187)] 𝑚𝑜𝑑 187
• 881 𝑚𝑜𝑑 187 = 88
• 882 𝑚𝑜𝑑 187 = 7744 𝑚𝑜𝑑 187 = 77
• 884 𝑚𝑜𝑑 187 = 59,969,536 𝑚𝑜𝑑 187 = 132
• 887 𝑚𝑜𝑑 187 = (88 × 77 × 132) 𝑚𝑜𝑑 187 = 894,432 𝑚𝑜𝑑 187 = 11
73
![Page 74: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/74.jpg)
복호화
• 복호화
𝑀 = 1123 𝑚𝑜𝑑 187를 계산
74
![Page 75: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/75.jpg)
복호화 단계
• 1123 𝑚𝑜𝑑 187 = [(111 𝑚𝑜𝑑 187) × (112 𝑚𝑜𝑑 187) ×(114 𝑚𝑜𝑑 187) × (118 𝑚𝑜𝑑 187) ×(118 𝑚𝑜𝑑 187)] 𝑚𝑜𝑑 187
• 111 𝑚𝑜𝑑 187 = 11
• 112 𝑚𝑜𝑑 187 = 121
• 114 𝑚𝑜𝑑 187 = 14,641 𝑚𝑜𝑑 187 = 55
• 118 𝑚𝑜𝑑 187 = 214,358,881 𝑚𝑜𝑑 187 = 33
• 1123 𝑚𝑜𝑑 187 = (11 × 121 × 55 × 33 × 33) 𝑚𝑜𝑑 187 = 79,720,245 𝑚𝑜𝑑 187 = 88
75
![Page 76: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/76.jpg)
RSA 알고리즘을 깨는 방법
• 전수공격
– 가능한 모든 개인키를 시도
– 𝑒와 𝑑의 비트 수가 크면 클수록 알고리즘은 안전
• 𝑛을 두 개의 소인수의 곱으로 인수분해
– 효과적 인수분해 방법 없음
– 대부분의 RSA 응용에 1024-비트 키(대략 300자리 10진수)를 사용하고 있어서 충분히 안전
76
![Page 77: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/77.jpg)
Diffie-Hellman 키교환
• Diffie-Hellman 키교환(key exchange)
• 두 사용자가 비밀키(대칭키)를 안전하게 교환해서 메시지를 암호화하려는 목적
• 이산 대수 문제(discrete logarithms problem)를 푸는 것이 어렵다는 데 근거
77
![Page 78: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/78.jpg)
이산대수문제
• 소수 𝑝의 원시근(primitive root)
– 자신의 거듭제곱을 이용하면 1부터 𝑝 − 1까지의 정수를 모두 생성해 낼 수 있는 수
– 어떤 수 𝑎가 소수 𝑝의 한 원시근 이라면, 다음 수
𝑎 mod 𝑝, 𝑎2 mod 𝑝, … , 𝑎𝑝−1mod 𝑝
은 서로 다르고 정수 1부터 𝑝 − 1까지의 수를 치환해놓은 것과 같다.
78
![Page 79: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/79.jpg)
이산대수문제
• 𝑝보다 작은 임의의 정수 𝑏와 𝑝의 원시근 𝑎에 대해서 다음을 만족하는 유일한 지수 𝑖를 찾을 수 있다.
𝑏 = 𝑎𝑖mod 𝑝, 여기서 0 ≤ 𝑖 ≤ 𝑝 − 1
• 여기에서 지수(exponent) 𝑖를 밑수 𝑎를 갖는 𝑏의 이산대수(discrete logarithm) 혹은 지수(index)라고 한다. 이 수를
𝑖 = dlog𝑎,𝑝(𝑏)
• 라고 쓴다.
79
![Page 80: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/80.jpg)
Diffie Hellman 알고리즘
• 양측 A와 B에게 주어진 정보:
– 하나의 소수 𝑞와 𝑞의 한 원시근 𝛼
• A는 한 랜덤넘버 𝑋𝐴 < 𝑞를 선택하고𝑌𝐴 = 𝛼𝑋𝐴mod 𝑞 를 계산
• B는 한 랜덤넘버 𝑋𝐵 < 𝑞를 선택하고𝑌𝐵 = 𝛼𝑋𝐵mod 𝑞 를 계산
• 양측은 𝑋를 개인값으로 보관하고 𝑌를 상대방이 사용할 수 있도록 공개
80
![Page 81: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/81.jpg)
Diffie Hellman 알고리즘
• A는 𝐾 = (𝑌𝐵)𝑋𝐴mod 𝑞를 이용해서 키 계산 • B는 𝐾 = (𝑌𝐴)𝑋𝐵mod 𝑞를 이용해서 키 계산
𝐾 = (𝑌𝐵)𝑋𝐴mod 𝑞 = (𝛼𝑋𝐵mod 𝑞)𝑋𝐴mod 𝑞
= (𝛼𝑋𝐵)𝑋𝐴 mod 𝑞 = 𝛼𝑋𝐵𝑋𝐴 mod 𝑞 = 𝛼𝑋𝐴𝑋𝐵 mod 𝑞
= (𝛼𝑋𝐴)𝑋𝐵 mod 𝑞 = (𝛼𝑋𝐴mod 𝑞)𝑋𝐵mod 𝑞
= (𝑌𝐴)𝑋𝐵mod 𝑞=K
81
![Page 82: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/82.jpg)
Diffie-Hellman 키
교환 알고리즘
82
![Page 83: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/83.jpg)
공격자가에게 주어지는 정보
• 알 수 없는 정보: 𝑋𝐴, 𝑋𝐵
• 알 수 있는 정보: 𝑞, 𝛼, 𝑌𝐴, 𝑌𝐵
• A, B의 비밀값 𝑋𝐴, 𝑋𝐵 를 알려면 공격자는 반드시 이산대수문제를 풀어야 한다.
𝑋𝐴 = dlog𝛼,𝑞(𝑌𝐴)
𝑋𝐵 = dlog𝛼,𝑞(𝑌𝐵)
아는 값 알고 싶은 값
83
![Page 84: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/84.jpg)
Diffie Hellman 키교환 예
• 하나의 소수 𝑞 = 353, 𝑞의 한 원시근 𝛼 = 3
• A는 한 랜덤넘버 𝑋𝐴 = 97 < 353 선택𝑌𝐴 = 𝛼𝑋𝐴mod 𝑞 = 397mod 353 = 40 계산
• B는 한 랜덤넘버 𝑋𝐵 = 233 < 353 선택𝑌𝐵 = 𝛼𝑋𝐵mod 𝑞 = 3233mod 353 = 248 계산
• A와 B는 𝑌𝐴 와 𝑌𝐵를 교환
84
![Page 85: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/85.jpg)
Diffie Hellman 키교환 예
• A가 하는 계산:
𝐾 = (𝑌𝐵)𝑋𝐴mod 𝑞 = (248)97mod 353 = 160
• B가 하는 계산 :
𝐾 = (𝑌𝐴)𝑋𝐵mod 𝑞 = (40)233mod 353 = 160
85
![Page 86: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/86.jpg)
Diffie Hellman 키교환 예에 대한 공격
• 공격자가 가진 정보: 𝑞 = 353; 𝛼 = 3; 𝑌𝐴 = 40; 𝑌𝐵 = 248
• 공격자가 할 수 있는 계산
• 3𝑎mod 353 = 40
• 3𝑏mod 353 = 248
• 의 해를 구한다. 즉, 다음 이산대수를 구한다 𝑎 = dlog3,353(40)
𝑏 = dlog3,353(243)
86
![Page 87: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/87.jpg)
Diffie-Hellman 키 교환 절차
87
![Page 88: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/88.jpg)
키교환 프로토콜
A: (𝑋𝐴, 𝑌𝐴)
LAN 사용자 그룹
모든 LAN 사용자에게 공개
비밀
공개
Z: (𝑋𝑍, 𝑌𝑍)
B: (𝑋𝐵 , 𝑌𝐵) C: (𝑋𝐶 , 𝑌𝐶)
공개
비밀
소수 𝑞, 𝑞의 한 원시근 𝛼
88
![Page 89: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/89.jpg)
중간자 다츠의 공격
1. 다츠는 공격을 위해 두 개의 랜덤 개인 키 𝑋𝐷1과 𝑋𝐷2 를 생성한 다음 여기에 해당되는 공개키인 𝑌𝐷1 과 𝑌𝐷2 를 구한다.
2. 앨리스는 𝑌𝐴를 밥에게 전송한다. 3. 다츠는 𝑌𝐴 를 가로채고 𝑌𝐷1 을 밥에게 보낸 다음
𝐾2 = (𝑌𝐴)𝑋𝐷2mod 𝑞를 계산한다. 4. 밥은 𝑌𝐷1 을 받고 𝐾1 = (𝑌𝐷1)𝑋𝐵mod 𝑞를 계산한다. 5. 밥은 𝑌𝐵를 앨리스에게 보낸다. 6. 다츠는 𝑌𝐵 를 가로채고 𝑌𝐷2 를 앨리스에게 보낸다. 다츠
는 𝐾1 = (𝑌𝐵)𝑋𝐷1mod 𝑞 를 계산한다. 7. 앨리스는 𝑌𝐷2 를 받고 𝐾2 = (𝑌𝐷2)𝑋𝐴mod 𝑞 를 계산한다.
89
![Page 90: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/90.jpg)
중간자 다츠의 공격
• 밥과 앨리스는 자신이 공통의 비밀키를 공유하고 있다고 생각한다.
• 밥과 다츠가 공유하는 것: 비밀키 K1
• 앨리스와 다츠가 공유하는 것: 비밀키 K2
90
![Page 91: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/91.jpg)
중간자 다츠의 실제 공격
• 앨리스는 암호화된 메시지 𝑀: 𝐸(𝐾2, 𝑀) 을 밥에게 보낸다.
• 다츠는 암호화된 이 메시지를 가로챈 다음 복호화하여 𝑀 을 얻는다.
• 다츠는 밥에게 𝐸(𝐾1, 𝑀) 혹은 𝐸(𝐾1, 𝑀′) 를 보낸다. 여기서 𝑀′는 𝑀과는 다른 메시지
91
![Page 92: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/92.jpg)
기타 공개키 암호 알고리즘
• 디지털 서명 표준
– (DSS: Digital Signature Standard)
– 서명기능만 제공
– 암호나 키 교환에 사용 못함
• 타원곡선 암호
– (ECC: Elliptic-Curve Cryptography)
– 비트 수가 적어서 계산속도가 빠르다
– 신뢰성이 RSA보다 낮다
92
![Page 93: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/93.jpg)
3.6 디지털 서명
• 메시지의 출처와 메시지 내용에 대한 확신을 위해 메시지 전체를 암호화하면 된다
• 이렇게 하면 메모리가 많이 든다
• 문서의 기능을 대신하는 작은 비트블록을 암호화하는 방법이 필요
• 작은 비트블록을 인증자(authenticator)라고 한다
93
![Page 94: th NETWORK SECURITY ESSENTIALSlily.mmu.ac.kr/lecture/16is/ch03.pdf · –관용암호 알고리즘이나 mac에서 사용하는 관용 암호 알고리즘까지 수출 규제 –암호적](https://reader033.vdocuments.mx/reader033/viewer/2022041502/5e2256393d20e9689a656469/html5/thumbnails/94.jpg)
인증자
• 인증자는 변경 없이 문서만 변경하는 것이 불가능
• 인증자를 송신자의 개인키로 암호화했다면 출처, 내용, 순서 확인해주는 서명이다
• SHA-1 같은 안전 해시코드가 이런 역할
• 메시지의 무결성은 보장하지만 기밀성은 보장 못한다
94