칩 인증 프로그램
Chip Authentication Program칩 인증 프로그램(CAP)은 온라인 및 전화 뱅킹에서 사용자와 거래를 인증하는 데 EMV 뱅킹 스마트카드를 사용하기 위한 마스터카드 이니셔티브 및 기술 사양이다. 또한 비자에 의해 동적 비밀번호 인증(DPA)으로 채택되었다.[1] CAP 규격은 스마트카드 슬롯, 숫자 키패드 및 최소 12자 이상의 표시가 가능한 디스플레이(예: 스타버스트 디스플레이)가 있는 휴대용 장치(CAP 리더)를 정의한다. 은행으로부터 CAP 리더를 발급받은 은행 고객들은 지원되는 여러 인증 프로토콜 중 하나에 참여하기 위해 CAP 리더에 칩과 PIN(EMV) 카드를 삽입할 수 있다. CAP는 스마트카드와 유효한 PIN이 있어야 거래가 성공하기 때문에 2단계 인증의 한 형태다. 은행들은 이 시스템을 통해 의심하지 않는 고객들이 이른바 피싱 이메일을 읽고 사기성 웹사이트에 자신의 세부 정보를 입력하는 위험을 줄일 수 있을 것으로 기대하고 있다.[2]
작동 원리
CAP 규격은 몇 가지 인증 방법을 지원한다. 사용자는 먼저 스마트카드를 CAP 판독기에 삽입하고 PIN을 입력하여 스마트카드를 사용할 수 있다. 그런 다음 트랜잭션 유형을 선택하기 위해 버튼을 누른다. 대부분의 독자는 사용자가 다양한 이름으로 이용할 수 있는 두세 가지 거래 유형을 가지고 있다. 일부 알려진 구현은 다음과 같다.
- 코드/식별
- CAP 리더는 추가 입력을 요구하지 않고 스마트카드와 상호 작용하여 십진수 일회성 비밀번호를 생성하며, 예를 들어 은행 웹사이트에 로그인하는 데 사용할 수 있다.
- 반응
- 이 모드는 은행 웹사이트가 고객에게 CAP 리더에 "도전" 번호를 입력하도록 한 다음 CAP 리더가 표시하는 "응답" 번호를 웹 사이트에 복사하는 챌린지-응답 인증을 실시한다.
- 서명
- 이 모드는 임의의 "도전" 값뿐만 아니라 양도 가치, 통화, 수취인의 계좌 번호와 같은 중요한 거래 내역도 CAP 판독기에 입력되어야 하는 이전의 연장선이다.
위에서 언급한 트랜잭션 유형은 두 가지 모드 중 하나를 사용하여 구현된다. 이러한 모드 중 하나는 두 가지 형태로 작동하여 세 가지 고유 모드를 만들 수 있다. 단, 명세서에는 이러한 방식으로 이름이 지정되어 있지 않다.
- 모드1
- 상인을 통한 온라인 구매 등 정상적인 통화거래의 모드다. 거래 가치와 통화는 암호문의 계산에 포함된다. 카드가 필요하지 않거나 단말기에서 지원하지 않으면 금액과 통화 모두 0으로 설정된다.
- 모드2
- 이 모드는 인터넷 뱅킹 시스템에 로그인하는 것과 같이 거래가 발생하지 않는 사용자를 인증하는 데 유용할 수 있다. 거래 가치, 통화 또는 기타 데이터는 포함되지 않으므로 이러한 응답은 사전 계산 또는 재사용하기가 매우 쉽다.
- With transaction data signing (TDS)
- 이 모드는 계좌간 자금 이체와 같이 더 복잡한 거래에 사용될 수 있다. 트랜잭션과 관련된 다중 데이터 필드는 해싱 알고리즘의 키로 Mode2 암호화로 연결되었다가 해싱된다. 결과 해시는 비 TDS Mode2 연산에서 계산된 암호문 대신 사용된다.[3]
모드1은 TDS에서 모드2를 사용하는 것과 매우 유사하게 들리지만 결정적인 차이가 있다. Mode1 운영에서 거래 데이터(금액 및 통화 유형)는 TDS가 없는 Mode2에서 사용되는 모든 값 외에 암호화된 계산에 사용되는 반면, Mode2는 암호화된 계산 단계에 포함하기 보다는 연속적인 단계로 거래 데이터를 포함한다. 이러한 차이가 없다면, 모든 운영은 다양한 선택적 트랜잭션 데이터를 가진 단일 운영으로 일반화될 수 있다.
프로토콜 상세 내역
세 가지 모드 모두에서 CAP 리더는 사용자가 입력한 세부사항을 포함하는 가상의 EMV 결제 거래의 취소를 확인하는 데이터 패킷을 EMV 카드에 출력하도록 요청한다. 이 확인 메시지에는 스마트카드에 안전하게 저장된 카드별 비밀키의 도움으로 생성되는 메시지 인증 코드(일반적으로 CBC-MAC/Triple DES)가 포함되어 있다. 이러한 취소 메시지는 일반 EMV 결제 애플리케이션에는 보안 위험이 없지만 암호화된 검증이 가능하며 정확한 PIN을 입력한 후에만 EMV 카드를 통해 생성된다. 그것은 이미 사용 중인 EMV 카드에 새로운 소프트웨어 기능을 추가할 필요 없이 PIN이 활성화된 EMV 카드가 존재하고 주어진 입력 데이터를 보았다는 강력한 암호 증거를 CAP 설계자에게 제공할 수 있는 방법을 제공했다.
EMV 스마트카드에는 각 결제 또는 CAP 거래에 따라 증가되는 (일반적으로 16비트) 거래 카운터가 포함되어 있다. CAP 리더에 의해 표시되는 응답은 기본적으로 카드에 저장된 발급자 인증 지표(IAI) 레코드에 의해 결정된 특정 비트로 축소되는 카드의 응답의 다양한 부분(응용프로그램 거래 카운터, MAC 등)으로 구성된다(이것은 발급자가 원할 경우, 발급자가 원할 경우, CAP 리더가 원할 경우, CAP 리더는 다음을 충족한다).ld는 각 카드의 IAI 데이터베이스를 제공하는 각 카드에 대해 무작위로 설정됨), 마지막으로 원하지 않는 비트가 폐기된 후(본질적으로 비트의 절대 위치는 무관하며, IAI에서 0인 비트는 단순히 0으로 설정되지 않고 카드 응답에서 해당 비트가 삭제됨을 의미한다). 마지막으로 값은 이진수에서 십진수로 변환되어 사용자에게 표시된다. 잘린 예는 다음과 같다.
- CAP 장치는 EMV 애플리케이션을 선택하고, 카드에서 IAI 정보를 읽고, 사용자가 수행할 작업을 선택한다(이 예에서는 IAI가 111011011000이2 된다).
- PIN 입력에 성공하면 CAP 장치는 권한 부여 요청 암호화(ARQC) 트랜잭션으로 011100111010의2 챌린지를 전송한다.
- 스마트카드는 110101110110에2 대응하고 CAP기기는 가짜 거래를 취소한다.
- CAP 장치는 비트를 떨어뜨리기 위해 IAI 마스크: 111011011000을2 사용한다. 마스크의 0에 해당하는 비트는 삭제된다.
- 따라서 최종 반응은 11001102 또는 102이다.
은 카드 하나는 두가지 포맷(는 단순한 응답 메시지 템플릿 형식 형식 1(이드라는 것이다. 8016)에 또는는 순차적으로에 맞춰 재조립되어야 할 필요가 있다 별도의 TLV값으로 ARQC 데이터를 분할한다는 좀 더 복잡한 응답 메시지 템플릿 형식 2(이드라는 것이다. 7716)는 ARQC 돌아올 수 있는 현실 세계 과정 물론 좀 더 복잡하다. 그 유형 1 형식.
식별 모드에서 응답은 양과 참조 번호가 0으로 설정되므로 IAI에서 요구되는 비트에만 의존한다. 이는 또한 응답을 선택하고 00000000을 입력하면 실제로 유효한 식별 응답을 생성한다는 것을 의미한다. 그러나 더 중요한 것은, 은행이 응답 요청을 발행한 경우, 동일한 번호와 금액의 서명 모드를 사용하면 다시 유효한 결과가 생성되어 사기범이 실제로 사기범이 조사를 위해 사용할 금액인 ¤0.00에 대해 고객에게 "테스트" 도전 응답을 하도록 지시할 가능성이 있다.만약 그들이 그들 자신을 희생자의 계좌에 수취인으로 추가하기 위해 응답 명령어인 경우; 이러한 공격은 최소한 0.01의 금액이 입력될 때까지 활동을 취소하지 않는 강력한 인증 장치를 사용한 은행들에 대해 수행할 수 있었다.[4] 이러한 종류의 공격의 가능성은 2010년 10월의 마스터카드 어플리케이션 노트에 부합하는 보안 도메인 분리 기능을 구현하면서 새로운 세대의 기기가 출시되었을 때 2009년에 다루어졌다.[clarification needed] 물론 유사하게, 식별 명령을 실행하는 은행은 사기범이 00000000을 기준으로 피해자에게 "테스트" 응답 거래를 요청할 수 있도록 하고, 그 후에 피해자의 계정에 성공적으로 로그인할 수 있게 된다.[4]
다른 EMV 트랜잭션에서와 동일한 카드 내 PIN 재시도 카운터가 사용된다. 따라서 ATM이나 POS 단말기와 마찬가지로 CAP 판독기에 잘못된 PIN을 세 번 연속으로 입력하면 카드가 차단된다.
비호환성
원래 CAP 규격은 필요한 경우 기존 EMV 카드의 펌웨어를 업데이트하지 않고 CAP 애플리케이션을 배치할 수 있도록 일반적인 EMV 트랜잭션을 사용하도록 설계되었다. 선호되는 구현은 CAP 거래에 대해 별도의 애플리케이션을 사용한다. 두 응용 프로그램은 PIN과 같은 특정 데이터를 공유할 수 있지만, 다른 데이터는 한 응용 프로그램(즉, EMV에 대한 터미널 위험 관리 데이터)에만 적용 가능하거나 별도의 장점을 갖는 경우(즉, 트랜잭션 카운터)에는 공유되지 않아 EMV와 CAP 트랜잭션이 별도의 카운터를 증분하여 더 정확하게 검증될 수 있다.또한, 독자는 구체적인 구현 데이터를 가지고 있으며, 그 중 일부는 카드의 값에 의해 오버라이드될 수 있다. 따라서 CAP 리더는 일반적으로 다른 발행 은행의 카드와 호환되지 않는다.
그러나, 대부분, 아마도 모든 경우에, 영국 은행이 발행한 카드는 다른 은행에서 발행한 카드 판독기에서 사용될 수 있다는 것을 의미하는, APACS에 의해 정의된 CAP 서브셋을 준수한다.
취약성
케임브리지 대학의 연구원 Saar Drimer, Steven Murdoch, 그리고 Ross Anderson은 CAP의 구현에 대한 연구를[4] 수행했는데, 이는 프로토콜과 영국 변종 독자와 카드의 여러 가지 취약점을 요약한 것이다. 수많은 약점이 발견되었다. Radboud University 연구진은 네덜란드 ABN AMRO e.dentifier2에서 취약성을 발견하여 공격자가 USB로 연결된 판독기에 사용자 승인 없이 악의적인 거래에 서명하도록 명령할 수 있다.[5]
사용자
스웨덴
- 2007년 11월에 CAP를 이용한 노르데아.[6] 노르데아 eCode 솔루션은 eBanking, eCommerce(3DS) 및 eID와 함께 사용된다. CAP를 확장하는 좀 더 진보된 기능을 가진 독자는 노르데아의 CAP 구현을 트로이 목마와 중간 공격으로부터 더 안전하게 만든다. eID에 사용할 경우 사용자는 온라인 또는 구현된 전자정부 기능을 "세금신고서" 또는 온라인으로 제출할 수 있다. 이 장치에는 은행이 중요한 거래의 승인을 위해 사인-왓-유-시(Sign-What-You-See)를 수행할 수 있는 USB 포트도 장착되어 있다.
영국
- 영국 지불관리국은 영국 은행들이 사용할 CAP 하위집합을 정의했다. 현재 다음에서 사용하고 있다.
- Barclays, Loyds Bank, Nationwide, NatWest, Cooperative Bank/Smile, RBS의 CAP 리더는 모두 호환된다.
- 바클레이즈는 2007년부터 CAP 리더(PINsentry라고 함)를 발행하기 시작했다.[7][8] 그들의 온라인 뱅킹 웹사이트는 로그인 확인을 위한 식별 모드와 거래 확인을 위한 서명 모드를 사용한다. 응답 모드는 계정 세부사항 인증을 위한 새로운 PingIt 모바일 결제 응용프로그램의 일부로 사용된다. 이 기기는 또한 사기 미수를 더욱 막기 위해 전통적인 칩과 핀 장치를 대체하면서 현재 나뭇가지에서도 사용되고 있다.
- HBOS가 발행한 은행 카드는 기술적으로 시스템과 호환되지만 HBOS는 온라인 뱅킹에 사용하기 위해 CAP 리더를 (아직) 도입하지 않았다.[4]
소프트웨어 구현
교육용으로만 사용할 수 있도록 TDS와 함께 Python 지원 Mode 1, Mode 2, Mode 2에서 작성된 소프트웨어 구현이 존재한다[9]. 식별 기능(챌린지 없음)은 챌린지 "00000000"의 m1 기능에 해당한다.
실제 재무 운영을 위해 이 소프트웨어를 사용할 경우 몇 가지 위험이 발생할 수 있다는 점에 유의하십시오. 실제로 독립 실행형 리더를 사용하는 이점은 PC에 잠재적으로 위치할 수 있는 악성코드로부터 은행 카드를 분리하는 것이다. 보안이 확보되지 않은 판독기에서 그것을 사용하는 것은 키로거가 PIN을 가로채고, 판매 지점 악성코드는 카드 디테일에 대한 접근을 얻거나 심지어 거래를 가로채서 그것을 수정하거나 자체 거래를 운영하는 위험을 감수하고 있다.
참고 항목
참조
- ^ 동적 암호 인증 2008-11-19년 Wayback Machine, VISA 유럽에 보관
- ^ Leyden, John. "Barclays deploys PINsentry to fight fraud". www.theregister.com. Retrieved 2021-04-30.
- ^ Bankes en igne : ar la déorquete d'EMV-CAP 2012-11-27, UnixGarden의 웨이백 머신에 보관
- ^ a b c d Drimer, Saar; Murdoch, Steven J.; Anderson, Ross (2009). Optimised to Fail: Card Readers for Online Banking (PDF). Financial Cryptography and Data Security. LNCS. Vol. 5628. Springer. pp. 184–200. doi:10.1007/978-3-642-03549-4_11.
- ^ 고장 설계: 온라인 뱅킹을 위한 USB 연결 판독기
- ^ 스웨덴어로 된 새로운 보안 솔루션 nordea.se.
- ^ "Barclays PINsentry". Archived from the original on 16 June 2007.
- ^ Barclays가 2단계 인증인 The Register, 2006-08-09를 시작한다.
- ^ "Application". sites.uclouvain.be. Retrieved 2021-04-30.