0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

射頻識別技術(shù)漫談(19)——Desfire的3次握手認證和段密碼生成

闐笑 ? 來源:魏道志 ? 作者:魏道志 ? 2023-10-16 17:00 ? 次閱讀

射頻識別技術(shù)漫談(12)——三次相互認證并生成臨時的通訊密鑰在通訊技術(shù)中的應(yīng)用非常普遍,Mifare Desfire也使用了這種成熟的認證加密方法。Desfire在卡片數(shù)據(jù)傳輸前使用DES或3DES進行3次握手認證,認證成功一方面表明卡片和讀寫器雙方是可以相互信任的,同時為雙方之后的數(shù)據(jù)傳送提供了一組臨時使用的段密碼進行加密保護。
DES/3DES的基本運算包括加密和解密,Desfir卡片規(guī)定,當(dāng)讀寫器(PCD)與卡片(PICC)進行DES/3DES運算時,卡片總是進行加密運算,與之對應(yīng),讀寫器總是進行解密運算。DES密鑰有16個字節(jié),如果前8個字節(jié)與后8個字節(jié)相同,則進行DES運算,反之如果前8個字節(jié)和后8個字節(jié)不同,則進行3DES運算。如下表所示:

wKgZomUs-4iAS53nAAArVCa4WXU097.png

DES/3DES運算每次操作8字節(jié),如果數(shù)據(jù)不足8字節(jié),必須填充為8字節(jié),填充的數(shù)據(jù)通常是00,如果正好要進行DES運算的數(shù)據(jù)是“00 00 00”(比如“讀取所有數(shù)據(jù)”命令),則填充一個0x80,后面再填充00。
所有的DES/3DES操作使用密碼塊鏈接模式(CBC),即上一次DES運算的結(jié)果作為下一次運算的初始向量。發(fā)送數(shù)據(jù)使用發(fā)送CBC模式,接收數(shù)據(jù)使用接收CBC模式。第一次運算的初始向量規(guī)定為8字節(jié)的00.
以下描述3次握手認證和段密碼產(chǎn)生的過程及實例,假設(shè)卡片密碼為16個00:
第一步:讀寫器作為發(fā)起認證的主導(dǎo)方,向卡片發(fā)送認證(Authenticate)命令,并攜帶一個表示密碼序號的參數(shù)(卡片上每種應(yīng)用可以最多有14組不同的密碼,其序號為0-D)。如果選定的應(yīng)用標識符AID為0,那么認證將指向卡片的主密碼(卡片密鑰),在此情況下,密碼序號必須為0。如果AID不為0,則認證的是某一應(yīng)用的密碼??ㄆM入磁場上電復(fù)位后將默認選中AID為0。也就是說卡片復(fù)位的首次密碼認證總是指向卡片主密碼。如果卡片上不存在指定的密碼組號,卡片將返回一個錯誤碼。
第二步:卡片用讀寫器指定的密碼加密一組8字節(jié)的隨機數(shù)RndB,例如RndB=98 E4 EE 2E 8B 4B F7 B1,加密方法使用DES/3DES,其結(jié)果用ek(RndB)表示,此處ek(RndB)=61 58 F4 51 8A 25 9B 00,并把ek(RndB)返回給讀寫器。
第三步:讀寫器用待認證的密碼16個00,對收到的ek(RndB)進行DES/3DES解密從而得到RndB=98 E4 EE 2E 8B 4B F7 B1。接下來讀寫器對RndB進行8位閉合左循環(huán),從而將第一個字節(jié)移到了最后一個字節(jié)的位置,結(jié)果記為RndB’,RndB’=E4 EE 2E 8B 4B F7 B1 98。然后讀寫器自己產(chǎn)生一個8字節(jié)的隨機數(shù)RndA,例如RndA=00 11 22 33 44 55 66 77,并與RndB’連接起來組成RndA+RndB’=00 11 22 33 44 55 66 77 E4 EE 2E 8B 4B F7 B1 98共16字節(jié),使用CBC模式的DES/3DES解密運算,得到的結(jié)果稱為dk(RndA+RndB’)=74 F4 AE 77 7A A4 31 E8 4B 18 BA 8F 74 CF 80 63發(fā)送給卡片。
第四步:卡片收到16字節(jié)dk(RndA+RndB’)后執(zhí)行DES/3DES加密運算,得到結(jié)果RndA+RndB’。卡片首先將自己原來的RndB大循環(huán)左移8位,看結(jié)果是否等于RndB’,如果不相等,卡片將停止認證過程,并回送一個錯誤碼。如果相等,證明卡片使用的密碼和讀寫器使用的密碼一致,卡片將獲得的RndA也大循環(huán)左移8位得到RndA’=11 22 33 44 55 66 77 00,然后對RndA’進行DES/3DES加密運算,得到的結(jié)果稱為ek(RndA’)=F1 81 F7 32 6D CD 86 A6回送給讀寫器。
第五步:讀寫器收到ek(RndA’)后執(zhí)行DES/3DES解密從而得到Rnd A’,并把自己之前產(chǎn)生的RndA大循環(huán)左移8位,得到的結(jié)果與Rnd A’比較,如果不相等,讀寫器將退出認證過程并可將卡片休眠。
第六步:卡片將當(dāng)前的應(yīng)用設(shè)置為通過認證狀態(tài),如果AID=0,則將卡片本身設(shè)置為通過認證狀態(tài)。
第七步:如果雙方所有的比較都成功,通過組合RndA和RndB得到一個16字節(jié)的段密碼,組合的方法如下:
段密碼=RndA第一部分+RndB第一部分+ RndA第二部分+RndB第二部分
對于本文中的例子,產(chǎn)生的段密碼為
00 11 22 33 98 E4 EE 2E 44 55 66 77 8B 4B F7 B1
之所以采取這種組合方法產(chǎn)生段密碼是為了避免惡意的讀寫器通過將RndA=RndB而將3DES運算強行轉(zhuǎn)化為DES運算。如果之后的數(shù)據(jù)傳輸確實想使用單DES操作(使段密碼的前8字節(jié)與后8字節(jié)相等),應(yīng)使用前8個字節(jié),即RndA第一部分+RndB第一部分,而不能使用后8個字節(jié)。
得到16字節(jié)的段密碼后,3次相互握手認證完成。如果之后的通訊是DES/3DES加密傳輸,則使用剛產(chǎn)生的16字節(jié)段密碼作為臨時的DES密鑰。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RFID
    +關(guān)注

    關(guān)注

    388

    文章

    6152

    瀏覽量

    237899
  • 射頻識別
    +關(guān)注

    關(guān)注

    8

    文章

    577

    瀏覽量

    38951
收藏 人收藏

    評論

    相關(guān)推薦

    DHCP 四握手

    DHCP的四握手過程大白話大致如下: 客戶端:剛開機,還沒有IP地址,哪位佬能給個IP? 這個過程中,客戶端就是一個網(wǎng)絡(luò)小白,它也不知道自己IP是多少,就開始喊話,問有沒有DHCP服務(wù)器能給它分配
    的頭像 發(fā)表于 12-25 10:11 ?104次閱讀

    紫光同芯亮相2024年電子認證技術(shù)交流會

    近日,2024年電子認證技術(shù)交流會在北京圓滿落幕。本次大會以“量子計算時代的電子認證技術(shù)發(fā)展”為主題,旨在通過推廣電子認證
    的頭像 發(fā)表于 12-23 09:27 ?239次閱讀

    射頻識別技術(shù)在物流中的應(yīng)用

    射頻識別技術(shù)(RFID)在物流領(lǐng)域具有廣泛的應(yīng)用,它利用射頻方式進行非接觸式雙向通信,以達到識別目的并交換數(shù)據(jù)。以下是RFID
    的頭像 發(fā)表于 12-03 09:57 ?584次閱讀

    使用TRF7970A進行MIFARE DESFire EV1 AES認證

    電子發(fā)燒友網(wǎng)站提供《使用TRF7970A進行MIFARE DESFire EV1 AES認證.pdf》資料免費下載
    發(fā)表于 10-26 09:33 ?1次下載
    使用TRF7970A進行MIFARE <b class='flag-5'>DESFire</b> EV1 AES<b class='flag-5'>認證</b>

    簡述TCP協(xié)議的三握手機制

    TCP(Transmission Control Protocol,傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。它主要用于在IP網(wǎng)絡(luò)中進行數(shù)據(jù)傳輸。TCP協(xié)議的三握手
    的頭像 發(fā)表于 08-16 10:57 ?1015次閱讀

    射頻識別技術(shù)的工作原理

    射頻識別技術(shù)(Radio Frequency Identification,簡稱RFID)是一種非接觸的自動識別技術(shù),通過無線
    的頭像 發(fā)表于 08-13 10:36 ?1093次閱讀

    人臉識別模型訓(xùn)練是什么意思

    的各個方面。 人臉識別技術(shù)概述 人臉識別技術(shù)是一種生物特征識別技術(shù),通過分析人臉圖像的特征,實現(xiàn)
    的頭像 發(fā)表于 07-04 09:16 ?606次閱讀

    RFID射頻識別是什么技術(shù)

    射頻識別(RFID) 是 Radio Frequency Identification 的縮寫。 射頻識別技術(shù) 是自動
    的頭像 發(fā)表于 06-17 17:26 ?627次閱讀
    RFID<b class='flag-5'>射頻</b><b class='flag-5'>識別</b>是什么<b class='flag-5'>技術(shù)</b>

    RFID射頻識別中的高頻HF

    RFID,即 Radio Frequency Identification 射頻識別技術(shù),是一種非接觸式的自動識別技術(shù),通過無線
    發(fā)表于 05-08 11:31

    龍芯瀏覽器V3通過《商用密碼產(chǎn)品認證證書》二級認證

    近日,龍芯瀏覽器的最新版本V3獲得國家密碼管理局商用密碼檢測中心頒發(fā)的《商用密碼產(chǎn)品認證證書》二級認證
    的頭像 發(fā)表于 04-07 14:20 ?743次閱讀
    龍芯瀏覽器V<b class='flag-5'>3</b>通過《商用<b class='flag-5'>密碼</b>產(chǎn)品<b class='flag-5'>認證</b>證書》二級<b class='flag-5'>認證</b>

    射頻識別RFID介紹

    射頻識別(RFID) 是 Radio Frequency Identification 的縮寫。 射頻識別技術(shù) 是自動
    的頭像 發(fā)表于 03-27 11:00 ?1992次閱讀
    <b class='flag-5'>射頻</b><b class='flag-5'>識別</b>RFID介紹

    射頻識別RFID

    射頻識別(RFID) 是 Radio Frequency Identification 的縮寫。 射頻識別技術(shù)是自動
    發(fā)表于 02-28 11:31

    說說TCP三握手的過程?為什么是三而不是兩、四?

    說說TCP三握手的過程?為什么是三而不是兩、四? TCP三
    的頭像 發(fā)表于 02-04 11:03 ?683次閱讀

    TCP協(xié)議連接的三握手

    通過三握手,客戶端與服務(wù)端能夠確保彼此的網(wǎng)絡(luò)連接是可用的??蛻舳税l(fā)起的SYN報文和服務(wù)端返回的SYN+ACK報文都包含了對方的初始序列號和通信能力信息,通過互相確認這些信息,雙方確認彼此的能力和正確性。
    的頭像 發(fā)表于 02-03 16:44 ?1365次閱讀
    TCP協(xié)議連接的三<b class='flag-5'>次</b><b class='flag-5'>握手</b>

    簡單認識射頻識別技術(shù)

    射頻識別 (Radio Frequency Identification, RFID)是一種無線通信技術(shù),可以通過磁場耦合或者電場傳輸?shù)确墙佑|方式實現(xiàn)數(shù)據(jù)的無線傳輸,達到識別特定目標的
    的頭像 發(fā)表于 01-08 09:43 ?1167次閱讀