본문 바로가기

Server Infra/Security

보안 스터디 - 비대칭/하이브리드 암호화 (5/?)

728x90

Security를 공개키에 담기 위한 비대칭 암호화와 데이터를 공개 키에 담기 위한 하이브리드 암호화에 대해 요약해보려 한다. 책에서는 Chapter6에 해당한다.

비대칭 암호화?

Chapter1을 요약하면서 간단하게 설명하였는데 비대칭 암호화(공개 키 암호화 라고도 한다)를 자세히 알아보는 Chapter이다. 여기선 간단한 실 사례로 암호화된 이메일을 예로든다. 간단하게 다양한 사용자가 메일을 암호화 하여 특정 A라는 사용자에게 보낸다. A라는 사용자는 모든 메일을 복호화 하여 읽을 수 있다.

 

따라서 비대칭 암호화에 사용되는 키 생성 알고리즘에서는 개인키라고도 불리우는 비밀키과 공개키 두개를 생성하는 키 생성 알고리즘이 이 존재한다.

키 쌍 생성(보안 파라미터는 옵션이다. Openssl로 키 생성할때를 생각해보자)

이렇게 생성된 키 쌍을 가지고 upstream과 downstream간의 암복호 화가 아래와 같이 이루어진다.

여기까지는 대부분의 사람들이 잘 알고 있는 부분일 것이다. 그렇다면 비대칭 암호화를 사용하는 사례는 어떤것들이 있을까 보면 이 책에서는 두가지 사례를 소개한다

  • 키 교환 : 비대칭 암호화 프리미티브를 사용하여 키 교환을 수행
  • 하이브리드 암호화 : 비대칭 암호화를 할 수 있는 최대 크기 제한으로 더 큰 메시지를 암호화 하는 방법

자 그렇다면 키 교환과 캡슐화가 어떻게 이루어지는지 한 장으로 알아보자

위처럼 비대칭 암호화를 하기 위한 대칭키를 생성하여 공개키로 암호화 하여 전달하는 형태로 키 교환이 이루어 질수 있다. 근데 잠깐? 이거 AWS KMS의 특정 암호화 방식과 매우 유사하다.(https://docs.aws.amazon.com/ko_kr/kms/latest/developerguide/concepts.html#asymmetric-keys-concept)

이 책에서는 키 교환에 RSA를 점점 덜 쓰는 추세라고 이야기 하지만 아직도 RSA는 상당히 많이 사용되고 있다. KMS또한 마찬가지. 그래서 아래의 구조와 매우 유사함이 느껴진다.

 자 그렇다면 이제 하이브리드 암호화를 알아보자. 하이브리드 암호화도 알아보니 AWS KMS의 봉투암호화와 매우 유사함을 느꼈다. 구조 자체는 비대칭 암호화와 매우 유사하다

수신지와 키 교환이후 인증 암호화 알고리즘을 통해 메시지를 암호화한다. 따라서 암호화 한 후 수신자가 대칭 키를 모르면 암호를 해독할 수 없다. 그래서 공개 키로 대칭키를 비대칭 암호화 한 다음 암호화된 대칭키와 암호문을 함께 넘겨주는 형태로 구성된다.

자 근데 이런 방식 또한 어디서 많이 보았다. 데이터를 암호화 하는 키를 public key로 암호화 하여 함께 보내는 방식. AWS SAA 시험에 단골 출제되는 봉투 암호화 방식과 동일하다고 보면 된다.

https://www.youtube.com/watch?v=B7JTWT3vfis

 

다음은 서명에 대해 정리해보겠다

728x90