一種安全控制方法、安全裝置及身份證讀卡終端的制作方法
【專利摘要】本發(fā)明提供了一種安全控制方法、安全裝置及身份證讀卡終端,其中,安全控制方法包括:接收至少一個安全認(rèn)證信息,對每一個安全認(rèn)證信息進行認(rèn)證,如果認(rèn)證通過,將認(rèn)證通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果認(rèn)證不通過,將認(rèn)證不通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀態(tài),將安全狀態(tài)進行存儲;接收指令,根據(jù)指令查找存儲的與指令相對應(yīng)的安全狀態(tài),判斷安全狀態(tài)是否為認(rèn)證通過狀態(tài);在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊;接收底層驅(qū)動模塊響應(yīng)調(diào)用生成的響應(yīng)結(jié)果,由此實現(xiàn)指令的安全執(zhí)行。
【專利說明】
一種安全控制方法、安全裝置及身份證讀卡終端
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及一種電子技術(shù)領(lǐng)域,尤其涉及一種安全控制方法、安全裝置及身份證讀卡終端。
【背景技術(shù)】
[0002]在現(xiàn)有技術(shù)中,電子裝置接收到操作指令后,直接根據(jù)指令調(diào)用系統(tǒng)層執(zhí)行相應(yīng)的操作,而不需要對收到指令時電子裝置的當(dāng)前的安全環(huán)境是否滿足指令的執(zhí)行要求進行確認(rèn),造成電子裝置在不安全環(huán)境中仍會執(zhí)行敏感操作,使得電子裝置在使用時不能滿足安全性要求。
【發(fā)明內(nèi)容】
[0003 ]本發(fā)明旨在解決上述問題。
[0004]本發(fā)明的主要目的在于提供一種安全控制方法。
[0005]本發(fā)明的另一目的在于提供一種安全裝置。
[0006]本發(fā)明的另一目的在于提供一種身份證讀卡終端。
[0007]為達到上述目的,本發(fā)明的技術(shù)方案具體是這樣實現(xiàn)的:
[0008]本發(fā)明的一方面提供了一種安全控制方法,包括:接收至少一個安全認(rèn)證信息,對每一個安全認(rèn)證信息進行認(rèn)證,如果認(rèn)證通過,將認(rèn)證通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果認(rèn)證不通過,將認(rèn)證不通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀態(tài),將安全狀態(tài)進行存儲;接收指令,根據(jù)指令查找存儲的與指令相對應(yīng)的安全狀態(tài),判斷安全狀態(tài)是否為認(rèn)證通過狀態(tài);在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊;接收底層驅(qū)動模塊響應(yīng)調(diào)用生成的響應(yīng)結(jié)果。
[0009]可選的,在接收指令之后,方法還包括:分析是否有相應(yīng)的指令或指令接口,如果存在相應(yīng)的指令或指令接口,觸發(fā)根據(jù)指令查找存儲的與指令相對應(yīng)的安全狀態(tài)的步驟。
[0010]可選的,安全認(rèn)證信息為PIN碼或生物特征信息或根據(jù)認(rèn)證密鑰獲得的信息。
[0011]可選的,底層驅(qū)動模塊,包括:安全算法庫和/或文件系統(tǒng);在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊,包括:在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用安全算法庫和/或文件系統(tǒng)。
[0012]本發(fā)明的另一方面提供了一種安全裝置,包括:認(rèn)證模塊、指令判斷模塊、調(diào)用模塊和底層驅(qū)動模塊,認(rèn)證模塊,用于接收至少一個安全認(rèn)證信息,對每一個安全認(rèn)證信息進行認(rèn)證,如果認(rèn)證通過,將認(rèn)證通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果認(rèn)證不通過,將認(rèn)證不通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀態(tài),將安全狀態(tài)進行存儲;指令判斷模塊,用于接收指令,根據(jù)指令查找存儲的與指令相對應(yīng)的安全狀態(tài),判斷安全狀態(tài)是否為認(rèn)證通過狀態(tài);調(diào)用模塊,用于在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊,接收底層驅(qū)動模塊響應(yīng)認(rèn)證模塊的調(diào)用生成的響應(yīng)結(jié)果。
[0013]可選的,指令判斷模塊,還用于分析是否有相應(yīng)的指令或指令接口,如果存在相應(yīng)的指令或指令接口,觸發(fā)根據(jù)指令查找存儲的與指令相對應(yīng)的安全狀態(tài)的步驟。
[0014]可選的,安全認(rèn)證信息為PIN碼或生物特征信息或根據(jù)認(rèn)證密鑰獲得的信息。
[0015]可選的,底層驅(qū)動模塊,包括:安全算法庫和/或文件系統(tǒng);調(diào)用模塊,用于在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊,包括:調(diào)用模塊,用于在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用安全算法庫和/或文件系統(tǒng)。
[0016]本發(fā)明的另一方面提供了一種包括上述安全裝置的身份證讀卡終端。
[0017]由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明提供了一種安全控制方法、安全裝置及身份證讀卡終端,安全裝置接收每一條指令之后,會預(yù)先判斷當(dāng)前的安全狀態(tài)是否滿足指令的執(zhí)行要求,只有在安全狀態(tài)滿足指令的執(zhí)行要求時,才允許指令執(zhí)行,保證指令在安全環(huán)境中才能執(zhí)行。
【附圖說明】
[0018]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。
[0019]圖1為本發(fā)明實施例1提供的安全裝置的結(jié)構(gòu)示意圖;
[0020]圖2為本發(fā)明實施例2提供的身份證讀卡終端的結(jié)構(gòu)示意圖;
[0021 ]圖3為本發(fā)明實施例3提供的安全控制方法的流程圖;
[0022]圖4為本發(fā)明實施例4提供的身份證讀取方法的流程圖。
【具體實施方式】
[0023]下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。
[0024]在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或數(shù)量或位置。
[0025]在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
[0026]下面將結(jié)合附圖對本發(fā)明實施例作進一步地詳細(xì)描述。
[0027]實施例1
[0028]本實施例提供了一種安全裝置,如圖1所示,該安全裝置包括:認(rèn)證模塊10、指令判斷模塊11、調(diào)用模塊12和底層驅(qū)動模塊13。
[0029]在本實施例中,各個模塊的工作原理描述如下。
[0030]認(rèn)證模塊10,用于接收至少一個安全認(rèn)證信息,對每一個安全認(rèn)證信息進行認(rèn)證,如果認(rèn)證通過,將認(rèn)證通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果認(rèn)證不通過,將認(rèn)證不通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀態(tài),將安全狀態(tài)進行存儲;指令判斷模塊11,用于接收指令,根據(jù)指令查找存儲的與指令相對應(yīng)的安全狀態(tài),判斷安全狀態(tài)是否為認(rèn)證通過狀態(tài);調(diào)用模塊12,用于在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊13,接收底層驅(qū)動模塊13響應(yīng)認(rèn)證模塊的調(diào)用生成的響應(yīng)結(jié)果。
[0031]本實施例提供的安全裝置在接收每一條指令后,都會判斷當(dāng)前的安全狀態(tài)是否滿足指令的執(zhí)行要求,只有安全狀態(tài)滿足指令的執(zhí)行要求才執(zhí)行相應(yīng)指令,保證了安全裝置的使用安全。
[0032]在本實施例中,安全狀態(tài)可以用二進制字符串表示,二進制字符串中的每個比特代表一個安全認(rèn)證信息的安全狀態(tài),可以用比特I代表安全認(rèn)證信息認(rèn)證通過、比特O代表安全認(rèn)證信息認(rèn)證不通過。認(rèn)證模塊10接收安全認(rèn)證信息后,如果認(rèn)證通過,可以將安全認(rèn)證信息對應(yīng)的比特位置為1,如果認(rèn)證不通過,可以將安全認(rèn)證信息對應(yīng)的比特位置為O。指令判斷模塊11接收指令后,查找存儲的與接收的指令相對應(yīng)的二進制字符串,查找到相應(yīng)的二進制字符串后,判斷二進制字符串中表示指令執(zhí)行需要的安全狀態(tài)的比特位是否為I,如果為I,調(diào)用模塊12調(diào)用底層驅(qū)動模塊13,如果為O,拒絕調(diào)用模塊12調(diào)用底層驅(qū)動模塊
13。當(dāng)然,在本實施例中,也可以用比特O代表安全認(rèn)證信息認(rèn)證通過、比特I代表安全認(rèn)證信息認(rèn)證不通過,在本實施例中不作具體限制
[0033]在本實施例中,指令判斷模塊11接收的指令可以為讀卡指令、密鑰更新指令等,在本實施例中不作具體限制。
[0034]作為本發(fā)明實施例的一個可選實施方式,指令判斷模塊11,還用于分析是否有相應(yīng)的指令或指令接口,如果存在相應(yīng)的指令或指令接口,觸發(fā)根據(jù)指令查找存儲的與指令相對應(yīng)的安全狀態(tài)的步驟。在具體實施過程中,指令判斷模塊11可以用于接收指令后,分析是否有相應(yīng)的指令或指令接口,如果存在相應(yīng)的指令或指令接口,則指令判斷模塊11判斷接收的指令為合法指令,查找存儲的與接收的指令相對應(yīng)的安全狀態(tài);如果不存在相應(yīng)的指令或指令接口,則指令判斷模塊11判斷接收的指令為非法指令,指令判斷模塊11拒絕查找與指令相對應(yīng)的安全狀態(tài)。
[0035]作為本發(fā)明實施例的一個可選實施方式,安全認(rèn)證信息可以為PIN碼或生物特征信息或根據(jù)認(rèn)證密鑰獲得的信息。
[0036]在本實施例中,PIN碼可以為開機密碼、登錄密碼等,在本實施例中不作具體限制。在具體實施過程中,生物特征信息可以為指紋信息、人臉信息、聲紋信息、虹膜信息等能夠表示個體唯一性的信息。
[0037]在一個可選實施方式中,可以按照以下方式獲得根據(jù)認(rèn)證密鑰獲得的信息的過程:認(rèn)證模塊10調(diào)用底層驅(qū)動模塊13使用認(rèn)證密鑰對外部設(shè)備發(fā)送的一個隨機數(shù)進行計算,將計算結(jié)果返回外部設(shè)備,外部設(shè)備使用相應(yīng)的認(rèn)證密鑰對同一隨機數(shù)進行計算,比較兩次計算的結(jié)果是否相同,并將比較結(jié)果返回給認(rèn)證模塊10,返回的比較結(jié)果即為根據(jù)認(rèn)證密鑰獲得的信息。認(rèn)證模塊10根據(jù)返回的比較結(jié)果,能夠判斷安全裝置是否存儲了與外部設(shè)備相同的認(rèn)證密鑰,如果兩次計算結(jié)果相同,表示根據(jù)認(rèn)證密鑰獲得的信息認(rèn)證通過,將對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果兩次計算結(jié)果不相同,表示根據(jù)認(rèn)證密鑰獲得的信息認(rèn)證未通過,將對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀態(tài)。
[0038]在一個可選實施方式中,也可以按照以下方式獲得根據(jù)認(rèn)證密鑰獲得的信息:夕卜部設(shè)備對其自身產(chǎn)生的隨機數(shù)進行加密得到加密數(shù)據(jù),使用認(rèn)證密鑰對得到的加密數(shù)據(jù)進行簽名得到簽名值,并將加密數(shù)據(jù)和簽名值一起發(fā)送至安全裝置的認(rèn)證模塊10。認(rèn)證模塊10接收加密數(shù)據(jù)和簽名值后,調(diào)用底層驅(qū)動模塊13使用認(rèn)證密鑰對簽名值進行驗簽,驗簽結(jié)果即為根據(jù)認(rèn)證密鑰獲得的信息。認(rèn)證模塊10根據(jù)驗簽結(jié)果,能夠?qū)ν獠吭O(shè)備的身份進行認(rèn)證并判斷安全裝置是否存儲了與外部設(shè)備相同的認(rèn)證密鑰。如果驗簽通過,表示外部設(shè)備身份合法且根據(jù)認(rèn)證密鑰獲得的信息認(rèn)證通過,將對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果驗簽不通過,表示外部設(shè)備身份非法且根據(jù)認(rèn)證密鑰獲得的信息認(rèn)證未通過,將對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀態(tài)。
[0039]在本實施例中,底層驅(qū)動模塊13使用認(rèn)證密鑰對簽名值進行驗簽的【具體實施方式】為:底層驅(qū)動模塊13使用認(rèn)證密鑰對接收到的簽名值進行解密,得到摘要,并利用HASH算法對接收到的加密數(shù)據(jù)進行計算得到加密數(shù)據(jù)的摘要,并比較解密得到的摘要與計算得到的加密數(shù)據(jù)的摘要是否相同,如果相同,則對簽名值的驗簽通過,如果不相同,則對簽名值的驗簽不通過。
[0040]將PIN碼或生物特征信息作為安全認(rèn)證信息,通過對安全裝置的使用者身份進行校驗,防止安全裝置被他人盜用,保證了安全裝置的安全。將根據(jù)認(rèn)證密鑰獲得的信息作為安全認(rèn)證信息,能夠?qū)Πl(fā)起密鑰更新的外部設(shè)備的身份進行認(rèn)證并判斷安全裝置是否存儲了相應(yīng)的認(rèn)證密鑰,保證了安全裝置在密鑰更新過程中的安全。
[0041]作為本發(fā)明實施例的一個可選實施方式,底層驅(qū)動模塊13,包括:安全算法庫131和/或文件系統(tǒng)132;調(diào)用模塊12,用于在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊13,包括:調(diào)用模塊12,用于在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用安全算法庫131和/或文件系統(tǒng)132。
[0042]在本實施例中,底層驅(qū)動模塊13可以提供API接口供調(diào)用模塊12調(diào)用。在具體實施過程中,安全算法庫131可以對下層硬件平臺提供的加密、簽名等安全算法對應(yīng)的算法模塊進行封裝,生成每一個安全算法需要的API接口。調(diào)用模塊12可以通過調(diào)用安全算法庫131生成的API接口實現(xiàn)對安全算法庫131的調(diào)用。安全算法庫131生成的API接口可以供調(diào)用模塊12調(diào)用。
[0043]在本實施例中,文件系統(tǒng)132可以用于管理文件的生成、保存、查詢、修改和刪除等。文件系統(tǒng)132中可以定義基本的文件結(jié)構(gòu)和存儲方式,并提供接口供調(diào)用模塊12進行調(diào)用。文件系統(tǒng)132中供調(diào)用模塊12調(diào)用的接口也可以為API接口。文件系統(tǒng)132定義的基本的文件可以為二進制文件、定長文件、變長文件、循環(huán)文件等,在本實施例中不作具體限制。文件系統(tǒng)132還可以用于提供對文件的操作方式,對文件的操作方式包括讀文件、寫文件等,在本實施例中不作具體限制。
[0044]安全算法庫使得安全裝置能夠?qū)崿F(xiàn)安全算法計算,文件系統(tǒng)使得安全裝置對文件實現(xiàn)安全管理。
[0045]實施例2
[0046]本實施例提供了一種身份證讀卡終端,如圖2所示,該身份證讀卡終端包括實施例1中的安全裝置。本實施例提供的身份證讀卡終端在接收每一條指令后,都會判斷當(dāng)前的安全狀態(tài)是否滿足指令的執(zhí)行要求,只有安全狀態(tài)滿足指令的執(zhí)行要求才執(zhí)行相應(yīng)指令,保證了讀卡的安全。
[0047]需要說明的是,本實施例提供的身份證讀卡終端并不設(shè)置有驗證安全控制模塊,而是在云認(rèn)證平臺中設(shè)置可以對從身份證讀取的密文數(shù)據(jù)實現(xiàn)解密的模塊,任何用戶均可通過有線或無線網(wǎng)絡(luò)接入到云認(rèn)證平臺以實現(xiàn)對身份證的讀取。
[0048]在本實施例中,身份證讀卡終端還可以包含通訊模塊24,通訊模塊24至少包括兩個接口:讀卡接口241和通信接口242。讀卡接口241用于與身份證進行通訊,可以為14443接口,也可以為其他非接觸接口,在本實施例中不作限定。通信接口 242用于與云認(rèn)證平臺進行通信。如果通信接口 242可直接通過有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)與云認(rèn)證平臺通信,則此時通信接口可以為無線網(wǎng)絡(luò)接口(例如=WIFI接口)或有線網(wǎng)絡(luò)接口;如果通信接口242與上位機連接,利用上位機(例如手機、PAD(平板電腦)或PC等)通過有線網(wǎng)絡(luò)或者無線網(wǎng)絡(luò)與云認(rèn)證平臺通信,則此時的通信接口 242可以為USB接口或藍牙接口等能夠與上位機進行通信的接口,在本實施例中不作限定。
[0049]在本實施例中,底層驅(qū)動模塊13還可以包含通訊協(xié)議庫133,通訊協(xié)議庫133中包含身份證讀卡終端所需的通訊協(xié)議,通訊協(xié)議庫133中至少包含兩類通訊協(xié)議:讀卡接口241對應(yīng)的通訊協(xié)議以及通信接口 242對應(yīng)的通訊協(xié)議。讀卡接口 241對應(yīng)的通訊協(xié)議可以為14443通訊協(xié)議,也可以為其他非接觸接口對應(yīng)的通訊協(xié)議,在本實施例中不作限定。如果通信接口 242可直接通過有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)與云認(rèn)證平臺通信,則此時通信接口 242對應(yīng)的通訊協(xié)議為無線網(wǎng)絡(luò)接口通訊協(xié)議(例如:WIFI協(xié)議)或有線網(wǎng)絡(luò)協(xié)議;如果通信接口242與上位機連接,利用上位機(例如手機、PAD(平板電腦)或PC等)通過有線網(wǎng)絡(luò)或者無線網(wǎng)絡(luò)與云認(rèn)證平臺通信,則此時通信接口 242對應(yīng)的通訊協(xié)議可以為USB協(xié)議或藍牙協(xié)議,在本實施例中不作限定。
[0050]在具體實施過程中,通訊模塊24中的讀卡接口241接收到身份證發(fā)送的載波信號后,首先通過通訊協(xié)議庫133將接收的載波信號轉(zhuǎn)換為數(shù)字指令,并將數(shù)字指令發(fā)送到指令判斷模塊11中進行處理。通訊模塊24的讀卡接口 241接收到指令判斷模塊11返回的數(shù)字指令后,將接收的數(shù)字指令轉(zhuǎn)換為載波信號,并將載波信號發(fā)送至身份證。
[0051 ] 實施例3
[0052]本實施例提供了一種安全控制方法,該安全控制方法應(yīng)用于實施例1中的安全裝置。
[0053]圖3為本實施例提供的安全控制方法的流程圖,該方法主要包括以下步驟(S301?
S304):
[0054]S301:接收至少一個安全認(rèn)證信息,對每一個安全認(rèn)證信息進行認(rèn)證,如果認(rèn)證通過,將認(rèn)證通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果認(rèn)證不通過,將認(rèn)證不通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀態(tài),將安全狀態(tài)進行存儲;
[0055]在本實施例中,安全狀態(tài)可以用二進制字符串表示,二進制字符串中的每個比特代表一個安全認(rèn)證信息的安全狀態(tài),可以用比特I代表安全認(rèn)證信息認(rèn)證通過、比特O代表安全認(rèn)證信息認(rèn)證不通過,也可以用比特O代表安全認(rèn)證信息認(rèn)證通過、比特I代表安全認(rèn)證信息認(rèn)證不通過,在本實施例中不作具體限制。接收安全認(rèn)證信息后,如果認(rèn)證通過,可以將安全認(rèn)證信息對應(yīng)的比特位置為I,如果認(rèn)證不通過,可以將安全認(rèn)證信息對應(yīng)的比特位置為O。
[0056]作為本發(fā)明實施例的一個可選實施方式,安全認(rèn)證信息可以為PIN碼或生物特征信息或根據(jù)認(rèn)證密鑰獲得的信息。
[0057]在本實施例中,PIN碼可以為開機密碼、登錄密碼等,在本實施例中不作具體限制。在具體實施過程中,生物特征信息可以為指紋信息、人臉信息、聲紋信息、虹膜信息等能夠表示個體唯一性的信息。
[0058]在一個可選實施方式中,可以按照以下方式獲得根據(jù)認(rèn)證密鑰獲得的信息:調(diào)用底層驅(qū)動模塊使用認(rèn)證密鑰對外部設(shè)備發(fā)送的一個隨機數(shù)進行計算,將計算結(jié)果返回外部設(shè)備,外部設(shè)備使用相應(yīng)的認(rèn)證密鑰對同一隨機數(shù)進行計算,比較兩次計算的結(jié)果是否相同,并將比較結(jié)果返回,返回的比較結(jié)果即為根據(jù)認(rèn)證密鑰獲得的信息。安全裝置根據(jù)返回的比較結(jié)果,能夠判斷是否存儲了與外部設(shè)備相同的認(rèn)證密鑰,如果兩次計算結(jié)果相同,則將安全狀態(tài)置為認(rèn)證通過狀態(tài),如果兩次計算結(jié)果不相同,則將安全狀態(tài)置為認(rèn)證未通過狀態(tài)。表示根據(jù)認(rèn)證密鑰獲得的信息認(rèn)證通過,將對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果兩次計算結(jié)果不相同,表示根據(jù)認(rèn)證密鑰獲得的信息認(rèn)證未通過,將對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀態(tài)。
[0059]在一個可選實施方式中,也可以按照以下方式獲得根據(jù)認(rèn)證密鑰獲得的信息:夕卜部設(shè)備對其自身產(chǎn)生的隨機數(shù)進行加密得到加密數(shù)據(jù),使用認(rèn)證密鑰對得到的加密數(shù)據(jù)進行簽名得到簽名值,并將加密數(shù)據(jù)和簽名值一起發(fā)送至安全裝置。安全裝置接收加密數(shù)據(jù)和簽名值后,調(diào)用底層驅(qū)動模塊使用認(rèn)證密鑰對簽名值進行驗簽,驗簽結(jié)果即為根據(jù)認(rèn)證密鑰獲得的信息。根據(jù)驗簽結(jié)果,能夠?qū)ν獠吭O(shè)備的身份進行認(rèn)證并判斷安全裝置是否存儲了與外部設(shè)備相同的認(rèn)證密鑰。如果驗簽通過,表示外部設(shè)備身份合法且根據(jù)認(rèn)證密鑰獲得的信息認(rèn)證通過,將對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果驗簽不通過,表示外部設(shè)備身份非法且根據(jù)認(rèn)證密鑰獲得的信息認(rèn)證未通過,將對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀
??τ O
[0060]在本實施例中,底層驅(qū)動模塊使用認(rèn)證密鑰對簽名值進行驗簽的【具體實施方式】為:底層驅(qū)動模塊使用認(rèn)證密鑰對接收到的簽名值進行解密,得到摘要,并利用HASH算法對接收到的加密數(shù)據(jù)進行計算得到加密數(shù)據(jù)的摘要,并比較解密得到的摘要與計算得到的加密數(shù)據(jù)的摘要是否相同,如果相同,則對簽名值的驗簽通過,如果不相同,則對簽名值的驗簽不通過。
[0061]將PIN碼或生物特征信息作為安全認(rèn)證信息,對使用者身份進行校驗,防止盜用。將根據(jù)認(rèn)證密鑰獲得的信息作為安全認(rèn)證信息,能夠?qū)Πl(fā)起密鑰更新的外部設(shè)備的身份進行認(rèn)證并判斷安全裝置是否存儲了相應(yīng)的認(rèn)證密鑰,保證了安全裝置在密鑰更新過程中的安全。
[0062]S302:接收指令,根據(jù)指令查找存儲的與指令相對應(yīng)的安全狀態(tài),判斷安全狀態(tài)是否為認(rèn)證通過狀態(tài);
[0063]在本實施例中,接收的指令可以為讀卡指令、密鑰更新指令等,在本實施例中不作具體限制。
[0064]作為本發(fā)明實施例的一個可選實施方式,在接收指令之后,安全控制方法還包括:分析是否有相應(yīng)的指令或指令接口,如果存在相應(yīng)的指令或指令接口,觸發(fā)根據(jù)指令查找存儲的與指令相對應(yīng)的安全狀態(tài)的步驟。在具體實施過程中,接收指令后,先分析是否有相應(yīng)的指令或指令接口,如果存在相應(yīng)的指令或指令接口,則判斷接收的指令為合法指令,根據(jù)指令查找存儲的與指令相對應(yīng)的安全狀態(tài),如果不存在相應(yīng)的指令或指令接口,則判斷接收的指令為非法指令,拒絕查找安全狀態(tài)。
[0065]在本實施例中,安全狀態(tài)可以用二進制字符串表示,接收指令后,查找存儲的與接收的指令相對應(yīng)的二進制字符串,查找到相應(yīng)的二進制字符串后,判斷二進制字符串中表示指令執(zhí)行需要的安全狀態(tài)的比特位是否為I,如果二進制字符串中表示指令執(zhí)行需要的安全狀態(tài)的比特位為I,調(diào)用底層驅(qū)動模塊,如果為0,拒絕調(diào)用底層驅(qū)動模塊。
[0066]S303:在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊;
[0067]S304:接收底層驅(qū)動模塊響應(yīng)調(diào)用生成的響應(yīng)結(jié)果。
[0068]作為本發(fā)明實施例的一個可選實施方式,底層驅(qū)動模塊,包括:安全算法庫和/或文件系統(tǒng);在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊,包括:在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用安全算法庫和/或文件系統(tǒng)。
[0069]在本實施例中,底層驅(qū)動模塊可以提供API接口供調(diào)用。在具體實施過程中,安全算法庫可以對下層硬件平臺提供的加密、簽名等安全算法對應(yīng)的算法模塊進行封裝,生成每一個安全算法需要的API接口。通過調(diào)用安全算法庫生成的API接口可以實現(xiàn)對安全算法庫的調(diào)用。
[0070]在本實施例中,文件系統(tǒng)管理文件的生成、保存、查詢、修改和刪除等。此外,文件系統(tǒng)中可以定義基本的文件結(jié)構(gòu)和存儲方式,并提供接口供調(diào)用,供調(diào)用的接口可以為API接口。文件系統(tǒng)定義的文件可以為二進制文件、定長文件、變長文件、循環(huán)文件等,在本實施例中不作具體限制。文件系統(tǒng)還可以用于提供對文件的操作方式,對文件的操作方式包括讀文件、寫文件等,在本實施例中不作具體限制。
[0071]本實施例提供的安全算法庫能夠?qū)崿F(xiàn)安全算法計算,文件系統(tǒng)能夠?qū)ξ募崿F(xiàn)安全管理。
[0072]通過本實施例提供的安全控制方法,接收每一條指令后,都會判斷當(dāng)前的安全狀態(tài)是否滿足指令的執(zhí)行要求,只有安全狀態(tài)滿足指令的執(zhí)行要求才執(zhí)行相應(yīng)指令,保證了指令的執(zhí)行安全。
[0073]實施例4
[0074]本實施例提供了一種身份證讀取方法,該身份證讀取方法應(yīng)用于實施例2中的身份證讀卡終端。
[0075]圖4為本實施例提供的讀卡方法的流程圖,該方法主要包括以下步驟(S401?S404):
[0076]S401:接收至少一個PIN碼,對每一個PIN碼進行認(rèn)證,如果認(rèn)證通過,將認(rèn)證通過的PIN碼對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果認(rèn)證不通過,將認(rèn)證不通過的PIN碼對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀態(tài),將安全狀態(tài)進行存儲;
[0077]在本實施例中,PIN碼對應(yīng)的安全狀態(tài)可以用二進制字符串表示,二進制字符串中的每個比特代表一個索引的PIN碼的安全狀態(tài)。在具體實施過程中,可以用一個8位的二進制字符串表示PIN碼的安全狀態(tài),接收一個PIN碼后,如果認(rèn)證通過,可以將該PIN碼對應(yīng)的比特位置為I,如果認(rèn)證不通過,可以將該PIN碼對應(yīng)的比特位置為O。例如,可以以00000001表示第一 PIN碼認(rèn)證通過、以00000010表示第二 PIN碼認(rèn)證通過、以00000100表示第三PIN碼認(rèn)證通過,也可以以00010000表示第一 PIN碼認(rèn)證通過、以00100000表示第二 PIN碼認(rèn)證通過、以01000000表示第三PIN碼認(rèn)證通過,也可以以其他方式表示,在本實施例中不作限制。
[0078]S402:接收身份證讀取指令,根據(jù)身份證讀取指令查找存儲的與身份證讀取指令相對應(yīng)的PIN碼的安全狀態(tài),判斷安全狀態(tài)是否為認(rèn)證通過狀態(tài);
[0079]在本實施例中,接收身份證讀取指令后,可以分析是否有相應(yīng)的身份證讀取指令或身份證讀取指令接口,如果存在相應(yīng)的身份證讀取指令或身份證讀取指令接口,則判斷接收的身份證讀取指令為合法的身份證讀取指令,根據(jù)合法的身份證讀取指令查找與身份證讀取指令相對應(yīng)的PIN碼安全狀態(tài),如果不存在相應(yīng)的身份證讀取指令或身份證讀取指令接口,則判斷接收的身份證讀取指令為非法的身份證讀取指令,拒絕查找PIN碼的安全狀
??τ O
[0080]在本實施例中,與身份證讀取指令相對應(yīng)的安全狀態(tài)可以為一個或多個PIN碼的安全狀態(tài),在具體實施過程中,與身份證讀取指令相對應(yīng)的安全狀態(tài)可以為表示第一PIN碼的安全狀態(tài)的二進制字符串,也可以為表示第二PIN碼的安全狀態(tài)的二進制字符串,也可以為表示第一PIN碼的安全狀態(tài)和第二PIN碼的安全狀態(tài)的二進制字符串,在本實施例中不作限制。查找到表示PIN碼的安全狀態(tài)的二進制字符串后,判斷二進制字符串中滿足身份證讀取指令執(zhí)行需要的一個或多個PIN碼的安全狀態(tài)的比特位是否為I。
[0081 ] S403:在安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊;
[0082]在本實施例中,在二進制字符串中滿足身份證讀取指令執(zhí)行需要的一個或多個PIN碼的安全狀態(tài)的比特位均為I時,調(diào)用底層驅(qū)動模塊,如果為0,拒絕調(diào)用底層驅(qū)動模塊。
[0083]在本實施例中,底層驅(qū)動模塊可以包括通訊協(xié)議庫。身份證讀取指令通過安全校驗后,調(diào)用通訊協(xié)議庫,進行身份證信息讀取。
[0084]S404:接收底層驅(qū)動模塊響應(yīng)調(diào)用生成的響應(yīng)結(jié)果。
[0085]在本實施例中,底層驅(qū)動模塊還可以包括文件系統(tǒng)和安全算法庫。在讀取身份證信息后,從底層驅(qū)動模塊的文件系統(tǒng)調(diào)取密鑰,通過安全算法庫進行加密運算得到密文、進行簽名運算得到簽名值,將密文和簽名值返回。
[0086]通過本實施例提供的身份證讀取方法,在接收身份證讀取指令后,首先判斷執(zhí)行身份證讀取指令需要的PIN碼的安全狀態(tài)是否為認(rèn)證通過,只有PIN碼的安全狀態(tài)為認(rèn)證通過時才執(zhí)行身份證讀取指令,保證了身份證讀取過程的安全。
[0087]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
[0088]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
[0089]本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
[0090]此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。
[0091]上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0092]在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。
[0093]盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
【主權(quán)項】
1.一種安全控制方法,其特征在于,所述方法包括: 接收至少一個安全認(rèn)證信息,對所述每一個安全認(rèn)證信息進行認(rèn)證,如果認(rèn)證通過,將認(rèn)證通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果認(rèn)證不通過,將認(rèn)證不通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀態(tài),將所述安全狀態(tài)進行存儲;接收指令,根據(jù)所述指令查找存儲的與所述指令相對應(yīng)的安全狀態(tài),判斷所述安全狀態(tài)是否為認(rèn)證通過狀態(tài); 在所述安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊; 接收所述底層驅(qū)動模塊響應(yīng)調(diào)用生成的響應(yīng)結(jié)果。2.根據(jù)權(quán)利要求1所述的安全控制方法,其特征在于,在接收指令之后,所述方法還包括: 分析是否有相應(yīng)的指令或指令接口,如果存在相應(yīng)的所述指令或所述指令接口,觸發(fā)所述根據(jù)所述指令查找存儲的與所述指令相對應(yīng)的安全狀態(tài)的步驟。3.根據(jù)權(quán)利要求1或2所述的安全控制方法,其特征在于,所述安全認(rèn)證信息為PIN碼或生物特征信息或根據(jù)認(rèn)證密鑰獲得的信息。4.根據(jù)權(quán)利要求1-3任一項所述的安全控制方法,其特征在于,所述底層驅(qū)動模塊,包括:安全算法庫和/或文件系統(tǒng); 在所述安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊,包括: 在所述安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用所述安全算法庫和/或所述文件系統(tǒng)。5.—種安全裝置,其特征在于,包括:認(rèn)證模塊、指令判斷模塊、調(diào)用模塊和底層驅(qū)動模塊; 所述認(rèn)證模塊,用于接收至少一個安全認(rèn)證信息,對所述每一個安全認(rèn)證信息進行認(rèn)證,如果認(rèn)證通過,將認(rèn)證通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證通過狀態(tài),如果認(rèn)證不通過,將認(rèn)證不通過的安全認(rèn)證信息對應(yīng)的安全狀態(tài)置為認(rèn)證未通過狀態(tài),將所述安全狀態(tài)進行存儲; 所述指令判斷模塊,用于接收指令,根據(jù)所述指令查找存儲的與所述指令相對應(yīng)的安全狀態(tài),判斷所述安全狀態(tài)是否為認(rèn)證通過狀態(tài); 所述調(diào)用模塊,用于在所述安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊,接收所述底層驅(qū)動模塊響應(yīng)所述認(rèn)證模塊的調(diào)用生成的響應(yīng)結(jié)果。6.根據(jù)權(quán)利要求5所述的安全裝置,其特征在于, 所述指令判斷模塊,還用于分析是否有相應(yīng)的指令或指令接口,如果存在相應(yīng)的所述指令或所述指令接口,觸發(fā)所述根據(jù)所述指令查找存儲的與所述指令相對應(yīng)的安全狀態(tài)的步驟。7.根據(jù)權(quán)利要求5或6所述的安全裝置,其特征在于,所述安全認(rèn)證信息為PIN碼或生物特征信息或根據(jù)認(rèn)證密鑰獲得的信息。8.根據(jù)權(quán)利要求5-7任一項所述的安全裝置,其特征在于,所述底層驅(qū)動模塊,包括:安全算法庫和/或文件系統(tǒng); 所述調(diào)用模塊,用于在所述安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用底層驅(qū)動模塊,包括:所述調(diào)用模塊,用于在所述安全狀態(tài)為認(rèn)證通過狀態(tài)時,調(diào)用所述安全算法庫和/或所述文件系統(tǒng)。9.一種身份證讀卡終端,其特征在于,包括權(quán)利要求5至8任一項所述的安全裝置。
【文檔編號】G06F21/46GK106022033SQ201610041106
【公開日】2016年10月12日
【申請日】2016年1月21日
【發(fā)明人】李明
【申請人】李明