Versi
Sentiasa “1.0” untuk pemasangan semasa. Semakan masa depan mungkin dinaikkan.
Piawaian · Lesen memandu mudah alih (mDL)
Apabila pengurus bar, pegawai TSA, atau pekerja sewaan kereta mengimbas QR pada aplikasi lesen memandu telefon anda, QR itu bukan lesen. Ia adalah jabat tangan. Atribut sebenar hanya bergerak selepas pengesah mereka meminta medan tertentu dan anda meluluskan pelepasan pada telefon anda. Dilakukan dengan betul, mDL mendedahkan jauh lebih sedikit daripada kad plastik. Dilakukan dengan salah (pengesah bermusuhan, kelulusan menyeluruh), ia mendedahkan jumlah yang sama atau lebih teruk. Inilah cara membezakannya.
ISO/IEC 18013-5:2021, Pengenalan peribadi, Lesen memandu yang mematuhi ISO, Bahagian 5: Aplikasi lesen memandu mudah alih (mDL). Piawaian antarabangsa yang menentukan cara lesen memandu digital dikeluarkan, disimpan, dipindahkan kepada pengesah, dan disahkan luar talian. Permukaan kod QR (bahagian yang kebanyakan orang lihat) adalah seksyen 8.2 “Pengambilan peranti, penglibatan kod QR”. Piawaian pendamping, ISO/IEC 18013-7, merangkumi pengambilan dalam talian (pengesah bertanya kepada pengeluar secara langsung dengan persetujuan pemegang).
Penggunaan sudah pun berjalan dengan baik: selusin negeri AS mempunyai mDL pengeluaran penuh atau perintis dalam Apple Wallet dan Google Wallet; mDL California tersedia secara umum; TSA menerima mDL di keselamatan di kebanyakan lapangan terbang utama AS; EU sedang melancarkan variannya ke dalam EUDI Wallet di bawah eIDAS 2.0 (peraturan berkuat kuasa akhir 2024, dompet dijangka 2026-2027). Piawaian ini juga merupakan asas untuk ISO/IEC 23220 (rangka kerja bukti kelayakan mudah alih umum, merangkumi perkara di luar lesen memandu).
QR mDL mengekodkan struktur CBOR DeviceEngagement. CBOR (Concise Binary Object Representation, RFC 8949) adalah alternatif binari yang ringkas kepada JSON. Struktur yang didekod kelihatan lebih kurang seperti:
{
0: "1.0", // version
1: [1, 2, [eDeviceKey bytes]], // security: cipher suite 1, EC P-256 key
2: [ // device retrieval methods
[1, 1, {...NFC options...}],
[2, 1, {...BLE options...}],
[3, 1, {...Wi-Fi Aware options...}]
],
3: {...optional server retrieval...}
}Medan utama, didekod:
Sentiasa “1.0” untuk pemasangan semasa. Semakan masa depan mungkin dinaikkan.
Pada masa ini sentiasa 1: perjanjian kunci ECDH pada P-256, penyulitan sesi AES-GCM. Suite cipher 2 dikhaskan untuk brainpoolP320r1 (kes guna EU).
Kunci awam EC sementara yang dijana setiap sesi oleh dompet. Digunakan oleh pengesah untuk mewujudkan sesi yang disulitkan. Dibuang selepas transaksi. Pengimbas kami menunjukkan kepada anda panjang medan ini tetapi tidak pernah menggema bait kunci — ia sementara dan hanya bermakna untuk sesi pengesah yang sedang berlangsung.
Dompet memberitahu pengesah saluran mana yang sanggup digunakannya untuk pemindahan atribut sebenar: NFC (ketuk), Bluetooth LE, atau Wi-Fi Aware (Wi-Fi rakan-ke-rakan tanpa titik akses). Kebanyakan mDL menawarkan BLE dan NFC; Wi-Fi Aware adalah terhad kepada platform.
Jika ada, dompet menyokong mod 18013-7: pengesah boleh meminta atribut daripada API dalam talian pengeluar dan bukannya terus daripada dompet. QR termasuk URL pengeluar. Pengimbas kami mengekstrak ini dan menunjukkan kepada anda pihak berkuasa mana yang akan menerima carian.
Ia adalah kategori bukti kelayakan yang berbeza. Kod bar AAMVA PDF417 pada belakang lesen plastik AS membawa setiap atribut pada kad dalam teks biasa — nama, alamat, tarikh lahir, nombor lesen, tinggi, berat, warna mata, sekatan, bendera penderma organ. Mana-mana pengimbas boleh membaca semuanya. Kad adalah bukti kelayakan “semua atau tiada”: sama ada anda menyerahkannya dan mendedahkan segalanya, atau tidak.
mDL membalikkan itu. QR tidak membawa atribut — hanya jabat tangan. Pengesah perlu meminta atribut tertentu (given_name, family_name, birth_date, age_over_21, portrait, document_number, driving_privileges, dll.), dompet menunjukkan kepada anda permintaan itu, dan hanya atribut yang anda luluskan dipindahkan. Pemindahan juga ditandatangani secara kriptografi oleh pihak berkuasa pengeluar (DMV negeri anda), supaya pengesah boleh mengesahkan atribut adalah benar tanpa menghubungi pelayan — pengesahan luar talian berfungsi.
Inilah mengapa orang yang mengambil berat tentang privasi lebih suka mDL walaupun piawaiannya lebih kompleks: ia membolehkan pendedahan yang ditetapkan mengikut transaksi. Pengawal kelab tidak memerlukan alamat anda; pegawai TSA tidak memerlukan status penderma organ anda; pekerja 7-Eleven tidak memerlukan nombor lesen anda.
Piawaian mDL mentakrifkan set atribut terbitan yang membenarkan pengesah bertanya soalan ya/tidak dan bukannya mendapat nilai mentah. Yang utama:
age_over_18, age_over_21, age_over_65 — untuk pembelian berkadar usia tanpa mendedahkan tarikh lahir.resident_state, untuk soalan “adakah anda penduduk negeri?” tanpa mendedahkan alamat.driving_privileges, kelas lesen yang dipegang, sekatan; untuk sewaan kereta.Aplikasi pengesah yang direka dengan baik untuk bar hanya meminta age_over_21. Dompet menunjukkan “Bar XYZ ingin mengetahui sama ada anda berusia lebih 21 tahun.” Anda mengetuk Luluskan, satu boolean bertanda (“benar”) dikembalikan. Aplikasi bar mengesahkan tandatangan berbanding akar amanah mDL negeri yang diterbitkan. Selesai. Tiada tarikh lahir, tiada nama, tiada nombor lesen, tiada foto. Berbanding menyerahkan kad plastik, ini adalah peningkatan privasi yang besar.
Model ancaman kad plastik adalah mudah: hilangkan, disalin, diteropong dari bahu. Model ancaman mDL adalah berbeza. Formatnya kukuh; kriptografinya kukuh; risiko beralih kepada aplikasi pengesah di sebelah lain transaksi.
Sesiapa sahaja boleh membina aplikasi pengesah. Tiada pihak berkuasa pelesenan pusat. Jadi sebuah bar mungkin menjalankan pengesah sedia guna yang dikonfigurasi untuk meminta tarikh lahir penuh, nama penuh, dan foto walaupun ia hanya memerlukan age_over_21. Pekerja sewaan kereta mungkin meminta segalanya “untuk fail.” Pekerja runcit mungkin meminta alamat. Tiada satupun ini dilarang secara teknikal oleh piawaian — piawaian hanya mengatakan dompet perlu menunjukkan kepada pemegang apa yang diminta dan memerlukan kelulusan eksplisit.
Jadi pertahanan adalah pada pihak pemegang: baca gesaan permintaan. Jika pengesah meminta lebih daripada yang diperlukan transaksi, tolak. Sesetengah dompet memberi amaran apabila pengesah tidak ada dalam senarai amanah yang diketahui; ISO/IEC 18013-5 menyokong pengesahan pengesah melalui sijil, tetapi infrastruktur senarai amanah masih matang (senarai setiap negeri di AS; senarai amanah EU di bawah eIDAS 2.0).
Perkara lain yang perlu diketahui: pengesah melihat eDeviceKey anda, suite cipher, dan kaedah pemindahan yang anda sokong — itu sahaja. Mereka tidak mendapat atribut daripada QR sahaja. Jadi mengimbas QR dari pelekat atau skrin seseorang dan pergi dengan itu tidak memberikan penyerang apa-apa yang berguna. Atribut hanya bergerak di dalam sesi yang disulitkan selepas jabat tangan.
Letakkan QR DeviceEngagement mDL (imej, tampal, atau kamera) ke dalam pengimbas kami. Keputusan menunjukkan:
Kami TIDAK mendekod sebarang atribut — tiada atribut dalam QR, mengikut reka bentuk. Data lesen sebenar akan bergerak disulitkan melalui kaedah pemindahan yang dipilih kepada pengesah sebenar.
Penyahkodan berlaku dalam pelayar anda; hanya metadata struktur sampai ke pelayan kami untuk pengelasan keselamatan.
age_over_21 = tolak atau tanya mengapa. Pekerja sewaan kereta yang meminta status penderma organ = tolak.Letakkan QR (imej, tampal, atau kamera). Keputusan menunjukkan versi, suite cipher, kaedah pemindahan, dan sebarang URL pengambilan pelayan pilihan. Tiada atribut — atribut itu hanya bergerak di dalam sesi pasca-jabat tangan yang disulitkan kepada pengesah sebenar.