대칭키와 공개키

ujin·2022년 11월 20일
0

네트워크

목록 보기
5/9

대칭키

암호화에 쓰이는 키와 복호화에 쓰이는 키가 동일한 기법이다.

어떠한 정보가 대칭키를 통해 암호화 되었다면, 똑같은 키를 갖고 있는 사용자가 아니면 해당 정보를 확인 할 수 없다. 따라서, 암호화 된 정보를 전달하고 확인하기 위해서는 송.수신자 둘 다 똑같은 키를 가지고 있어야 한다.

장단점

공개키 암호화 방식에 비해 속도가 빠르다는 장점이 있지만, 키를 교환해야한다는 문제 (키 배송 문제)가 발생한다.

키가 탈취될 수도 있는 문제도 있고 사람이 증가할수록 전부 따로따로 키교환을 해야하기 때문에 관리해야 할 키가 방대하게 많다

공개키 (비대칭키)

공개키와 개인키(비밀키)라는 2가지 키를 사용하는 기법이다.

비대칭키를 활용한 암호화는 개인키로 암호화를 하는 방식과 공개키로 암호화를 하는 방식 두 가지로 나뉘게 된다.

  1. 공개키로 정보를 암호화하는 경우

    공개키는 누구나 알 수 있도록 공개된 키이므로, 어떤 정보를 특정 사용자에게 보낼 때 해당 사용자의 공개키를 통해 정보를 암호화하여 전송한다.

    예를 들면, 부산에 살고 있는 철수는 누구나 알 수 있는 영희의 공개키를 통해 보물상자를 암호화 한 후 영희에게 보낸다.

    이 보물상자는 영희의 공개키로 암호화 되었기 때무에 열어볼려면 영희의 개인키가 필요하다. (공개키로 암호화 되었다면 개인키로 해제할 수 있다. 공개키로 해제 불가능)

    하지만 영희의 개인키는 영희 자기자신만 자기고 있기 때문에, 받아 본 보물상자를 안전하게 열어볼 수 있다.

  2. 개인키로 정보를 암호화하는 경우

    개인키는 자신만이 가지고 있는 키이므로, 어떠한 정보를 특정 사용자에게 보낼 때 자기자신의 개인키를 통해 정보를 암호화하여 전송한다.

    예를 들면, 부산에 살고 있는 철수는 자신만의 개인키를 통해 보물상자를 암호화하여 영희에게 보낸다. 이 보물상자는 철수의 개인키를 통해 암호화 되었기 때문에, 철수의 공개키가 있어야만이 열어볼 수 있다.

    하지만 철수의 공개키틑 누구나 알 수 있도록 공개가 되어있다. 따라서 영의는 보물상자를 받아 본 후 공개되되어있는 철수의 공개키를 통해 볼 수 있다.

    1. Q.A

      Q. 그렇다면 다른 사람들이 이 보물상자를 중간에 가로챈다면 공개된 철수의 공개키를 통해 보물상자를 열어볼 수 있지 않나요 ?

      A. 맞습니다. 누구나 열어볼 수 있다.

      Q. 그럼 보안에 취약한게 아닌가요? 왜 이런 방법을 쓰나요?

      A. 이러한 방법은 ‘보물상자 안에 뭐가 들었냐’보다는 ‘이 보물상자를 누가 보냈냐’에 초점을 둔 방법이다.

      즉 철수의 개인키로 암호화 한 보물상자는 철수의 공개키를 통해서 열어볼 수 있기 때문에, 만약 어떤 보물상자가 철수의 공개키로 열린다면, 이 보물상자는 철수가 보낸게 확실하다는 뜻이다.

      이러한 기술은 데이터 제공자의 신원이 보장되는 ‘전자서명’등의 공인인증체계의 기본이 된다.

장단점

장점

  • 사용자가 증가하더라고 관리해야 할 키의 개수가 상대적으로 적다
  • Key 전달이나 교한에 적합하다
  • 인증과 전자 서명에 이용
  • 대칭키보다 확장성이 좋다

단점

  • 키 길이가 길다
  • 복잡한 수학적 연산을 이용함으로 암호화/복호화 속도가 느리다
  • 중간에 인증과정이 없으므로 중간자 공격에 취약하다(전자서명, 인증서 등으로 해결)

대칭키 vs. 공개키 사용 예

대칭키로 암호화하면 인증 과정에 중점을 두고

공개키로 암호화하면 Data 보안에 중점을 둔다.

대칭키

  • 개인키의 소유자자가 개인키로 data를 암호화하고 공개키와 함께 전달
    이 과정에서 공개키와 data를 획득한 사람은 공개키를 이용하여 복호화가 가능
  • 이런 위험에도 불구하고 이 방법을 사용하는 이유는 data 보호의 목적 보다는 공개키 data 제공자의 신원을 보장해주기 때문
  • 암호화된 data가 공개키로 복호화 된다는 것은 공개키와 쌍을 이루는 개인키에 의해서 암호화 되었다는 것을 의미한다. 즉, data 제공자의 신원 확인이 보장
  • 이 방법이 공인인증체계의 기본 바탕이 되는 전자 서명

공개키

  • 상대방이 송신한 공개키로 data를 암호화 하고 전송
    → data를 수신한 사람은 자신의 개인키로 수신한 data를 복호화
  • A키로 암호화 한다면, B키로 복호화가 가능하고, B키로 암호화를 한다면 A키로 복호화 가능
  • 공개키는 널리 배포될 수 있기 때문에 많은 사람들이 한 명의 개인키 소유자에게 data를 보낼 수 있다.

요약

  1. 대칭키 암호화는 똑같은 개인키를 송.수신자가 공유하여 정보를 암/복호화 하는 것을 의미한다.

  2. 비대칭키 암호화는 공개키와 개인키를 각각 암호화/복호화에 적용하여 암/복호화 하는 것을 의미한다.

    1. 상대방의 공개키를 통한 암호화, 상대방이 개인키를 통한 복호화

      : 정보 자체에 대한 암호화가 필요 할 때 사용

    2. 자신의 개인키를 통한 암호화, 자신의 공개키를 통한 복호화

      : 정보를 생산(송신)한 사람의 신원에 대한 정보가 필요할 때 사용

  3. 비교

profile
개발공부일기

0개의 댓글