이전에 암호화에 대해 정리한거 같은데 계속이해가 안되서 다시 한번 정리합니다...

대칭키 암호(Symmetric-key Cryptography)

대칭키 암호란 암호화에 사용되는 암호화 키와 복호화에 사용되는 함호화키가 동일한 암호화 기법입니다.

대칭키 암호 방식으로 암호화한 정보를 누군가에게 보낼 때 암호키도 함께 보내야하는데  암호키 자체는 암호화가 되지 않은 평문으로 분실하거나 타인에게 노출되면 보안에 매우 취약해집니다. 키 전달 및 관리에 어려움이 있지만 대칭키 암호는 암호화 연산 속도가 빠르기 때문에 효율적인 암호 시스템을 구축할 수 있다는 장점이 있습니다.

대칭키 암호화 방식은 데이터를 변환하는 방식에 따라 블록암호와 스트림 암호로 구분됩니다.

블록암호

블록암호는 고정된 크기의 블록 단위로 암호화, 복호화 연산을 수행하는 대칭키 암호화 방식이며 암호키 크기에 따라 64~256비트 블록 크기로 연산을 수행합니다.

블록암호 알고리즘은 평문 블록을 암호 블록으로 만들 때 적용되는 방식에 따라 파이스텔 블록 구조와 SPN 블록 구조로 구분됩니다.

파이스텔 블록 구조는 입력되는 평문 블록을 좌우 두 개 블록으로 분할하고, 좌측 블록을 파이스텔 함수라 불리는 라운드 함수를 적용하여 출력된 결과를 우측 블록에 적용하는 과정을 반복적으로 수행합니다. 파이스텔 블록구조를 채택한 블록암호는 DES가 있습니다.

SPN 블록 구조는 평문 블록을 분할하지 않고 전체 블록을 적용하는 방식으로 라운드 함수의 역함수를 구해야 하는 어려움이 있는 구조지만 컴퓨팅 속도의 발전으로 어려움을 극복할 수 있게 되었습니다. SPN 블록 구조를 채택한 블록암호는 AES가 있습니다.

DES (요즘안씀)

 56비트라는 작은 암호키로 인해 암호화를 해도 깰 수가 있습니다(..) 이를 보완하여 3DES가 나왔지만 기본 알고리즘은 DES와 동일합니다. (DES를 3번 돌림) 보완적인 요소는 증가했지만 성능은 저하되었습니다.

AES

DES를 대체하기 위해 나왔으며 키의 크기는 128, 192, 256 비트를 지원하고 암호 블록 크기는 128비트입니다. 아직까지는 해독된 사례가 없어서 안전성이 보장된 알고리즘이라 할 수 있습니다.

공개키 암호(Public-key Cryptography)

공개키 암호는 대칭키 암호의 키 전달에 있어서 취약점을 해결하고자 한 노력의 결과로 탄생한 암호 방식입니다. 공개키 암호는 한 쌍의 키가 존재하며, 하나는 특정 사람만이 가지는 개인키(또는 비밀키)이고 다른 하나는 누구나 가질 수 있는 공개키입니다.

개인키로 암호화 한 정보는 그 쌍이 되는 공개키로만 복호화 가능하고, 반대로 공개키로 암호화 한 정보는 그 쌍이 되는 개인키로만 복호화가 가능합니다. 즉 공개키 암호 방식은 암호화할 때 사용하는 암호키와 복호화할 때 사용하는 암호키가 서로 다르기 때문에 비대칭키 암호라고도 합니다. 공개키 암호는 키 전달 문제를 해결했지만 암호화, 복호화를 위해 복잡한 수학연산을 수행하기 때문에 대칭키에 비해 속도가 느립니다. 

대칭키 암호의 장점과 공개키 암호의 장점을 채택하여 용량이 큰 정보는 대칭키로 암호화하고, 암호화에 사용된 대칭키는 공개키로 암호화하여 대상에게 전달하는 하이브리드 암호화 방법이 일반적으로 활용되고 있습니다.

공개키 기반 구조

특정 사람의 개인키와 공개키는 어떻게 생성할 것이며, 어떻게 배포할 것이고, 어떻게 관리해야하는 이슈가 존재합니다. 또한 어떤 공개키가 특정한 사람의 공개키라는 것을 어떻게 보장할 수 있는지에 대한 이슈도 존재합니다.

이를 해결하기 위해 디지털 인증서를 도입하였고 이를 활용하는 소프트웨어, 하드웨어, 정책, 제도, 사용자 등을 총칭해서 공개키 기반 구조라고 합니다.

RSA

RSA는 대표적인 공개키입니다.

'보안' 카테고리의 다른 글

무차별 대입 공격 (Brute Force Attack)  (0) 2017.03.27
SSL (Secure Socket Layer)  (0) 2017.03.27
암호 (대칭키 암호, 공개키 암호)  (1) 2017.03.14
블록 암호 운용 방식 (block cipher modes of operation)  (1) 2017.02.18
CSRF란?  (0) 2017.01.16
XSS공격이란  (0) 2017.01.16
  1. 선문기 2019.02.20 20:29 신고

    공개키는 대칭키의 키전달의 약점을 해결하고자 한것이라 하는데 그럼 대칭키처럼 키가 동일하다는 것을 기반으로 한건가요? 밑에 글보니 그건또아니어서요..
    정의를 정확히 해주셔야할듯합니다.

+ Random Posts