一种面向发布订阅系统的访问控制机制
2018-07-19王启旭陈大江秦志光
王启旭,丁 哲,陈大江,3,秦 臻,秦志光
(1.四川大学网络空间安全学院/研究院 成都 610207;2.电子科技大学信息与软件工程学院 成都 610054;3.滑铁卢大学电子与计算机工程学院 滑铁卢 ON Canada N2L 3G1)
随着无线通信技术和无线传感器网络的发展及普及,无处不在的通信和随处可得的数据使得物联网应用逐步走入现实世界。作为物联网应用技术重要的组成部分之一,发布订阅系统因其具有用户交互去耦性和支持异步通信的特点,被广泛应用于各种大型关键系统中以提高系统可用性、可靠性和运行效率[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在实现安全访问控制的目标前提下,依然能维持较为高效的发布订阅服务。
1 基本概念
1.1 全同态加密算法[15]
全同态加密算法是指支持任意运算规则的同态加密算法。本文中系统事件均被全同态加密算法加密。
1.1.1 同态加密
令q为素数,Zq为模q的整数域,n为整数。对于给定的明文和由参数q、n生成的秘密钥K,则有加密函数和解密函数其中密文为n维向量,iqc∈Z。由秘密钥K生成的公开密钥PK能被用来对v加密,则有[15]:
乘法的同态操作还需要用到由K生成的公开衡量密钥(public evaluation key),记为对于从密文处得到可以表示成[15]:
1.1.2 密钥交换和重加密
密钥交换是对于给定的发布者的秘密钥Kp和订阅者的公开密钥PKs,可将用Kp加密的密文转换成用Ks加密的密文,其中Ks是订阅者的秘密钥[15]。
1.2 基于属性的授权[16]
一个属性A被定义为意思为值为value的属性st。一个用户拥有属性可以用连接式表示。对于一个给定的系统事件主题et,授权策略通过使用用户的具体属性值来限制其是否具有访问主题为et的事件数据。
定义 1 (授权策略)[16]:一个授权策略的表达式为则其表示当一个用户至少拥有属性连接式到中一组属性时,其可以访问主题为et的数据。
2 ACHO机制
图1 ACHO机制系统架构图
ACHO通过基于属性的访问控制机制实现了对用户细粒度的访问控制,由同态加密算法加密的事件数据实现了敏感数据的隐私保护。ACHO机制分成3个主要步骤:1)访问控制机制建立;2)访问控制策略实施;3)系统事件匹配。ACHO机制设计为多对多的应用环境,为了方便在本文中假设为一对一的场景,ACHO机制系统架构和具体6个步骤如图1所示。
2.1 访问控制机制建立
设服务发布者P发布主题为pet,策略为Λpet=的事件其中事件Epet的主题个数可以是单个或者多个。为订阅者S的属性表达式。发布者P和订阅者S分别生成密钥对。发布者预先选取两个随机数rpp和rac,其中rpp的值大于任意事件Epet中的主题个数。
发布代理人将发布者P的访问策略Λpet中的属性值转换成访问凭证:
其中交换密钥KSP→S由密钥交换函数生成,对于每一组属性连接式发布者P通过属性过滤函数生成Fs。
接着,发布代理人使用随机数rup和哈希函数h生成由于随机数rup使得即使是相同属性的hup也是不同的。密文可由下式计算:
其中,Epet为系统事件;CP是主题为pet的事件Epet的密文。
然后发布代理人将访问属性凭证ωpet发送给订阅代理人。
2.2 访问控制策略实施
订阅代理人收到密文CP后,检查订阅者S的属性连接式Sω是否满足若满足条件,则订阅者S为合法用户,订阅代理人则将密文CP、Ci1、Ci2转换为
同时将属性索引值j也加密为在转换完成后,订阅代理人将和之前得到的Cj3发送给订阅者S。
若订阅者S未能满足访问控制策略,则订阅代理人直接向订阅者返回拒绝访问消息。
2.3 系统事件匹配
订阅者S收到和Cj3后,首先解密I以得到索引j,从而得到授权属性连接式随后解密Cj3和C1分别得到随机值rS和rac。接着订阅者S通过以下步骤恢复出rpp:
最后,订阅者S解密密文得到petpp E+r∗r,在对rpp进行模操作后恢复出事件Epet。
3 安全分析
3.1 安全性
本文的ACHO机制通过使用公钥基础设施(PKI)中的安全传输层协议(TLS)来保证通信信道安全,从而实现抵抗中间人攻击和欺骗攻击等常见攻击的效果。
ACHO可以抵抗共谋攻击。对于共谋的两个订阅者S1和S2均未有访问控制策略所授权的认证属性,因此代理人不能成功地通过属性过滤函数F检查。即使代理人也参与攻击通过检查并为S1和S2转换密钥生成I′、S1和S2只会得到以下密文:
由于S1和S2并不知道和Aw的值,因此不能恢复出rpp和事件Epet。
ACHO可以抵抗恶意代理人使用其存储的访问授权凭证恢复出加密事件。因为加密事件Epet只能被发布者或被授权订阅者的私钥解密得到,而恶意代理人并没有这些私钥。
3.2 正确性
定理 1 (正确性)[14]:设有主题为tp,访问控制策 略 为的事件E,属性为的订阅者S。
证明:在ACHO中,代理人为订阅者S生成通过解密最终得到事件Epet。当则满足定理1。因此ACHO机制满足正确性。
4 实 验
为了验证ACHO机制的可用性和性能,本文使用两台台式电脑分别模拟系统用户(发布者和订阅者)和代理人,配置均为3.3 GHz处理器、16 GB内存和Windows 7操作系统,由100 Mbps局域网联接。
4.1 评估标准
将两类时间开销作为主要性能评估标准:1)未使用ACHO机制的发布订阅原型系统;2)使用ACHO机制的安全发布订阅系统。原型系统时间开销从订阅者发起订阅请求起直至订阅者成功获取发布者服务或数据为止。安全发布订阅系统则再加上ACHO机制运行所需时间。本文从系统事件大小(包括访问控制策略数量和事件属性值数量)、事件数量和订阅者数量3个主要方面对所提ACHO机制进行了评估。其中策略数量分别为1、2、4、8,属性值数量分别为1、5、10、15。因为在发布订阅系统实际应用中,过多过精细的属性值反而会导致系统匹配困难,因此在实验中选用了适当的策略数量和属性值数量。
此外,为了更好地验证ACHO的效率,本文使用PACS方案进行对比实验。PACS方案是一种基于属性的发布订阅访问控制机制,实现了对发布订阅系统中信息的隐私保护。PACS方案是基于高效匹配方案MESA[17]增加安全机制而得到。
4.2 实验结果分析
图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方案所需系统开销更多,但系统开销增量绝对值并不大,仍然处于可接受的范围之中。
5 结束语
本文提出一种基于全同态加密算法的访问控制机制ACHO,用以解决发布订阅系统在物联网应用中遇到的安全问题。理论分析证明ACHO机制可以保护系统安全性和正确性。实验结果证明ACHO是可行及高效的。