고보안 소프트웨어 분야에서 RFID(무선 주파수 식별) 시스템의 도입이 큰 주목을 받고 있습니다. 대표적인 사례로는 점점 널리 보급되고 있는 PayPass 신용카드 결제 시스템이나 병원 환자 식별 시스템을 들 수 있습니다. 이러한 솔루션은 기존 시스템에 특수한 보안 보완 요소를 통합해야 했으며, 이를 통해 무단 접근이나 비인가 로그인을 효과적으로 방지할 수 있게 되었습니다.
고급 인증 시스템의 작동 원리
이러한 고급 인증 시스템은 '비밀 정보를 보유하고 있다'는 사실 자체를 증명하는 방식으로 작동합니다. 적절한 알고리즘을 사용하는 궁극적인 목적은 개인 키(비밀 키)가 노출되는 것을 막는 데 있습니다. 오늘날의 고보안 RFID 시스템은 다음과 같은 공격들을 효과적으로 차단할 수 있습니다.
상호 대칭 인증(Mutual Symmetric Authentication)
상호 대칭 인증은 ISO 9798-2 표준에 따라 리더기(reader)와 트랜스폰더(transponder) 사이에서 3단계 절차로 진행됩니다. 이 과정을 통해 양측이 동시에 비밀 암호화 키를 알고 있는지 상호 검증하게 됩니다.
유도 키 인증(Derived Key Authentication)
유도 키 인증은 보안성을 한층 강화하기 위해 각 트랜스폰더에 고유한 개인 키를 부여하는 방식입니다. 이를 구현하려면 먼저 트랜스폰더의 시퀀스 번호를 추출해야 하며, 비밀 키는 마스터 키와 암호화 알고리즘을 통해 생성됩니다.
그 결과, 각 트랜스폰더는 자신만의 ID와 다운링크 채널을 통해 마스터 키와 연결된 시퀀스 번호를 전달받습니다. 일반적인 인증 절차의 첫 단계로 리더기는 트랜스폰더의 ID를 가져오고, 마스터 키를 활용하여 리더기의 특수한 암호화 구조가 해당 개인 키를 생성합니다.
암호화 연결(Encrypted Connection)
공격자는 크게 두 가지 유형으로 나눌 수 있습니다. 첫 번째 유형은 배후에서 은밀히 데이터를 가로채는 등 수동적 방식으로 중요 정보를 탈취하려는 공격자입니다. 두 번째 유형은 데이터 교환 과정에 능동적으로 개입하여 자신에게 유리하도록 내용을 변조하는 공격자입니다.
암호화 솔루션은 이 두 유형의 공격 모두에 효과적으로 대응할 수 있습니다. 데이터 값이 암호화되면 공격자는 원래 내용에 대해 어떠한 결론도 도출할 수 없습니다. 데이터 링크 암호화 역시 동일한 원리로 작동합니다. 순차 인코딩 방식에서는 각 문자를 개별적으로 암호화하는 반면, 블록 코딩 방식에서는 문자 블록 단위로 암호화가 이루어집니다.
스트림 암호화(Stream Encryption)
스트림 인코더는 평문(plaintext)의 문자들을 여러 함수를 거쳐 연속적으로 암호화하는 암호화 알고리즘군입니다. 먼저 무작위 키(random key)가 생성되며, 이 키는 정보 교환 당사자들 간에 공유되는 키가 됩니다. 이 키는 평문의 문자들과 XOR 연산으로 결합됩니다. 무작위 키는 최소한 평문과 같은 길이 이상이어야 하며, 그렇지 않으면 반복 패턴을 악용한 통계적 공격에 취약해질 수 있습니다.
기타 보안 권장 사항
해시 기반 접근 제어(Hash-based Access Control)의 경우, 저가형 스마트 태그의 리소스 관리 특성을 고려하여 단방향 해시 함수에 기반한 간단한 보안 프로세스가 제시됩니다. 이러한 방식은 일반적으로 하드웨어를 통해 구현됩니다.