TWI452533B - 維護隱私的計量 - Google Patents

維護隱私的計量 Download PDF

Info

Publication number
TWI452533B
TWI452533B TW100133814A TW100133814A TWI452533B TW I452533 B TWI452533 B TW I452533B TW 100133814 A TW100133814 A TW 100133814A TW 100133814 A TW100133814 A TW 100133814A TW I452533 B TWI452533 B TW I452533B
Authority
TW
Taiwan
Prior art keywords
verified
meter
bill
proof
zero
Prior art date
Application number
TW100133814A
Other languages
English (en)
Other versions
TW201218108A (en
Inventor
George Danezis
Alfredo Rial Duran
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW201218108A publication Critical patent/TW201218108A/zh
Application granted granted Critical
Publication of TWI452533B publication Critical patent/TWI452533B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/06Electricity, gas or water supply
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Description

維護隱私的計量
本發明涉及計量,尤其涉及維護隱私的計量。
在許多應用領域中皆涉及計量,如電計量,水計量,燃氣計量,按駕駛付費的車輛保險,交通堵塞計費,諸如按觀看付費式的數位版權管理、作為服務計量的軟體等線上服務計量,以及其他。然而,隨著計量的複雜度的增加,存在著對使用者隱私維護的顧慮。例如,經由細細微性的電量計量讀數,經由負載監視來標識使用了哪些電器是可能的。詳細的消費資料可以促進建立使用者的生活方式簡檔,帶有諸如他們何時在家、他們何時吃飯、他們是否上班遲到等等資訊。在存在計量的其他應用領域中亦引發了使用者隱私顧慮。例如,按駕駛付費的車輛保險,基於車輛的時間、距離和位置的繳稅可能使該細細微性的資訊可由提供者獲得。
執行計量的用於維護使用者隱私的現有方法通常是行政性的,例如基於行為守則、規章及法律。
用於維護使用者隱私的其他解決方案涉及允許生活在同一街區的使用者群體在不揭露他們單獨的消費的情況下計算他們的消費的總和。然而,這一類型的方法很複雜並且依賴於該群體中的使用者之間的協調。
以下描述的各實施例不限於解決已知維護隱私的計量系統的缺點中的任一個或全部的實現。
以下呈現了本案簡化的概述,以便向讀者提供基本理解。本概述不是本案詳盡的概述,並且其不意欲標識本發明關鍵/決定性的元素或者說明本發明的範圍。其唯一目的是以簡化形式呈現此處揭露的一些概念,作為稍後呈現的更詳細描述的序言。
描述了維護隱私的計量,諸如用於電、燃氣,或水的計量,使用雲端計算資源的計量,交通堵塞計費以及其他計量應用。在各實例中,細細微性的使用者消費資料被保持私密,並且不揭露給使用者所使用資源的提供者。在各實例中,帳單產生器接收經證實的計量讀數以及經證實的定價策略,並且產生省去細細微性使用者消費資料的帳單。例如,帳單產生器產生證明該帳單正確的零知識證明並且將該證明與該帳單一起發送給提供者。在各實例中,提供者能夠使用該零知識證明來檢驗該帳單是正確的,而無需找出使用者的私密消費資料。在一實施例中,定價策略被儲存成表的經簽署的各行,以便能夠高效地產生零知識檢視。
藉由參考結合附圖考慮的以下詳細描述,眾多伴隨的特徵將會更加容易理解並更好理解。
下文結合附圖提供的詳細描述意欲作為本發明實例的描述,並不意欲表示可以構建或使用本發明實例的唯一形式。本描述闡述了本發明實例的功能,以及用於構建和操作本發明實例的步驟的序列。然而,可以藉由不同的實例來實現相同或等效功能和序列。
儘管在本文中將本發明的實例描述並示出為在智慧計量系統中實現,但是所描述的系統只是作為實例而非限制來提供的。本領域的技藝人士將會明白,本發明實例適合在各種不同類型的計量系統中的應用。
在下文中提供的實例中,在計量應用中使用密碼技術來維護使用者的隱私。現在不使用正式數學定義在高層面解釋密碼學領域的一些術語,以幫助理解本發明的各實例。
承諾方案是使發送者能夠對值作出承諾並以對接收者隱藏的方式將該值發送給接收者的方法。發送者稍後能夠揭示該隱藏的值。因為發送者對該值作出承諾,所以發送者不能夠藉由在該值被揭示給接收者之前改變該值來「欺騙」或偏置發送者與接收者之間的互動。想出用於對值作出承諾的程序是可能的,例如將該值置於一個盒中、鎖住該盒並將該盒給予不能解鎖該盒的接收者。發送者不能改變該值,因為接收者擁有該盒。該值對接收者而言是隱藏的,因為該盒是鎖住的。然而,發送者可以藉由幫助接收者解鎖該盒來揭示該值。並非使用盒子和實體鎖,可以使用類似的數學程序來使發送者能夠對值作出承諾。在揭示階段,發送者可以提供與上例中的鑰匙類似的開啟值,並使接收者能夠使用數學程序來揭示或開啟該承諾。
同態承諾方案是此種方案:藉由將各單獨承諾的開啟要求進行組合,可將使用該方案形成的兩個承諾進行組合以使得經組合的承諾可被開啟(亦即,揭示)。對承諾的操作造成對所承諾的值的操作。關於同態承諾方案的更多細節將在以下提供。
零知識證明是兩個實體(證明者和驗證者)之間的方法,其使證明者能夠在除一聲明的真實性之外不揭示任何事物的情況下向驗證者展示該聲明是真實的。例如,在計量應用的情況下,使用者可能希望在不向公用事業公司或其他提供者(驗證者)揭示計量讀數的情況下向該提供者證明他或她的帳單是正確的。例如,零知識證明可以是允許證明者使接收者確信他們在不揭示一些所承諾的值情況下知道該等值的三方協定。在第一階段,證明者產生對隨機值的一組承諾,其想要為其提供知識的值中的每一個皆有一個承諾。在第二方,藉由將單向函數用於對隨機值的該等承諾上,證明者產生質詢。在第三方,證明者計算作為該等秘密值、隨機值、以及該質詢的函數的一組回應。驗證者隨後可以確保該回應滿足公共等式,以使其自己確信證明者知道該秘密的所承諾的值。為了對證明知曉的零知識證明進行驗證,給定質詢和來自證明者的回應,驗證者首先計算承諾。隨後,其重新計算質詢並檢查其是否等於證明者提供的質詢。
非互動式零知識證明是特定類型的零知識證明,其中證明者能藉由向驗證者發送訊息(例如,該訊息包括質詢和回應)(驗證者隨後可以檢查該訊息)來以零知識向驗證者證明一聲明。以此方式,驗證者不需要向證明者發送任何資訊,並且因而證明者與驗證者之間沒有互動。
數位簽章方案(在本文中稱為簽名方案)是使諸如文件、電子郵件、訊息或其他內容等項能夠由發送者以使接收者能夠確信該內容實際上由所聲稱的發送者發送的方式來簽署的密碼方案。簽名隨後由任何人驗證為是有效的並且被稱為是「可普遍驗證的」。可重新隨機化的簽名方案是此種方案:任何人可以產生許多簽名,每一簽名與另一簽名稍微不同,並且接收實體能夠驗證該等簽名中的任一個源自簽署實體。給定有效的可重新隨機化的簽名,任何人(不需要秘密)可以在同一訊息上產生另一有效的簽名。這一新鮮簽名不可連接到原始簽名。簽名方案可具有對擁有簽名的有效零知識證明。
圖1是維護隱私的計量系統102的示意圖。使用者108消費可以是任何商品或服務的資源並且該消費由計量器100來監視。該資源由提供者114提供,在一些實例中提供者114能夠向計量器100發送通訊(提供者並非必需能夠向計量器發送通訊)。為維護使用者108的隱私,計量器100的可信核心與提供者114之間不存在直接的無仲介通訊鏈路。提供者與計量器的同計量不相關的其他各方之間的直接通訊可以存在。例如,以使提供者能夠將電力供應打開和關閉。計量器100在地理上可以遠離提供者來放置。
使用者108具有代理,在圖1中示為維護隱私的帳單產生器106。此為電腦實現的並且被安排成接收來自計量器100的經證實的讀數104。維護隱私的帳單產生器106具有被安排成接收來自提供者的經證實的定價策略110或價目表的輸入元件。其將該等儲存在經證實的定價策略儲存中。維護隱私的帳單產生器使用計量器讀數以及定價策略來計算要由使用者108支付給提供者的帳單。計算得到的帳單提供要支付的總額並且省去可損害使用者隱私的詳細的計量讀數。在使用者授權的情況下,計算得到的帳單可包含計量讀數細節。維護隱私的帳單產生器106包括決定用於證實該帳單正確的零知識證明的證明引擎,並且將該經證實的帳單與證明112發送給提供者。該帳單不包含單獨的計量讀數或只包含使用者已授權發佈給提供者的計量讀數。因為該證明是零知識的,所以其不揭露任何使用者消費資料並且使用者108的隱私得到維護。提供者114處的電腦實現的驗證者116接收經證實的帳單與證明112,並藉由檢查該證明來驗證該帳單是正確的。這一驗證是在不需要驗證者或提供者存取任何計量讀數的情況下來實現的。
各方(計量器、提供者、以及帳單產生器)中的每一方產生公開金鑰私密金鑰對,並在可信登記實體處登記其公開金鑰。提供者計算承諾方案的參數,並將該等參數發送給計量器(在計量器將承諾輸出給計量讀數的實例中)和帳單產生器106。
在本文描述的實例中,計量器100是防篡改的。亦即,假定計量器正確地監視資源的消費並提供準確的經證實的讀數104。因為計量器是防篡改的,所以提供者、使用者,或第三方難以用不能由使用者及/或提供者偵測到的未經授權的方式來更改計量器的成果。計量器的大小在實體上和功能上可以皆是小型的,因為計量器只需要量測並簽署消費。計量器可被認為是可信計算基礎的一部分。這一可信計算基礎的最小大小提供了用於安全工程設計的好處。例如,其允許更徹底的評估、易於驗證、易於代碼複查、更便宜的防篡改、以及更小的攻擊面。
維護隱私的帳單產生器106獨立於計量器100。因此,最終帳單的計算可以在防篡改外殼之外完成,並且可以隨時間或在顧客更換提供者時應用和修改各種策略,而無需修改可信計算基礎。這在諸如電力和燃氣計量等顧客經常更換提供者的應用領域中是有益的。
在一些實例中,維護隱私的帳單產生器106和計量器100作為更大的智慧計量器的一部分來提供,該更大的智慧計量器提供使用者介面、計算最終帳單和相關聯的正確性證明、以及將該等內容發送給提供者。智慧計量器可具有用於提供豐富功能的全CPU、顯示器、區域網路和廣域網通訊、以及遠端升級能力。在此種情況下,智慧計量器的不與消費量測和記帳相關聯的功能可以在可信核心之外執行。在此種情況下,顧客必須信任智慧計量器的提供者會只發送維護隱私的帳單資訊。
在其他實例中,維護隱私的帳單產生器106可以使用使用者108所擁有的家庭伺服器來實現。此舉在顧客不願信任智慧計量器的情況下是有用的。在計量器不與提供者直接通訊而是改為使用顧客的設備來進行網路存取的情況下,此舉亦是適用的。
在其他實例中,維護隱私的帳單產生器106可被實現成諸如web服務等第三方服務。這提高了對故障或拒絕服務的穩健性。在此種情況下,使用者108將其私密資料委託給第三方服務。
在其他實例中,維護隱私的帳單產生器106被合併在帶有WAN連接的行動電話或其他計算設備中。
現在描述其中由計量器提供的經證實的計量讀數104是實際計量讀數而非對該等計量讀數的承諾的各實施例。若計量器輸出經證實的讀數104(其是對計量讀數的承諾),則該等計量讀數的隱私性得到增強。此係因為計量器所輸出的承諾不揭露實際計量讀數值,直至該等承諾被揭示為止。然而,在製造階段在提供者114與計量器100之間存在勾結風險的情況下,提供者可能與計量器相勾結以知曉如何揭示計量器所輸出的承諾並找出私密計量讀數值。為了防止此種勾結,計量器可被安排成輸出經簽署的計量讀數而非對該等讀數的承諾。在此種情況下,維護隱私的帳單產生器106具有更困難的工作來確保計量讀數的隱私性,因為其是作為實際值而非作為承諾來提供的。現在參考圖2-圖3提供這一類型的情況的實例。
圖2是維護隱私的帳單產生器處的方法的實例,而圖3是提供者處的要結合圖2的方法來使用的方法的實例。在圖2和圖3的實例中,提供者以表的形式來發出離散定價策略,其中每一計量讀數被映射到一價格或費用f。例如,在交通堵塞計費應用中,每一計量讀數可以是街道名稱並且費用可以是通行費。如在以下實例中進一步描述的,可以使用其他類型的定價策略。
帳單產生器接收並可任選地驗證200來自計量器的經簽署的計量讀數元組。每一元組是一組三個值(d,cons,other),其中d是初始化為0且在計量器每次輸出新元組時遞增的計數值。cons(消費)是消費計量讀數(例如,街道名稱)並且other(其他)是計量器提供的影響費用的任何其他資訊,如讀數的時間。
帳單產生器接收並可任選地驗證202來自提供者的經簽署的定價策略表的各行。例如,該表的每一行可以將計量讀數(例如,街道名稱)映射到費用f。每一行皆是分開簽署的。
帳單產生器獲取204經簽署的計量讀數之一(例如,指定街道的計量讀數)。其隨後找出206包含適當的費用fi 的經簽署的表行(例如,該指定街道的費用)並將該經簽署的表行重新隨機化。帳單產生器產生208對fi 的承諾並且產生210零知識證明以示出:
●其持有經證實的讀數;
●其持有經證實的表行;
●消費(cons值)對讀數和表行(例如,街道名稱相同)而言是相同的;及
●所產生的承諾表示該表行的費用。
如上所述,形成零知識證明的程序可包括三個步驟。第一,產生對隨機值的一組承諾,帳單產生器想要證明知道的各值中的每一個值皆有一個承諾。第二,藉由將單向函數用於對隨機值的該等承諾上,帳單產生器產生質詢。第三,帳單產生器計算作為該等秘密值、隨機值、以及該質詢的函數的一組回應。該質詢和回應被發送給執行驗證程序的提供者。
該證明被構建成非互動式地對用於形成該帳單的所有計量讀數和定價策略資訊進行證明的位元串。該證明可以是可普遍驗證的,即不需要秘密就能驗證其正確性。該零知識證明是使用將消費資料映射到價格或費用的資訊上的一或多個簽名來產生的。然而,提供者處的驗證者不能夠獲得在其上使用簽名來計算證明的任何資訊。否則,若提供者找出該等簽名,則提供者可能能夠從費用映射到消費資料。該零知識證明是使用一或多個構造區塊來產生的,在該實例中構造區塊是對擁有簽名的非互動式零知識證明、證明所承諾的值是兩個所承諾的值的乘積的證明、以及證明所承諾的值處於區間內的證明。本文稍後提供該等構造區塊的詳細實例。
如上所述,該零知識證明包括證明帳單產生器持有經證實的計量讀數並且持有經證實的表行的證明。亦即,該證明示出帳單產生器擁有計量讀數和表行上的簽名。以零知識來證明擁有簽名的目的是驗證者不能獲得在其上使用簽名來計算該證明的任何資訊。驗證者只知道證明者(帳單產生器)擁有由其簽名公開金鑰被用來驗證該證明的一方所簽署的簽名。在該實例中,提供者P計算將消費值映射到價格的若干簽名並將其發送給帳單產生器U。在記帳時間段的結尾時,U計算要支付的總費用並將其連同證明該總費用被正確地計算的證明一起揭示給P。該證明不向P揭示與U的消費資料有關的任何資訊。因此,U不向P揭示被用來計算費用的簽名(將消費值映射到價格),因為簽名揭示了與消費有關的資訊。為了避免揭示簽名,U計算證明擁有簽名的零知識證明,此舉仍然允許P知道該等簽名是由他根據定價策略來計算的並且因而是有效的。
如上所述,帳單產生器不向P揭示被用來計算費用的簽名。在其中計量不被信任(亦即,在製造階段提供者與計量器之間可能存在勾結)的實施例中,所使用的簽名方案至少部分地是可重新隨機化的,以提供附加維護來免於向P揭示被用來計算費用的簽名。例如,如圖2所示,包含費用和消費的表行的簽名由帳單產生器來重新隨機化206。因為該等簽名是在被用來產生該證明之前由帳單產生器來重新隨機化的,所以不存在其被提供者辨識的風險。然而,並非必須使用可重新隨機化的簽名方案。
對每一計量讀數重複該產生對費用的承諾以及產生零知識證明的程序。帳單產生器形成對總費用的承諾212並將包含證明質詢和回應以及對總費用的承諾的經簽署的訊息發送給214提供者。該經簽署的訊息或者包括對策略條目的承諾和計量讀數,或者包括其經重新隨機化的簽名。驗證者使用這一資訊來將原始承諾(策略片段和計量讀數)連結到每讀數的最終費用。提供者繼續進行來如參考圖3所描述的一般驗證該證明。
現在參考圖3來描述提供者處的程序,已經在上文描述了的簽署並將定價策略發送給帳單產生器的程序不在描述。
如上所述,為了驗證零知識證明,給定來自帳單產生器的質詢和回應,驗證者可以計算承諾。隨後,其重新計算質詢並檢查其是否等於帳單產生器提供的質詢。
提供者接收300包含證明和對總費用的承諾的經簽署的訊息。其驗證訊息上的簽名並隨後驗證302該證明。這藉由對每一計量讀數進行以下操作來完成:
●檢查cons對讀數和表行而言是相同的;及
●檢查承諾是針對正確的表行的。
提供者亦檢查306承諾的組合與對總費用的承諾相同,並且檢查計量讀數是順序的308並且沒有計量讀數被省去(否則使用者可能欺騙並避免支付所省去的計量讀數)。為此,提供者可知道計量器在每一記帳時間段輸出的元組的數量(因為該資訊是公用域)。另一可能性是使計量器能夠在記帳時間段的結尾時在該時間段內輸出的元組的數量上輸出簽名。該簽名隨後由帳單產生器報告給提供者。
提供者可任選地能夠請求314帳單產生器揭示某些指定的計量讀數。若帳單產生器准許這一點,例如若使用者給予授權,則將適當的開口細節發送給提供者。提供者接收316對該等承諾的開口,並且能夠揭示指定的計量讀數。
在一些實施例中,提供者能夠發起新定價策略。為了確保帳單產生器使用最新定價策略,提供者可以產生318新金鑰對。將該新公開金鑰通知給帳單產生器,並隨後用該新金鑰來簽署新定價策略並將其發送給322帳單產生器。定價策略中可包括有效性時間段。
在該實例中,帳單產生器向提供者揭示總費用,並且可經由任意支付管道來支付該帳單。在一些情況下,使用者亦可能想要隱藏總費用。此可以藉由使用現在描述的預付費機制來實現。使用者經由任意支付管道來向提供者支付初始保證金。為了計算帳單,帳單產生器對保證金的新值(亦即,舊值減去該記帳時間段期間的總費用)作出承諾,並以零知識來證明所承諾的值是保證金的正確更新且其是非負的,使得提供者可以檢查使用者仍然具有足夠資金。
在圖2和圖3的實例中,提供者以表的形式來發出離散定價策略,其中每一計量讀數被映射到一價格或費用f。可使用其他類型的定價策略。例如,在可能的消費值的集合是大型集合的情況下,線性定價策略是有益的。線性策略指定每單位價格,而非指定每一可能消費的價格。例如,若該策略說每單位價格是3並且消費是6,則應付款是18。在線性定價策略的情況下,帳單產生器和提供者要證明和驗證更多。各類型的定價策略的其他實例包括但不限於:區間策略、累積策略、以及由多項式函式定義的策略。區間策略對一定範圍的消費量設置固定費用。累積策略考慮將消費值域分成各個區間,每一區間被映射到一價格,該價格是每消費單位的價格。
藉由以該等方式來表示不同類型的定價策略,表達複雜的非線性定價策略是可能的。可以對任何時間間隔,如每天、每星期,或每月,應用任何策略。該等類型的策略的更多細節在下文提供。
在一些實施例中,使用者信任計量器。亦即,使用者信任計量器不會洩露除計量讀數之外的更多資訊。現在參考圖4來描述該類型的實施例的實例,其中資源是可使用雲端計算、作為服務的軟體,或以任何其他方式來提供的計算資源。然而,可使用任何其他合適的資源。
圖4是用於對計算資源402的使用進行計量的維護隱私的計量系統的示意圖。該計算資源可以是web服務,一或多個CPU、GPU,或其他處理器,分散式運算資源,將軟體作為服務來提供的一或多個計算設備,社交網路服務,公共資料庫,或其他計算資源。計算資源402可由使用者設備400使用任何類型的通訊網路404來存取。使用者設備400可以是個人電腦、行動通訊設備、膝上型電腦、個人數位助理,或能夠使用通訊網路404存取計算資源402的任何其他計算設備。
使用者設備400包括監視使用者設備400對計算資源的使用的計量器406。如上所述,計量器406在實體上及/或在功能上是防篡改的,並且如上所述被安排成提供經證實的計量讀數及/或使用指定的承諾方案提供對計量讀數的經證實的承諾。計量器406不必如圖4中示出的一般與使用者設備400整合在一起。計量器可以位於與使用者設備400進行通訊以使得其能夠以準確且可證實的方式來監視使用者108對計算資源的消費的任何位置。
使用者設備400亦包括維護隱私的帳單產生器106,其與計量器406進行通訊並且被安排成將零知識證明和維護隱私的帳單發送給提供者114。如上所述,維護隱私的帳單產生器106可以在遠離使用者設備400的其他位置處提供。
提供者114控制對計算資源402的使用並且根據一或多個定價策略來向對計算資源402的使用進行收費。其包括被安排成驗證由帳單產生器提供的零知識證明的電腦實現的驗證者116。
在安裝了計量器之後,可以阻止該計量器與提供者之間的通訊以維護使用者的隱私。提供者能夠與帳單產生器進行通訊來對使用者的消費記帳,並且在使用者准許的情況下能夠知道消費資料。
在圖4的實例中,使用者信任計量器。如上所述,計量器因而能夠輸出對計量讀數的承諾而非實際計量讀數本身。同樣,計量器和提供者所使用的簽名方案可以是或不是具有證明擁有簽名的有效證明的可重新隨機化的簽名方案。可以使用不可偽造且可普遍驗證的任何簽名方案。不可偽造的簽名方案是此種簽名方案:沒有簽名金鑰的人在他們沒有預先看到有效簽名之前不能作出對訊息的簽名。可普遍驗證的簽名方案是此種簽名方案:具有公共驗證金鑰的任何人皆可以驗證簽名訊息對是真實的。
圖5是諸如圖4的帳單產生器或維護隱私的計量系統中使用的任何其他帳單產生器等帳單產生器處的方法的流程圖,其中使用者信任計量器不會洩露除計量讀數之外的任何資訊。
如上所述,各方(計量器M、提供者P、以及帳單產生器U)中的每一方產生公開金鑰私密金鑰對,並在可信登記實體處登記其公開金鑰。提供者計算附加同態承諾方案的參數並將該等參數發送給計量器和帳單產生器。不必使用附加同態承諾方案。
在初始化階段,提供者能夠選擇將消費值映射到價格的定價策略。提供者簽署該策略並將其發送給帳單產生器。提供者稍後能夠藉由向帳單產生器發送新簽署的策略來更新定價策略。
參考圖5,現在描述帳單產生器處的示例性程序。帳單產生器接收並驗證500經簽署的定價策略上的簽名。
帳單產生器從計量器獲取502對計量讀數的經簽署的承諾以及該等承諾的開口。例如,在記帳時間段期間,計量器產生如以上參考圖2所描述的元組(d,cons,other)。計量器對cons和other作出承諾,並隨後計算該等承諾上的以及d上的簽名sc。計量器將該訊息簽名對和該等承諾的開口發送給帳單產生器。在該實例中,計量器分別對cons和other作出承諾。此舉使得U能夠在揭示階段選擇性地向P揭露一個值或另一個值。然而,在兩個參數被一起揭露或省去揭示階段的應用中,計量器可在單個承諾中對這兩個值作出承諾以提高效率。
對於對計量讀數的每一經簽署的承諾504,帳單產生器獲取計量讀數並根據定價策略來計算506該計量讀數的價格。其計算508對該價格的承諾。同樣,其產生零知識證明,該零知識證明證明:
●帳單產生器持有對計量讀數的承諾的開口;
●帳單產生器持有對價格的承諾的開口;
●帳單產生器持有對定價策略的簽名,該定價策略在被用於計算計量讀數的價格時提供計算得到的價格。
如上所述,產生零知識證明的程序可包括產生質詢和回應。
該零知識證明包括證明擁有簽名的證明和證明擁有對承諾的開口的證明。此舉確保該證明不向提供者揭露可用於找出消費值的任何細節。在這兩種情況下,該零知識證明包括證明擁有將消費值從計量器映射到價格的資訊上的簽名的證明。
因為所使用的承諾方案是附加同態的,所以帳單產生器能夠合計512對價格的承諾的開口以獲取對總費用的開口。此舉簡化了帳單產生器處的計算。在使用其他非同態承諾方案的情況下,總費用的開口是用任何其他合適的方式來計算得到的。例如,帳單產生器可以構建對總費用的承諾並以零知識來證明此為對各部分費用的總和的承諾。
帳單產生器簽署支付訊息並將其發送給514提供者。該支付訊息包括對總費用的承諾、總費用的開口、對計量讀數的經簽署的承諾、對價格的承諾、以及零知識證明質詢和回應。
在該實例中,對於每一504經簽署的對計量讀數的承諾,帳單產生器計算對要支付的價格的承諾和證明該價格正確的證明。為了證明總費用是所有所承諾的價格的總和,帳單產生器向P提供所有承諾的開口的總和。在不知道總費用時,計算每一元組的承諾和證明使得帳單產生器能夠從記帳時間段的開頭來開始帳單的計算。
在支付訊息的計算被延遲直至帳單產生器知道了元組為止的應用中,避免對價格的承諾的計算以及避免對每一元組計算證明知曉的一個證明是可能的。相反,對每一帳單訊息計算證明知曉的一個零知識證明是可能的。該證明示出要為每一元組支付的價格的總和等於總費用。
參考圖6,現在提供提供者處的示例性方法以與圖5的示例性方法結合使用。提供者接收600來自帳單產生器的支付訊息並驗證簽名以確信該訊息實際上是從帳單產生器接收到的。提供者亦驗證602計量器在對計量讀數的承諾上的簽名。以此方式,提供者確信計量讀數確實實際上源自該計量器。
提供者處的驗證者驗證604零知識證明。例如,此舉包括給定來自帳單產生器的質詢和回應來計算承諾。驗證者重新計算質詢並檢查其是否等於帳單產生器提供的質詢。
驗證者合計606對價格的承諾以獲取對總費用的承諾。其檢查608在支付訊息中接收到的開口是否是所合計的承諾的有效開口,若是則獲取總費用。驗證者亦檢查610對計量讀數的承諾是順序的並且沒有計量讀數被省去。在一些情況下,提供者可以請求612帳單產生器揭示一些特定計量讀數。此為可任選步驟。回應於此種請求,在使用者提供了用於揭露該資訊的授權的情況下,提供者可以接收614對指定計量讀數的承諾的開口。在此種情況下,計量讀數不能被偽造,並且提供者能夠向第三方證明其正確或不正確。
現在提供實現圖5和圖6的方法的協定的詳細實例。
在該實例中,使用包括演算法(Keygen;Sign;Verify)(金鑰產生器;簽署;驗證)的簽名方案。Keygen(1 k )輸出金鑰對(sk,pk )。Sign(sk,m )輸出訊息m 上的簽名s 。若sm 上的有效簽名,則Verify(pk,s,m )輸出接受(accept),否則輸出拒絕(reject)。該定義可被擴展以支援多區塊訊息m ={m 1 ,...,m n }。提供了存在不可偽造性,由此p.p.t.(概率性多項式時間)對手不能夠輸出訊息-簽名對(s,m ),除非該對手先前獲得了m 上的簽名。
在該實例中,使用了包括演算法ComSetup(設置承諾)、Commit(承諾)、以及Open(開啟)的非互動式承諾方案。Comsetup(1 k )產生承諾方案的參數par c 。Commit(par c ,x )輸出對x 的承諾c x 以及輔助資訊open x 。承諾是藉由揭示(x ,open x )並檢查Open(par c ,c x ,c ,open x )是否輸出接受來開啟的。承諾方案具有隱藏屬性和綁定屬性。簡言之,隱藏屬性確保對x 的承諾c x 不揭示關於x 的任何資訊,而綁定屬性確保c x 不對另一值x' 開啟。若給定分別具有開口(x 1 ,)和(x 2 ,)的兩個承諾,存在一運算使得在的情況下Open(par c ,c ,x 1 +x 2 +)輸出接受,則說承諾方案是附加同態的。另外,承諾方案亦可提供承諾與值x 2 之間的運算□,使得在c =x 2 的情況下Open(par c ,c ,x 1 ×x 2 ,x 2 )輸出接受。
在該實例中,使用陷門承諾方案,其中演算法ComSetup(1 k )產生par c 和陷門td 。給定具有開口(x 1 ,)的承諾c 和值x 2 ,陷門td 允許找出使得演算法Open(par c ,c ,x 2 ,)輸出接受。
在該實例中,證明知曉的零知識證明是證明者與驗證者之間的雙方協定。證明者向驗證者證明知曉某些秘密輸入(見證),該秘密輸入可以在不向驗證者揭露該輸入的情況下滿足某一聲明。該協定滿足兩個屬性。第一,其是證明知曉的證明,即證明者在不知道秘密輸入的情況下基本不可能使驗證者信服。技術上而言,基本上不可能存在從成功的證明者提取秘密輸入的知識提取器。第二,其是零知識,即驗證者除了該聲明的真實性之外不知道任何事。技術上而言,對於可能的驗證者,存在著此種模擬器:在不知道秘密輸入的情況下,其產生不能與同真實證明者的互動區分開的分佈。見證不可區分性是要求該證明不揭示證明者(在所有可能的見證中)使用的哪些見證的較弱屬性。
在該實例中,帳單產生器可以使用以下證明中的任何一或多個來產生零知識證明:證明知曉秘密演算法的證明;證明知曉不同表示中的某一元素的等同性的證明;具有區間檢查的證明、範圍證明、以及前述證明中的任何兩個的分開或結合的證明。該等結果通常以Σprotocol(Σ協定)的形式提供,但在隨機諭示(oracle)模型中其可經由Fiat-Shamir試探法被轉換成非互動式零知識引數。
在引用上述證明時,本文遵循Camenisch和Stadler對證明知曉離散演算法的各種證明和證明與離散演算法有關的聲明的有效性的證明引入的記法。
NIPK{(α,β,δ):y =g 0 α g 1 β A α B )表示「知曉整數α、β、以及δ的零知識證據,使得y =g 0 α g 1 β以及A α B 成立。」
其中y ,g 0 ,g 1 ,是具有相同次數的一些群組y ,g 0 ,g 1 ,的元素。(注意,y的表示中的一些元素是相同的)。約定如下:圓括號中的字母(在該實例中是α、β和δ)表示已證明知曉的數量,而其他值對驗證者而言是已知的。在本文中,證明擁有簽名的非互動式證明表示為NIPK{(x,s x ): Verify(pk,x,s x )=接受}。
在該實例中,M、U 、以及P 所使用的簽名方案表示為:(Mkeygen;Msign;Mverify)、(Ukeygen;Usign;Uverify)、以及(Pkeygen;Psign;Pverify)。H 表示抗衝突散列函數。
在設置階段,M 執行Mkeygen(1 k )來獲取金鑰對(sk M ,pk M ),U 執行Ukeygen(1 k )來獲取金鑰對(sk U ,pk U ),且P 執行Pkeygen(1 k )來獲取金鑰對(sk P ,pk P )。每一方向可信登記實體登記其公開金鑰,並藉由查詢該可信登記實體來取得來自其他方的公開金鑰。P 執行ComSetup(1 k )來獲取par c 和陷門td ,計算證明π=NIPK{(td ):(par c ,td )←ComSetup(1 k )}並將(par c ,π)發送給U 且將(par c )發送給M。U 驗證π。
提供隱私的計量的示例性協定包括以下階段,初始化、消費、支付、以及揭示。現在更詳細地描述該等階段。
初始化。
在用(策略,γ)啟動P 時,P 執行SignPolicy(sk p , γ)(簽署策略)來獲取經簽署的策略γ s P 將γ s 發送給UU 執行VerifyPolicy(pk P s )(驗證策略)來獲取一個位元b 。若b =0 ,則U 拒絕該策略。否則,U 儲存γ s
消費。
在用(consume,cons,other )((消費,消費,其他))啟動M 時,M 使計數器d M (初始化為0)遞增,並執行SignConsumption(sk M ,par c ,cons,other,d M )(簽署消費)來獲取經簽署的消費SC。M 將(SC)發送給UU 遞增計數器d U 並執行VerifyConsumption(pk M ,Par c ,SC,d u )(驗證消費)來獲取一個位元b 。若b =0,則U 拒絕SC並向P 發送指示計量器不正常工作的訊息。否則,USC 附加到儲存所有消費的表T
支付。
在用(payment)(支付)啟動P 時,P 將(payment)發送給U 。令NU 自接收到前一訊息(payment)以來接收到的(consume,...)(消費)訊息的數量。U 執行Pay(sk U ,par c s ,T [d U -N :d U ])(支付)來獲取支付訊息Q 並將(Q )發送給PP 執行VerifyPayment(pk M ,pk U ,pk P ,par c ,Q ,d P )(驗證支付)來獲取(b ,d' P )。若b =0 ,則P 拒絕該支付,而否則接受其並設置d P =
揭示。
在用(reveal,i )(揭示)啟動P 時,P 檢查i [0,d P ]並且將(i )發送給UU 執行Reveal(sk U ,T ,i )(揭示)來獲取開口訊息R 並將(R )發送給PP 選取包含i 的支付訊息Q 並執行VerifyReveal(pk U ,par c ,Q ,R ,i )(驗證揭示)來獲取一個位元b 。若b =0 ,則P 將(reject,Q ,R )(拒絕)發送給U ,否則其將(accept)(接受)發送給U
現在指定在各示例性協定階段中使用的函數的實例。
SignPolicy(sk P ,γ)。
對於每一元組(cons,other,price )γ,計算sp=Psign(sk P cons ,other ,price 〉)。(如以下更詳細地描述的,簽署元組(cons,other,price )(消費,其他,價格)的方式取決於要被簽署的特定策略γ。)令γ s =是訊息-簽名元組的集合。輸出γ s
VerifyPolicy(pk P s )。
對於i =1到n ,將γ s 解析成,且對於i =1到n ,執行Pverify(pk P ,sp i ,〈cons i ,other i ,price i 〉)。若該等輸出中的任一個是拒絕,則輸出b =0 ,而否則輸出b =1
SignConsumption(sk M ,par c ,cons ,other ,d M )。
執行(c cons ,open cons )=Commit(par c ,cons )和(C other ,open other )=Commit(par c ,other )兩者。執行sc=Msign(sk M ,d M ,c cons ,c other 〉)並輸出SC=(d M ,cons ,open cons ,c cons ,other ,open other ,c other ,sc)。
VerifyConsumption(pk M ,par c ,SC,d U ).
將訊息SC解析成(d M ,cons ,open cons ,c cons ,other ,open other ,c other ,sc)。計算Open(par c ,c cons ,cons ,open cons )和Open(par c ,c other ,other ,open other ),並且若其中的任一個輸出拒絕則輸出b =0 。執行Mverify(pk M ,sc,〈d U ,c cons ,c other 〉)並且若該輸出是拒絕則輸出b =0 。否則輸出b =1
Pay(sk U ,par c s ,T )。
對於每一條目(d M ,cons ,open cons ,c cons ,other ,open other ,c other ,sc) T ,計算price(價格)=γ(cons ,other ),執行(c price ,open price )=Commit(par c ,price )並計算非互動式的見證不可區分開的證明π1
NT 中的條目的數量。計算總費用fee = price i (費用=价格 i )並添加所有開口open fee =(開口費用 =)以獲取對費用的承諾的開口。將支付訊息設為p =(fee ,open fee ,)。計算簽名2sp =Usign(sk U ,p )並將支付訊息設為Q =(p ,s p )。
VerifyPayment(pk M ,pk U ,pk P ,par c ,Q ,dp )(驗證支付)。
Q 解析成(p ,s p )並執行Uverify(pk U ,s p ,p )。若其拒絕則輸出b =0 。否則,將p 解析成(fee ,open fee ,),並且對於i =1N ,遞增d p ,執行Mverify(pk M ,sc i ,〈d p ,c cons ,c other ,〉)並驗證π i 。若簽名或證明中的任一個是不正確的,則輸出b =0 。添加對價格的承諾c ' fee =並執行Open(par c ,c' fee ,fee ,open fee )。若輸出是接受,則設b =1 ,否則b =0 。輸出(b ,d p )。
Reveal(sk U ,T ,i )。
選取條目(i ,...) T 中的元組r =(i ,cons ,open cons ,other ,open other ),簽署s r =Usign(sk U ,r )並輸出R =(r ,s r )。
VerifyReveal(pk U ,par c ,Q ,R ,j ).
Q 解析成(p ,s p )並將p 解析成(fee ,open fee ,)。選取元組(sc i ,d i , , π i ),使得d i =j 。將R 解析成(r ,s r )並將r 解析成(i ,cons ,open cons ,other ,open other )。執行演算法Open(par c ,c cons ,cons ,open cons )和Open(par c ,,other ,open other )。若此兩個演算法輸出接受,則輸出b =1 ,否則b =0
如上所述,提供者能夠使用不同形式的定價策略。例如,離散定價策略、線性定價策略、累積定價策略、以及由一或多個多項式定義的定價策略。簽署元組(cons;other;price)的方式取決於要簽署的特定形式的策略,並且此進而影響零知識證明所需要示出的內容。現在一起提供不同類型的定價策略的實例和對於該等類型的定價策略中的每一類型簽署元組的方法的實例,以及如何產生每一類型的定價策略的適當的零知識證明的實例。一般而言,越複雜的定價策略需要越複雜的零知識證明,因為要證明的事物越多。用於定價策略的資料結構以及經簽署的元組的仔細設計因而是重要的,因為其影響帳單產生器和驗證者處的計算複雜度和效率。在以上參考圖2和3論述的實例中,使用離散定價策略。然而,此舉不是必需的。藉由使用資料結構和簽署元組的方法並產生現在描述的零知識證明,圖2和3的方法可被安排成與其他類型的定價策略一起操作。
離散定價策略。
離散定價策略考慮由n 個元組(cons ,other )描述的離散域。每一元組被映射到價格price 。為了簽署該策略,對於i =1nP 執行sp i =Psign(sk P ,〈cons i ,other i ,price i 〉),並設置γ s =
為了計算證明π,U 使用SC中包括的對消費的承諾c cons 和對其他參數的承諾c other ,並對(cons ,other )的策略中指定的價格作出承諾(c price ,open price ,)=Commit(par c ,price )。U 證明擁有(cons ,other ,price )上的簽名spγ s 以及經簽署的值與在(c cons ,c other ,c price )中承諾的值之間的等同性。非互動式零知識證明(NIPK)隨後變成:
線性定價策略。
離散策略在可能的消費值的集合是有限的且是小型的情況下是有益的。否則,簽署所有可能的元組(cons ,other )是低效的。線性策略指定每單位價格,而非指定每一可能消費的價格。例如,若該策略說每單位價格是3並且消費是6,則應付款是18。因此,因為線性策略指定每消費單位的價格,所以其由γ:otherprice 提供。參數other 表示影響每單位價格的任何變數,例如消費發生的時間間隔。
為了簽署該策略,對於i =1nP 執行sp i =Psign(sk P ,〈other i ,price i 〉),並設置γ s =。為了計算證明π,U 使用sc中包括的對消費的承諾c cons 和對其他參數的承諾c other ,並對總價格price t (()=Commit(par c ,price t ))作出承諾。(總價格等於price t =pricecons ,其中price =γ(other )。)
隨後,U 計算證明擁有(other ,price )上的簽名spγ s 的證明、證明other與c other 中承諾的值之間的等同性的證明、以及證明中承諾的price t 等於pricecons 的證明。證明知曉的非互動式證明隨後變成:
區間定價策略。
在區間策略中,消費值域被分成各個區間,並且每一區間被映射到一價格。例如,若該策略說4和7之間的所有消費必須支付價格3並且消費是5,則應付款是3。因此,區間策略由γ:(cons min ,cons max ,other )→price 提供,其中要求[cons min ,cons max ]所定義的區間是不相交的。
為了簽署該策略,對於i =1nP 執行sp i =Psign(sk p ,〈,other i ,price i 〉),並設置γ s =。(注意若π是單調函數,則足以簽署cons max (在該函數是增函數的情況下)或cons min (在該函數是減函數的情況下))。為了計算證明π,U 使用SC中包括的對消費的承諾c cons 和對其他參數的承諾c other ,並對(cons min ,cons max ,other )的策略中指定的價格(c price ,open price )=Commit(par c ,price )作出承諾,使得cons [cons min ,cons max ]。隨後,U 計算證明擁有(cons min ,cons max ,other ,price )上的簽名spγ s 的證明、證明(other ,price )與(c other , c price )中承諾的值之間的等同性的證明、以及證明cons [cons min ,cons max ]的證明。若策略是單調遞增的,則其足以證明[0,cons max ],而若其是單調遞減的,則其足以證明cons [cons min ,∞]。證明知曉的非互動式證明隨後變成:
累積定價策略。
如在區間策略的情況下一樣,消費值域被分成各個區間並且每一區間被映射到一價格。然而,在此種情況下,該價格是每消費單位價格。應付款是策略γ在區間[0,cons ]上的定積分。例如,令γ是如下策略:[0,3]→2,(3,7]→5,(7,∞),(未使用參數other ),並且令消費為9。則應付款是3×2+4×5+2×8=42。因此,累積策略由γ:(cons min ,cons max ,F ,other )→price 提供,其中要求[cons min ,cons max ]所定義的區間是不相交的。F 是γ在[0,cons min ]上的定積分。為了簽署該策略,對於i =1nP 執行sp i =Psign(sk P ,〈,F i ,other i ,price i 〉),並設置γ s =。在先前實例中,要簽署的元組是(0,3,0,⊥,2)(3,7,6,⊥,5)以及(7,max,26,⊥,8)(max表示最大消費)。為了計算證明π,U 使用sc中包括的對消費的承諾c cons 和對其他參數的承諾c other ,並對要支付的價格price t (()=Commit(par c ,price t ))作出承諾,其等於price t =(cons -cons minprice +F )。隨後,U 計算證明擁有(cons min ,cons max ,F ,other ,price )上的簽名spγ s 的證明、證明(other)與c other 中承諾的值之間的等同性的證明、證明cons [cons min ,cons max ]的證明、以及證明price t =(cons -cons minprice +F 的證明。證明知曉的非互動式證明隨後變成:
其他定價策略。
另一可能的定價策略γ是由多項式函數 a i x i 在交換環R 上定義的,在一實現中此由整數對非素數(composite)取模來提供。此舉提供了任何定價策略可被近似成任意精度的益處。應付款是γ在輸入消費x =cons 上的估計。
n 是定義該策略的多項式的數量(例如,其中的每一個與不同的參數other 相關聯)。為了簽署該策略,對於i=1nP 執行sp i =Psign(sk P ,〈a Ni ,...,a 0 i ,other i 〉),並設置γ s =。為了計算證明π,U 使用sc中包括的對消費的承諾c cons 和對其他參數的承諾c other ,並對要支付的價格price t (()=Commit(par c ,price t ))作出承諾,其等於price t = a i cons i 。隨後,U 計算證明擁有(a N ,...,a 0 ,other )上的簽名spγ s 的證明、證明(other )與c other 中承諾的值之間的等同性的證明、以及證明price t = a i cons i 的證明。證明知曉的非互動式證明隨後變成:
現在提供可以使用的承諾方案、簽名方案、以及證明知曉的非互動式證明的具體實例。該等僅是實例。
如現在描述的,可以使用整數承諾方案。
對於示例性整數承諾方案,令l n 是RSA對n 所取的模的位元長度且l r 是安全參數的位元長度。示例性值是l n =2048且l r =80。該方案隨後變成:
CompSetup(1 k )。給定RSA模數,選取隨機產生器h QR n 。選取隨機α1 ,...,α k ,且對於=1k ,計算g i =。輸出承諾參數par c =(g 1 ,...,g k ,h ,n )和陷門td =(α1 ,...,α k )。
Commit(par c ,〈m 1 ,...,m k 〉)。在長度l m 的輸入整數(m 1 ,...,m k )上,選擇隨機open 並計算C =‧...‧ h open (modn )(對n 取模)。輸出承諾c 和開口open
Open(par c ,c ,〈,...,〉,open' )。在輸入整數(,...,)和open' 上,計算c' =‧...‧(modn )並檢查是否c =c'
簽名方案。
MU 的簽名方案可用於任何存在的不可偽造的簽名方案來產生實體。在一些實例中,對於P的簽名方案,可以使用現在描述的Camenisch和Lysyanskaya簽名方案。在此描述的各實施例中,此舉是有益的,因為其是可部分隨機化的並且具有證明擁有簽名的有效證明。
Keygen(1 k )。在輸入1k 上,產生長度k 的兩個素數pq ,使得p =2p' +1且q =2q' +1,其中p'q' 亦是素數。長度l n 的RSA模被定義成n =pq 。輸出私密金鑰sk =(p,q )。均勻隨機地選擇SQR n ,以及R 1 ,...,R k ,Z ←〈S 〉。計算非互動式零知識證明π=NIPK{(x Z ,,...,):Z = R 1 =... R l =}。輸出公開金鑰pk =(n ,R 1 ,...,R k ,S ,Z ,π)。
Sign(sk ,〈m 1 ,...,m k 〉)。在長度l m 的輸入訊息(m 1 ,...,m k )上,選擇長度l e >l m +2的隨機素數e 和長度l v =l n +l m +l r 的亂數v 。計算值A ,使得Z =A e ‧...‧ S v (modn )。輸出簽名s =(e ,A ,v )。
Verify(pk ,s ,〈m 1 ,...,m k 〉)。在輸入訊息(m 1 ,...,m k )和簽名s =(e ,A ,v )上,檢查ZA e ‧...‧ S v (modn ),m i ±{0,1}l m ,以及 e
示例性值是l n =2048,l r =80,l m =256,l e =597,l v =2724([29])。
現在提供組成在各實施例中使用的非互動式零知識證明的基本構造區塊的實例。此種非互動式零知識證明包括該等構造區塊中的一些的組合。基本構造區塊可以是證明擁有Camenisch-Lysyanskaya簽名的非互動式零知識證明、證明承諾值是兩個承諾值的積的證明、以及證明承諾值處於區間內的證明。
為了證明擁有Camenisch-Lysyanskaya簽名,一種示例性方法是:
給定訊息(m 1 ,...,m k )上的簽名s =(e ,A ,v ),藉由選取隨機r和計算(e ,A' =AS - r (modn ),v' =v +er )來隨機化簽名s 。另外,設e ' =e -。將A' 與以下非互動式零知識證明一起發送給驗證者:
NIPR{(e,v,m 1 ,...,m k ):Z ≡±A e ....‧ S v
m i e -
經由以下Fiat-Shamir試探法,該證明變成非互動式零知識引數。(各實施例中的其他證明可以經由該Fiat-Shamir試探法以類似的方式來計算。)令H 是被建模成隨機諭示的散列函數。提供者選取隨機值:
r e
r v'
其中l H 是質詢的大小,l Φ 控制統計零知識且<l e -l H -l Φ -3是決定從中取出e 以完成具有區間檢查e -的證明的區間的位元長度。證明者計算承諾t Z =‧...‧和質詢ch =H (nA'R 1 ∥...∥R k SZt Z )。證明者計算回應:
S e =r e -ch‧e'
S v ' =r v' -ch‧v'
=-ch‧m i
並向驗證者發送π=()。驗證者計算,驗證是否ch =H (nA'R 1 ∥...∥R k SZt Z ),並執行區間檢查s e ±±
參數的示例性值是l H =256,l Φ =80且=120。
為了證明中承諾的訊息m 3 是分別在中承諾的兩個訊息m 1 m 2 的積,可以使用以下證明:
為了證明所承諾的值x 處於區間[a,b ]內,圖示x -a 0且b -x 0。例如,非互動式零知識證明可被用來證明整數m 0。該證明基於以下事實:任何正整數m 的形式為4m +1可被寫成三個平方的總和a 2 +b 2 +d 2 。因此,為了證明m 0,該方法證明4m +1=a 2 +b 2 +d 2 。值(a,b,d )可以經由Rabin-Shallit演算法來計算。證明是:
NIPK{(m ,open m ,a ,b ,d ):C m =4m +1=a 2 +b 2 +d 2 }
現在提供用於維護隱私的計量的系統的實例,其中定價策略是每單位費用定價策略(其是公用域)並且計量讀數在指定的時間間隔(其是公用域)取得。該實例特別適用於公用事業計量,其中計量讀數通常在指定的時間間隔(如每一個半小時)取得,並且該資訊以及定價策略是公共的。在該實例中,計量器是可信的,即使用者信任計量器除計量讀數之外不洩露任何資訊。參考圖7,計量器700提供每一公共的固定時間間隔t的經證實的讀數。該等計量讀數可以是以上針對其他實施例描述的元組。如上所述,計量器是防篡改的並且可以是智慧公用事業計量器。如上所述,經證實的計量讀數被提供給作為使用者708的代理的維護隱私的帳單產生器706。諸如要由使用者消費的電力或水公用事業等資源的提供者714具有電腦實現的驗證者716並儲存一或多個公用域定價策略718,該定價策略是每單位費用類型的定價策略(亦被稱為線性定價策略)。提供者能夠與計量器700進行通訊,但此並非必需。提供者將經證實的定價策略710發送給維護隱私的帳單產生器706。帳單產生器使用經證實的計量讀數704和經證實的定價策略710來產生不向提供者揭露使用者的消費資料的帳單。維護隱私的帳單產生器706亦產生證明(在此種情況下不需要是零知識)並將該經證實的帳單與證明712發送給提供者。該證明由驗證者716驗證以在無需向提供者揭露使用者的消費資料的情況下示出該帳單是正確的。
在該實例中,帳單產生器處的方法可以如下。參考圖8,帳單產生器接收並驗證800經簽署的表的形式的經簽署的定價策略,該表的每一行具有時間和要用於該時間的計量讀數的費用。因為簽署了整個表而非簽署每一單獨的表行,所以獲得了效率。以與參考圖5所描述的相同的方式,帳單產生器接收802對計量讀數的一批經簽署的承諾以及該等承諾的開口。帳單產生器計算804對總價格的承諾並使用支付訊息將該承諾及其開口發送給806提供者。帳單產生器形成證明806,證明:帳單產生器持有定價策略表上的簽名,以及所承諾的總價格等於各單獨費用乘以各單獨消費值。因為定價策略是公用域並且計量讀數區間是公用域,所以該證明不必是零知識。與圖3和5相比,該證明的計算因而被簡化。帳單產生器將經簽署的支付訊息發送給808提供者,該支付訊息包括對總價格的承諾、該承 諾的開口、對計量讀數的經簽署的承諾、以及證明。
提供者處的驗證者接收支付訊息並驗證其簽名並驗證證明。其開啟對總價格的承諾。
現在描述其中定價策略是公用域並且定價策略包括形式為price =a 1cons +a 0 的線性公式的詳細實例。該實例是避免使用非互動式零知識證明的有效構造。該實例使用的承諾方案具有兩個運算和e(在此描述),以在給定對消費值的承情況下允許計算對價格的承諾。
在此種情況下,用於提供隱私的計量的示例性協定包括以下階段:
初始化
在用(policy ,)(策略)啟動P時,其中是線性策略,P發佈唯一的策略辨識符id i 並將(id i ,)發送給U。
消費
該階段如在本文中早先描述的一樣。
支付
在用(payment )啟動P時,P將(payment )發送給U。令N為U自接收到前一訊息(payment )以來接收到的(consume ,...)訊息的數量。U執行來獲取支付訊息Q 並將(Q )發送給P。
P執行(驗證支付)來獲取(b ,d ' P )。若b =0 ,則P拒絕該支付,否則接受其並設置d P =d ' P
揭示
該階段如在本文中早先描述的一樣。
現在指定在各示例性協定階段中使用的函數的實例。
。對於每一表條目(d M ,cons ,open cons ,c cons ,other ,open other ,c other ,sc) T ,計算price =a 1cons +a 0 以及open price =open cons a 。令NT 中的條目的數量。計算總費用並添加所有開口以獲取對費用的承諾的開口。將支付訊息設為。計算簽名s p =Usign(sk U ,p )並將支付訊息設為Q=(p ,s p )。若p 不屬於該簽名方案的訊息空間,則簽署H (p ),其中H 是值域為該簽名方案的訊息空間的抗衝突散列函數。
。將Q解析成(p ,s p )並執行 Uverify(pk U ,s p ,p )。若其拒絕則輸出b =0。否則,將p 解析成,檢查,並且對於i =1到N ,遞增d P 並執行。若簽名或證明中的任一個是不正確的,則輸出b =0。計算對價格的承諾,將其相加,並執行Open(par c ,c' fee ,fee ,open fee )。若輸出是接受,則設b =1,否則b =0。輸出(b ,d P )。
該方案的安全性依賴於簽名方案的不可偽造性以及承諾方案的綁定和隱藏屬性。引入策略辨識符以確保U和P採用由P先前公佈的策略來計算並驗證支付訊息。
圖9示出可以被實現為任何形式的計算及/或電子設備並且可以在其中實現維護隱私的計量系統中的一實體的 實施例的示例性基於計算的設備900的各元件。例如,智能計量器、帳單產生器,或帳單驗證者。
基於計算的設備900包括一或多個處理器902,該一或多個處理器可以是用於處理計算可執行指令以控制設備的操作以便提供維護隱私的計量系統的至少一部分的微處理器、控制器,或任何其他合適類型的處理器。例如,藉由提供包括帳單產生器或帳單驗證者的智慧計量器,帳單產生器能夠產生維護隱私的帳單和用於證實該帳單的零知識證明,或帳單驗證者能夠驗證帳單,該帳單與證實該帳單的零知識證明一起提供。可以在基於計算的設備上提供包括作業系統904的平臺軟體或任何其他合適的平臺軟體,以允許應用軟體906在設備上執行。
可以使用可由基於計算的設備900存取的任何電腦可讀取媒體來提供電腦可執行指令。電腦可讀取媒體可以包括例如諸如記憶體918等電腦儲存媒體和通訊媒體。諸如記憶體918等電腦儲存媒體包括以用於儲存如電腦可讀取指令、資料結構、程式模組或其他資料等資訊的任何方法或技術實現的揮發性和非揮發性、可移除和不可移除媒體。電腦儲存媒體包括但不限於,RAM、ROM、EPROM、EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、數位多功能光碟(DVD)或其他光儲存器、磁帶盒、磁帶、磁碟儲存或其他磁儲存設備,或者可用於儲存供計算設備存取的資訊的任何其他媒體。相反,通訊媒體可以以諸如載波或其他傳輸機制等已調制資料信號來體現電腦可讀 取指令、資料結構、程式模組或者其他資料。儘管在基於計算的設備900中圖示電腦儲存媒體(記憶體918),但將明白,該儲存可以是分散式的或位於遠端並經由網路或其他通訊鏈路(例如,使用通訊介面914)來存取。
該基於計算的設備包括使其能夠經由通訊網路924與其他實體進行通訊的通訊介面914。
基於計算的設備900亦包括被安排成向可與基於計算的設備900分開或整合在一起的顯示設備920輸出顯示資訊的輸入/輸出控制器916。顯示資訊可以提供圖形化使用者介面。輸入/輸出控制器916亦被安排成接收並處理來自一或多個設備的輸入,如使用者輸入設備922(例如,滑鼠或鍵盤)。該使用者輸入可被用來控制該設備以產生維護隱私的帳單或驗證該等帳單。在該設備是智慧計量器的各實施例中,可以使用使用者輸入來控制由智慧計量器來進行計量的對資源的使用。在一實施例中,若顯示設備920是觸敏顯示設備,則其亦可擔當使用者輸入設備922。輸入/輸出控制器916亦向除顯示設備之外的設備輸出資料,例如,本端連接的印表機。
此處使用的術語「電腦」代表具有處理能力以使其能夠執行指令的任何設備。本領域技藝人士將認識到該等處理能力被結合到許多不同設備中,並且因此術語「電腦」包括PC、伺服器、行動電話、個人數位助理和許多其他設備。
本文描述的方法可由有形儲存媒體上的機器可讀形式的軟體來執行,例如電腦程式的形式,該電腦程式包括在 該程式在電腦上執行時適用於執行本文描述的任何方法的所有步驟的電腦程式代碼手段並且其中該電腦程式可被包括在電腦可讀取媒體上。有形(或非暫態)儲存媒體的實例可包括磁碟、拇指型驅動器、記憶體等並且不包括傳播信號。軟體可適於在並行處理器或串行處理器上執行以使得各方法步驟可以按任何合適的次序或同時執行。
此舉確認了軟體可以是有價值的、可單獨交易的商品。其意欲包含執行於或者控制「啞」或標準硬體以實現所需功能的軟體。其亦意欲包含例如用於設計矽晶片,或者用於配置通用可程式設計晶片的HDL(硬體描述語言)軟體等「描述」或者定義硬體設定以實現期望功能的軟體。
本領域技藝人士將認識到用於儲存程式指令的儲存設備可分佈在網路上。例如,遠端電腦可儲存描述為軟體的該程序的實例。本端或終端電腦可存取遠端電腦並下載該軟體的一部分或全部以執行該程式。或者,本端電腦可依須求下載軟體的片斷,或可以在本端終端處執行一些軟體指令而在遠端電腦(或電腦網路)處執行一些軟體指令。本領域技藝人士將認識到,藉由使用本領域技藝人士已知的一般技術,軟體指令的全部或部分可由諸如DSP、可程式設計邏輯陣列等專用電路來執行。
如本領域技藝人士將清楚的,本文提供的任何範圍或者設備值皆可以被擴展或者改變而不失去所尋求的效果。
可以理解,上述各好處和優點可涉及一個實施例或者可涉及若干實施例。各實施例不限於解決該問題中的任一個 或全部的實施例或具有該好處和優點中的任一個或全部的實施例。亦可以理解,對「一個」項目的引用指的是該等項目中的一或多個。
本文中描述的各方法步驟可以在適當時按任何合適的次序或同時執行。另外,可從任一種方法中刪除各個方塊,而不背離此處述及之標的的精神和範圍。上述實例中的任一個的各態樣可以與該其他實例中的任一個的各態樣組合以形成其他實例而不失去所尋求的效果。
術語「包括」本文用來指包括所標識的方法方塊或元素,但該等方塊或元素不構成詳盡清單,並且方法或裝置可包含附加方塊或元素。
可以理解,上面對於較佳實施例的描述僅僅是作為實例提供的,而本領域的技藝人士可以做出各種修改。以上說明、實例和資料提供了對本發明的各示例性實施例的結構和使用的全面描述。儘管上文以一定的詳細度或參考一或多個單個實施例描述了本發明的各實施例,但是,在不偏離本發明的精神或範圍的情況下,本領域的技藝人士可以對所揭示的實施例作出很多更改。
100‧‧‧計量器
102‧‧‧維護隱私的計量系統
104‧‧‧經證實的讀數
106‧‧‧維護隱私的帳單產生器
108‧‧‧使用者
110‧‧‧經證實的定價策略
112‧‧‧經證實的帳單與證明
114‧‧‧提供者
116‧‧‧驗證者
200‧‧‧步驟
202‧‧‧步驟
204‧‧‧步驟
206‧‧‧步驟
208‧‧‧步驟
210‧‧‧步驟
212‧‧‧步驟
214‧‧‧步驟
300‧‧‧步驟
302‧‧‧步驟
304‧‧‧步驟
306‧‧‧步驟
308‧‧‧步驟
314‧‧‧步驟
316‧‧‧步驟
318‧‧‧步驟
320‧‧‧步驟
322‧‧‧步驟
400‧‧‧使用者設備
402‧‧‧計算資源
404‧‧‧通訊網路
406‧‧‧計量器
500‧‧‧步驟
502‧‧‧步驟
504‧‧‧步驟
506‧‧‧步驟
508‧‧‧步驟
510‧‧‧步驟
512‧‧‧步驟
514‧‧‧步驟
600‧‧‧步驟
602‧‧‧步驟
604‧‧‧步驟
606‧‧‧步驟
608‧‧‧步驟
610‧‧‧步驟
612‧‧‧步驟
614‧‧‧步驟
700‧‧‧計量器
704‧‧‧經證實的計量讀數
706‧‧‧維護隱私的帳單產生器
708‧‧‧使用者
710‧‧‧經證實的定價策略
712‧‧‧經證實的帳單與證明
714‧‧‧提供者
716‧‧‧驗證者
718‧‧‧公用域定價策略
800‧‧‧步驟
802‧‧‧步驟
804‧‧‧步驟
806‧‧‧步驟
808‧‧‧步驟
900‧‧‧基於計算的設備
902‧‧‧處理器
904‧‧‧作業系統
906‧‧‧應用軟體
908‧‧‧計量器
914‧‧‧通訊介面
916‧‧‧輸入/輸出控制器
918‧‧‧記憶體
920‧‧‧顯示設備
922‧‧‧使用者輸入設備
924‧‧‧通訊網路
藉由依照附圖閱讀的以下詳細描述,將會更好地理解本描述,其中:圖1是維護隱私的計量系統的示意圖;圖2是維護隱私的帳單產生器處的方法的流程圖; 圖3是在提供者處用於驗證維護隱私的帳單的方法的流程圖;圖4是用於諸如雲端計算資源等計算資源的計量系統的示意圖;圖5是用於計量系統中的維護隱私的帳單產生器處的方法的流程圖,其中相信該計量除計量讀數之外不會洩露更多資訊;圖6是提供者處的用於與圖5的方法一起使用的方法的流程圖;圖7是用於公用事業的計量系統的示意圖,其中計量以公共的固定時間間隔來提供經證實的讀數;圖8是在其中計量以公共的固定時間間隔來提供經證實的讀數的情況下產生維護隱私的帳單的方法的流程圖;圖9圖示其中可以實現智慧計量或帳單產生器或帳單驗證器的各實施例的示例性基於計算的設備。
在附圖中,相同的元件符號用於表示相同的部分。
100‧‧‧計量器
102‧‧‧維護隱私的計量系統
104‧‧‧經證實的讀數
106‧‧‧維護隱私的帳單產生器
108‧‧‧使用者
110‧‧‧經證實的定價策略
112‧‧‧經證實的帳單與證明
114‧‧‧提供者
116‧‧‧驗證者

Claims (20)

  1. 一種維護隱私的記帳系統,該系統包括被安排成至少實現以下元件的一或多個計算設備:一輸入元件,其被安排成在一記帳時間段期間接收來自一計量器的經證實的計量讀數,該計量讀數指示一使用者對一公用事業、商品,或服務的一消費,該計量器被安排成量測該使用者對該公用事業、商品,或服務的消費;一經證實的定價策略儲存,該定價策略儲存被安排成持有作為複數個表行的至少一個經證實的定價策略以及由該公用事業、商品,或服務的一提供者來簽署的該複數個表行中的至少一個的至少一個簽名,該經證實的定價策略指示該公用事業、商品,或服務的消費的定價;一帳單產生器被安排成至少部分地基於該經證實的定價策略和該經證實的計量讀數來產生一帳單,該帳單包括在該記帳時間段期間消費的一總費用並省去了該經證實的計量讀數;一證明引擎,其被安排成產生展示該帳單是從該經證實的計量讀數和該經證實的定價策略來形成一非互動式零知識證明,該零知識證明包括用於證明擁有被用來計算該總費用的該表行上的簽名的質詢和回應;一驗證者,其被安排成接收該帳單和非互動式零知識證明;該驗證者被安排成在不獲取該經證實的計量讀數的任何知識的情況下,藉由給定該非互動式零知識證明的該質詢和回應並至少部分地基於該回應來計算承諾、計算一第二質詢並檢查該第二質詢是否等於該零知識證明的該等質詢中的一第一質詢,以驗證該零知識證明。
  2. 如請求項1之維護隱私的帳單系統,其中該帳單產生器被安排成向該驗證者發送一經簽署的訊息,該經簽署的訊息包括該非互動式零知識證明質詢和回應、以及對被用於計算該總費用的定價策略的各段的承諾、以及對該計量讀數的承諾,並且其中該驗證者被安排成將該經簽署的訊息帳單承諾連結到對每計量讀數一費用的一承諾。
  3. 如請求項1之維護隱私的帳單系統,其中該帳單產生器被安排成向該驗證者發送包括對與各單獨計量讀數相關聯的費用的承諾的經簽署的訊息,並且其中該驗證者被安排成檢查對該等費用的承諾的組合與對該總費用的承諾相同。
  4. 如請求項1之維護隱私的帳單系統,其中該帳單產生器被安排成向該驗證者發送一經簽署的訊息,該訊息包括對該等計量讀數的承諾,並且其中該驗證者存取該記帳時間段期間預期計量讀數的數量,並且其中該驗證者檢查計量讀數的該預期數量被用於計算總費用且檢查該等計量讀數是順序的。
  5. 如請求項1之維護隱私的帳單系統,其中該驗證者被安排成向該帳單產生器發送揭示一些指定的計量讀數的一請求,並且其中該帳單產生器被安排成只有在該使用者授權的情況下才揭示該等所指定的計量讀數。
  6. 一種電腦實現的產生對由一提供者提供的一公用事業、商品,或服務的一消費的帳單的方法,該方法包括以下步驟:在一記帳時間段期間,接收來自一計量器的一經證實的計量讀數,該計量器被安排成量測一使用者對該公用事業、商品,或服務的消費,該計量讀數指示該使用者對該公用事業、商品,或服務的該消費;接收來自該提供者的一經證實的定價策略,該經證實的定價策略指示對該公用事業、商品,或服務的一消費的定價;至少部分地基於該經證實的定價策略和該經證實的計量讀數來產生一帳單,該帳單包括在該記帳時間段期間消費的一總費用並省去了該經證實的計量讀數;產生展示該帳單是從該經證實的計量讀數和該經證實的定價策略形成的一證明;該證明是在不揭示該經證實的計量讀數的情況下可普遍驗證的。
  7. 如請求項6之方法,其中該證明是一非互動式零知識證明,其中一證明者可以用零知識來向一驗證者證明一聲明,而無需該驗證者向該證明者發送任何資訊。
  8. 如請求項7之方法,其中該方法包括以下步驟:使用將該計量讀數映射到費用的該經證實的定價策略的各部分上的簽名來產生該證明,並且其中該證明包括對擁有該等簽名的一零知識證明。
  9. 如請求項6之方法,其中該計量器受一實體信任,該實體產生該帳單以不洩露除該等計量讀數之外的更多資訊。
  10. 如請求項6之方法,其中該方法包含以下步驟:向一驗證者發送一經簽署訊息,該訊息包含該帳單、該證明、對用於計算該帳單的該定價策略片段的承諾和對該計量度數的一承諾。
  11. 如請求項6之方法,其中該經證實計量讀數包括對該等計量讀數的一或多個經簽署承諾以及彼等承諾的開口,其中該等承諾的該等開口是使得能夠揭露對該等計量讀數的該等承諾的參數。
  12. 如請求項11之方法,其中該方法包含以下步驟:向該提供者簽署並發送一支付訊息,該支付訊息包含該證明的至少質詢和回應、對該總費用的一承諾、對該總費用的該承諾的一開口、對用於計算該總費用的該定價策略片段的承諾和對該等計量讀數的承諾;其中一承諾是以一隱藏的形式以在該隱藏的值被揭示給一接收者之前該發送者不能夠改變該隱藏的值的方式發送給該接收者的值。
  13. 如請求項12之方法,該方法包含以下步驟:接收該經證實定價策略作為該提供者已使用一簽名方案簽署的一定價策略,該簽名方案賦能擁有簽名的有效證明。
  14. 如請求項6之方法,其中該計量讀數包括複數個計量讀數,並且接收該經證實的定價策略之步驟包括以下步驟:作為複數個經簽署的表行來接收並儲存該經證實的定價策略,每一表行將該複數個計量讀數中的一特定計量讀數映射到該經證實的定價策略的一費用;並且其中產生該證明之步驟包括以下步驟:產生該證明以包括對擁有被用於產生該總費用的該表行上的該等簽名的一零知識證明和對被用於產生該總費用的該等經簽署表行中的值與對該帳單的該總費用的一承諾中的一值之間的相等性的一零知識證明,其中一承諾是以一隱藏的形式以在該隱藏的值被揭示給一接收者之前該發送者不能夠改變該隱藏的值的方式發送給該接收者的值。
  15. 如請求項6之方法,其中接收該經證實的定價策略之步驟包括以下步驟:作為複數個經簽署的表行來接收該經證實的定價策略,每一表行將一特定計量讀數映射到一每消費單位費用;並且其中產生該證明之步驟包括以下步驟:產生該證明以包括證明擁有被用於產生該帳單的該總費用的該等表行上的該等簽名的一零知識證明、對相等性的一零知識證明、以及對該總費用的一承諾中的一值等於該經證實的計量讀數的消費值乘以該經證實的定價策略的每單位消費費用的一零知識證明。
  16. 如請求項6之方法,其中接收該經證實的定價策略之步驟包括以下步驟:作為複數個經簽署的表行來接收該經證實的定價策略,每一表行將一定範圍的消費值映射到一費用;並且其中產生該證明之步驟包括以下步驟:對於每一計量讀數,產生該證明以包括對擁有適當表行上的一簽名的一零知識證明、該計量讀數消費值處於該經簽署的表行的消費值範圍內的一零知識證明、以及對該經簽署的表行中的該費用與對該費用的一承諾中的一值之間的相等性的一零知識證明。
  17. 如請求項6之方法,其中接收並儲存該經證實的定價策略之步驟包括以下步驟:作為複數個經簽署的表行來接收並儲存該經證實的定價策略,每一表行將一定範圍的消費值映射到一每消費單位費用;並且其中產生該證明之步驟包括以下步驟:對於每一計量讀數,產生該證明以包括對擁有適當表行上的一簽名的一零知識證明、該計量讀數消費值處於該經簽署的表行的消費值範圍內的一零知識證明、以及對該費用的一承諾中的一值等於該計量讀數的消費值乘以該每消費單位費用的一零知識證明、以及對相等性的另一零知識證明;其中一承諾是以一隱藏的形式以在該隱藏的值被揭示給一接收者之前該發送者不能夠改變該隱藏的值的方式發送給該接收者的值。
  18. 如請求項6之方法,其中接收並儲存該經證實的定價策略之步驟包括以下步驟:作為複數個經簽署的表行來接收並儲存該經證實的定價策略,每一表行包括將一定範圍的消費值映射到一費用的一多項式函數;其中一承諾是以一隱藏的形式以在該隱藏的值被揭示給一接收者之前該發送者不能夠改變該隱藏的值的方式發送給接收者的值。
  19. 一種電腦實現的驗證對一公用事業、商品,或服務的消費的一帳單的方法,該方法包括以下步驟:接收一經簽署的支付訊息,該經簽署的支付訊息包括具有一總價格並省去消費值的該帳單;及證實該帳單的一非互動式零知識證明,該證明包括一第一質詢和回應;使用一數位簽章方案來驗證該支付訊息上的該簽名;在不找出被用來計算該總價格的消費值的情況下,藉由給定該質詢和回應來計算承諾並計算一第二質詢並且檢查該第二質詢是否等於在該支付訊息中接收到的該第一質詢來驗證該零知識證明。
  20. 如請求項19之方法,其中該經簽署的支付訊息包括對被用於計算該帳單的計量讀數的承諾;該方法進一步包括以下步驟:存取計量讀數的一預期數量並檢查該支付訊息中的承諾的數量等於計量讀數的該預期數量以及檢查對被用來計算該帳單的該等計量讀數的該等承諾是順序的。
TW100133814A 2010-10-08 2011-09-20 維護隱私的計量 TWI452533B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/901,214 US20120089494A1 (en) 2010-10-08 2010-10-08 Privacy-Preserving Metering

Publications (2)

Publication Number Publication Date
TW201218108A TW201218108A (en) 2012-05-01
TWI452533B true TWI452533B (zh) 2014-09-11

Family

ID=45925879

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100133814A TWI452533B (zh) 2010-10-08 2011-09-20 維護隱私的計量

Country Status (6)

Country Link
US (1) US20120089494A1 (zh)
EP (1) EP2625667A4 (zh)
CN (1) CN102446329A (zh)
AR (1) AR083374A1 (zh)
TW (1) TWI452533B (zh)
WO (1) WO2012047489A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5214748B2 (ja) * 2011-01-25 2013-06-19 株式会社東芝 電力使用量計算システム、エネルギー管理装置及びプログラム
US8667292B2 (en) * 2011-05-19 2014-03-04 Microsoft Corporation Privacy-preserving metering with low overhead
TWI609343B (zh) * 2012-09-21 2017-12-21 Mobile financial trading system and method
US9507642B2 (en) * 2012-12-04 2016-11-29 Xerox Corporation Method and systems for sub-allocating computational resources
US9747448B2 (en) * 2013-04-02 2017-08-29 Microsoft Technology Licensing, Llc Cryptographic mechanisms to provide information privacy and integrity
EP2860904A1 (en) * 2013-10-08 2015-04-15 Thomson Licensing Method for signing a set of binary elements, and updating such signature, corresponding electronic device and computer program product
CN104717067B (zh) * 2013-12-17 2018-02-23 中国移动通信集团辽宁有限公司 基于非交互式零知识的安全验证方法、设备及系统
US20150199530A1 (en) * 2014-01-10 2015-07-16 General Electric Company Systems and Methods With Cryptography and Tamper Resistance Software Security
EP3097515B1 (en) * 2014-01-21 2020-12-09 Circurre Pty Ltd Personal identification system and method
US20150220904A1 (en) * 2014-01-31 2015-08-06 Simple Bills, Inc. Account Management and Transfer System and Method of Use
FR3018378A1 (fr) * 2014-03-12 2015-09-11 Enrico Maim Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses
US9506776B2 (en) 2014-08-08 2016-11-29 International Business Machines Corporation Adaptive sampling of smart meter data
ES2624498T3 (es) * 2015-04-18 2017-07-14 Urban Software Institute GmbH Sistema y método para enrutamiento de mensaje
US11265165B2 (en) * 2015-05-22 2022-03-01 Antique Books, Inc. Initial provisioning through shared proofs of knowledge and crowdsourced identification
US11080665B1 (en) * 2015-06-08 2021-08-03 Blockstream Corporation Cryptographically concealing amounts and asset types for independently verifiable transactions
WO2016200885A1 (en) * 2015-06-08 2016-12-15 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
EP3320475B1 (en) * 2015-07-10 2020-03-04 Nec Corporation A method and a system for reliable computation of a program
US11423498B2 (en) * 2015-12-16 2022-08-23 International Business Machines Corporation Multimedia content player with digital rights management while maintaining privacy of users
CN105913561A (zh) * 2016-04-15 2016-08-31 金敏 一种保护商业信息的自动售货系统
US11176624B2 (en) * 2016-08-29 2021-11-16 International Business Machines Corporation Privacy-preserving smart metering
US10805090B1 (en) * 2017-03-24 2020-10-13 Blockstream Corporation Address whitelisting using public/private keys and ring signature
US10897357B2 (en) * 2018-04-04 2021-01-19 International Business Machines Corporation Computation using lattice-based cryptography
CN108830107B (zh) * 2018-06-25 2021-10-26 北京奇虎科技有限公司 保护隐私信息的方法、装置、电子设备及计算机可读存储介质
US10972274B2 (en) * 2018-08-29 2021-04-06 International Business Machines Corporation Trusted identity solution using blockchain
US11221232B2 (en) * 2018-10-10 2022-01-11 Neptune Technology Group Inc. Installation of meters and determining consumption based on meter data management system and certified meter configuration data
CN109614820A (zh) * 2018-12-06 2019-04-12 山东大学 基于零知识证明的智能合约认证数据隐私保护方法
US20210350401A1 (en) * 2020-05-11 2021-11-11 Coupang Corp. Systems and methods for experimentation of e-commerce pricing distribution based on time-interleaving
CN113407981B (zh) * 2021-08-19 2021-11-09 国网浙江省电力有限公司信息通信分公司 一种基于零知识证明的能源消费数据处理方法
CN113988865B (zh) * 2021-12-29 2022-03-29 国网电子商务有限公司 电力结算隐私保护方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026394A1 (en) * 1998-10-29 2002-02-28 Patrick Savage Method and system of combined billing of multiple accounts on a single statement
US20020040355A1 (en) * 2000-10-02 2002-04-04 Weiner Steven D. System and method for utility meter swipecard
TW200838220A (en) * 2007-01-04 2008-09-16 Feeva Technology Inc Systems and methods of network operation and information processing using persistent/anonymous identifiers
TW200905559A (en) * 2007-02-23 2009-02-01 Cloakware Corp System and method of interlocking to protect software-mediated program and device behaviours

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630986B1 (en) * 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US7280971B1 (en) * 2000-06-09 2007-10-09 At&T Bls Intellectual Property, Inc. Method and system for server-based error processing in support of legacy-based usage and billing systems
KR20020027409A (ko) * 2002-02-15 2002-04-13 오상헌 개인 신상 정보의 유출을 방지하는 고객 중심의 통합 전자고지서 송부 및 지불 시스템 및 전자 고지서 통합 방법
US7098783B2 (en) * 2003-06-02 2006-08-29 Crichlow Henry B System and method for real time generating, presenting, displaying and paying utility bills online
US8024274B2 (en) * 2006-05-05 2011-09-20 President And Fellows Of Harvard College Practical secrecy-preserving, verifiably correct and trustworthy auctions
TW200820108A (en) * 2006-05-24 2008-05-01 Ibm Method for automatically validating a transaction, electronic payment system and computer program
JP4227635B2 (ja) * 2006-08-07 2009-02-18 キヤノン株式会社 画像形成装置及び印刷処理方法及び課金制御システム
US10007767B1 (en) * 2007-12-21 2018-06-26 EMC IP Holding Company LLC System and method for securing tenant data on a local appliance prior to delivery to a SaaS data center hosted application service

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026394A1 (en) * 1998-10-29 2002-02-28 Patrick Savage Method and system of combined billing of multiple accounts on a single statement
US20020040355A1 (en) * 2000-10-02 2002-04-04 Weiner Steven D. System and method for utility meter swipecard
TW200838220A (en) * 2007-01-04 2008-09-16 Feeva Technology Inc Systems and methods of network operation and information processing using persistent/anonymous identifiers
TW200905559A (en) * 2007-02-23 2009-02-01 Cloakware Corp System and method of interlocking to protect software-mediated program and device behaviours

Also Published As

Publication number Publication date
US20120089494A1 (en) 2012-04-12
AR083374A1 (es) 2013-02-21
CN102446329A (zh) 2012-05-09
EP2625667A4 (en) 2014-07-30
WO2012047489A1 (en) 2012-04-12
EP2625667A1 (en) 2013-08-14
TW201218108A (en) 2012-05-01

Similar Documents

Publication Publication Date Title
TWI452533B (zh) 維護隱私的計量
Wang et al. BBARS: Blockchain-based anonymous rewarding scheme for V2G networks
Rial et al. Privacy-preserving smart metering
Baza et al. Privacy-preserving blockchain-based energy trading schemes for electric vehicles
US8667292B2 (en) Privacy-preserving metering with low overhead
CN110337665B (zh) 用于信息保护的系统和方法
Backes et al. ADSNARK: Nearly practical and privacy-preserving proofs on authenticated data
Jawurek et al. Plug-in privacy for smart metering billing
CN107196762B (zh) 一种面向大数据的确权方法
CN109889497B (zh) 一种去信任的数据完整性验证方法
CN109409890B (zh) 一种基于区块链的电力交易系统及方法
CN108418783A (zh) 一种保护区块链智能合约隐私的方法、介质
TW201944757A (zh) 適於提升即時離線區塊鏈交易安全性的電腦實施系統與方法
CN111815322B (zh) 一种基于以太坊的具备可选隐私服务的分布式支付方法
WO2005027008A1 (en) Method and apparatus for secure and small credits for verifiable service provider metering
KR102163559B1 (ko) 에너지 월렛을 활용한 다중 전자서명 전력거래 시스템 및 그 구동방법
CN108805551B (zh) 一种安全的细粒度预支付方法及装置
Chu et al. Privacy-preserving smart metering with regional statistics and personal enquiry services
CN108520413A (zh) 一种高效的安全虚拟预支付方法及装置
Wang An abuse-free fair contract-signing protocol based on the RSA signature
Wang et al. Privacy-preserving energy storage sharing with blockchain
CN110728576A (zh) 一种基于零知识证明的去中心化匿名数据交易方法
Yahaya et al. Blockchain-based secure energy trading with mutual verifiable fairness in a smart community
CN112365252A (zh) 基于账户模型的隐私交易方法、装置及相关设备
Wang et al. Privacy-preserving energy storage sharing with blockchain and secure multi-party computation

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees