?

同態簽名研究綜述*

2021-11-20 02:14吳華麟陳文彬高崇志
密碼學報 2021年5期
關鍵詞:同態敵手線性

吳華麟,陳文彬,3,高崇志,劉 淼,李 進

1.廣州大學 計算機科學與網絡工程學院,廣州 510006

2.廣州大學 人工智能與區塊鏈研究院,廣州 510006

3.廣西密碼學與信息安全重點實驗室,桂林 541004

1 引言

同態簽名是指在沒有簽名私鑰的情況下,允許任何實體對已認證的數據進行同態運算操作生成新數據,并得到新數據的有效簽名.自被提出以來,同態簽名越來越受到人們的關注.同態簽名特殊的性質使其具有廣泛的理論研究空間和極高的科研價值,并在許多實際應用中都有著重要的作用,比如可以為網絡編碼、云計算以及傳感網絡等領域提供有效的解決方案.

同態簽名方案的概念最早在2000年由Rivest提出[1],緊接著Johnson等人在2002年引入了同態簽名的形式化定義以及總體框架[2],隨后相繼產生了許多不同類型的同態簽名方案.同態簽名方案如果按同態運算函數進行分類,可以分為線性同態簽名、多項式函數同態簽名和全同態簽名.最初提出的方案是線性同態簽名方案,在2007年Zhao等人提出了一個線性同態簽名方案[3],該方案允許對簽名數據進行任意的線性組合計算,能夠方便地檢查接收消息的完整性,還能有效防止建立在網絡編碼上的應用程序受到污染攻擊.在接下來的時間里,人們針對效率、安全性和隱私保護進行進一步改進,提出了大量高效實用的線性同態簽名方案[4-6].線性同態簽名方案允許任意的實體在沒有簽名私鑰的情況下,對已簽名的數據進行線性組合生成新數據,并且能夠生成新數據的有效簽名.而Lin等人受到了Rivest在2000年提出的開放問題的啟發,于2017年提出了帶有指定實體的線性同態簽名方案[7].除了線性同態簽名外,人們還構造了更加靈活的多項式函數同態簽名方案和全同態簽名方案.2011年Boneh等人提出了第一個多項式函數同態簽名,該方案能夠允許對簽名數據進行多元多項式計算[8].而全同態簽名與線性同態簽名、多項式函數同態簽名不同,全同態簽名不再對函數進行限制,而是允許對簽名數據進行任意電路運算,比較具有代表性的是2014年Gorbunov等人提出的基于格的層次型全同態簽名方案[9].然而上述這些同態簽名方案都假定每一個輸入的簽名數據是使用相同的私鑰進行簽名的,也就是說這些同態簽名方案只適用于單用戶或者單源網絡編碼系統的情況,對于多用戶或者多源網絡編碼系統的應用程序卻不能提供有效的解決方案.為了克服這一限制,Zhang等人將聚合屬性引入到多用戶情況下的同態簽名方案中,即允許對使用不同的私鑰產生的簽名數據進行計算操作,從而構造出同態聚合簽名方案[10].除了同態聚合簽名方案之外,最近幾年還提出了多鑰同態簽名方案,該類型的方案不僅能為多密鑰的環境下提供解決方案,并且還使得密鑰空間也具有同態性,而其他類型的同態簽名方案中的同態性僅限于消息空間[11].

在設計與應用同態簽名方案的時候,我們需要考慮方案的正確性和安全性是否能夠達到一定的要求.同態簽名方案的安全性包括不可偽造性(unforgeability)和隱私性(privacy).一般來說,同態簽名方案能夠達到的最強大的安全要求為在自適應選擇消息攻擊下具有不可偽造性(existential unforgeability under adaptive chosen message attack,EUF-CMA)[12],以及隱私性達到完全上下文隱藏[13].除了安全性之外,還需要考慮其他的特性,比如構造的方案基于哪些密碼學基礎、計算效率的高低、簽名數據長短,以及安全性證明是基于隨機預言機模型還是標準模型等.本文將描述可以使用同態簽名方案的三個云計算應用場景(電子投票、智能電網和電子健康記錄)的要求,然后根據各種類型的同態簽名方案所具有的特性判斷其是否能夠適用于以上的應用場景.

本文主要描述了同態簽名方案的基本概念、相關特性和密碼學基礎,概述了目前同態簽名方案的研究現狀,分別介紹了各種類型的同態簽名方案,并給出了各種類型中具有代表性的同態簽名方案,然后為具體應用場景提供合適的同態簽名方案,最后總結同態簽名方案未來的發展方向.

2 同態簽名

同態簽名是具有同態屬性的一種數字簽名.隨著近幾年來云計算的發展,同態簽名成為了現代密碼學的研究熱點,并且擁有廣泛的應用空間.同態簽名最初被設計用于在網絡編碼中建立身份驗證和解決污染攻擊,它的一些特性可以適用于與云計算相關的應用,比如說電子投票、智能電網和電子健康記錄等.

同態性(Homomorphism)[14]:設有兩個同類型的代數系統〈G1,?〉和〈G2,?〉,集合G1和G2上所對應的代數運算是?和?,f是G1到G2的映射.如果有任意的a,b∈G1滿足:

f(a?b)=f(a)?f(b)

則f是從〈G1,?〉到〈G2,?〉的一個同態映射,簡稱同態.

同態簽名允許任意的第三方在沒有簽名私鑰的情況下對已認證的數據進行同態運算操作生成新數據,并得到新數據的有效簽名.也就是說,假設?和?是二元運算,簽名者的私鑰是sk,y和y′分別是x和x′的簽名,第三方在不知道私鑰sk的情況下,可以通過計算x?=x?x′,y?=y?y′,得出新數據x?的同態簽名y?[15].

2002年Johnson等人在文獻[2]中提出了同態簽名的第一個形式化定義,同時作者還指出了文獻中的同態簽名方案存在的主要問題,并明確了未來工作的研究方向.目前已有的同態簽名方案主要分為5種類型:線性同態簽名方案、多項式函數同態簽名方案、全同態簽名方案、同態聚合簽名方案以及多鑰同態簽名方案.本節首先詳細描述同態簽名方案的基本概念和安全性定義,然后分析同態簽名具有的其他相關特性以及密碼學基礎.

2.1 同態簽名方案的基本概念

一個完整的同態簽名方案需要包含一個消息空間M,一個簽名消息空間Y,一個包含所有私鑰的集合K以及一個包含所有公鑰的集合K′[16].同態簽名方案和傳統的數字簽名方案定義一樣,也包含三個概率多項式算法:密鑰生成算法Setup,簽名算法Sign和驗證算法Verify.除此之外,同態簽名方案還引入了一個核心算法Evaluate.

與一般的數字簽名相比,同態簽名引入了一些新的參數:(1)整數N:表示最大的數據集大小,即同態運算函數可以操作的最大消息數,對應于消息空間的維數.(2)同態運算函數集合F:定義了同態簽名方案能夠在簽名數據上進行的所有可能的計算函數.其中函數f:M N→M是集合F中的一個元素.(3)索引i:能夠對數據集(m1,m2,···,m N)∈M中的消息進行標記跟蹤.(4)標簽τ:在進行簽名運算的時候,每一個數據集都會加上一個標簽τ來標識區分不同的數據集,標簽τ對于同態簽名的安全性起到重要的作用.

同態簽名在已有的傳統數字簽名方案的基礎上引入了新的簽名數據計算算法Evaluate:K′×{0,1}λ×F×Y N→Y,該算法是同態簽名方案的核心部分[16].Evaluate算法允許任何人對簽名數據進行同態運算操作,也就是將作用在消息上的函數轉換為作用在簽名上的函數.下面將基于文獻[13]給出同態簽名方案的形式化定義.

同態簽名方案是包含以下概率多項式時間算法的元組(Setup,Sign,Verify,Evaluate)[16]:

?Setup(1λ,N):該算法輸入一個安全參數λ和一個整數N,輸出一個私鑰k和相應的公鑰k′.公

鑰k′決定了消息空間M,簽名空間Y,以及同態運算函數f:M N→M的集合F.

?Sign(k,τ,m,i):該算法輸入一個私鑰k,一個標簽τ∈{0,1}λ,一個消息m∈M,以及一個索引i∈{1,2,···,N},輸出一個簽名σ∈Y,其中σ由私鑰k計算得出,是標簽τ標記的數據集中的第i個消息m的簽名.

?Verify(k′,τ,m,σ,f):該算法輸入一個公鑰k′,一個標簽τ∈{0,1}λ,一個消息m∈M,一個簽名σ∈Y,以及一個函數f∈F.如果σ是消息m的一個有效的簽名,則輸出1,否則輸出0.

關于同態簽名方案的正確性,我們設一個投射函數πi:M N→M使得πi(m1,m2,···,m N)→m i,其中πi∈F,i∈{1,2,···,N}.

在給出同態簽名方案的安全性定義之前,我們首先將敵手A的優勢Adv定義為:敵手A查詢了消息m1,m2,···,m N之后,對消息m′/∈span?(m1,m2,···,m N)輸出有效簽名(m′,σ′)的概率,其中計算操作為“*”.

安全性[16]:如果每個敵手A最多進行q次選擇消息查詢,運行時間最多為t,并且優勢AdvA≤ε,則計算操作為“*”的同態簽名方案對于存在偽造是(t,q,ε)-安全的.

2.2 同態簽名方案的一般特性

同態簽名方案除了具有上述定義的正確性和不可偽造的安全性以外,還擁有其他的一些特性,例如隱私性和可證明安全性理論.除此之外,在某些情況下算法的效率以及簽名的長度也是重要的特性.以上的這些特性都能夠作為評估一個同態簽名方案的標準,我們可以根據這些特性為具體的實際應用提供有效的同態簽名方案.本節將對上述的特性進行詳細的討論和定義.

2.2.1 不可偽造性

不可偽造性是同態簽名方案的基本安全要求之一,同態簽名方案的不可偽造性安全模型主要包括兩種,一種是Boneh等人的安全定義,其中定義了一個相對較弱的敵手;另外一種則是Freeman的安全定義,其中定義了一個較強的敵手.上述兩種不可偽造性安全模型由敵手(adversary)、挑戰者(challenger)和游戲(game)組成.首先由挑戰者生成密鑰對(k,k′),并發送公鑰k′給敵手,挑戰者保留私鑰k用來生成簽名.然后敵手可以自適應地選擇任意數據集,每個數據集最多包含N個消息,挑戰者為所選擇的數據集隨機選擇標簽τ,并根據敵手選擇的數據集生成對應的簽名,然后將標簽和簽名返回給敵手.最后,敵手返回一個消息簽名對(m?,σ?),一個同態運算函數f和一個標簽τ.下面描述關于不可偽造性的兩個定義.

Boneh等人的安全定義[8]:從上述的同態簽名方案的基本概念可知,標簽τ對于同態簽名方案的安全要求來說是一個非常重要的參數.這是因為在挑戰者和敵手A之間的博弈中,每個數據集都添加了標識符τ用于區分不同的數據集,如果沒有了標簽τ來標識數據集,敵手就只能查詢部分消息,而不能查詢整個數據集[17].敵手A可以通過兩種不同的偽造行為來獲勝.第一種對應于普通數字簽名偽造的一般概念,敵手生成一個未查詢過的數據集m?的偽造簽名σ?.而第二種類型是敵手A生成一個已被查詢過的數據集m?的偽造簽名σ?,但是數據集m?不等于同態運算函數f的消息,即該數據集m?能夠驗證其函數之一的不正確值.接下來將基于文獻[8]簡單描述Boneh等人的安全定義.

如果一個同態簽名方案S=(Setup,Sign,Verify,Evaluate)對于安全參數λ以及所有的最大消息數N,任何的概率多項式時間敵手A贏得下列游戲的概率可以忽略不計,那么同態簽名方案S是不可偽造的.

?Setup:挑戰者通過運行Setup(1λ,N)生成密鑰對(k,k′),并把公鑰k′給敵手.公鑰k′定義了一個消息空間M,簽名空間Y以及一個同態運算函數f:M N→M的集合F.

?Output:敵手A輸出τ?∈{0,1}λ,一個消息m?∈M,一個同態運算函數f∈F以及一個簽名σ?∈Y.

如果敵手偽造的簽名滿足以下兩種類型中的一種,并且能夠驗證Verify(k′,τ?,m?,σ?,f)=1,則敵手獲勝.

(1)I型偽造:對于所有的i∈{1,2,···,N},τ??=τi.

(2)II型偽造:對于某個i有τ?=τi,但是m??=f(→m i).

Freeman的安全定義[13]:在2012年由Freeman提出的較強的安全模型中[13],敵手A擁有了更強的能力,不再局限于一次查詢給定數據集中的所有消息,而是可以一次查詢一條消息,然后根據前一個查詢的輸出選擇下一條消息.除此之外,敵手A還可以在每個數據集中自適應地執行此操作,并且還能在不同的數據集中分散查詢.也就是說敵手能夠根據查詢過的數據集輸出函數-消息對(f,m?),以及(f,m?)上的簽名σ?.這一類型的偽造被稱為III型偽造.然而在這一類型中敵手A并不能在給定的數據集上查詢足夠的信息來準確地定義同態運算函數f.

2.2.2 隱私性

同態簽名方案的另外一個基本安全要求是隱私性.隱私性是同態簽名方案對生成的新簽名的隱私保護.生成的簽名除了被簽名的消息之外,不應該泄露其他任何信息.根據一個方案所能夠達到的隱私保護程度,同態簽名方案的隱私性由弱到強可以分為以下三種不同程度的概念:

?弱上下文隱藏(weakly context hiding)[18]:設消息m′的簽名σ′是由原始簽名集σ1,σ2,···,σN派生出來的,除了對應的消息m′之外,σ′不會泄露上述原始簽名集σ1,σ2,···,σN各自的數據集m1,m2,···,m N的信息.

?強上下文隱藏(strong context hiding)[19]:要求即使在原始簽名集σ1,σ2,···,σN公開的情況下也不可能將其與其派生的簽名σ′聯系起來.

?完全上下文隱藏(completely context hiding)[20]:要求公開私鑰的敵手選擇的簽名能夠隱藏上下文,也就是說一個同態簽名方案即使在原始簽名是由非法簽名算法生成的情況下仍然具有不可鏈接性.

2.2.3 可證明安全性理論

對于所有的密碼方案,不僅僅是同態簽名方案,無論是簽名體制還是加密體制都需要經過可證明安全性的流程.密碼方案的可證明安全性是指一種歸約的方法,首先需要確定密碼體制的安全目標,比如加密體制的安全目標是信息的機密性,而簽名體制的安全目標是簽名的不可偽造性.然后根據敵手的能力構建一個形式化的安全模型.最后再通過歸約的方法分析敵手能夠成功破解密碼體制的概率[21].密碼方案的安全性證明通常在隨機預言機模型和標準模型中進行,前一種是可證明安全性的理想框架,后一種是實際框架.

隨機預言機模型(random oracle model,ROM)的概念起源于1986年Fiat等人把哈希函數看作是隨機函數的思想[22],然后在1993年Bellare等人正式提出了隨機預言機模型的思路框架[23].在隨機預言機模型下,每個哈希函數都會被一個完全隨機函數所替代;相反在方案的實際執行時,則會用具體的哈希函數來替換方案中的隨機預言機.因此在隨機預言機模型下證明安全的方案在實際具體實現中未必是安全的,這是因為在隨機預言機模型中,假定敵手不會利用散列函數的弱點來攻擊密碼學方案,只是在理想的情況下進行安全性證明.

由于一些隨機預言機模型下的密碼方案已經被證明是不安全的,學者們提出了一個更加現實的框架來執行證明,稱為標準模型(standard model).該模型不依賴于隨機預言機,僅使用了現實中哈希函數可以實現的特性.由于標準模型可以將密碼學方案歸約到數論中的困難問題上,因此在標準模型下的安全證明更加令人信服.然而實際上在標準模型下建立安全性歸約是比較復雜困難的,而且在標準模型下設計的密碼算法的效率也沒有在隨機預言機模型下的密碼算法高.由此可見,無論是隨機預言機模型還是標準模型,都具有重大的意義以及廣泛的應用.

2.2.4 長度效率

同態簽名方案由于需要進行取冪、乘法以及模運算等復雜的計算操作,因此會增加處理開銷并影響方案的效率,這是公鑰密碼體系共有的缺點[24].不僅如此,同態簽名方案在實際應用中的效率還可能會受到移動終端計算和存儲能力大小的限制.目前還沒有一個能夠衡量同態簽名方案效率的標準,如何制定一個嚴格的效率標準仍需要進一步的研究.不過對于同態簽名方案生成簽名的長度,文獻[8]提出了一個長度效率的概念:對于固定的安全參數λ,如果派生簽名的長度僅對數地依賴于數據集的大小N,那么同態簽名方案就是長度有效的.

2.3同態簽名方案的密碼學基礎

本節將會簡單地介紹同態簽名方案的一些密碼學基礎知識.已有的同態簽名方案基本上都是基于以下3種密碼學基礎:第一種是建立在雙線性群的Diffie-Hellman問題上;第二種基于RSA問題;第三種基于格上困難問題.Diffie-Hellman問題和RSA問題分別建立在離散對數和整數分解問題之上,這兩種問題都已被證明難以抵抗量子攻擊,而格問題卻可以提供抗量子攻擊的特性.以下的密碼學基礎均為目前難以解決的數學困難問題,這里的難以解決是指在概率多項式時間內無法以不可忽略的概率求得解.

2.3.1 雙線性群

如果存在一個雙線性映射e:G1×G2→GT,則稱元組(G1,G2,GT,p,e)為雙線性群[25].一些同態簽名方案都是基于雙線性群的密碼學基礎之上[26-28],接下來介紹關于雙線性群的一些常見的密碼學基礎.

?計算性Diffie-Hellman問題(CDH):如果在雙線性群(G1,G2,GT,p,e)中G1=G2=G,則雙線性映射e為:G×G→GT.設G是一個階為素數p的循環群,g是G的生成元,給定元組(g,g a,g b)∈G,計算g ab∈G.

?決策性Diffie-Hellman問題(DDH):如果在雙線性群(G1,G2,GT,p,e)中G1=G2=G,則雙線性映射e為:G×G→GT.設G是一個階為素數p的循環群,g是G的生成元,給定元組(g,g a,g b,g c)∈G,判斷在Zp中c=ab是否為真.

2.3.2 RSA

RSA最早是在1976年由Rivest等人提出的,是目前使用最為廣泛的公鑰密碼體制之一[29].現有的一部分同態簽名方案是建立在RSA問題之上的[30],它的安全性是基于整數因式分解的困難性.如果一個整數N是兩個不同素數p和q的乘積,那么稱整數N為RSA模數.1997年Baric等人在RSA問題的基礎上提出了強RSA問題[31].一般來說,給定一個公共的RSA模數N,以及一個隨機值z∈Zp,任何概率多項式時間算法都不能計算出z的e次方根,其中e?=1.RSA問題和強RSA問題的區別在于,后者的指數e可以根據z進行選擇,而RSA問題中的e是獨立選擇的[30].以下是強RSA問題的定義.

定義1(強RSA問題)給定一個長度為k的整數N=pq以及一個隨機元素z∈Zp,其中k∈N為安全參數,p和q為不同的素數.對于任何概率多項式時間算法E,概率

Pr[(y,e)←A(N,z):y e=zmodN∧e?=1]

可以忽略不計.

2.3.3 格

近年來,基于格的密碼系統由于其在量子計算機的上的安全性而成為了密碼學的研究熱點.格密碼學基礎能夠提供雙線性群和RSA問題都沒有的抗量子攻擊特性,因此學者們提出了許多基于格的同態簽名方案[18,32].接下來介紹同態簽名方案中的關于格的密碼學基礎.

3 同態簽名方案的類型及研究現狀

同態簽名的概念自提出以來,就引起了密碼學家的廣泛關注,在經過了十多年的研究與發展之后,誕生了許多不同類型的同態簽名方案,其中按照不同的同態運算操作可以分為線性同態簽名、多項式函數同態簽名和全同態簽名.以往的同態簽名方案都是假定每個輸入的簽名數據使用相同的私鑰生成的,因此只適用于單用戶的場景.為了能夠在多用戶的場景下提供有效的解決方案,密碼學家們還提出了具有聚合屬性的同態聚合簽名方案,以及在密鑰空間中也具有同態屬性的多鑰同態簽名方案.本節將會介紹各種類型的同態簽名方案的相關概念以及研究現狀.

3.1 線性同態簽名方案

線性同態簽名允許在簽名數據上進行線性計算操作.最早的同態簽名方案是線性的,當時是為了在網絡編碼中建立身份驗證以及解決污染問題而提出了一些線性同態簽名方案[3,6,34,35],利用網絡編碼中數據包的線性特性,方便有效地檢查接收到數據包的完整性,但是這些線性同態簽名方案都已經被證明是不安全和不實用的.直到2009年Boneh等人提出了一個線性同態簽名方案[26],該方案可以看作是線性同態簽名方案的里程碑.在這項工作中給出了第一個線性同態簽名方案的形式化定義,并且定義了弱對手的概念.在他們的方案中,數據包被視為素數域上的線性向量空間,對接收到的向量進行修改可以看作是具有某些整數系數的向量的線性組合.也就是說,該方案實際上是對線性子空間進行簽名,從向量子空間V上的簽名σ可以精確驗證V中的向量.此外,每個節點都可以驗證數據包的真實性并為新的有效數據包創建有效簽名.并且他們在隨機預言模型中證明了基于co-CDH假設的方案是安全的.在隨后的幾年中,學者們提出了大量的線性同態簽名方案,這些方案在效率、安全性和隱私性方面得到了進一步改進.

2010年Gennaro等人提出了一個基于RSA困難問題的線性同態簽名方案[5],并證明了該方案在隨機預言模型中的可證明安全性.該方案基于整數分解的困難問題,使得其效率比文獻[26]中基于雙線性群的線性同態簽名方案更高.由于可以選擇較小的整數系數來實現線性組合,因此大大減少了計算開銷并提高了計算效率,能夠在合理的時間內運行,并且該方案也是當時計算復雜度最低的方案.

除了基于雙線性群和RSA假設的線性同態簽名方案之外,為了能夠提供抵抗量子攻擊的特性,2011年Boneh等人提出了第一個基于格的線性同態簽名方案[18],是在二進制域上對向量進行驗證的方案.方案的安全性是基于k-SIS困難問題,這是他們首次提出的一個新的關于格的困難問題.由于方案是在格困難問題上建立的,因此可能沒有文獻[5]中基于RSA困難問題的方案那么高效.2013年Wang等人對第一個基于格的困難問題構造的線性同態簽名方案進行了改進[32].該方案的線性同態是通過使用基于格的哈希函數的同態來實現的.與2011年提出的線性同態簽名方案相比,該方案在公鑰大小、簽名長度和計算效率上具有一定的優勢.

2018年Lin等人對線性同態簽名進行了推廣,引入了基于身份的簽名技術,構造出了基于身份的線性同態簽名方案[36].由于添加了基于身份的特性,因此避免了使用公鑰證書的缺點.該方案的安全性基于雙線性群的計算性Diffie-Hellman問題(CDH),在隨機預言機模型下被證明可以防止自適應選擇消息的存在偽造和ID攻擊.基于身份的線性同態簽名方案可以適用于電子商務和云計算,并且還能在區塊鏈中實現身份驗證.

上述線性同態簽名方案都是基于隨機預言模型的,2011年Attrapadung和Libert提出了第一個在標準模型之下具有可證明安全的線性同態簽名方案[37].他們的方案是在復合階數N的雙線性群上建立的,其中線性組合系數和向量坐標都屬于ZN,而不是素數域.并且該方案允許對單個向量進行動態簽名,簽名的長度是恒定不變的.然而與在隨機預言模型中構造的方案相比,該方案效率相對較低.在2012年Attrapadung和Libert對他們提出的方案做出了進一步的改進[20],修改了方案的復雜性假設,所考慮的雙線性群(G,GT)的復合階數為p=p1p2p3.修改后的方案與之前的方案相比,簽名的長度更短,效率更高.

自從2011年Attrapadung等人提出了標準模型下的線性同態簽名方案之后,隨后幾年里逐漸出現了一些安全性基于RSA假設或者Diffie-Hellman假設的標準模型下的線性同態簽名方案.然而當時還沒有基于格困難問題的標準模型下的線性同態簽名方案,在2016年Chen等人針對這一方向進行了深入研究,構造出了標準模型下的第一個基于格困難問題的線性同態簽名方案[38].Chen等人在這項工作中利用了修剪樹的技術[39]與文獻[8]中提出的兩個整數格的交集法相結合,在標準模型下構造了基于SIS問題的線性同態簽名方案.該方案已被證明能夠對抗弱敵手,并且能夠提供弱上下文隱藏的隱私性.

Chen等人提出的線性同態簽名方案的公鑰是由O(l)個矩陣與O(k)個向量組成,其中l是文件標簽的長度,k是最大數據集的大小.而在2020年由Lin等人提出的標準模型下基于格的線性同態簽名方案具有相對較短的公鑰[40],由O(1)個矩陣與O(k)個向量組成,方案的安全性依賴于SIS困難問題并且能夠對抗弱敵手.在這項工作中Lin等人構造了兩個能夠在有限域上對向量進行驗證的線性同態簽名方案.他們首先在標準模型下構造了一個基于滿秩差分散列函數且滿足選擇性安全的線性同態簽名方案,接著修改了文獻[39]中的變色龍散列函數得到一個線性同態變色龍散列函數(LHCHF),并將其應用于具有選擇性安全的線性同態簽名方案當中,轉換為完全安全的線性同態簽名方案.這兩種方案都可以用來對多個文件進行簽名,并且具有相對較短的公鑰.

2017年Lin等人提出了第一個帶有指定實體的線性同態簽名方案[7],該方案是受到了2000年Rivest提出的指定實體的傳遞簽名開放問題的啟發.與其他線性同態簽名方案不相同,在這個方案中只有一個實體(指定的操作者)可以執行同態運算,并且只有一個實體(指定的驗證者)可以對同態簽名進行驗證.Lin等人在這項工作中給出了該方案的正式定義以及相關的安全要求,分別在雙線性群上的co-Bilinear Diffie-Hellman假設和Gap Bilinear Diffie-Hellman假設實例化了指定實體的線性同態簽名方案,并在隨機預言模型下證明了方案的安全性.

3.2 多項式函數同態簽名方案

多項式函數同態簽名允許在簽名數據上使用多項式函數,多項式函數是多變量和次數有界的,而線性函數是一次多項式,因此多項式同態簽名可以看作是線性同態簽名的推廣.

2011年Boneh和Freeman構造了第一個多項式函數同態簽名方案[8].他們提出的方案使用了Gentry、Peikert和Vaikuntanathan的原像采樣算法[33],定義在理想格上,基于SIS困難問題構造,能夠對已簽名的數據進行多元有界多項式運算,安全性在隨機預言模型中得到證明.只要給定公鑰和簽名數據集,該方案就可以在簽名數據的平均值、標準偏差等其他統計數據上生成同態簽名.并且對于次數為常數的多項式,同態簽名的長度與數據集的大小成對數關系.然而該方案的隱私保護水平尚不清楚.2013年Hiromasa對文獻[8]中的方案進行了改進,提出了簽名長度更短的多項式函數同態簽名方案[41],該方案使用Micciancio和Peikert的算法[42]替代了Gentry、Peikert和Vaikuntanathan的原像采樣算法,Micciancio和Peikert的算法比Gentry等人的原像采樣算法更加有效,采樣的原像更小.這也使得改進后的多項式函數同態簽名方案不僅簽名長度更短,而且效率更高.

上述的兩個多項式函數同態簽名方案的安全性都是在隨機預言模型中得到證明的.為了不再依賴于隨機預言模型,2014年Catalano等人構造了第一個標準模型下的多項式同態簽名方案[43].除此之外,該方案能夠面對更強的敵手,并且簽名驗證的效率更高.方案的安全性依賴于k-augmented power multilinear Diffie-Hellman(k-APMDHP)假設,這是作者首次提出的困難問題.該方案還存在一定的缺點,為了達到比文獻[8,41]中方案更好的安全級別,需要付出更大的計算開銷,而且也沒有實現任何程度的隱私性.

3.3 全同態簽名方案

2009年,Gentry構造了第一個全同態加密方案[44],隨后全同態加密體制吸引密碼學家們的廣泛關注,其中不少密碼學者開始了對全同態簽名的研究.層次型全同態簽名不再對作用在簽名數據上的函數進行限制,而是允許對簽名數據進行任意電路運算,該電路具有一定的尺寸和深度d.

2014年Gorbunov等人提出了第一個層次型全同態簽名方案[9].該方案可以對已簽名的數據進行任意電路的運算,電路的最大深度d是一個先驗值,同態簽名的長度與d呈多項式關系,但與電路大小和數據大小無關.Gorbunov等人在這項工作中引入了同態陷門函數(HTDF)的新概念,該概念可由同態加密與簽名結合在一起實現.方案的不可偽造性基于SIS困難問題,并且能夠在標準模型下證明方案的安全性.除此之外該方案還能對抗弱敵手以及提供弱上下文隱藏的隱私特性.

在與文獻[9]的一項并行工作中,Boyen等人提出了第二個層次型全同態簽名方案[45],該方案也是基于格上困難問題構造的,并且對于兩種不同的電路類型還具有不同的實例:令λ為安全參數,當電路深度d為λ的對數的多項式(polylog(λ))時,方案能夠在SIS困難問題下實現了自適應安全性;而當電路深度d為λ的多項式(poly(λ))時,方案的自適應安全性則依賴于次指數SIS困難問題.相對于Gorbunov等人提出的層次型全同態簽名方案,該方案不僅在效率方面得到了提高,而且能夠對抗較強的敵手,但是該方案沒能實現任何程度的隱私性安全.

Gorbunov等人提出了同態陷門函數(HTDF)的新概念以及構造了第一個層次型全同態簽名方案之后,2015年Wang等人將同態陷門函數的概念與基于身份的特性相結合,提出了基于身份的同態陷門函數(IBHTDF),并利用其構造了第一個基于身份的層次型全同態簽名方案(IBFHS)[46].基于身份的同態陷門函數(IBHTDF)具有無爪(claw-free)的函數對,可以提供抗碰撞的特性,使得基于SIS困難問題的IBFHS具有強不可偽造性,能夠對抗較強的敵手.Wang等人還使用了巴林頓定理(Barrington’s Theorem)來減少參數的大小,與文獻[9]中的層次型全同態簽名方案相比,最大噪聲水平大致從O(m dβ)降低到O(4d mβ),這也將會使得當電路的最大深度d=O(logλ)時,模數q=poly(λ),其中λ是安全參數.該方案的一個缺點是公共參數仍然比較大,如何構造非層次的IBFHS或者具有較小公共參數的IBFHS可以作為后期的研究方向.

而在2020年最新的一項工作中,Wang等人對上述的基于身份的同態陷門函數(IBHTDF)進行了改造,提出了新的同態運算算法,構造了新的基于身份的層次型全同態簽名方案(IBFHS)[47].在該同態運算算法中乘法門電路的噪聲水平與加法門電路的噪聲水平相同,這意味著新的IBHTDF的最大噪聲水平是最理想的,因此使得新的IBFHS的噪聲水平進一步從O(4d mβ)降低到O(2dβ).

3.4 同態聚合簽名方案

上述同態簽名方案都是在單源網絡或者單用戶的場景下構造的,算法中所有輸入的簽名都是使用相同的私鑰產生的.在現實生活中,有很多應用場景都是具有多源網絡或者多用戶的.在這些場景中,生成的新簽名是由不同消息對應的簽名聚合得到的,這些消息由不同的用戶進行簽名,每個用戶有各自的私鑰,對于這些場景則可以使用聚合簽名方案.但是如果想要對已經聚合的簽名數據進行計算操作,上述所有的簽名方案都不能提供有效的解決方案,于是在聚合簽名方案的基礎上引入了同態屬性,構造出同態聚合簽名方案[10],滿足了以上的要求.在3.4.1節中,首先提供聚合簽名的基本概念,然后在3.4.2節中給出同態聚合簽名的基本概念.

3.4.1 聚合簽名

聚合簽名最先是由Boneh等人提出的[48].聚合簽名方案是一種具有聚合屬性的數字簽名方案,聚合簽名方案可以將N個不同的簽名聚合成一個新的簽名,這N個不同的簽名由N個不同的用戶使用各自的私鑰產生.新簽名可以作為所有N個消息的一個簽名,并且和單個的原始簽名一樣長.此外,聚合而成的新簽名是具有增量特性的.也就是說,給定簽名σ1,σ2聚合得到簽名σ12,然后σ12可以進一步聚合σ3得到簽名σ123,這樣我們就避免了對簽名σ1,σ2,σ3重新進行聚合.

3.4.2 同態聚合簽名

同態簽名方案使用同態運算函數對單個用戶不同消息的簽名進行計算操作,而聚合簽名方案只能對不同用戶的簽名進行聚合卻不能進行計算操作.實際上,為了保證多源網絡編碼的安全性和多用戶網絡數據的安全聚合,需要一個同時具有同態屬性和聚合屬性的簽名方案[10],因此構造同態聚合簽名方案是一件非常有價值的研究.

下面給出同態聚合簽名的正式定義.

同態聚合簽名方案是包含以下概率多項式時間算法的元組(Setup,Sign,Verify,Aggm,Aggσ):

當驗證單個簽名時,對于聚合簽名方案的Verify算法,只需要輸入一個公鑰,而不是N個公鑰.

目前現有的同態聚合簽名方案都是線性同態聚合簽名方案,即對來自不同用戶的簽名數據進行線性組合計算,文獻[10]和文獻[49]先后給出了不同的線性同態聚合簽名方案.為了給多元網絡編碼和傳感器數據聚合提供解決方案,2012年Zhang等人構造了第一個同態聚合簽名方案[10],他們的方案支持對二進制域的線性運算,安全性依賴于格的ISIS問題.該方案與其他的基于格的同態簽名方案相比,由于主要使用模的加法以及模的乘法運算,因此效率相對較高.2014年Jing對文獻[18]中提出的線性同態簽名方案進行了改進,添加了聚合屬性,構造出了第二個同態聚合簽名方案[49],該方案也是支持對二進制域的線性運算,不同的是其安全性是基于格的SIS問題,能夠提供弱上下文隱藏的隱私特性,并且具有較短的簽名長度和較高的效率.上述兩個同態聚合簽名方案都能夠對抗強的敵手,而且都是在隨機預言模型下證明了安全性.

3.5 多鑰同態簽名方案

以上提到的各種類型的同態簽名方案都存在有一個局限:同態性只在消息空間中存在.而在密鑰同態加密方案的研究背景之下[50],密碼學者開始對多密鑰場景下的同態簽名方案進行研究,構造出了多鑰同態簽名方案.多鑰同態簽名方案允許對由不同密鑰生成的簽名進行同態運算,除了在消息空間具有同態性之外,還在簽名方案中引入了密鑰同態的特性,從而產生了多鑰密鑰同態簽名(M-KHS)的概念.

以下是多鑰同態簽名方案與同態簽名方案之間的一些差異:(1)Setup算法輸出一個公共的參數pp,該參數隱式輸入到所有算法中.(2)密鑰生成算法KGen輸入公共參數pp,輸出公鑰pk和秘鑰sk.(3)簽名算法Sign輸出的是一組簽名Σ.(4)同態運算算法Evaluate輸出一個簽名σ,σ是對在組合公鑰pk=g(pk1,pk2,···,pkK)和組合標簽τ=g(τ1,τ2,···,τK)下的消息數據m=g(M1,M2,···,M K)的簽名.

下面給出多鑰同態簽名方案的正式定義:

?Setup(1λ):該算法輸入一個安全參數λ,輸出一個公共參數pp,該參數定義了消息空間M和包含標識函數id:M→M的函數族G.

?KGen(pp):該算法輸入公共參數pp.輸出公鑰pk和秘鑰sk.

?Sign(sk,τ,M):該算法輸入一個私鑰sk,一個標簽τ∈{0,1}?和一組消息M∈M?.輸出一組簽名Σ.

?

Verify(pk,τ,m,σ,g):該算法輸入一個公鑰pk,一個標簽τ,一個簽名σ,一個消息m∈M和一

個同態運算函數g∈G.如果σ是消息m的一個有效的簽名,則輸出1,否則輸出0.

2016年Fiore等人在受到單用戶場景下的同態認證的啟發下[51],定義了多鑰同態認證的概念,構造了一種基于標準格的多鑰同態簽名方案,該方案支持多項式深度的布爾電路同態運算,安全性基于標準格上的SIS問題.此外這項工作還提出了基于偽隨機函數和支持低階算術電路的多密鑰同態消息認證碼(MAC)方案,盡管該方案只支持表達能力較弱的計算,并且只能進行秘密驗證,但還是具有簡單高效的特性.

Boneh等人在2014年使用了一種完全密鑰同態加密的機制構造了基于屬性的短密鑰加密系統[50],受到該項工作的啟發,2016年Lai等人從自適應零知識的簡潔非交互式知識證明(ZK-SNARK)以及其他標準假設出發,引入了密鑰同態的特性[11].他們以多密鑰同態簽名(M-HS)作為中心概念,研究了其他多密鑰的擴展,比如多鑰分層同態簽名(M-HiHS)和多鑰消息同態簽名(M-KMHS),以及多鑰密鑰同態簽名(M-KHS)的概念.該項工作還根據標準假設構造了第一個層次密鑰全同態簽名方案(leveled fully KHS)以及第一個分布式的基于屬性的簽名方案(D-ABS),并且在此項工作中提出的多鑰同態簽名方案可以與現有的多密鑰同態加密方案一起使用,以實現可驗證的安全多方計算.

文獻[51]中提出的多鑰同態簽名方案存在著一種局限,該方案的不可偽造性是在假定所有簽名者都是誠實的情況下證明的.2018年Lai等人針對這一局限,從零知識的簡潔非交互式知識證明(ZK-SNARK)以及其他標準假設出發,提出了在內部腐敗下不可偽造的多鑰同態簽名方案[52],并且證明了該方案的存在意味著零知識的簡潔非交互式知識證明(ZK-SNARK)的存在.但是該方案如果在標準假設中存在腐敗簽名人的情況下,不能確定其真實性和實用性能夠達到什么樣的程度.

2019年Aranha等人將文獻[26]中的線性同態簽名方案推廣至多密鑰版本中,構造出了多鑰線性同態簽名方案(MKLHS)[53],方案的安全性依賴于雙線性群的co-Computational Diffie-Hellman(co-CDH)問題,在隨機預言模型下得到證明.他們的方案縮短了多鑰同態簽名方案中大多數操作的執行時間.與現有的多鑰同態簽名方案相比,該方案的構造更加直接簡單,性能更高,并且生成的簽名明顯更短.

4 代表性方案以及具體應用場景

前幾節中討論了方案的隱私性、不可偽造性、安全證明模型以及簽名的長度效率,給出了各種方案所依賴的密碼學基礎,詳細描述了5種類型的同態簽名方案的基本概念與研究現狀.接下來本節將會為線性同態簽名方案、多項式函數同態簽名方案、全同態簽名方案、同態聚合簽名方案以及多鑰同態簽名方案分別選取一個具體的代表性方案介紹上述5類同態簽名方案的設計思路,分析這些方案所提供的特性.最后描述了可以使用同態簽名方案的具體應用場景以及同態簽名方案需要滿足的要求,并對各類同態簽名方案的特性進行比較,提供合適的同態簽名方案.

4.1 基于雙線性群的線性同態簽名方案

4.1.1 方案描述

Boneh等人在2009年提出了第一個線性同態簽名的形式化定義[26],這項工作是線性同態簽名的里程碑.該方案可以看作是在網絡編碼中對線性子空間的簽名,即子空間V中的簽名σ準確地驗證了V中的某些向量,并且安全性依賴于雙線性群中的計算性Diffie-Hellman問題(CDH).基于雙線性群的線性同態簽名方案描述如下:

4.1.2 特性分析

該方案首次定義了弱對手的概念,依賴于雙線性群(G1,G2)中的co-CDH困難問題,可證明安全性基于隨機預言模型.因為公鑰和簽名的大小獨立于數據集的大小,所以具有較低的通信開銷[17].除此之外,作者還證明了線性子空間中的簽名長度的一個下界,表明了該方案在簽名長度這方面本質上是最優的.但是,由于方案定義在雙線性群上,因此在驗證每個簽名的時候需要付出比較大的代價[54],并且只能對抗相對較弱的敵手.盡管如此,方案在隱私性方面還是能夠達到完全上下文隱藏的隱私性[55].

4.2 基于格的多項式函數同態簽名方案

4.2.1 方案描述

由于不滿足以往的方案只能在簽名數據上進行線性計算,Boneh和Freeman在2011年利用Gentry、Peikert和Vaikuntanathan的原像采樣算法構造了第一個能夠在簽名數據上支持多元多項式運算的同態簽名方案[8].給定公鑰和簽名數據集,該方案就可以對簽名數據的平均值、標準差和其他統計信息生成簽名.并且該方案的安全性依賴于理想格上的困難問題,能夠有效抵抗量子計算機的攻擊.基于格的多項式函數同態簽名方案描述如下:

(b)Sign(sk,τ,m,i):輸入私鑰sk,一個標簽τ∈{0,1}λ,一個消息m∈Fp和一個索引i.計算αi:=H(τ‖i)∈Fq,計算h=h(x)∈R使得h(a)modp=m和h(b)modq=αi.通過原像采樣算法SamplePre(p·q,T,h,v)輸出一個簽名σ∈(p·q)+h.

4.2.2 特性分析

該方案是第一個支持在簽名數據上使用多項式函數的同態簽名,方案的安全性依賴于理想格上的SIS困難問題,能夠在隨機預言機模型下證明安全性.此外,該方案還首次給出了簽名長度效率的定義,即簽名的長度對數地依賴于數據集的大小.但是該方案效率并不高,只能對抗相對較弱的敵手,而且方案的隱私性所達到的隱私保護程度還有待明確.

4.3 基于格的層次型全同態簽名方案

4.3.1 方案描述

Boyen等人在2014年提出了基于格的層次型全同態簽名方案[45],這是第二個全同態簽名方案,第一個是同年由Gorbunov等人提出的基于格的層次型全同態簽名方案[9].這兩個方案都能夠在簽名數據上進行任意電路運算.文獻[45]中的方案描述如下:

4.3.2 特性分析

該方案是基于格上困難問題構造的,即便在量子計算機攻擊的情況下也保證其安全性,并且可以在簽名數據上進行任意電路的運算.對于多重對數深度電路,該方案在標準短整數解(SIS)問題下實現了自適應安全性.對于多項式深度的電路,方案的安全性依賴于次指數SIS問題.雖然沒有對簽名的長度進行討論,但相對于第一個提出的基于格的層次型全同態簽名方案[9],效率得到了明顯提高,可證明安全基于標準模型,并且最重要的一個改進是該方案可以應對相對較強的敵手.但是該方案目前還不能實現任何程度的隱私性,因此不適用于對隱私保護有要求的實際應用.

4.4 基于格的同態聚合簽名方案

4.4.1 方案描述

在許多實際應用中,可能需要聚合由不同用戶在不同消息上生成的簽名,但是同態簽名方案不能夠提供有效的解決方案,而聚合簽名方案[48]能夠應對這種多用戶的情況.然而又為了能夠在聚合簽名上進行運算操作,于是將同態屬性添加到聚合簽名方案中,從而構造出同態聚合簽名方案.2014年Jing等人就提出了基于格的同態聚合簽名方案[49],方案的描述如下:

4.4.2 特性分析

該方案是第二個同態聚合簽名方案,第一個是由Zhang等人在2012年提出的[10].這兩個方案都支持在二進制域上進行線性操作,并且都是基于格問題構造的,文獻[10]依賴的是ISIS問題,而文獻[49]則依賴于SIS問題,因此都可以抵抗量子計算機的攻擊.兩個簽名方案都是在隨機預言機模型中被證明能夠應對相對較強的敵手.相對于第一個同態聚合簽名方案,第二個在效率、簽名長度以及隱私性方面都要更優.實際上,第二個同態聚合簽名方案可以看作是文獻[18]中提出的線性同態簽名方案的一個適用于多用戶的變體,它能夠提供第一個同態聚合簽名方案沒有的弱上下文隱藏特性.

4.5 基于雙線性群的多鑰線性同態簽名方案

4.5.1 方案描述

現有的多鑰同態簽名方案構造主要包括基于格問題的方案[51]、基于零知識的簡潔非交互式知識證明(ZK-SNARK)的方案[52],或者是利用Matrioska編譯器將單鑰同態簽名方案轉化為多鑰同態簽名方案[56].而Aranha等人在多鑰同態簽名中引入了線性同態簽名的概念,提出了多鑰線性同態簽名方案(MKLHS)[53].并且他們在128位的安全級別上,使用了兩組參數在橢圓曲線上的配對來實現多鑰線性同態簽名方案.Aranha等人提出的多鑰線性同態簽名方案是目前性能最好、簽名最短的多鑰同態簽名方案,方案的描述如下:

4.5.2 特性分析

該方案的安全性基于雙線性群的co-Computational Diffie-Hellman(co-CDH)問題,很好地適應了非對稱配對,安全性在隨機預言模型下得到證明.與現有的多鑰同態簽名方案相比,該方案的結構更加簡單,性能更高,生成的簽名明顯更短,并且能夠對抗強敵手,然而缺點是不具有隱私性.

4.6 具體應用場景

上述5個不同類型的代表性同態簽名方案都具有各自的優良特性,總結見表1.其中N表示數據集的最大值,d表示為電路函數的深度.本節描述同態簽名方案適用的三個云計算應用場景:電子投票、智能電網和電子健康記錄,并根據表1對各個方案進行比較,提供滿足要求的同態簽名方案.

表1 代表性方案的比較Table 1 Comparison of representative schemes

4.6.1 電子投票

電子投票是建立在網絡投票系統上的選舉活動,結果完全由程序輸出,無需人工參與,具有高效率、便捷、成本較低和不易出錯等優點,適用于投票人數較多的選舉.一般來說,電子投票系統需要滿足安全性和隱私性(在匿名投票的情況下)等要求,如果系統的安全性能不夠強,則會遭到黑客的攻擊,對投票結果進行篡改以及泄露投票人的隱私.因此安全性和隱私性是設計電子投票系統過程中優先考慮的重點.由此可得同態簽名方案需要能夠對抗相對較弱及以上級別的敵手.在隱私性方面,同態簽名方案只需要不把選票簽名對應的投票者的消息泄露出去,也就是說達到弱上下文隱藏的隱私特性就足夠了.如果只是對加密的選票進行簽名,那么就可以不考慮同態簽名方案的隱私性.對于電子投票系統來說,只要能夠保證驗票計票的準確性,效率相對來說并不顯得那么重要.在投票的結果公布之后,數據就沒必要進行長期保存,投票的真實性也不需要長期進行保護,因此簽名的長度效率也可以忽略,使用的簽名方案只需要基于整數分解問題或者離散對數問題即可[16].在投票的過程中,一般投票者在投票之后不會收到任何的反饋,簽名的選票也不會在投票結束之前公布,在這種情況下選票簽名有可能會被偽造,投票者對選票進行簽名過程中具有兩種不同的情況,一種是所有的選票都用相同的私鑰進行簽名,另外一種則是利用不同投票者的私鑰對一個或者一組選票進行簽名.如果是第一種情況那么只需要具有同態屬性的簽名方案,而第二種則需要同態聚合簽名方案或者多鑰同態簽名方案.

對于表1中的同態簽名方案,文獻[26]中的線性同態簽名方案能夠滿足電子投票系統的要求.該方案不僅能夠對抗弱敵手,并且還具有完全上下文隱藏的隱私性.而基于格的層次型全同態簽名方案[45]和基于格的同態聚合簽名方案[49]也滿足要求,并且文獻[49]的同態聚合簽名方案還能夠對抗較強的敵手.如果需要簽名的數據是經過加密的,那么具有高效驗證多項式函數的同態簽名方案[8]和多鑰線性同態簽名方案[53]也是不錯的選擇.

4.6.2 智能電網

智能電網是電網的智能化,是建立在集成的、高速雙向通信網絡基礎上的一種新技術,能夠實現智能發電、負載均衡、資源分配和基于實時用電的動態定價等功能[16].但新技術目前還存在著許多問題,由于用戶大量的用電數據會經智能電表傳輸并存儲在云中,因此用電數據可能會被黑客篡改或者泄露,并且電力供應商的工作人員也有可能利用收集的信息分析出消費者的相關隱私信息.為了保護消費者的數據安全和隱私,學者們提出了一些網內數據聚合的安全隱私保護方案,首先對數據使用同態加密方案進行加密,然后使用同態屬性進行聚合,因此同態簽名方案起到了重要的作用.和上述電子投票系統對選票簽名的過程類似,在智能電網中對加密數據簽名的過程中也存在兩種不同的情況.第一種是所有的智能電表對加密數據都使用同一個私鑰進行簽名,這種情況只需要考慮具有同態屬性的簽名方案.第二種是智能電表使用不同的私鑰進行簽名,那么則要考慮同態聚合簽名方案或者多鑰同態簽名方案.對于智能電網來說,由于電力使用數據需要實時傳輸,簽名必須在短時間內生成,因此要保證同態簽名方案能夠提供較高的效率.并且智能電網的存儲能力有限,方案生成的簽名長度不能太長.除此之外,發送的數據可能存在被拒絕需要重新發送的情況,敵手可以進行多次查詢,因此同態簽名方案需要對抗較強的敵手.由于只對加密的數據進行簽名,簽名方案沒有關于隱私性方面的限制.

應用于智能電網的同態簽名方案需要能夠對抗強敵手,而表1中的同態聚合簽名方案[49]和多鑰線性同態簽名方案[53]能夠滿足上述的要求.其中文獻[49]的同態聚合簽名方案是基于格困難問題的,可以提供對抗量子計算機攻擊的特性.文獻[53]的多鑰線性同態簽名方案的簽名長度與數據集大小成對數關系,具有較小的簽名.現有的線性同態簽名方案都不能夠滿足智能電網的要求,這是因為受到了不可偽造性的限制.因此,設計一個適用于智能電網的線性同態簽名方案可以作為未來的一個研究方向.

4.6.3 電子健康記錄

電子健康記錄是人們在醫療與健康相關的活動中直接形成的具有保存備查價值的電子化歷史記錄.電子健康記錄中的個人健康信息通過計算機進行數字化存儲和管理,不同的醫療機構都能夠訪問存儲的數據,并且還能夠對其進行計算操作[16].因此需要同態簽名方案來實現上述的功能.電子健康記錄系統在對健康數據進行簽名的時候,也存在著兩種情況,一種是由一個醫生或者一個醫療機構使用一個私鑰對健康數據進行簽名,這種情況只需要具有同態屬性的簽名方案.另外一種是由多個醫生或醫療機構使用多個不同的私鑰進行簽名,那么這種情況則需要同態聚合簽名方案或者多鑰同態簽名方案.由于電子健康記錄的數據涉及到用戶的敏感信息,同態簽名方案生成的簽名不能泄露原始數據集的信息,因此同態簽名方案需要能夠實現至少為弱上下文隱藏的隱私特性.另外,方案需要較高的效率,因為電子健康記錄系統要存儲的數據量較大,并且在數據上的計算功能比較重要,而相對來說簽名的大小并不是很重要.由于敵手可以進行多次數據查詢,因此同態簽名方案需要能夠對抗相對較強的敵手.

由于受到了不可偽造性和隱私性的限制,目前存在的線性同態簽名方案、多項式同態簽名方案、全同態簽名方案和多鑰同態簽名方案都不能夠滿足上述的要求,因此如何改進這4種類型的同態簽名方案以適用于電子健康記錄系統可以作為進一步的研究方向.表1中的基于格的同態聚合簽名方案[49]則可以滿足電子健康記錄系統的要求.該方案不僅能夠通過抗量子攻擊特性,而且效率比較可觀,關鍵是能夠對抗較強的敵手和提供弱上下文隱藏的隱私特性.

5 結束語

同態簽名是數字簽名技術的一個重要的分支,在信息時代具有重要的作用,目前在該領域上的研究已經取得了不少的成果,本文對同態簽名方案在最近十多年的進展做出了一個最新的、全面的綜述.文章給出了同態簽名方案的框架及相關定義,描述了同態簽名方案所具有的特性,簡單介紹了同態簽名方案所依賴的不同類型的密碼學基礎,并且系統地論述了線性同態簽名方案、多項式函數同態簽名方案、全同態簽名方案、同態聚合簽名方案以及多鑰同態簽名方案的基本概念與研究現狀,然后分別給出了5種不同類型的具有代表性的同態簽名方案,最后為云計算應用場景提供了合適的同態簽名方案.根據以上對同態簽名方案研究現狀的分析,提出未來研究工作可能的幾個研究方向:

(a)由于沒有對現有的同態簽名方案的效率進行深入的比較與分析,也沒有一個能夠衡量同態簽名方案的效率標準,因此為了能夠更好地分析并提高一個方案的效率,以便適用于各種應用實例,如何制定一個嚴格的效率標準可以作為進一步的研究方向.

(b)目前常用的同態聚合簽名方案和多鑰同態簽名方案只支持在簽名數據上進行線性操作,這是遠遠不夠的,并且在方案中添加指定實體的特性也是一個不錯的考慮.在未來的工作中,構造類型更多的同態聚合簽名方案和多鑰同態簽名方案將會是未來的研究熱點.

(c)現有的多項式函數同態簽名方案都不能夠提供弱上下文隱藏的隱私特性,不能夠適用于有隱私保密要求的具體應用,因此設計能夠提供隱私特性的多項式函數同態簽名方案具有較高研究價值.

猜你喜歡
同態敵手線性
三角矩陣環上FC-投射模的刻畫
交換環上的絕對w-E-純模
相對于模N的完全不變子模F的N-投射模
與“敵”共舞
二階整線性遞歸數列的性質及應用
線性回歸方程的求解與應用
一種基于CPU-GPU混合系統的并行同態加密算法?
不帶著怒氣做任何事
非齊次線性微分方程的常數變易法
線性回歸方程知識點剖析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合