本发明属于信息安全的技术领域,具体为一种面向智能家庭的具有隐私保护特性的身份认证方法。
技术背景
随着智能设备和高速网络的快速增长,以iot为基础的智能家庭因其带来能源节省,安全监控以及健康护理等优点成为了未来最具潜力的物联网应用场景之一。智能家庭系统允许用户远程连接入家庭内的传感器,智能设备以及家用电器以实现远程访问、控制的功能,但是已有的智能家庭远程接入,特别是用户身份认证方法,存在着严重的隐私泄露问题:攻击者或者直接通过攻击系统盗取用户身份信息进而非法监视或控制智能家庭,或者通过网络流量分析出用户的日常起居行为。
因此,有大量工作对上述问题进行了研究以并提供安全的身份认证,但是仍然存在如下问题:第一,大多数方案是通过引入可信第三方实现安全认证和通信,但可信第三方往往是难以确保的;第二,也有许多方案是直接让智能设备本身认证远程用户,但是智能设备资源有限,安全隐患多,同时当智能设备增多时,重复认证的问题严重。
技术实现要素:
本发明针对现有技术存在的问题,基于面向智能家庭的ifttt服务提出一种具有隐私保护特性的身份认证方法。ifttt(ifthisthenthat.)服务是互联网服务的一种类型,在智能设备和用户之间作为接口,其给用户远程操控智能设备和通过ifttt流程配置智能家庭带来便利。本发明引入用户私有的ifttt家庭网关作为智能家庭系统中智能设备的认证的执行者,系统模型如图1所示,该模型有四部分组成:用户手机、ifttt服务器、ifttt家庭网关和家庭中的智能设备。
本发明解决其技术问题所采用的技术方案如下:
首先在itfff家庭网关和ifttt服务器之间建立安全通道;
再者设计一个互认证协议,该协议允许ifttt家庭网关和远程用户通过ifttt服务器互相认证,而且ifttt服务器不能跟踪监控用户访问行为。该方案有三个阶段:系统初始化阶段、注册阶段、认证和密钥协商阶段,由图2所示。
阶段a:系统初始化阶段;
ifttt服务器初始化:采用ecc算法,生成私钥x和公共参数{p,ep,p,ps,n,h1(·)},并发布公共参数。
ifttt家庭网关初始化:预配置公共参数{p,ep,p,ps,n,h1(·)}和序列号(snj)。采用ecc算法,生成私钥xj和公共参数
阶段b:注册阶段:
家庭网关注册阶段:ifttt家庭网关注册到ifttt服务器,确认身份ridj和秘密h1(snj||x)。
用户注册阶段:用户注册到ifttt家庭网关,面对面的方式配置用户id(uidj)和初始认证会话秘钥
阶段c:认证和密钥协商阶段;
家庭网关登录阶段:ifttt家庭网关登录ifttt服务器,互认证之后,协商一个会话秘钥
在密钥协商互认证阶段:用户和ifttt家庭网关通过ifttt服务器互相认证,协商一个新的会话秘钥
至此,密钥协商互认证程序完成,spi直接通过会话秘钥
本发明的优点如下:
(1)允许ifttt家庭网关通过ifttt服务器与远程用户实现安全的互认证。ifttt服务器仅维护家庭网关假名列表,并加密和转发用户和其家庭网关之间的加密信息,以防止引入共享的ifttt服务器带来的隐私泄露,以及杜绝基于网络数据流量分析的日常起居行为泄露。
(2)家庭网络中的智能设备由ifttt家庭网关管理,它们组成一个独立的自治系统。ifttt家庭网关代替智能设备验证远程用户,并负责维护管理智能家庭系统。ifttt家庭网关从逻辑上被ifttt服务器隐藏,ifttt服务器不能跟踪用户,攻击者也不能跟踪用户和ifttt家庭网关,因此,实现了匿名、不可追踪等自治认证。
附图说明
图1系统模型图
图2整体流程图
图3为密钥协商互认证过程表。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合附图对本发明作进一步的说明。
本发明首先在itfff家庭网关和ifttt服务器之间建立安全通道;
再者设计一个互认证协议,该协议允许ifttt家庭网关和远程用户通过ifttt服务器互相认证,而且ifttt服务器不能跟踪监控用户访问行为;
该方法有三个阶段:系统初始化阶段、注册阶段、认证和密钥协商阶段。
参数定义如下:
三个阶段具体描述如下:
阶段a:系统初始化阶段;
ifttt服务器初始化:采用ecc算法,生成私钥x和公共参数{p,ep,p,ps,n,h1(·)},并发布公共参数;
ifttt家庭网关初始化:预配置公共参数{p,ep,p,ps,n,h1(·)}和序列号(snj);采用ecc算法,生成私钥xj和公共参数
阶段b:注册阶段:
家庭网关注册阶段:ifttt家庭网关注册到ifttt服务器,确认身份ridj和秘密h1(snj||x);
用户注册阶段:用户注册到ifttt家庭网关,面对面的方式配置用户id(uidj)和初始认证会话秘钥
阶段c:认证和密钥协商阶段;
家庭网关登录阶段:ifttt家庭网关登录ifttt服务器,互认证之后,协商一个会话秘钥
至此,密钥协商互认证程序完成,spi直接通过会话秘钥
阶段a:系统初始化阶段;
ifttt服务器初始化:当ifttt服务器(s)启动时,首先在有限域fp上选取一条椭圆曲线ep,其中p为大素数;再者,选取一个安全单向散列函数h1(·)。然后,取ep上一个基点p,阶为n,私钥x,然后计算ps=x*p作为公钥。s私有x,发布{p,ep,p,ps,n,h1(·)}。
ifttt家庭网关初始化:假设家庭网关(hgj)已经配置了公共参数{p,ep,p,ps,n,h1(·)}和序列号(snj)。当hgj启动时,取一个安全单向散列函数h2(·)和一条有限域
阶段b:注册阶段;
该方案有两个独立的注册阶段:家庭网关注册阶段和用户注册阶段。在家庭网关注册阶段(见图2①,②),ifttt家庭网关注册到ifttt服务器,确认身份ridj和秘密h1(snj||x)。在用户注册阶段(见图2③、④),用户注册到ifttt家庭网关,面对面的方式配置用户id(uidj)和初始认证会话秘钥
1)家庭网关注册阶段:
步骤hgr1:hgj产生随机数ridj、rj,计算mr1=rj*ps,mr2=rj*p,
步骤hgr2:s计算mr1*=x*mr2,从b1、b2获得
步骤hgr3:当hgj收到m2,从b4中提取
2)用户注册阶段
步骤ur1:当用户(ui)注册到hgj时,hgj产生随机数rcj作为注册码,在屏幕上显示ui,然后发送ridj和公共参数
步骤ur2:ui设置密码和用户名,表示为(pwi,uni)。用户手动输入pwi、uni、rcj到智能手机(spi)中。然后,spi检索其硬件地址maci,计算w=h2(pwi||uni),
步骤ur3:收到m3,hgj首先计算cp*=xj*ep,然后从c1、c2获得u*、
步骤ur4:收到m4,spi如hgj一样计算uidi、
阶段c:认证和密钥协商阶段:
该部分也包括两个独立的阶段:家庭网关登录阶段和密钥协商互认证阶段。在家庭网关登录阶段(见图2⑤、⑥),ifttt家庭网关登录ifttt服务器,互认证之后,协商一个会话秘钥
1)家庭网关登录阶段
步骤hgl1:hgj通过macj从rj恢复h1(snj||x),产生随机数rj,计算mr1=rj*ps,mr2=rj*p,
步骤hgl2:s首先根据条件
步骤hgl3:hgj根据条件
2)密钥协商互认证阶段
从前面阶段可知,s私有x,公共参数{p,ep,p,ps,n,h1(·)},数据库中存储
该阶段在s的帮助下,完成ui和hgj之间的密钥协商互认证,但是在ui和hgj认证阶段,s仅仅加密(解密)和转发认证消息,并不能跟踪发生的事件,见图3。
步骤auka1:ui输入用户名(uni)和密码(pwi),spi计算w=h2(pwi||uni),通过w从
步骤auka2:s首先根据条件
步骤auka3:收到m7密文(mm7),hgj首先计算
步骤auka4:s计算
步骤auka5:spi首先根据条件