本發(fā)明涉及通信領(lǐng)域,尤其涉及一種核驗(yàn)身份信息的方法、裝置及系統(tǒng)。
背景技術(shù):
居民身份證上的信息是非常重要的,無論是工作、日常生活都需要身份證來辦理所需的卡、券、證等。而如何證明該身份證號(hào)與該人員是對(duì)應(yīng)的,就成為一個(gè)重要的問題。如果通過網(wǎng)絡(luò)傳輸該個(gè)人信息,會(huì)導(dǎo)致數(shù)據(jù)被人截取,從而個(gè)人信息被泄露。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的。
本發(fā)明提出了一種核驗(yàn)身份信息的方法,其包括:
步驟101、獲取身份信息,所述身份信息包括第一數(shù)字信息和第一文字信息,其中所述數(shù)字信息指身份證號(hào),所述文字信息包括姓名、地址或辦證機(jī)關(guān)的至少一個(gè);
步驟103、將所述身份信息數(shù)值化;
步驟105、傳遞所述數(shù)值化身份信息。
其中,所述步驟103具體包括:
將獲取的所述身份信息使用單向散列算法轉(zhuǎn)換為對(duì)應(yīng)的散列值。
本發(fā)明還提出了另一種核驗(yàn)身份信息的方法,其包括:
步驟201、接收數(shù)值化的身份信息;
步驟203、核驗(yàn)接收的數(shù)值化的身份信息是否與存儲(chǔ)的信息一致。
其中,所述步驟201之前還包括建立數(shù)據(jù)字典。
其中,所述建立數(shù)據(jù)字典具體包括:
步驟A、窮舉所述第一數(shù)字信息中地區(qū)編號(hào)的所有可能組合;
步驟B、窮舉所述第一數(shù)字信息中當(dāng)前日期前后100年的所有日期;
步驟C、窮舉所述第一數(shù)字信息中的三位計(jì)數(shù)值;
步驟D、將步驟A、B、C中的數(shù)值按所述第一數(shù)字信息中的編碼規(guī)則全組合,并加上所述第一數(shù)字信息中的驗(yàn)證碼,生成可能的數(shù)字信息;
步驟E、計(jì)算上述生成的數(shù)字信息的散列值,并存儲(chǔ);
步驟F、以上述散列值為索引,建立所述第一數(shù)字信息的索引文件。
其中,所述步驟203具體包括:
步驟2031、從所述數(shù)據(jù)字典中查找收到的第一數(shù)字信息的散列值是否有對(duì)應(yīng)的第二數(shù)字信息,并根據(jù)所述第二數(shù)字信息,查找對(duì)應(yīng)的第二文字信息,并計(jì)算所述第二文字信息的散列值;
步驟2033、如果接收的第一數(shù)字信息的散列值對(duì)應(yīng)的文字信息散列值與計(jì)算的第二文字信息的散列值一致,則返回所述身份信息為真,否則返回所述身份信息為假。
本發(fā)明還提出了一種基于上述核驗(yàn)身份信息的方法的裝置,其包括:
獲取模塊,其用于獲取身份信息,所述身份信息包括第一數(shù)字信息和第一文字信息,其中所述數(shù)字信息指身份證號(hào),所述文字信息包括姓名、地址或辦證機(jī)關(guān)的至少一個(gè);
數(shù)值化模塊,其用于將所述身份信息數(shù)值化;
傳遞模塊,其用于傳遞數(shù)值化的身份信息。
本發(fā)明還提出了一種基于上述另一種核驗(yàn)身份信息的方法的裝置,其包括:
接收模塊,其用于接收數(shù)值化的身份信息;
核驗(yàn)?zāi)K,其用于核驗(yàn)接收的數(shù)值化的身份信息是否與存儲(chǔ)的信息一致。
本發(fā)明還提出了一種核驗(yàn)身份信息的系統(tǒng),其包括:
上述核驗(yàn)身份信息的裝置;
上述另一種核驗(yàn)身份信息的裝置;
控制中心,其用于控制上述裝置之間進(jìn)行信令交互。
通過本發(fā)明可以在雙方都不泄露已知的信息的情況下,驗(yàn)證其身份信息是否正確,并且可以隱蔽傳遞身份信息,防止被人竊取。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
附圖1示出了根據(jù)本發(fā)明某一實(shí)施方式的一種核驗(yàn)身份信息的方法;
附圖2示出了根據(jù)本發(fā)明另一實(shí)施方式的一種核驗(yàn)身份信息的方法;
附圖3示出了根據(jù)本發(fā)明某一實(shí)施方式的一種核驗(yàn)身份信息的裝置;
附圖4示出了根據(jù)本發(fā)明另一實(shí)施方式的一種核驗(yàn)身份信息的裝置;
附圖5示出了根據(jù)本發(fā)明一實(shí)施方式的一種核驗(yàn)身份信息的系統(tǒng)。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施方式。雖然附圖中顯示了本公開的示例性實(shí)施方式,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施方式所限制。相反,提供這些實(shí)施方式是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
本發(fā)明提出了一種核驗(yàn)身份信息的方法,其包括:
步驟101、獲取身份信息,所述身份信息包括第一數(shù)字信息和第一文字信息,其中所述數(shù)字信息指身份證號(hào),所述文字信息包括姓名、地址或辦證機(jī)關(guān)的至少一個(gè);
步驟103、將所述身份信息數(shù)值化;
步驟105、傳遞所述數(shù)值化身份信息。
以上數(shù)值化操作實(shí)際上是將信息轉(zhuǎn)變?yōu)橛?jì)算機(jī)可讀代碼。通常數(shù)字可以直接轉(zhuǎn)換為二進(jìn)制的數(shù)值。而對(duì)于文字部分,先轉(zhuǎn)換為ASCII碼,然后將相應(yīng)的ASCII碼轉(zhuǎn)換為對(duì)應(yīng)的二進(jìn)制數(shù)值,從而到達(dá)對(duì)上述信息進(jìn)行數(shù)值化的操作。
其中,所述步驟103具體包括:
將獲取的所述身份信息使用單向散列算法轉(zhuǎn)換為對(duì)應(yīng)的散列值。
單向散列算法,又稱hash函數(shù),Hash函數(shù)(也稱雜湊函數(shù)或雜湊算法)就是把任意長(zhǎng)的輸入消息串變化成固定長(zhǎng)的輸出串的一種函數(shù)。這個(gè)輸出串稱為該消息的雜湊值。一般用于產(chǎn)生消息摘要,密鑰加密等。
單向散列函數(shù)(也稱雜湊函數(shù)、Hash函數(shù))指的是根據(jù)輸入消息計(jì)算后,輸出固定長(zhǎng)度數(shù)值的算法,輸出數(shù)值也稱為“散列值”或“消息摘要”,其長(zhǎng)度通常在128~256位之間。
一個(gè)安全的雜湊函數(shù)應(yīng)該至少滿足以下幾個(gè)條件:
①輸入長(zhǎng)度是任意的;
②輸出長(zhǎng)度是固定的,根據(jù)目前的計(jì)算技術(shù)應(yīng)至少取128bits長(zhǎng),以便抵抗生日攻擊;
③對(duì)每一個(gè)給定的輸入,計(jì)算輸出即雜湊值是很容易的;
④給定雜湊函數(shù)的描述,找到兩個(gè)不同的輸入消息雜湊到同一個(gè)值是計(jì)算上不可行的,或給定雜湊函數(shù)的描述和一個(gè)隨機(jī)選擇的消息,找到另一個(gè)與該消息不同的消息使得它們雜湊到同一個(gè)值是計(jì)算上不可行的。
單向散列函數(shù)的安全性是由于它的單向性,其輸出不依賴于輸入。平均而言,預(yù)映射值單個(gè)位的改變,將引起散列值中一半位的改變。已知一個(gè)散列值,要找到預(yù)映射的值,使它的散列值等于已知的散列值在計(jì)算上是不可行的。單向散列函數(shù)的安全性使它能用于完整性校驗(yàn)和提高數(shù)字簽名的有效性。
本發(fā)明還提出了另一種核驗(yàn)身份信息的方法,其包括:
步驟201、接收數(shù)值化的身份信息;
步驟203、核驗(yàn)接收的數(shù)值化的身份信息是否與存儲(chǔ)的信息一致。
其中,所述步驟201之前還包括建立數(shù)據(jù)字典。
其中,所述建立數(shù)據(jù)字典具體包括:
步驟A、窮舉所述第一數(shù)字信息中地區(qū)編號(hào)的所有可能組合;
步驟B、窮舉所述第一數(shù)字信息中當(dāng)前日期前后100年的所有日期;
步驟C、窮舉所述第一數(shù)字信息中的三位計(jì)數(shù)值。
根據(jù)身份證號(hào)的特點(diǎn),上述地區(qū)編號(hào)、日期和三位計(jì)數(shù)值共17位,而身份證的最后一位為校驗(yàn)位,則不需要單獨(dú)將其作為本算法的核驗(yàn)的數(shù)據(jù)。
步驟D、將步驟A、B、C中的數(shù)值按所述第一數(shù)字信息中的編碼規(guī)則全組合,并加上所述第一數(shù)字信息中的驗(yàn)證碼,生成可能的數(shù)字信息。
上述編碼規(guī)則指的是身份證號(hào)以地區(qū)編號(hào)、日期和任意三位數(shù)組成的數(shù)字。
步驟E、計(jì)算上述生成的數(shù)字信息的散列值,并存儲(chǔ)。
這些值可以存儲(chǔ)在相應(yīng)的存儲(chǔ)裝置中。
步驟F、以上述散列值為索引,建立所述第一數(shù)字信息的索引文件。
所述索引文件可以用來搜索與該數(shù)字信息對(duì)應(yīng)的散列值。
其中,所述步驟203具體包括:
步驟2031、從所述數(shù)據(jù)字典中查找收到的第一數(shù)字信息的散列值是否有對(duì)應(yīng)的第二數(shù)字信息,并根據(jù)所述第二數(shù)字信息,查找對(duì)應(yīng)的第二文字信息,并計(jì)算所述第二文字信息的散列值;
步驟2033、如果接收的第一數(shù)字信息的散列值對(duì)應(yīng)的文字信息散列值與計(jì)算的第二文字信息的散列值一致,則返回所述身份信息為真,否則返回所述身份信息為假。
本發(fā)明還提出了一種基于上述核驗(yàn)身份信息的方法的裝置,其包括:
獲取模塊,其用于獲取身份信息,所述身份信息包括第一數(shù)字信息和第一文字信息,其中所述數(shù)字信息指身份證號(hào),所述文字信息包括姓名、地址或辦證機(jī)關(guān)的至少一個(gè);
數(shù)值化模塊,其用于將所述身份信息數(shù)值化;
傳遞模塊,其用于傳遞數(shù)值化的身份信息。
本發(fā)明還提出了一種基于上述另一種核驗(yàn)身份信息的方法的裝置,其包括:
接收模塊,其用于接收數(shù)值化的身份信息;
核驗(yàn)?zāi)K,其用于核驗(yàn)接收的數(shù)值化的身份信息是否與存儲(chǔ)的信息一致。
本發(fā)明還提出了一種核驗(yàn)身份信息的系統(tǒng),其包括:
上述核驗(yàn)身份信息的裝置;
上述另一種核驗(yàn)身份信息的裝置;
控制中心,其用于控制上述裝置之間進(jìn)行信令交互。
實(shí)施例一、
我們知道,居民身份證號(hào)碼,根據(jù)[中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)GB11643-1999]中有關(guān)公民身份號(hào)碼的規(guī)定,公民身份號(hào)碼是特征組合碼,由十七位數(shù)字本體碼和一位數(shù)字校驗(yàn)碼組成。排列順序從左至右依次為:六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序碼和一位數(shù)字校驗(yàn)碼。居民身份證是國(guó)家法定的證明公民個(gè)人身份的有效證件。
為了在身份驗(yàn)證過程中的雙方不泄露自己已知的信息,采用0知識(shí)證明的方案。
具體方法:
1、求證方將已知的身份信息:身份證號(hào)和姓名,分別用單向散列算法(如MD5,SHA-1,SHA-256等)將身份證號(hào)和姓名轉(zhuǎn)換為對(duì)應(yīng)的散列值。
2、驗(yàn)證方將收到的身份證號(hào)散列值從數(shù)據(jù)字典中查找是否有對(duì)應(yīng)的身份證號(hào),并根據(jù)對(duì)應(yīng)身份證號(hào),查找對(duì)應(yīng)姓名信息,并計(jì)算姓名的散列值。
3、如果求證方發(fā)送的身份證號(hào)散列值對(duì)應(yīng)的姓名散列值和驗(yàn)證方計(jì)算一致,則返回給求證方一致,否則返回不一致。
驗(yàn)證方為處理身份證號(hào)散列值,需預(yù)先建立數(shù)據(jù)字典,即散列值和身份證號(hào)的對(duì)應(yīng)關(guān)系。
建立數(shù)據(jù)字典過程
1、枚舉所有的身份證中地區(qū)編號(hào)的所有可能組合;
2、窮舉當(dāng)前日期前后100年的所有日期;
3、窮舉三位計(jì)數(shù)值;
4、將1、2、3項(xiàng)按身份證號(hào)編碼規(guī)則全組合,并加上身份證驗(yàn)證碼,生成可能的身份證號(hào)碼;
5、計(jì)算上述生成的身份證號(hào)碼的散列值,并存儲(chǔ);
6、以上述散列值為索引,建立對(duì)應(yīng)身份證號(hào)的索引文件。
以上所述,僅為本發(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)。