본문 바로가기
정보보안 지망이!/Windows 심화

Window2_ [암호학] 암호화 방식 (대칭키, 공개키)

by Edes Kim 2020. 7. 3.

[암호학]

- 초기의 암호는 메시지 보안에 초점을 두어 군사, 외교적 목적으로 사용되었지만,

- 현재는 인증, 서명등에서도 암호를 적용시켜 사용한다. 

  (현금 지급기의 사용, 컴퓨터의 패스워드, 전자 상거래 등)

 

스키테일 :

Steganography

: 특정 정보를 이미지 파일이나 MP3파일에 숨기는 암호학 기술 (은닉)

픽셀의 각각에 수학식을 집어 넣어 해당 수학식을 벗겨내면 전혀 다른 그림이 표현되는 방식

엘리스와

: 암호학에서 대상을 alias로서 이름지어 A사용자를 Alis. B는 Bob으로 가명을 지어 암호학을 설명할때 사용한다.

디피-헬만-키-교환

: 암호 키를 교환하는 하나의 방법으로, 두 사람이 암호화되지 않은 통신망을 통해 공통의 비밀 키를 공유할수 있도록 한다.


<암호화 3대 요소>

기밀성 : 허가 받지 않은 사용자의 내용 접근 차단.
무결성 : 부적절한 변경, 변조 차단.

가용성 : 부적절한 서비스 거부 ( 허가된 사용자에게는 언제든지 사용가능한 상태로 만들어 주는 것)

 

+ 부인 봉쇄 : 수신자가 받지 못하였거나, 송신자가 보내지 않는 메시지의 수신 여부 확인  ex) 디지털 서명


# 대칭 키 암호화 방식

암호화할 때 사용하는 키와 복호화 할때 사용하는 키가 동일한 암호 시스템

ex) OPT (One Time Pad)

        냉전시절 워싱턴-모스크바 사이의 hot line에 적용됬던 대칭키 암호 시스템

Alice 와 Bob 은 같은 키를 공유하고 있어야 한다. 
Alice는 공유한 키로 암호화를 하며, Bob 은 같은 키로 이를 복호화 한다.

 

[장점] 암호문의 작성자와 이의 수신자가 동일한 키를 비밀리에 관리해야 하므로

             -> 폐쇄적인 특성을 갖는 사용자 그룹에 적합한 암호 시스템이다. (데이터 통신에 사용)

[단점] 1:N 통신의 경우, 참여자가 많아질수록 관리해야 하는 키의 갯수가 큰 폭으로 늘어나면서 키 관리가 복잡해 진다.

            -> 대칭키만 중간에서 획득하면 누구든 복호화 가능

 

* 평문 : 일반인 누구나 읽을 수 있는 문서

 

- 대칭키에서 사용되는 알고리즘의 종류

1. DES : 블록단위로 데이터를 암호화하는 대칭키 알고리즘 (뚫렸음..)

 

2. AES : DES의 대체목적으로 탄생한 대칭키 알고리즘

               미국 국립 표준원에서 개최한 공모전에서 우수성을 인정

              AES : 최신기술이며 ' 훌륭한 표준'으로 간주된다.

           이는 단순히 알려진 취약점이 없으며 미국 정부와 기관이 '보안' 데이터를 보호하기 위해 채택했기 때문이다.

           128비트 라는 블록크기 덕분에 비교적 Blowfish(64비트) 보다 더 큰 파일을 잘 처리할 수 있다. 

 

3. SEED : 한국 인터넷 진흥원 기술진이 개발한 대칭키 알고리즘 (안전성 검사를 받지 않아서 한국에서만 사용됨.)

                  국내 인터넷 뱅킹에 사용됨.

 

- 대칭키의 키 교환 방식 

1. 디피헬만 키 교환 방식 

2. preshared 방식

3. key rapping (RSA방식을 이용해서 서로 동일한 키 값을 전달 받는것)


# 공개키 암호화 방식

(= 비대칭 암호 시스템 )

공개키 암호 시스템에서 각 사용자는 두 개의 키를 부여 받는다. 그 하나는 Public Key이며, 다른 하나는 사용자에 의해 비밀리에 관리되는 Private Key이다. 공개키 암호 시스템에서는 각 사용자의 공개키를 관리하는 공개키 관리 시스템 (공개키 디렉터리)이 필요하며 ,각 사용자는 이 시스템에 자유롭게 접근하여 다른 사용자의 공개키를 열람할 수 있어야 한다.

 

-> 쉽게 말하자면, 공개키로 암호화하고 공개키와 매칭되는 개인키로만 복호화 할수 있는 방식이다.

두 사용자 에게는 각각 공캐키와 비밀키가 부여되었고, 이들의 공개키는 공개키 디렉터리에 저장되어있다. 
Alice 는 공개키 디렉터리에서 Bob 의 공개키를 찾아 이를 이용하여 문서를 암호화하여 Bob 에게 보낸다. 
Bob 은 수신한 비밀 문서를 자신만이 알고있는 자신의 비밀키로 복호화하여 Alice가 보낸 문서의 내용을 알 수 있다.
공개키 만으로는 복호화가 불가능하기 때문에, Alice 역시 암호화 하고나서 복원할 수 없다는 특징이 있다. 

1. Alice 는 Alice의 개인키로 서명

2. Alice 는 Bob의 공개키로 암호화

3. Bob 은 Alice 의 공개키로 서명 확인

4. Bob 은 Bob의 개인키로 복호화

 

+ 공개키 암호 시스템에서 암호화-복호화 시스템은 두 키가 짝으로 동작하기 때문에, 비밀키로 암호화 하고 복호화 할수도 있다.

이 경우에는 해당 공개키에 맞는 비밀키 보유자를 확인 할 수 있으며, 전자 서명에서는 이런 성질을 이용한다. => RSA

 

* RSA ( Ron Rivest, Adi Shamir, Leonard Adleman)    >> 뚫렸음...

: 공개키와 개인키로 분류

  이산 대수, 소인수 분해를 이용하여 공개키/개인키를 인증

  기밀성, 키 분배, 인증분야에서 사용됨

 

[장점] 키 관리가 비교적 편하다 -> 1:N 통신에 좋다.

[단점]  공개키 암호 시스템두 키의 수학적 특성에 기반하기 때문에, 메시지를 암호화 및 복호화 하는 과정에 여러 단계의 산술 연산이 들어간다.  따라서 대칭키 암호 시스템에 비하여 속도가 매우 느리다. (데이터 통신에 사용 x)

 

 

# PKIP