1. 해킹 방법과 암호화 기술 발전
해킹 방법 |
암호화 기술 발전 |
암호화 규칙을 찾아서 복호화 |
|
|
컴퓨터 기술의 발전으로 충분히 복잡해진 암호화 규칙을 찾아낼 수 없음 |
암호화키 전달 과정에서 암호화키 탈취 |
|
|
암호화키를 전달하지 않음 |
2. 암호화키를 전달하지 않는 암호화 기술
1) 명칭 : RSA
2) 방식
a. 공개키와 비공개키 (비대칭키) 이용
- 공개키로 암호화된 것은 비공개키로만 복호화할 수 있음
=> 보관되어 있는 비공개키를 탈취하지 않는 이상 복호화 불가
- 수학적으로 충분히 복잡하기 때문에 공개키로 비공개키를 알아내는 것은 불가능
=> 공개키를 탈취해도 의미가 없음
b. 암호화 및 복호화 5단계
암복호화 주체 | A (복호화 주체) |
B (암호화 주체) |
단계1 | '공개키A'+'비공개키A' 생성 |
|
단계2 | '공개키A' 를 B로 전달 |
|
단계3 |
|
전달받은 '공개키A' 로 암호화할 대상 암호화 |
단계4 |
|
'공개키A'로 암호화한 대상을 A로 전달 |
단계5 | 전달받은 '공개키A'로 암호화한 대상을 '비공개키A'로 복호화 |
3) 단점
이론적으로 완벽하나, 암호화와 복호화에 시간이 많이 소요되어 성능이 떨어짐
3. RSA 방식을 이용해서 대칭키 전달
1) 명칭 : SSL (Secure Sockets Layer)
2) 방식
a. RSA 방식을 이용해서 대칭키 전달
아래 단계 중 단계1~단계5까지는 한번만 수행. 단계6~8까지는 수시로 수행
암복호화 주체 | A | B |
단계1 | '공개키A'+'비공개키A' 생성 |
|
단계2 | '공개키A'를 B로 전달 |
|
단계3 |
| '대칭키B' 생성 |
단계3 |
| 전달받은 공개키A 로 '대칭키B' 암호화 |
단계4 |
| '공개키A'로 암호화한 '대칭키B'를 A로 전달 |
단계5 | 전달받은 '공개키A'로 암호화한 '대칭키B'를 '비공개키A'로 복호화 | |
단계6 | 암호화할 대상을 '대칭키B'로 암호화 | |
단계7 | '대칭키B'로 암호화한 대상을 B로 전달 | |
단계8 | '대칭키B'로 '대칭키B'로 암호화한 대상을 복호화 |