转:智能卡测试操作系统技术
具有穩(wěn)定、可靠的卡內(nèi)操作系統(tǒng)是智能卡正常工作的基礎(chǔ),智能卡操作系統(tǒng)控制外界與智能卡之間的通信,管理卡片的存儲空間,并且在卡內(nèi)對于各種命令進行處理,所以在COS 開發(fā)過程中有必要對COS 進行充分且全面的測試。COS 的主要特點: 它是一個專用系統(tǒng); COS 一般是根據(jù)某種卡片的特點以及應(yīng)用范圍來設(shè)計開發(fā)的,具有高可靠性; COS 所要完成的功能需遵循相關(guān)的國際規(guī)范以及行業(yè)規(guī)范; 支持同一應(yīng)用類型的COS 往往遵循同樣的規(guī)范,這使得COS 的測試有一定的重用性。
??? 以上特點決定了常規(guī)的軟件測試方法不能直接用于COS 測試。
??? 1 智能卡操作系統(tǒng)
??? 1. 1 COS 組成結(jié)構(gòu)
??? COS 的主要功能是從智能卡傳出和傳入數(shù)據(jù),控制執(zhí)行相關(guān)的命令,管理維護文件系統(tǒng),管理與執(zhí)行加密算法。其結(jié)構(gòu)可劃分為兩個層次: 功能層和微內(nèi)核層。
??? 功能層主要實現(xiàn)COS 的業(yè)務(wù)邏輯,包含通信管理、安全管理、命令解釋、文件管理四大模塊。
??? 1) 通信管理模塊: 對輸入緩沖區(qū)中收到的數(shù)據(jù)進行奇偶校驗,以及對分組長度等進行正確性判斷,但不對信息的內(nèi)容進行判斷,以ISO/ IEC 7816- 4 中有關(guān)命令結(jié)構(gòu)作為判斷的標準; 接收經(jīng)過命令處理、文件管理處理、安全認證后的數(shù)據(jù),并按照ISO/ IEC 7816- 4中有關(guān)命令結(jié)構(gòu)要求將其打包成完整的結(jié)果報文,放入到輸出緩沖區(qū),發(fā)送結(jié)果報文。?
??? 2) 安全管理模塊: 接受通信管理模塊的調(diào)度,并將處理后的信息返回給通信管理模塊; 對通信管理模塊接收的數(shù)據(jù)進行安全驗證,但不對數(shù)據(jù)內(nèi)容進行驗證,若安全驗證失敗,則直接返回驗證失敗。?
??? 3)命令解釋模塊: 接受安全管理模塊的調(diào)度,并將處理后的數(shù)據(jù)信息( 與命令相對應(yīng)的響應(yīng)代碼) 返回給安全管理模塊; 需要作數(shù)據(jù)內(nèi)容上的鑒別( 檢查命令的各項參數(shù)是否正確) ,然后執(zhí)行相應(yīng)的操作,完成對卡內(nèi)有關(guān)數(shù)據(jù)的操作,若對數(shù)據(jù)內(nèi)容鑒別未通過,則直接返回錯誤碼給通信管理模塊。?
??? 4)文件管理模塊: 接受命令管理模塊的調(diào)度; 數(shù)據(jù)在卡內(nèi)是以文件形式存在的,文件管理模塊須提供文件的建立、修改、刪除等基本操作,文件訪問的安全控制等。
??? 微內(nèi)核的主要功能: 為上層的功能層提供硬件支持,實現(xiàn)終端與卡內(nèi)硬件的通信。微內(nèi)核分為接口層、驅(qū)動層,接口層為功能層提供服務(wù),將功能層的服務(wù)請求轉(zhuǎn)化成對驅(qū)動層的調(diào)用,為功能層提供統(tǒng)一的接口。驅(qū)動層主要實現(xiàn)對底層硬件的各種驅(qū)動操作。
??? 1. 2 COS 的狀態(tài)轉(zhuǎn)移過程
??? 各功能模塊在完成特定請求的過程中可能還需要向其他功能模塊發(fā)出請求。各模塊之間是調(diào)度請求和數(shù)據(jù)響應(yīng)的關(guān)系,在一對關(guān)系中調(diào)度請求表現(xiàn)為模塊的輸出,數(shù)據(jù)響應(yīng)表現(xiàn)為模塊的輸入,調(diào)度和響應(yīng)都用事務(wù)表示,事務(wù)所代表的是一組數(shù)據(jù),以及對數(shù)據(jù)的操作。
事務(wù)1: 智能卡收到終端的APDU 請求;?
??? 事務(wù)2: 智能卡向終端發(fā)出的APDU 響應(yīng);?
??? 事務(wù)3: 通信管理模塊接收到APDU 命令,進行校驗后,調(diào)用命令解釋模塊對APDU 指令進行處理;?
??? 事務(wù)4: 命令解釋模塊向通信管理模塊返回處理后的數(shù)據(jù)或異常事件;?
??? 事務(wù)5: 命令解釋模塊在APDU 命令的處理過程中,需要訪問文件而調(diào)用文件系統(tǒng)模塊;?
??? 事務(wù)6: 文件系統(tǒng)模塊將處理后的信息返回給命令解釋模塊;?
??? 事務(wù)7: 文件系統(tǒng)模塊在對文件操作時需要進行安全控制時調(diào)用安全模塊;?
??? 事務(wù)8: 安全管理模塊在涉及安全性相關(guān)的文件時調(diào)用文件系統(tǒng)模塊;?
??? 事務(wù)9: 命令解釋模塊向安全管理模塊發(fā)出的響應(yīng)事件;?
??? 事務(wù)10: 安全管理模塊向命令解釋模塊發(fā)出的處理數(shù)據(jù)請求;?
??? 事務(wù)11: 安全管理模塊向通信管理模塊發(fā)出的響應(yīng)事件或異常事件;?
??? 事務(wù)12: 通信管理模塊為完成終端發(fā)出的APDU請求,向COS 微內(nèi)核發(fā)出的調(diào)用底層硬件接口請求;?
??? 事務(wù)13: 命令解釋模塊為完成安全管理模塊請求,向COS 微內(nèi)核發(fā)出的調(diào)用底層硬件接口請求;?
??? 事務(wù)14: 文件系統(tǒng)模塊為完成安全管理模塊請求,向COS 微內(nèi)核發(fā)出的調(diào)用底層硬件接口請求;?
??? 事務(wù)15: 安全管理模塊為完成安全管理模塊請求,向COS 微內(nèi)核發(fā)出的調(diào)用底層硬件接口請求。
??? 1. 3 智能卡通信過程
??? 智能卡與終端之間的通信是通過命令--響應(yīng)對實現(xiàn)的。終端向卡發(fā)送命令( 以C- APDU 形式) ,卡收到命令后,由COS 對接收的命令報文進行處理,然后將處理結(jié)果打包成響應(yīng)報文( 以R- APDU 形式) 返回給終端。
??? C- APDU 由兩部分組成 : 一個必備的連續(xù)4 字節(jié)的命令頭,用CLA、I NS、P1 和P2 表示,以及一個可選的長度可變的條件體。在C- APDU 中發(fā)送的數(shù)據(jù)的字節(jié)數(shù)由1 字節(jié)的L c 定義,期望卡回送的R- AP􀀁DU 數(shù)據(jù)字段的最大字節(jié)數(shù)由1 字節(jié)的L e 指定
對命令功能的測試主要是測試各命令之間的相互關(guān)系以及命令序列所完成的功能。根據(jù)ISO 7816- 4中規(guī)定的命令執(zhí)行時需要滿足的條件及有關(guān)命令間的相互關(guān)系,描述執(zhí)行命令序列的過程,然后以非正常和正常事件作為輸入來設(shè)計測試用例。
??? 在EVDO 卡的測試過程中,利用團隊自主開發(fā)的自動化測試工具,引入腳本技術(shù),實現(xiàn)COS 測試的自動化,大大地提高了測試的效率。引入自動化測試技術(shù)具有如下優(yōu)勢:
??? 1)使測試可以快速準確地進行,減少人為的操作失誤,更多更頻繁地運行測試腳本,使得腳本的執(zhí)行效率高于手工測試,縮短發(fā)布產(chǎn)品的時間;?
??? 2)對新版本的程序運行已有的測試腳本,特別是在程序更新較頻繁時,自動化測試可以在短時間內(nèi)測試已有的腳本;?
??? 3)更好地利用資源,使繁瑣的任務(wù)自動化可提高測試的準確性以及測試人員的積極性,從而使測試人員能有更多精力來設(shè)計更好的測試用例;?
??? 4) 自動化測試可通過重復(fù)執(zhí)行相同的測試腳本來獲得測試的可重復(fù)性和一致性。
??? 2. 2 防拔插和耐久性測試
??? 防拔插測試主要檢測因突然斷電而使操作中斷后智能卡能否自動恢復(fù)。主要涉及的是在正常環(huán)境下執(zhí)行正確的命令序列,COS 寫FLASH 時,突然斷電,智能卡能夠保證卡內(nèi)的數(shù)據(jù)依然具有完整性。若命令未能成功執(zhí)行,驗證卡內(nèi)數(shù)據(jù)與命令執(zhí)行前是否完全一致,若一致則表示卡片的防插拔功能是有效的。智能卡的使用壽命是有限的,對智能卡的插拔次數(shù)決定了智能卡的物理壽命,一般來說,約在1 萬次左右; 而數(shù)據(jù)存儲器的擦寫次數(shù)決定了集成電路芯片的壽命,各廠家生產(chǎn)的芯片其指標是不同的。故而必須對智能卡實施耐久性測試,檢驗存儲器的擦寫次數(shù)是否會因為日常使用而超出芯片存儲器擦寫的最大值。對文件的操作是使用智能卡時主要涉及的內(nèi)容,因而需要模擬日常使用智能卡的行為,對所有文件的訪問頻率進行統(tǒng)計,找出具有相對較高訪問頻率的那些文件,在個人化過程中分散存儲這些文件,避免某一塊存儲區(qū)域擦寫過度,均衡整個存儲器的擦寫。
??? 3 結(jié)束語
??? 根據(jù)COS 的特點給出了COS 的測試方案,對于每個測試項給出了其測試的方法和技術(shù)。在測試中,結(jié)合對測試結(jié)果的分析,進一步補充測試用例。在EVDO 卡的開發(fā)中按照文中的測試方案進行了測試,經(jīng)反復(fù)測試,開發(fā)的EVDO 卡通過了第3 方測試,該卡正應(yīng)用于生產(chǎn)。
轉(zhuǎn)載于:https://www.cnblogs.com/liubaocheng999/p/3560755.html
總結(jié)
以上是生活随笔為你收集整理的转:智能卡测试操作系统技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一对经典的时间获取客户/服务器程序
- 下一篇: Oracle数据库案例整理-Oracle