Today I Learned …
[정보보안기사] 3강 정리 : 암호학 본문
* 개인적인 공부 내용을 기록한 글입니다.
PART 02 암호학 : 단원 개관
Ⅰ. 암호시스템 분류
Ⅱ. 암호 기법의 분류
ⅰ. 치환 vs 전치
ⅱ. 링크 암호화 vs 종단간 암호화
ⅲ. 스트림 vs 블록
ⅳ. HW 기반 vs SW 기반
Ⅲ. 암호공격의 분류
ⅰ. 암호문 단독공격
ⅱ. 기지평문 공격 (= 알려진 평문 공격)
ⅲ. 선택 평문 공격
ⅳ. 선택 암호문 공격
Ⅳ. 디지털 저작권 관리
ⅰ. 스테가노그래피
ⅱ. 디지털 워터마킹
ⅲ. 핑거프린팅
ⅳ. DRM
3강 정리 : 암호학
암호학(Cryptology)
[1] 암호기술(Cryptography)
① 암호화 기술 : 대칭키, 공개키
② 암호 프로토콜 기술
⑴ 기본 : 개인식별, 인증, 전자서명
⑵ 응용 : 전자화폐, 전자결제
[2] 암호해독(Cryptanalysis)
암호에서 사용하는 이름
Ron Rivest가 1979년 처음 사용
[1] 앨리스(A) → 밥(B)
[2] 이브(Eve) : 도청자, 소극적 공격자
[3] 맬로리(Mallory) : 메일 수정, 적극적 공격자
[4] 트렌트(Trent) : 중재자, 제3자
[5] 빅터(Victor) : 의도된 거래나 통신이 실제로 발생했음을 검증할 때 등장
이브 = 사람, 도청용 기계, 프로그램 등
암호와 기밀성
평문 → [암호화 알고리즘] + 키 → 암호문
암호문 → [복호화 알고리즘] + 키 → 평문
앨리스와 밥은 암호를 사용함 ⇒ 메일의 기밀성(C) 유지
* 도청자가 보는 것은 암호문뿐이다.
암호시스템의 신뢰성
[1] 정통 수학에 기초를 둔다.
[2] 테스트 기간을 거쳐야 한다.
암호화와 복호화의 기호적 표현 ★★★
[1] C = Eₖ(P)
평문(P)을 키(K)로 암호화하여(E) 암호문(C)을 얻는다.
[2] P = Dₖ(C)
암호문(C)을 키(K)로 복호화하여(D) 평문(P)을 얻는다.
* P = Plain text
* C = Cipher text
* E = Encryption
* D = Decryption
암호 알고리즘 vs 키
[1] 암호 알고리즘 : 반복해서 사용, 「변경 가능한 부분」을 포함한다.
[2] 키 : 암호 알고리즘의 「변경 가능한 부분」이다.
암호화키/복호화키
[1] 대칭키
[키] = [키]
키배송 문제
[2] 비대칭키
[개인키 | 공개키]
수학적 원리에 의해 산출됨
혼용되는 용어
대칭키 = Secret Key = Shared Key = Session Key(HTTP)
비대칭키 = Private Key + Public Key
Private Key는 종종 Secret Key라고 지칭된다.
반대의 경우는 X
암호와 보안 상식
[1] 비밀 암호 알고리즘 사용 X
숨기는 것에 의한 보안(Security by Obscurity)는 위험하고 어리석은 것이다.
cf) 키는 숨김
[2] 약한 암호는 암호화하지 않는 것보다 위험하다.
「잘못된 안심」 때문
[3] 어떤 암호라도 언젠가는 해독된다.
[암호문이 해독되기까지 들어가는 시간]과 [암호가 보호하는 평문]의 가치 밸런스(Trade-off)가 중요하다.
[4] 암호는 보안의 아주 작은 부분이다.
사회공학 공격
가장 약한 링크는 암호가 아니라 사람이다.
좋은 암호방식
암/복호화는 쉽고 빠르지만 해독은 어려운 시스템일수록 좋다! ⇒ 공격자를 어렵게!
치환 암호 vs 전치 암호 ★★★★★
[1] 치환 암호(대치 암호) : 대체
{평문문자집합}≠{암호문문자집합}
「교환하는 규칙」 : 일대일 아니어도 상관X
* 단일문자 암호 : 일대일
* 다중문자 암호 : 일대다
[2] 전치 암호(순열=Permutation) : 재배열
{평문문자집합}={암호문문자집합}
「자리를 바꾸는 규칙」 : 일대일 대응 규칙
암호문 [!@#$%........] 치환 「바꿔치기」 {평문문자집합}≠{암호문문자집합}
↑
평문 [I LOVE YOU]
↓
암호문 [OLIYEV........] 전치 「위치바꾸기」 {평문문자집합}={암호문문자집합}
키 스페이스(Key Space)
≒ 키 도메인 (Key Domain) : 무차별공격(Brute Force)와 관련됨
무차별공격 ≒ 전수조사공격, 라운드로빈법, 이잡기법
전사 공격 방지에 매우 중요 ⇒ 크면 클수록 안전
키 스페이스↑ ⇒ 특정 키를 지정하는 키의 비트수↑
예시)
8비트 숫자를 예시로 암호화 방식별 키 스페이스를 계산해본다.
[1] 전치 암호화
키 공간 크기 : 8!
전치 암호화를 위한 키의 비트수 : log₂8!
[2] 치환 암호화
키 공간 크기 : 2⁸!
전치 암호화를 위한 키의 비트수 : log₂2⁸!
* 키 공간의 크기 : 암호화 키가 가질 수 있는 경우의 수의 총합
* 키 비트수 : log₂키공간의크기
n비트 기준)
[1] 전치 시 키 스페이스 : n!
[2] 치환 시 키 스페이스 : 2ⁿ!
블록 암호 vs 스트림 암호 ★★★
[1] 블록 암호
높은 확산(Diffusion=흩뿌리기)
블록의 크기는 8비트(ASCII) 또는 16비트(Unicode)에 비례
Round 사용 : 몇 회전을 시켰느냐
IV : 초기화벡터
블록 단위로 처리가 완료되므로 내부상태(=메모리값) 가질 필요 X
[2] 스트림 암호
낮은 확산
평문과 키 스트림을 XOR하여 생성
왜?
* XOR 연산
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0
50:50으로 공격자가 빈도분석하기 어렵기때문에 보안적으로 좋다고 본다.
데이터의 흐름을 순차적으로 처리해가기 때문에 내부상태(메모리값)를 가지고 있음
이동 통신 등의 무선 데이터 보호에 적합
* 무선 데이터 보호 : WEP - WPA1 - WPA2
WEP & WPA1 ⇒ RC4(스트림)
WPA2 ⇒ AES(블록)
* 스트림 XOR 암호화 과정
1000 1100 평 암
+ 1010 1010 키 호
0010 0110 암 화 복
+ 1010 1010 키 호
1000 1100 평 화
위치에 따른 암호화의 구분 → VPN 관련
[1] 링크 암호화
[2] 종단간 암호화
* 홉(Hop)=라우터
[1] 링크 암호화(Link Encryption)
패킷의 헤더 부분을 해독하여 정보를 읽고 다시 암호화한 후 진행 방향으로 보낸다.
온라인 암호화
User-transparent ⇒ 운영이 간단
[2] 종단간 암호화(End-to-End Encryption)
패킷을 각 홉에서 해독하고 암호화할 필요 X
애플리케이션 계층(L7)에서 암호화가 이루어진다.
오프라인 암호화
사용자 인증 등 높은 수준의 보안 서비스를 제공 가능
┌ End-node ┌ End-node
A → R1 → R2 → B
종단간 암 ────── 복 (A,B) | 메시지
링크 암→복/암→복/암→복 New IP | (A,B) | 메시지
└ (A,R1)(R1,R2)(R2,B)
* L6~L1 ⇒ Transparent
하드웨어(HW) vs 소프트웨어(SW)
[1] 하드웨어 암호시스템
전용 하드웨어로 암호화(ASIC)
[2] 소프트웨어 암호시스템
암호처리용 소프트웨어를 사용
'Security > 정보보안기사' 카테고리의 다른 글
[정보보안기사] 5강 정리 : 대칭키 암호 (1) | 2021.12.27 |
---|---|
[정보보안기사] 4강 정리 : 암호학 (0) | 2021.12.01 |
[정보보안기사] 2강 정리 : 정보보호관리의 개념 (0) | 2021.11.25 |
[정보보안기사] 1강 정리 : 정보보호관리의 개념 (0) | 2021.11.24 |
[정보보안기사] OT 정리 및 공부 계획 (0) | 2021.11.24 |