可搜索加密在云计算移动学习中的应用
刘文哲 朱文焌 何恩惠 翟嫚杰 岳志芳
摘要:基于云计算的移动学习是在传统移动学习的基础上,利用云平台实现资源检索功能的一种学习方式。为了保证数据的安全性,资源发布者将学习资源以密文形式上传至云服务器。但云服务器无法对加密资源进行有效管理,使得密文搜索结果不能到达预期水平。针对以上问题,文章在云计算的移动学习模型基础上,利用可搜索加密的方法,建立可搜索加密的移动学习模型,从而确保学习资源的隐私性。
关键词:移动学习;可搜索加密;隐私保护;云计算
移动学习是一种依靠无线通信技术、移动计算技术,通过移动设备随时随地获取学习资源的学习方式。与传统的学习模式相比,该方式具有学习便捷性、教学个性化、交互丰富性、情境相关性等特点。移动学习为学生提供了更加方便快捷的学习手段,增强学生自主学习的能力,提高学生学习效率。
随着互联网中信息量的不断增大,移动学习资源出现“信息冗余、存储不足、有所限制”等缺点。由于云计算的迅速发展,构建基于云计算的移动学习系统能够满足用户获取丰富、即时、准确学习资源的需求。同时,云计算平台可以实现资源的整合和海量的存储,提供强大的计算能力,使学习者能通过移动应用随时随地地学习。但是,在基于云计算的移动学习环境中,不能保障存储在云服务器上学习资源的安全性。如何构建安全的移动学习模式成为商业教育机构关注的课题。
为了解决云计算环境下移动学习的安全问题,在密文存储的基础上,文章结合可搜索加密(SearchableEncryption)方法和移动学习模式,提出一种基于云计算的移动学习安全模型,在确保云资源安全性的同时,保证移动学习者信息的隐私性,促进移动学习的发展。
1 基于云计算的移动学习的介绍
在云计算模式中,互联网的计算架构由“服务器+客户端”向“云服务平台+客户端”演变,由云服务提供商提供具体的硬件配置和更新,用户端只需通过各种终端设备获取自己需求的信息、知识、服务等。由于云服务器具有强大的计算能力,因而可以存储海量的教育资源,还能降低移动学习者的学习成本。云计算将是未来移动学习的主要支撑平台,也将推动移动学习的发展。
基于云计算的移动学习是在传统的移动学习基础上,利用云平台对学习资源存储、计算的方式。资源发布者将学习资源发布至云服务器,利用云计算技术对学习资源进行存储、分类并通过网络服务实现共享,移动学习者通过自己的移动设备搜索自己所需要的资源,使得学习资源达到最大化共享。同时,用户只需要通过自己的移动设备点击与云服务器相关的链接,就可以搜索自己所需的学习资源,为学习者带来了便利。
2 相关概念介绍
关于基于云计算的移动学习模型建立在文献中有详细介绍,下面介绍可搜索加密的相关概念。
2.1 可搜索加密定义
可搜索加密(简称SE)是近年来发展的一种支持用户在密文上进行关键字查找的密码学原语,它能够为用户节省大量的网络和计算开销,并充分利用云端服务器庞大的计算资源进行密文上的关键字查找。
2.2 SE机制分类
基于对称密码学算法的SE机制和基于公钥密码学算法SE机制。基于对称密码学的SE机制在文献[9,10]有详细介绍。基于公钥密码学的SE机制是在不同的安全假设下,建立在双线性对之上的,在搜索的过程中需要进行群元素之间和双线性对的计算。基于公钥密码学的SE机制在文献有具体介绍,其优点是不需要加密方和解密方事先协商生成密钥,用户可以直接使用对外公开的公钥对关键字集合进行加密,为数据安全性提供了保证。由于基于对称密码学的SE机搜索效率低,不适合云服务器上的海量资源的搜索,文章介绍的基于云计算的移动学习方案主要是根据公钥密码学算法的SE机制来实现的。
2.3 双线性对的定义
定义:存在p阶群G1,G2和双线性映射e:G1×G1→G2,G1,G2的大小取决于安全参数。存在以下属性:
可计算性:ヨ,h∈G1,可以在多项式时间内计算出e(g,h)∈G2。
双线性:Vx,y∈[1,p],有e(gx,gy)=g(g,g)xy。
非退化性:如果g是G1的生成元,那么P(g,g)是G2的生成元。
2.4 基于公钥密码学的主要算法
以下各算法基于以上的双线性定义和哈希函数H1:{0,1}*→G1和H2:G2→{0,1}logP。
KenGen:输入安全参数p,群G1,G2,p决定了群G1,G2的大小。选取随机数α∈p*和G,的生成元g,输出pk=[g,h=gα],sK=α。
PEAKS(pk,w):首先选择随机数,r∈zp*,计算出t=e(H1(W),hr)∈G2,最后生成的关键字W集合密文为CW=(gr,H2(t))。
Trapdoor(s k,w):输入接收者的sk和某一查询关键字w,Tw=H1(w)α∈G1
Test(p k,S,Tw):令S=[A,B],检查H2(e(Tw,A))=B是否成立。如果是,输出Yes,否则输出No。
2.5 构建基于布鲁姆过滤器的索引表算法
利用布鲁姆过滤器输出文件编号为fd的索引IDid=(Did,B F)。
Builderlnde x(Tw,ID):输入单词w的查询单射函数Tw=(x1,…,xr)∈{0,1}和文件Did的索引IDid=(Did,BF)。计算Did内的wu码字:(y1=f(Did,x1),…,yr=f(Did,xr)∈{0,1}。
检测yi,…,yi所表示的r个位置在BF内是否全为1。如果全为1,输出1;否则,输出0。
3 SE机制下基于云计算的移动学习模型建立
3.1 模型介绍
随着云计算技术的成熟和移动学习的发展,基于云计算的移动学习受到众多移动学习者的青睐。然而社会中的商业教育机构,并不希望在云服务器上的学习资源得到无限共享,更不希望公开内部学员的学习情况。针对这一问题,资源发布者以密文形式将学习资源发布到云服务器上,由于云服务器无法对密文进行处理,给移动学习者带来学习上的不便。因此,文章结合可搜索加密机制建立基于云计算的移动学习模型,为资源发布者和学习者建立更好的学习机制,保证学习资源的安全性和隐私性。
在该模型下,数据所有者是资源发布者,用户是移动学习者。首先,数据所有者对发布的资源进行预处理,分为关键字集合和文件,利用布鲁姆过滤器构建关键字集合的索引,利用公钥加密算法对文件加密,将索引和加密的文件上传至云端。其次,当用户对资源有需求时,输入关键字,利用非对称加密算法生成搜索凭证发送到云端。最后,云服务器根据搜索凭证以密文形式返回搜索的结果,用户使用自己的密钥解开即可。例如是学习者Alice等的集合,资源的发布者是Bob,Bob将学习资源发布到云服务器上并且把密钥发送给Alice等人,Alice等人用密钥得到自己想要的学习资源,如图1所示。
3.2 算法分析
此模型主要用到5种算法:
Setup(k):输入安全参数k,输出公钥pk,私钥sk。
Trapdoor(pk,w):输入私钥sk,关键字w,输出搜索陷门Tw。
PEAKS(pk,w):输入公钥pk,关键字w,输出密文Cw。
Buildlndex(D):输入关键字集合D,利用布鲁姆过滤器输出索引表I。
Test(pk,S,Tw):输入公钥pk,随机数集S,搜索陷门Tw,输出待解密的文件。
4 结语
文章将可搜索加密应用于基于云计算的移动学习中,在基于公钥加密的SE机制中,资源发布者发布的信息以密文形式上传至云服务器,移动学习者将想要搜索资源的关键字集合发送到服务器,云服务器根据收到的信息返回用户所要的资源,有效地避免了学习资源的泄漏。现代密码学技术与实际问题的结合,促进了移动学习的发展,未来密码学将会应用到更广阔的领域。