2015-01-20 5 views
6

MIFARE 1K 태그가 있습니다. 일부 블록은 인증 키 A를 사용하여 쓰고 읽을 수 있지만 다른 블록은 인증 키 B를 사용하여 쓸 수 있습니다. 왜? 예를 들어 A 키를 사용하여 모든 블록을 기록/읽도록 변경하려면 어떻게해야합니까?Mifare 1K 인증 키

예를 들어 키 A를 사용하여 키 블록 07을 쓸 수 있으며이 키 블록의 키 A도 변경할 수 있지만 키 B를 사용하여 키 A를 쓸 수는 없습니다. 이 키 블록의 키 B.

키 B 대신 키 A를 사용하여 쓰거나 읽어야하는 이유는 무엇입니까? 차이점이 뭐야?

답변

10

MIFARE Classic 카드의 각 섹터에는 두 개의 인증 키, 즉 키 A와 키 B가 있습니다. 이러한 두 개의 키와 액세스 조건은 각 섹터의 마지막 블록 (소위 섹터 트레일러)에 저장됩니다. 섹터 트레일러는 다음과 같습니다

+-----------------------------+--------------+----+-----------------------------+ 
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
+-----------------------------+--------------+----+-----------------------------+ 
|   Key A   | Access Conditions |   Key B   | 
|   (6 bytes)   |  (4 bytes)  |   (6 bytes)   | 
+-----------------------------+--------------+----+-----------------------------+ 

액세스 조건 당신이 분야에서 블록에 액세스 할 수있는 방법을 정의

  • 당신은 읽기, 쓰기, (키 A를 인증 한 후 실행할 수있는 명령을, 값
  • 키 B가 인증 키로 사용되는 경우 키 B (읽기, 쓰기, 값 블록 연산)로 인증 한 후 실행할 수있는 명령은
  • 입니다.

일반적인 시나리오는 다음과 같습니다

  • 인증은 읽기 전용 액세스 한 키 A. 키 A에서만 가능하다.
  • 인증은 키 A에서만 가능합니다. 키 A에는 읽기/쓰기 권한이 있습니다.
  • 두 키 모두 인증이 가능합니다. 키 A는 읽기 전용 액세스 권한을가집니다. 키 B에는 읽기/쓰기 액세스 권한이 있습니다.
  • 두 키 모두 인증이 가능합니다. 키 A와 B는 읽기 전용 액세스 권한을가집니다.

당신은 MIFARE datasheet에서 가능한 액세스 조건에 대한 자세한 설명을 찾을 수 있습니다.