智能卡數據傳輸T=1傳輸協議
發布時間:2008/11/22 0:00:00 訪問次數:1194
t=1傳輸協議是智能卡的異步半雙工通信協議。它立足于國際標準iso/iec 7816-3。emv規范也和此協議 有關。t=1協議是面向字組的協議,這就是說一個字組是卡和終端之間可以傳輸的最小數據單元。
這項協議以嚴格的層次劃分為特點,可作為數據鏈路層歸入osi參考模型中。在這種意義上,層次劃分也 就意味著數據指向較高的層次,諸如應用層,并可完全由數據鏈路層透明地處理。除了這一層直接和所傳輸 的數據的內容的解釋與修改有關之外,不再需要別的層次。
特別是報文的安全性需要嚴格地遵守層次劃分,只有這樣才能使用戶加密的數據通過接口而不必求助于復 雜的方法或技巧。目前,t=1是惟一的國際智能卡協議可以使安全數據得以在其所有變型的情況下傳輸而沒 有任何問題或危及其安全性。
傳輸的過程開始于卡送出atr之后,或在成功執行了pts之后。第1個字組由終端發送,下一個則由卡發送 。于是,通信按此方式繼續,發送權在終端與卡之間輪換。
順便提及,t=1協議的應用不限于智能卡/終端的通信,它被用于多種終端和它們與之相連的計算機間交 換有用的數據和控制數據。
數據傳輸率對任何協議自然都是一個最令人感興趣的方面,表1列出了t=1協議傳輸某些典型命令的時間。
表1 t=1傳輸協議對某些典型命令的數據傳輸時間
(時鐘頻率為3.5712mhz,分頻值為372,x0r差錯檢測碼,每條命令有2位停止位和8位數據字節,c=命令 ,r=應答)
1,字組結構
所傳送的字組實質上用于兩種不同的目的,其中之一是透明傳輸的應用專用數據,另一個則是傳輸協議控 制數據或對傳輸差錯的處理。
傳輸的字組由開始的組頭字段,信息字段和最后的組尾字段組成,組頭和組尾字段是強制性的,必須總是 發送的。相反,信息字段是可選的,它含有應用層的數據,它可能是發送給智能卡的命令apdu或是來自卡的 應答apdu。傳輸字組的結構如圖1所示。
圖1 t=1傳輸字組的結構
在t=1中有三種基本的不同類型的字組:信息字組、接收確認字組和系統字組。信息字組(i字組)用于透 明地交換應用層的數據。接收確認字組(r字組),它不含有任何數據字段,被用于對接收的認可或否認。 系統字組(s字組)用于和協議本身有聯系的控制信息,取決于特定的控制信息,它們可能有一個信息字段 。
2.組頭字段
組頭字段含有三個子段:結點地址(nad),協議控制字節(pcb)和長度(len),它為三字節長并含有對 實際傳輸字組的控制和指針數據。這三個子段的編碼見表2~表5。
1)結點地址nad(node address)
組頭字段的第1個字節被稱為結點地址(nad)字節,它含有字組的目標和源地址,它們的每一個用三位編 碼,如果未用地址,則有關位置為0。此外,為了和老的微控制器相容,對eeprom或eprom的編程電壓提供了 控制。然而,這一點沒有實際應用,因為現在的所有智能卡微控制器在芯片內都有一個電荷泵。
表2 結點地址(nad字段)
2)協議控制字節pcb(protocol control byte)
接著結點地址的子段是協議控制字節(pcb)。如同名字所暗示,它用來控制和管理傳輸協議,這就增加了 所需的編碼數量,pcb字段主要用來編碼字組類型,以及有關的補充信息。
表3 i字組的pcb字段
表4 r字組的pcb字段
表5 s字組的pcb字段
3)長度len(length field)
字節的長度字段(len)以十六進制的形式指明信息字段的長度,其值可為‘00’至‘fe’。編碼‘ff’目 前未用而留各未來擴充之用。
3,信息字段
在i字組中,信息字段起著應用層數據(osi第7層)的集裝箱的作用。此字段的內容被完整而透明地傳送, 這就是說此內容由傳輸協議直接送出,而不經任何分析或評估。
在s字組中,這個字段傳送關于傳輸協議的數據,這是此字段的內容用于傳輸層的惟一情形。
按照iso標準,信息字段的大小范圍為‘00’至‘fe’(254)字節,‘ff’(255)被iso為未來應用而保 留。終端和卡可以有不同大小的i字段。終端i字段的缺省大小為32字節的接口設備信息字段大小(inf.。 rmation field size for the interface device),它可以通過特殊的s字段來改變,這個32字節的缺省
t=1傳輸協議是智能卡的異步半雙工通信協議。它立足于國際標準iso/iec 7816-3。emv規范也和此協議 有關。t=1協議是面向字組的協議,這就是說一個字組是卡和終端之間可以傳輸的最小數據單元。
這項協議以嚴格的層次劃分為特點,可作為數據鏈路層歸入osi參考模型中。在這種意義上,層次劃分也 就意味著數據指向較高的層次,諸如應用層,并可完全由數據鏈路層透明地處理。除了這一層直接和所傳輸 的數據的內容的解釋與修改有關之外,不再需要別的層次。
特別是報文的安全性需要嚴格地遵守層次劃分,只有這樣才能使用戶加密的數據通過接口而不必求助于復 雜的方法或技巧。目前,t=1是惟一的國際智能卡協議可以使安全數據得以在其所有變型的情況下傳輸而沒 有任何問題或危及其安全性。
傳輸的過程開始于卡送出atr之后,或在成功執行了pts之后。第1個字組由終端發送,下一個則由卡發送 。于是,通信按此方式繼續,發送權在終端與卡之間輪換。
順便提及,t=1協議的應用不限于智能卡/終端的通信,它被用于多種終端和它們與之相連的計算機間交 換有用的數據和控制數據。
數據傳輸率對任何協議自然都是一個最令人感興趣的方面,表1列出了t=1協議傳輸某些典型命令的時間。
表1 t=1傳輸協議對某些典型命令的數據傳輸時間
(時鐘頻率為3.5712mhz,分頻值為372,x0r差錯檢測碼,每條命令有2位停止位和8位數據字節,c=命令 ,r=應答)
1,字組結構
所傳送的字組實質上用于兩種不同的目的,其中之一是透明傳輸的應用專用數據,另一個則是傳輸協議控 制數據或對傳輸差錯的處理。
傳輸的字組由開始的組頭字段,信息字段和最后的組尾字段組成,組頭和組尾字段是強制性的,必須總是 發送的。相反,信息字段是可選的,它含有應用層的數據,它可能是發送給智能卡的命令apdu或是來自卡的 應答apdu。傳輸字組的結構如圖1所示。
圖1 t=1傳輸字組的結構
在t=1中有三種基本的不同類型的字組:信息字組、接收確認字組和系統字組。信息字組(i字組)用于透 明地交換應用層的數據。接收確認字組(r字組),它不含有任何數據字段,被用于對接收的認可或否認。 系統字組(s字組)用于和協議本身有聯系的控制信息,取決于特定的控制信息,它們可能有一個信息字段 。
2.組頭字段
組頭字段含有三個子段:結點地址(nad),協議控制字節(pcb)和長度(len),它為三字節長并含有對 實際傳輸字組的控制和指針數據。這三個子段的編碼見表2~表5。
1)結點地址nad(node address)
組頭字段的第1個字節被稱為結點地址(nad)字節,它含有字組的目標和源地址,它們的每一個用三位編 碼,如果未用地址,則有關位置為0。此外,為了和老的微控制器相容,對eeprom或eprom的編程電壓提供了 控制。然而,這一點沒有實際應用,因為現在的所有智能卡微控制器在芯片內都有一個電荷泵。
表2 結點地址(nad字段)
2)協議控制字節pcb(protocol control byte)
接著結點地址的子段是協議控制字節(pcb)。如同名字所暗示,它用來控制和管理傳輸協議,這就增加了 所需的編碼數量,pcb字段主要用來編碼字組類型,以及有關的補充信息。
表3 i字組的pcb字段
表4 r字組的pcb字段
表5 s字組的pcb字段
3)長度len(length field)
字節的長度字段(len)以十六進制的形式指明信息字段的長度,其值可為‘00’至‘fe’。編碼‘ff’目 前未用而留各未來擴充之用。
3,信息字段
在i字組中,信息字段起著應用層數據(osi第7層)的集裝箱的作用。此字段的內容被完整而透明地傳送, 這就是說此內容由傳輸協議直接送出,而不經任何分析或評估。
在s字組中,這個字段傳送關于傳輸協議的數據,這是此字段的內容用于傳輸層的惟一情形。
按照iso標準,信息字段的大小范圍為‘00’至‘fe’(254)字節,‘ff’(255)被iso為未來應用而保 留。終端和卡可以有不同大小的i字段。終端i字段的缺省大小為32字節的接口設備信息字段大小(inf.。 rmation field size for the interface device),它可以通過特殊的s字段來改變,這個32字節的缺省