Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

정보 보안에서 대칭 키 인증이란 무엇인가? 개념과 스마트카드 동작 원리

대칭 키(Symmetric Key)란 무엇인가?

대칭 키는 데이터를 암호화하고 복호화하는 데 동일한 키를 사용하는 방식을 의미합니다. 즉, 암호화된 데이터를 해독하려면 암호화할 때 사용한 것과 같은 키를 반드시 가지고 있어야 합니다.

대칭 암호화는 비대칭 암호화에 비해 일반적으로 처리 속도가 빠르고 효율적이기 때문에, 대량의 데이터를 주고받아야 하는 환경에서 선호됩니다. 다만 대칭 암호화 알고리즘만으로 양측이 공유할 키를 안전하게 만드는 것은 복잡하기 때문에, 경우에 따라서는 비대칭 암호화를 이용해 두 당사자 간의 공유 키를 생성하기도 합니다.

DES 알고리즘과 스마트카드 시스템

디지털 암호화 표준(DES, Digital Encryption Standard) 알고리즘은 스마트카드 시스템에서 널리 사용되는 대칭 키 암호화 방식입니다. 이 방식은 각 스마트카드와 CAD(Card Acceptance Device, 카드 접속 장치)에 저장된 비밀 암호화 키와 공개된 DES 알고리즘이 필요합니다.

대칭 키 인증의 진행 단계

  • 1단계 – 다양화 키 생성: 스마트카드가 마이크로프로세서 일련번호(I)를 CAD에 전송하면, CAD는 이 번호를 마스터 키(Mk)와 결합하여 해당 카드의 다양화 키(K)를 만듭니다. 발급 기관은 카드 초기화 단계에서 모든 스마트카드에 다양화 키를 미리 탑재합니다.

  • 2단계 – 챌린지 전송: CAD는 난수(R)를 생성한 뒤 이를 암호화하여 값 Y를 만들고, 이 값을 챌린지(challenge)로 스마트카드에 보냅니다.

  • 3단계 – 응답 생성: 스마트카드는 Y를 복호화하여 응답 값(X)을 만든 후, 그 결과를 CAD에 되돌려줍니다.

  • 4단계 – 검증: CAD는 R과 X를 비교하고, 두 값이 일치하면 해당 카드를 정상적인 카드로 승인합니다.

Telepass 1 알고리즘

Telepass 1은 스마트카드 인증에 사용되는 또 다른 알고리즘입니다. 이 알고리즘은 다음 세 가지 요소를 활용해 인증 챌린지에 대한 응답을 계산합니다.

  • 다양화된 비밀 키(diversified secret key)
  • 스마트카드 메모리 내 특정 워드(word)의 내용
  • 외부에서 제공되는 난수 값

Telepass 1은 키 분배 과정에서의 데이터 기밀성(data secrecy)과 메시지 인증 코드(MAC)를 통한 데이터 무결성(data integrity) 기능도 함께 지원합니다.

키 다양화(Key Diversification)의 중요성

대칭 키 시스템에서는 각 스마트카드의 비밀 키가 서로 달라야 합니다. 하나의 키가 유출되더라도 시스템 전체가 위험에 빠지지 않도록 하기 위함입니다. 이러한 키 다양화는 카드 개인화(personalization) 과정에서 카드마다 고유한 암호화 키를 부여하는 역할을 합니다.

시스템은 시스템 마스터 키와 마이크로프로세서 일련번호 같은 고유한 카드 특성 정보를 조합하여 다양화 키를 생성합니다. CAD에는 마스터 키의 사본이 들어 있어, 각 스마트카드에 맞는 변형 키를 직접 만들어낼 수 있습니다.

키 유출 시 영향의 차이

  • 다양화 키 유출: 유출 사실이 발견되고 해당 카드를 시스템에서 제거할 수 있다면, 시스템 전체에 미치는 영향은 제한적입니다.

  • 마스터 키 유출: 매우 심각한 결과를 초래합니다. 모든 카드에 새 키를 다시 탑재해야 하며, 이는 시스템 운영 비용을 크게 늘리고 사용자에게도 번거로움을 안겨줍니다.

마스터 키 유출 방지 방법

마스터 키의 유출을 방지하기 위해, CAD에는 보안 메모리를 갖춘 보안 모듈(즉, 스마트카드 형태의 하드웨어)을 내장하여 마스터 키를 안전하게 저장하는 방법을 사용할 수 있습니다. 이렇게 하면 마스터 키가 외부로 노출될 가능성을 크게 줄일 수 있습니다.