基于位置的服务(LBS)是通过移动通信网络(GSM或3G)定位,获取移动用户的地理位置信息(经纬度坐标),提供给LBS提供商,并在电子地图的支持下提供给用户与终端位置相关的增值服务。以前大多的LIBS在逻辑上都由服务提供商(SP)、位置服务平台( LSP)和移动用户(MS)组成。随着移动云计算概念的提出以及应用的快速发展,LBS和云计算的结合可以实现在没有第三方LSP参与的情况下,MS直接和SP通信获得位置服务,比如GOOGLE地图。

由于LBS业务迅猛增长和云环境自身安全特性,隐私信息在传输和云端存储的私密性就显得尤其重要。尽管目前LBS系统采取了隐私保护手段,但是在移动云环境下的LBS仍然存在诸如地区信息泄露、用户身份泄露等安全隐患。表现在三个方面:(1)鉴权:攻击者可能伪装成合法用户来伪造和访问数据。(2)身份泄露:在无线网络传输中用户会频繁暴露自己的身份给SP来核实,当完成身份认证的同时,身份信息很可能已经被窃取。(3)位置隐私泄漏:攻击者窃取传输通道和侵入LBS系统获得非法访问权限,从而窃取用户敏感的位置数据。

为了解决上述问题。提出了一种分布式隐私保护的方案,数据不是直接发送给服务提供商,而是分布式发给自建ad-hoc网络中的部分邻居节点,在邻居节点混合重加密后再发送给服务商,历史数据使用可变多重假名机制来保证隐私。建立了基于云存储的安全模型,利用多重假名来隐藏IM-SI号码和精确位置数据。此模型虽然保证在云端存储的隐私性,却没有考虑敏感数据在无线网络中传输的安全问题。针对GSM网络身份认证和密钥协商过程中IMSI以明文传递,利用公私密钥对分别提供了两种对IMSI整体加密的保护方案,改进方案则是细分IMSI号,对号段必要的隐私区域加密。

本文通过对LBS安全模型和IMSI保护方案的研究和分析,提出基于对称和非对称混合加密方案的LBS安全模型,保证LBS隐私信息在无线传输和云端存储的安全。

一、安全模型研究

1、云存储优势

安全模型采用云存储作为我们服务提供商和LBS用户私密数据的存储媒介。云存储能提供强大的存储和可扩展能力,促使SP把数据移植到外部数据库,提供用户无缝机制产生、存储、访问自己相关数据,这在云环境中称为数据即服务(DAAS)。选择DAAS有以下两个基本考虑:

(1)增强系统的安全性

云存储端将文件复制并且存储在多个不同的服务器中,硬件冗余和自动的故障切换解决了意外的硬件故障或者其他的灾难性事件导致的数据损坏、丢失和无法恢复等严重问题。

(2)增加系统的可扩展性

云存储容量分配不受物理硬盘限制并且扩容非常简单,每个项目分配的存储容量可以超出实际容量,只要在需要时随时硬件扩容即可。

针对LBS系统数据库需要存储用户个人身份信息用于标识和鉴权用户,以及私密性很高的位置信息等数据。采用可信负责的云存储服务是个相对高效、安全的选择。

2、改进的安全模型

安全模型综合考虑了MS、SP和云端数据库CDB( Cloud Database)三个方面。每一个SP有三个进程:认证进程、服务进程和结果翻泽进程。CDB存储和设备、服务、位置记录相关的数据。用户注册账号的相关数据和每次通信过程的临时数据仅在SP那里存储,而不在CDB存储。首先,MS发送用户和通信设备的认证消息到SP。接着,认证进程验证认证信息,如果这些数据被验证通过,LBS服务进程将被激活,用户提供他们自己的位置信息。然后服务进程可以访问云端其他相关服务信息。最后在接到用户隐私等级请求后,结果翻译进程把服务结果数据发给MS,把隐私等级对应模糊化的位置记录信息存储在CDB。

云环境下LBS的对称和非对称混合加密方案

服务质量直接被隐私等级影响,低等级隐私可以告诉你你朋友所在街道范围,高隐私等级只能告诉你你朋友所在城市。除了三个进程外,每个SP拥有一个独立的公私密钥服务器,生成、存储公私密钥对相关数据。

LBS安全问题的挑战是如何在保证服务质量的同时,采用高效的技术保证位置数据安全和用户身份的私密性。数据安全问题分为传输安全和存储安全。只考虑采用假名技术隐藏真实身份和位置数据保证在云端存储的安全,而没有研究用户身份、账号、密码和位置隐私信息在网络传输中的安全。基于假名和云存储的存储安全,以及采用对称和非对称混合加密方案保证无线网络中传输的安全是研究的主要方向。

二、混合加密方案

1、IMSI的假名

国际移动用户识别码(IMSI)是区别移动用户的标志,储存在SIM卡中,可用于识别移动用户的有效信息。其总长度不超过15位,同样使用0~9的数字。移动网号码(MNC),最多由两位数字组成,用于识别移动用户所归属的移动通信网;移动用户识别码( MSIN),用以识别某一移动通信网中的移动用户。

IMSI在GSM和3C网络中作为用户身份唯一标识。通常情况下,IMSI在无线通道中以明文传输,攻击者很容易通过窃听或请求用户主动发送IMSI的主动攻击方式获取到IMSI号码。在移动通信领域IMSI是用户全球范围内唯一性的标识,也包含了注册的相关信息,比如注册HI。R路由信息,家乡网络等。一旦被截取,攻击者很容易通过移动通信网络对同一个用户跟踪定位,导致严重的安全威胁。

采用假名代替IMSI明文作为用户在LBS安全模型中的唯一标识。在用户的LBS应用客户端中有假名生成函数——哈希( HASH)函数:不仅能够为每一个用户对应的IMSI号码提供唯一的的假名标识;而且由于哈希函数的不可逆性,黑客也很难通过哈希后的假名反推出用户的IMSI号码。注册时假名( Pseudo)和存储在云端的鉴别密钥(C-Key)生成图如图2所示。

云环境下LBS的对称和非对称混合加密方案

2、基于组合公钥体制的公私密钥对

(1)初始化

首先在该LBS客户端软件中嵌入椭圆曲线加密算法(ECC),LBS服务器端能够自己产生公私密钥对(LBS-PK/SK),并把初始公钥Pk0和此公钥的版本号VeI0一同嵌入到客户端软件中。这样当用户安装该LBS客户端,第一次注册时,可以使用初始公钥Pk0加密注册信息,从而保证信息私密性。

(2)公私密钥对生成原理

组合公钥(CPK)体制是依据离散对数难题的数学原理构建公钥与私钥矩阵。采用杂凑函数与密码变换将实体的标识映射为矩阵的行坐标与列坐标序列,通过对矩阵元素进行选取和组合,生成数量庞大的公私密钥对,从而实现基于标识的超大规模的密钥生成与分发。

鉴于椭圆曲线离散对数问题在密码应用中具有相同安全度下占有资源小于一般有限域离散对数问题的优势,采用椭圆曲线离散对数问题构建该机制。

定义1(椭圆曲线上的加法)

椭圆曲线方程上任意两点P(XI,Yi)、Q(X2,y2),通过该两点直线£若与椭圆曲线有第三个交点记为-R(X3,- y3),该点-R关于x轴的对称点尺(X3,y3)也在椭圆曲线上。定义“加法”:P+Q=R,此时椭圆曲线上的点加上无穷远点(零点)构成加法群。

公私钥生成矩阵:

选一点G(XG,yG)∈E( Fp),如果n是满足nG=o的最小整数,则由G的倍点{G,2G,3G,…,nG}构成一子群,G是此子群的生成元,n是阶(一大的素数)。在子群众选取mxh个等式Ru=rdG;1≤i≤m,1≤j≤n -1。将每个等式中的Rij,rij放在两个矩阵中的相应位置,构成:每个用户将自己的IMSI标识通过HASH函数运算得到固定长度的Pseudo,Pseudo作为映射的中间变量,通过映射行算法、列映射算法使每一个标识在每一行都有一个元素与之对应。将PSK中的对应元素取出求和,设PK=Rli+R2j+-Rmk,SK= rli+r2j+…rmk(i,j,…,互不相等),则PK为服务器的阶段性公钥,SK为服务器阶段性私钥。

(3)密钥操作

在服务器端有公私钥对生成矩阵能够根据用户登陆时提供Pseudo产生的公私钥对,并和对应公钥版本号(VER-PK)共同保存在LBS服务器的公私钥对表中,作为后续更新,查询和解密依据。

每当服务器端收到用户公钥加密的数据时,可以通过查阅VER-PK,找到对应的私钥(LBS-SK),从而解密数据。

3、对称和非对称和混合加密

完整的非对称密钥技术面临的最主要的难题就是公钥交换。而通常的解决办法,例如PKI是在网络中建立专门的可信第三方证书权威机构(CA)。这样虽然解决了公钥交换难题,但是也引出了CA机构建立和维护比较复杂,以及CA对通信带宽和高实时性要求的难题。

该模型在没有可信第三方CA参与的前提下,只由LBS服务器端产生自身的公私钥对,基于预先嵌入和查询更新的形式完成单向公钥的交换。同时利用存储在云端C-Key和用户提供的部分注册信息结合产生对称加密所需的密钥。

根据上述原则,就构成了对称和非对称混合的加密机制,如下:

(1)MS向服务器发送的数据采用非对称加密方式。LBS服务器能够产生公私钥对,MS利用服务器提供的定期更新的公钥来加密发往LI3S服务提供商的身份和位置信息。移动终端资源有限,同时用户端发送的信息都是跟身份标识,公钥和固定长度数字相关的必要信息,信息量很小。根据以上两点,在移动终端采用ECC加密算法是可行的。

注册阶段的加密行文ECC[ LBS-PK,(Pseudo,ID,PW)],ECC()是公开的加密函数,方括号内第一个参数LBS-P'K是加密的公钥,第二个参数圆括号内的Pseudo,账号(ID),密码(PW)是加密的内容。

(2)服务器向用户端发送数据采用对称加密方式。对称密钥在登录阶段和活动阶段的组成模式不同。

登录阶段对称密钥KeyA是ID和MS端产生的固定长度随机数R某种运算后经过哈希函数处理的结果;活动阶段对称密钥KeyB是C-Key和R某种运算后经过哈希函数处理的结果。见图2。

上述对称加密的模式可以保证每一个有唯一IMSI的用户都有不同的对称密钥,并且由于每次登录都会产生随机数R,可以保证同一个用户每次登录后所使用的对称密钥又不尽相同。破译密钥的难度大大增强。具体过程后面将会详细介绍。

三、服务流程

1、注册

云环境下LBS的对称和非对称混合加密方案

(1)用户在自己的终端产生Pseudo,即加密的IMSI。

(2)把Pseudo,账号ID和密码PW通过初始的服务器公钥Pk0加密,并和对应的版本号Ver0 -同发给服务器。

(3)服务器接收到数据后,根据公钥版本号在公私钥对表中查找对应的私钥Sk0,解密数据获得用户注册信息。

(4)ID和PW存储在服务器端,P,seudo和ID某种运算结合经过HASH函数处理,得到C-Key并存储在云端数据库,用于以后涉及敏感位置信息时的身份验证。

2、登录

云环境下LBS的对称和非对称混合加密方案

注册之后,用户使用LBS服务之前,需要使用ID PW登录,启动服务进程。

(1)用户端产生一个随机数R和ID,PW共同经过LBS-PK加密,密文和VER-PK -起发送给LBS服务器。

(2)服务器根据VER-PK查询出相应的私钥LBS-SK,解密密文。

(3)服务器根据ID,PW验证用户账户信息合法性。鉴权之后,根据用户上报的VER-PK和目前最新的VER-PK比较。如果上报的VER-PK为最新的版本,则无需更新公钥文件;如果为老版本号,则需要更新公钥文件VER-PKnO服务器端根据ID和随机数R生成对称密钥KeyA。

(4)解密获得的R和新版本号VER-PKn(无更新则不需要传送)通过KeyA密钥加密后发送给用户。因为R由用户产生,用户端合成KeyA后解密,比较获得的R是否一致,从而对服务器身份进行验证,从而完成双向身份认证。最后根据获得的数据更新拥有的公钥版本号和公钥。

3、活动

云环境下LBS的对称和非对称混合加密方案

通过用户和服务器之间的双向认证并登录后,每当用户需要一次位置服务时就会产生一次活动。

(1)用户把假名身份Pseudo和请求服务时所在的位置location用LBS-PK加密,密文和VER-PK发送给服务器。

(2)服务器查询出对应私钥LBS-SK并解密。

(3)根据Pseudo和ID计算出C-Key,和注册时存储在云端的C-KEY查询比较,确定发位置信息的用户是否为注册的合法用户。鉴权成功后,把location暂时存储在服务器端。

(4)服务器向其他用户发出广播请求,收到请求后,其他用户把假名和所在位置location返回给服务器。LBS服务器比较其他用户location和请求服务用户location,找出符合用户服务需求的的location。把符合要求用户的ID和location通过对称加密(密钥是C-Key和登陆传递的随机数R结合的KeyB)发送给终端用户。

(5)最后把用户请求服务时所在不精确location的存储在云端数据库作为历史记录。

四、安全性分析和方案比较

1、安全性分析

(1)服务器公私密钥对本地产生。用户用于注册以及后续阶段用于信息加密的LBS-PK,在服务器端产生。对应LBS-SK只用于解密并且永远保存在服务器端,攻击者很难通过LBS-PK推导出LBS-SK。

(2)公私密钥更新。组合公钥体制的密钥矩阵提供了基数庞大的密钥组合结果,很大程度降低了密钥对重复概率。

(3)保证了用户IMSI永久身份。在无线环境中传输还是在服务器端、云端存储使用的都是IMSI的假名。只有用户自己知道真正的IMSI号。

(4)用户能够对服务器身份认证,防止中间人攻击。不断变更的私钥确保服务器身份;初始密钥离线预置以及新公钥的更新都经过旧公钥加密,不存在公钥交换过程中的中间人攻击。

(5) Rand能够避免重放攻击。每次对称密钥登录产生随机数不同和非对称密钥的公钥定期更新。

2、方案比较

本方案充分考虑了无线传输和云端存储两方面的安全。并且不为每个用户分配公私密钥对,在向服务器发送对话时统一采用LBS服务器最新的公钥加密。相对于PKI方案,大大减轻了服务器端用于维护和管理用户密钥的难度,也不受限于用户数量的增加,服务器维护和管理难度只取决于自己更新的频率和运行的时间,如图6所示。

云环境下LBS的对称和非对称混合加密方案

本方案和基于PKI方案方案的综合比较见表1。

云环境下LBS的对称和非对称混合加密方案

五、结语

本文的LBS安全模型部署在云环境中,使用户能够直接和LBS服务商通信,同时能够充分利用云环境的分布式计算和存储的功能。利用SIM卡中唯- IMSI号码的假名来标示、鉴别用户,保证了身份信息的隐私。在不引入第三方CA的前提下,对称和非对称混合的加密方案使通信双方能够采用相异的加密机制。利用可更新的公私密钥对和公钥版本号完成用户端密钥的更替,利用随机数和用户密切相关的身份标识完成服务器端的密钥更替。该保护方案充分考虑了隐私信息在存储和无线网络传输两个方面的安全,是移动LBS应用比较有效、实际的安全方案。

小知识之LSB

LSB是一套核心标准,它保证了LINUX发行版同LINUX应用程序之间的良好结合。