2013-07-12 5 views
9

WinSCard를 사용하여 MiFare 카드의 일련 번호를 읽어야합니다. MiFare 카드에서 7B UID를 읽을 수 있습니다.MiFare - MiFare 카드의 UID와 일련 번호의 차이

혼란은 UID 및 MIFARE 카드의 일련 번호가 같은 경우 내가 아는 해달라고이다?!

나는 봤지만 문제가 부분적으로 성공할 수 있습니다. 나는 또한 stackoverflow에 question을 발견했지만 도움이되지 않았다.

UID와 일련 번호가 다른 NXP 온라인의 document을 찾았습니다. (페이지 번호 3, 행 번호 5)

카드의 일련 번호를 읽는 OmniKey 응용 프로그램이 있으며 UID 만 반환합니다.

NXP 문서는 UID <이> 일련 번호과 다른 표준 OMNIKEY 응용 프로그램이 일련 번호로 UID를 반환 말한다.

나는이 문제에 대해 내 머리털을 뽑기 시작했다. 아무도 도와 줄 수 있다면 크게 감사 할 것입니다.

+2

MiFare 태그에는 읽을 수있는 일련 번호가 없습니다. UID 만 있습니다. 당신이 혼란스러워하는 이유는 모든 사람이 UID가 무엇인지 알지 못한다는 것입니다. 그러나 모든 사람들은 일련 번호가 무엇인지 압니다. 따라서 UID는 종종 일련 번호로 불리운다. NXP는이를 분명히하려하지만 일련의 존재를 암시함으로써 혼란을 더욱 가중시킵니다. NXP의 문서는 오해의 소지가 있습니다. –

+0

그래서 유일한 유일한 고유 ID는이 UID입니까? WinSCard를 사용하여 UID를 읽을 수있었습니다. 일련 번호를 읽을 수없는 경우 제공하는 포인트는 무엇입니까? #JustCurious :-) –

+1

해당 문서의 전체 인용문은 "UID는"일련 번호 "가 아니라 고유 식별자입니다. 바이트 배열을 정수로 변환하는 방법은 권장되지 않습니다." 그들은 그것을 * 숫자 *로 변환하는 것이 그들이 정의하는 것이 아니며 여러 가지 방법으로 수행 할 수 있다고 지적합니다 (예 : 리틀 엔디안 대 빅 엔디안). – Eric

답변

14

각 스마트 카드에는 제조 과정에서 고유 한 영구 식별 (UID) 번호가 기록 된 통합 칩이 들어 있습니다. 이 UID는 카드 일련 번호 (CSN)이라고도합니다. 카드 일련 번호는 암호화되지 않으며 ISO를 준수하는 판독기는 카드 일련 번호를 읽을 수 있습니다.

편집 1 :

MIFARE 카드 일련 번호는 ISO 14443-3A에 정의 된 고유 식별자입니다. 표준에 정의 된 UID 유형은 단일 (4Byte), 이중 (7 바이트) 및 삼중 (10 바이트)입니다. 이전 버전의 Mifare 카드 인 UID는 4 바이트 였지만 이제는 7 바이트로 마이그레이션되었습니다.

편집 2 : 그것은 당신에게 도움이 될 수 ...

What is the difference between a 4 Byte UID and a 4 Byte ID? 

는 4 바이트 UID는 제어 데이터베이스를 사용하여 카드 제조업체에 의해 할당 된 식별자입니다. 이 데이터베이스는 단일 식별자가 두 번 사용되지 않도록합니다. 모순되는 점에서, 4 바이트 ID는 식별자이며, 이는 이상의 제품을 생산하는 시간 동안 하나 이상의 비접촉 칩에 할당되어 동일한 을 가진 하나 이상의 카드가 특정 비접촉 시스템에 배치 될 수 있습니다.

+0

예. 알고 있습니다. 그러나 NXP의 공식 문서에 따르면 UID와 일련 번호는 두 가지 다른 것들이 있습니다. 그래서 나는 혼란 스럽다. –

+0

편집 부분보기 ... – vikky

+0

나는 당신이 이미 답변에서 언급 한 링크를 방문했다. 그러나 링크에는 "UID = 일련 번호"에 대한 대답이 포함되어 있지 않습니다. :-( –

3

이 경우의 구분은 "일련 번호"란 숫자가 계열이며 순차적으로 할당된다는 것을 의미합니다.

MIFARE 카드에는 고유 한 식별 번호 (또는 짧은 UID)가 있으며, 내부 규칙에 의해 생성되며 반드시 순차적이지는 않습니다. 즉, UID가 01020304050607 인 카드가 있으면 지금까지 제작 된 카드가 많다는 의미는 아닙니다.

카드 일련 번호를 말하는 사람을 본 사람은 실제로 UID를 나타냅니다.

MIFARE 카드를 활성화하는 동안 임의의 ID를 반환하도록 구성 할 수 있다는 사실 만 마지막 혼란을 일으킬 수 있습니다. 이 경우 카드를 활성화 할 때마다 다른 "UID"를 받게됩니다. 이 시나리오에서는 카드의 실제 UID를 얻기 위해 블록 0에 포함 된 데이터 (섹터 0의 키를 알아야 함)를 읽어야합니다.

+0

내 질문에 의해 당신의 노력을 주셔서 감사합니다 여전히 높이 스탠드 :( –