38일차 암호화, 해시알고리즘, Diffie-Hellman protocol, 인증서
암호화[Cryptograph]
통신문의 내용을 제 3자가 판독할 수 없도록 다른 형태로 변화 시키는 것
암호화 알고리즘을 알아도 암호화된 값이 원래 무엇인지 알 수 없도록 하는 것이다.
인코딩은 누구든지 디코딩할 수 있고 데이터의 무결성을 위한 것이 아니기 때문에 그 점에 차이가 있다.
plaintext(cleartext; 평문)
ciphertext(암호문)
encryption(encipher: 암호화)
decryption(decipher: 복호화)
* 대칭형
암호화 할 때키 = 복호화 할 때 키
그러므로 절대 키가 노출되면 안된다.
속도는 빠르다.(장점)
송신자와 수신자 사이의 안전한 교환 문제가 발생(단점)
* 비대칭형
암호화 할 때 키 != 복호화 할 때 키
두개의 쌍으로 이루어진 키 사용
공개키 암호화 방식
공개키는 모든 사람이 알 수 있도록 공개 ex) 공인인증기관 게시
개인키는 자신만이 알 수 있도록 개인이 보관
비밀키 전달 불필요에 따른 키 교환 문제 없고, 정보의 기밀 유지 이외에 다른 목적(무결성, 부인방지 등)으로도 사용 가능(장점)
옴호화 및 복호화가 느리고(대칭형에 비해 약 1000배), 많은 양의 자료를 암호화, 복호화 하기 불편.(단점)
비대칭형 방식은 대칭형 키를 나누어 가지기 위한 하나의 방법이다.
해시 알고리즘
-조건
•임의의 값에 대한 해시값을 구하기가 쉬울 수록 좋다.
입력값의 길이가 달라도, 해시값의 길이는 같다.
입력값이 비슷해도 출력값은 전혀 다르다.
MD5는 몇년 전에 중국의 수학자에 의해 역함수가 구해졌기 때문에 더이상 보안에 사용해서는 안된다.
* 공개키 암호화 기법을 이용한 클라이언트 인증
* 일방향 함수를 이용한 사용자 인증
Diffie-Hellman Protocol
–세션키
양측의 대칭키는 단지 한 번만 사용될 때 효과적이다. 즉 세션마다 키를 생성하고 세션이 끝날 때 키를 폐기한다.
하지만 MITM 공격에 매우 취약하다.
1. 앨리스가 x를 선택한 후 R1=Gx를 계산하여 R1을 밥에게 전송
2. 제 3자가 R1을 가로챈 후, z를 선택한 다음 R2=Gz mod N을 계산하여 R2를 앨리스와 밥에게 전송
3. 밥이 y를 선택한 다음 R3=Gy mod N을 계산해서 R3을 앨리스에게 전송, R3을 제 3자가 가로챔
4. 앨리스와 제 3자가 공유한 키 K1=Gxz mod N을 계산
5. 제 3자와 밥은 공유한 키 K2=Gzy mod N을 계산
인증서
1) 발급자 - 인증서를 발급한 기관
2) 소유자 - 인증서의 주인
3) 인증서의 권한, 정책 - 인증서로 무엇을 얼마나 할 수 있는지에 대한 정보
4) 유효기간 - 인증서의 시작, 종료기간
5) 일련번호 - 인증서를 식별
6) 발급자의 서명 - 발급자의 전자서명값
: 인증서의 무결성을 확인해주는 것
7) 공개키 정보 - 인증서의 공개키가 있으며 16진수로 표현됨
서명값을 발급자의 공개키로 복호화해서 해시값으로 만든값
과
인증서의 내용을 해시값으로 바꾼 것과 대조해서 인증서가 변조가 됐는지 확인이 가능하다.
그렇다면 발급자의 공개키를 어떻게 구할까
인증서 항목에 있는 공개키는 발급자가 아닌 인증서 주인의 공개키다.
간단하다.
요청하면 된다.
하지만 요청하지도 않고 알 수 있다.
이렇게 발급대상과 발급자가 똑같다.
우리가 찾던 공개키는 여기있다.
'정보보안' 카테고리의 다른 글
39일차 SSL MiTM , SSL strip (2) | 2017.04.04 |
---|---|
38일차(2) SSH (0) | 2017.04.03 |
37일차 DHCP Spoofing(2) , Sniffing Attack (0) | 2017.03.31 |
36일차 IP Spoofing 이어서 , DHCP Spoofing (0) | 2017.03.30 |
35일차 TCP/IP ARP Spoofing (0) | 2017.03.29 |