IC卡智能燃?xì)獗碇?軟件必須接收和處理多種CPU卡:用戶購(gòu)氣卡、檢查卡、廠家生產(chǎn)測(cè)試卡(如閥門(mén)檢測(cè)卡等6種)、修改主密鑰卡等。每種CPU卡的目錄文件結(jié)構(gòu)和認(rèn)證訪問(wèn)方式不盡相同,以使用用戶購(gòu)氣卡購(gòu)氣后在燃?xì)獗砩喜蹇槔?說(shuō)明軟件認(rèn)證過(guò)程:
(1)從卡的可讀二進(jìn)制文件中識(shí)別出卡的類型,即用戶購(gòu)氣卡。
(2)燃?xì)獗韽挠脩艨ㄖ凶x取卡序列號(hào)和用戶號(hào),并比較用戶號(hào)是否與SAM中存儲(chǔ)的一致,不一致則拒絕讀卡。
(3)若用戶號(hào)一致,IC卡智能燃?xì)獗韺⒖ㄐ蛄刑?hào)送至SAM模塊。SAM模塊對(duì)卡序列號(hào)進(jìn)行加密,并生成相應(yīng)的內(nèi)部認(rèn)證密鑰。
(4)燃?xì)獗碛脙?nèi)部認(rèn)證密鑰對(duì)用戶卡做內(nèi)部認(rèn)證。
(5)燃?xì)獗碛脷獗硗獠空J(rèn)證密鑰對(duì)用戶卡做外部認(rèn)證。
(6)燃?xì)獗韽挠脩艨ㄙ?gòu)氣應(yīng)用二進(jìn)制文件中讀取購(gòu)氣數(shù)據(jù),判斷其完整性,同時(shí)判斷購(gòu)氣次數(shù)是否與IC卡智能燃?xì)獗韮?nèi)一致。若不一致則向IC卡燃?xì)獗矸祵?xiě)應(yīng)用二進(jìn)制文件(返寫(xiě)數(shù)據(jù))退出;若判斷一致,則進(jìn)入(7)。
(7)由IC卡智能燃?xì)獗碛脷饬客獠空J(rèn)證密鑰對(duì)SAM模塊進(jìn)行外部認(rèn)證,若一致則將購(gòu)氣量及狀態(tài)數(shù)據(jù)存入SAM模塊,并返寫(xiě)數(shù)據(jù)退出,完成購(gòu)氣操作;否則只返寫(xiě)數(shù)據(jù)退出。