🔐 암호화의 정의와 용어 정리
- 암호화 목적 : 송신자와 수신자간 메시지를 어떤 경로에서든 도청자가 볼 수 없도록 지켜주는 것
- 암호 : 메시지나 기타 정보를 마구 뒤섞어서 상대방이 쉽게 읽을 수 없게 하는 방법
- 암호화를 하는 이유 : 데이터를 가공하지 않고 원문 그대로 보내면 데이터는 안전하지 않음
- 암호화 : 메시지의 존재를 숨기는 것이 아니라 메시지의 의미를 감추는 것
- 발신자와 수신자가 사전에 상호 협의한 알고리즘 사용 → 기밀성 보장
- 암호화 과정 : 평문이 암호화 알고리즘 + 키를 거쳐 암호문이 된다.
- 암호화 알고리즘 : 평문을 암호문으로 만드는 절차
- 복호화 : 암호문을 정당한 수신자가 평문으로 바꾸는 것 (암호문의 반대 과정)
- 과정 : 암호문이 복호화 알고리즘 + 키를 거쳐 평문이 된다.
- 복호화 알고리즘 : 암호문을 평문으로 만드는 절차
- 평문 : 암호화 하기 전의 일반 메시지
- 암호문 : 암호화 한 후의 메시지 (도청자가 얻게 되는 것은 암호문)
- 키 : 평문을 암호문으로 만들거나 암호문을 평문으로 만들 때 사용되는 열쇠
🔑 대칭 암호와 비대칭 암호
- 키의 사용방법에 따라 대칭 암호와 비대칭 암호로 구분된다.
- 1. 대칭 암호
- 암호화에 사용하는 키와 복호화에 사용하는 키가 동일한 방식
- 전송된 데이터의 무결성을 제공하는 기술
- 대칭키 알고리즘의 종류 : 블록 암호(블록 단위 암호화), 스트림 암호(매 스트림 암호화)
- 대칭키의 안전한 사용방법 :
1) 강력한 알고리즘 필요
2) 송신자 수신자가 비밀키를 가지고 있어야 함
3) 비밀키는 안전하게 보관해야 함 - 대칭키 암호화의 문제점 : 대칭키를 어떻게 전송할 것인가 + 송수신자 모두 대칭키 알아야 함
→ 해결책 : 공개 키 사용 (키를 누구나 가지게 한다)
- 2. 비대칭 암호
- 암호화에 사용하는 키와 복호화에 사용하는 키가 서로 다른 방식
- 공개 키 암호화 방식 ( = 비대칭 암호화, 단일 키 암호화와 정 반대 개념 )
- 2개의 키를 가짐 ( 공개키 : 메시지 암호화 / 개인키 : 메시지 복호화 )
- 사설키(개인키)를 사용하여 메시지를 복호화하는 개념
- 수신자 본인만 메시지 해독 가능
- Pretty Good Privacy(PGP) : 공개키 방식을 활용한 어플리케이션
🔒 대칭 암호와 비대칭 암호의 활용
- 전자 서명 : 문서 서명 (인감, 사인)에 해당하는 기능을 컴퓨터 세계에서 실현하기 위한 기술
- 공개키 방식 활용
- 사용 목적 : 메시지 발신인의 신원 보증 (부인방지)
- 기밀성은 보장 안됨, 서명 변경 가능
→ 전자 서명은 변경 못하게 막는 방지가 아닌 문서에 변경 행위 있었는지 검출 하는 것 - 전자 서명은 메시지를 숨기는 것이 X, 메시지가 누구로부터 왔다는 것을 확인하는 기술
- 디지털 서명과 공개키
- 메시지를 개인키로 암호화하는 것이 서명 작성
- 암호화된 메시지는 공개키를 가지고 있으면 볼 수 있음
- 해싱
- 다양한 길이의 메시지를 고정길이의 해쉬 값, 메시지로 변환하는 기술
- 특별한 특징을 가진 일종의 크립토그래피 알고리즘
→ 일방통행 : 메시지를 역해시 할 수 없음 - 해커로부터 비밀번호 지키는데 활용 → 윈도우, 리눅스 OS는 패스워드 암호화, 저장에 사용
- 입력이 너무 짧거나 긴 경우, 해쉬 값 또는 메시지의 길이는 변할 수 있다.
- Pretty Good Privacy(PGP)
- 인터넷 전자우편을 암호화하고 복호화하는데 사용되는 프로그램
- 1991년 개발, 프리웨어
- 메시지가 전달 도중 변경되지 않았음을 확신할 수 있도록 해주는 전자서명 보낼 때 사용
- 공개키와 비밀키 : PGP 사용해서 암호화된 메일 주고 받을 때 필요
* 이 게시글은 K-MOOC 정보보호와 보안의 기초 (링크) 강의를 듣고 개인 학습용으로 정리한 내용입니다.
'학습 정리 > 🦴 CS Study' 카테고리의 다른 글
7. 디지털 포렌식 (0) | 2022.12.11 |
---|---|
6. 컴퓨터 바이러스, 웜, 트로이 목마 (0) | 2022.12.11 |
4. 네트워크 보안 (0) | 2022.12.11 |
3. 네트워크 이해 (0) | 2022.12.11 |
2. 소프트웨어 보안, 악성 코드 (0) | 2022.12.11 |