專利名稱:保護(hù)隱私的計量的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計量,尤其涉及保護(hù)隱私的計量。
背景技術(shù):
在許多應(yīng)用領(lǐng)域中都涉及計量,如電計量,水計量,燃?xì)庥嬃?,按駕駛付費(fèi)的車輛保險,交通堵塞計費(fèi),諸如按觀看付費(fèi)式的數(shù)字權(quán)限管理、作為服務(wù)計量的軟件等在線服務(wù)計量,以及其他。然而,隨著計量的復(fù)雜度的增加,存在著對用戶隱私保護(hù)的顧慮。例如,通過細(xì)粒度的電量計量讀數(shù),通過負(fù)載監(jiān)視來標(biāo)識使用了哪些電器是可能的。詳細(xì)的消費(fèi)數(shù)據(jù)可以便于創(chuàng)建用戶的生活方式簡檔,帶有諸如他們何時在家、他們何時吃飯、他們是否上班遲到等等信息。在存在計量的其他應(yīng)用領(lǐng)域中也引發(fā)了用戶隱私顧慮。例如,按駕駛付費(fèi)的車輛保險,基于車輛的時間、距離和位置的稅可能使該細(xì)粒度的信息可由提供者獲得。執(zhí)行計量的用于保護(hù)用戶隱私的現(xiàn)有方法通常是行政性的,例如基于行為守則、 規(guī)章及法律。用于保護(hù)用戶隱私的其他解決方案涉及允許生活在同一鄰域的用戶群在不公開他們單獨(dú)的消費(fèi)的情況下計算他們的消費(fèi)的總和。然而,這一類型的方法很復(fù)雜并且依賴于該群體中的用戶之間的協(xié)作。以下描述的各實(shí)施例不限于解決已知保護(hù)隱私的計量系統(tǒng)的缺點(diǎn)中的任一個或全部的實(shí)現(xiàn)。
發(fā)明內(nèi)容
以下呈現(xiàn)了本公開簡化的概述,以便向讀者提供基本理解。本概述不是本公開詳盡的概述,并且它不旨在標(biāo)識本發(fā)明關(guān)鍵/決定性的元素或者描繪本發(fā)明的范圍。其唯一目的是以簡化形式呈現(xiàn)此處公開的一些概念,作為稍后呈現(xiàn)的更詳細(xì)描述的序言。描述了保護(hù)隱私的計量,諸如用于電、燃?xì)?、或水的計量,使用云計算資源的計量, 交通堵塞計費(fèi)以及其他計量應(yīng)用。在各示例中,細(xì)粒度的用戶消費(fèi)數(shù)據(jù)被保持私密,并且不公開給用戶所使用資源的提供者。在各示例中,賬單生成器接收經(jīng)證實(shí)的計量讀數(shù)以及經(jīng)證實(shí)的定價策略,并且生成省去細(xì)粒度用戶消費(fèi)數(shù)據(jù)的賬單。例如,賬單生成器生成證明該賬單正確的零知識證明并且將該證明與該賬單一起發(fā)送給提供者。在各示例中,提供者能夠使用該零知識證明來檢驗(yàn)該賬單是正確的,而無需找出用戶的私密消費(fèi)數(shù)據(jù)。在一實(shí)施例中,定價策略被存儲成表的經(jīng)簽署的各行,以便能夠高效地生成零知識查找。通過參考結(jié)合附圖考慮的以下詳細(xì)描述,眾多伴隨的特征將會更加容易理解并更好理解。
通過依照附圖閱讀的以下詳細(xì)描述,將會更好地理解本描述,其中圖1是保護(hù)隱私的計量系統(tǒng)的示意圖2是保護(hù)隱私的賬單生成器處的方法的流程圖;圖3是在提供者處用于驗(yàn)證保護(hù)隱私的賬單的方法的流程圖;圖4是用于諸如云計算資源等計算資源的計量系統(tǒng)的示意圖;圖5是用于計量系統(tǒng)中的保護(hù)隱私的賬單生成器處的方法的流程圖,其中相信該計量除計量讀數(shù)之外不會泄露更多信息;圖6是提供者處的用于與圖5的方法一起使用的方法的流程圖;圖7是用于公用事業(yè)的計量系統(tǒng)的示意圖,其中計量以公共的固定時間間隔來提供經(jīng)證實(shí)的讀數(shù);圖8是在其中計量以公共的固定時間間隔來提供經(jīng)證實(shí)的讀數(shù)的情況下生成保護(hù)隱私的賬單的方法的流程圖;圖9示出了其中可以實(shí)現(xiàn)智能計量或賬單生成器或賬單驗(yàn)證器的各實(shí)施例的示例性基于計算的設(shè)備。在附圖中,相同的附圖標(biāo)記用于表示相同的部分。
具體實(shí)施例方式下面結(jié)合附圖提供的詳細(xì)描述旨在作為本發(fā)明示例的描述,并不旨在表示可以構(gòu)建或使用本發(fā)明示例的唯一形式。本描述闡述了本發(fā)明示例的功能,以及用于構(gòu)建和操作本發(fā)明示例的步驟的序列。然而,可以通過不同的示例來實(shí)現(xiàn)相同或等效功能和序列。雖然在本文中將本發(fā)明的示例描述并示出為在智能計量系統(tǒng)中實(shí)現(xiàn),但是所描述的系統(tǒng)只是作為示例而非限制來提供的。本領(lǐng)域的技術(shù)人員將會明白,本發(fā)明示例適合在各種不同類型的計量系統(tǒng)中的應(yīng)用。在下文中給出的示例中,在計量應(yīng)用中使用密碼技術(shù)來保護(hù)用戶的隱私?,F(xiàn)在不使用正式數(shù)學(xué)定義在高層面解釋密碼學(xué)領(lǐng)域的一些術(shù)語,以幫助理解本發(fā)明的各示例。承諾方案是使發(fā)送者能夠?qū)χ底鞒龀兄Z并以對接收者隱藏的方式將該值發(fā)送給接收者的方法。發(fā)送者稍后能夠揭示該隱藏的值。因?yàn)榘l(fā)送者對該值作出承諾,所以發(fā)送者不能夠通過在該值被揭示給接收者之前改變該值來“欺騙”或偏置發(fā)送者與接收者之間的交互。想出用于對值作出承諾的過程是可能的,例如將該值置于一個盒中、鎖住該盒并將該盒給予不能解鎖該盒的接收者。發(fā)送者不能改變該值,因?yàn)榻邮照邠碛性摵?。該值對接收者而言是隱藏的,因?yàn)樵摵惺擎i住的。然而,發(fā)送者可以通過幫助接收者解鎖該盒來揭示該值。并非使用盒子和物理鎖,可以使用類似的數(shù)學(xué)過程來使發(fā)送者能夠?qū)χ底鞒龀兄Z。在揭示階段,發(fā)送者可以提供與上例中的鑰匙類似的開啟值,并使接收者能夠使用數(shù)學(xué)過程來揭示或開啟該承諾。同態(tài)承諾方案是這樣的方案通過將各單獨(dú)承諾的開啟要求進(jìn)行組合,可將使用該方案形成的兩個承諾進(jìn)行組合以使得經(jīng)組合的承諾可被開啟(即,揭示)。對承諾的操作造成對所承諾的值的操作。關(guān)于同態(tài)承諾方案的更多細(xì)節(jié)將在以下給出。零知識證明是兩個實(shí)體(證明者和驗(yàn)證者)之間的方法,它使證明者能夠在除一聲明的真實(shí)性之外不揭示任何事物的情況下向驗(yàn)證者展示該聲明是真實(shí)的。例如,在計量應(yīng)用的情況下,用戶可能希望在不向公用事業(yè)公司或其他提供者(驗(yàn)證者)揭示計量讀數(shù)的情況下向該提供者證明他或她的賬單是正確的。例如,零知識證明可以是允許證明者使接收者確信他們在不揭示一些所承諾的值情況下知道這些值的三方協(xié)議。在第一階段,證明者生成對隨機(jī)值的一組承諾,它想要為其提供知識的值中的每一個都有一個承諾。在第二方,通過將單向函數(shù)用于對隨機(jī)值的這些承諾上,證明者生成質(zhì)詢。在第三方,證明者計算應(yīng)變于這些秘密值、隨機(jī)值、以及該質(zhì)詢的一組響應(yīng)。驗(yàn)證者隨后可以確保該響應(yīng)滿足公共等式,以使它自己確信證明者知道該秘密的所承諾的值。為了對證明知曉的零知識證明進(jìn)行驗(yàn)證,給定質(zhì)詢和來自證明者的響應(yīng),驗(yàn)證者首先計算承諾。隨后,它重新計算質(zhì)詢并檢查它是否等于證明者給出的質(zhì)詢。非交互式零知識證明是特定類型的零知識證明,其中證明者能通過向驗(yàn)證者發(fā)送消息(例如,該消息包括質(zhì)詢和響應(yīng))(驗(yàn)證者隨后可以檢查該消息)來以零知識向驗(yàn)證者證明一聲明。以此方式,驗(yàn)證者不需要向證明者發(fā)送任何信息,并且因而證明者與驗(yàn)證者之間沒有交互。數(shù)字簽名方案(在本文中稱為簽名方案)是使諸如文檔、電子郵件、消息或其他內(nèi)容等項(xiàng)能夠由發(fā)送者以使接收者能夠確信該內(nèi)容實(shí)際上由所聲稱的發(fā)送者發(fā)送的方式來簽署的密碼方案。簽名隨后由任何人驗(yàn)證為是有效的并且被稱為是“可普遍驗(yàn)證的”??芍匦码S機(jī)化的簽名方案是這樣的方案任何人可以生成許多簽名,每一簽名與另一簽名稍微不同,并且接收實(shí)體能夠驗(yàn)證這些簽名中的任一個源自簽署實(shí)體。給定有效的可重新隨機(jī)化的簽名,任何人(不需要秘密)可以在同一消息上生成另一有效的簽名。這一新鮮簽名不可連接到原始簽名。簽名方案可具有對擁有簽名的有效零知識證明。圖1是保護(hù)隱私的計量系統(tǒng)102的示意圖。用戶108消費(fèi)可以是任何商品或服務(wù)的資源并且該消費(fèi)由計量器100來監(jiān)視。該資源由提供者114提供,在一些示例中提供者 114能夠向計量器100發(fā)送通信(提供者并非必需能夠向計量器發(fā)送通信)。為保護(hù)用戶 108的隱私,計量器100的可信內(nèi)核與提供者114之間不存在直接的無中介通信鏈路。提供者與計量器的同計量不相關(guān)的其他各方之間的直接通信可以存在。例如,以使提供者能夠?qū)㈦娏?yīng)打開和關(guān)閉。計量器100在地理上可以遠(yuǎn)離提供者來放置。用戶108具有代理,在圖1中示為保護(hù)隱私的賬單生成器106。這是計算機(jī)實(shí)現(xiàn)的并且被安排成接收來自計量器100的經(jīng)證實(shí)的讀數(shù)104。保護(hù)隱私的賬單生成器106具有被安排成接收來自提供者的經(jīng)證實(shí)的定價策略110或價目表的輸入組件。它將這些存儲在經(jīng)證實(shí)的定價策略存儲中。保護(hù)隱私的賬單生成器使用計量器讀數(shù)以及定價策略來計算要由用戶108支付給提供者的賬單。計算得到的賬單給出要支付的總額并且省去可損害用戶隱私的詳細(xì)的計量讀數(shù)。在用戶授權(quán)的情況下,計算得到的賬單可包含計量讀數(shù)細(xì)節(jié)。保護(hù)隱私的賬單生成器106包括確定用于證實(shí)該賬單正確的零知識證明的證明引擎,并且將該證明與賬單112 —起發(fā)送給提供者。該賬單不包含單獨(dú)的計量讀數(shù)或只包含用戶已授權(quán)發(fā)布給提供者的計量讀數(shù)。因?yàn)樵撟C明是零知識的,所以它不公開任何用戶消費(fèi)數(shù)據(jù)并且用戶108的隱私得到保護(hù)。提供者114處的計算機(jī)實(shí)現(xiàn)的驗(yàn)證者116接收經(jīng)證實(shí)的賬單和證明112,并通過檢查該證明來驗(yàn)證該賬單是正確的。這一驗(yàn)證是在不需要驗(yàn)證者或提供者訪問任何計量讀數(shù)的情況下來實(shí)現(xiàn)的。各方(計量器、提供者、以及賬單生成器)中的每一方生成公鑰私鑰對,并在可信登記實(shí)體處登記其公鑰。提供者計算承諾方案的參數(shù),并將這些參數(shù)發(fā)送給計量器(在計量器將承諾輸出給計量讀數(shù)的示例中)和賬單生成器106。
在本文描述的示例中,計量器100是防篡改的。即,假定計量器正確地監(jiān)視資源的消費(fèi)并提供準(zhǔn)確的經(jīng)證實(shí)的讀數(shù)104。因?yàn)橛嬃科魇欠来鄹牡?,所以提供者、用戶、或第三方難以用不能由用戶和/或提供者檢測到的未經(jīng)授權(quán)的方式來更改計量器的工作。計量器的大小在物理上和功能上可以都是小型的,因?yàn)橛嬃科髦恍枰獪y量并簽署消費(fèi)。計量器可被認(rèn)為是可信計算基礎(chǔ)的一部分。這一可信計算基礎(chǔ)的最小大小提供了用于安全工程設(shè)計的好處。例如,它允許更徹底的評估、易于驗(yàn)證、易于代碼復(fù)查、更便宜的防篡改、以及更小的攻擊面。保護(hù)隱私的賬單生成器106獨(dú)立于計量器100。因此,最終賬單的計算可以在防篡改外殼之外完成,并且可以隨時間或在顧客更換提供者時應(yīng)用和修改各種策略,而無需修改可信計算基礎(chǔ)。這在諸如電力和燃?xì)庥嬃康阮櫩徒?jīng)常更換提供者的應(yīng)用領(lǐng)域中是有益的。在一些示例中,保護(hù)隱私的賬單生成器106和計量器100作為更大的智能計量器的一部分來提供,該更大的智能計量器提供用戶界面、計算最終賬單和相關(guān)聯(lián)的正確性證明、以及將這些發(fā)送給提供者。智能計量器可具有用于提供豐富功能的全CPU、顯示器、局域網(wǎng)和廣域網(wǎng)通信、以及遠(yuǎn)程升級能力。在這種情況下,智能計量器的不與消費(fèi)測量和記賬相關(guān)聯(lián)的功能可以在可信內(nèi)核之外執(zhí)行。在這種情況下,顧客必須信任智能計量器的提供者會只發(fā)送保護(hù)隱私的賬單信息。在其他示例中,保護(hù)隱私的賬單生成器106可以使用用戶108所擁有的家庭服務(wù)器來實(shí)現(xiàn)。這在顧客不愿信任智能計量器的情況下是有用的。在計量器不與提供者直接通信而是改為使用顧客的設(shè)備來進(jìn)行網(wǎng)絡(luò)訪問的情況下,這也是適用的。在其他示例中,保護(hù)隱私的賬單生成器106可被實(shí)現(xiàn)成諸如web服務(wù)等第三方服務(wù)。這提高了對故障或拒絕服務(wù)的穩(wěn)健性。在這種情況下,用戶108將它們的私密數(shù)據(jù)委托給第三方服務(wù)。在其他示例中,保護(hù)隱私的賬單生成器106被合并在帶有WAN連接的移動電話或其他計算設(shè)備中?,F(xiàn)在描述其中由計量器提供的經(jīng)證實(shí)的計量讀數(shù)104是實(shí)際計量讀數(shù)而非對這些計量讀數(shù)的承諾的各實(shí)施例。如果計量器輸出經(jīng)證實(shí)的讀數(shù)104(其是對計量讀數(shù)的承諾),則這些計量讀數(shù)的隱私性得到增強(qiáng)。這是因?yàn)橛嬃科魉敵龅某兄Z不公開實(shí)際計量讀數(shù)值,直至這些承諾被揭示為止。然而,在制造階段在提供者114與計量器100之間存在勾結(jié)風(fēng)險的情況下,提供者可能與計量器相勾結(jié)以知曉如何揭示計量器所輸出的承諾并找出私密計量讀數(shù)值。為了防止這樣的勾結(jié),計量器可被安排成輸出經(jīng)簽署的計量讀數(shù)而非對這些讀數(shù)的承諾。在這種情況下,保護(hù)隱私的賬單生成器106具有更困難的工作來確保計量讀數(shù)的隱私性,因?yàn)樗鼈兪亲鳛閷?shí)際值而非作為承諾來提供的。現(xiàn)在參考圖2-3給出這一類型的情況的示例。圖2是保護(hù)隱私的賬單生成器處的方法的示例,而圖3是提供者處的要結(jié)合圖2 的方法來使用的方法的示例。在圖2和3的示例中,提供者以表的形式來發(fā)出離散定價策略,其中每一計量讀數(shù)被映射到一價格或費(fèi)用f。例如,在交通堵塞計費(fèi)應(yīng)用中,每一計量讀數(shù)可以是街道名稱并且費(fèi)用可以是通行費(fèi)。如在以下示例中進(jìn)一步描述的,可以使用其他類型的定價策略。
賬單生成器接收并可任選地驗(yàn)證200來自計量器的經(jīng)簽署的計量讀數(shù)元組。每一元組是一組三個值(d,cons, other),其中d是初始化為0且在計量器每次輸出新元組時遞增的計數(shù)值。cons (消費(fèi))是消費(fèi)計量讀數(shù)(例如,街道名稱)并且other (其他)是計量器提供的影響費(fèi)用的任何其他信息,如讀數(shù)的時間。賬單生成器接收并可任選地驗(yàn)證202來自提供者的經(jīng)簽署的定價策略表的各行。 例如,該表的每一行可以將計量讀數(shù)(例如,街道名稱)映射到費(fèi)用f。每一行都是分開簽署的。賬單生成器獲取204經(jīng)簽署的計量讀數(shù)之一(例如,指定街道的計量讀數(shù))。它隨后找出206包含適當(dāng)?shù)馁M(fèi)用&的經(jīng)簽署的表行(例如,該指定街道的費(fèi)用)并將該經(jīng)簽署的表行重新隨機(jī)化。賬單生成器生成208對&的承諾并且生成210零知識證明以示出 它持有經(jīng)證實(shí)的讀數(shù); 它持有經(jīng)證實(shí)的表行; 消費(fèi)(cons值)對讀數(shù)和表行(例如,街道名稱相同)而言是相同的;以及 所生成的承諾表示該表行的費(fèi)用。如上所述,形成零知識證明的過程可包括三個步驟。第一,生成對隨機(jī)值的一組承諾,賬單生成器想要證明知道的各值中的每一個值都有一個承諾。第二,通過將單向函數(shù)用于對隨機(jī)值的這些承諾上,賬單生成器生成質(zhì)詢。第三,賬單生成器計算作為這些秘密值、 隨機(jī)值、以及該質(zhì)詢的函數(shù)的一組響應(yīng)。該質(zhì)詢和響應(yīng)被發(fā)送給執(zhí)行驗(yàn)證過程的提供者。該證明被構(gòu)建成非交互式地對用于形成該賬單的所有計量讀數(shù)和定價策略信息進(jìn)行證明的位串。。該證明可以是可普遍驗(yàn)證的,即不需要秘密就能驗(yàn)證其正確性。該零知識證明是使用將消費(fèi)數(shù)據(jù)映射到價格或費(fèi)用的信息上的一個或多個簽名來生成的。然而, 提供者處的驗(yàn)證者不能夠獲得在其上使用簽名來計算證明的任何信息。否則,如果提供者找出這些簽名,則提供者可能能夠從費(fèi)用映射到消費(fèi)數(shù)據(jù)。該零知識證明是使用一個或多個構(gòu)件塊來生成的,在該示例中構(gòu)件塊是對擁有簽名的非交互式零知識證明、證明所承諾的值是兩個所承諾的值的乘積的證明、以及證明所承諾的值處于區(qū)間內(nèi)的證明。本文稍后給出這些構(gòu)件塊的詳細(xì)示例。如上所述,該零知識證明包括證明賬單生成器持有經(jīng)證實(shí)的計量讀數(shù)并且持有經(jīng)證實(shí)的表行的證明。即,該證明示出賬單生成器擁有計量讀數(shù)和表行上的簽名。以零知識來證明擁有簽名的目的是驗(yàn)證者不能獲得在其上使用簽名來計算該證明的任何信息。驗(yàn)證者只知道證明者(賬單生成器)擁有由其簽名公鑰被用來驗(yàn)證該證明的一方所簽署的簽名。 在該示例中,提供者P計算將消費(fèi)值映射到價格的若干簽名并將它們發(fā)送給賬單生成器U。 在記賬時間段的結(jié)尾時,U計算要支付的總費(fèi)用并將它連同證明該總費(fèi)用被正確地計算的證明一起揭示給P。該證明不向P揭示與U的消費(fèi)數(shù)據(jù)有關(guān)的任何信息。因此,U不向P揭示被用來計算費(fèi)用的簽名(將消費(fèi)值映射到價格),因?yàn)楹灻沂玖伺c消費(fèi)有關(guān)的信息。為了避免揭示簽名,U計算證明擁有簽名的零知識證明,這仍然允許P知道這些簽名是由他根據(jù)定價策略來計算的并且因而是有效的。如上所述,賬單生成器不向P揭示被用來計算費(fèi)用的簽名。在其中計量不被信任 (即,在制造階段提供者與計量器之間可能存在勾結(jié))的實(shí)施例中,所使用的簽名方案至少部分地是可重新隨機(jī)化的,以提供附加保護(hù)來免于向P揭示被用來計算費(fèi)用的簽名。例如,如圖2所示,包含費(fèi)用和消費(fèi)的表行的簽名由賬單生成器來重新隨機(jī)化206。因?yàn)檫@些簽名是在被用來生成該證明之前由賬單生成器來重新隨機(jī)化的,所以不存在它們被提供者識別的風(fēng)險。然而,并非必須使用可重新隨機(jī)化的簽名方案。對每一計量讀數(shù)重復(fù)該生成對費(fèi)用的承諾以及生成零知識證明的過程。賬單生成器形成對總費(fèi)用的承諾212并將包含證明質(zhì)詢和響應(yīng)以及對總費(fèi)用的承諾的經(jīng)簽署的消息發(fā)送給214提供者。該經(jīng)簽署的消息或者包括對策略條目的承諾和計量讀數(shù),或者包括它們的經(jīng)重新隨機(jī)化的簽名。驗(yàn)證者使用這一信息來將行承諾(策略片段和計量讀數(shù))鏈接到每讀數(shù)的最終費(fèi)用。提供者繼續(xù)進(jìn)行來如參考圖3所描述的那樣驗(yàn)證該證明?,F(xiàn)在參考圖3來描述提供者處的過程,除了已經(jīng)在上文描述了的簽署并將定價策略發(fā)送給賬單生成器的過程之外。如上所述,為了驗(yàn)證零知識證明,給定來自賬單生成器的質(zhì)詢和響應(yīng),驗(yàn)證者可以計算承諾。隨后,它重新計算質(zhì)詢并檢查它是否等于賬單生成器給出的質(zhì)詢。提供者接收300包含證明和對總費(fèi)用的承諾的經(jīng)簽署的消息。它驗(yàn)證消息上的簽名并隨后驗(yàn)證302該證明。這通過對每一計量讀數(shù)進(jìn)行以下操作來完成 檢查cons對讀數(shù)和表行而言是相同的;以及 檢查承諾是針對正確的表行的。提供者還檢查306承諾的組合與對總費(fèi)用的承諾相同,并且檢查計量讀數(shù)是順序的308并且沒有計量讀數(shù)被省去(否則用戶可能欺騙并避免支付所省去的計量讀數(shù))。為此,提供者可知道計量器在每一記賬時間段輸出的元組的數(shù)量(因?yàn)檫@一信息是公用域)。 另一可能性是使計量器能夠在記賬時間段的結(jié)尾時在該時間段內(nèi)輸出的元組的數(shù)量上輸出簽名。這一簽名隨后由賬單生成器報告給提供者。提供者可任選地能夠請求314賬單生成器揭示某些指定的計量讀數(shù)。如果賬單生成器準(zhǔn)許這一點(diǎn),例如如果用戶給予授權(quán),則將適當(dāng)?shù)拈_口細(xì)節(jié)發(fā)送給提供者。提供者接收 316對這些承諾的開口,并且能夠揭示指定的計量讀數(shù)。在一些實(shí)施例中,提供者能夠發(fā)起新定價策略。為了確保賬單生成器使用最新定價策略,提供者可以生成318新密鑰對。將該新公鑰通知給賬單生成器,并隨后用該新密鑰來簽署新定價策略并將其發(fā)送給322賬單生成器。定價策略中可包括有效性時間段。在該示例中,賬單生成器向提供者揭示總費(fèi)用,并且可通過任意支付渠道來支付該賬單。在一些情況下,用戶也可能想要隱藏總費(fèi)用。這可以通過使用現(xiàn)在描述的預(yù)付費(fèi)機(jī)制來實(shí)現(xiàn)。用戶通過任意支付渠道來向提供者支付初始保證金。為了計算賬單,賬單生成器對保證金的新值(即,舊值減去該記賬時間段期間的總費(fèi)用)作出承諾,并以零知識來證明所承諾的值是保證金的正確更新且它是非負(fù)的,使得提供者可以檢查用戶仍然具有足夠資金。在圖2和3的示例中,提供者以表的形式來發(fā)出離散定價策略,其中每一計量讀數(shù)被映射到一價格或費(fèi)用f??墒褂闷渌愋偷亩▋r策略。例如,在可能的消費(fèi)值的集合是大型集合的情況下,線性定價策略是有益的。線性策略指定每單位價格,而非指定每一可能消費(fèi)的價格。例如,如果該策略說每單位價格是3并且消費(fèi)是6,則應(yīng)付款是18。在線性定價策略的情況下,賬單生成器和提供者要證明和驗(yàn)證更多。各類型的定價策略的其他示例包括但不限于區(qū)間策略、累積策略、以及由多項(xiàng)式函數(shù)定義的策略。區(qū)間策略對一定范圍的消費(fèi)量設(shè)置固定費(fèi)用。累積策略考慮將消費(fèi)值域分成各個區(qū)間,每一區(qū)間被映射到一價格, 該價格是每消費(fèi)單位的價格。通過以這些方式來表示不同類型的定價策略,表達(dá)復(fù)雜的非線性定價策略是可能的??梢詫θ魏螘r間間隔,如每天、每星期、或每月,應(yīng)用任何策略。這些類型的策略的更多細(xì)節(jié)在下文給出。在一些示例中,用戶信任計量器。即,用戶信任計量器不會泄露除計量讀數(shù)之外的更多信息?,F(xiàn)在參考圖4來描述這一類型的實(shí)施例的示例,其中資源是可使用云計算、作為服務(wù)的軟件、或以任何其他方式來提供的計算資源。然而,可使用任何其他合適的資源。圖4是用于對計算資源402的使用進(jìn)行計量的保護(hù)隱私的計量系統(tǒng)的示意圖。該計算資源可以是web服務(wù),一個或多個CPU、GPU、或其他處理器,分布式計算資源,將軟件作為服務(wù)來提供的一個或多個計算設(shè)備,社交網(wǎng)絡(luò)服務(wù),公共數(shù)據(jù)庫,或其他計算資源。計算資源402可由用戶設(shè)備400使用任何類型的通信網(wǎng)絡(luò)404來訪問。用戶設(shè)備400可以是個人計算機(jī)、移動通信設(shè)備、膝上型計算機(jī)、個人數(shù)字助理、或能夠使用通信網(wǎng)絡(luò)404訪問計算資源402的任何其他計算設(shè)備。用戶設(shè)備400包括監(jiān)視用戶設(shè)備400對計算資源的使用的計量器406。如上所述, 計量器406在物理上和/或在功能上是防篡改的,并且如上所述被安排成提供經(jīng)證實(shí)的計量讀數(shù)和/或使用指定的承諾方案提供對計量讀數(shù)的經(jīng)證實(shí)的承諾。計量器406不必如圖 4中示出的那樣與用戶設(shè)備400集成在一起。計量器可以位于與用戶設(shè)備400進(jìn)行通信以使得它能夠以準(zhǔn)確且可證實(shí)的方式來監(jiān)視用戶108對計算資源的消費(fèi)的任何位置。用戶設(shè)備400還包括保護(hù)隱私的賬單生成器106,它與計量器406進(jìn)行通信并且被安排成將零知識證明和保護(hù)隱私的賬單發(fā)送給提供者114。如上所述,保護(hù)隱私的賬單生成器106可以在遠(yuǎn)離用戶設(shè)備400的其他位置處提供。提供者114控制對計算資源402的使用并且根據(jù)一個或多個定價策略來向?qū)τ嬎阗Y源402的使用進(jìn)行收費(fèi)。它包括被安排成驗(yàn)證由賬單生成器提供的零知識證明的計算機(jī)實(shí)現(xiàn)的驗(yàn)證者116。在安裝了計量器之后,可以阻止該計量器與提供者之間的通信以保護(hù)用戶的隱私。提供者能夠與賬單生成器進(jìn)行通信來對用戶的消費(fèi)記賬,并且在用戶準(zhǔn)許的情況下能夠知道消費(fèi)數(shù)據(jù)。在圖4的示例中,用戶信任計量器。如上所述,計量器因而能夠輸出對計量讀數(shù)的承諾而非實(shí)際計量讀數(shù)本身。同樣,計量器和提供者所使用的簽名方案可以是或不是具有證明擁有簽名的有效證明的可重新隨機(jī)化的簽名方案??梢允褂貌豢蓚卧烨铱善毡轵?yàn)證的任何簽名方案。不可偽造的簽名方案是這樣的簽名方案沒有簽名密鑰的人在他們沒有預(yù)先看到有效簽名之前不能作出對消息的簽名??善毡轵?yàn)證的簽名方案是這樣的簽名方案 具有公共驗(yàn)證密鑰的任何人都可以驗(yàn)證簽名消息對是真實(shí)的。圖5是諸如圖4的賬單生成器或保護(hù)隱私的計量系統(tǒng)中使用的任何其他賬單生成器等賬單生成器處的方法的流程圖,其中用戶信任計量器不會泄露除計量讀數(shù)之外的任何 fn息ο如上所述,各方(計量器M、提供者P、以及賬單生成器U)中的每一方生成公鑰私鑰對,并在可信登記實(shí)體處登記其公鑰。提供者計算附加同態(tài)承諾方案的參數(shù)并將這些參數(shù)發(fā)送給計量器和賬單生成器。不必使用附加同態(tài)承諾方案。在初始化階段,提供者能夠選擇將消費(fèi)值映射到價格的定價策略。提供者簽署該策略并將其發(fā)送給賬單生成器。提供者稍后能夠通過向賬單生成器發(fā)送新簽署的策略來更新定價策略。參考圖5,現(xiàn)在描述賬單生成器處的示例過程。賬單生成器接收并驗(yàn)證500經(jīng)簽署的定價策略上的簽名。賬單生成器從計量器獲取502對計量讀數(shù)的經(jīng)簽署的承諾以及這些承諾的開口。 例如,在記賬時間段期間,計量器產(chǎn)生如以上參考圖2所描述的元組(d,cons,other)。計量器對cons和other作出承諾,并隨后計算這些承諾上的以及d上的簽名sc。計量器將該消息簽名對和這些承諾的開口發(fā)送給賬單生成器。在該示例中,計量器分別對cons和other 作出承諾。這使得U能夠在揭示階段選擇性地向P公開一個值或另一個值。然而,在兩個參數(shù)被一起公開或省去揭示階段的應(yīng)用中,計量器可在單個承諾中對這兩個值作出承諾以提高效率。對于對計量讀數(shù)的每一經(jīng)簽署的承諾504,賬單生成器獲取計量讀數(shù)并根據(jù)定價策略來計算506該計量讀數(shù)的價格。它計算508對該價格的承諾。同樣,它生成零知識證明,該零知識證明證明 賬單生成器持有對計量讀數(shù)的承諾的開口 ; 賬單生成器持有對價格的承諾的開口 ; 賬單生成器持有對定價策略的簽名,該定價策略在被用于計算計量讀數(shù)的價格時給出計算得到的價格。如上所述,生成零知識證明的過程可包括生成質(zhì)詢和響應(yīng)。該零知識證明包括證明擁有簽名的證明和證明擁有對承諾的開口的證明。這確保該證明不向提供者公開可用于找出消費(fèi)值的任何細(xì)節(jié)。在這兩種情況下,該零知識證明包括證明擁有將消費(fèi)值從計量器映射到價格的信息上的簽名的證明。因?yàn)樗褂玫某兄Z方案是附加同態(tài)的,所以賬單生成器能夠合計512對價格的承諾的開口以獲取對總費(fèi)用的開口。這簡化了賬單生成器處的計算。在使用其他非同態(tài)承諾方案的情況下,總費(fèi)用的開口是用任何其他合適的方式來計算得到的。例如,賬單生成器可以構(gòu)建對總費(fèi)用的承諾并以零知識來證明這是對各部分費(fèi)用的總和的承諾。賬單生成器簽署支付消息并將其發(fā)送給514提供者。該支付消息包括對總費(fèi)用的承諾、總費(fèi)用的開口、對計量讀數(shù)的經(jīng)簽署的承諾、對價格的承諾、以及零知識證明質(zhì)詢和響應(yīng)。在該示例中,對于每一 504經(jīng)簽署的對計量讀數(shù)的承諾,賬單生成器計算對要支付的價格的承諾和證明這一價格正確的證明。為了證明總費(fèi)用是所有所承諾的價格的總和,賬單生成器向P提供所有承諾的開口的總和。在不知道總費(fèi)用時,計算每一元組的承諾和證明使得賬單生成器能夠從記賬時間段的開頭來開始賬單的計算。在支付消息的計算被延遲直至賬單生成器知道了元組為止的應(yīng)用中,避免對價格的承諾的計算以及避免對每一元組計算證明知曉的一個證明是可能的。相反,對每一賬單消息計算證明知曉的一個零知識證明是可能的。該證明示出要為每一元組支付的價格的總和等于總費(fèi)用。
參考圖6,現(xiàn)在給出提供者處的示例方法以與圖5的示例方法結(jié)合使用。提供者接收600來自賬單生成器的支付消息并驗(yàn)證簽名以確信該消息實(shí)際上是從賬單生成器接收到的。提供者還驗(yàn)證602計量器在對計量讀數(shù)的承諾上的簽名。以此方式,提供者確信計量讀數(shù)確實(shí)實(shí)際上源自該計量器。提供者處的驗(yàn)證者驗(yàn)證604零知識證明。例如,這包括給定來自賬單生成器的質(zhì)詢和響應(yīng)來計算承諾。驗(yàn)證者重新計算質(zhì)詢并檢查它是否等于賬單生成器給出的質(zhì)詢。驗(yàn)證者合計606對價格的承諾以獲取對總費(fèi)用的承諾。它檢查608在支付消息中接收到的開口是否是所合計的承諾的有效開口并從如果是則獲取總費(fèi)用。驗(yàn)證者還檢查610對計量讀數(shù)的承諾是順序的并且沒有計量讀數(shù)被省去。在一些情況下,提供者可以請求612賬單生成器揭示一些特定計量讀數(shù)。這是可任選步驟。響應(yīng)于這樣的請求,在用戶給出了用于公開該信息的授權(quán)的情況下,提供者可以接收614對指定計量讀數(shù)的承諾的開口。在這種情況下,計量讀數(shù)不能被偽造,并且提供者能夠向第三方證明它們正確或不正確。現(xiàn)在給出實(shí)現(xiàn)圖5和6的方法的協(xié)議的詳細(xì)示例。在該示例中,使用包括算法(Keygen ;Sign ;Verify)(密鑰生成器;簽署;驗(yàn)證)的簽名方案。Keygen(Ik)輸出密鑰對(sk,pk)。Sign(sk,m)輸出消息m上的簽名S。如果s 是m上的有效簽名,則Verify (pk,s,m)輸出接受(acc印t),都則輸出拒絕(reject) 0這一定義可被擴(kuò)展以支持多塊消息m= Im1,...,mn}。提供了不可偽造性,由此p. p. t.(概率性多項(xiàng)式時間)對手不能夠輸出消息-簽名對(s,m),除非該對手先前獲得了 m上的簽名。在該示例中,使用了包括算法ComSetup (設(shè)置承諾)、Commit (承諾)、以及 Open (開啟)的非交互式承諾方案。ComSetup(Ik)生成承諾方案的參數(shù)par。。Commit (parc, x)輸出對χ的承諾cx以及輔助信息openx。承諾是通過揭示(X,Openx)并檢查Open (parc, cx, c, openx)是否輸出接受來開啟的。承諾方案具有隱藏屬性和綁定屬性。簡言之,隱藏屬性確保對χ的承諾cx不揭示關(guān)于χ的任何信息,而綁定屬性確保cx不對另一值χ ‘開
啟。如果給定分別具有開口(A,Opewjci)和( ,OpewjJ的兩個承諾、和 ,存在一運(yùn)算使得在c = cXi 、的情況下Open^are5C5X1 + x2openx、+ openXi)輸出接受,則說承諾方案是附加同態(tài)的。另外,承諾方案還可提供承諾、與值&之間的運(yùn)算Θ,O,使得在° =、 &的情況下 Open ( parc ,c,xxxx2, ορβηΧχ, x ^)輸出接受。在該示例中,使用陷門承諾方案,其中算法ComSetup (Ik)生成par。和陷門td。給定具有開口 (X1, openXi)的承諾c和值x2,陷門td允許找出openXi使得算法 Open (parc ,c,x2, openXi)輸出接受。在該示例中,證明知曉的零知識證明是證明者與驗(yàn)證者之間的雙方協(xié)議。證明者向驗(yàn)證者證明知曉某些秘密輸入(證明),該秘密輸入可以在不向驗(yàn)證者公開這一輸入的情況下滿足某一聲明。該協(xié)議滿足兩個屬性。第一,它是證明知曉的證明,即證明者在不知道秘密輸入的情況下基本不可能使驗(yàn)證者信服。技術(shù)上而言,基本上不可能存在從成功的證明者提取秘密輸入的知識提取器。第二,它是零知識,即驗(yàn)證者除了該聲明的真實(shí)性之外不知道任何事。技術(shù)上而言,對于可能的驗(yàn)證者,存在著這樣的仿真器在不知道秘密輸入的情況下,它產(chǎn)生不能與同真實(shí)證明者的交互區(qū)分開的分布。證明不可區(qū)分性是要求該證明不揭示證明者(在所有可能的證明中)使用的那些證明的較弱屬性。在該示例中,賬單生成器可以使用以下證明中的任何一個或多個來生成零知識證明證明知曉秘密算法的證明;證明知曉不同表示中的某一元素的等同性的證明;具有區(qū)間檢查的證明、范圍證明、以及前述證明中的任何兩個的分開或結(jié)合的證明。這些結(jié)果通常以Σ protocol ( Σ協(xié)議)的形式給出,但在隨機(jī)諭示(oracle)模型中它們可經(jīng)由 Fiat-Shamir試探法被轉(zhuǎn)換成非交互式零知識論據(jù)。在引用上述證明時,本文遵循Camenisch和Stadler對證明知曉離散算法的各種證明和證明與離散算法有關(guān)的聲明的有效性的證明引入的記法。ΝΙΡΚ{( , β,δ)\γ = g0ag/ 八羅=J;"八 J < 5}表示“知曉整數(shù)《、
β、以及S的零知識證據(jù),使得yJ = JT 以及 A 彡 α 彡 B 成立。,,其中7,而,&,55,^是具有相同次數(shù)的一些群7,而,&,爻€,€的元素。(注意, y和J5的表示中的一些元素是相同的)。約定如下圓括號中的字母(在該示例中是α、β、 和δ)表示已證明知曉的數(shù)量值,而其他值對驗(yàn)證者而言是已知的。在本文中,證明擁有簽名的非交互式證明表示為NIPK{(x, sx) Verify (pk, χ, sx)=接受}。在該示例中,M、U、以及P所使用的簽名方案表示為(Mkeygen ;Msign ;Mverify)、 (Ukeygen ;Usign ;Uverify)、以及(Pkeygen ;Psign ;Pverify)。H 表示抗沖突散列函數(shù)。在設(shè)置階段,M運(yùn)行Mkeygen (Ik)來獲取密鑰對(skM,pkM),U運(yùn)行Ukeygen (Ik)來獲取密鑰對 (Skl^pku),且P運(yùn)行Hceygen(Ik)來獲取密鑰對(skP,pkP)。每一方向可信登記實(shí)體登記其公鑰,并通過查詢該可信登記實(shí)體來檢索來自其他方的公鑰。P運(yùn)行ComSetup (Ik)來獲取 par。和陷門 td,計算證明 Ji = NIPKKtd) (parc, td) 一 ComSetup (Ik)}并將(parc, ji)發(fā)送給U且將(parc)發(fā)送給M。U驗(yàn)證π。提供隱私的計量的示例協(xié)議包括以下階段,初始化、消費(fèi)、支付、以及揭示?,F(xiàn)在更詳細(xì)地描述這些階段。初始化。在用(策略,Τ)激活P時,P運(yùn)行SignP0liCy(Skp,Τ)(簽署策略)來獲取經(jīng)簽署的策略Ts。P將Ts發(fā)送給U。U運(yùn)行VerifyPolicy (pkP,Ts)(驗(yàn)證策略)來獲取一個位b。如果b = O,則U拒絕該策略。否則,U存儲T s。消費(fèi)。在用(consume, cons, other)((消費(fèi),消費(fèi),其他))激活M時,M使計數(shù)器dM(初始化為0)遞增,并運(yùn)行SignConsumption (skM,par。,cons, other, dM)(簽署消費(fèi))來獲取經(jīng)簽署的消費(fèi)SC。M將(SC)發(fā)送給U。U遞增計數(shù)器Clu并運(yùn)行VerifyC0nsUmpti0n(pkM, par。,SC, du)(驗(yàn)證消費(fèi))來獲取一個位b。如果b = 0,則U拒絕SC并向P發(fā)送指示計量器不正常工作的消息。否則,U將SC附加到存儲所有消費(fèi)的表T。支付。在用(payment)(支付)激活P時,P將(payment)發(fā)送給U。令N是U自接收到前一消息(payment)以來接收到的(consume,· · ·)(消費(fèi))消息的數(shù)量。U運(yùn)行Pay(Sku,parc,UWu-tdJ)(支付)來獲取支付消息Q并將(Q)發(fā)送給P。P運(yùn)行VerifyI^yment(pkM, Pku, pkP, par。,Q,dP)(驗(yàn)證支付)來獲取(b,d' p)。如果b = 0,則P拒絕該支付,而否則接受它并設(shè)置dp= (Τ ρ。揭示。在用(reveal,i)(揭示)激活P時,P檢查i e
并且將⑴發(fā)送給U。U運(yùn)行Reveal (sku;T, i)(揭示)來獲取開口消息R并將(R)發(fā)送給P。P選取包含i的支付消息Q并運(yùn)行VerifyReveal (p、,par。,Q,R,i)(驗(yàn)證揭示)來獲取一個位b。如果b = 0,則 P將(reject, Q,R)(拒絕)發(fā)送給U,而否則它將(accept)(接受)發(fā)送給U?,F(xiàn)在指定在各示例協(xié)議階段中使用的函數(shù)的示例。SignPolicy(skP,T)。對于每一元組(cons, other, price) e T ,計算 sp = Psign(skP<cons, other, price(如以下更詳細(xì)地描述的,簽署元組(c0ns,0ther,price)(消費(fèi),其他,價格)的方式取決于要被簽署的特定策略T。)令丫,= (CWWpO溈巧,pWce,.,sp,.)=是消息-簽名元
組的集合。輸出Ts。VerifyPolicy (pkp, T s)。對于i = 1至Ij n,將T s解析成(con、0認(rèn)巧·,PrZcepSPi)二,且對于i = 1至Ij n,運(yùn)
行Pverify (pkP,sPi,〈cons" Otheri, price,)。如果這些輸出中的任一個是拒絕,則輸出b =0,而否則輸出b = 1。SignConsumption (skM, parc, cons, other, dM)。執(zhí)沖亍(ccons, opencons) = Commit (parc, cons)禾口 (Cother, openother) = Commit (parc, other)兩者。運(yùn)行 sc = Msign (skM, <dM, Ccons, cother>)并輸出 SC = (dM, cons, opencons, Ccons, other, openother, Cother, sc)。VerifyConsumption (pkM, parc, SC, (Iu).奪 f肖肩、SC 角軍析成(dM, cons, opencons, Ccons, other, openother, Cother, sc)。計算 Open (parc, Ccons, cons, opencons)禾口 0pen(parc, Cother, other, openother),并且如果它們中的任一個輸出拒絕則輸出b = O。運(yùn)行Mverify (pkM,sc, <(! , Ccons, cother>)并且如果該輸出是拒絕則輸出b = O。否則輸出b= 1。Pay(sku,parc,Ts,T)。對于每一條目(dM, cons, opencons, Ccons, other, open。ther, Cother, sc) e Τ,計算 price (價格)=T (cons, other),運(yùn)行(cprice, openprice) = Commit (parc, price)并計算非交互式的證明不可區(qū)分開的證明η 1NIPK {(price, openprice, cons, opencons, other, openother, sp)(ccons, opencons) = Commit (parc, cons) Λ(cother, openother) = Commit (parc, other) Λ(cprice, openprice) = Commit (parc, price) ΛPverify (pkP, sp, <cons, other, price = accept}令N是T中的條目的數(shù)量。計算總費(fèi)用
權(quán)利要求
1.一種保護(hù)隱私的記賬系統(tǒng),包括被安排成至少實(shí)現(xiàn)以下組件的一個或多個計算設(shè)備被安排成在記賬時間段期間接收來自計量器(100)的經(jīng)證實(shí)的計量讀數(shù)(104)的輸入組件,所述計量讀數(shù)指示用戶對公用事業(yè)、商品、或服務(wù)的消費(fèi),所述計量器被安排成測量所述用戶(108)對公用事業(yè)、商品、或服務(wù)的消費(fèi);經(jīng)證實(shí)的定價策略存儲,所述定價策略存儲被安排成持有作為多個表行的至少一個經(jīng)證實(shí)的定價策略以及由所述公用事業(yè)、商品、或服務(wù)的提供者來簽署的所述多個表行中的至少一個的至少一個簽名,所述經(jīng)證實(shí)的定價策略指示所述公用事業(yè)、商品、或服務(wù)的消費(fèi)的定價;被安排成至少部分地基于所述經(jīng)證實(shí)的定價策略和所述經(jīng)證實(shí)的計量讀數(shù)來生成賬單(112)的賬單生成器(106),所述賬單包括在所述記賬時間段期間消費(fèi)的總費(fèi)用并省去了所述經(jīng)證實(shí)的計量讀數(shù);被安排成生成展示所述賬單是從所述經(jīng)證實(shí)的計量讀數(shù)和所述經(jīng)證實(shí)的定價策略來形成的非交互式零知識證明的證明引擎,所述零知識證明包括用于證明擁有被用來計算所述總費(fèi)用的所述表行上的簽名的質(zhì)詢和響應(yīng);被安排成接收所述賬單和非交互式零知識證明的驗(yàn)證者(116);所述驗(yàn)證者被安排成在不獲取所述經(jīng)證實(shí)的計量讀數(shù)的任何知識的情況下,通過給定所述非交互式零知識證明的質(zhì)詢和響應(yīng)并至少部分地基于所述響應(yīng)來計算承諾、計算第二質(zhì)詢并檢查該第二質(zhì)詢是否等于所述零知識證明的各質(zhì)詢中的第一質(zhì)詢,以驗(yàn)證所述零知識證明。
2.如權(quán)利要求1所述的保護(hù)隱私的賬單系統(tǒng),其特征在于,所述賬單生成器被安排成向所述驗(yàn)證者(116)發(fā)送包括所述非交互式零知識證明質(zhì)詢和響應(yīng)、以及對被用于計算所述總費(fèi)用的定價策略的各段的承諾、以及對所述計量讀數(shù)的承諾的經(jīng)簽署的消息,并且其中所述驗(yàn)證者被安排成將所述經(jīng)簽署的消息賬單承諾鏈接到對每計量讀數(shù)費(fèi)用的承諾。
3.如權(quán)利要求1所述的保護(hù)隱私的賬單系統(tǒng),其特征在于,所述賬單生成器被安排成向所述驗(yàn)證者(116)發(fā)送包括對與各單獨(dú)計量讀數(shù)相關(guān)聯(lián)的費(fèi)用的承諾的經(jīng)簽署的消息, 并且其中所述驗(yàn)證者被安排成檢查對這些費(fèi)用的承諾的組合與對所述總費(fèi)用的承諾相同。
4.如權(quán)利要求1所述的保護(hù)隱私的賬單系統(tǒng),其特征在于,所述賬單生成器被安排成向所述驗(yàn)證者(116)發(fā)送包括對所述計量讀數(shù)的承諾的經(jīng)簽署的消息,并且其中所述驗(yàn)證者訪問所述記賬時間段期間預(yù)期計量讀數(shù)的數(shù)量,并且其中所述驗(yàn)證者檢查計量讀數(shù)的該預(yù)期數(shù)量被用于計算總費(fèi)用且檢查這些計量讀數(shù)是順序的。
5.如權(quán)利要求1所述的保護(hù)隱私的賬單系統(tǒng),其特征在于,所述驗(yàn)證者(116)被安排成向所述賬單生成器發(fā)送揭示一些指定的計量讀數(shù)的請求,并且其中所述賬單生成器被安排成只有在所述用戶授權(quán)的情況下才揭示所指定的計量讀數(shù)。
6.一種計算機(jī)實(shí)現(xiàn)的生成對由提供者提供的公用事業(yè)、商品、或服務(wù)的消費(fèi)的賬單 (112)的方法,所述方法包括在記賬時間段期間,接收來自計量器(100)的經(jīng)證實(shí)的計量讀數(shù)(104),所述計量器被安排成測量用戶(108)對所述公用事業(yè)、商品、或服務(wù)的消費(fèi),所述計量讀數(shù)指示所述用戶對所述公用事業(yè)、商品、或服務(wù)的消費(fèi);接收來自所述提供者的經(jīng)證實(shí)的定價策略,所述經(jīng)證實(shí)的定價策略指示對所述公用事業(yè)、商品、或服務(wù)的消費(fèi)的定價;至少部分地基于所述經(jīng)證實(shí)的定價策略和所述經(jīng)證實(shí)的計量讀數(shù)來生成賬單(112), 所述賬單包括在所述記賬時間段期間消費(fèi)的總費(fèi)用并省去了所述經(jīng)證實(shí)的計量讀數(shù);生成展示所述賬單是從所述經(jīng)證實(shí)的計量讀數(shù)和所述經(jīng)證實(shí)的定價策略形成的證明; 所述證明是在不揭示所述經(jīng)證實(shí)的計量讀數(shù)的情況下可普遍驗(yàn)證的。
7.如權(quán)利要求6所述的方法,其特征在于,所述證明是非交互式零知識證明,其中證明者可以用零知識來向驗(yàn)證者證明一聲明,而無需所述驗(yàn)證者向所述證明者發(fā)送任何信息。
8.如權(quán)利要求7所述的方法,其特征在于,包括使用將所述計量讀數(shù)映射到費(fèi)用的所述經(jīng)證實(shí)的定價策略的各部分上的簽名來生成所述證明,并且其中所述證明包括對擁有這些簽名的零知識證明。
9.如權(quán)利要求6所述的方法,其特征在于,所述計量讀數(shù)包括多個計量讀數(shù),并且接收所述經(jīng)證實(shí)的定價策略包括作為多個經(jīng)簽署的表行來接收并存儲所述經(jīng)證實(shí)的定價策略, 每一表行將所述多個計量讀數(shù)中的特定計量讀數(shù)映射到所述經(jīng)證實(shí)的定價策略的費(fèi)用;并且其中生成所述證明包括生成所述證明以包括對擁有被用于生成所述總費(fèi)用的所述表行上的簽名的零知識證明和對被用于生成所述總費(fèi)用的所述表行中的值與對所述賬單的總費(fèi)用的承諾中的值之間的相等性的零知識證明,其中承諾是以隱藏的形式以在隱藏的值被揭示給接收者之前發(fā)送者不能夠改變該隱藏的值的方式發(fā)送給接收者的值。
10.如權(quán)利要求6所述的方法,其特征在于,接收所述經(jīng)證實(shí)的定價策略包括作為多個經(jīng)簽署的表行來接收所述經(jīng)證實(shí)的定價策略,每一表行將特定計量讀數(shù)映射到每消費(fèi)單位費(fèi)用;并且其中生成所述證明包括生成所述證明以包括證明擁有被用于生成所述賬單的總費(fèi)用的所述表行上的簽名的零知識證明、對相等性的零知識證明、以及對所述總費(fèi)用的承諾中的值等于所述經(jīng)證實(shí)的計量讀數(shù)的消費(fèi)值乘以所述經(jīng)證實(shí)的定價策略的每單位消費(fèi)費(fèi)用的零知識證明。
11.如權(quán)利要求6所述的方法,其特征在于,接收所述經(jīng)證實(shí)的定價策略包括作為多個經(jīng)簽署的表行來接收所述經(jīng)證實(shí)的定價策略,每一表行將一定范圍的消費(fèi)值映射到一費(fèi)用;并且其中生成所述證明包括對于每一計量讀數(shù),生成所述證明以包括對擁有適當(dāng)表行上的簽名的零知識證明、所述計量讀數(shù)消費(fèi)值處于該經(jīng)簽署的表行的消費(fèi)值范圍內(nèi)的零知識證明、以及對該經(jīng)簽署的表行中的費(fèi)用與對所述費(fèi)用的承諾中的值之間的相等性的零知識證明。
12.如權(quán)利要求6所述的方法,其特征在于,接收并存儲所述經(jīng)證實(shí)的定價策略包括作為多個經(jīng)簽署的表行來接收并存儲所述經(jīng)證實(shí)的定價策略,每一表行將一定范圍的消費(fèi)值映射到每消費(fèi)單位費(fèi)用;并且其中生成所述證明包括對于每一計量讀數(shù),生成所述證明以包括對擁有適當(dāng)表行上的簽名的零知識證明、所述計量讀數(shù)消費(fèi)值處于該經(jīng)簽署的表行的消費(fèi)值范圍內(nèi)的零知識證明、以及對所述費(fèi)用的承諾中的值等于所述計量讀數(shù)的消費(fèi)值乘以所述每消費(fèi)單位費(fèi)用的零知識證明、以及對相等性的另一零知識證明;其中承諾是以隱藏的形式以在隱藏的值被揭示給接收者之前發(fā)送者不能夠改變該隱藏的值的方式發(fā)送給接收者的值。
13.如權(quán)利要求6所述的方法,其特征在于,接收并存儲所述經(jīng)證實(shí)的定價策略包括作為多個經(jīng)簽署的表行來接收并存儲所述經(jīng)證實(shí)的定價策略,每一表行包括將一定范圍的消費(fèi)值映射到費(fèi)用的多項(xiàng)式函數(shù);其中承諾是以隱藏的形式以在隱藏的值被揭示給接收者之前發(fā)送者不能夠改變該隱藏的值的方式發(fā)送給接收者的值。
14.一種計算機(jī)實(shí)現(xiàn)的驗(yàn)證對公用事業(yè)、商品、或服務(wù)的消費(fèi)的賬單的方法,所述方法包括接收經(jīng)簽署的支付消息,所述經(jīng)簽署的支付消息包括具有總價格并省去消費(fèi)值的賬單 (112);以及證實(shí)所述賬單的非交互式零知識證明,所述證明包括第一質(zhì)詢和響應(yīng);使用數(shù)字簽名方案來驗(yàn)證所述支付消息上的簽名;在不找出被用來計算所述總價格的消費(fèi)值的情況下,通過給定所述質(zhì)詢和響應(yīng)來計算承諾并計算第二質(zhì)詢并且檢查該第二質(zhì)詢是否等于在所述支付消息中接收到的第一質(zhì)詢來驗(yàn)證所述零知識證明。
15.如權(quán)利要求14所述的方法,其特征在于,所述經(jīng)簽署的支付消息包括對被用于計算所述賬單(11 的計量讀數(shù)的承諾;所述方法還包括訪問計量讀數(shù)的預(yù)期數(shù)量并檢查所述支付消息賬單承諾的數(shù)量等于計量讀數(shù)的預(yù)期數(shù)量以及檢查對被用來計算所述賬單的所述計量讀數(shù)的承諾是順序的。
全文摘要
本發(fā)明涉及保護(hù)隱私的計量。描述了保護(hù)隱私的計量,諸如用于電、燃?xì)?、或水的計量,使用云計算資源的計量,交通堵塞計費(fèi)以及其他計量應(yīng)用。在各示例中,細(xì)粒度的用戶消費(fèi)數(shù)據(jù)被保持私密,并且不公開給用戶所使用資源的提供者。在各示例中,賬單生成器接收經(jīng)證實(shí)的計量讀數(shù)以及經(jīng)證實(shí)的定價策略,并且生成省去細(xì)粒度用戶消費(fèi)數(shù)據(jù)的賬單。例如,賬單生成器生成證明該賬單正確的零知識證明并且將該證明與該賬單一起發(fā)送給提供者。在各示例中,提供者能夠使用該零知識證明來檢驗(yàn)該賬單是正確的,而無需找出用戶的私密消費(fèi)數(shù)據(jù)。在一實(shí)施例中,定價策略被存儲成表的經(jīng)簽署的各行,以便能夠高效地生成零知識證明。
文檔編號G06Q30/02GK102446329SQ20111030803
公開日2012年5月9日 申請日期2011年9月28日 優(yōu)先權(quán)日2010年10月8日
發(fā)明者A·R·杜蘭, G·達(dá)納齊 申請人:微軟公司