<strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

        <em id="tpvd9"></em>

          <address id="tpvd9"></address>
            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

            <thead id="tpvd9"><noframes id="tpvd9">
            <ruby id="tpvd9"></ruby>

                  <thead id="tpvd9"></thead>
                  歡迎您訪(fǎng)問(wèn)鄭州興邦電子股份有限公司官方網(wǎng)站!
                  阿里巴巴誠信通企業(yè)
                  全國咨詢(xún)熱線(xiàn):40000-63966
                  興邦電子,中國水控機第一品牌

                  聯(lián)系興邦電子

                  全國咨詢(xún)熱線(xiàn):40000-63966

                  售后:0371-55132951/55132952

                  工廠(chǎng):河南省 鄭州市 高新區蓮花街電子電器產(chǎn)業(yè)園

                  智能卡安全機制比較系列(一)CardOS

                  文章出處:http://psychicreadingswithdeb.com 作者: 人氣: 發(fā)表時(shí)間:2012年02月26日

                  [文章內容簡(jiǎn)介]:在此將逐步介紹一些流行的智能卡操作系統中各具特色的安全機制,究竟這些安全機制孰優(yōu)孰劣,其實(shí)無(wú)關(guān)緊要,只要這種安全機制能夠滿(mǎn)足系統的安全需求就足夠了。本文主要介紹CardOS。

                      自從智能卡開(kāi)始進(jìn)入人們的日常生活之后,大家對于智能卡的安全性普遍看好,但是不同公司的智能卡在安全機制的實(shí)現方面也存在很多的差異。對于智能卡應用開(kāi)發(fā)和智能卡COS設計人員來(lái)說(shuō),如果能夠更多地了解不同公司的智能卡安全機制,無(wú)疑會(huì )對自己的開(kāi)發(fā)過(guò)程有所幫助。在此將逐步介紹一些流行的智能卡操作系統中各具特色的安全機制,究竟這些安全機制孰優(yōu)孰劣,其實(shí)無(wú)關(guān)緊要,只要這種安全機制能夠滿(mǎn)足系統的安全需求就足夠了。

                      首先看看早期的CardOS,CardOS是西門(mén)子公司基于自己的44C40/80系列芯片而設計的,該系列芯片RAM大小256字節,程序空間8K/16K,數據空間4K/8K,采用西門(mén)子的8051內核。CardOS在1995年推出了1.2版本,主要的APDU命令是符合ISO7816-4的文件讀寫(xiě)操作,采用的安全機制非常靈活,初看起來(lái)也有點(diǎn)復雜,但是實(shí)際原理卻是比較簡(jiǎn)單的。雖然目前國內市場(chǎng)上幾乎已經(jīng)沒(méi)有什么CardOS產(chǎn)品了,但是了解這個(gè)初期的鼻祖級的智能卡安全機制,對于了解目前市場(chǎng)上流行的COS安全機制應該會(huì )有些幫助。

                      CardOS采用半字節作為安全狀態(tài),除卻0和F之外,還有1到E共計14種狀態(tài),每個(gè)狀態(tài)分別對應要達到該狀態(tài)需要進(jìn)行的某種安全認證操作以及這些認證的不同組合方式,這些安全認證包括校驗PIN或者是C/R (Challenge / Response) 認證(也就是我們現在通常所說(shuō)的外部認證),而認證的組合方式包括“邏輯與”及“邏輯或”。

                      對于文件的操作和密鑰的使用可以定義不同的安全狀態(tài),只有滿(mǎn)足定義的安全狀態(tài)后才能進(jìn)行相應的文件操作,或者密鑰的使用。無(wú)論是DF還是EF都有一組3字節的安全狀態(tài)控制字,每半字節作為一種訪(fǎng)問(wèn)控制的狀態(tài)標識,分別對應著(zhù)文件的建立、刪除、添加、讀取、更新等操作。

                      這些安全狀態(tài)及其需要的認證或組合全部保存在一個(gè)特殊的內部文件STCF(Security Test Control File)安全認證控制文件中,該文件是一個(gè)TLV(Tag Length Value)結構的記錄文件,其中第一個(gè)字節就是1-E這14個(gè)狀態(tài)中的一個(gè)作為T(mén)AG,Length根據認證方式的不同而存在差別,Value當中的第一個(gè)字節表示認證類(lèi)型,從中可以看出這個(gè)認證是需要PIN認證,還是需要C/R認證,或者是某幾個(gè)認證狀態(tài)的“邏輯與”及“邏輯或”組合。對于PIN認證還可以指出應該使用哪個(gè)PIN文件中的哪個(gè)PIN,同樣對于C/R認證也可以指出應該使用哪個(gè)密鑰文件中的哪個(gè)密鑰。在CardOS的系統中有一個(gè)安全狀態(tài)bit mask標志,用不同的數據位來(lái)記錄哪個(gè)安全狀態(tài)經(jīng)過(guò)認證得到了滿(mǎn)足。在有些情況下,進(jìn)行DF選擇之后,當前DF的認證狀態(tài)的bit mask標志將會(huì )被清空。

                      關(guān)于“邏輯與”和“邏輯或”其實(shí)也很簡(jiǎn)單。比如“03”的狀態(tài)表示認證第3個(gè)PIN文件中的第2個(gè)PIN,“0B”的狀態(tài)表示需要對第1個(gè)密鑰文件的第5條密鑰進(jìn)行C/R認證。那么我們可以定義狀態(tài)“06”表示“03”和“0B”的邏輯或組合,定義狀態(tài)“07”表示“03”和“0B”的邏輯與組合。我們假設有兩個(gè)文件EF01和EF02,其中EF01讀寫(xiě)的安全狀態(tài)分別為“03”和“06”,EF02讀寫(xiě)的安全狀態(tài)分別為“0B”和“07”。那么在驗證了第3個(gè)PIN文件中的第2個(gè)PIN后,即可以讀EF01也可以寫(xiě)EF01,而對于第一個(gè)密鑰文件的第5條密鑰經(jīng)過(guò)C/R認證后,也可以寫(xiě)EF01。對于EF02的寫(xiě)操作必須同時(shí)滿(mǎn)足以上兩個(gè)認證狀態(tài),對于EF02的讀則只需要C/R認證第1個(gè)密鑰文件的第5條密鑰即可。

                      除了以上的安全狀態(tài)控制機制之外,CardOS還定義了所謂的線(xiàn)路保護LINE PROTECTION,在文件的創(chuàng )建過(guò)程中會(huì )定義LPROTF字段,作為線(xiàn)路保護屬性,有兩種線(xiàn)路保護模式分別為MAC方式和加密方式,同時(shí)還定義了線(xiàn)路保護的方向,即從卡到終端以及從終端到卡。而用來(lái)進(jìn)行線(xiàn)路保護的密鑰只能存儲在SKF(System Key File)系統密鑰文件中。

                      在CardOS中定義了幾個(gè)默認的EF文件標識,分別為:0000 = ATR二進(jìn)制文件,0001 = STCF記錄文件,0002 = PIN記錄文件,0003 = SKF系統密鑰記錄文件,0004 = RSF 隨機數種子二進(jìn)制文件。CardOS支持最多6層DF文件結構,可以通過(guò)文件名、文件標識、文件路徑等方式進(jìn)行文件的選擇。

                  本文關(guān)鍵詞:智能卡安全機制,智能卡安全,CardOS,智能卡COS
                  回到頂部
                  99久热只有精品视频在线17_精品一区二区三区自拍图片_最新国产v亚洲_久久综合九色综合久
                  <strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

                        <em id="tpvd9"></em>

                          <address id="tpvd9"></address>
                            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

                            <thead id="tpvd9"><noframes id="tpvd9">
                            <ruby id="tpvd9"></ruby>

                                  <thead id="tpvd9"></thead>