留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

一种面向发布订阅系统的访问控制机制

王启旭 丁哲 陈大江 秦臻 秦志光

王启旭, 丁哲, 陈大江, 秦臻, 秦志光. 一种面向发布订阅系统的访问控制机制[J]. 电子科技大学学报, 2018, 47(4): 595-600. doi: 10.3969/j.issn.1001-0548.2018.04.019
引用本文: 王启旭, 丁哲, 陈大江, 秦臻, 秦志光. 一种面向发布订阅系统的访问控制机制[J]. 电子科技大学学报, 2018, 47(4): 595-600. doi: 10.3969/j.issn.1001-0548.2018.04.019
WANG Qi-xu, DING Zhe, CHEN Da-jiang, QIN Zhen, QIN Zhi-guang. ACHO: An Access Control Scheme Based on Full Homomorphic Encryption for Publish-Subscribe System[J]. Journal of University of Electronic Science and Technology of China, 2018, 47(4): 595-600. doi: 10.3969/j.issn.1001-0548.2018.04.019
Citation: WANG Qi-xu, DING Zhe, CHEN Da-jiang, QIN Zhen, QIN Zhi-guang. ACHO: An Access Control Scheme Based on Full Homomorphic Encryption for Publish-Subscribe System[J]. Journal of University of Electronic Science and Technology of China, 2018, 47(4): 595-600. doi: 10.3969/j.issn.1001-0548.2018.04.019

一种面向发布订阅系统的访问控制机制

doi: 10.3969/j.issn.1001-0548.2018.04.019
基金项目: 

国家自然科学基金 611330161

国家自然科学基金 61472064

国家自然科学基金 61502085

863项目 2015AA016007

中国博士后科学基金 2015M570775

详细信息
    作者简介:

    王启旭(1985-), 男, 博士, 主要从事信息安全和无线网络安全应用方面的研究

  • 中图分类号: TP393.08

ACHO: An Access Control Scheme Based on Full Homomorphic Encryption for Publish-Subscribe System

图(4)
计量
  • 文章访问数:  3932
  • HTML全文浏览量:  1263
  • PDF下载量:  134
  • 被引次数: 0
出版历程
  • 收稿日期:  2017-08-19
  • 修回日期:  2017-10-09
  • 刊出日期:  2018-07-01

一种面向发布订阅系统的访问控制机制

doi: 10.3969/j.issn.1001-0548.2018.04.019
    基金项目:

    国家自然科学基金 611330161

    国家自然科学基金 61472064

    国家自然科学基金 61502085

    863项目 2015AA016007

    中国博士后科学基金 2015M570775

    作者简介:

    王启旭(1985-), 男, 博士, 主要从事信息安全和无线网络安全应用方面的研究

  • 中图分类号: TP393.08

摘要: 针对发布订阅系统的安全攻击频频出现,为了保护其系统安全和用户隐私,提出一种基于全同态加密算法的访问控制机制(ACHO)。ACHO保证了发布订阅系统中用户交互去耦性和异步通信的特点,同时还能保护系统数据机密性和支持系统可扩展性。ACHO使用全同态加密算法对系统中发布的数据进行加密,同时在密文中嵌入访问控制结构和属性信息来达到控制访问的目的。理论分析了ACHO机制的正确性和安全性。实验结果表明,ACHO在保证安全开销的前提下,达到了发布订阅系统高效运行的性能要求。

English Abstract

王启旭, 丁哲, 陈大江, 秦臻, 秦志光. 一种面向发布订阅系统的访问控制机制[J]. 电子科技大学学报, 2018, 47(4): 595-600. doi: 10.3969/j.issn.1001-0548.2018.04.019
引用本文: 王启旭, 丁哲, 陈大江, 秦臻, 秦志光. 一种面向发布订阅系统的访问控制机制[J]. 电子科技大学学报, 2018, 47(4): 595-600. doi: 10.3969/j.issn.1001-0548.2018.04.019
WANG Qi-xu, DING Zhe, CHEN Da-jiang, QIN Zhen, QIN Zhi-guang. ACHO: An Access Control Scheme Based on Full Homomorphic Encryption for Publish-Subscribe System[J]. Journal of University of Electronic Science and Technology of China, 2018, 47(4): 595-600. doi: 10.3969/j.issn.1001-0548.2018.04.019
Citation: WANG Qi-xu, DING Zhe, CHEN Da-jiang, QIN Zhen, QIN Zhi-guang. ACHO: An Access Control Scheme Based on Full Homomorphic Encryption for Publish-Subscribe System[J]. Journal of University of Electronic Science and Technology of China, 2018, 47(4): 595-600. doi: 10.3969/j.issn.1001-0548.2018.04.019
  • 随着无线通信技术和无线传感器网络的发展及普及,无处不在的通信和随处可得的数据使得物联网应用逐步走入现实世界。作为物联网应用技术重要的组成部分之一,发布订阅系统因其具有用户交互去耦性和支持异步通信的特点,被广泛应用于各种大型关键系统中以提高系统可用性、可靠性和运行效率[1]。例如,发布订阅系统已经用于航空交通管制、卫生保健应用和大型工业制造等[2]。但是,复杂的应用环境也对发布订阅系统提出了更多、更高的安全要求。例如,攻击者可能会隐藏在数量众多、形式多样的合法用户中,伺机进行非法访问;用户产生的海量数据中往往含有大量隐私信息,在提供维持正常系统运行所需信息的同时还需保护隐私信息不被泄露。随着发布订阅系统应用的推广,如何解决上述安全威胁也逐渐成为了学界研究的热点[2-3]

    访问控制技术可以很好地解决上述问题。通过限制非授权用户对系统数据、服务的访问能力和范围,集合了多个系统组件和方法的访问控制技术可以实现对发布订阅系统服务及其用户数据机密性、完整性和可用性的保护[3]。但传统访问控制技术在面对发布订阅系统应用所需的访问控制细粒度和可扩展性需求时,并不能简单的直接使用[4]。因此,更为适应发布订阅系统应用场景和物联网应用特点的访问控制方案成为急待解决的研究方向[2-3]

    基于属性的访问控制方案已经被证明可以提供细粒度的访问控制[5],为了解决多策略和多规则应用环境中的访问控制问题,基于风险的访问控制结构被提出[6]。同时,针对特定应用场景和目标的各种轻量级访问控制方案也越来越受到研究人员的重视[7-9]

    通过将访问控制技术运用到发布订阅系统中,可以实现用户认证和系统安全[10-11]。文献[12]设计并实现了针对发布订阅系统的访问控制解决方案。文献[13]提出了针对基于信息中心网络架构的发布订阅系统强制访问控制方法。文献[14]针对基于智能电网的发布订阅系统提出了安全访问控制机制。

    近年的研究结果表明,随着应用环境和应用特点的增长,特别是物联网技术的发展和普及,访问控制方案需要针对特定应用环境和特点巧妙设计实现。因此,设计出一种符合发布订阅系统应用场景和特点的高效可行的访问控制方案,一直是学界的热点问题[10]

    本文聚焦于解决上述针对发布订阅系统的安全威胁,在保证系统功能高效运行的同时,设计了一种全新的基于全同态加密算法的访问控制机制,命名为ACHO。ACHO通过基于属性的访问控制机制实现了对用户细粒度的访问控制,由同态加密算法加密的事件数据实现了敏感数据的隐私保护。同时,ACHO还实现了系统的可扩展性和高效的发布订阅服务。安全分析证明ACHO可以保证系统的安全性和正确性。实验结果也表明ACHO在维持安全机制必需开销的前提下,也能实现高效的发布订阅服务。

    本文主要贡献总结如下:

    1) 提出了一种面向发布订阅系统全新的基于全同态加密算法的访问控制机制ACHO。它可以实现对系统用户的访问控制,同时对系统数据提供隐私保护。

    2) 全面详细地分析了ACHO机制,并对其安全性和正确性进行了理论证明。分析和证明结果表明ACHO能安全和正确地保证系统正常的发布订阅服务,并实现对用户的访问控制。

    3) 为了验证所提ACHO机制的可行性,本文对ACHO实施了仿真实验。一系列实验结果表明,ACHO在实现安全访问控制的目标前提下,依然能维持较为高效的发布订阅服务。

    • 全同态加密算法是指支持任意运算规则的同态加密算法。本文中系统事件均被全同态加密算法加密。

    • 令$q$为素数,${Z_q}$为模$q$的整数域,$n$为整数。对于给定的明文$v \in {Z_q}$和由参数$q$、$n$生成的秘密钥$K$,则有加密函数${\rm{Encrypt(}}K,v{\rm{)}} = ({c_1},{c_2}, \cdots ,{c_n})$和解密函数${\rm{Decrypt}}(K,({c_1},{c_2}, \cdots ,{c_n})) = v$。其中密文$({c_1},{c_2}, \cdots ,{c_n})$为$n$维向量,${c_i} \in {Z_q}$。由秘密钥$K$生成的公开密钥$PK$能被用来对$v$加密,则有[15]

      $${\rm{Encrypt}}(PK,v) = ({c_1},{c_2}, \cdots ,{c_n})$$
      $${\rm{Decrypt(}}K,({c_1},{c_2}, \cdots {c_n}){\rm{)}} = v$$

      令$\mathit{\boldsymbol{C}} = ({c_1},{c_2}, \cdots ,{c_n})$和$\mathit{\boldsymbol{C}}' = ({c'_1},{c'_2}, \cdots ,{c'_n})$。当解密函数存在${\rm{Decrypt}}(K,\mathit{\boldsymbol{C}}) = v$并且${\rm{Decrypt(}}K,\mathit{\boldsymbol{C}}'{\rm{)}} = v'$时,全同态加密算法满足以下附加的同态性质[15]

      $${\rm{Decrypt(}}K,\mathit{\boldsymbol{C}} \oplus \mathit{\boldsymbol{C}}'{\rm{)}} = v + v'(\bmod q)$$
      $${\rm{Decrypt(}}K,d \odot \mathit{\boldsymbol{C}}{\rm{)}} = d * v(\bmod q)$$

      其中,$ \oplus $表示向量加法;$ \odot $表示向量的标量乘法,$d \in {Z_q}$。

      乘法的同态操作还需要用到由$K$生成的公开衡量密钥(public evaluation key),记为${\rm{PE}}{{\rm{K}}_{ij}}(1 \leqslant i \leqslant n,$ $1 \leqslant j \leqslant n)$。对于从密文$\mathit{\boldsymbol{C}}$和$\mathit{\boldsymbol{C}}'$处得到$v * v'$,可以表示成[15]

      $$\begin{gathered} (({c_1} * {{c'}_1}) \odot {\rm{PE}}{{\rm{K}}_{11}}) \oplus \cdots \oplus \\ (({c_i} * {{c'}_j}) \odot {\rm{PE}}{{\rm{K}}_{ij}}) \oplus \cdots \oplus (({c_n} * {{c'}_n}) \odot {\rm{PE}}{{\rm{K}}_{nn}}) \\ \end{gathered} $$
    • 密钥交换是对于给定的发布者的秘密钥${K_p}$和订阅者的公开密钥${\rm{P}}{{\rm{K}}_s}$,可将用${K_p}$加密的密文转换成用${K_s}$加密的密文,其中${K_s}$是订阅者的秘密钥[15]

      令${\rm{KeySwitch(P}}{{\rm{K}}_s},{K_p}{\rm{)}}$为交换密钥$\mathit{\boldsymbol{KS}}$的生成函数,则有$\mathit{\boldsymbol{KS}} = \{ \mathit{\boldsymbol{KS}}_1,\mathit{\boldsymbol{KS}}_2, \cdots ,\mathit{\boldsymbol{KS}}_n\} $,其中任意一个$\mathit{\boldsymbol{KS}}_i$是一个$n$维向量。假设有${\rm{Decrypt(}}{K_p},({c_1},$ ${c_2}, \cdots ,{c_n}){\rm{)}} = v$,则用交换密钥$\mathit{\boldsymbol{KS}}$对密文$\mathit{\boldsymbol{C}} = ({c_1},{c_2}, \cdots ,{c_n})$重加密可以表示为[15]

      $$\begin{gathered} {\rm{ReEncrypt}}(\mathit{\boldsymbol{KS}},\mathit{\boldsymbol{C}}) = \\ ({c_1} \odot {\rm{K}}{{\rm{S}}_1}) \oplus ({c_2} \odot \mathit{\boldsymbol{KS}}_2) \oplus \cdots \oplus ({c_n} \odot \mathit{\boldsymbol{KS}}_n) \\ \end{gathered} $$

      令 $C' = {\rm{ReEncrypt(}}\mathit{\boldsymbol{KS}},\mathit{\boldsymbol{C}}{\rm{)}}$ ,则有:

      $${\rm{Decrypt(}}{K_s},C'{\rm{)}} = v$$
    • 一个属性$A$被定义为$A = ({\rm{st}},{\rm{value}})$,意思为值为${\rm{value}}$的属性${\rm{st}}$。一个用户拥有属性${A_1},{A_2}, \cdots ,{A_t}$可以用连接式${A_1} \wedge {A_2} \wedge \cdots \wedge {A_t}$表示。对于一个给定的系统事件主题${\rm{et}}$,授权策略通过使用用户的具体属性值来限制其是否具有访问主题为${\rm{et}}$的事件数据。

      定义1 (授权策略)[16]:一个授权策略的表达式为${\Lambda _{{\rm{et}}}} = ({A_{11}} \wedge {A_{12}} \wedge \cdots \wedge {A_{1t}}) \vee \cdots \vee ({A_{s1}} \wedge {A_{s2}} \wedge \cdots \wedge $ ${A_{st}})$,则其表示当一个用户至少拥有属性连接式${A_{11}} \wedge {A_{12}} \wedge \cdots \wedge {A_{1t}}$到${A_{s1}} \wedge {A_{s2}} \wedge \cdots \wedge {A_{st}}$中一组属性时,其可以访问主题为${\rm{et}}$的数据。

      对于一个属性表达式为$\omega = ({A'_{11}} \wedge {A'_{12}} \wedge \cdots \wedge $ ${A'_{1t}}) \vee \cdots $ $ \vee ({A'_{h1}} \wedge {A'_{h2}} \wedge \cdots \wedge {A'_{ht}})$的订阅者,其拥有$h$组不同的连接属性。在这$h$组连接属性中只要有一组出现在${\Lambda _{{\rm{et}}}}$中,则定义$\omega $满足${\Lambda _{{\rm{st}}}}$。

    • ACHO通过基于属性的访问控制机制实现了对用户细粒度的访问控制,由同态加密算法加密的事件数据实现了敏感数据的隐私保护。ACHO机制分成3个主要步骤:1)访问控制机制建立;2)访问控制策略实施;3)系统事件匹配。ACHO机制设计为多对多的应用环境,为了方便在本文中假设为一对一的场景,ACHO机制系统架构和具体6个步骤如图 1所示。

      图  1  ACHO机制系统架构图

    • 设服务发布者$P$发布主题为${\rm{pet}}$,策略为${\Lambda _{{\rm{pet}}}} = $ $({A_{11}} \wedge {A_{12}} \wedge \cdots \wedge {A_{1t}}) \vee ({A_{s1}} \wedge {A_{s2}} \wedge \cdots \wedge {A_{st}})$的事件${E_{{\rm{pet}}}}$,其中事件${E_{{\rm{pet}}}}$的主题个数可以是单个或者多个。${\omega _S} = $$({A'_{11}} \wedge {A'_{12}} \wedge \cdots \wedge {A'_{1t}}) \vee \cdots \vee ({A'_{h1}} \wedge {A'_{h2}} \wedge \cdots \wedge $ ${A'_{ht}})$为订阅者$S$的属性表达式。发布者$P$和订阅者$S$分别生成密钥对$({\rm{P}}{{\rm{K}}_P},{\rm{S}}{{\rm{K}}_P})$和$({\rm{P}}{{\rm{K}}_S},{\rm{S}}{{\rm{K}}_S})$。发布者预先选取两个随机数${r_{pp}}$和${r_{ac}}$,其中${r_{pp}}$的值大于任意事件${E_{{\rm{pet}}}}$中的主题个数。

      发布代理人将发布者$P$的访问策略${\Lambda _{{\rm{pet}}}}$中的属性值转换成访问凭证:

      $$\begin{gathered} {\omega _{{\rm{pet}}}} = ({\rm{K}}{{\rm{S}}_{P \to S}},\{ ({C_{11}},{C_{12}},{F_1}),({C_{21}},{C_{22}},{F_2}), \cdots , \\ ({C_{s1}},{C_{s2}},{F_s})\} \{ ({C_{13}},{C_{14}}),({C_{23}},{C_{24}}), \cdots ,({C_{h3}},{C_{h4}})\} ) \\ \end{gathered} $$

      其中交换密钥${\rm{K}}{{\rm{S}}_{P \to S}}$由密钥交换函数${\rm{KeySwitch(P}}{{\rm{K}}_S},{\rm{S}}{{\rm{K}}_P}{\rm{)}}$生成,对于每一组属性连接式${A_{i1}} \wedge {A_{i2}} \wedge \cdots {A_{im}}(1 \leqslant i \leqslant n)$,发布者$P$通过属性过滤函数$F({A_{i1}} \wedge \cdots {A_{im}})$生成${F_s}$。

      接着,发布代理人使用随机数${r_{up}}$和哈希函数$h$生成${h_{up}} = h({A_{i1}}||{A_{i2}}|| \cdots ||{A_{im}}||{r_{up}})$,由于随机数${r_{up}}$使得即使是相同属性的${h_{up}}$也是不同的。密文${C_{i1}}$、${C_{i2}}$、${C_{j3}}$、${C_{j4}}$和${C_P}$可由下式计算:

      $${C_{i1}} = {\rm{Encrypt(S}}{{\rm{K}}_P},{r_{up}}{\rm{)}}$$
      $${C_{i2}} = {\rm{Encrypt}}\left( \begin{array}{l} {\rm{S}}{{\rm{K}}_P},{h_{up}} + {r_{pp}} - \hfill \\ {r_{ac}}(h({A_{i1}}) + h({A_{i2}}) + \cdots + h({A_{im}})) \hfill \\ \end{array} \right)$$
      $${C_{j3}} = {\rm{Encrypt(P}}{{\rm{K}}_S},{r_S}{\rm{)}}$$
      $${C_{j4}} = {\rm{Encrypt}}\left( \begin{array}{l} {\rm{P}}{{\rm{K}}_S},{h_v} + \hfill \\ {r_{ac}}(h({{A'}_{j1}}) + h({{A'}_{j2}}) + \cdots + h({{A'}_{jm}})) \hfill \\ \end{array} \right)$$
      $${C_P} = {\rm{Encrypt(S}}{{\rm{K}}_P},{E_{{\rm{pet}}}} + {r_{pp}} * r{\rm{)}}$$

      其中,${E_{{\rm{pet}}}}$为系统事件;${C_P}$是主题为${\rm{pet}}$的事件${E_{{\rm{pet}}}}$的密文。

      然后发布代理人将访问属性凭证${\omega _{{\rm{pet}}}}$发送给订阅代理人。

    • 订阅代理人收到密文${C_P}$后,检查订阅者$S$的属性连接式${\omega _S}$是否满足${\omega _S} \in {F_s}$。若满足条件,则订阅者$S$为合法用户,订阅代理人则将密文${C_P}$、${C_{i1}}$、${C_{i2}}$转换为${C'_P}$、${C_1}$和${C_S}$:

      $$\begin{gathered} {{C'}_P} = {\rm{ReEncrypt(K}}{{\rm{S}}_{P \to S}},{C_P}{\rm{)}} = \\ {\rm{ Encrypt(P}}{{\rm{K}}_S},{E_{{\rm{pet}}}} + {r_{pp}} * r{\rm{)}} \\ \end{gathered} $$
      $${C_1} = {\rm{ReEncrypt(K}}{{\rm{S}}_{P \to S}},{C_{i1}}{\rm{)}} = {\rm{Encrypt(P}}{{\rm{K}}_S},{r_{ac}}{\rm{)}}$$
      $$\begin{gathered} {C_S} = {\rm{ReEncrypt(K}}{{\rm{S}}_{P \to S}},{C_{i2}}{\rm{)}} \oplus {C_{j4}} = \\ {\rm{Encrypt(P}}{{\rm{K}}_S},{r_{pp}} + {h_{up}} + {h_v}{\rm{)}} \\ \end{gathered} $$

      同时将属性索引值$j$也加密为$I = {\rm{Encrypt(P}}{{\rm{K}}_S},j{\rm{)}}$。在转换完成后,订阅代理人将${C'_P}$、${C_1}$、${C_S}$、$I$和之前得到的${C_{j3}}$发送给订阅者$S$。

      若订阅者$S$未能满足访问控制策略,则订阅代理人直接向订阅者返回拒绝访问消息。

    • 订阅者$S$收到${C'_P}$、${C_1}$、${C_S}$、$I$和${C_{j3}}$后,首先解密$I$以得到索引$j$,从而得到授权属性连接式${\omega _j} = {A'_{j1}} \wedge {A'_{j2}} \wedge \cdots \wedge {A'_{jm}}$。随后解密${C_{j3}}$和${C_1}$分别得到随机值${r_S}$和${r_{ac}}$。接着订阅者$S$通过以下步骤恢复出${r_{pp}}$:

      $${h_{up}} = h({A'_{j1}}||{A'_{j2}}|| \cdots ||{A'_{jm}}||{r_{up}})$$
      $${h_v} = h({A'_{j1}}||{A'_{j2}}|| \cdots ||{A'_{jm}}||{r_S})$$
      $${r_{pp}} = {\rm{Decrypt}}\left( {S{K_S},{C_S}} \right) - {h_{up}} - {h_v}$$

      最后,订阅者$S$解密密文${C'_P}$,得到${E_{{\rm{pet}}}} + {r_{pp}} * r$,在对${r_{pp}}$进行模操作后恢复出事件${E_{{\rm{pet}}}}$。

    • 本文的ACHO机制通过使用公钥基础设施(PKI)中的安全传输层协议(TLS)来保证通信信道安全,从而实现抵抗中间人攻击和欺骗攻击等常见攻击的效果。

      ACHO可以抵抗共谋攻击。对于共谋的两个订阅者${S_1}$和${S_2}$均未有访问控制策略所授权的认证属性,因此代理人不能成功地通过属性过滤函数${F_{}}$检查。即使代理人也参与攻击通过检查并为${S_1}$和${S_2}$转换密钥生成${C''_P}$、${C'_1}$、${C'_S}$、$I'$、${C'_{j3}}$和${C'''_P}$、${C''_1}$、${C''_S}$、$I''$、${C''_{j3}}$。${S_1}$和${S_2}$只会得到以下密文:

      $${C'_S} = {\rm{Encrypt}}\left( \begin{array}{l} {\rm{P}}{{\rm{K}}_{{S_1}}},{r_{pp}} + {{h'}_{up}} + {{h'}_v} + \hfill \\ {r_{ac}} * \left( \begin{array}{l} h({{A'}_{k1}}) + h({{A'}_{k2}}) + \cdots + h({{A'}_{km}}) - \hfill \\ h({A_{i1}} - {A_{i2}} - \cdots - {A_{im}}) \hfill \\ \end{array} \right) \hfill \\ \end{array} \right)$$
      $${C''_S} = {\rm{Encrypt}}\left( \begin{array}{l} {\rm{P}}{{\rm{K}}_{{S_2}}},{r_{pp}} + {{h''}_{up}} + {{h''}_v} + \hfill \\ {r_{ac}} * \left( \begin{array}{l} h({{A'}_{q1}}) + h({{A'}_{q2}}) + \cdots + h({{A'}_{qm}}) - \hfill \\ h({A_{w1}} - {A_{w2}} - \cdots - {A_{wm}}) \hfill \\ \end{array} \right) \hfill \\ \end{array} \right)$$

      由于${S_1}$和${S_2}$并不知道${r_{ac}}$、${A_k}$和${A_w}$的值,因此${S_1}$和${S_2}$不能恢复出${r_{pp}}$和事件${E_{{\rm{pet}}}}$。

      ACHO可以抵抗恶意代理人使用其存储的访问授权凭证恢复出加密事件。因为加密事件${E_{{\rm{pet}}}}$只能被发布者或被授权订阅者的私钥解密得到,而恶意代理人并没有这些私钥。

    • 定理 1 (正确性)[14]:设有主题为$tp$,访问控制策略为${\mathit{\Gamma} _{{\rm{tp}}}} = ({A_{11}} \wedge {A_{12}} \wedge \cdots \wedge {A_{1m}}) \vee \cdots \vee ({A_{n1}} \wedge $ ${A_{n2}} \wedge \cdots \wedge {A_{nm}})$的事件$E$,属性为$\gamma = ({A'_{11}} \wedge {A'_{12}} \wedge $ $ \cdots \wedge {A'_{1m}}) \vee \cdots \vee $ $({A'_{k1}} \wedge {A'_{k2}} \wedge \cdots \wedge {A'_{km}})$的订阅者$S$。当$1 \leqslant i \leqslant m$且$1 \leqslant j \leqslant k$,有${A_{i1}} = {A'_{j1}}, \cdots $,${A_{im}} = {A'_{jm}}$,则$S$能正确的访问所有主题为${\rm{tp}}$的事件。

      证明:在ACHO中,代理人为订阅者$S$生成${C'_P}$、${C_1}$、${C_S}$、$I$和${C_{j3}}$,$S$通过解密最终得到事件${E_{{\rm{pet}}}}$。当${E_{{\rm{pet}}}} + {r_{pp}} * r = {E_{{\rm{pet}}}}(\bmod {r_{pp}})$,若${r_{pp}} > {E_{{\rm{pet}}}}$,则满足定理1。因此ACHO机制满足正确性。

    • 为了验证ACHO机制的可用性和性能,本文使用两台台式电脑分别模拟系统用户(发布者和订阅者)和代理人,配置均为3.3 GHz处理器、16 GB内存和Windows 7操作系统,由100 Mbps局域网联接。

    • 将两类时间开销作为主要性能评估标准:1)未使用ACHO机制的发布订阅原型系统;2)使用ACHO机制的安全发布订阅系统。原型系统时间开销从订阅者发起订阅请求起直至订阅者成功获取发布者服务或数据为止。安全发布订阅系统则再加上ACHO机制运行所需时间。本文从系统事件大小(包括访问控制策略数量和事件属性值数量)、事件数量和订阅者数量3个主要方面对所提ACHO机制进行了评估。其中策略数量分别为1、2、4、8,属性值数量分别为1、5、10、15。因为在发布订阅系统实际应用中,过多过精细的属性值反而会导致系统匹配困难,因此在实验中选用了适当的策略数量和属性值数量。

      此外,为了更好地验证ACHO的效率,本文使用PACS方案进行对比实验。PACS方案是一种基于属性的发布订阅访问控制机制,实现了对发布订阅系统中信息的隐私保护。PACS方案是基于高效匹配方案MESA[17]增加安全机制而得到。

    • 图 2为不同事件大小的系统时间开销曲线图。如图 2a所示,随着系统事件大小和访问控制策略的增加,系统时间开销逐渐增长。其中原型系统时间开销明显低于安全系统,PACS方案略高于原型系统但明显低于ACHO机制。这是因为ACHO机制会消耗部分时间,且随着访问控制策略数量的增加而增长。如图 2b所示,系统事件大小和事件属性数量的增加会导致系统时间开销的增加。而事件属性数量的多少也直接导致时间开销发生变化。这是因为属性数量的增加意味着在属性过滤和访问控制策略实施阶段均需要更多的时间开销。其中PACS方案仍然略低于ACHO机制,这是因为ACHO机制中使用的全同态加密算法导致了更多的时间开销。

      图  2  不同事件大小的系统时间开销

      图 3为不同事件数量的系统时间开销曲线图,由图 3知,原型系统时间开销受事件数量增长的影响较小,而ACHO时间开销则明显随着事件数量和大小逐渐增加。这是因为原型系统受益于用户去耦和异步通信的特点,受事件数量和大小影响较小,但在使用ACHO机制后,需要在用户和代理人之间多次通信,故事件数量和大小会产生明显影响。同样的,PACS方案虽然时间开销略小于ACHO,但仍随着事件数量的增加而稳步增长。

      图  3  不同事件数量的系统时间开销

      图 4为不同订阅者数量的系统时间开销曲线。由图 4知,订阅者数量和事件大小的增加导致原型系统、ACHO和PACS的时间开销均逐渐增长。这是因为订阅者数量的增加会直接导致发布订阅系统中各项服务的使用次数及频率的增长,尤其是事件匹配。而ACHO机制和PACS方案则增加了属性值和访问控制策略的开销,从图中可见两种方案的曲线几乎贴在了一起。

      图  4  不同订阅者数量的系统时间开销

      由上述实验结果可见,ACHO机制虽然比PACS方案所需系统开销更多,但系统开销增量绝对值并不大,仍然处于可接受的范围之中。

    • 本文提出一种基于全同态加密算法的访问控制机制ACHO,用以解决发布订阅系统在物联网应用中遇到的安全问题。理论分析证明ACHO机制可以保护系统安全性和正确性。实验结果证明ACHO是可行及高效的。

参考文献 (17)

目录

    /

    返回文章
    返回