CS 지식/보안
네트워크에 보안 - 기밀성
윤씅
2024. 8. 9. 19:20
∎ 안전한 통신의 요소
기밀성(암호화), 메시지 무결성(체크섬), 종단점 인증(인증된 사용자), 운영 보안
∎ 암호화 과정
" 평문, 원문 ➔ 암호화 알고리즘 ➔ 암호문 "
- 암호화 알고리즘 : 암호화, 복호화를 할 때, 양쪽이 서로 알고 있어야하는 수단
- 암호화키 : 약속한 규칙
암호화 알고리즘은 잘 알려져 있어서, 키를 이용해 복원을 어렵게 해야한다
∎ 암호학적 강도를 높이는 법
혼돈과 확산을 이용
- 혼돈 : 암호문과 평문의 성질을 다르게, 난해하게 만드는 것
- 확산 : 평문 비트와 키 비트가 조금만 바뀌어도 암호문의 모든 비트에 영향을 주는 것
∎ 대칭키 암호화
(과거)
- 카이사르 암호 : 평문의 철자들을 k번째 뒤의 철자로 대체한다.
단일 문자 대응 암호 : 각 철자들을 고유한 대응 글자로 변환한다.
다중 문자 대응 암호화 : 단일 문자 대응법에서 위치에 따라 다르게 하는 것을 추가 시킨다.
(현재)
- 스트림 암호 :
- 블록 암호화 : 비트 블록 단위로 나누어 순열 테이블로 관리하고, 그것들을 다시 섞는데 그 과정을 여러 번 반복하여 암호화 한다. (DES, 3DES, AES 등이 있다)
- DES : 64비트의 블록 암호화 알고리즘, 56비트의 암호화 키로 암호화됨 (2^56가지 암호화키 생성)
(섞는 과정이 혼돈이며 이게 16번 이루어지므로 오래걸린다)
- 긴 메시지를 암호화 하기위한 ‘암호 블록 체이닝’(CBC) :
원래 암호화한 비트에 추가로 임의의 비트들을 집어넣어 중복된 문장이 없게 한다. 임의의 비트는 그 전 암호화한 비트로 하여 대역폭을 줄인다.
대칭 암호화 단점
대칭 암호화는 키가 많이 필요해서 분배할 때 어렵다. (키 교환 문제)
∎ 침입자의 공격 종류
- 어떠한 정보도 없이 암호문만을 이용한 공격
- 어느 정도 내용을 알고 있는 알려진 평문 공격
- 특정 평문을 선택하여 알아내는 선택 평문 공격
∎ 공개키 암호화
밥은 공개키와 개인키를 가지고 있고, 엘리스는 밥의 공개키를 가지고 암호화한 후, 밥은 개인키로 복호화 한다.
- 문제점 : 선택 평문 공격을 할 수 있다, 사칭해서 암호 메시지를 보낼 수 있다.
- RSA 알고리즘 : 보내는 사람이 두 소수(개인키)를 곱해 N(공개키)를 만들고, 그 공개키를 뿌리면 원하는 사람이 공개키과 알고리즘으로 암호화 한 후 다시 보냄.
개인키로 암호화 되면 공개키로 복호화 되고, 공개키로 암호화 되면 개인키로 복호화 된다.
∎ 공개키 암호화의 기능
기밀성과 부인 방지 (자신의 공개키 개인키를 확신할 수 있어서)
RSA
RSA가 긴 메시지를 보낼 때 비효율적이기 때문에 세션키를 이용하자.
RSA가 대칭키 암호화와 함께 사용될 때 공유 비밀키 : 세션키