基于零知識(shí)證明的用戶身份隱私保護(hù)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)信息安全技術(shù)領(lǐng)域,具體涉及一種基于零知識(shí)證明的用戶身份隱私保護(hù)方法及系統(tǒng)。
【背景技術(shù)】
[0002]大數(shù)據(jù)包含了大量的原始信息,通過(guò)對(duì)大數(shù)據(jù)的分析和使用,用戶能夠更有效更準(zhǔn)確地獲得關(guān)于事物的知識(shí)規(guī)律和發(fā)展趨勢(shì)。但是,大數(shù)據(jù)在給用戶帶來(lái)便利和益處的同時(shí),也帶來(lái)了用戶身份隱私泄露的危害。
[0003]大量事實(shí)表明,用戶在使用大數(shù)據(jù)時(shí),由于其身份信息與行為狀態(tài)會(huì)被記錄,身份隱私面臨著極大的威脅。而且在大數(shù)據(jù)環(huán)境下,用戶面臨的威脅并不僅限于個(gè)人隱私泄漏,還在于基于大數(shù)據(jù)對(duì)用戶狀態(tài)和行為的預(yù)測(cè)。很多研究和實(shí)現(xiàn)方案常常認(rèn)為采用匿名和泛化處理,就可以保護(hù)用戶的隱私。但事實(shí)上,僅通過(guò)匿名和泛化并不能很好地保護(hù)用戶的身份隱私。這是由于對(duì)用戶的記錄數(shù)據(jù)具有累積性和關(guān)聯(lián)性,單個(gè)的記錄信息可能不會(huì)暴露用戶的身份隱私,但是如果能夠?qū)⒂脩舻亩鄠€(gè)行為記錄關(guān)聯(lián)在一起時(shí),用戶的身份隱私就可能被暴露。因此,應(yīng)當(dāng)設(shè)計(jì)大數(shù)據(jù)環(huán)境下的用戶身份隱私保護(hù)方法,使得用戶既能夠合法地登錄大數(shù)據(jù)發(fā)布平臺(tái),正常地分析使用大數(shù)據(jù),又不暴露其真實(shí)的身份信息。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種基于零知識(shí)證明的用戶身份隱私保護(hù)方法及系統(tǒng)。
[0005]一種基于零知識(shí)證明的用戶身份隱私保護(hù)方法,包括如下步驟:
[0006]S1.身份密鑰請(qǐng)求:數(shù)據(jù)使用者通過(guò)已經(jīng)建立的安全信道向身份管理中心發(fā)送身份密鑰生成請(qǐng)求信息,請(qǐng)求信息中包含數(shù)據(jù)使用者的身份信息;
[0007]S2.身份密鑰生成:身份管理中心根據(jù)使用數(shù)據(jù)使用者的身份信息,為數(shù)據(jù)使用者生成唯一代表其身份的身份密鑰,將數(shù)據(jù)使用者的身份信息存入本地維護(hù)的數(shù)據(jù)使用者信息表中,將數(shù)據(jù)使用者的身份密鑰通過(guò)安全信道發(fā)送給數(shù)據(jù)使用者;
[0008]S3.公共參數(shù)設(shè)置:設(shè)置數(shù)據(jù)使用者與大數(shù)據(jù)發(fā)布平臺(tái)的公共參數(shù);
[0009]S4.零知識(shí)證明協(xié)議:在數(shù)據(jù)使用者與大數(shù)據(jù)發(fā)布平臺(tái)之間執(zhí)行交互式零知識(shí)證明協(xié)議,以證明數(shù)據(jù)使用者擁有身份管理中心頒發(fā)的身份密鑰,則數(shù)據(jù)使用者為合法用戶;
[0010]S5.共享密鑰請(qǐng)求:數(shù)據(jù)使用者通過(guò)安全信道向身份管理中心發(fā)起共享密鑰生成請(qǐng)求信息;
[0011]S6.共享密鑰生成:身份管理中心為數(shù)據(jù)使用者和大數(shù)據(jù)發(fā)布平臺(tái)生成共享密鑰,將共享密鑰生成請(qǐng)求隨機(jī)數(shù)及生成的共享密鑰存入本地維護(hù)的數(shù)據(jù)使用者信息表中,并通過(guò)安全信道將共享密鑰發(fā)送給數(shù)據(jù)使用者和大數(shù)據(jù)發(fā)布平臺(tái);
[0012]S7.賬號(hào)和口令生成:大數(shù)據(jù)發(fā)布平臺(tái)為數(shù)據(jù)使用者生成臨時(shí)賬號(hào)和對(duì)應(yīng)的口令,通過(guò)共享密鑰與數(shù)據(jù)使用者建立安全信道,通過(guò)該安全信道將臨時(shí)賬號(hào)和口令發(fā)送給數(shù)據(jù)使用者。
[0013]一種基于零知識(shí)證明的用戶身份隱私保護(hù)系統(tǒng),其包括身份管理中心(IdentityManagement Centre, IMC)、大數(shù)據(jù)發(fā)布平臺(tái)(Big Data Distrubit1n Platform, BDDP)以及數(shù)據(jù)使用者(即用戶);身份管理中心、大數(shù)據(jù)發(fā)布平臺(tái)、數(shù)據(jù)使用者之間均有公共信道或安全信道;其中,身份管理中心與大數(shù)據(jù)發(fā)布平臺(tái)、身份管理中心與數(shù)據(jù)使用者之間的安全信道可基于證書(shū)的方式建立,不屬于本發(fā)明的討論范圍。
[0014]數(shù)據(jù)使用者包括身份密鑰管理模塊(Identity Key Management Module, IKMM)、第一零知識(shí)證明模塊(Zero-Knowledge ProofModule user, ZKPMu)、第一共享密鑰管理模塊(Shared Key Management Module user, SKMMu)等模塊;第一零知識(shí)證明模塊分別與身份密鑰管理模塊、第一共享密鑰管理模塊連接;
[0015]大數(shù)據(jù)發(fā)布平臺(tái)包括第二零知識(shí)證明模塊(Zero-Knowledge Proof Moduleserver, ZKPMs)、賬號(hào)口令生成模塊(Account Password Generat1n, APGM)、第二共享密鑰管理模塊(Shared Key Management Module server, SKMMs)等模塊;賬號(hào)口令生成模塊分別與第二零知識(shí)證明模塊、第二共享密鑰管理模塊連接;
[0016]身份管理中心包括身份密鑰生成模塊(Identity Key Generat1nModule, IKGM)、用戶身份管理模塊(User Identity Management Module, UIMM)、共享密鑰生成模塊(Shared Key Generat1n Module, SKGM)等模塊;用戶身份管理模塊分別與身份密鑰生成模塊、共享密鑰生成模塊連接;
[0017]身份密鑰管理模塊,用于向身份管理中心發(fā)起身份密鑰請(qǐng)求,請(qǐng)求身份管理中心為數(shù)據(jù)使用者生成唯一代表其身份信息的身份密鑰,并存儲(chǔ)和管理身份管理中心返回的身份密鑰;
[0018]身份密鑰生成模塊,用于根據(jù)身份密鑰請(qǐng)求為數(shù)據(jù)使用者生成唯一代表其身份信息的身份密鑰,并將身份密鑰發(fā)送給數(shù)據(jù)使用者;
[0019]用戶身份管理模塊,用于管理數(shù)據(jù)使用者的身份信息、共享密鑰生成請(qǐng)求隨機(jī)數(shù)、共享密鑰之間的對(duì)應(yīng)關(guān)系,使得根據(jù)數(shù)據(jù)使用者的共享密鑰生成請(qǐng)求生成的共享密鑰能夠發(fā)送給該數(shù)據(jù)使用者;
[0020]第一零知識(shí)證明模塊,用于根據(jù)公共參數(shù)執(zhí)行交互式零知識(shí)證明協(xié)議向大數(shù)據(jù)發(fā)布平臺(tái)證明數(shù)據(jù)使用者的合法身份;
[0021]第二零知識(shí)證明模塊,用于根據(jù)公共參數(shù)執(zhí)行交互式零知識(shí)證明協(xié)議對(duì)數(shù)據(jù)使用者的身份進(jìn)行驗(yàn)證;
[0022]賬號(hào)口令生成模塊,用于為數(shù)據(jù)使用者生成臨時(shí)的賬號(hào)和賬號(hào)對(duì)應(yīng)的口令;
[0023]共享密鑰生成模塊,用于在接收到數(shù)據(jù)使用者的隨機(jī)數(shù)請(qǐng)求后,為數(shù)據(jù)使用者和大數(shù)據(jù)發(fā)布平臺(tái)生成共享密鑰,并將共享密鑰通過(guò)安全信道發(fā)送給數(shù)據(jù)使用者和大數(shù)據(jù)發(fā)布平臺(tái);
[0024]第一共享密鑰管理模塊,用于生成隨機(jī)數(shù),并將隨機(jī)數(shù)發(fā)送給共享密鑰生成模塊,存儲(chǔ)并管理從共享密鑰生成模塊處獲得的共享密鑰,并用于解密從第二共享密鑰管理模塊處接收到的加密臨時(shí)賬號(hào)和口令;
[0025]第二共享密鑰管理模塊,用于存儲(chǔ)并管理從共享密鑰生成模塊處獲得的共享密鑰,并用于加密臨時(shí)賬號(hào)和口令,并將加密后的臨時(shí)賬號(hào)和口令發(fā)送給第一共享密鑰管理豐旲塊。
[0026]本發(fā)明利用交互式的零知識(shí)證明方法,使得用戶能夠合法地登錄大數(shù)據(jù)發(fā)布平臺(tái),正常地分析使用數(shù)據(jù),又不暴露其真實(shí)的身份信息。
【附圖說(shuō)明】
[0027]圖1為本發(fā)明實(shí)施例的基于零知識(shí)證明的用戶身份隱私保護(hù)方法流程圖;
[0028]圖2是圖1中步驟S4的身份驗(yàn)證流程圖;
[0029]圖3為本發(fā)明實(shí)施例的基于零知識(shí)證明的用戶身份隱私保護(hù)系統(tǒng)結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0030]如圖1所述,本發(fā)明實(shí)施例提供一種基于零知識(shí)證明的用戶身份隱私保護(hù)方法流程,包括如下步驟:
[0031]S1.身份密鑰請(qǐng)求:數(shù)據(jù)使用者10通過(guò)已經(jīng)建立的安全信道向身份管理中心30發(fā)送身份密鑰生成請(qǐng)求信息,請(qǐng)求信息中包含數(shù)據(jù)使用者10的身份信息。
[0032]S2.身份密鑰生成:身份管理中心30根據(jù)使用數(shù)據(jù)使用者10的身份信息,為數(shù)據(jù)使用者10生成唯一代表其身份的身份密鑰,將數(shù)據(jù)使用者10的身份信息存入本地維護(hù)的數(shù)據(jù)使用者信息表中,將數(shù)據(jù)使用者10的身份密鑰通過(guò)安全信道發(fā)送給數(shù)據(jù)使用者10。
[0033]S3.公共參數(shù)設(shè)置:設(shè)置數(shù)據(jù)使用者10與大數(shù)據(jù)發(fā)布平臺(tái)20的公共參數(shù)。
[0034]S4.零知識(shí)證明協(xié)議:在數(shù)據(jù)使用者10與大數(shù)據(jù)發(fā)布平臺(tái)20之間執(zhí)行交互式零知識(shí)證明協(xié)議,以證明數(shù)據(jù)使用者10擁有身份管理中心30頒發(fā)的身份密鑰,則數(shù)據(jù)使用者10為合法用戶。
[0035]S5.共享密鑰請(qǐng)求:數(shù)據(jù)使用者10通過(guò)安全信道向身份管理中心30發(fā)起共享密鑰生成請(qǐng)求信息。
[0036]S6.共享密鑰生成:身份管理中心30為數(shù)據(jù)使用者10和大數(shù)據(jù)發(fā)布平臺(tái)20生成共享密鑰,將共享密鑰生成請(qǐng)求隨機(jī)數(shù)及生成的共享密鑰存入本地維護(hù)的數(shù)據(jù)使用者信息表中,并通過(guò)安全信道將共享密鑰發(fā)送給數(shù)據(jù)使用者10和大數(shù)據(jù)發(fā)布平臺(tái)20。
[0037]S7.賬號(hào)和口令生成:大數(shù)據(jù)發(fā)布平臺(tái)20為數(shù)據(jù)使用者10生成臨時(shí)賬號(hào)和對(duì)應(yīng)的口令,通過(guò)共享密鑰與數(shù)據(jù)使用者10建立安全信道,通過(guò)該安全信道將臨時(shí)賬號(hào)和口令發(fā)送給數(shù)據(jù)使用者10。
[0038]上述步驟S1、S2、S3為參數(shù)設(shè)置階段;步驟S4為身份驗(yàn)證階段,為大數(shù)據(jù)發(fā)布平臺(tái)20對(duì)數(shù)據(jù)使用者10的身份進(jìn)行驗(yàn)證的階段,數(shù)據(jù)使用者10向大數(shù)據(jù)發(fā)布平臺(tái)20證明其擁有可信的身份管理中心30為其生成的身份密鑰S,基于Schnorr身份認(rèn)證方案實(shí)現(xiàn);步驟S5、S6、S7為數(shù)據(jù)使用階段。
[0039]可選地,
[0040]所述步驟SI包括:
[0041]Sll.數(shù)據(jù)使用者10中身份密鑰管理模塊11通過(guò)偽隨機(jī)數(shù)生成算法生成隨機(jī)數(shù)
Nonce10O
[0042]S12.身份密鑰管理模塊11將數(shù)據(jù)使用者10的身份信息表示為IDu,將Noncein 1