[인터넷 보안] 매우 쉽게 외우는 대칭키 시스템

Robert.Yang·2023년 6월 17일

Security

목록 보기
3/9
post-thumbnail

이 포스트는 널널한 개발자님 강의를 참조하여 작성하였습니다.

매우 쉽게 외우는 대칭키 시스템

대칭키 (Symmetric Key)

  • 키 하나로 암호화/복호화를 모두 수행하는 방식
  • 비대칭키 방식에 비해 효율적이다.
  • DES, 3DES, SEED-128, ARIA, AES-128, AES-256 알고리즘이 유명하다.

이번 포스트부터 키 애기를 할려고 한다. 일반적으로 암호화 방식은 대칭키, 비대칭키 방식 2가지이다. 일단 여기서 핵심은 키가 몇개냐는 것이다. 대칭키는 키가 1개이고 비대칭키는 2개이다.

💡 참고
암호화 = 보안성 부여

대칭키는 키 1개로 암호화와 복호화를 진행한다. 근데 이런 것이 우리의 일상과 일치하는 부분이 있다. 예를 들면 자동차 키가 있는데 이 차 키로 자동차를 lock을 걸 수도 있지만 unlock을 할 수도 있다. 그러니까 자동차키나 암호키같은 것이 대칭키처럼 작동한다. 그리고 대칭키는 비대칭키에 비해 효율이 매우 뛰어나다. 그래서 대칭키 방식과 비대칭키 방식 어느것을 사용해도 상관이 없다면 대칭키 방식을 사용하도록 노력해야한다.

그러면 대칭키는 무엇일까? 생각보다 쉽다. 위의 그림처럼 정보들이 있고 회색그림의 2진수가 있다고 했을 때 중간에 파란 그림의 2진수처럼 아무 값을 넣고 xor연산을 하면 결과는 1001 0100(2)가 나올 것이다. 즉, 회색그림의 0x41이 0x91로 변경이 된 것이다. 그런데 신기한 것은 0x91로 파란색 2진수와 xor연산을 하면 0x41이 나오는 신기한 결과를 볼 수 있을 것이다. 그래서 회색정보를 평문 결과값을 암호문이라 하고 파란색 정보를 키라고 하는데 해당 키로 암호화 복호화 둘다 했으므로 대칭키라고 볼 수 있다.

물론 이렇게 실제 대칭키가 xor연산 하나로만은 동작하지는 않지만 대칭키 자체 개념을 이해하는데 집중을 위해 이렇게 설명한 것이다. 아무튼 대칭키 알고리즘들은 굉장히 많은데 이 중에 어느 알고리즘을 가더라도 나오는데 xor연산이다. 그래서 이 방식으로 정보가 왔다갔다 한다. 그리고 여기서 주목할께 key의 길이이다. 위의 그림은 8bit로 표현해서 경우의수가 2^8=256가지이고 되게 경우의수가 적기 때문에 쉽게 해킹이 가능한 경우다. 그래서 보안성을 위해 키의 길이를 증가시켜야 한다.

💡 참고
키 자체를 어려워하는 분들이 있는데 키 자체도 어느 2차 메모리에 담는 2진수의 정보이다. 즉 키는 어느 특정정보가 아니라 키로 활용되는 2진수의 정보라고 생각하면 쉬울 수도 있다.

그리고 대칭키는 키가 1개로 암호화, 복호화를 하기때문에 키의 보안성이 중요하다. 그래서 키를 안전하게 보관하는 것이 중요하다.

profile
모든 것을 즐길 줄 아는 개발자, 양성빈입니다.

0개의 댓글