技术领域
本发明涉及互联网领域,尤其涉及信息安全技术领域,具体是指一种实现无标识情形下进行移动终端认证处理的方法、系统、处理器及其计算机可读存储介质。
背景技术
移动互联网时代,大多数交易都无需见面,给人们带来便利的同时,也导致传统识别交易者身份的方式被打破,交易风险倍增。当越来越多的事务在网上完成的时候,越来越多的黑、灰产业也就对应地形成了。就像每个人都有独一无二的指纹一样,每一台终端设备也拥有独特的特征。这些独特的属性,在终端设备与外界通讯的过程中都会体现出来。追踪设备通信行为,并用先进的数据模型分析其特征,就能准确识别和关联设备,实现线上欺诈行为的识别和预警,这就是设备指纹技术的原理。自PC互联网时代起,设备识别就是互联网用户追踪的重要手段。传统的设备识别技术主要包括IP地址、cookie及移动互联网特有的设备ID。传统的设备识别技术往往是主动获取终端用户设备甚至隐私信息,同时在跨APP及跨网页时存在技术壁垒。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种满足操作简便、适用范围较为广泛的实现无标识情形下进行移动终端认证处理的方法、系统、处理器及其计算机可读存储介质。
为了实现上述目的,本发明的实现无标识情形下进行移动终端认证处理的方法、系统、处理器及其计算机可读存储介质如下:
该实现无标识情形下进行移动终端认证处理的方法,其主要特点是,所述的方法包括以下步骤:
(1)向移动终端的可信执行环境TEE发送应用标识appid、应用随机数apprnd1和应用加密公钥apppubkey;
(2)可信执行环境TEE检查APP的合法性,如果APP不符合访问控制规则,则可信执行环境TEE拒绝向APP提供设备认证服务功能;否则,继续步骤(3);
(3)可信执行环境TEE对访问规则中设定的与应用认证令牌生成因子appidfactor加密计算生成认证令牌token1,使用应用加密公钥apppubkey对token1加密,生成认证信息密文cipher1,并将该密文返回至APP;
(4)APP将认证信息密文cipher1和应用随机数apprnd1发送至应用服务端APPServer,应用服务端APPServer使用应用解密私钥appprikey对认证信息密文cipher1解密获得token1;
(5)继续步骤(1)获取认证信息密文cipher2;
(6)分别解密token1和token2,通过检查两次解密结果中的应用认证令牌生成因子appidfacetor进行验证。
较佳地,所述的步骤(6)具体包括以下步骤:
(6.1)将认证信息密文cipher2发送至应用服务端APPServer;
(6.2)应用服务端APPServer使用应用解密私钥appprikey对应用服务端cipher2解密获得token2,应用服务端APPServer使用应用随机数apprnd1和apprnd2分别解密token1和token2;
(6.3)检查两次解密结果中的应用认证令牌生成因子appidfacetor是否相同,如果相同,则认证通过;否则认证不通过。
较佳地,所述的步骤(1)前包括以下步骤:
在应用服务端APPServer上生成加密公私钥对,公钥作为安装参数在APP安装时写入APP数据区,私钥安全存储在应用服务端APPServer。
较佳地,所述的步骤(2)的访问控制规则是应用标识appid的白名单,或基于密码算法的认证。
该实现无标识情形下进行移动终端认证处理的系统,其主要特点是,所述的系统包括:
处理器,被配置成执行计算机可执行指令;
存储器,存储一个或多个计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的实现无标识情形下进行移动终端认证处理的方法的步骤。
该用于实现无标识情形下进行移动终端认证处理的处理器,其主要特点是,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的实现无标识情形下进行移动终端认证处理的方法的步骤。
该计算机可读存储介质,其主要特点是,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现上述的实现无标识情形下进行移动终端认证处理的方法的各个步骤。
采用了本发明的实现无标识情形下进行移动终端认证处理的方法、系统、处理器及其计算机可读存储介质,采用密码算法和应用生成的随机数对移动应用运行的移动终端进行认证,不需要移动终端透露本身的设备标识或硬件指纹等隐私信息,就可以由移动应用确认设备的真实性。采用应用公钥加密认证令牌,确保了认证信息的机密性。
附图说明
图1为本发明的实现无标识情形下进行移动终端认证处理的方法的流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该实现无标识情形下进行移动终端认证处理的方法,其中包括以下步骤:
(1)向移动终端的可信执行环境TEE发送应用标识appid、应用随机数apprnd1和应用加密公钥apppubkey;
(2)可信执行环境TEE检查APP的合法性,如果APP不符合访问控制规则,则可信执行环境TEE拒绝向APP提供设备认证服务功能;否则,继续步骤(3);
(3)可信执行环境TEE对访问规则中设定的与应用认证令牌生成因子appidfactor加密计算生成认证令牌token1,使用应用加密公钥apppubkey对token1加密,生成认证信息密文cipher1,并将该密文返回至APP;
(4)APP将认证信息密文cipher1和应用随机数apprnd1发送至应用服务端APPServer,应用服务端APPServer使用应用解密私钥appprikey对认证信息密文cipher1解密获得token1;
(5)继续步骤(1)获取认证信息密文cipher2;
(6)分别解密token1和token2,通过检查两次解密结果中的应用认证令牌生成因子appidfacetor进行验证;
(6.1)将认证信息密文cipher2发送至应用服务端APPServer;
(6.2)应用服务端APPServer使用应用解密私钥appprikey对应用服务端cipher2解密获得token2,应用服务端APPServer使用应用随机数apprnd1和apprnd2分别解密token1和token2;
(6.3)检查两次解密结果中的应用认证令牌生成因子appidfacetor是否相同,如果相同,则认证通过;否则认证不通过。
作为本发明的优选实施方式,所述的步骤(1)前包括以下步骤:
在应用服务端APPServer上生成加密公私钥对,公钥作为安装参数在APP安装时写入APP数据区,私钥安全存储在应用服务端APPServer。
作为本发明的优选实施方式,所述的步骤(2)的访问控制规则是应用标识appid的白名单,或基于密码算法的认证。
作为本发明的优选实施方式,该实现无标识情形下进行移动终端认证处理的系统,其中包括:
处理器,被配置成执行计算机可执行指令;
存储器,存储一个或多个计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的实现无标识情形下进行移动终端认证处理的方法的步骤。
作为本发明的优选实施方式,该用于实现无标识情形下进行移动终端认证处理的处理器,其被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的实现无标识情形下进行移动终端认证处理的方法的步骤。
作为本发明的优选实施方式,该计算机可读存储介质,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现上述的实现无标识情形下进行移动终端认证处理的方法的各个步骤。
本发明的具体实施方式中,随着对个人信息保护的安全要求越来越严格,对移动终端标识隐私问题越来越重视,需要发明一种无标识的移动终端认证方法,既能满足移动终端上互联网应用对终端设备的真实性、同一性认证需求,又可以不产生、泄露移动终端设备关联的设备标识。
为了实现上述目的,本发明的无需标识的移动终端设备认证方法和系统,包括移动终端上的安全认证组件(一般实现在移动终端的可信执行环境(TEE)中)以及移动应用(包括安装在移动终端上的应用客户端APP以及应用服务端APPServer)。该设备认证方法操作步骤如下:
(1)移动应用客户端APP在安装过程中向移动终端的可信执行环境TEE发送应用标识appid、应用随机数apprnd1和应用加密公钥apppubkey。
(2)TEE根据预设的或动态添加的访问控制规则检查APP的合法性。如果APP不符合访问控制规则(例如APP签名不正确等),则TEE拒绝向APP提供设备认证服务功能;否则进行步骤3)处理。
(3)TEE使用apprnd1对访问规则中设定的与appid一一对应的应用认证令牌生成因子appidfactor加密计算生成认证令牌token1,再使用apppubkey对token1加密,生成认证信息密文cipher1并且该密文返回给APP。
(4)APP将cipher1和apprnd1发送到APPServer,APPServer使用应用解密私钥(appprikey)对cipher1解密获得token1,连同apprnd1一起存储。
(5)移动应用需要认证移动终端时,按照步骤1)到3)执行获得认证信息密文cipher2,其中计算token2使用新的随机数apprnd2。
(6)APP将cipher2发送到APPServer,APPServer使用应用解密私钥(appprikey)对cipher2解密获得token2,APPServer使用apprnd1和apprnd2分别解密token1和token2,检查两次解密结果中的appidfacetor是否相同。如果两次解密获得的appidfacetor相同,则认证通过;否则认证不通过。
步骤(1)之前应先在APPServer上生成加密公私钥对,公钥作为安装参数在APP安装时写入APP数据区,私钥安全存储在APPServer。
步骤(2)中的访问控制规则可以是appid的白名单,也可以是基于密码算法的认证。访问控制规则中至少包含appid和appidfactor两个信息。
步骤(3)中应确保cipher1来源的真实性。
下面结合具体实施例(图1)来进行进一步的描述:
(1)移动应用客户端APP在安装过程中向移动终端的可信执行环境TEE发送应用标识appid、应用随机数apprnd1和应用加密公钥apppubkey。其中应用标识appid由统一的应用管理机构提供,确保每个移动应用的appid具有唯一性。应用加密公私钥对由移动应用服务端产生,公钥作为安装参数在APP安装时写入APP数据区,私钥安全存储在APPServer。
(2)TEE根据预设的或动态添加的访问控制规则检查APP的合法性。访问控制规则中至少规定可以访问设备认证服务的移动应用appid以及与之对应的应用令牌生成因子appidfactor,还可以包括访问认证密钥。如果APP不符合访问控制规则(例如APP签名不正确等),则TEE拒绝向APP提供设备认证服务功能;否则进行步骤3)处理。
(3)APP与TEE间建立通信安全通道,不失一般性,可以由TEE对所有发送给APP的数据进行数字签名,由APP使用TEE的密钥对签名进行验证,确保数据的真实性和完整性。
(4)TEE使用apprnd1对访问规则中设定的应用令牌生成因子appidfactor加密计算生成认证令牌token1,计算方式如下:
token1=ENC(appidfactor,apprnd1)
其中ENC()为对称加密算法,例如SM4算法。第一个参数为待加密数据,第二个参数为加密密钥,输出为加密密文。
再使用apppubkey对token1加密,生成认证信息密文cipher1并且该密文返回给APP,cipher1计算方式如下:
cipher1=ASYENC(token1,apppubkey)
其中ASYENC()为非对称加密算法,例如SM2算法。第一个参数为待加密数据,第二个参数为加密公钥,输出为加密密文。
(5)APP将cipher1和apprnd1发送到APPServer,APPServer使用应用解密私钥(appprikey)对cipher1解密获得token1,连同apprnd1一起存储。解密计算方式如下:
token1=ASYDEC(cipher1,appprikey)
其中ASYDEC()为非对称解密算法,例如SM2算法。第一个参数为待解密数据,第二个参数为解密私钥,输出为明文。
(6)移动应用需要认证移动终端时,按照步骤1)到3)执行获得认证信息密文cipher2,其中计算token2使用新的随机数apprnd2。
(7)APP将cipher2发送到APPServer,APPServer使用应用解密私钥(appprikey)对cipher2解密获得token2,APPServer使用apprnd1和apprnd2分别解密token1和token2,检查解密结果是否相同,解密计算方式如下:
appidfactor=DEC(token,apprnd)
其中DEC()为对称解密算法,例如SM4算法。第一个参数为待解密数据,第二个参数为解密密钥,输出为明文。
如果从token1中解密出来的appidfacetor和从token2中解密出来的appidfacetor相同,则认证通过;否则认证不通过。
本实施例的具体实现方案可以参见上述实施例中的相关说明,此处不再赘述。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
采用了本发明的实现无标识情形下进行移动终端认证处理的方法、系统、处理器及其计算机可读存储介质,采用密码算法和应用生成的随机数对移动应用运行的移动终端进行认证,不需要移动终端透露本身的设备标识或硬件指纹等隐私信息,就可以由移动应用确认设备的真实性。采用应用公钥加密认证令牌,确保了认证信息的机密性。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
机译: 用于操作系统的计算机实现的方法,非瞬态计算机可读存储介质,被编程为对数字图像内的对象进行颜色偏移的计算机系统,用于操作反射镜显示系统的方法以及用于操作监视器,照相机和处理器的计算机化系统
机译: 用于在设备内处理图像的方法,图像处理器,用于处理图像的设备,服务器,用于处理图像的方法以及计算机可读存储介质,该计算机可读存储介质存储用于实现用于处理图像的方法的程序的程序。
机译: 由处理器实现的用于安全检测装置进行检测的方法;安全;计算机可读而不是临时的存储介质以及计算机植入的系统;用于安全性检测