일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- vinetto
- 윈도우 프로세스
- network
- Multimeida
- 24시간의 전사
- 포렌식
- ZIP 파일구조
- 네트워크 보안
- Multimedia
- 윈도우 프로세스 종류
- memory
- disk
- pythonchallenge
- 슬퍼유
- 정보처리기사 필기 합격
- 생활코딩
- 생활코딩 html
- 디지털포렌식
- 2022시작
- html
- 디지털포렌식 with CTF
- Window process
- blkls
- CTF-D
- N0Named
- slack space
- 는 하지마...
- 네트워크관리사2급
- ftz
- 실기
Archives
- Today
- Total
ssoL2 TISTORY
Network Security - 2. 대칭 암호와 메시지 기밀성(2.1) 본문
목차
2. 대칭 암호와 메시지 기밀성
대칭 암호(symmetric encryption)
= 관용 암호(conventional encryption)
= 비밀키 암호(secret-key encryption)
= 단일키 암호(single-key encryption)
1970년 후반에 알려진 공개키가 개발되기 이전에 사용되던 유일한 암호이다.
2.1 대칭 암호 원리
대칭 암호란 동일한 키(대칭키)로 복호화와 암호화하는 암호이다.
Encrpytion (E) and Decryption (D)
- Plaintext (or cleaertext)(평문) : P = <p1, p2, ..., pn>
- Ciphertext(암호문) : C = <c1, c2, ..., cn>
- Encyption(암호화) <-> Decryption(복호화)
- C = E_k(P) : 입력으로 들어온 원문을 key를 사용하여 암호문으로 변환한다.
- P = D_k(C) : 암호문에 복호 알고리즘과 암호에 사용했던 동일한 키를 적용하여 원문을 복구해낸다.
- P=D(E(P)) : 원문을 암호화하고, 복호화하면 본연의 원문을 해석할 수 있다.
Encryption with keys
- 암호화 알고리즘은 키를 사용하지 않기도 한다. 그러나, 알고리즘이 광범위하게 사용된다면 알고리즘을 비밀로 유지하기 어렵다.
- 반면에, 키는 바꾸기도 쉽고 관리하기도 쉽다.
Symmetric Key(대칭키)
- 대칭키란, 복호화와 암호화 시 동일한 키로 사용하는데 이때 동일한 키를 대칭키라고 한다.
- P=D(K, E(K, P))
Symmetric Key 사용의 문제점
- Key distribution : 대칭키는 양 측이 비밀리에 공유되어야 한다. 그러나, 지리적으로 떨어져있거나, 서로 알지 못하는 경우 키를 분배하기 어렵다.
- Massive key requirements : 각 유저마다 서로 키가 필요하다. 만약 n명의 유저가 존재하면, 서로 악수해야하는 경우와 동일하게 n*(n-1)/2개의 키가 필요하다. 그렇기 때문에 많은 키가 필요하다는 단점이 있다.
- Unlimited compromising power once broken : 만약 비밀키가 들어난다면, 공격자는 모든 트래픽을 복호화할 수 있고, 가짜 메시지를 생성할 수 있다. 상황이 끝없이 나빠질 수 있다.
Stream vs Block cipher
- Stream cipher(스트림 암호) : 원문의 하나의 기호를 즉시 암호문으로 변환한다.
- 스트림 암호의 특징은 키가 랜덤하고 복잡하기 때문에 XOR 암호화만 해도 된다.
- Block cipher(블록 암호) : 원문의 하나의 그룹을 하나의 블록으로 암호화한다.
- 블록 암호의 특징은 키의 길이가 고정되어 간단하더라도 암호화 과정이 복잡하다.
Types of Attacks
1. Ciphertext only attack(암호문만 알고 있는 공격)
- 암호해독가가 알고 있는 정보 : 암호 알고리즘, 해독해야 할 암호문
2. Known plaintext attack(알려진 평문 공격)
- 암호 해독가가 알고 있는 정보 : 암호 알고리즘, 해독해야 할 암호문, 비밀키로 만들어진 한쌍 혹은 여러쌍의 평문-암호문
3. Chosen plaintext attack(선택 평문 공격)
- 암호 해독가가 알고 있는 정보 : 암호 알고리즘, 해독해야 할 암호문, 해독가가 선택한 평문 메시지와 비밀키로 그 평문을 암호화한 암호문
- ex) 미드웨이 해전
4. Chosen ciphertext(선택 암호문 공격)
- 암호 해독가가 알고 있는 정보 : 암호 알고리즘, 해독해야 할 암호문, 해독가가 목적을 갖고 선택한 암호문과 비밀키로 그 암호문을 복호화한 평문
Brute Force Key Search
- 전수공격 방법 : 대칭키 암호에서 키 공간의 모든 키를 시도해보는 방법으로서 키를 찾는 공격법
Substitution Cipher(치환 암호)
- UPPERCASE <-> lowercase : 대문자와 소문자를 치환
- Letters = numeric code : 알파벳을 숫자로 치환
- Caesar Cipher(시저 암호)
- c_i = E(p_i) = p_i + 3
- 그러나 frequency alalysis(빈도분석 공격)으로 해독될 수 있다.
- Gold Bug
- 그러나 frequency alalysis(빈도분석 공격)으로 해독될 수 있다.
- One-Time Pad(일회성 패드)
- 길이가 길고 반복되지 않은 랜덤한 키이고, 이 키와 원문을 XOR하여 암호화한다.
- Data + Random = Random
- 그러나 단점으로 키 분배 문제와 큰 용량의 키가 필요하다.
Transposition Cipher(전치 암호)
- Columna Transposition : column 단위로 변경한다.
- 전치 암호도 Frequency alalysis(빈도분석 공격)에 약하다.
따라서, 치환 암호와 전치 암호를 섞어서 사용하면 서로의 단점을 피할 수 있다.
S-P Networks
과거에 치환 암호와 전치 암호를 섞은 substitution-permutation(S-P) networks를 도입했고, 현대 암호에서 SP-Networks 아이디어를 기반으로 substitution (S-box)와 permutation(P-box)를 사용하고 있다.
'sec > network' 카테고리의 다른 글
Network Security - 2. 대칭 암호와 메시지 기밀성(2.1~2.2) (0) | 2021.04.23 |
---|---|
Network Security - 1. 개요 (0) | 2021.04.23 |
Comments