카드 ic칩 원리 - kadeu icchib wonli

RF 태그(IC 태그), IC 카드, 자기 카드의 차이

RFID는 크게 카드와 태그의 2가지로 나눌 수 있으며 카드에는 자기 카드, IC 카드가 있다. 자기 카드는 자기 스트라이프를 카드에 부착시켜 자기로 정보를 판독 기록(R/W=리드/라이트)하는 것으로 예전부터 은행 카드 등에서 널리 이용되어 왔다.

▲ RF 태그의 이용 분야와 상품 분야

IC 카드는 자기를 대신하여 IC 칩(LSI : Large Scale Integration)을 카드에 내장시켜 정보를 IC 칩에 기록하거나 판독한다. 이 경우, 접점방식을 접촉식 IC 카드, 접점 없이 무선으로 정보를 판독, 기록하는 것을 비접촉 IC 카드라고 한다. 다른 태그는 IC 태그나 RF 태그라고 하지만 모두 같은 것이다. 정보의 판독, 기록에는 무선을 이용하지만 사용하는 무선 주파수에 따라 몇 가지 타입으로 나뉜다.

▲ 카드의 이용 분야와 상품 분야

RFID 시스템의 동작원리(1)

리더/라이터(R/W)의 안테나가 만드는 유도전자계 내에 RF 태그를 두면 RF 태그의 안테나 코일과 리더/라이터의 송신 안테나 코일과의 사이에서 발생하는 전자유도 작용으로 RF 태그의 안테나 코일에 전압이 유발된다. 이 전압(전력 에너지)을 이용하여 RF 태그가 작동하며 리더/라이터 측 CPU(Central Processing Unit)와의 정보 교신이 실행된다. 리더/라이터의 안테나 코일은 송신 안테나와 수신 안테나의 2가지로 나뉘는 타입과 하나의 코일로 공용되는 타입이 있다.

전파형 RFID의 경우도 안테나가 코일형이 아니라 다이폴 안테나 등으로 바뀌지만 기본적인 동작원리는 같다.

그림 1은 RFID(Radio Frequency Identification) 시스템의 기본 구성을 나타낸 것이다. 이 예는 컴퓨터와 전자유도형 태그(13.56MHz 등)와의 교신 시스템을 나타낸 경우로 RF 태그, 안테나 유닛, 리더/라이터, 컴퓨터(각종 컨트롤러)의 4계층으로 구성된다.

그림 1. RFID 시스템의 기본 구성

RFID 시스템의 동작원리(2)

(1) 컴퓨터 또는 각종 컨트롤러

사람이 정보를 입력하거나, 판단·처리하는 PC나 컨트롤러(Controller) 등.

(2) 리더/라이터

RFID에 대한 질문기(質問器)라고도 하며 컴퓨터나 컨트롤러에서의 명령을 해독하여 리더/라이터를 제어하는 제어부, 정보를 안테나 유닛에서 전파로 변환시켜 RFID로 송신하기 위한 변조기, 반대로 RFID로부터의 회신전파를 안테나 유닛에서 수신하여 이것을 디지털 신호로 복원하는 복조기 등으로 구성된다.

(3) 안테나 유닛

리더/라이터의 변조기 신호를 입력신호로 전파를 발생시켜 RFID 측에 전력과 정보를 송신하는 코일 상 안테나를 말한다. RFID로부터의 회신전파를 받는 수신전용 안테나를 설치하는 경우와 하나의 안테나로 송수신을 겸용하는 타입이 있다. 또한 리더/라이터와 안테나 유닛이 일체형인 타입도 있다.

(4) RFID

태그 상에는 코일 안테나와 LSI(Large Scale Integration) 칩이 탑재되어 있다. 이 LSI 칩은 정보를 기억하는 메모리부 외에 컴퓨터와 정보 교신을 하기 위해 리더/라이터와 마찬가지로 제어부, 변조기, 복조기 등의 기능을 갖추고 있다.

이상 4계층의 구성은 전파의 주파수가 바뀌면 안테나 유닛이나 태그 상의 안테나 구조는 그 주파수에 최적의 구조로 바뀌지만 기본적인 기능이나 계층은 같다.

그림 2는 RFID 시스템의 대략적인 블록도이다.

▲ 그림 2. RFID 시스템의 블록도

RF 태그가 전원 없이 동작 가능한 이유

RF 태그가 전원 없이 동작이 가능한 이유는 페러데이의 전자유도법칙으로 무선으로 RFID 태그 측에 전력이 공급되기 때문이다.

리더/라이터의 안테나 코일(1차 코일)에 전류를 흘리면 페러데이의 전자유도법칙에 의해 자계가 발생한다. 이 자계 속에 RF 태그를 넣으면 RF 태그의 안테나 코일(2차 코일)에 기전력(전압)이 유발된다. 즉, 리더/라이터의 안테나 코일을 1차 코일, RFID의 안테나 코일을 2차 코일로 하는 공심(空芯) 트랜스(변압기)를 구성하여 1차 측에서 2차 측으로 RFID를 동작하기 위해 필요한 전력을 보낸다. 또한 RFID 동작 중에 1차 측은 유도자계를 항상 계속적으로 발생시켜야 한다.

전자유도 방식에서는 135kHz 미만이나 13.56MHz의 교류자계를 만들어 기전력을 발생시킨다. 이러한 기전력을 정류시켜 직류전원을 만들고 RFID의 전원으로 한다. 또한 UHF(Ultra High Frequency : 극초단파) 대, 2.45GHz 대 전파통신 방식의 경우에도 헤르츠의 전자파발생법칙에 따라 안테나는 코일상이 아닌 다이폴이나 평면판 상에서 같은 기전력을 발생시킬 수 있다.

한편, 반도체 기술의 발달로 RFID 내에 있는 LSI 칩의 성능이 비약적으로 향상되어 수 밀리와트(mW)의 미소(微小) 전력에서도 동작이 가능해졌다. RFID의 LSI 칩 성능이 좋지 않아, 소비 전력이 높으면 동작하지 않지만, 설령 동작한다고 해도 교신거리는 짧아진다.

RF 태그는 전지내장 타입과 전지를 내장하지 않은 타입이 있다. 전지내장 타입을 액티브(능동)형 태그, 전지를 내장하지 않은 타입을 패시브(수동)형 태그라고 한다.

또한 멀티 태그란, 여러 주파수에 대응할 수 있는 안테나 구조를 갖춘 태그를 말한다.

▲ 태그 측에서의 신호 도달거리

▲ 태그 측에서의 신호 도달거리

本 記事는 日本 OHM사(新電氣編輯部)와의 著作 權協約에 依據하여 提供받은 資料입니다.

Hardware Research

  • 1. 마그네틱 카드
  • 2. RFID Tag
  • 3. IC Chip
  • 4. 결론

라온화이트햇 핵심연구팀 황정식

우리가 일상에서 사용하는 카드 결제 방식은 대략 세 가지 정도가 있습니다. 예전부터 사용했던 마그네틱 카드(Magnetic Card)가 카드 결제에 대표적인 예시입니다. 그러나 카드 복사와 다른 보안성 문제로 인해 다른 대체제가 필요로 하게 되었습니다. 이로 마그네틱 카드의 대체제로써 RFID Tag, IC Chip 등이 있으며, 현재 직불카드(체크카드와 신용카드 등)에 부착하여 널리 사용되고 있습니다.

이번 연구에서는 위의 세 가지 카드 결제 방식에 대해 복사가능여부에 대한 연구와, 보안성에 대한 내용을 다뤄보겠습니다.

1. 마그네틱 카드

마그네틱 카드는 신용카드의 도입에 큰 역할을 한 기술이라고 볼 수 있습니다. 기존의 신용카드(Credit card)는 종이 재질의 카드로써 배포되었었습니다. 하지만 이러한 종이 재질의 카드로써는 불편함과 신용인에 대한 확인에서부터 많은 시간이 소요되는 단점이 있었습니다. 이를 개선하기 위해 등장한 기술이 마그네틱 기술입니다.

마그네틱 카드는 전류를 통해 마그네틱 띠가 자화되는 원리를 이용하여 정보를 기록하고, 이와 반대 방향으로 자기 방향을 변화하면 유도전류를 흘려 마그네틱 띠 내부의 정보를 읽을 수 있도록 하는 구조입니다.

마그네틱 카드의 구조는 대략적으로 이렇게 구성되어 있습니다. 이 부분에서 눈여겨 봐야 할 부분은 Track 1과 Track 2의 부분입니다.

Track 1과 Track 2에는 공통적으로 고객번호(Primary Account Number) 19자ED(Expiration Data or Date)와 같은 만료날짜, SC(Service Code) 서비스 코드, 그리고 CVV/CVC(Discretionary Data)가 기록되어 있습니다. Track 1에는 Track 2에 비해 이름 등과 같은 이용자의 정보가 좀 더 들어가 있습니다.

이러한 카드정보를 어떻게 알아낼 수 있는지, 그리고 카드 복사는 어떻게 이루어지는지에 대해 연구해본 내용은 다음과 같습니다.

※ 본 연구는 오로지 직불카드 내의 마그네틱 정보의 취약성을 연구하기 위해 연구자 본인의 카드 정보를 읽는 과정을 나타내었습니다.

  • 마그네틱 카드 정보 읽기/쓰기

    마그네틱 카드는 해외에서 거래되는 Magnetic Card Reader, Writer를 통해 가능합니다. 이러한 카드 리더기는 Amazon 혹은 Ali Express와 같은 해외 직구 사이트를 통해 구입이 가능했습니다.

    카드 리더기를 통해 읽어들이게 되면, 다음과 같이 세 개의 Track 정보를 보여주게 됩니다. 제 개인정보 보호를 위해 일부 모자이크 처리를 수행하였습니다. 마그네틱 카드는 시중에서 쉽게 구매가 가능하며, 읽고 쓰는 것이 얼마든지 자유로운 것으로 확인되었습니다.

  • 마그네틱 카드 보안성 정리

    1. 카드 자체 보안성(취약) - 쉽게 탈취 가능
    2. 카드 복사 가능성(취약) - 쉽게 가능
    3. 피해 발생 가능성(취약) - 높음

    마그네틱 카드는 현재까지도 지방과 수도권 할 것 없이, 많은 곳에서 결재를 지원하고 있습니다. 현재까지도 RFID 방식과 IC Chip 카드를 통한 결재를 권고하고 있지만, 결재 시스템 전체를 바꾸지 못하는 현 상황에서는 피해 발생 가능성이 낮지 않다는 것을 알 수 있습니다. 또한 마그네틱 카드는 카드 자체로써 정보를 얻는 것이 쉽고, 카드 정보가 노출된 것만으로 복사가 쉽게 이루어질 수 있음이 확인되었습니다. 따라서 보안성이 매우 취약한 마그네틱 카드의 결재 방식을 RFID 혹은 NFC, IC Chip로 대체하여 결재가 될 수 있도록 권고하고 있습니다.

2. RFID Tag

RFID란 Radio Frequency IDentification의 약자로, 무선 주파수(Radio Frequency)를 이용하여 특정 대상을 식별할 수 있는 기술을 말합니다. RFID Tag를 통한 식별(결재, 인증 등) 과정은 다음과 같이 나타낼 수 있습니다.

  • RFID Tag 식별 과정(요약)

    흔히 버스카드 리더기, 결제창구, 도어락 등에서 위와 같은 Antenna라고 하여 RFID Tag를 읽는 기능을 내장하고 있습니다. 이러한 Antenna에서는 일정량의 유도전류를 상시 발생시키고 있습니다. 그리고 이런 안테나에 RFID Tag를 가져다 대면 RFID Tag는 전류를 받아 특정 데이터를 응답하도록 되어 있습니다. 이에 대한 흐름과 순서는 다음과 같습니다.

    1. RFID Tag를 Antenna에 가까이 가져가면, Antenna는 RFID Tag에 Tag 데이터를 요청함
    2. RFID Tag는 내장되어 있는 Tag ID(Metal ID)를 전송하게 되는데, 이때 Metal ID는 일종의 UID로써 공장에서 제작될 때 나오는 유니크한 정보임
    3. Antenna는 (가칭)Key Management Server를 통해 현재 Endpoint에서 들어온 Metal ID와 매칭되는 Key 값을 Antenna에 전달
    4. Antenna는 Metal ID에 해당하는 Key 값을 전송하여 RFID Tag에 전송함
    5. RFID Tag 내에 저장된 Key 값과 동일한 값이 Antenna로부터 받아들여질 경우, Tag 내의 유저 ID(시스템에서 식별할 수 있는 특정)값을 전송
    6. Antenna는 ID 값을 확인하고 원하는 행위를 서버와 함께 수행함
  • RFID Tag의 구조

    RFID는 16개의 Sector와 각 하나의 Sector 별로 4개의 Block이 존재합니다. 이렇게 해서 총 64개의 블록이 존재하게 되는데, 그 구조는 다음과 같습니다.

    이러한 섹터 중에서 가장 핵심적인 영역이 Sector 0 부분입니다. Sector 0의 Block 0의 경우 처음 공장에서 생성될 경우 권한을 다른 섹터 및 블록과 다르게 Readonly로 되는 것을 원칙으로 하고 있습니다. 따라서 해당 영역은 일반적인 카드에서는 변경이 불가능합니다. 또한 네 번째 블록트레일러(Trailer)의 경우 다음과 같은 형태로 중요 정보를 저장하고 있습니다.

    트레일러에는 Key값 A와 B를 저장할 수 있는 공간이 각각 6Bytes씩 있고, 그 사이에 Access Bits를 지정할 수 있는 공간이 4Bytes 있습니다.

    • Key A

      주로 사용되는 비밀키로써, 암호화 통신에 사용합니다. 해당 Key를 이용하여 인증 후, Sector 내부의 데이터를 확인하게 됩니다.

    • Key B

      옵션으로 사용되는 공간으로, 필요없을 시 데이터를 입력하여 사용하기도 하는 구역입니다.

    • Access Bits

      액세스 권한을 정의하며, 6, 7, 8 Byte의 내용에 따라 계산됩니다. 그 구조는 대략 아래와 같습니다.

    • RFID Tag 기본키 사용 장치 예시

      RFID Tag에 내제된 Key 값이 Default Key인 경우에 대해 다음과 같은 예시가 있습니다.

      교통카드, 도어락 스마트키, 공카드로 자체제작하는 어떠한 장치 등은 기본적으로 Default Key를 사용하도록 되어 있습니다. 따라서 제공된 Default 키를 이용할 경우 쉽게 정보가 탈취당할 수 있어 유의해야 합니다.

      이외에도 Well-known Key와 같이 알려져 있는 키를 사용하는 것 또한 올바르지 않는 설계라고 볼 수 있습니다. Mifare Classic Tool이라는 도구에서는 잘 알려진 1081개의 키(Default Key 포함)를 통해 RFID 내의 값을 읽을 수 있는가에 대한 테스트를 해볼 수 있는 안드로이드 앱을 무료로 배포하고 있습니다.

    • RFID Tag 카드 보안성 정리
      1. 카드 자체 보안성(보통) - Key값을 알지 못하면 불가능
      2. 카드 복사 가능성(취약) - 카드 데이터를 알아낼 경우, 쉽게 복사 가능
      3. 피해 발생 가능성(보통) - 복사가 이루어질 경우 파급력이 큼

      RFID Tag는 Key 값을 알아내지 못한다면 데이터를 읽을 수 없다는 점에서 어느정도 보안성이 있다고 볼 수 있습니다. 하지만 만약 태그 내의 데이터를 알아낼 경우, 복사 자체는 어렵지 않습니다. 이러한 이유로, RFID Tag 보안에 대해 일부는 Side Channel Attack을 이용하여 공격을 수행하기도 합니다.

    • RFID Tag Side Channel Attack 예시

      New Hack Lets Attackers Bypass MasterCard PIN by Using Them As Visa Card

      RFID Tag에 대해 Side Channel Attack의 예시는 다음과 같습니다. 해당 링크에서 나오는 내용을 요약하면 MITM 공격으로 RFID 결제를 우회할 수 있는 공격입니다. 두 개의 스마트폰 사이에서 WiFi를 통해 연결 후, APDU 명령어를 통해 공격하는 내용을 말하고 있습니다.

      관련 논문은 링크로 남겨드리도록 하겠습니다.

3. IC Chip

IC Chip을 이용한 결제 방식은 접촉식과 비접촉식으로 나누어져 있다고 합니다. 하지만 여기서는 접촉식 IC Chip에 대한 보안성과 카드복사 가능성에 대해 다루어보려고 합니다.

IC Chip은 Integrated Circuit Chip의 약자로써, 집적 회로(Integrated Circuit)를 이용하여 특정 대상을 식별할 수 있는 기술을 말합니다. 흔히 신용카드나 체크카드에 붙어있는 금색 칩을 보셨을 것입니다. 이러한 칩은 다음과 같이 이루어져 있습니다.

IC Chip 혹은 Smart Chip이라고도 불리며, 이러한 칩의 구성은 CPU와 RAM, ROM(혹은 OS, EEPROM 등)으로 이루어져 있으며, 자체적인 암호화 모듈(Encryption Module)도 함께 내장되어 있기도 합니다. 이러한 칩 내부에는 하드웨어 및 Card OS와 같은 운영체제로 동작하는 부분과 Java Card Platform과 같은 SW 규격을 맞춘 데이터가 내포되어 있습니다. 이는 카드 자체의 연산 능력이 있다는 것을 말합니다.

신용카드의 경우 EMV(EuroPay-MasterCard-Visa)의 포맷에 맞추어 개발되며, 암호화 키 및 PIN 번호를 활용하여 결제를 가능하도록 합니다. 이러한 EMV 내부에서도 각 국가마다 이해관계가 달라서 다음과 같은 차이를 가지기도 합니다.

유럽의 경우 카드를 꽂고 PIN 번호를 입력해야 결제가 가능(해외에 신용카드 가지고 나갈 시, PIN 번호 발급이 필수) 한국과 미국의 경우 카드만 꽂아도 결제가 가능(PIN Bypass 모드 사용)

IC Chip의 보안적 특징은 암호화된 카드는 처음 만들어진 공개키 암호화 인증서를 이용하여 암호문을 생성하고, 정상적인 암호인지 확인할 수 있는 장치를 마련해두었습니다. 이렇게 생성된 암호문은 항상 일정하지 않고 매 결재 시 마다 변경되며, 암호화된 코드는 겹치지 않도록 설계되었습니다.

  • IC 카드 거래에 사용된 암호화 기술

    금융부문 암호기술 - (2) IC카드 거래에 사용된 암호화 기술

    SDA 인증절차는 IC 단말기가 CA 공개키를 통해 IC 카드에 저장된 발급사 공개키 인증서를 검증하는 절차입니다. 이때 IC 카드 내에는 서명된 SAD(정적 어플리케이션 데이터)를 저장해야 하고, 또한 발급사의 공개키 인증서를 저장해야 합니다.

    DDA 인증절차는 IC 카드 내부에서 동적으로 생성된 동적 어플리케이션 데이터(DAD)의 유효성을 계속해서 검증하는 절차를 말합니다. IC Chip 내부에서 계속해서 변하는 암호문 데이터를 결제 시마다 검증하여 보안성을 높이는 절차입니다.

  • IC Chip 카드 보안성 정리
    1. 카드 자체 보안성(안전) - 자체 내장된 보안기법을 통해 Key값을 알아내더라고 공격이 어려움
    2. 카드 복사 가능성(안전) - 카드내의 데이터를 읽는 것이 이론상 불가능하며, 읽더라도 카드 자체를 복사하는 것은 불가능함
    3. 피해 발생 가능성(안전) - 복사 자체가 어렵고 복사하더라도 신용카드로써 이용하는 것이 불가능함

    IC Chip은 자체적인 보안기법과 IC Chip 내에서 이루어지는 암호화 연산 능력 때문에 사실상 이론적으로 복사가 불가능한 것으로 알려져 있습니다. 또한 이러한 보안 솔루션을 우회하기 위해서는 RFID Tag와 마찬가지로 Side Channel Attack류의 공격으로 우회가 가능한데, 이러한 공격도 신용카드를 우회하는 공격은 아직까지 알려진 바가 없습니다. 따라서 앞서 연구한 세 가지 카드 중에서 가장 안전한 카드 결제 방식으로 보입니다.

  • IC Chip Side Channel Attack 예시

    해당 연구는 충전용 카드에 있는 IC Chip을 우회하여, 충전되어 있는 카드의 내역을 조작하는 내용입니다. 내용을 요약하여 설명드리자면, IC Chip을 통해 통신하는 내용을 오실로스코프를 통해 주파수를 잡아 이를 통해 IC Chip 내부의 값을 조작하는 것으로 기존에 충전되어 있는 금액을 조작합니다. 자세한 내용은 유튜브와 Blackhat에서 발표한 PDF 파일을 참조해주기 바랍니다.

    Breaking Korea Transit Card with Side-Channel Attack - Unauthorized Recharging

4. 결론

카드 결제 및 카드 복사 관련하여 각각의 기술이 어느정도 취약한지에 대해 연구해보았습니다. 마그네틱 카드는 보안성을 고려하지 않은 상태로 설계되어 특정 도구 및 장비만 있다면 어렵지 않게 읽고 쓰기가 가능하며, 정보만 알고 있다면 쉽게 복사가 가능한 것으로 나타났습니다. 그러나 이후에 보안성을 고려한 두 가지 기법으로 RFID와 IC Chip은 보다 안전한 사용이 가능할 것으로 판단됩니다.

먼저 RFID의 경우, 내장된 6Bytes 키로 인해 적절한 인증이 이루어지지 않으면 카드를 읽을 수 없도록 설계되어있습니다. 일반적인 방법으로 전수공격(Bruteforce Attack)을 수행할 경우 인증 키를 탈취하는 것은 어렵습니다. 그러나 해당 Key를 알아낼 수 있다면, 복사 자체는 어렵지 않는 것으로 판단됩니다. 그외의 카드 복사가 아닌 타인의 카드를 사용할 수 있도록 Side Channel Attack 또한 활발히 연구되는 것으로 알려져 있어, 보안성 자체는 마그네틱 카드보다는 우수하나 IC Chip보다는 부족한 것으로 보입니다.

마지막으로 IC Chip의 경우, 내장되어 있는 공개키, 서명된 값 등을 통해 안전한 통신 및 식별 과정이 이루어지기 때문에 앞서 연구한 두 카드보다 월등한 보안성을 가지고 있습니다. 이론적으로 IC Chip 내부의 데이터를 읽고 복사하는 것은 불가능하며, 암호 인증 체계 또한 우회하기 어렵도록 되어있습니다.

위의 연구한 세 가지 카드 결제 방식에 대해 보안성과 복사 가능성 등을 연구해보았고, 이를 통해 안전한 결제 방식과 안전한 결제를 위해 필요한 보안성에 대해 알아보았습니다.

Toplist

최신 우편물

태그