基于移动终端的身份认证方法及相关装置
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于移动终端的身份认证方法及相关装置。
背景技术
泛在电力物联网背景下,基于手机卡无线连接的电力终端接入越来越多,给设备的安全认证带了很大的安全隐患。国密SM9算法属于基于身份的加密IBC(Identity BasedCryptography)方式之一,能够将用户的身份信息作为公钥,无需数字证书绑定,非常适用于泛在电力物联网多场景下的身份认证。所述IBC基于传统的PKI(公开密钥基础设施)基础上发展而来,主要简化了具体安全应用在大量数字证书中的交换问题,使安全应用更加易于部署和使用。IBC密码技术使用的是非对称密码体系,加密与解密使用两套不同的密钥,每个人的公钥就是他的身份标识,比如email地址,电话号码等。而私钥则以数据的形式由用户自己掌握,密钥管理相当简单,可以很方便的对数据信息进行加解密。IBC的基础技术包括数据加密、数字签名、数据完整性机制、数字信封,用户识别,用户认证等。
在国密SM9机制中,密钥生成中心KGC(Key Generation Center)作为公钥和私钥的管理中心,用户的ID即为公钥,再根据用户的身份信息ID(如手机号、名称、e-mail、身份证号等)生成用户的私钥,能够非常简单地实现用户身份认证。
但是由于私钥在用户侧管理,存在较大的被窃取隐患,万一私钥泄露,将对设备的接入验证带来很大的威胁。
发明内容
有鉴于此,本发明提供了一种基于移动终端的身份认证方法及相关装置,用以解决私钥在用户侧管理,存在较大的被窃取隐患,万一私钥泄露,将对设备的接入验证带来很大的威胁的问题。具体方案如下:
一种基于移动终端的身份认证方法,待认证用户的移动终端预先将所述待认证用户的标识信息发送给认证模块进行认证,得到所述待认证用户的私钥,所述移动终端接收所述私钥,所述移动终端将所述私钥发送给所述移动终端的私钥存储模块,其中,所述标识信息包括:所述待认证用户的手机号和所述移动终端的编号,所述手机号和所述编号存在对应关系,所述认证方法包括:
所述移动终端向资源服务器发送访问请求,以令所述资源服务器向所述移动终端发送认证请求,所述移动终端接收所述认证请求,对所述标识信息进行签名,得到第一密文;
所述移动终端将所述第一密文发送给所述认证模块,以令所述认证模块对所述第一密文进行解密,以得到所述手机号,其中,所述手机号属于所述移动终端,以令所述认证模块向所述移动终端发送验证码,所述移动终端接收所述验证码,对所述验证码进行签名,得到第二密文;
所述移动终端将所述第二密文发送给所述认证模块,以令所述认证模块对所述第二密文进行认证。
上述的方法,可选的,对所述标识信息进行签名,得到第一密文,包括:
依据身份认证框架机制访问所述私钥存储模块;
在验证通过的情况下,依据所述私钥对所述标识信息进行签名,得到第一密文。
上述的方法,可选的,对所述验证码进行签名,得到第二密文,包括:
依据身份认证框架机制访问所述私钥存储模块;
在验证通过的情况下,依据所述私钥对所述验证码进行签名,得到第二密文。
上述的方法,可选的,还包括:
在所述移动终端接收到对所述第二密文认证通过指令的情况下,令授权服务器对所述待认证用户进行授权。
一种基于移动终端的身份认证装置,待认证用户的移动终端预先将所述待认证用户的标识信息发送给认证模块进行认证,得到所述待认证用户的私钥,所述移动终端接收所述私钥,所述移动终端将所述私钥发送给所述移动终端的私钥存储模块,其中,所述标识信息包括:所述待认证用户的手机号和所述移动终端的编号,所述手机号和所述编号存在对应关系,所述认证装置包括:
第一发送和签名模块,用于所述移动终端向资源服务器发送访问请求,以令所述资源服务器向所述移动终端发送认证请求,所述移动终端接收所述认证请求,对所述标识信息进行签名,得到第一密文;
第二发送和签名模块,用于所述移动终端将所述第一密文发送给所述认证模块,以令所述认证模块对所述第一密文进行解密,得到所述手机号,其中,所述手机号属于所述移动终端,以令所述认证模块向所述移动终端发送验证码,所述移动终端接收所述验证码,对所述验证码进行签名,得到第二密文;
发送和认证模块,用于所述移动终端将所述第二密文发送给所述认证模块,以令所述认证模块对所述第二密文进行认证。
上述的装置,可选的,所述第一发送和签名模块包括:
第一访问单元,用于依据身份认证框架机制访问所述私钥存储模块;
第一签名单元,用于在验证通过的情况下,依据所述私钥对所述标识信息进行签名,得到第一密文。
上述的装置,可选的,所述第二发送和签名模块包括:
第二访问单元,用于依据身份认证框架机制访问所述私钥存储模块;
第二签名单元,用于在验证通过的情况下,依据所述私钥对所述验证码进行签名,得到第二密文。
上述的装置,可选的,还包括:
授权模块,用于在所述移动终端接收到所述第二密文认证通过指令的情况下,令授权服务器对所述待认证用户进行授权。
一种移动终端,包括上述的身份认证装置。
一种基于移动终端的身份认证系统,包括:移动终端、认证模块、资源服务器和授权服务器,其中,待认证用户的移动终端预先将所述待认证用户的标识信息发送给认证模块进行认证,得到所述待认证用户的私钥,所述移动终端接收所述私钥,所述移动终端将所述私钥发送给所述移动终端的私钥存储模块,所述标识信息包括:所述待认证用户的手机号和所述移动终端的编号,所述手机号和所述编号存在对应关系,其中,
所述待认证用户通过所述移动终端向所述资源服务器发送访问请求,所述资源服务器接收所述访问请求后,向所述移动终端发送认证请求;
所述移动终端接收到所述认证请求时,对所述标识信息进行签名,得到第一密文,将所述第一密文发送给所述认证模块;
所述认证模块对第一密文进行解密,得到所述手机号,其中,所述手机号属于所述移动终端,所述认证模块向所述移动终端发送验证码;
所述移动终端对所述验证码进行签名,得到第二密文,将所述第二密文发送给所述认证模块;
所述认证模块接收到所述第二密文后,对所述第二密文进行解密,得到解密后的验证码,当解密后的验证码与所述认证模块向所述手机号发送验证码相同时,向所述移动终端发送所述第二密文认证通过指令;
所述移动终端接收到所述第二密文认证通过指令时,令所述资源服务器向所述授权服务器发送访问授权请求;
所述授权服务器接收所述访问授权请求,依据所述访问授权请求查询所述待认证用户的访问权限,依据所述访问权限,为所述待认证用户发送访问令牌;
将所述访问令牌发送给所述资源服务器,所述资源服务器将资源发送给所述移动终端中的第三方应用。
与现有技术相比,本发明包括以下优点:
本发明公开了一种基于移动终端的身份认证方法,预先将待认证用户的私钥发送给移动终端的私钥存储模块,包括:移动终端向资源服务器发送访问请求,以令资源服务器向移动终端发送认证请求,移动终端接收认证请求,对标识信息进行签名,得到第一密文;移动终端将第一密文发送给认证模块,以令认证模块对所述第一密文进行解密,以令认证模块向待认证用户的手机号发送验证码,移动终端接收验证码,对验证码进行签名,得到第二密文;移动终端将第二密文发送给认证模块,以令认证模块对第二密文进行认证。上述方法,私钥在移动终端和认证模块中,向手机号发送验证码,采用私钥对验证码签名,来验证私钥的安全性,避免了私钥泄露对接入验证带来的威胁。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种基于移动终端的身份认证方法流程图;
图2为本申请实施例公开的一种基于移动终端的身份认证装置结构框图;
图3为本申请公开的一种基于移动终端的身份认证系统的执行流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明公开了一种基于移动终端的身份认证方法,所述方法应用在对用户身份的认证过程中,现有技术中,基于身份的加密(Identity Based Cryptography, IBC)采用国密SM9算法,加密过程中将用户的身份信息作为公钥,无需数字证书绑定,非常适用于泛在电力物联网多场景下的身份认证。在国密SM9机制中,KGC(Key Generation Center)作为公钥和私钥的管理中心,用户的ID即为公钥,再根据用户的身份信息ID(如手机号、名称、e-mail、身份证号等)生成用户的私钥,能够非常简单地实现用户身份认证。但是由于私钥在用户侧管理,存在较大的被窃取隐患,万一私钥泄露,将对设备的接入验证带来很大的威胁。因此,本发明公开了一种基于移动终端的身份认证方法用以解决上述问题,所述认证方法中,待认证用户的移动终端预先将所述待认证用户的标识信息发送给认证模块进行认证,得到所述待认证用户的私钥,所述移动终端接收所述私钥,所述移动终端将所述私钥发送给所述移动终端的私钥存储模块,其中,所述标识信息包括:所述待认证用户的手机号和所述移动终端的编号,所述手机号和所述编号存在对应关系,所述认证方法的执行流程如图1所示,包括步骤:
S101、所述移动终端向资源服务器发送访问请求,以令所述资源服务器向所述移动终端发送认证请求,所述移动终端接收所述认证请求,对所述标识信息进行签名,得到第一密文;
本发明实施例中,所述待认证用户向通过所述移动终端向所述资源服务器请求资源时,会向所述资源服务器发送访问请求,所述资源服务器在接收到所述访问请求时,向所述移动终端发送对所述待认证用户的认证请求,当所述移动终端接收到所述认证请求时,利用通用身份认证框架UAF(Universal Authentication Framework)访问所述移动终端的私钥存储模块,其中,所述UAF是由FIDO联盟制定的一套开放认证协议,实现用户“无口令”的强身份认证。UAF在注册时将用户在服务器端的账户和UAF设备绑定在一起,随后在认证过程中,用户无需输入口令,只需要在UAF设备中通过生物特征识别或简单的PIN即可完成认证,实现账户登录。访问的方式可以为指纹识别、人脸识别或者声纹识别等等,本发明实施例中,对具体的识别方式不进行限定,当识别通过时,访问所述私钥存储模块,获取所述私钥,依据所述私钥对所述标识信息进行签名,得到第一密文。
S102、所述移动终端将所述第一密文发送给所述认证模块,以令所述认证模块对所述第一密文进行解密,得到所述手机号,其中,所述手机号属于所述移动终端,以令所述认证模块向所述移动终端发送验证码,所述移动终端接收所述验证码,对所述验证码进行签名,得到第二密文;
本发明实施例中,所述移动终端将所述第一密文发送给所述认证模块,令所述认证模块对所述第一密文采用与所述私钥对应的公钥进行解密,得到所述第一明文,获取所述第一明文中的手机号,依据所述标识信息中手机号和编号的对应关系,确定移动终端,向所述手机号所属移动终端发送验证码,若所述移动终端接收到所述验证码时,采用UAF机制对所述验证码进行签名,签名过程与所述标识信息的签名过程相同,在此不再赘述,得到第二密文,若所述移动终端未接收到所述验证码,说明所述移动终端的加密过程或者所述认证模块对所述第一密文的解密过程存在问题,放弃本次认证,重新执行S101。
S103、所述移动终端将所述第二密文发送给所述认证模块,以令所述认证模块对所述第二密文进行认证。
本发明实施例中,所述移动终端将所述第二密文发送给认证模块,获取与所述私钥对应的公钥进行解密,得到解密后的验证码,判断所述解密后的验证码与所述认证模块向所述手机号发送验证码是否一致,若一致,则所述待认证用户验证通过,反之,所述待认证用户验证不通过。
本发明公开了一种基于移动终端的身份认证方法,预先将待认证用户的私钥发送给移动终端的私钥存储模块,包括:移动终端向资源服务器发送访问请求,以令资源服务器向移动终端发送认证请求,移动终端接收认证请求,对标识信息进行签名,得到第一密文;移动终端将第一密文发送给认证模块,以令认证模块对所述第一密文进行解密,以令认证模块向待认证用户的手机号发送验证码,移动终端接收验证码,对验证码进行签名,得到第二密文;移动终端将第二密文发送给认证模块,以令认证模块对第二密文进行认证。上述方法,私钥在移动终端和认证模块中,向手机号发送验证码,采用私钥对验证码签名,来验证私钥的安全性,避免了私钥泄露对接入验证带来的威胁。
本发明实施例中,进一步的,由于OAuth是开放的授权标准,允许第三方应用通过授权服务器提供商提供的访问令牌获取资源,无需用户名和密码,具有简单、开放、安全的特点,在所述移动终端接收到所述第二密文认证通过指令的情况下,令授权服务器对所述待认证用户进行授权。
当所述授权服务器接收到所述访问授权请求时,依据所述标识信息,查找与其对应的访问权限,其中,标识信息与访问权限的对应关系是预先确定的,确定的原则可以依据经验或者具体的情况,本发明实施例中对具体的确定过程不进行限定,所述访问权限包括:查询、修改等。依据所述访问权限确定所述待认证用户的访问令牌,将所述访问令牌发送给所述资源服务器,所述资源服务器依据所述访问令牌,确定所述待认证用户对相关资源的访问许可,将所述相关资源发送给所述移动终端的第三方应用,完成对所述待认证用户的授权。
本发明基于UAF和国密SM9算法提出一种基于移动终端的身份认证方法,结合手机号码和移动终端编号构成标识信息,通过国密SM9机制,实现在多场景下通过认证模块认证身份,提升泛在物联网环境下身份认证的安全和效率。
基于上述的一种基于移动终端的身份认证方法,本发明实施例中还提供了一种基于移动终端的身份认证装置,待认证用户的移动终端预先将所述待认证用户的标识信息发送给认证模块进行认证,得到所述待认证用户的私钥,所述移动终端接收所述私钥,所述移动终端将所述私钥发送给所述移动终端的私钥存储模块,其中,所述标识信息包括:所述待认证用户的手机号和所述移动终端的编号,所述手机号和所述编号存在对应关系,所述认证装置的结构框图如图2所示,包括:
第一发送和签名模块201、第二发送和签名模块202和发送和认证模块203。
其中,
所述第一发送和签名模块201,用于所述移动终端向资源服务器发送访问请求,以令所述资源服务器向所述移动终端发送认证请求,所述移动终端接收所述认证请求,对所述标识信息进行签名,得到第一密文;
所述第二发送和签名模块202,用于所述移动终端将所述第一密文发送给所述认证模块,以令所述认证模块对所述第一密文进行解密,得到所述手机号,其中,所述手机号属于所述移动终端,以令所述认证模块向所述移动终端发送验证码,所述移动终端接收所述验证码,对所述验证码进行签名,得到第二密文;
所述发送和认证模块203,用于所述移动终端将所述第二密文发送给所述认证模块,以令所述认证模块对所述第二密文进行认证。
本发明公开了一种基于移动终端的身份认证装置,预先将待认证用户的私钥发送给移动终端的私钥存储模块,包括:用于移动终端向资源服务器发送访问请求,以令资源服务器向移动终端发送认证请求,移动终端接收认证请求,对标识信息进行签名,得到第一密文;用于移动终端将第一密文发送给认证模块,以令认证模块对所述第一密文进行解密,以令认证模块向待认证用户的手机号发送验证码,移动终端接收验证码,对验证码进行签名,得到第二密文;用于移动终端将第二密文发送给认证模块,以令认证模块对第二密文进行认证。上述的装置,私钥在移动终端和认证模块中,向手机号发送验证码,采用私钥对验证码签名,来验证私钥的安全性,避免了私钥泄露对接入验证带来的威胁。
本发明实施例中,所述第一发送和签名模块201包括:
第一访问单元和第一签名单元。
其中,
所述第一访问单元,用于依据身份认证框架机制访问所述私钥存储模块;
所述第一签名单元,用于在验证通过的情况下,依据所述私钥对所述标识信息进行签名,得到第一密文。
本发明实施例中所述第二发送和签名模块202包括:
第二访问单元和第二签名单元。
其中,
所述第二访问单元,用于依据身份认证框架机制访问所述私钥存储模块;
所述第二签名单元,用于在验证通过的情况下,依据所述私钥对所述验证码进行签名,得到第二密文。
本发明实施例中,所述装置还包括:授权模块。
其中,
所述授权模块,用于在所述移动终端接收到所述第二密文认证通过指令的情况下,令授权服务器对所述待认证用户进行授权。
本发明实施例中,所述授权模块属于所述资源服务器,用于在所述移动终端接收到所述第二密文认证通过指令的情况下,令授权服务器对所述待认证用户进行授权。
基于上述的身份认证装置,本发明实施例中还提供了一种移动终端,所述移动终端包含所述身份认证装置,其中,所述移动终端用于执行上述的身份认证方法。
基于上述的移动终端,本发明实施例中还提供了一种基于移动终端的身份认证系统,所述系统包括:移动终端、认证模块、资源服务器和授权服务器,所述移动终端预先将所述待认证用户的标识信息发送给所述认证模块进行认证,得到所述待认证用户的私钥,所述认证模块充当国密SM9机制中密钥生成中心(Key Generation Center, KGC)的角色,将所述私钥发送给所述移动终端的私钥存储模块,完成所述待认证用户的注册,上述的注册过程只需执行一次。所述标识信息包括:所述待认证用户的手机号和所述移动终端的编号,所述手机号和所述编号存在对应关系,其中,
所述待认证用户通过所述移动终端向所述资源服务器发送访问请求,所述资源服务器接收所述访问请求后,向所述移动终端发送认证请求;
所述移动终端接收到所述认证请求时,对所述标识信息进行签名,得到第一密文,将所述第一密文发送给所述认证模块,
所述认证模块对第一密文进行解密,得到所述手机号,其中,所述手机号属于所述移动终端,所述认证模块向所述移动终端发送验证码;
所述移动终端对所述验证码进行签名,得到第二密文,将所述第二密文发送给所述认证模块;
所述认证模块接收到所述第二密文后,对所述第二密文进行解密,得到解密后的验证码,当解密后的验证码与所述认证模块向所述手机号发送验证码相同时,向所述移动终端发送所述第二密文认证通过指令;
所述移动终端接收到所述第二密文认证通过指令时,令所述资源服务器向所述授权服务器发送访问授权请求;
所述授权服务器接收所述访问授权请求,依据所述访问授权请求查询所述待认证用户的访问权限,依据所述访问权限,为所述待认证用户发送访问令牌;
将所述访问令牌发送给所述资源服务器,所述资源服务器将资源发送给所述移动终端中的第三方应用。
本发明实施例中,基于上述认证系统的执行流程如图3所示,所述待认证用户通过移动终端向所述资源服务器发送访问请求,资源服务器接收访问请求后,向所述移动终端发送认证请求,移动终端接收到认证请求时,对所述标识信息进行签名,得到第一密文;将第一密文发送给认证模块,认证模块对第一密文进行解密,得到手机号,手机号属于移动终端,认证模块向移动终端发送验证码,移动终端对所述验证码进行签名,得到第二密文,将第二密文发送给认证模块,认证模块接收到第二密文后,对所述第二密文进行解密,得到解密后的验证码,当解密后的验证码与认证模块向所述手机号发送验证码相同时,向所述移动终端发送所述第二密文认证通过指令;所述移动终端接收到所述第二密文认证通过指令时,令资源服务器向所述授权服务器发送访问授权请求,其中,所述资源服务器是通过其中的授权模块向所述授权服务器发送访问授权请求的,所述认证模块判断解密后的验证码与所述述认证模块向所述手机号发送验证码是否相同,若相同时,令资源服务器向授权服务器发送访问授权请求,依据所述访问授权请求查询待认证用户的访问权限,依据访问权限确定待认证用户的访问令牌,将访问令牌发送给资源服务器,资源服务器依据所述访问令牌确所述待认证用户对相关资源的访问许可,将所述相关资源发送给所述移动终端的第三方应用。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种基于移动终端的身份认证方法及相关装置。进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。