대칭키

동일한 키로 암호화 및 복호화를 수행하는 방식이다. 예를 들어 우리가 특정한 데이터에 대해 <google> 이라는 키로 암호화를 수행하였다. 그리고 이 값을 다시 복호화하기 위해서는 <google> 이라는 키로 복호화를 수행하여야 한다. 대칭키의 단점은 만일 누군가 <google> 이라는 키를 획득하였다면 암호화된 데이터의 값을 쉽게 복호화할 수 있는 위험이 존재한다.


그리고 위와 같은 대칭키의 단점을 보완하기 위해서 나온 것이 비대칭키, 공개키 방식이다.


비대칭키

비대칭키는 두 개의 키가 존재한다. 하나는 특정한 데이터를 암호화하기 위한 키1과 암호화된 특정 데이터의 값을 복호화하기 위한 키2이다. 이 키1과 키2를 공개키 그리고 개인키(=비밀키) 라고 칭한다. 사실 비대칭키에서 어떤 키를 기준으로 암호화 하는 가에 따라서 보안의 중점사안이 달라진다.


(1) 공개키로 데이터를 암호화하는 경우, 데이터의 보안에 중점을 두는 방식이다.

(2) 개인키, 즉 비밀키로 암호화하는 경우, 사용자 인증과정에 중점을 두는 방식이다.


우선, (1) 의 사항을 살펴보자. 공개키로 데이터를 암호화한다.

1) A 가 공개키로 데이터를 암호화하여 B 에게 전달한다.

2) B 는 암호화된 데이터를 전달받고, 본인이 가진 개인키로 암호화된 데이터를 복호화한다.


여기서 A 와 B 라는 인물은 서로 공유하는 <공개키> 저장소가 존재하기 때문에 A 는 데이터를 암호화하기 이전에 <공개키> 저장소에서 B 의 공개키를 획득할 수 있는 것이다.


그리고 (2) 의 사항을 살펴보자. 개인키로 데이터를 암호화한다.

1) A 가 개인키로 데이터를 암호화하여 B 에게 전달한다.

2) B 는 공개키와 암호화된 데이터를 전달받고, 전달받은 공개키를 가지고 데이터를 복호화한다.


여기서 공개키로 암호화하여 데이터를 전달하는 방식은 위험하지만, 데이터 제공자의 신원을 보장할 수 있다. 암호화된 데이터가 전달받은 공개키로 복호화되었다는 것은 공개키와 쌍을 이루는 개인키에 의해 암호화되었다는 것을 의미하기 때문이다. 그리고 개인키 암호화를 전자 서명 혹은 디지털 서명 (Digital Signature) 이라고 부르기도 한다.


+) 추가사항 (20190309)

디지털 암호학에 관해서 약간 개념적으로 정리를 간략히 해보려고 한다.

  • 암호
    텍스트를 아무나 읽지 못하도록 인코딩 하는 알고리즘


  • 암호의 동작을 변경하는 숫자로 된 매개변수

  • 대칭키 암호체계 및 비대칭키 암호체계 및 공개키 암호법

  • 디지털 서명
    메시지가 위조 혹은 변조되지 않았음을 증명하는 체크섬

  • 디지털 인증서
    신뢰할 만한 조직에 의해 서명되고 검증된 신원 확인 정보


디지털 서명 (Digital Signing)

암호체계는 메시지를 암호화하고 해독하는 것뿐만 아니라, 누가 메시지를 썻는지 알려주고 그 메시지가 위조되지 않았음을 증명하기 위해 메시지에 서명을 하도록 하는데에 이용할 수 있다. 디지털 서명(digital signing) 이라 불리는 이 기법은 인터넷 보안 인증서에서 매우 중요하다.

  1. 서명은 암호 체크섬



Posted by doubler
,