정보보호영재원_중등기초

2021 06 12 일방향함수&대칭키와비대칭키 (1)

상세 2021. 6. 12. 11:36

1. 정보보호 3대 목표와 확장 5대 목표

  1) 기밀성

    권한이 없는 사용자에 의한 정보 조회 방지 

    합법적인 사용자만이 내용을 볼수 있는것

  2) 무결성

    합법적인 사용자만이 내용을 수정할수 있는것

  3) 가용성

    합법적인 사용자가 원할때 서비스를 제공하는것

  4) 인증

    진짜라는 성질을 확인할 수 있는 출처/신뢰 확인

    내가 진짜 OOO이 맞는지 인증하는것

  5) 책임추적성

    개체의 행동을 유일하게 추적 가능

    부인방지 (전자상거래를 통해 책을 주문했을때 받은 책에 대한 대금을 지불하려 하지 않을때 주문 한사람이

    주문했다 는 것을 증명

    전자상거래를 위한 기본 기술

-> 암호학은 정보보호전문가가 되기 위한 매우 중요한 주제이다.

 

2. 암호학 기본 용어

(P)평문 : 우리가 사람이 눈으로 직접 볼 수 있는 그 정보 자체

(E)암호화 : 암호화 알고리즘에다가 암호화 키를 입력할때 그 암호화 과정

(K)키 : 정당한 사용자만이 가지고 있는 암호화, 복호화 시사용되는 것

(C암호문 : 암호 알고리즘에 평문과 키값을 집어넣어 나온 것 

(D)복호화 : 암호문 -> 평문

 

이 단어들은 매우 중요하다. 용어들에 대한 정확한 숙지

 

미국 암호학 교과서에 나오는 명칭

Alice(송신자)Bob(수신자)

Eve(Eaverdropper) : 도청하는 수동 공격자

Mallory(Maliciouse) : 악의적인 능동 공격자

Trent(중재자) Victor(검증자)

 

C = E(Ke , P) 암호문 = 암호화알고리즘에 암호화 키(Ke)와 평문(P)을 넣어 만듬

P = D(Kd, C) 평문 = 복호화 알고리즘에 복호화 키(Kd) 암호문(C)를 넣어 평문을 구함

 

암호화, 복호화 과정을 손으로 쓰는 연습하기

 

3. 암호 알고리즘 분류

 

上 암호기술 

中 공개키 암호와 대칭키 암호로 나뉨

下 다시 대칭키 암호는 블록 암호, 스트림 암호로 나뉨

 

4. 대칭키 암호 알고리즘

Symmetric Cryptosystem =  대칭키 암호 알고리즘(가장 많이 쓰임) = 비밀키 암호 시스템 = 관용키 암호 시스템

영어를 자주보자

 

1) 특징

  * 오래됨 (이게 불편해서 공개키 암호 알고리즘이 나옴)

  * 암호키와 복호키가 동일

  * 알고리즘의 동작속도가 빠름 (해쉬함수 > 대칭키 암호 알고리즘 > 공개키 암호 알고리즘)

  * 키의 크기가 공개키 암호 시스템에 비해 작음

 

2) 암호화 및 복호화 과정

P(Plain text) ->   C(Cipher text)

E(P, Ke) = C

P(Plain text) <-  C(Cipher text)

D(C, Kd) = P

일때 Ke = Kd 는 같다 = 키값이 같다

 

키값을 사전에 분배, 전달, 공유 해야한다는 단점이 있다.

 

3) 특징

 * 암호키 = 복호키

 * 암호키(복호키)는 메시지 송, 수신자만이 인지

 * 메시지 수신자에게 복호키 전송 필요 (전성 방법, 전송 과정 안정성 문제 발생) , (키 분배 문제 발생)

 * 동작속도가 빠름

 * 전자서명에 적합하지 않음

 

대칭키 암호 알고리즘은 송수신을 하는 두 사용자 간에 키를 공유해야 하는 문제점이 있는데

이를 해결하는 가장 인간이 생각해낸 좋은 방법중 하나는 KDC를 이용한 방법이다 (Kerboros)

 

핵심요약 : 대칭키 암호 알고리즘은 키값이 같고 빠르지만 키의 공유 문제가 있다.

 

5. 공개키 암호 알고리즘

Asymmetric Cryptosystem = 공개키 암호 알고리즘 = 비대칭키 암호 시스템

 1) 특징 

  * 사용자당 2개의 키 소유

    개인키 : 사용자가 안전하게 보관

    공개키 : 일반에게 공개 (공개 게시판에 올려놓아야함)

 * 개인키와 공개키는 서로 다르다,

-> 공개키를 이용하여 개인키를 알아내기가 매우 어려움

-> 암호화, 복호화 키가 서로 다름

 * 키의 크기가 대칭키 암호 시스템에 비해 큼

 -> 알고리즘의 동작속도 느림 (100정도 느림

 

영어단어 먼저 학습 한글은 나중 학습

 

P(Plain text) -> 암호 C(Cipher text)

E(P, Ke) = C Ke 사용

 

P(Plain text) <- 복호 C(Cipher text)

D(C, Kd) = P Kd 사용

Ke ≠ Kd

 

2) 특징

 * 한 사용자당 2개의 키 (공개키, 비밀키) 소유

 * 개인키 

-> 사용자만이 알고 있는 키

-> 다른 사람에게 공개 X

-> 노출 시 보안 위협

 * 공개키

-> 다른 사람에게 공개되는 키

-> 누구나 조회 가능하지만 공개키로 개인키를 추론해 내기는 거의 불가능

3. 공개키 암호 알고리즘의 동작모드

1) 암호 모드

 * Encryption mode : 기밀성 서비스로 사용

 

2) 인증 모드

* Authentication mode

 * 메시지를 보낸 사람이 자신이 메시지를 보냈음을 확인

 * 메시지 출처 인증 목적

 

4. 암호 모드의 과정

 1) 전제 조건

 * 사용자마다 2개의 키 생성

 * 키 쌍중에 하나로 암호화하면 나머지 키로 복호화 해야 한다.

-> Alice(송신자)의 개인키로 암호화를 하면 Alice의 공개키로 암호화

Alice의 공개키로 하면Alice의 개인키로 암호화

Alice의 개인키로 암호화후 Bob의 공개키로 암호화는 불가

 

(1) Alice_Kpriv -> Alice_Kpub

(2) Alice_Kpub -> Alice_Kpriv

(3) Bob_Kpriv -> Bob_Kpub

(4) Bob_Kpub -> Bob_Kpriv

 

(2), (3)경우는 Alice의 개인키는 Alice만 Bob의 개인키는 Bob만 알아야 하므로 

사용 불가

 

(1)은 누구든지 암호문을 복호화 할 수 있지만 인증모드, 전자서명으로 사용

철수가 인터넷 쇼핑몰에서 의자를 구매하였는데 물건만 받고 돈을 내지 않고 계속 버티는 경우

전자서명을 이용하면 증명할수 있다.

-> 주문내역을 철수의 비밀키로 암호화해서 전송 -> 비밀키는 철수만 가지고 있으니 철수만 이 

주문 내역을 만들수 있다. 따라서 증명이 가능하다

 

(4)는 암호모드, 기밀성을위해 사용

Alice가 Bob의 공개키를 통해 평문을 암호화해서 보냈다. 

-> Bob의 비밀키를 통해서만 복호화가 가능하므로 Bob만이 볼수 있다.

 

요약 : 공개키 암호 알고리즘은 전자서명 서비스도 해준다. 대칭키 암호 알고리즘의 키의 분배, 공유, 전달 문제를

해결한다. 공개키 암호 알고리즘의 상업적 이용 -> RSA

 

2) 암호 모드

 * 송신자(Alice), 수신자(Bob)

 * Alice : Alice_Kpriv, Alice_Kpub

 * Bob : Bob_Kpriv,  Bob_Kpub

 

 * 메시지 : M

 * 암호과정 : E(M, Bob_Kpub) = C

 * 전송되는 메시지 : C

 * 복호과정은 D(C, Bob_Kpriv) = M

 

3) 인증 모드

* 송신자(Alice), 수신자(Bob)

 * Alice : Alice_Kpriv, Alice_Kpub

 * Bob : Bob_Kpriv,  Bob_Kpub

 

 * 메시지 : M

 * E(M, Alice_Kpriv) = C

 * 전송되는 메시지 : M + C (평문이 노출되도 상관 없으니 함께 전송한다.)

 * 복호과정 :  D(C, Alice_Kpub) = M'

 * 전송된 메시지 M 복호과정에서 생성된 M'을 비교한다.

 

암호 + 인증 모드는 복잡하고 나중에 설명하신다고 한다.

 

4) 특징

 * 사용잠다 2개의 키 배정

 -> 개인키, 공개키

 -> 개인키는 사용자만이 가질 수 있도록 비공개

 -> 공개키는 모두가 접근가능하도록 공개

 * 암호키 ≠ 공개키

 * 메시지 수신자에게 복호키 전송을 할 필요가 없다.

 * 동작 속도가 느리다

 * 전자 서명에 적합

 

정리하면서 강의를 들으니 이해가 잘된다. 대칭키 암호화 알고리즘과 비대칭키 암호화 알고리즘의수식과 개념이해도 잘 되었다. 문제는 다른 학생들이 강의를 2강까지 수강할때 난 방금 2강을 수강했다;;