2013-09-05 34 views
6

này giết chết tôi ... Tôi cố gắng để tìm một NFC tag/RFID rằng:Thẻ NFC/RFID mật mã?

  1. Thực hiện mã hóa và/hoặc ký mã hóa dữ liệu được gửi đến thẻ như vậy mà thẻ có thể được chứng thực bởi người đọc. Tôi không quan tâm nếu thẻ nỗ lực để xác thực người đọc, và

  2. được hỗ trợ rộng rãi bởi các điện thoại Android và các thư viện NFC tiêu chuẩn, và

  3. Stores chìa khóa mật mã (s) một cách an toàn (đọc nó sẽ là không thể sau khi một cầu chì cấu hình được thổi).

Tôi không quan tâm loại tải trọng nào có thể được lưu trữ trên thẻ và tôi không sử dụng thông báo NDEF. Tôi không quan tâm nếu mã hóa được sử dụng là đối xứng hoặc không đối xứng. Tất cả những gì tôi muốn làm là gửi một chút dữ liệu đến thẻ và sử dụng bí mật được chia sẻ, mã hóa hoặc ký dữ liệu đó và gửi lại cho điện thoại, trong đó mã của tôi sẽ thực hiện cùng chức năng và so sánh kết quả với phản hồi của thẻ để xác thực thẻ.

Tôi có các mẫu của thẻ Atmel CryptoRF * và trong khi họ có thể làm hầu hết những gì tôi cần, chúng không được phát hiện đúng cách bởi điện thoại Android duy nhất mà tôi có. Các chuông điện thoại và tôi lọc 'android.nfc.action.TECH_DISCOVERED' với các mục nhập danh sách công nghệ thích hợp nhưng tôi không nhận được gì. Sự hỗ trợ kỹ thuật của Atmel tồi tệ hơn vô dụng (bởi vì tôi lãng phí thời gian đặt câu hỏi mà họ không bao giờ bận tâm trả lời). Logcat trông giống như:

  • 09-04 21: 03: 53.474 1012-1012 /? D/NativeNfcTag: Không kết nối được - trạng thái = 146
  • 09-04 21: 03: 53.474 1012-1012 /? E/NFCJNI: doDisconnect() - Mục tiêu đã bị ngắt kết nối

Tôi không thấy bất kỳ mục nhập nào trước đây cho thấy rằng thẻ đã từng được Android công nhận.

Điều này có vẻ như một loại thẻ đơn giản, rõ ràng và cần thiết mà nó phải tồn tại ở đâu đó.

NFCMua hoặc những người khác - bất kỳ ý tưởng nào?

Cảm ơn!

* Các bảng dữ liệu Atmel CryptoRF nói sau đây, mà có thể hoặc không có thể hữu ích trong việc xác định liệu những điều này bao giờ có thể được đọc bởi một chiếc điện thoại Android:

  • ISO/IEC 14.443-2: 2001 Loại B Tuân
  • ISO/IEC 14.443-3: 2001 Loại B Tuân Anticollision Nghị định thư
+1

Có vẻ như thẻ/thẻ này không được thiết bị của bạn hỗ trợ. Thử nghiệm với một thiết bị hỗ trợ NFC khác nếu bạn có thiết bị và có lẽ tốt hơn để có được một thẻ được sử dụng rộng rãi hơn như Mifare Ultralight-C hoặc Desfire (phiên bản AES). –

Trả lời

3

Mifare DESFire sẽ làm những gì bạn yêu cầu ngoại trừ một điều:

Hỗ trợ mã hóa không khả dụng ở cấp API.

Bạn phải viết mã thực hiện tất cả xác thực và mật mã và nói trực tiếp với thẻ Desfire. API Android cung cấp các công cụ để thực hiện điều đó thông qua chức năng truy cập cấp thấp IsoDep.transceive.Bạn có thể tìm thấy chính các chức năng mã hóa trong javax.crypto.spec

Không giống như các thẻ khác với tài liệu mật mã của các bước cần thiết để thực hiện xác thực và mã hóa khả dụng trên internet.

+1

Tuyệt vời, cảm ơn. Đôi khi tôi nghĩ rằng những người ở ISO là một chút tàn bạo khi lựa chọn kế hoạch đánh số của họ ... Tôi đã có mẫu của cả hai DESFire EV1 và MiFare siêu nhẹ C sắp tới. Hy vọng rằng có thể thực hiện công việc này. Nhận mã hóa. Điều đó sẽ dễ dàng một khi tôi nhận được một thẻ sẽ nói chuyện với điện thoại. Glad NXP đang sử dụng mật mã tiêu chuẩn thay vì an ninh trong nhà 'an ninh thông qua sự tối tăm' Atmel đã chọn. –

+1

NXP chỉ bắt đầu sử dụng mật mã tiêu chuẩn sau khi Crypto1 trong nhà của họ bị hỏng và họ không thể che giấu nó. –

Các vấn đề liên quan