本發(fā)明涉及信息技術(shù)領(lǐng)域,更具體地說(shuō),涉及一種用戶身份編碼方法及系統(tǒng)。
背景技術(shù):
實(shí)名制是目前物理和虛擬空間安全治理的用戶身份認(rèn)證的關(guān)鍵需求,除國(guó)家強(qiáng)制機(jī)關(guān)對(duì)用戶有效身份證件進(jìn)行查驗(yàn)的場(chǎng)景外,服務(wù)提供商驗(yàn)證用戶身份時(shí),使用有效證件查驗(yàn)并記錄有效證件信息,會(huì)帶來(lái)用戶隱私信息泄露風(fēng)險(xiǎn)和用戶體驗(yàn)下降的問(wèn)題。
通過(guò)建立基于有效證件的憑證驗(yàn)證模式,可以有效避免上述問(wèn)題,其中,有效證件的憑證驗(yàn)證模式,需要對(duì)實(shí)名用戶的標(biāo)識(shí)、識(shí)別、認(rèn)證采用統(tǒng)一編碼機(jī)制,以在一定區(qū)域內(nèi)實(shí)現(xiàn)用戶實(shí)名身份的統(tǒng)一性、唯一性,以便于識(shí)別、標(biāo)識(shí)和認(rèn)證。
而目前身份編碼一般采用意義碼和偽碼、序列碼等方式,其中,意義碼編碼方式中,碼號(hào)本身具有一定的識(shí)別意義,例如身份證編碼,包含出生地的省、市等地域信息、出生日期、以及序號(hào)和驗(yàn)證碼;偽碼一般不包含具體的意義盡在綁定后存在一一對(duì)應(yīng)關(guān)系;序列碼根據(jù)時(shí)間或事件等以升序排列。
然而,上述編碼方式存在如下問(wèn)題:
第一,上述編碼方式均是一維編碼,缺乏碼號(hào)的碼源控制,在掌握編碼規(guī)則后均可以偽造碼號(hào),且第三方均不能識(shí)別對(duì)照實(shí)體碼號(hào)的真?zhèn)危?/p>
第二,上述編碼方式一般是在單一系統(tǒng)和數(shù)據(jù)庫(kù)中完成,在分布式系統(tǒng)中,尤其在低依賴和低關(guān)聯(lián)性的業(yè)務(wù)域中,很難實(shí)現(xiàn)編碼的統(tǒng)一性和碼號(hào)的零沖突,而碼號(hào)沖突對(duì)身份的識(shí)別和認(rèn)證存在關(guān)鍵風(fēng)險(xiǎn);
第三,上述意義碼由于包含有實(shí)體對(duì)應(yīng)的地域、生日、性別等具備意義的 編碼,缺少對(duì)用戶隱私的保護(hù);
第四,偽碼編碼方式大多是基于因子的等長(zhǎng)隨機(jī)編碼,序列碼采用等長(zhǎng)時(shí)間和事件因子編碼,此兩種編碼方式均缺少碼號(hào)和用戶身份信息的關(guān)聯(lián)性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題在于,針對(duì)現(xiàn)有身份編碼的編碼方式的上述不足,提供一種用戶身份的編碼方法及系統(tǒng)。
本發(fā)明解決上述問(wèn)題的技術(shù)方案是提供了一種用戶身份的編碼方法,所述方法包括以下步驟:
s0、根據(jù)表明用戶身份的有效證件及對(duì)應(yīng)的有效證件號(hào)碼生成身份編碼信息;
s1、獲取表明用戶身份的所述身份編碼信息;
s2、將獲取到的所述身份編碼信息進(jìn)行數(shù)字簽名以生成數(shù)字簽名值;
s3、將所述數(shù)字簽名值賦值給標(biāo)識(shí)用戶身份的碼號(hào)。
在上述的用戶身份的編碼方法中,所述步驟s0包括:
采集表明用戶身份的所有有效證件及對(duì)應(yīng)的有效證件號(hào)碼;
將所述所有有效證件進(jìn)行編碼以生成所述有效證件的有效證件編碼;以及
根據(jù)所述有效證件的有效證件編碼和所述對(duì)應(yīng)的有效證件號(hào)碼生成所述身份編碼信息。
在上述的用戶身份的編碼方法中,在步驟s0中,所述將所述所有有效證件進(jìn)行編碼以生成所述有效證件的有效證件編碼的步驟包括:
采用二進(jìn)制編碼將所述所有有效證件進(jìn)行編碼以生成所述有效證件的有效證件編碼。
在上述的用戶身份的編碼方法中,所述步驟s2包括:
向ca中心申請(qǐng)數(shù)字證書(shū)以得到一數(shù)字證書(shū)私鑰;
將所述身份編碼信息進(jìn)行編碼以生成身份編碼特征信息,其中,編碼的算法包括散列算法;
采用所述數(shù)字證書(shū)私鑰將所述身份編碼特征信息進(jìn)行加密以生成所述數(shù) 字簽名值。
在上述的用戶身份的編碼方法中,所述步驟s2還包括:
將所述數(shù)字證書(shū)私鑰存儲(chǔ)在專用密碼設(shè)備中。
本發(fā)明還提供了一種用戶身份的編碼系統(tǒng),所述系統(tǒng)包括:
生成模塊,用于根據(jù)表明用戶身份的有效證件及對(duì)應(yīng)的有效證件號(hào)碼生成身份編碼信息;
獲取模塊,用于獲取表明用戶身份的所述身份編碼信息;
數(shù)字簽名模塊,用于將獲取到的所述身份編碼信息進(jìn)行數(shù)字簽名以生成數(shù)字簽名值;
賦碼模塊,用于將所述數(shù)字簽名值賦值給標(biāo)識(shí)用戶身份的碼號(hào)。
在上述的用戶身份的編碼系統(tǒng)中,所述生成模塊包括:
采集單元,用于采集表明用戶身份的所有有效證件及對(duì)應(yīng)的有效證件號(hào)碼;
第一編碼單元,用于將所述所有有效證件進(jìn)行編碼以生成所述有效證件的有效證件編碼;以及
第一生成單元,用于根據(jù)所述有效證件的有效證件編碼和所述對(duì)應(yīng)的有效證件號(hào)碼生成所述身份編碼信息。
在上述的用戶身份的編碼系統(tǒng)中,所述第一編碼單元用于采用二進(jìn)制編碼將所述所有有效證件進(jìn)行編碼以生成所述有效證件的有效證件編碼。
在上述的用戶身份的編碼系統(tǒng)中,所述數(shù)字簽名模塊包括:
申請(qǐng)單元,用于向ca中心申請(qǐng)數(shù)字證書(shū)以得到一數(shù)字證書(shū)私鑰;
第二編碼單元,用于將所述身份編碼信息進(jìn)行編碼以生成身份編碼特征信息,其中,編碼的算法包括散列算法;
第二生成單元,采用所述數(shù)字證書(shū)私鑰將所述身份編碼特征信息進(jìn)行加密以生成所述數(shù)字簽名值。
在上述的用戶身份的編碼系統(tǒng)中,所述系統(tǒng)還包括:
專用密碼設(shè)備,用于存儲(chǔ)將所述數(shù)字證書(shū)私鑰。
本發(fā)明的用戶身份的編碼方法及系統(tǒng)的有益效果有:
第一,由于采用數(shù)字證書(shū)私鑰將身份編碼特征信息進(jìn)行加密以生成數(shù)字簽名值,實(shí)現(xiàn)了用戶身份的編碼碼源控制問(wèn)題,只有編碼的碼源方持有數(shù)字證書(shū)私鑰,任何第三方均不能獲得該數(shù)字證書(shū)私鑰,從而生成的碼號(hào)不能偽造;
第二,由于數(shù)字簽名值的唯一性,在任何分布式系統(tǒng)中,對(duì)于同一用戶的身份的編碼,因用戶的身份編碼信息的一致性,均可以生成同一編碼,不會(huì)相互沖突;
第三,采用數(shù)字簽名值作為標(biāo)識(shí)用戶身份的碼號(hào),有效地保護(hù)了用戶的隱私信息;
第四,標(biāo)識(shí)用戶身份的碼號(hào)是身份編碼信息的數(shù)字簽名值,該身份編碼信息包括有效證件編碼和有效證件號(hào)碼,因此,碼號(hào)與用戶身份唯一關(guān)聯(lián)。
附圖說(shuō)明
下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,附圖中:
圖1是本發(fā)明的用戶身份的編碼方法實(shí)施例的流程圖;
圖2是本發(fā)明的生成表明用戶身份的身份編碼信息實(shí)施例的流程圖;
圖3是本發(fā)明的將身份編碼信息進(jìn)行數(shù)字簽名實(shí)施例的流程圖;
圖4是本發(fā)明的用戶身份的編碼系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,是本發(fā)明的用戶身份的編碼方法實(shí)施例的流程圖。參考圖1,該方法包括以下步驟:
首先,在步驟s0中,根據(jù)表明用戶身份的有效證件及對(duì)應(yīng)的有效證件號(hào)碼生成表明用戶身份的身份編碼信息。其中,有效證件可以為身份證、教師證、社保卡等。
具體地,如圖2所示,在本實(shí)施例中,步驟s0包括:在步驟s01中,采集 表明用戶身份的所有有效證件及對(duì)應(yīng)的有效證件號(hào)碼。若某用戶有身份證、居住證、社???、護(hù)照、駕駛證,則相應(yīng)的采集每個(gè)證件的證件號(hào)碼,有效證件是身份證時(shí),有效證件碼號(hào)即是法定機(jī)關(guān)規(guī)定的17位的身份證號(hào)碼。在步驟s02中,將所有有效證件進(jìn)行編碼以生成有效證件的有效證件編碼,在本實(shí)施例中,編碼可采用二進(jìn)制編碼,如對(duì)上述的身份證、居住證、社???、護(hù)照和駕駛證進(jìn)行二進(jìn)制編碼后,身份證的有效證件編碼為000、居住證的有效證件編碼為001、社保卡的有效證件編碼為010、護(hù)照的有效證件編碼為011、駕駛證的有效證件編碼為100,當(dāng)然,在本發(fā)明的其他實(shí)施例中,編碼還可以采用八進(jìn)制、十六制編碼等。在步驟s03中,根據(jù)有效證件的有效證件編碼和對(duì)應(yīng)的有效證件號(hào)碼生成身份編碼信息,例如,如上述編碼,有效證件為身份證時(shí),有效證件編碼為000,其有效證件號(hào)碼為3604xx1988xxxx5233,相應(yīng)地,生成的身份編碼信息可以為0003604xx1988xxxx5233,當(dāng)然,此時(shí),身份編碼信息還可以為3604xx1988xxxx5233000。
隨后,在步驟s1中,獲取上述表明用戶身份的身份編碼信息。
隨后,在步驟s2中,將獲取到的上述身份編碼信息進(jìn)行數(shù)字簽名以生成數(shù)字簽名值。其中,該數(shù)字簽名值為定長(zhǎng)值,例如,160位,其可以為一個(gè)數(shù)值,也可以是一字符串。
具體地,如圖3所示,在本實(shí)施例中,該步驟s2包括:在步驟s21中,向ca中心申請(qǐng)數(shù)字證書(shū)以得到一數(shù)字證書(shū)私鑰,ca中心即證書(shū)授權(quán)中心(certificateauthority)。在步驟s22中,將上述身份編碼信息進(jìn)行編碼以生成身份編碼特征信息,其中,編碼的算法包括散列算法,在本實(shí)施例中,在使用散列算法進(jìn)行編碼時(shí)得到的散列值即是身份編碼特征信息,散列算法包括但不限于md2、md4、md5或sha-1等,由于編碼生成身份編碼特征信息的不可逆性,根據(jù)該身份編碼特征信息無(wú)法逆向推導(dǎo)出表面用戶身份的身份編碼信息。在步驟s23中,采用上述數(shù)字證書(shū)私鑰將上述身份編碼特征信息進(jìn)行加密以生成數(shù)字簽名值。在本實(shí)施例中,由于采用數(shù)字證書(shū)私鑰進(jìn)行加密,實(shí)現(xiàn)了用戶身份的編碼碼源控制問(wèn)題,只有編碼的碼源這一方持有數(shù)字證書(shū)私鑰,任何第三方均不能獲得該數(shù)字證書(shū)私鑰,進(jìn)一步地,該步驟s2還包括:將該數(shù)字證書(shū) 私鑰存儲(chǔ)在專用密碼設(shè)備中。
最后,在步驟s3中,將上述生成的數(shù)字簽名值賦值給標(biāo)識(shí)用戶身份的碼號(hào)。在本實(shí)施例中,將上述生成的數(shù)字簽名值賦值給碼號(hào)時(shí),由于數(shù)字簽名值的唯一性,在任何分布式系統(tǒng)中,對(duì)于同一用戶的身份編碼,因用戶的身份編碼信息的一致性,均可以生成同一編碼,不會(huì)相互沖突。
如圖4所示,是本發(fā)明的用戶身份的編碼系統(tǒng)實(shí)施例的流程圖。參考圖4,該系統(tǒng)包括生成模塊110、獲取模塊120、數(shù)字簽名模塊130和賦碼模塊140。
其中,生成模塊110用于根據(jù)表明用戶身份的有效證件及對(duì)應(yīng)的有效證件號(hào)碼生成表明用戶身份的身份編碼信息。其中,有效證件可以為身份證、教師證、社??ǖ取?/p>
具體地,在本實(shí)施例中,生成模塊110包括采集單元111、第一編碼單元112和第一生成單元113,其中:采集單元111用于采集表明用戶身份的所有有效證件及對(duì)應(yīng)的有效證件號(hào)碼。若某用戶有身份證、居住證、社保卡、護(hù)照、駕駛證,則相應(yīng)的采集每個(gè)證件的證件號(hào)碼,有效證件是身份證時(shí),有效證件碼號(hào)即是法定機(jī)關(guān)規(guī)定的17位的身份證號(hào)碼。第一編碼單元112與采集單元111連接,用于將所有有效證件進(jìn)行編碼以生成有效證件的有效證件編碼,在本實(shí)施例中,編碼可采用二進(jìn)制編碼,如對(duì)上述的身份證、居住證、社??ā⒆o(hù)照和駕駛證進(jìn)行二進(jìn)制編碼后,身份證的有效證件編碼為000、居住證的有效證件編碼為001、社??ǖ挠行ёC件編碼為010、護(hù)照的有效證件編碼為011、駕駛證的有效證件編碼為100,當(dāng)然,在本發(fā)明的其他實(shí)施例中,編碼還可以采用八進(jìn)制、十六制編碼等。第一生成單元113分別與采集單元111和第一編碼單元112連接,用于根據(jù)有效證件的有效證件編碼和對(duì)應(yīng)的有效證件號(hào)碼生成身份編碼信息,例如,如上述編碼,有效證件為身份證時(shí),有效證件編碼為000,其有效證件號(hào)碼為3604xx1988xxxx5233,相應(yīng)地,生成的身份編碼信息可以為0003604xx1988xxxx5233,當(dāng)然,此時(shí),身份編碼信息還可以為3604xx1988xxxx5233000。
獲取模塊120與生成模塊110連接,用于獲取上述表明用戶身份的身份編碼信息。
數(shù)字簽名模塊130與獲取模塊120連接,將獲取到的上述身份編碼信息進(jìn)行數(shù)字簽名以生成數(shù)字簽名值。其中,該數(shù)字簽名值為定長(zhǎng)值,例如,160位,其可以為一個(gè)數(shù)值,也可以是一字符串。
具體地,在本實(shí)施例中,數(shù)字簽名模塊130包括申請(qǐng)單元131、第二編碼單元132和第二生成單元133,其中:申請(qǐng)單元131用于向ca中心申請(qǐng)數(shù)字證書(shū)以得到一數(shù)字證書(shū)私鑰,ca中心即證書(shū)授權(quán)中心(certificateauthority)。第二編碼單元132用于將上述身份編碼信息進(jìn)行編碼以生成身份編碼特征信息,其中,編碼的算法包括散列算法,在本實(shí)施例中,在使用散列算法進(jìn)行編碼時(shí)得到的散列值即是身份編碼特征信息,散列算法包括但不限于md2、md4、md5或sha-1等,由于編碼生成身份編碼特征信息的不可逆性,根據(jù)該身份編碼特征信息無(wú)法逆向推導(dǎo)出表面用戶身份的身份編碼信息。第二生成單元133分別與申請(qǐng)單元和第二編碼單元132連接,用于采用上述數(shù)字證書(shū)私鑰將上述身份編碼特征信息進(jìn)行加密以生成數(shù)字簽名值。在本實(shí)施例中,由于采用數(shù)字證書(shū)私鑰進(jìn)行加密,實(shí)現(xiàn)了用戶身份的編碼碼源控制問(wèn)題,只有編碼的碼源這一方持有數(shù)字證書(shū)私鑰,任何第三方均不能獲得該數(shù)字證書(shū)私鑰,進(jìn)一步地,該系統(tǒng)還包括專用密碼設(shè)備(圖中未示出),該專用密碼設(shè)備與申請(qǐng)單元連接,用于將該數(shù)字證書(shū)私鑰存儲(chǔ)在專用密碼設(shè)備中。
賦碼模塊140與數(shù)字簽名模塊130連接,用于將上述生成的數(shù)字簽名值賦值給標(biāo)識(shí)用戶身份的碼號(hào)。在本實(shí)施例中,將上述生成的數(shù)字簽名值賦值給碼號(hào)時(shí),由于數(shù)字簽名值的唯一性,在任何分布式系統(tǒng)中,對(duì)于同一用戶的身份編碼,因用戶的身份編碼信息的一致性,均可以生成同一編碼,不會(huì)相互沖突。
綜述,本發(fā)明的用戶身份的編碼方法及系統(tǒng)的有益效果有:
第一,由于采用數(shù)字證書(shū)私鑰將身份編碼特征信息進(jìn)行加密以生成數(shù)字簽名值,實(shí)現(xiàn)了用戶身份的編碼碼源控制問(wèn)題,只有編碼的碼源方持有數(shù)字證書(shū)私鑰,任何第三方均不能獲得該數(shù)字證書(shū)私鑰,從而生成的碼號(hào)不能偽造;
第二,由于數(shù)字簽名值的唯一性,在任何分布式系統(tǒng)中,對(duì)于同一用戶的身份的編碼,因用戶的身份編碼信息的一致性,均可以生成同一編碼,不會(huì)相互沖突;
第三,采用數(shù)字簽名值作為標(biāo)識(shí)用戶身份的碼號(hào),有效地保護(hù)了用戶的隱私信息;
第四,標(biāo)識(shí)用戶身份的碼號(hào)是身份編碼信息的數(shù)字簽名值,該身份編碼信息包括有效證件編碼和有效證件號(hào)碼,因此,碼號(hào)與用戶身份唯一關(guān)聯(lián)。
以上所述,僅為本發(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)。