一種處理異常的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種處理異常的方法和裝置。
【背景技術(shù)】
[0002]智能密鑰設(shè)備是基于公鑰體系的數(shù)字證書和私鑰的安全載體,能夠?qū)崿F(xiàn)可靠的身份認(rèn)證和數(shù)據(jù)加密。目前,隨著移動銀行(Mobile Banking Service,也可稱為手機(jī)銀行)的發(fā)展,出現(xiàn)了基于移動終端的智能密鑰設(shè)備,這類智能密鑰設(shè)備通過音頻接口、DOCK接口、lightning接口或藍(lán)牙等方式與移動終端進(jìn)行連接與通信。
[0003]現(xiàn)有技術(shù)中,當(dāng)智能密鑰設(shè)備與移動終端進(jìn)行通信時,若遇到來電、短信或者鬧鐘等異常情況,會立即中斷通信,退出移動終端,不保存異常情況發(fā)生前的通信狀態(tài)和用戶輸入的信息,移動終端再次啟動時,需重新開始。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的不足,提供一種處理異常的方法和裝置。
[0005]本發(fā)明采用的技術(shù)方案是:一種處理異常的方法,包括:
[0006]步驟S1:移動終端啟動,組織待簽名數(shù)據(jù),根據(jù)所述待簽名數(shù)據(jù)生成簽名指令;
[0007]步驟S2:所述移動終端將所述簽名指令發(fā)送至智能密鑰設(shè)備,并等待接收所述智能密鑰設(shè)備返回的響應(yīng),判斷在預(yù)設(shè)時間內(nèi)是否接收到所述智能密鑰設(shè)備返回的成功響應(yīng),如果是,則執(zhí)行步驟S4,否則執(zhí)行步驟S3 ;
[0008]步驟S3:所述移動終端判斷發(fā)送所述簽名指令的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù),如果是,則報錯,結(jié)束,否則返回步驟S2 ;
[0009]步驟S4:所述移動終端判斷是否存在異常事件,如果是,執(zhí)行步驟S5,否則執(zhí)行步驟S6 ;
[0010]步驟S5:所述移動終端判斷所述異常事件的持續(xù)時間是否達(dá)到預(yù)設(shè)值,如果是,貝IJ報錯,結(jié)束,否則返回步驟S4 ;
[0011]步驟S6:所述移動終端向所述智能密鑰設(shè)備發(fā)送獲取簽名結(jié)果指令,判斷在預(yù)設(shè)時間內(nèi)是否接收到所述智能密鑰設(shè)備返回的成功響應(yīng),如果是,則從所述成功響應(yīng)中獲取簽名結(jié)果,結(jié)束,否則報錯,結(jié)束。
[0012]所述步驟SI中,所述移動終端啟動后,還包括:將所述移動終端的屏幕狀態(tài)設(shè)置為尚殼。
[0013]所述步驟SI中,所述移動終端啟動后,還包括:初始化PIN碼驗證次數(shù);
[0014]所述移動終端組織待簽名數(shù)據(jù)之前,還包括:所述移動終端接收用戶輸入的PIN碼,判斷所述PIN碼是否正確,如果是,則組織待簽名數(shù)據(jù),否則更新所述PIN碼驗證次數(shù),判斷更新后的所述PIN碼驗證次數(shù)是否達(dá)到預(yù)設(shè)次數(shù),如果是,則報錯,結(jié)束,否則返回步驟S2。
[0015]所述判斷所述PIN碼是否正確,具體為:所述移動終端根據(jù)用戶輸入的PIN碼生成驗PIN指令,將所述驗PIN指令發(fā)送至所述智能密鑰設(shè)備,接收所述智能密鑰設(shè)備返回的響應(yīng),如果是成功響應(yīng),則組織待簽名數(shù)據(jù),如果是失敗響應(yīng),則更新所述PIN碼驗證次數(shù)。
[0016]所述步驟S2中,判斷為否時,還包括:所述移動終端判斷所述簽名指令是否發(fā)送完成,如果是,則結(jié)束,否則執(zhí)行步驟S3。
[0017]所述步驟SI中,所述初始化還包括:將發(fā)送所述簽名指令的次數(shù)置為初值;
[0018]所述步驟S3具體為:更新所述發(fā)送所述簽名指令的次數(shù),判斷更新后的發(fā)送所述簽名指令的次數(shù)是否達(dá)到所述預(yù)設(shè)次數(shù),如果是,則結(jié)束,否則返回步驟S2。
[0019]所述步驟S4之前還包括:
[0020]步驟al:所述移動終端判斷是否存在異常事件,如果是,執(zhí)行步驟a2,否則執(zhí)行步驟a3 ;
[0021]步驟a2:所述移動終端判斷所述異常事件的持續(xù)時間是否達(dá)到預(yù)設(shè)值,如果是,則結(jié)束,否則返回步驟al ;
[0022]步驟a3:所述移動終端向所述智能密鑰設(shè)備發(fā)送獲取按鍵狀態(tài)指令,并等待接收所述智能密鑰設(shè)備返回的按鍵狀態(tài);
[0023]步驟a4:所述移動終端判斷在預(yù)設(shè)時間內(nèi)是否接收到的所述智能密鑰設(shè)備返回的按鍵狀態(tài)的類型,如果是確認(rèn)鍵,則執(zhí)行步驟S4,否則結(jié)束。
[0024]所述步驟a4,還包括:
[0025]當(dāng)判定所述智能密鑰設(shè)備返回的按鍵狀態(tài)為取消鍵時,報錯,結(jié)束;
[0026]當(dāng)判定在預(yù)設(shè)時間內(nèi)未接收到所述智能密鑰設(shè)備返回的按鍵狀態(tài)時,更新獲取按鍵狀態(tài)次數(shù),判斷更新后的獲取按鍵狀態(tài)次數(shù)是否達(dá)到預(yù)設(shè)次數(shù),如果是,則報錯,結(jié)束,否則返回步驟a3。
[0027]所述步驟S6中,判斷在預(yù)設(shè)時間內(nèi)是否接收到所述智能密鑰設(shè)備返回的成功響應(yīng),具體包括:當(dāng)判斷接收到成功響應(yīng)時,從所述成功響應(yīng)中獲取簽名結(jié)果,結(jié)束,當(dāng)判斷接收到失敗響應(yīng)或未接收到響應(yīng)時,更新獲取簽名結(jié)果次數(shù),判斷更新后的獲取簽名結(jié)果次數(shù)是否達(dá)到預(yù)設(shè)次數(shù),如果是,則報錯,結(jié)束,否則返回步驟S4。
[0028]所述步驟S2中,所述移動終端將所述簽名指令發(fā)送至智能密鑰設(shè)備之前,還包括:獲取系統(tǒng)音量值,判斷所述系統(tǒng)音量值是否在預(yù)設(shè)范圍內(nèi),如果是,則記錄所述系統(tǒng)音量值,將所述系統(tǒng)音量值設(shè)置在所述預(yù)設(shè)范圍內(nèi),然后將所述簽名指令發(fā)送至智能密鑰設(shè)備,否則直接將所述簽名指令發(fā)送至智能密鑰設(shè)備;
[0029]所述步驟S6中,所述移動終端向所述智能密鑰設(shè)備發(fā)送獲取簽名結(jié)果指令之前,還包括:獲取系統(tǒng)音量值,判斷所述系統(tǒng)音量值是否在預(yù)設(shè)范圍內(nèi),如果是,則記錄所述系統(tǒng)音量值,將所述系統(tǒng)音量值設(shè)置在所述預(yù)設(shè)范圍內(nèi),然后向所述智能密鑰設(shè)備發(fā)送獲取簽名結(jié)果指令,否則直接向所述智能密鑰設(shè)備發(fā)送獲取簽名結(jié)果指令;
[0030]所述步驟S6中,判斷為是時還包括:獲取記錄的系統(tǒng)音量值,將當(dāng)前系統(tǒng)音量值設(shè)置為所述記錄的系統(tǒng)音量值。
[0031]所述步驟S2中,所述判斷在預(yù)設(shè)時間內(nèi)是否接收到所述智能密鑰設(shè)備返回的成功響應(yīng),具體包括,
[0032]當(dāng)判定在預(yù)設(shè)時間內(nèi)接收到所述智能密鑰設(shè)備返回的成功響應(yīng)時,執(zhí)行步驟S4 ;
[0033]當(dāng)判定在預(yù)設(shè)時間內(nèi)接收到所述智能密鑰設(shè)備返回的失敗響應(yīng)時,報錯,結(jié)束;
[0034]當(dāng)判定在預(yù)設(shè)時間內(nèi)未接收到所述智能密鑰設(shè)備返回的響應(yīng)時,執(zhí)行步驟S3。
[0035]所述步驟SI還包括:將異常事件標(biāo)識復(fù)位,啟動系統(tǒng)事件監(jiān)聽服務(wù);
[0036]所述步驟S4具體為:所述移動終端判斷所述異常事件標(biāo)識是否置位,如果是,則執(zhí)行步驟S5,否則執(zhí)行步驟S6 ;
[0037]對應(yīng)的,所述方法還包括:當(dāng)所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到有異常事件發(fā)生時,將所述異常事件標(biāo)識置位,當(dāng)所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到有異常事件結(jié)束時,將所述異常事件標(biāo)識復(fù)位。
[0038]所述步驟S5,具體為:所述移動終端判斷異常事件計時器的值是否達(dá)到預(yù)設(shè)值,如果是,則結(jié)束,否則返回步驟S4 ;
[0039]對應(yīng)的,所述方法還包括:當(dāng)所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到有異常事件發(fā)生時,開啟所述異常事件計時器,當(dāng)所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到所述異常事件結(jié)束時,關(guān)閉所述異常事件計時器。
[0040]所述步驟SI還包括:啟動系統(tǒng)事件監(jiān)聽服務(wù);
[0041]所述方法還包括:當(dāng)所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到有異常事件發(fā)生時,所述移動終端報錯,結(jié)束,當(dāng)所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到異常事件結(jié)束時,所述移動終端執(zhí)行步驟
Slo
[0042]所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到有異常事件發(fā)生,具體包括:所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到有電話切入或鬧鐘鈴聲或短信鈴聲或點(diǎn)擊home鍵或點(diǎn)擊鎖屏鍵的異常事件發(fā)生;
[0043]所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到有異常事件結(jié)束,具體包括:所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到有電話掛斷或鬧鐘鈴聲停止或短信鈴聲停止或程序進(jìn)入前臺的異常事件結(jié)束。
[0044]所述步驟SI還包括:啟動系統(tǒng)事件監(jiān)聽服務(wù);
[0045]所述方法還包括:
[0046]當(dāng)所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到發(fā)生home鍵或鎖屏鍵異常時,所述移動終端的應(yīng)用程序進(jìn)入后臺,結(jié)束數(shù)據(jù)傳輸;
[0047]當(dāng)所述系統(tǒng)事件監(jiān)聽服務(wù)監(jiān)聽到所述移動終端的應(yīng)用程序重新進(jìn)入前臺的事件發(fā)生時,所述移動終端的應(yīng)用程序執(zhí)行步驟SI。
[0048]一種處理異常的裝置,包括:
[0049]指令生成模塊:用于組織待簽名數(shù)據(jù),根據(jù)所述待簽名數(shù)據(jù)生成簽名指令;
[0050]發(fā)送模塊:用于將所述簽名指令發(fā)送至智能密鑰設(shè)備,用于向所述智能密鑰設(shè)備發(fā)送獲取簽名結(jié)果指令;
[0051]接收模塊:用于接收所述智能密鑰設(shè)備返回的響應(yīng);
[0052]第一判斷模塊:用于判斷在預(yù)設(shè)時間內(nèi)是否接收到所述智能密鑰設(shè)備返回的成功響應(yīng);還用于判斷發(fā)送所述簽名指令的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù);
[0053]第二判斷模塊:用于當(dāng)所述第一判斷模塊判斷在預(yù)設(shè)時間內(nèi)接收到所述智能密鑰設(shè)備返回的成功響應(yīng)時,判斷是否存在異常事件,還用于判斷所述異常事件的持續(xù)時間是否達(dá)到預(yù)設(shè)值;
[0054]獲取模塊:用于當(dāng)所述第一判斷模塊判斷在預(yù)設(shè)時間內(nèi)接收到所述智能密鑰設(shè)備返回的成功響應(yīng)時,從所述成功響應(yīng)中獲取簽名結(jié)果。
[0055]所述裝置還包括:
[0056]第一設(shè)置模塊:用于將屏幕狀態(tài)設(shè)置為高亮。
[0057]所述裝置還包括:
[0058]第一初始化模塊:用于初始化PIN碼驗證次數(shù);
[0059]所述第二判斷模塊還包括:
[0060]第一判斷單元:用于判斷所述PIN碼是否正確;
[0061]更新單元:用于當(dāng)所述第三判斷模塊判斷為否時,更新所述PIN碼驗證次數(shù);
[0062]第二判斷單元:用于判斷更新后的PIN碼驗證次數(shù)是否達(dá)到預(yù)設(shè)次數(shù);
[0063]所述接收模塊:還用于接收用戶輸入的PIN碼。
[0064]所述第一判斷單元:具體用于根據(jù)用戶輸入的PIN碼生成驗PIN指令,將所述