RFID(Radio Frequency IDentification)는 사물인터넷(IoT) 다양한 분야와 방면으로 사용될 수 있는 차세대 핵심 기술로 전기장을 통해 상품이나 사물의 정보를 IC에 저장하고 식별합니다. RFID 카드는 기업, 교육, 관광, 레저, 주거 등의 다양한 산업 분야에서 적용되고 있는데요. 빌딩, 오피스텔 같은 건물 시스템에서는 스피드게이트, 통제구역, 신원 확인 식별용으로도 사용되고 있습니다.
많은 분야에서 적용되는 RFID 기술은 보안에 대한 이슈가 꾸준히 발생하고 있습니다. 해당 이슈들에 대해 보완을 하고 있긴 하지만, 대다수의 RFID 카드는 여전히 취약한 구조로 사용되고 있는 것이 사실입니다. 정적 암호 기반의 패시브 RFID 태그가 대표적입니다. 대부분 사용되면서 보안성을 높이기 위해 암호화 기법 등의 기술을 사용하지만, 운영상에서 잘못 설정할 경우 여전히 취약점이 존재한다는 한계가 있습니다.
이번 글에서는 구조상의 보안 취약점을 소개하고, RFID 카드 복제 재현을 통해 보안 위협에 대해 알아보고자 합니다.
RFID 카드 구조상의 보안 취약점
통계적으로 가장 많이 사용되고 있는 RFID 카드 기술은 비접촉식 칩 카드에 널리 사용되는 NXP 마이페어(Mifare)입니다. NXP 마이페어 RF인터페이스는 결제용 표준인 ISO/IEC 14443A를 따르고 있는데요. 공식 문서에서 보안 및 개인 정보 보호를 위해 3중 인증 절차(ISO/IEC DIS 9789-2)와 2개의 키를 사용하고 있습니다.
보안은 [그림 1]과 같은 설계를 따르고 있습니다. 그리고 [그림 2]와 같이 메모리 조작 이전에 인증 절차를 수행하면 각 블록에 대해 지정된 두 개의 키를 통해 블록에 액세스할 수 있도록 설계돼 있습니다.
RFID 카드를 읽기 위해서 리더기는 [그림 3]처럼 메모리 액세스의 메모리 위치를 지정하고 해당 키를 사용해서 3단계 인증 절차를 진행합니다. 인증에 성공하면 모든 명령과 응답이 암호화돼 정보를 주고받을 수 있도록 설계됐습니다.
마이페어 클래식 RFID 카드에서 [그림 3]의 0번 섹터에는 UID(Unique ID)와 제조자 정보가 읽기전용으로 저장돼 있습니다. 그리고 해당 섹터는 기록이 불가능합니다. 이것은 라디오 표준으로 규정된(ISO 18000) 사항으로 하드웨어적 공통 특징입니다. 이러한 표준에 따라 설계된 RFID 카드는 내부 정보가 공개되지 않고 읽기전용의 하드웨어적 제약으로 인해서 안전해 보입니다. 하지만 2008년 USENIX 보안 컨퍼런스에서 독일의 보안 연구원인 헨리크 플로에츠와 카스텐 놀에 의해 부분적인 리버스 엔지니어링 알고리즘이 게시됐습니다. 같은 해 네덜란드 나이메헨 지역에 위치한 레드버드 대학은 완전한 리버스 엔지니어링과 내용을 복제하고 조작될 수 있음을 입증하기도 했습니다. 또한, 2013년 국제적인 보안 컨퍼런스 블랙햇 브리핑스에서도 RFID 해킹과 관련된 발표가 있습니다.
RFID 카드 복제의 위협 사례
실제로 주변에서 취약한 정적 암호 기반 RFID 카드 사례들을 확인할 수 있었습니다. [그림 4]는 A기관에서 RC522모듈과 UID Writable RFID 카드를 사용해서 찾은 사례입니다. [그림 4, 5]는 초기값 혹은 취약한 키로 인해 정보가 노출된 대상들의 데이터를 직접 읽어 들인 RFID 카드의 0번 섹터(UID와 제조사 정보)입니다. A 기관은 RFID 카드 키 값으로 초기값(FFFFFFFFFFFF, 6 byte)을 사용하고 있습니다. 이렇게 노출된 정보를 이용해 0번 섹터 기록이 가능한 특수 카드에 간단하게 복제할 수 있습니다.
[그림 5]는 B오피스텔의 카드 데이터를 확인한 결과입니다. 해당 카드를 동일하게 복제할 경우 건물 출입뿐만 아니라 방까지 침입할 수 있게 됩니다. 이를 위해 실제 복제에 소요되는 시간은 10초 이내로, 잠깐 시간이면 충분했습니다.
이처럼 RFID 카드의 보안 위협이 실제로 가능함에 따라 다음과 같은 시나리오가 가능합니다. 엘리베이터와 같이 사람들이 밀접한 공간에 있다고 가정해 봅시다. 그곳에서 우연히 어떤 사람과 부딪혀 출입카드나 사원증을 떨어트렸을 때, 찾기 위해 소요한 10초 안에도 출입 보안이 무력화될 수 있습니다.
작은 관심과 경각심으로 보안 위협에 대처를…
RFID 카드를 복제하는 것은 전혀 어려운 일이 아닙니다. 약간의 시간과 비용을 들이면 인터넷을 통해 쉽게 정보를 습득할 수 있습니다. 이러한 보안 공격을 예방하기 위한 가장 쉬운 조치는 RFID 카드에 쉬운 키 값을 사용하지 않는 것입니다. 또는 RFID 카드에 일부 투자해, 보다 안전한 기기를 이용하는 방안도 있습니다. 보안은 작은 관심과 경각심만 갖더라도 많은 위험과 위협으로부터 보호될 수 있습니다. 정보가 널리 공유되고 기술이 알려짐에 따라 보안 안전에 대한 인식도 높아지길 기대합니다.
[참고자료]
[1] Jennifer Zaino,RFID Trends: What’s Ahead 2017 in IOT journel
[2] NXP, Mifare MF1S50YYX_V1.pdf
[3] Karsten Nohl and David Evans, Starbug and Henryk Plotz. Reverse-Engineering a Cryptographic RFID Tag
[4] Flavio D. Garcia. Dismantling MIFARE Classic. in ESORICS 2008
글 ㅣ LG CNS 보안사업담당 RED팀
RED팀은 웹/모바일/클라우드/IoT 취약점 진단과 개인정보 영향평가, 모의해킹을 전문으로 수행하고 있습니다.