專利名稱:一種處理指令的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全領(lǐng)域,特別是涉及一種處理指令的方法和裝置。
背景技術(shù):
隨著信息安全的發(fā)展,智能密鑰裝置、智能卡等信息安全設(shè)備開始廣泛地應(yīng)用于信息領(lǐng)域,人們對(duì)信息安全設(shè)備的報(bào)文傳輸功能安全性要求更加嚴(yán)格。現(xiàn)有技術(shù)中,絕大多數(shù)報(bào)文傳輸系統(tǒng)中的接收設(shè)備均內(nèi)置密鑰,該密鑰為信息發(fā)送方和接收設(shè)備在報(bào)文傳輸之前協(xié)商好的數(shù)據(jù),信息發(fā)送方在發(fā)送報(bào)文前使用密鑰對(duì)報(bào)文進(jìn)行加密形成密文再發(fā)送,接收設(shè)備接收后再使用密鑰進(jìn)行解密得到明文,通過(guò)上述方法可保證報(bào)文傳輸?shù)谋C苄?。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下缺陷:當(dāng)接收設(shè)備中的密鑰被意外泄露或破解時(shí),傳輸?shù)膱?bào)文將不再保密,有可能會(huì)泄露報(bào)文所承載的指令,極大地降低了報(bào)文傳輸系統(tǒng)的安全性。
發(fā)明內(nèi)容
本發(fā)明提供了一種處理指令的方法和裝置,以解決報(bào)文傳輸系統(tǒng)中存在的安全性問(wèn)題。本發(fā)明提供了一種處理指令的方法,處理指令的裝置接收到待處理的指令時(shí)執(zhí)行以下步驟:S1、使用內(nèi)部保存的私鑰和/或用戶個(gè)人識(shí)別密碼PIN,對(duì)待處理的指令的數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果;S2、檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟S3 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼;S3、判斷位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),是否與所述隨機(jī)數(shù)相同,如果相同,則執(zhí)行步驟S4 ;如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼;S4、將所述解密結(jié)果中除位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果,根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN。本發(fā)明提供了一種處理指令的方法,處理指令的裝置接收到待處理的指令時(shí)執(zhí)行以下步驟:S1、使用內(nèi)部保存的私鑰和/或用戶個(gè)人識(shí)別密碼PIN,對(duì)待處理的指令的數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果;S2、檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟S3 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼;S3、對(duì)所述隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果所述隨機(jī)數(shù)的長(zhǎng)度等于所述解密結(jié)果的長(zhǎng)度,則執(zhí)行步驟S4 ;如果所述隨機(jī)數(shù)的長(zhǎng)度大于所述解密結(jié)果的長(zhǎng)度,則執(zhí)行步驟S5 ;如果所述隨機(jī)數(shù)的長(zhǎng)度小于所述解密結(jié)果的長(zhǎng)度,則執(zhí)行步驟S6 ;
S4、使用所述隨機(jī)數(shù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果,并根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN,結(jié)束;S5、從所述隨機(jī)數(shù)中選取與所述解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用選取的數(shù)據(jù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果,并根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN,結(jié)束;S6、根據(jù)所述隨機(jī)數(shù)生成一個(gè)與所述解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用生成的數(shù)據(jù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果,并根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN,結(jié)束。本發(fā)明提供了一種處理指令的裝置,包括:解密模塊,用于使用內(nèi)部保存的私鑰和/或用戶個(gè)人識(shí)別密碼PIN,對(duì)待處理的指令的數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果;檢查模塊,用于檢查所述裝置內(nèi)部是否保存有隨機(jī)數(shù);第一判斷模塊,用于在所述檢查模塊檢查到所述裝置內(nèi)部保存有隨機(jī)數(shù)時(shí),判斷位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),是否與所述隨機(jī)數(shù)相同;解擾模塊,用于在所述第一判斷模塊判斷所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),與所述隨機(jī)數(shù)相同時(shí),將所述解密結(jié)果中除位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果;處理模塊,用于根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN ;發(fā)送模塊,用于在所述檢查模塊檢查到所述裝置內(nèi)部沒(méi)有隨機(jī)數(shù)時(shí),向上位機(jī)發(fā)送錯(cuò)誤碼;在所述第一判斷模塊用于判斷位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),與所述隨機(jī)數(shù)不同時(shí),向上位機(jī)發(fā)送錯(cuò)誤碼。本發(fā)明提供了一種處理指令的裝置,包括:解密模塊,用于使用內(nèi)部保存的私鑰和/或用戶個(gè)人識(shí)別密碼PIN,對(duì)待處理的指令的數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果;檢查模塊,用于檢查所述裝置內(nèi)部是否保存有隨機(jī)數(shù);第一判斷模塊,用于對(duì)所述隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷;解擾模塊,用于在所述第一判斷模塊判斷所述隨機(jī)數(shù)的長(zhǎng)度等于所述解密結(jié)果的長(zhǎng)度時(shí),使用所述隨機(jī)數(shù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;在所述第一判斷模塊判斷所述隨機(jī)數(shù)的長(zhǎng)度大于所述解密結(jié)果的長(zhǎng)度時(shí),從所述隨機(jī)數(shù)中選取與所述解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用選取的數(shù)據(jù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;在所述第一判斷模塊判斷所述隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),根據(jù)所述隨機(jī)數(shù)生成一個(gè)與所述解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用生成的數(shù)據(jù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;處理模塊,用于根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN ;發(fā)送模塊,用于在所述檢查模塊檢查到所述裝置內(nèi)部沒(méi)有隨機(jī)數(shù)時(shí),向上位機(jī)發(fā)送錯(cuò)誤碼。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明提供的技術(shù)方案,根據(jù)內(nèi)部保存的隨機(jī)數(shù)、私鑰和用戶PIN進(jìn)行修改PIN、重置PIN和驗(yàn)PIN的操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。
圖1為本發(fā)明實(shí)施例一中的一種對(duì)驗(yàn)PIN指令進(jìn)行處理的方法流程圖;圖2為本發(fā)明實(shí)施例二中的一種對(duì)驗(yàn)PIN指令進(jìn)行處理的方法流程圖;圖3為本發(fā)明實(shí)施例三中的一種對(duì)修改PIN指令進(jìn)行處理的方法流程圖;圖4為本發(fā)明實(shí)施例四中的一種對(duì)修改PIN指令進(jìn)行處理的方法流程圖;圖5為本發(fā)明實(shí)施例五中的一種對(duì)修改PIN指令進(jìn)行處理的方法流程圖;圖6為本發(fā)明實(shí)施例六中的一種對(duì)修改PIN指令進(jìn)行處理的方法流程圖;圖7為本發(fā)明實(shí)施例七中的一種對(duì)修改PIN指令進(jìn)行處理的方法流程圖;圖8為本發(fā)明實(shí)施例八中的一種對(duì)修改PIN指令進(jìn)行處理的方法流程圖;圖9為本發(fā)明實(shí)施例九中的一種對(duì)重置PIN指令進(jìn)行處理的方法流程圖;圖10為本發(fā)明實(shí)施例十中的一種對(duì)重置PIN指令進(jìn)行處理的方法流程圖;圖11為本發(fā)明實(shí)施例十一中的一種對(duì)重置PIN指令進(jìn)行處理的方法流程圖;圖12為本發(fā)明實(shí)施例十二中的一種處理指令的裝置的結(jié)構(gòu)圖;圖13為本發(fā)明實(shí)施例十三中的一種處理指令的裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例一接收設(shè)備接收到來(lái)自上位機(jī)的驗(yàn)PIN指令后,執(zhí)行的操作如圖1所示,包括以下步驟:步驟101,按照預(yù)設(shè)的參數(shù)檢索私鑰。其中,預(yù)設(shè)的參數(shù)可以為KID (Key Identity,密鑰標(biāo)識(shí))和Usage (用法)。步驟102,判斷是否檢索到私鑰,如果檢索到私鑰,則執(zhí)行步驟103 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟103,檢查驗(yàn) PIN (Personal Identification Number,個(gè)人識(shí)別密碼)指令的數(shù)據(jù)域中的數(shù)據(jù)的長(zhǎng)度是否與私鑰的位長(zhǎng)相符,如果相符,則執(zhí)行步驟104 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟104,使用檢索到的私鑰對(duì)驗(yàn)PIN指令的數(shù)據(jù)域中的數(shù)據(jù)解密。具體地,可以使用RSA算法進(jìn)行私鑰解密,將解密得到的數(shù)據(jù)中的補(bǔ)位信息刪除,補(bǔ)位信息可以為以“0001FF”作為開頭、以“FF00”作為結(jié)尾的數(shù)據(jù),也可以為以“0002”作為開始、以“00”作為結(jié)尾,并在“0002”和“00”之間填充一個(gè)或多個(gè)隨機(jī)數(shù)的數(shù)據(jù)。步驟105,判斷解密是否成功,如果成功,則執(zhí)行步驟106 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟106,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟107 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。
步驟107,使用內(nèi)部保存的隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行解擾,得到解擾結(jié)果。具體地,可以判斷內(nèi)部保存的隨機(jī)數(shù)是否與位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)相同,如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼;如果相同,則獲取解密結(jié)果中除位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果。其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。還可以對(duì)內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果該隨機(jī)數(shù)的長(zhǎng)度等于解密結(jié)果的長(zhǎng)度,則使用該隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度大于解密結(jié)果的長(zhǎng)度時(shí),則從最高位或最低位開始,從隨機(jī)數(shù)中選取與解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),則根據(jù)該隨機(jī)數(shù)生成一個(gè)與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果。其中,可以通過(guò)對(duì)隨機(jī)數(shù)進(jìn)行拼接的方式生成與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù)。步驟108,檢查用戶PIN是否鎖定,如果沒(méi)有鎖定,則執(zhí)行步驟109 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟109,將內(nèi)部保存的用戶PIN的散列值與解擾結(jié)果進(jìn)行比對(duì)。步驟110,判斷散列值與解擾結(jié)果是否相同,如果相同,則執(zhí)行步驟111 ;否則,執(zhí)行步驟112。步驟111,將驗(yàn)PIN重試次數(shù)置為預(yù)設(shè)值,將驗(yàn)PIN結(jié)果保存為第一預(yù)設(shè)內(nèi)容,向上位機(jī)發(fā)送當(dāng)前的驗(yàn)PIN重試次數(shù)和表示驗(yàn)PIN通過(guò)的結(jié)果碼。驗(yàn)PIN結(jié)束。其中,第一預(yù)設(shè)內(nèi)容用于標(biāo)識(shí)驗(yàn)PIN結(jié)果為驗(yàn)PIN通過(guò)。步驟112,將驗(yàn)PIN結(jié)果保存為第二預(yù)設(shè)內(nèi)容,將驗(yàn)PIN重試次數(shù)減去預(yù)設(shè)步長(zhǎng)。其中,第二預(yù)設(shè)內(nèi)容用于標(biāo)識(shí)驗(yàn)PIN結(jié)果為驗(yàn)PIN未通過(guò)。預(yù)設(shè)步長(zhǎng)可以為I。步驟113,判斷驗(yàn)PIN重試次數(shù)是否等于預(yù)設(shè)門限值,如果等于,則執(zhí)行步驟114 ;否則,執(zhí)行步驟115。其中,預(yù)設(shè)門限值可以為零。步驟114,將用戶PIN鎖定,向上位機(jī)發(fā)送當(dāng)前的驗(yàn)PIN重試次數(shù)和表示驗(yàn)PIN未通過(guò)的結(jié)果碼。驗(yàn)PIN結(jié)束。步驟115,向上位機(jī)發(fā)送當(dāng)前的驗(yàn)PIN重試次數(shù)和表示驗(yàn)PIN未通過(guò)的結(jié)果碼。驗(yàn)PIN結(jié)束。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)接收到的驗(yàn)PIN指令、內(nèi)部保存的隨機(jī)數(shù)、私鑰和用戶PIN,進(jìn)行驗(yàn)PIN操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。需要說(shuō)明的是,步驟101和步驟102為優(yōu)選步驟,在本發(fā)明的其他實(shí)施方式中,可以直接使用預(yù)設(shè)的私鑰,而不再檢索私鑰,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。此外,步驟108為優(yōu)選步驟,在本發(fā)明的其他實(shí)施方式中,通過(guò)步驟107得到解擾結(jié)果后,也可以不檢查用戶PIN是否鎖定,而是直接驗(yàn)PIN,即,執(zhí)行步驟109及其后續(xù)步驟,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。在本發(fā)明的其他實(shí)施方式中,預(yù)設(shè)門限值可以為大于零的數(shù),預(yù)設(shè)值可以小于預(yù)設(shè)門限值,在判斷散列值與解擾結(jié)果不相同時(shí),可以將驗(yàn)PIN結(jié)果保存為第二預(yù)設(shè)內(nèi)容,將驗(yàn)PIN重試次數(shù)加預(yù)設(shè)步長(zhǎng),并執(zhí)行步驟113及其后續(xù)步驟,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。實(shí)施例二接收設(shè)備接收到來(lái)自上位機(jī)的驗(yàn)PIN指令后,執(zhí)行的操作如圖2所示,包括以下步驟:步驟201,使用內(nèi)部保存的私鑰對(duì)驗(yàn)PIN指令的數(shù)據(jù)域中的數(shù)據(jù)解密,將解密得到的數(shù)據(jù)中的補(bǔ)位信息刪除,得到解密結(jié)果。其中,可以使用RSA算法進(jìn)行私鑰解密,相應(yīng)地,補(bǔ)位信息可以為以“0001FF”作為開頭、以“FF00”作為結(jié)尾的數(shù)據(jù),也可以為以“0002”作為開始、以“00”作為結(jié)尾,并在“0002”和“00”之間填充一個(gè)或多個(gè)隨機(jī)數(shù)的數(shù)據(jù)。步驟202,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟203 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟203,使用內(nèi)部保存的隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行解擾,得到解擾結(jié)果。具體地,可以判斷內(nèi)部保存的隨機(jī)數(shù)是否與位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)相同,如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼;如果相同,則獲取解密結(jié)果中除位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果。其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。還可以對(duì)內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果該隨機(jī)數(shù)的長(zhǎng)度等于解密結(jié)果的長(zhǎng)度,則使用該隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度大于解密結(jié)果的長(zhǎng)度時(shí),則從最高位或最低位開始,從隨機(jī)數(shù)中選取與解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),則根據(jù)該隨機(jī)數(shù)生成一個(gè)與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果。其中,可以通過(guò)對(duì)隨機(jī)數(shù)進(jìn)行拼接的方式生成與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù)。步驟204,判斷內(nèi)部保存的用戶PIN是否與解擾結(jié)果相同,如果是,則執(zhí)行步驟205 ;否則,執(zhí)行步驟206。步驟205,向上位機(jī)發(fā)送表示驗(yàn)PIN通過(guò)的結(jié)果碼。驗(yàn)PIN結(jié)束。步驟206,向上位機(jī)發(fā)送表示驗(yàn)PIN未通過(guò)的結(jié)果碼。驗(yàn)PIN結(jié)束。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)接收到的驗(yàn)PIN指令、內(nèi)部保存的隨機(jī)數(shù)、私鑰和用戶PIN,進(jìn)行驗(yàn)PIN操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。實(shí)施例三接收設(shè)備接收到來(lái)自上位機(jī)的修改PIN指令后,執(zhí)行的操作如圖3所示,包括以下步驟:步驟301,按照預(yù)設(shè)的參數(shù)檢索私鑰。其中,預(yù)設(shè)的參數(shù)可以為KID和Usage。步驟302,判斷是否檢索到私鑰,如果檢索到私鑰,則執(zhí)行步驟303 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟303,使用檢索到的私鑰對(duì)修改PIN指令的數(shù)據(jù)域中的數(shù)據(jù)解密。
具體地,可以使用RSA算法進(jìn)行私鑰解密。步驟304,判斷解密是否成功,如果成功,則執(zhí)行步驟305 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟305,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟306 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟306,使用內(nèi)部保存的隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行解擾,得到解擾結(jié)果。具體地,可以判斷內(nèi)部保存的隨機(jī)數(shù)是否與位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)相同,如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼;如果相同,則獲取解密結(jié)果中除位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果。其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。還可以對(duì)內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果該隨機(jī)數(shù)的長(zhǎng)度等于解密結(jié)果的長(zhǎng)度,則使用該隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度大于解密結(jié)果的長(zhǎng)度時(shí),則從最高位或最低位開始,從隨機(jī)數(shù)中選取與解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),則根據(jù)該隨機(jī)數(shù)生成一個(gè)與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果。其中,可以通過(guò)對(duì)隨機(jī)數(shù)進(jìn)行拼接的方式生成與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù)。步驟307,判斷解擾結(jié)果的長(zhǎng)度是否大于第二預(yù)設(shè)長(zhǎng)度,如果大于,則執(zhí)行步驟308 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。其中,第二預(yù)設(shè)長(zhǎng)度可以為根據(jù)內(nèi)部保存的用戶PIN計(jì)算得到的散列值的長(zhǎng)度。例如,第二預(yù)設(shè)長(zhǎng)度可以為16個(gè)字節(jié)。步驟308,從解擾結(jié)果中獲取第一數(shù)據(jù)和第二數(shù)據(jù)。具體地,可以獲取位于解擾結(jié)果的指定位置且長(zhǎng)度為第二預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),將獲取的數(shù)據(jù)作為第二數(shù)據(jù),將解擾結(jié)果中除第二數(shù)據(jù)之外的數(shù)據(jù)作為第一數(shù)據(jù),其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置;也可以獲取位于解擾結(jié)果的指定位置且長(zhǎng)度為第二預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),將獲取的數(shù)據(jù)作為第一數(shù)據(jù),將解擾結(jié)果中除第一數(shù)據(jù)之外的數(shù)據(jù)作為第二數(shù)據(jù),其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置。步驟309,檢查第二數(shù)據(jù)的安全強(qiáng)度是否滿足要求,如果是,則執(zhí)行步驟310 ;否貝U,向上位機(jī)發(fā)送錯(cuò)誤碼。具體地,可以判斷第二數(shù)據(jù)是否滿足以下條件中的任一種:(I)第二數(shù)據(jù)全部由數(shù)字或者字母組成;(2)第二數(shù)據(jù)中存在重復(fù)字符,且重復(fù)最多的字符的數(shù)量超過(guò)預(yù)設(shè)數(shù)量或者第二數(shù)據(jù)的長(zhǎng)度的預(yù)設(shè)比例,例如,第二數(shù)據(jù)的長(zhǎng)度的三分之一;如果第二數(shù)據(jù)滿足上述條件中的任一種,則確定第二數(shù)據(jù)的安全強(qiáng)度不滿足要求;如果第二數(shù)據(jù)不滿足上述條件中的任一種,則確定第二數(shù)據(jù)的安全強(qiáng)度滿足要求。步驟310,判斷內(nèi)部保存的用戶PIN的散列值是否與第一數(shù)據(jù)相同,如果相同,則執(zhí)行步驟311 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。
步驟311,將內(nèi)部保存的用戶PIN的散列值更新為第二數(shù)據(jù),向上位機(jī)發(fā)送表示修改PIN成功的狀態(tài)碼。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)接收到的修改PIN指令、內(nèi)部保存的隨機(jī)數(shù)、私鑰和用戶PIN的散列值,進(jìn)行修改PIN操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。需要說(shuō)明的是,步驟301和步驟302為優(yōu)選步驟,在本發(fā)明的其他實(shí)施方式中,可以直接使用預(yù)設(shè)的私鑰,而不再檢索私鑰,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。實(shí)施例四接收設(shè)備接收到來(lái)自上位機(jī)的修改PIN指令后,執(zhí)行的操作如圖4所示,包括以下步驟:步驟401,按照預(yù)設(shè)的參數(shù)檢索私鑰。其中,預(yù)設(shè)的參數(shù)可以為KID和Usage。步驟402,判斷是否檢索到私鑰,如果檢索到私鑰,則執(zhí)行步驟403 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟403,使用檢索到的私鑰對(duì)修改PIN指令的數(shù)據(jù)域中的數(shù)據(jù)解密,將解密得到的數(shù)據(jù)中的補(bǔ)位信息刪除,得到解密結(jié)果。具體地,可以使用RSA算法進(jìn)行私鑰解密,相應(yīng)地,補(bǔ)位信息可以為以“0001FF”作為開頭、以“FF00”作為結(jié)尾的數(shù)據(jù),也可以為以“0002”作為開始、以“00”作為結(jié)尾,并在“0002”和“00”之間填充一個(gè)或多個(gè)隨機(jī)數(shù)的數(shù)據(jù)。步驟404,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟405 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟405,使用內(nèi)部保存的隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行解擾,得到解擾結(jié)果。具體地,可以判斷內(nèi)部保存的隨機(jī)數(shù)是否與位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)相同,如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼;如果相同,則獲取解密結(jié)果中除位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果。其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。還可以對(duì)內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果該隨機(jī)數(shù)的長(zhǎng)度等于解密結(jié)果的長(zhǎng)度,則使用該隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度大于解密結(jié)果的長(zhǎng)度時(shí),則從最高位或最低位開始,從隨機(jī)數(shù)中選取與解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),則根據(jù)該隨機(jī)數(shù)生成一個(gè)與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果。其中,可以通過(guò)對(duì)隨機(jī)數(shù)進(jìn)行拼接的方式生成與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù)。步驟406,從解擾結(jié)果中獲取第一數(shù)據(jù)和第二數(shù)據(jù)。具體地,可以讀取解擾結(jié)果的首個(gè)字節(jié)作為第一長(zhǎng)度字節(jié),根據(jù)第一長(zhǎng)度字節(jié)的取值,從解擾結(jié)果的第二個(gè)字節(jié)開始,依次讀取長(zhǎng)度為第一長(zhǎng)度字節(jié)的取值的數(shù)據(jù)作為第二數(shù)據(jù);從解擾結(jié)果中讀取位于第二數(shù)據(jù)之后且與第二數(shù)據(jù)相鄰的字節(jié)作為第二長(zhǎng)度字節(jié),根據(jù)第二長(zhǎng)度字節(jié)的取值,從位于第二長(zhǎng)度字節(jié)之后且與第二長(zhǎng)度字節(jié)相鄰的字節(jié)開始,依次讀取長(zhǎng)度為第二長(zhǎng)度字節(jié)的取值的數(shù)據(jù)作為第一數(shù)據(jù);
也可以讀取解擾結(jié)果的首個(gè)字節(jié)作為第一長(zhǎng)度字節(jié),根據(jù)第一長(zhǎng)度字節(jié)的取值,從解擾結(jié)果的第二個(gè)字節(jié)開始,依次讀取長(zhǎng)度為第一長(zhǎng)度字節(jié)的取值的數(shù)據(jù)作為第一數(shù)據(jù);從解擾結(jié)果中讀取位于第一數(shù)據(jù)之后且與第一數(shù)據(jù)相鄰的字節(jié)作為第二長(zhǎng)度字節(jié),根據(jù)第二長(zhǎng)度字節(jié)的取值,從位于第二長(zhǎng)度字節(jié)之后且與第二長(zhǎng)度字節(jié)相鄰的字節(jié)開始,依次讀取長(zhǎng)度為第二長(zhǎng)度字節(jié)的取值的數(shù)據(jù)作為第二數(shù)據(jù)。步驟407,判斷第一數(shù)據(jù)是否與內(nèi)部保存的用戶PIN相同,如果相同,則執(zhí)行步驟408 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟408,將內(nèi)部保存的用戶PIN更新為第二數(shù)據(jù),向上位機(jī)發(fā)送表示修改PIN成功的狀態(tài)碼。 本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)接收到的修改PIN指令、內(nèi)部保存的隨機(jī)數(shù)、私鑰和用戶PIN,進(jìn)行修改PIN操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。需要說(shuō)明的是,步驟401和步驟402為優(yōu)選步驟,在本發(fā)明的其他實(shí)施方式中,可以直接使用預(yù)設(shè)的私鑰,而不再檢索私鑰,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。實(shí)施例五接收設(shè)備接收到來(lái)自上位機(jī)的修改PIN指令后,執(zhí)行的操作如圖5所示,包括以下步驟:步驟501,使用內(nèi)部保存的私鑰對(duì)修改PIN指令的數(shù)據(jù)域中的數(shù)據(jù)解密,將解密得至IJ的數(shù)據(jù)中的補(bǔ)位信息刪除,得到解密結(jié)果。具體地,可以使用RSA算法進(jìn)行私鑰解密,相應(yīng)地,補(bǔ)位信息可以為以“0001FF”作為開頭、以“FF00”作為結(jié)尾的數(shù)據(jù),也可以為以“0002”作為開始、以“00”作為結(jié)尾,并在“0002”和“00”之間填充一個(gè)或多個(gè)隨機(jī)數(shù)的數(shù)據(jù)。步驟502,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟503 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟503,使用內(nèi)部保存的隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行解擾,得到解擾結(jié)果。具體地,可以判斷內(nèi)部保存的隨機(jī)數(shù)是否與位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)相同,如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼;如果相同,則獲取解密結(jié)果中除位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果。其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。還可以對(duì)內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果該隨機(jī)數(shù)的長(zhǎng)度等于解密結(jié)果的長(zhǎng)度,則使用該隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度大于解密結(jié)果的長(zhǎng)度時(shí),則從最高位或最低位開始,從隨機(jī)數(shù)中選取與解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),則根據(jù)該隨機(jī)數(shù)生成一個(gè)與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果。其中,可以通過(guò)對(duì)隨機(jī)數(shù)進(jìn)行拼接的方式生成與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù)。步驟504,從解擾結(jié)果中獲取第一數(shù)據(jù)和第二數(shù)據(jù)。具體地,可以讀取解擾結(jié)果中位于第一預(yù)設(shè)數(shù)據(jù)之前的數(shù)據(jù)作為第一數(shù)據(jù),讀取解擾結(jié)果中位于第一預(yù)設(shè)數(shù)據(jù)之后的數(shù)據(jù)作為第二數(shù)據(jù);也可以讀取解擾結(jié)果中位于第一預(yù)設(shè)數(shù)據(jù)之前的數(shù)據(jù)作為第二數(shù)據(jù),讀取解擾結(jié)果中位于第一預(yù)設(shè)數(shù)據(jù)之后的數(shù)據(jù)作為第一數(shù)據(jù)。本實(shí)施例中,第一預(yù)設(shè)數(shù)據(jù)可以為“00”。步驟505,判斷第一數(shù)據(jù)是否與內(nèi)部保存的用戶PIN相同,如果相同,則執(zhí)行步驟506 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟506,將內(nèi)部保存的用戶PIN更新為第二數(shù)據(jù),向上位機(jī)發(fā)送表示修改PIN成功的狀態(tài)碼。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)接收到的修改PIN指令、內(nèi)部保存的隨機(jī)數(shù)、私鑰和用戶PIN,進(jìn)行修改PIN操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。實(shí)施例六接收設(shè)備接收到來(lái)自上位機(jī)的修改PIN指令后,執(zhí)行的操作如圖6所示,包括以下步驟:步驟601,按照預(yù)設(shè)的參數(shù)檢索私鑰。其中,預(yù)設(shè)的參數(shù)可以為KID和Usage。步驟602,判斷是否檢索到私鑰,如果檢索到私鑰,則執(zhí)行步驟603 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟603,使用檢索到的私鑰對(duì)修改PIN指令的數(shù)據(jù)域中的數(shù)據(jù)解密,將解密得到的數(shù)據(jù)中的補(bǔ)位信息刪除,得到第一中間數(shù)據(jù)。具體地,可以使用RSA算法進(jìn)行私鑰解密,相應(yīng)地,補(bǔ)位信息可以為以“0001FF”作為開頭、以“FF00”作為結(jié)尾的數(shù)據(jù),也可以為以“0002”作為開始、以“00”作為結(jié)尾,并在“0002”和“00”之間填充一個(gè)或多個(gè)隨機(jī)數(shù)的數(shù)據(jù)。步驟604,從第一中間數(shù)據(jù)中獲取第三數(shù)據(jù)和第四數(shù)據(jù)。具體地,可以讀取第一中間數(shù)據(jù)的首個(gè)字節(jié)作為第三長(zhǎng)度字節(jié),根據(jù)第三長(zhǎng)度字節(jié)的取值,從解密結(jié)果的第二個(gè)字節(jié)開始,依次讀取長(zhǎng)度為第三長(zhǎng)度字節(jié)的取值的數(shù)據(jù)作為第三數(shù)據(jù);從解密結(jié)果中讀取位于第三數(shù)據(jù)之后且與第三數(shù)據(jù)相鄰的字節(jié)作為第四長(zhǎng)度字節(jié),根據(jù)第四長(zhǎng)度字節(jié)的取值,從位于第四長(zhǎng)度字節(jié)之后且與第四長(zhǎng)度字節(jié)相鄰的字節(jié)開始,依次讀取長(zhǎng)度為第四長(zhǎng)度字節(jié)的取值的數(shù)據(jù)作為第四數(shù)據(jù);可以讀取第一中間數(shù)據(jù)的首個(gè)字節(jié)作為第三長(zhǎng)度字節(jié),根據(jù)第三長(zhǎng)度字節(jié)的取值,從解密結(jié)果的第二個(gè)字節(jié)開始,依次讀取長(zhǎng)度為第三長(zhǎng)度字節(jié)的取值的數(shù)據(jù)作為第四數(shù)據(jù);從解密結(jié)果中讀取位于第四數(shù)據(jù)之后且與第四數(shù)據(jù)相鄰的字節(jié)作為第四長(zhǎng)度字節(jié),根據(jù)第四長(zhǎng)度字節(jié)的取值,從位于第四長(zhǎng)度字節(jié)之后且與第四長(zhǎng)度字節(jié)相鄰的字節(jié)開始,依次讀取長(zhǎng)度為第四長(zhǎng)度字節(jié)的取值的數(shù)據(jù)作為第三數(shù)據(jù)。步驟605,使用內(nèi)部保存的用戶PIN對(duì)第三數(shù)據(jù)進(jìn)行解密,得到第二中間數(shù)據(jù)。步驟606,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟607 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟607,判斷內(nèi)部保存的隨機(jī)數(shù)是否與第二中間數(shù)據(jù)相同,如果相同,則執(zhí)行步驟608 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟608,使用內(nèi)部保存的用戶PIN對(duì)第四數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果。步驟609,使用內(nèi)部保存的隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行解擾,得到解擾結(jié)果。具體地,可以判斷內(nèi)部保存的隨機(jī)數(shù)是否與位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)相同,如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼;如果相同,則獲取解密結(jié)果中除位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果。其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。還可以對(duì)內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果該隨機(jī)數(shù)的長(zhǎng)度等于解密結(jié)果的長(zhǎng)度,則使用該隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度大于解密結(jié)果的長(zhǎng)度時(shí),則從最高位或最低位開始,從隨機(jī)數(shù)中選取與解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),則根據(jù)該隨機(jī)數(shù)生成一個(gè)與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果。其中,可以通過(guò)對(duì)隨機(jī)數(shù)進(jìn)行拼接的方式生成與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù)。步驟610,將內(nèi)部保存的用戶PIN更新為解擾結(jié)果,向上位機(jī)發(fā)送表示修改PIN成功的狀態(tài)碼。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)接收到的修改PIN指令、內(nèi)部保存的隨機(jī)數(shù)、私鑰和用戶PIN,進(jìn)行修改PIN操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。需要說(shuō)明的是,步驟601和步驟602為優(yōu)選步驟,在本發(fā)明的其他實(shí)施方式中,可以直接使用預(yù)設(shè)的私鑰,而不再檢索私鑰,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。實(shí)施例七接收設(shè)備接收到來(lái)自上位機(jī)的修改PIN指令后,執(zhí)行的操作如圖7所示,包括以下步驟:步驟701,使用內(nèi)部保存的PIN對(duì)修改PIN指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果。步驟702,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟703 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟703,判斷內(nèi)部保存的隨機(jī)數(shù)是否與解密結(jié)果中的第五數(shù)據(jù)相同,如果相同,則執(zhí)行步驟704 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。其中,第五數(shù)據(jù)可以為位于解密結(jié)果的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),指定位置可以為最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度可以為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。步驟704,使用內(nèi)部保存的隨機(jī)數(shù)對(duì)解密結(jié)果中的第六數(shù)據(jù)進(jìn)行解擾,得到解擾結(jié)果O其中,第六數(shù)據(jù)為解密結(jié)果中除第五數(shù)據(jù)之外的數(shù)據(jù),本實(shí)施例中,解密結(jié)果的長(zhǎng)度為24個(gè)字節(jié),第五數(shù)據(jù)的長(zhǎng)度為8個(gè)字節(jié)。具體地,可以判斷內(nèi)部保存的隨機(jī)數(shù)是否與位于第六數(shù)據(jù)中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)相同,如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼;如果相同,則獲取第六數(shù)據(jù)中除位于第六數(shù)據(jù)中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果。其中,指定位置可以為第六結(jié)果中的最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。還可以對(duì)內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果該隨機(jī)數(shù)的長(zhǎng)度等于第六數(shù)據(jù)的長(zhǎng)度,則使用該隨機(jī)數(shù)對(duì)第六數(shù)據(jù)進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度大于第六數(shù)據(jù)的長(zhǎng)度時(shí),則從最高位或最低位開始,從隨機(jī)數(shù)中選取與第六數(shù)據(jù)的長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)第六數(shù)據(jù)進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度小于第六數(shù)據(jù)的長(zhǎng)度時(shí),則根據(jù)該隨機(jī)數(shù)生成一個(gè)與第六數(shù)據(jù)長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)第六數(shù)據(jù)進(jìn)行按位異或,得到解擾結(jié)果。其中,可以通過(guò)對(duì)隨機(jī)數(shù)進(jìn)行拼接的方式生成與第六數(shù)據(jù)長(zhǎng)度相等的數(shù)據(jù)。步驟705,將內(nèi)部保存的用戶PIN更新為解擾結(jié)果,向上位機(jī)發(fā)送表示修改PIN成功的狀態(tài)碼。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)接收到的修改PIN指令、內(nèi)部保存的隨機(jī)數(shù)和用戶PIN,進(jìn)行修改PIN操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。實(shí)施例八接收設(shè)備接收到來(lái)自上位機(jī)的修改PIN指令后,執(zhí)行的操作如圖8所示,包括以下步驟:步驟801,按照預(yù)設(shè)的參數(shù)檢索私鑰。其中,預(yù)設(shè)的參數(shù)可以為KID和Usage。步驟802,判斷是否檢索到私鑰,如果檢索到私鑰,則執(zhí)行步驟803 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟803,使用檢索到的私鑰對(duì)修改PIN指令的數(shù)據(jù)域中的數(shù)據(jù)解密,將解密得到的數(shù)據(jù)中的補(bǔ)位信息刪除,得到解密結(jié)果。具體地,可以使用RSA算法進(jìn)行私鑰解密,相應(yīng)地,補(bǔ)位信息可以為以“0001FF”作為開頭、以“FF00”作為結(jié)尾的數(shù)據(jù),也可以為以“0002”作為開始、以“00”作為結(jié)尾,并在“0002”和“00”之間填充一個(gè)或多個(gè)隨機(jī)數(shù)的數(shù)據(jù)。步驟804,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟805 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟805,使用內(nèi)部保存的隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行解擾,得到解擾結(jié)果。具體地,可以判斷內(nèi)部保存的隨機(jī)數(shù)是否與位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)相同,如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼;如果相同,則獲取解密結(jié)果中除位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果。其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。還可以對(duì)內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果該隨機(jī)數(shù)的長(zhǎng)度等于解密結(jié)果的長(zhǎng)度,則使用該隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度大于解密結(jié)果的長(zhǎng)度時(shí),則從最高位或最低位開始,從隨機(jī)數(shù)中選取與解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),則根據(jù)該隨機(jī)數(shù)生成一個(gè)與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果。其中,可以通過(guò)對(duì)隨機(jī)數(shù)進(jìn)行拼接的方式生成與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù)。步驟806,判斷內(nèi)部保存的用戶PIN是否與位于解擾結(jié)果中的指定位置的數(shù)據(jù)相同,如果相同,則執(zhí)行步驟807 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。
其中,位于解擾結(jié)果中的指定位置的數(shù)據(jù),可以為解擾結(jié)果的前半部分,也可以為解擾結(jié)果的后半部分,還可以為位于解擾結(jié)果中的其他位置的數(shù)據(jù)。步驟807,將內(nèi)部保存的用戶PIN更新為解擾結(jié)果中除位于指定位置的數(shù)據(jù)之外的數(shù)據(jù),向上位機(jī)發(fā)送表示修改PIN成功的狀態(tài)碼。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)接收到的修改PIN指令、內(nèi)部保存的隨機(jī)數(shù)、私鑰和用戶PIN,進(jìn)行修改PIN操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。需要說(shuō)明的是,步驟801和步驟802為優(yōu)選步驟,在本發(fā)明的其他實(shí)施方式中,可以直接使用預(yù)設(shè)的私鑰,而不再檢索私鑰,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。實(shí)施例九接收設(shè)備接收到來(lái)自上位機(jī)的重置PIN指令后,執(zhí)行的操作如圖9所示,包括以下步驟:步驟901,使用內(nèi)部保存的私鑰對(duì)重置PIN指令的數(shù)據(jù)域中的數(shù)據(jù)解密。具體地,可以使用RSA算法進(jìn)行私鑰解密,將解密得到的數(shù)據(jù)中的補(bǔ)位信息刪除,補(bǔ)位信息可以為以“0001FF”作為開頭、以“FF00”作為結(jié)尾的數(shù)據(jù),也可以為以“0002”作為開始、以“00”作為結(jié)尾,并在“0002”和“00”之間填充一個(gè)或多個(gè)隨機(jī)數(shù)的數(shù)據(jù)。步驟902,判斷解密是否成功,如果成功,則執(zhí)行步驟903 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟903,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟904 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟904,使用內(nèi)部保存的隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行解擾,得到解擾結(jié)果。具體地,可以判斷內(nèi)部保存的隨機(jī)數(shù)是否與位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)相同,如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼;如果相同,則獲取解密結(jié)果中除位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果。其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。還可以對(duì)內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果該隨機(jī)數(shù)的長(zhǎng)度等于解密結(jié)果的長(zhǎng)度,則使用該隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度大于解密結(jié)果的長(zhǎng)度時(shí),則從最高位或最低位開始,從隨機(jī)數(shù)中選取與解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),則根據(jù)該隨機(jī)數(shù)生成一個(gè)與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果。其中,可以通過(guò)對(duì)隨機(jī)數(shù)進(jìn)行拼接的方式生成與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù)。步驟905,檢查解擾結(jié)果的安全強(qiáng)度是否滿足要求,如果是,則執(zhí)行步驟906 ;否貝U,向上位機(jī)發(fā)送錯(cuò)誤碼。具體地,可以判斷解擾結(jié)果是否滿足以下條件中的任一種:(I)解擾結(jié)果全部由數(shù)字或者字母組成;(2)解擾結(jié)果中存在重復(fù)字符,且重復(fù)最多的字符的數(shù)量超過(guò)預(yù)設(shè)數(shù)量或者解擾結(jié)果的長(zhǎng)度的預(yù)設(shè)比例,例如,解擾結(jié)果的長(zhǎng)度的三分之一;如果第解擾結(jié)果滿足上述條件中的任一種,則確定解擾結(jié)果的安全強(qiáng)度不滿足要求;如果解擾結(jié)果不滿足上述條件中的任一種,則確定解擾結(jié)果的安全強(qiáng)度滿足要求。步驟906,等待按鍵確認(rèn)。具體地,在等待按鍵確認(rèn)的過(guò)程中,如果接收到上位機(jī)下發(fā)的指令,則向上位機(jī)返回錯(cuò)誤碼。步驟907,判斷預(yù)設(shè)時(shí)間內(nèi)是否接收到按鍵事件,如果接收到,則執(zhí)行步驟908 ;否貝U,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟908,將內(nèi)部保存的用戶PIN更新為解擾結(jié)果,向上位機(jī)發(fā)送表示重置PIN成功的狀態(tài)碼,清空內(nèi)部應(yīng)用數(shù)據(jù)。其中,內(nèi)部應(yīng)用數(shù)據(jù)包括內(nèi)部密鑰。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)接收到的重置PIN指令、內(nèi)部保存的隨機(jī)數(shù)和私鑰,進(jìn)行重置PIN操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。需要說(shuō)明的是,在本發(fā)明的其他實(shí)施方式中,也可以將內(nèi)部保存的用戶PIN的散列值更新為解擾結(jié)果的散列值,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。此外,在本發(fā)明的其他實(shí)施方式中,也可以不清空內(nèi)部應(yīng)用數(shù)據(jù),而是將內(nèi)部應(yīng)用數(shù)據(jù)置為不可用,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。實(shí)施例十接收設(shè)備接收到來(lái)自上位機(jī)的重置PIN指令后,執(zhí)行的操作如圖10所示,包括以下步驟:步驟1001,按照預(yù)設(shè)的參數(shù)檢索私鑰。其中,預(yù)設(shè)的參數(shù)可以為KID和Usage。步驟1002,判斷是否檢索到私鑰,如果檢索到私鑰,則執(zhí)行步驟1003 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟1003,使用檢索到的私鑰對(duì)重置PIN指令的數(shù)據(jù)域中的數(shù)據(jù)解密,將解密得至IJ的數(shù)據(jù)中的補(bǔ)位信息刪除,得到解密結(jié)果。其中,可以使用RSA算法進(jìn)行私鑰解密,相應(yīng)地,補(bǔ)位信息可以為以“0001FF”作為開頭、以“FF00”作為結(jié)尾的數(shù)據(jù),也可以為以“0002”作為開始、以“00”作為結(jié)尾,并在“0002”和“00”之間填充一個(gè)或多個(gè)隨機(jī)數(shù)的數(shù)據(jù)。步驟1004,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟1005 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟1005,使用內(nèi)部保存的隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行解擾,得到解擾結(jié)果。具體地,可以判斷內(nèi)部保存的隨機(jī)數(shù)是否與位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)相同,如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼;如果相同,則獲取解密結(jié)果中除位于解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果。其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。還可以對(duì)內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果該隨機(jī)數(shù)的長(zhǎng)度等于解密結(jié)果的長(zhǎng)度,則使用該隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度大于解密結(jié)果的長(zhǎng)度時(shí),則從最高位或最低位開始,從隨機(jī)數(shù)中選取與解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;如果該隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),則根據(jù)該隨機(jī)數(shù)生成一個(gè)與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用該數(shù)據(jù)對(duì)解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果。其中,可以通過(guò)對(duì)隨機(jī)數(shù)進(jìn)行拼接的方式生成與解密結(jié)果長(zhǎng)度相等的數(shù)據(jù)。步驟1006,從解擾結(jié)果中獲取AID (Application Identity,應(yīng)用標(biāo)識(shí))、PINID(Personal Identification Number Identity,個(gè)人識(shí)別密碼標(biāo)識(shí))和第七數(shù)據(jù)。其中,第七數(shù)據(jù)可以為解擾結(jié)果中除AID和PINID之外的數(shù)據(jù),也可以為解擾結(jié)果中除AID、PINID和第五長(zhǎng)度字節(jié)之外的數(shù)據(jù),其中,第五長(zhǎng)度字節(jié)的取值為第七數(shù)據(jù)的長(zhǎng)度。具體地,可以從解擾結(jié)果中讀取位于指定位置且長(zhǎng)度為第三預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)作為獲取的AID,從解擾結(jié)果中與獲取 的AID相鄰的字節(jié)開始,讀取第四預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)作為獲取的PINID,可以將解擾結(jié)果中剩余的數(shù)據(jù)作為第七數(shù)據(jù),也可以從解擾結(jié)果中讀取位于獲取的PINID之后且與獲取的PINID相鄰的字節(jié)作為第五長(zhǎng)度字節(jié),根據(jù)第五長(zhǎng)度字節(jié)的取值,從位于第五長(zhǎng)度字節(jié)之后且與第五長(zhǎng)度字節(jié)相鄰的字節(jié)開始,依次讀取長(zhǎng)度為第五長(zhǎng)度字節(jié)的取值的數(shù)據(jù)作為第七數(shù)據(jù),其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置。步驟1007,判斷與獲取到的AID和PINID對(duì)應(yīng)的文件是否存在,如果存在,則執(zhí)行步驟1008 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟1008,根據(jù)獲取到的AID和PINID,將第七數(shù)據(jù)作為用戶PIN寫入到相應(yīng)的位置,向上位機(jī)發(fā)送表示重置PIN成功的狀態(tài)碼。具體地,可以根據(jù)獲取到的AID和PINID,確定包含用戶PIN的文件的存儲(chǔ)位置,將第七數(shù)據(jù)作為用戶PIN寫入到該文件中。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)接收到的重置PIN指令、內(nèi)部保存的隨機(jī)數(shù)和私鑰,進(jìn)行重置PIN操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。需要說(shuō)明的是,步驟1001和步驟1002為優(yōu)選步驟,在本發(fā)明的其他實(shí)施方式中,可以直接使用預(yù)設(shè)的私鑰,而不再檢索私鑰,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。實(shí)施例1^一接收設(shè)備接收到來(lái)自上位機(jī)的重置PIN指令后,執(zhí)行的操作如圖11所示,包括以下步驟:步驟1101,按照預(yù)設(shè)的參數(shù)檢索私鑰。其中,預(yù)設(shè)的參數(shù)可以為KID和Usage。步驟1102,判斷是否檢索到私鑰,如果檢索到私鑰,則執(zhí)行步驟1103 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。步驟1103,使用檢索到的私鑰對(duì)重置PIN指令的數(shù)據(jù)域中的數(shù)據(jù)解密,將解密得至IJ的數(shù)據(jù)中的補(bǔ)位信息刪除,得到解密結(jié)果。其中,可以使用RSA算法進(jìn)行私鑰解密,相應(yīng)地,補(bǔ)位信息可以為以“0001FF”作為開頭、以“FF00”作為結(jié)尾的數(shù)據(jù),也可以為以“0002”作為開始、以“00”作為結(jié)尾,并在“0002”和“00”之間填充一個(gè)或多個(gè)隨機(jī)數(shù)的數(shù)據(jù)。步驟1104,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟1105 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。
步驟1105,判斷內(nèi)部保存的隨機(jī)數(shù)是否與解密結(jié)果中的第八數(shù)據(jù)相同,如果是,則執(zhí)行步驟1106 ;否則,向上位機(jī)發(fā)送錯(cuò)誤碼。具體地,第八數(shù)據(jù)可以為解密結(jié)果中位于指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),其中,指定位置可以為最靠前的位置、最靠后的位置或者其他的位置,第一預(yù)設(shè)長(zhǎng)度可以為內(nèi)部保存的隨機(jī)數(shù)的長(zhǎng)度,例如,8字節(jié)。步驟1106,將內(nèi)部保存的用戶PIN更新為解密結(jié)果中除第八數(shù)據(jù)之外的數(shù)據(jù),向上位機(jī)發(fā)送表示重置PIN成功的狀態(tài)碼。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)接收到的重置PIN指令、內(nèi)部保存的隨機(jī)數(shù)和私鑰,進(jìn)行重置PIN操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。需要說(shuō)明的是,步驟1101和步驟1102為優(yōu)選步驟,在本發(fā)明的其他實(shí)施方式中,可以直接使用預(yù)設(shè)的私鑰,而不再檢索私鑰,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。實(shí)施例十二如圖12所示,為本發(fā)明實(shí)施例十二中的一種處理指令的裝置的結(jié)構(gòu)圖,包括:解密模塊1201,用于使用內(nèi)部保存的私鑰和/或用戶PIN,對(duì)待處理的指令的數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果;檢查模塊1202,用于檢查所述裝置內(nèi)部是否保存有隨機(jī)數(shù);第一判斷模塊1203,用于在所述檢查模塊1202檢查到所述裝置內(nèi)部保存有隨機(jī)數(shù)時(shí),判斷位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),是否與所述隨機(jī)數(shù)相同;解擾模塊1204,用于在所述第一判斷模塊1203判斷所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),與所述隨機(jī)數(shù)相同時(shí),將所述解密結(jié)果中除位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果;處理模塊1205,用于根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN ;發(fā)送模塊1206,用于在所述檢查模塊1202檢查到所述裝置內(nèi)部沒(méi)有隨機(jī)數(shù)時(shí),發(fā)送錯(cuò)誤碼;在所述第一判斷模塊1203用于判斷位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),與所述隨機(jī)數(shù)不同時(shí),發(fā)送錯(cuò)誤碼。上述解密模塊1201,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果;相應(yīng)地,上述處理模塊1205,具體用于判斷所述解擾結(jié)果是否與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同,如果相同,則將驗(yàn)PIN結(jié)果保存為第一預(yù)設(shè)內(nèi)容,發(fā)送表示驗(yàn)PIN通過(guò)的結(jié)果碼;否則,將驗(yàn)PIN結(jié)果保存為第二預(yù)設(shè)內(nèi)容,發(fā)送表示驗(yàn)PIN未通過(guò)的結(jié)果碼。進(jìn)一步地,上述的裝置,還包括:設(shè)置模塊1207,用于在處理模塊1205判斷所述解擾結(jié)果與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同時(shí),將驗(yàn)PIN重試次數(shù)置為預(yù)設(shè)值;更新模塊1208,用于在處理模塊1205判斷所述解擾結(jié)果與內(nèi)部保存的用戶PIN或用戶PIN的散列值不同時(shí),根據(jù)預(yù)設(shè)步長(zhǎng)更新所述驗(yàn)PIN重試次數(shù);第二判斷模塊1209,用于判斷所述驗(yàn)PIN重試次數(shù)是否等于預(yù)設(shè)門限值;鎖定模塊1210,用于在所述第二判斷模塊1209判斷所述驗(yàn)PIN重試次數(shù)等于預(yù)設(shè)門限值時(shí),將用戶PIN鎖定;所述發(fā)送模塊1206,還用于發(fā)送所述更新模塊1208更新后的驗(yàn)PIN重試次數(shù)。上述解密模塊1201,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果;相應(yīng)地,上述處理模塊1205,具體用于在內(nèi)部保存的用戶PIN信息與所述解擾結(jié)果中的第一數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN信息更新為所述解擾結(jié)果中的第二數(shù)據(jù),所述用戶PIN信息為所述用戶PIN或所述用戶PIN的散列值?;蛘撸鲜鼋饷苣K1201,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到第一中間數(shù)據(jù);使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第四數(shù)據(jù)進(jìn)行解密,得到所述解密結(jié)果;上述解密模塊1201,還用于使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第三數(shù)據(jù)進(jìn)行解密,得到第二中間數(shù)據(jù);相應(yīng)地,上述處理模塊1205,具體用于在所述隨機(jī)數(shù)與所述第二中間數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果?;蛘撸鲜鼋饷苣K1201,具體用于使用所述用戶PIN對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果;相應(yīng)地,上述處理模塊1205,具體用于在所述隨機(jī)數(shù)與所述解密結(jié)果中的第五數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果?;蛘撸鲜鼋饷苣K1201,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果;相應(yīng)地,上述處理模塊1205,具體用于在內(nèi)部保存的用戶PIN與位于所述解擾結(jié)果中的指定位置的數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中除位于所述指定位置的數(shù)據(jù)之外的數(shù)據(jù)?;蛘?,上述解密模塊1201,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果;相應(yīng)地,上述處理模塊1205,具體用于將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中的第七數(shù)據(jù);或者,在所述隨機(jī)數(shù)與所述解擾結(jié)果中的第八數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中除所述第八數(shù)據(jù)之外的數(shù)據(jù)。進(jìn)一步地,上述的裝置,還包括:獲取模塊1211,用于從所述解擾結(jié)果中獲取AID和PINID上述處理模塊1205,具體用于在從所述解擾結(jié)果中獲取的AID和PINID對(duì)應(yīng)的文件存在時(shí),根據(jù)所述AID和所述PINID,將所述第七數(shù)據(jù)作為用戶PIN寫入到相應(yīng)的位置。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)內(nèi)部保存的隨機(jī)數(shù)、私鑰和用戶PIN進(jìn)行修改PIN、重置PIN和驗(yàn)PIN的操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。實(shí)施例十三如圖13所示,為本發(fā)明實(shí)施例十三中的一種處理指令的裝置的結(jié)構(gòu)圖,包括:解密模塊1301,用于使用內(nèi)部保存的私鑰和/或用戶PIN,對(duì)待處理的指令的數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果;檢查模塊1302,用于檢查所述裝置內(nèi)部是否保存有隨機(jī)數(shù);第一判斷模塊1303,用于對(duì)所述隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷;解擾模塊1304,用于在所述第一判斷模塊1303判斷所述隨機(jī)數(shù)的長(zhǎng)度等于所述解密結(jié)果的長(zhǎng)度時(shí),使用所述隨機(jī)數(shù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;在所述第一判斷模塊1303判斷所述隨機(jī)數(shù)的長(zhǎng)度大于所述解密結(jié)果的長(zhǎng)度時(shí),從所述隨機(jī)數(shù)中選取與所述解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用選取的數(shù)據(jù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;在所述第一判斷模塊1303判斷所述隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),根據(jù)所述隨機(jī)數(shù)生成一個(gè)與所述解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用生成的數(shù)據(jù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;處理模塊1305,用于根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN ;發(fā)送模塊1306,用于在所述檢查模塊1302檢查到所述裝置內(nèi)部沒(méi)有隨機(jī)數(shù)時(shí),發(fā)
送錯(cuò)誤碼。上述解密模塊1301,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果;相應(yīng)地,上述處理模塊1305,具體用于判斷所述解擾結(jié)果是否與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同,如果相同,則將驗(yàn)PIN結(jié)果保存為第一預(yù)設(shè)內(nèi)容,發(fā)送表示驗(yàn)PIN通過(guò)的結(jié)果碼;否則,將驗(yàn)PIN結(jié)果保存為第二預(yù)設(shè)內(nèi)容,發(fā)送表示驗(yàn)PIN未通過(guò)的結(jié)果碼。進(jìn)一步地,上述的裝置,還包括:設(shè)置模塊1307,用于在處理模塊1305判斷所述解擾結(jié)果與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同時(shí),將驗(yàn)PIN重試次數(shù)置為預(yù)設(shè)值;更新模塊1308,用于在處理模塊1305判斷所述解擾結(jié)果與內(nèi)部保存的用戶PIN或用戶PIN的散列值不同時(shí),根據(jù)預(yù)設(shè)步長(zhǎng)更新所述驗(yàn)PIN重試次數(shù);第二判斷模塊1309,用于判斷所述驗(yàn)PIN重試次數(shù)是否等于預(yù)設(shè)門限值;鎖定模塊1310,用于在所述第二判斷模塊1309判斷所述驗(yàn)PIN重試次數(shù)等于預(yù)設(shè)門限值時(shí),將用戶PIN鎖定;所述發(fā)送模塊1306,還用于發(fā)送所述更新模塊1308更新后的驗(yàn)PIN重試次數(shù)。或者,上述解密模塊1301,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果;相應(yīng)地,上述處理模塊1305,具體用于在內(nèi)部保存的用戶PIN信息與所述解擾結(jié)果中的第一數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN信息更新為所述解擾結(jié)果中的第二數(shù)據(jù),所述用戶PIN信息為所述用戶PIN或所述用戶PIN的散列值?;蛘?,上述解密模塊1301,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到第一中間數(shù)據(jù);使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第四數(shù)據(jù)進(jìn)行解密,得到所述解密結(jié)果;上述解密模塊1301,還用于使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第三數(shù)據(jù)進(jìn)行解密,得到第二中間數(shù)據(jù);相應(yīng)地,上述處理模塊1305,具體用于在所述隨機(jī)數(shù)與所述第二中間數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果?;蛘?,上述解密模塊1301,具體用于使用所述用戶PIN對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果;相應(yīng)地,上述處理模塊1305,具體用于在所述隨機(jī)數(shù)與所述解密結(jié)果中的第五數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果?;蛘撸鲜鼋饷苣K1301,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果;相應(yīng)地,上述處理模塊1305,具體用于在內(nèi)部保存的用戶PIN與位于所述解擾結(jié)果中的指定位置的數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中除位于所述指定位置的數(shù)據(jù)之外的數(shù)據(jù)?;蛘?,上述解密模塊1301,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果;相應(yīng)地,上述處理模塊1305,具體用于將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中的第七數(shù)據(jù);或者,在所述隨機(jī)數(shù)與所述解擾結(jié)果中的第八數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中除所述第八數(shù)據(jù)之外的數(shù)據(jù)。進(jìn)一步地,上述的裝置,還包括:獲取模塊1311,用于從所述解擾結(jié)果中獲取AID和PINID上述處理模塊1305,具體用于當(dāng)從所述解擾結(jié)果中獲取的AID和PINID對(duì)應(yīng)的文件存在時(shí),根據(jù)所述AID和所述PINID,將所述第七數(shù)據(jù)作為用戶PIN寫入到相應(yīng)的位置。本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)內(nèi)部保存的隨機(jī)數(shù)、私鑰和用戶PIN進(jìn)行修改PIN、重置PIN和驗(yàn)PIN的操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。結(jié)合本文中所公開的實(shí)施例描述的方法中的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM),電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種處理指令的方法,其特征在于,處理指令的裝置接收到待處理的指令時(shí)執(zhí)行以下步驟: S1、使用內(nèi)部保存的私鑰和/或用戶個(gè)人識(shí)別密碼PIN,對(duì)待處理的指令的數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果; S2、檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟S3;否則,向上位機(jī)發(fā)送錯(cuò)誤碼; S3、判斷位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),是否與所述隨機(jī)數(shù)相同,如果相同,則執(zhí)行步驟S4 ;如果不同,則向上位機(jī)發(fā)送錯(cuò)誤碼; S4、將所述解密結(jié)果中除位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果,根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟SI,具體為: 使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述根據(jù)所述解擾結(jié)果驗(yàn)PIN,具體為: 判斷所述解擾結(jié)果是否與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同,如果相同,則將驗(yàn)PIN結(jié)果保存為第一預(yù)設(shè)內(nèi)容,向上位機(jī)發(fā)送表示驗(yàn)PIN通過(guò)的結(jié)果碼;否則,將驗(yàn)PIN結(jié)果保存為第二預(yù)設(shè)內(nèi)容,向上位機(jī)發(fā)送表示驗(yàn)PIN未通過(guò)的結(jié)果碼。
3.如權(quán)利要求2所述的方法,其特征在于,所述判斷所述解擾結(jié)果是否與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同的判斷結(jié)果為相同之后,還包括: 將驗(yàn)PIN重試次數(shù)置為預(yù)設(shè)值; 所述判斷所述解擾結(jié)果是否與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同的判斷結(jié)果為不同之后,還包括: 根據(jù)預(yù)設(shè)步長(zhǎng)更新所述驗(yàn)PIN重試次數(shù),判斷所述驗(yàn)PIN重試次數(shù)是否等于預(yù)設(shè)門限值,如果等于,則將用戶PIN鎖定,向上位機(jī)發(fā)送所述驗(yàn)PIN重試次數(shù);否則,向上位機(jī)發(fā)送所述驗(yàn)PIN重試次數(shù)。
4.如權(quán)利要求1所述的方法,其特征在于,所述步驟SI,具體為: 使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述根據(jù)所述解擾結(jié)果管理PIN,具體為: 當(dāng)內(nèi)部保存的用戶PIN信息與所述解擾結(jié)果中的第一數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN信息更新為所述解擾結(jié)果中的第二數(shù)據(jù),所述用戶PIN信息為所述用戶PIN或所述用戶PIN的散列值。
5.如權(quán)利要求1所述的方法,其特征在于,所述步驟SI,具體為: 使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到第一中間數(shù)據(jù);使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第四數(shù)據(jù)進(jìn)行解密,得到所述解密結(jié)果; 所述使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到第一中間數(shù)據(jù)之后,還包括: 使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第三數(shù)據(jù)進(jìn)行解密,得到第二中間數(shù)據(jù); 所述根據(jù)所述解擾結(jié)果管理PIN,具體為: 當(dāng)所述隨機(jī)數(shù)與所述第二中間數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果O
6.如權(quán)利要求1所述的方法,其特征在于,所述步驟SI,具體為: 使用所述用戶PIN對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述根據(jù)所述解擾結(jié)果管理PIN,具體為: 當(dāng)所述隨機(jī)數(shù)與所述解密結(jié)果中的第五數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果。
7.如權(quán)利要求1所述的方法,其特征在于,所述步驟SI,具體為: 使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述根據(jù)所述解擾結(jié)果管理PIN,具體為: 當(dāng)內(nèi)部保存的用戶PIN與位于所述解擾結(jié)果中的指定位置的數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中除位于所述指定位置的數(shù)據(jù)之外的數(shù)據(jù)。
8.如權(quán)利要求1所述的方法,其特征在于,所述步驟SI,具體為: 使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述根據(jù)所述解擾結(jié)果管理PIN,具體為: 將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中的第七數(shù)據(jù)。
9.如權(quán)利要求8所述的方法,其特征在于,所述根據(jù)所述解擾結(jié)果管理PIN之前,還包括: 從所述解擾結(jié)果中獲取應(yīng)用標(biāo)識(shí)AID和個(gè)人識(shí)別密碼標(biāo)識(shí)PINID ; 將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中的第七數(shù)據(jù),具體為: 當(dāng)從所述解擾結(jié)果中獲取的AID和PINID對(duì)應(yīng)的文件存在時(shí),根據(jù)所述AID和所述PINID,將所述第七數(shù)據(jù)作為用戶PIN寫入到相應(yīng)的位置。
10.一種處理指令的方法,其特征在于,處理指令的裝置接收到待處理的指令時(shí)執(zhí)行以下步驟: 51、使用內(nèi)部保存的私鑰和/或用戶個(gè)人識(shí)別密碼PIN,對(duì)待處理的指令的數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果; 52、檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則執(zhí)行步驟S3;否則,向上位機(jī)發(fā)送錯(cuò)誤碼; 53、對(duì)所述隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷,如果所述隨機(jī)數(shù)的長(zhǎng)度等于所述解密結(jié)果的長(zhǎng)度,則執(zhí)行步驟S4 ;如果所述隨機(jī)數(shù)的長(zhǎng)度大于所述解密結(jié)果的長(zhǎng)度,則執(zhí)行步驟S5 ;如果所述隨機(jī)數(shù)的長(zhǎng)度小于所述解密結(jié)果的長(zhǎng)度,則執(zhí)行步驟S6 ; 54、使用所述隨機(jī)數(shù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果,并根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN,結(jié)束; 55、從所述隨機(jī)數(shù)中選取與所述解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用選取的數(shù)據(jù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果,并根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN,結(jié)束; 56、根據(jù)所述隨機(jī)數(shù)生成一個(gè)與所述解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用生成的數(shù)據(jù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果,并根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN,結(jié)束。
11.如權(quán)利要求10所述的方法,其特征在于,所述步驟SI,具體為: 使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述根據(jù)所述解擾結(jié)果驗(yàn)PIN,具體為: 判斷所述解擾結(jié)果是否與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同,如果相同,則將驗(yàn)PIN結(jié)果保存為第一預(yù)設(shè)內(nèi)容,向上位機(jī)發(fā)送表示驗(yàn)PIN通過(guò)的結(jié)果碼;否則,將驗(yàn)PIN結(jié)果保存為第二預(yù)設(shè)內(nèi)容,向上位機(jī)發(fā)送表示驗(yàn)PIN未通過(guò)的結(jié)果碼。
12.如權(quán)利要求11所述的方法,其特征在于,所述判斷所述解擾結(jié)果與內(nèi)部保存的用戶PIN或用戶PIN的散列值是否相同的判斷結(jié)果為相同之后,還包括: 將驗(yàn)PIN重試次數(shù)置為預(yù)設(shè)值; 所述判斷所述解擾結(jié)果與內(nèi)部保存的用戶PIN或用戶PIN的散列值是否相同的判斷結(jié)果為不同之后,還包括: 根據(jù)預(yù)設(shè)步長(zhǎng)更新所述驗(yàn)PIN重試次數(shù),判斷所述驗(yàn)PIN重試次數(shù)是否等于預(yù)設(shè)門限值,如果等于,則將用戶PIN鎖定,向上位機(jī)發(fā)送所述驗(yàn)PIN重試次數(shù);否則,向上位機(jī)發(fā)送所述驗(yàn)PIN重試次數(shù)。
13.如權(quán)利要求10所述的方法,其特征在于,所述步驟SI,具體為: 使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述根據(jù)所述解擾結(jié)果管理PIN,具體為: 當(dāng)內(nèi)部保存的用戶PIN信息與所述解擾結(jié)果中的第一數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN信息更新為所述解擾結(jié)果中的第二數(shù)據(jù),所述用戶PIN信息為所述用戶PIN或所述用戶PIN的散列值。
14.如權(quán)利要求 10所述的方法,其特征在于,所述步驟SI,具體為: 使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到第一中間數(shù)據(jù);使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第四數(shù)據(jù)進(jìn)行解密,得到所述解密結(jié)果; 所述使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到第一中間數(shù)據(jù)之后,還包括: 使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第三數(shù)據(jù)進(jìn)行解密,得到第二中間數(shù)據(jù); 所述根據(jù)所述解擾結(jié)果管理PIN,具體為: 當(dāng)所述隨機(jī)數(shù)與所述第二中間數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果O
15.如權(quán)利要求10所述的方法,其特征在于,所述步驟SI,具體為: 使用所述用戶PIN對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述根據(jù)所述解擾結(jié)果管理PIN,具體為: 當(dāng)所述隨機(jī)數(shù)與所述解密結(jié)果中的第五數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果。
16.如權(quán)利要求10所述的方法,其特征在于,所述步驟SI,具體為: 使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述根據(jù)所述解擾結(jié)果管理PIN,具體為: 當(dāng)內(nèi)部保存的用戶PIN與位于所述解擾結(jié)果中的指定位置的數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中除位于所述指定位置的數(shù)據(jù)之外的數(shù)據(jù)。
17.如權(quán)利要求10所述的方法,其特征在于,所述步驟SI,具體為: 使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述根據(jù)所述解擾結(jié)果管理PIN,具體為: 將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中的第七數(shù)據(jù)。
18.如權(quán)利要求17所述的方法,其特征在于,所述根據(jù)所述解擾結(jié)果管理PIN之前,還包括: 從所述解擾結(jié)果中獲取應(yīng)用標(biāo)識(shí)AID和個(gè)人識(shí)別密碼標(biāo)識(shí)PINID ; 將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中的第七數(shù)據(jù),具體為: 當(dāng)從所述解擾結(jié)果中獲取的AID和PINID對(duì)應(yīng)的文件存在時(shí),根據(jù)所述AID和所述PINID,將所述第七數(shù)據(jù)作為用戶PIN寫入到相應(yīng)的位置。
19.一種處理指令的裝置,其特征在于,包括: 解密模塊,用于使用內(nèi)部保存的私鑰和/或用戶個(gè)人識(shí)別密碼PIN,對(duì)待處理的指令的數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果; 檢查模塊,用于檢查所述裝置內(nèi)部是否保存有隨機(jī)數(shù); 第一判斷模塊,用于在所述檢查模塊檢查到所述裝置內(nèi)部保存有隨機(jī)數(shù)時(shí),判斷位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),是否與所述隨機(jī)數(shù)相同; 解擾模塊,用于在所述第一判斷模塊判斷所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),與所述隨機(jī)數(shù)相同時(shí),將所述解密結(jié)果中除位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù)之外的數(shù)據(jù)作為解擾結(jié)果; 處理模塊,用于根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN ; 發(fā)送模塊,用于在所述檢查模塊檢查到所述裝置內(nèi)部沒(méi)有隨機(jī)數(shù)時(shí),向上位機(jī)發(fā)送錯(cuò)誤碼;在所述第一判斷模塊用于判斷位于所述解密結(jié)果中的指定位置且長(zhǎng)度為第一預(yù)設(shè)長(zhǎng)度的數(shù)據(jù),與所述隨機(jī)數(shù)不同時(shí),向上位機(jī)發(fā)送錯(cuò)誤碼。
20.如權(quán)利要求19所述的裝置,其特征在于, 所述解密模塊,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述處理模塊,具體用于判斷所述解擾結(jié)果是否與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同,如果相同,則將驗(yàn)PIN結(jié)果保存為第一預(yù)設(shè)內(nèi)容,向上位機(jī)發(fā)送表示驗(yàn)PIN通過(guò)的結(jié)果碼;否則,將驗(yàn)PIN結(jié)果保存為第二預(yù)設(shè)內(nèi)容,向上位機(jī)發(fā)送表示驗(yàn)PIN未通過(guò)的結(jié)果碼。
21.如權(quán)利要求20所述的裝置,其特征在于,還包括: 設(shè)置模塊,用于在所述處理模塊判斷所述解擾結(jié)果與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同時(shí),將驗(yàn)PIN重試次數(shù)置為預(yù)設(shè)值; 更新模塊,用于在所述處理模塊判斷所述解擾結(jié)果與內(nèi)部保存的用戶PIN或用戶PIN的散列值不同時(shí),根據(jù)預(yù)設(shè)步長(zhǎng)更新所述驗(yàn)PIN重試次數(shù); 第二判斷模塊,用于判斷所述驗(yàn)PIN重試次數(shù)是否等于預(yù)設(shè)門限值; 鎖定模塊,用于在所述第二判斷模塊判斷所述驗(yàn)PIN重試次數(shù)等于預(yù)設(shè)門限值時(shí),將用戶PIN鎖定; 所述發(fā)送模塊,還用于向上位機(jī)發(fā)送所述更新模塊更新后的驗(yàn)PIN重試次數(shù)。
22.如權(quán)利要求19所述的裝置,其特征在于, 所述解密模塊,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述處理模塊,具體用于在內(nèi)部保存的用戶PIN信息與所述解擾結(jié)果中的第一數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN信息更新為所述解擾結(jié)果中的第二數(shù)據(jù),所述用戶PIN信息為所述用戶PIN或所述用戶PIN的散列值。
23.如權(quán)利要求19所述的裝置,其特征在于, 所述解密模塊,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到第一中間數(shù)據(jù);使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第四數(shù)據(jù)進(jìn)行解密,得到所述解密結(jié)果; 所述解密模塊,還用于使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第三數(shù)據(jù)進(jìn)行解密,得到第二中間數(shù)據(jù); 所述處理模塊,具體用于在所述隨機(jī)數(shù)與所述第二中間數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果。
24.如權(quán)利要求19所述的裝置,其特征在于, 所述解密模塊,具體用于使用所述用戶PIN對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述處理模塊,具體用于在所述隨機(jī)數(shù)與所述解密結(jié)果中的第五數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果。
25.如權(quán)利要求19所述的裝置,其特征在于, 所述解密模塊,具體用于使 用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述處理模塊,具體用于在內(nèi)部保存的用戶PIN與位于所述解擾結(jié)果中的指定位置的數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中除位于所述指定位置的數(shù)據(jù)之外的數(shù)據(jù)。
26.如權(quán)利要求19所述的裝置,其特征在于, 所述解密模塊,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述處理模塊,具體用于將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中的第七數(shù)據(jù)。
27.如權(quán)利要求26所述的裝置,其特征在于,還包括: 獲取模塊,用于從所述解擾結(jié)果中獲取應(yīng)用標(biāo)識(shí)AID和個(gè)人識(shí)別密碼標(biāo)識(shí)PINID ; 所述處理模塊,具體用于在從所述解擾結(jié)果中獲取的AID和PINID對(duì)應(yīng)的文件存在時(shí),根據(jù)所述AID和所述PINID,將所述第七數(shù)據(jù)作為用戶PIN寫入到相應(yīng)的位置。
28.—種處理指令的裝置,其特征在于,包括: 解密模塊,用于使用內(nèi)部保存的私鑰和/或用戶個(gè)人識(shí)別密碼PIN,對(duì)待處理的指令的數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果; 檢查模塊,用于檢查所述裝置內(nèi)部是否保存有隨機(jī)數(shù); 第一判斷模塊,用于對(duì)所述隨機(jī)數(shù)的長(zhǎng)度進(jìn)行判斷; 解擾模塊,用于在所述第一判斷模塊判斷所述隨機(jī)數(shù)的長(zhǎng)度等于所述解密結(jié)果的長(zhǎng)度時(shí),使用所述隨機(jī)數(shù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;在所述第一判斷模塊判斷所述隨機(jī)數(shù)的長(zhǎng)度大于所述解密結(jié)果的長(zhǎng)度時(shí),從所述隨機(jī)數(shù)中選取與所述解密結(jié)果的長(zhǎng)度相等的數(shù)據(jù),并使用選取的數(shù)據(jù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果;在所述第一判斷模塊判斷所述隨機(jī)數(shù)的長(zhǎng)度小于解密結(jié)果的長(zhǎng)度時(shí),根據(jù)所述隨機(jī)數(shù)生成一個(gè)與所述解密結(jié)果長(zhǎng)度相等的數(shù)據(jù),并使用生成的數(shù)據(jù)對(duì)所述解密結(jié)果進(jìn)行按位異或,得到解擾結(jié)果; 處理模塊,用于根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN ; 發(fā)送模塊,用于在所述檢查模塊檢查到所述裝置內(nèi)部沒(méi)有隨機(jī)數(shù)時(shí),向上位機(jī)發(fā)送錯(cuò)誤碼。
29.如權(quán)利要求28所述的裝置,其特征在于, 所述解密模塊,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述處理模塊,具體用于判斷所述解擾結(jié)果是否與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同,如果相同,則將驗(yàn)PIN結(jié)果保存為第一預(yù)設(shè)內(nèi)容,向上位機(jī)發(fā)送表示驗(yàn)PIN通過(guò)的結(jié)果碼;否則,將驗(yàn)PIN結(jié)果保存為第二預(yù)設(shè)內(nèi)容,向上位機(jī)發(fā)送表示驗(yàn)PIN未通過(guò)的結(jié)果碼。
30.如權(quán)利要求29所述的裝置,其特征在于,還包括: 設(shè)置模塊,用于在所述處理模塊判斷所述解擾結(jié)果與內(nèi)部保存的用戶PIN或用戶PIN的散列值相同時(shí),將驗(yàn)PIN重試次數(shù)置為預(yù)設(shè)值; 更新模塊,用于在所述處理模塊判斷所述解擾結(jié)果與內(nèi)部保存的用戶PIN或用戶PIN的散列值不同時(shí),根據(jù)預(yù)設(shè)步長(zhǎng)更新所述驗(yàn)PIN重試次數(shù); 第二判斷模塊,用于判斷所述驗(yàn)PIN重試次數(shù)是否等于預(yù)設(shè)門限值; 鎖定模塊,用于在所述第二判斷模塊判斷所述驗(yàn)PIN重試次數(shù)等于預(yù)設(shè)門限值時(shí),將用戶PIN鎖定; 所述發(fā)送模塊,還用于向上位機(jī)發(fā)送所述更新模塊更新后的驗(yàn)PIN重試次數(shù)。
31.如權(quán)利要求28所述的裝置,其特征在于, 所述解密模塊,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述處理模塊,具體用于在內(nèi)部保存的用戶PIN信息與所述解擾結(jié)果中的第一數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN信息更新為所述解擾結(jié)果中的第二數(shù)據(jù),所述用戶PIN信息為所述用戶PIN或所述用戶PIN的散列值。
32.如權(quán)利要求28所述的裝置,其特征在于, 所述解密模塊,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到第一中間數(shù)據(jù);使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第四數(shù)據(jù)進(jìn)行解密,得到所述解密結(jié)果; 所述解密模塊,還用于使用所述用戶PIN對(duì)所述第一中間數(shù)據(jù)中的第三數(shù)據(jù)進(jìn)行解密,得到第二中間數(shù)據(jù); 所述處理模塊,具體用于在所述隨機(jī)數(shù)與所述第二中間數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果。
33.如權(quán)利要求28所述的裝置,其特征在于, 所述解密模塊,具體用于使用所述用戶PIN對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述處理模塊,具體用于在所述隨機(jī)數(shù)與所述解密結(jié)果中的第五數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果。
34.如權(quán)利要求28所述的裝置,其特征在于, 所述解密模塊,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述處理模塊,具體用于在內(nèi)部保存的用戶PIN與位于所述解擾結(jié)果中的指定位置的數(shù)據(jù)相同時(shí),將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中除位于所述指定位置的數(shù)據(jù)之外的數(shù)據(jù)。
35.如權(quán)利要求28所述的裝置,其特征在于, 所述解密模塊,具體用于使用所述私鑰對(duì)所述指令的數(shù)據(jù)域中的數(shù)據(jù)解密,得到解密結(jié)果; 所述處理模塊,具體用于將內(nèi)部保存的用戶PIN更新為所述解擾結(jié)果中的第七數(shù)據(jù)。
36.如權(quán)利要求35所述的裝置,其特征在于,還包括: 獲取模塊,用于從所述解擾結(jié)果中獲取應(yīng)用標(biāo)識(shí)AID和個(gè)人識(shí)別密碼標(biāo)識(shí)PINID ; 所述處理模塊,具體用于在從所述解擾結(jié)果中獲取的AID和PINID對(duì)應(yīng)的文件存在時(shí),根據(jù)所述AID和所述PINID,將所述第七數(shù)據(jù)作為用戶PIN寫入到相應(yīng)的位置。
全文摘要
本發(fā)明公開一種處理指令的方法和裝置,該方法包括以下步驟使用內(nèi)部保存的私鑰和/或用戶PIN,對(duì)待處理的指令的數(shù)據(jù)域中的數(shù)據(jù)進(jìn)行解密,得到解密結(jié)果,檢查自身內(nèi)部是否保存有隨機(jī)數(shù),如果是,則使用該隨機(jī)數(shù)對(duì)解密結(jié)果進(jìn)行解擾,得到解擾結(jié)果,并根據(jù)所述解擾結(jié)果驗(yàn)PIN或管理PIN。本發(fā)明提供的技術(shù)方案,根據(jù)內(nèi)部保存的隨機(jī)數(shù)、私鑰和用戶PIN進(jìn)行修改PIN、重置PIN和驗(yàn)PIN的操作,提高了報(bào)文傳輸系統(tǒng)的安全性和保密性。
文檔編號(hào)H04L9/28GK103166754SQ20131007745
公開日2013年6月19日 申請(qǐng)日期2013年3月12日 優(yōu)先權(quán)日2013年3月12日
發(fā)明者陸舟, 于華章 申請(qǐng)人:飛天誠(chéng)信科技股份有限公司