发明名称 提供应用服务的方法
摘要 本发明实施例公开了一种提供应用服务的方法,包括:根据所接收的用户手机的应用服务请求,对用户进行鉴权,当所述用户鉴权通过时,将应用服务请求向应用服务器发送,应用服务器根据应用服务请求向用户手机提供应用服务;本发明实施例由无线应用协议网关对用户手机进行鉴权;用户将第一指纹数据注册到无线应用协议网关,无线应用协议网关获取用户的加密指纹模板以及该加密指纹模板对应的加密密钥,无线应用协议网关利用第一指纹数据对加密密钥生成安全鉴权数据,使加密密钥被隐藏,使得加密密钥的保护更加严密;鉴权时,利用用户的第二指纹数据对安全鉴权数据进行解密获得加密密钥,利用加密密钥对加密指纹模板进行解密得到指纹模板,使得鉴权过程更加安全。
申请公布号 CN103828291B 申请公布日期 2016.10.26
申请号 CN201180071229.9 申请日期 2011.06.30
申请人 东莞市瑞腾电子科技有限公司 发明人 林武强
分类号 H04L9/32(2006.01)I 主分类号 H04L9/32(2006.01)I
代理机构 代理人
主权项 一种提供应用服务的方法,其特征在于,包括:步骤A.将用户指纹信息注册到无线应用协议网关,具体包括:A1.在用户手机触摸屏上输入指纹,根据所述用户指纹,用户手机生成所述用户的第一指纹数据,将所述第一指纹数据通过加密通道发送给无线应用协议网关;A2.无线应用协议网关通过加密通道从应用服务器获取所述用户的加密指纹模板以及该加密指纹模板对应的加密密钥KEY,将所述加密指纹模板保存在无线应用协议网关本地,所述加密密钥KEY是由应用服务器随机生成,其长度为128位;所述加密指纹模板是由所述应用服务器利用所述加密密钥KEY对用户指纹模板加密后生成;A3.无线应用协议网关根据所述第一指纹数据以及所述加密密钥,生成安全鉴权数据,将所述安全鉴权数据存储在本地,并将所述加密密钥销毁;步骤B.在用户手机上输入所要获取的应用服务信息,在用户手机触摸屏上输入指纹;步骤C.用户手机采集所述用户指纹,生成所述用户的第二指纹数据,将所述第二指纹数据携带在应用服务获取请求中通过加密通道发送给无线应用协议网关;步骤D.无线应用协议网关接收来自所述用户手机的携带第二指纹数据的应用服务获取请求,从所述应用获取请求中提取所述第二指纹数据;步骤E.无线应用协议网关根据所述用户手机的信息,获取存储在本地的所述安全鉴权数据;步骤F.无线应用协议网关根据所述第二指纹数据和所述安全鉴权数据,获取所述加密密钥KEY;步骤G.根据所述无线应用协议网关得到的加密密钥KEY,对所述加密指纹模板进行解密,得到所述用户的指纹模板;步骤H.所述无线应用协议网关将获取到的所述第二指纹数据和步骤G得到的所述用户指纹模板进行比对,当比对结果为两者匹配时,确定所述用户身份鉴权通过,将所述应用服务获取请求发送给所述应用服务器;步骤I.所述应用服务器接收用户手机的应用服务请求,根据所述应用服务请求,将所请求的应用服务发送给所述无线应用协议网关;步骤J.所述无线应用协议网关将所述应用服务提供给所述用户手机;所述步骤I中,所述接收用户手机的应用服务请求包括:接收用户手机通过软件平台发送的应用服务请求;所述方法还包括:当所述应用服务请求的消息格式不能被所述应用服务器识别时,所述无线应用协议网关先将所述应用服务请求转换为所述应用服务器能够识别的格式,然后将转换后的所述应用服务请求向所述应用服务器发送;所述步骤A3中包括:A31.无线应用协议网关生成9个变量的加密函数f(u):f(u)=a<sup>T</sup>u mod(p)=(a<sub>0</sub>u<sub>0</sub>+a<sub>1</sub>u<sub>1</sub>+...a<sub>7</sub>u<sub>7</sub>+a<sub>8</sub>u<sub>8</sub>)mod(p),其中,a=[a<sub>0</sub> a<sub>1</sub> … a<sub>8</sub>]<sup>T</sup>,u=[u<sub>0</sub> u<sub>1</sub>…u<sub>8</sub>],mod表示求模运算;A32.将所述加密密钥KEY分成互不重叠的8段,每段16位,分别为s<sub>0</sub>,s<sub>1</sub>,…,s<sub>7</sub>,令a<sub>0</sub>=s<sub>0</sub>,a<sub>1</sub>=s<sub>1</sub>,…,a<sub>7</sub>=s<sub>7</sub>,将a<sub>0</sub>、a<sub>1</sub>、a<sub>2</sub>、a<sub>3</sub>、a<sub>4</sub>、a<sub>5</sub>、a<sub>6</sub>、a<sub>7</sub>联成一个128位的数串KEYC,使得KEYC=a<sub>0</sub>a<sub>1</sub>…a<sub>7</sub>,计算数串KEYC的循环冗余校验码CRC‑16的值C,C是一个16位校验值,令a<sub>8</sub>=C mod(p),其中p为素数65537;A33.获取所述用户第一指纹数据中细节点平面坐标的集合F={(x<sub>0</sub>,y<sub>0</sub>),(x<sub>1</sub>,y<sub>1</sub>),…,(x<sub>N‑1</sub>,y<sub>N‑1</sub>)},其中,(x<sub>i</sub>,y<sub>i</sub>)分别为细节点所在位置的平面坐标,i=0,1,…,N‑1;且N为所述细节点的总数;将每个细节点平面坐标分别映射到[0,255]中,将映射后的平面坐标串联在一起构成数据m<sub>i</sub>,得到集合M={m<sub>0</sub>,m<sub>1</sub>,…,m<sub>N‑1</sub>};A34.将每个m<sub>i</sub>作为16位的随机数产生器的种子,i=0,…,N‑1;顺序产生8个随机数r<sub>i1</sub>,r<sub>i2</sub>,…,r<sub>i8</sub>,得到向量u<sub>i</sub>,即u<sub>i</sub>(m<sub>i</sub>)=[u<sub>i0</sub> u<sub>i1</sub> … u<sub>i8</sub>]=[m<sub>i</sub> r<sub>i1</sub> … r<sub>i8</sub>];A35.将每个u<sub>i</sub>代入所述加密函数f(u),计算相应的加密函数值f(u<sub>i</sub>),得到由所述M和其中元素对应的加密函数值构成的所述用户加密指纹数据的集合G,使得G=((m<sub>0</sub>,f(u<sub>0</sub>(m<sub>0</sub>))),(m<sub>1</sub>,f(u<sub>1</sub>(m<sub>1</sub>))),…,(m<sub>N‑1</sub>,f(u<sub>N‑1</sub>(m<sub>N‑1</sub>))));A36.生成干扰集合C=((c<sub>0</sub>,d<sub>0</sub>),(c<sub>1</sub>,d<sub>1</sub>),…,(c<sub>M‑1</sub>,d<sub>M‑1</sub>)),其中M为集合C的元素个数,c<sub>j</sub>和d<sub>j</sub>都是随机数,c<sub>j</sub>和m<sub>j</sub>的距离大于预设的阈值,j=0,…,M‑1;且d<sub>j</sub>≠f(c<sub>j</sub>);A37.将所述集合G和所述集合C中的元素随机混合,生成安全鉴权数据VL,使得VL={(v<sub>0</sub>,w<sub>0</sub>),(v<sub>1</sub>,w<sub>1</sub>),…,(v<sub>M+N‑1</sub>,w<sub>M+N‑1</sub>)},其中(v<sub>j</sub>,w<sub>j</sub>)表示所述集合G和所述集合C中的元素,j=0,…,M‑1;将所述安全鉴权数据存储在无线应用协议网关;A38.无线应用协议网关将所述加密密钥销毁。
地址 523000 广东省东莞市莞城旗峰路162号中侨大厦B栋1106