關 閉

        新聞中心

        EEPW首頁 > 安全與國防 > 設計應用 > 智能卡操作系統(tǒng)的加密算法命令

        智能卡操作系統(tǒng)的加密算法命令

        作者: 時間:2011-03-11 來源:網絡 收藏

          對于很多應用來說命令是十分重要的。例如,它們使可比較容易用做加密和解密設備或用 于驗證數字簽名。許多有其自已執(zhí)行的命令組。因為沒有這類功能的標準,出現(xiàn)了 諸如ENCRYPT(加密),DECRYPT(解密),SIGN DATA(簽署數據)和VERIFY SIGN ̄ATURE(驗證簽名)等命令。然而,同時有兩條專門處理的命令已規(guī)定在ISO/IEC 7816-8標準中。

          在下述材料中,也會述及在ISO/IEC 7816-8標準中的其他加密命令,因為這是目前對于此類命令惟一有效的資料,然而,在撰寫此書時這些標準尚未完成;其狀態(tài)為委員會草案CD(Committee Draft)。這意味著在最終版本出現(xiàn)之前,仍有某種可能做一些小修改,甚至會出現(xiàn)大的變動。

          在ISO/IEC 7816-8標準中與加密有關的功能分解在兩條命令之間,MANAGE SECURITYENVIROMENT(達成安全 環(huán)境)命令允許在實際執(zhí)行加密算法之前先設定各種一般的條件,這條命令傳送一“模板”給卡,此模板中 含有相關的參數。它們一直保持有效,直到被一條新的MANAGE SECURITY ENVIROMENT命令所取代。模板本身 含有TLV編碼的數據對象,它允許在參數傳輸中的高度可變性(而遺憾其復雜性)。

        圖1 ISO/ICE 7816-8中有關加密功能的命令:MANAGE SECURITY ENVIRONMENT利日PERFORM ECURITY OPERATION的基本原理

          在加密功能的所有選項用MANAGE SECURITY ENVIRONMENT命令都設置要當后,可調用PERFORM SECURITY OPERATION(執(zhí)行安全操作)命令,用此命令可實現(xiàn)大量的安全操作,只要它們都受到智能卡的支 持。這一命令的可能選項的數量是如此巨大,因此并非所有受到的支持都是強制性的。雖然PERFORM SECURITY OPERATION只用一個指令字節(jié)編碼,然而卻由參數字節(jié)Pl來區(qū)分其8項基本不同的功能。這樣做的 理由是剩下可用以給命令編碼的命令字節(jié)數在這時已經感到比較緊張了。

          這兩條命令的功能見表1~表9,圖1則說明了它們運行的基本原理。

        表1 遵照ISO/IEC 7816-8的MANAGE SECURITY ENVIRONMENT的功能

          由于PERFORM SECURITY OPERATION命令以很多不同的方式應用,我們在下面將按照不同的選項來分別敘述 其功能,而不對它們做過細的描述。

          PERFORM SECURITY OPERATION的COMPUTE CRYPTOGRAPHIC CHECKSUM(計 算加密代碼和)選項是用來求加密的校驗和(CCS)的,它通常被稱為MAC(報文鑒別碼)。所用之填補以及 密鑰或由隱含給出或可經MANAGE SECURITY-ENVIRONMENT命令提供。與此命令相對應的選項為 VERIFY CRYP-TOGRAPHIC CHECKSUM,它計算傳輸數據的加密代碼和并和也在命令中傳送的基準值相比較。這項操作的結果 是符合/不符合,并回給終端。

        表2 遵照ISO/IEC 78168的PERFORM SECURITY OPERATION的選項COMPUTE CRYPTOGRAPHlC CHECKSUM的功能

        表3 遵照ISO/IEC 7816-8的PERFORM SECURITY OPERATION的選項VERIFY CRYPTOGRAPHIC CHECKSUM的功能

          兩個選項ENCIPHER和DECIPHER對數據提供了純粹的加密和解密,ENCIHER選項用來對命令中傳送的數據加密 。根據操作系統(tǒng)提供的選項,可先行傳送MANAGE SECURITYENVIRONMENT命令,以選擇所用加密算法。類似地 ,也必須用傳送的參數在發(fā)布命令之前先行設置要當加密算法的模式。對于字組加密算法,尚可在ECB與CBC 模式間選擇。由于傳送給卡的數組的長度沒有必要精確地為加密算法字組大小的整倍數,故必須由一個補充 參數規(guī)定填補方法,同樣重要的是智能卡中算法用于加密數據的密鑰的存儲地址。

        表4 遵照ISO/IEC 7816-8的PERFORM SECURITY OPERATION的選項ENCIPHER的功能

        表5 遵照ISO/IEC 7816-8的PERFORM SEOURITY OPERATION的選項DECIPHER的功能

          ENCIPHER的逆操作是DECIPHER,用此功能可使傳送的數據以和ENCIPHER中所用的相同模式被解密。當然智 能卡必須知道相應的密鑰,算法模式和填補模式,這些信息必須用一條MANAGE SECURITY ENVIRONMENT命令傳送給卡的操作系統(tǒng)。

          由于把公開密鑰算法引人到智能卡的應用中,這就需要有適當的命令來使用這一新的有效功能。智能卡特 別適合于簽名的應用,因為簽名的算法的秘密密鑰可以安全地存在存儲器中,而它不能被讀到。ISO/IEC 7816-8標準說明了命令的四種選項可用于數字簽名。

          PERFORM SECURITY OPERATION命令的HASH(散列)選項可用于計算散列值,命令或是傳送要散列的數據, 或是傳送在智能卡之外已算出的散列值以及需用于最后一步計算的數據。在后一種情況,對最后字組的散列 計算是在卡中執(zhí)行的,這種方法的好處是散列值可以在卡外能顯然較快形成,但最后一步仍在卡內進行。從 純粹加密的觀點看來,這僅僅提供了少量額外的安全性,但可稍微限制操縱散列值的可能性,被廣泛用在實 際中。

          由于散列的數據量通常大于一條命令中所允許的數據字段的最大長度,比⒋SH選項中使用了“7級” (Level-7)鏈接,意即數組可在應用級上邏輯地鏈接在一起。最終的散列數組中含有一個標記以通知命令 散列操作至此字組結束。

          

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 大渡口区| 奎屯市| 广西| 稷山县| 沂南县| 贵溪市| 县级市| 咸阳市| 柞水县| 望城县| 新丰县| 商洛市| 乐山市| 恩平市| 常熟市| 溧阳市| 五华县| 阜城县| 安乡县| 河北区| 建湖县| 江孜县| 长乐市| 阜城县| 佳木斯市| 南丰县| 加查县| 大安市| 定陶县| 林芝县| 桃园县| 临猗县| 朝阳县| 驻马店市| 探索| 岗巴县| 团风县| 涡阳县| 冀州市| 赤水市| 滕州市|