ssoL2 TISTORY

Network Security - 2. 대칭 암호와 메시지 기밀성(2.1) 본문

sec/network

Network Security - 2. 대칭 암호와 메시지 기밀성(2.1)

ssoL2 2021. 4. 23. 14:53

목차

    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 사용의 문제점

    1. Key distribution : 대칭키는 양 측이 비밀리에 공유되어야 한다. 그러나, 지리적으로 떨어져있거나, 서로 알지 못하는 경우 키를 분배하기 어렵다.
    2. Massive key requirements : 각 유저마다 서로 키가 필요하다. 만약 n명의 유저가 존재하면, 서로 악수해야하는 경우와 동일하게 n*(n-1)/2개의 키가 필요하다. 그렇기 때문에 많은 키가 필요하다는 단점이 있다.
    3. Unlimited compromising power once broken : 만약 비밀키가 들어난다면, 공격자는 모든 트래픽을 복호화할 수 있고, 가짜 메시지를 생성할 수 있다. 상황이 끝없이 나빠질 수 있다.

    Stream vs Block cipher

    • Stream cipher(스트림 암호) : 원문의 하나의 기호를 즉시 암호문으로 변환한다.
    •  스트림 암호의 특징은 키가 랜덤하고 복잡하기 때문에 XOR 암호화만 해도 된다.

     

    • Block cipher(블록 암호) : 원문의 하나의 그룹을 하나의 블록으로 암호화한다.
    • 블록 암호의 특징은 키의 길이가 고정되어 간단하더라도 암호화 과정이 복잡하다.

    Types of Attacks

    Types of Attacks on Encrypted Messages

    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(시저 암호)
    1. c_i = E(p_i) = p_i + 3
    2. 그러나 frequency alalysis(빈도분석 공격)으로 해독될 수 있다.

    Caesar Cipher

    • Gold Bug
    1. 그러나 frequency alalysis(빈도분석 공격)으로 해독될 수 있다.

     

     

     

    gold bug

    • One-Time Pad(일회성 패드) 
    1. 길이가 길고 반복되지 않은 랜덤한 키이고, 이 키와 원문을 XOR하여 암호화한다.
    2. Data + Random = Random
    3. 그러나 단점으로 키 분배 문제와 큰 용량의 키가 필요하다.

    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