首页> 中国专利> 基于可信认证进行身份认证的方法、装置及相关产品

基于可信认证进行身份认证的方法、装置及相关产品

摘要

本申请实施例提供了一种基于可信认证进行身份认证的方法、装置及相关产品。基于可信认证进行身份认证的方法包括:将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证。从而使得用户身份数据不容易被篡改或者泄露,降低了安全隐患,既保证了身份验证的安全性,又使得验证过程较为简洁。

著录项

  • 公开/公告号CN112597458A

    专利类型发明专利

  • 公开/公告日2021-04-02

    原文格式PDF

  • 申请/专利权人 北京八分量信息科技有限公司;

    申请/专利号CN202011533184.X

  • 申请日2020-12-22

  • 分类号G06F21/31(20130101);G06F21/60(20130101);G06F9/455(20060101);

  • 代理机构11545 北京合智同创知识产权代理有限公司;

  • 代理人李杰

  • 地址 100089 北京市海淀区海淀北二街8号9层1001

  • 入库时间 2023-06-19 10:27:30

说明书

技术领域

本申请涉及安全分析技术领域,特别是涉及一种基于可信认证进行身份认证的方法、装置及相关产品。

背景技术

互联网(社交、搜索、电商)、移动互联网(微博)、物联网(传感器,智慧地球)、车联网、GPS、医学影像、安全监控、金融(银行、股市、保险)、电信(通话、短信)的应用大都要依赖与APP程序与用户进行交互,其过程都需要用户注册,后续使用时登陆APP,对用户身份信息进行认证。

但是,上述认证过程中,用户身份数据容易被篡改或者泄露而导致安全隐患。另外,在上述认证过程中,为了保证安全,会提供多级认证,由此导致认证的过程繁杂。

发明内容

基于上述问题,本申请实施例提供了一种基于可信认证进行身份认证的方法、装置及相关产品。

本申请实施例公开了如下技术方案:

第一方面,本申请实施例提供了一种基于可信认证进行身份认证的方法,包括:

将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;

利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;

对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;

生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证。

可选地,在一个具体地实施方式中,生成针对待加载对象的密钥凭证,包括:根据密钥平台的平台密钥、CPU机器密钥、以及分配给用户的密钥生成针对待加载对象的密钥凭证。

可选地,在一个具体地实施方式中,内容容器具有可信执行环境TEE,以对可信认证通过的解密结果进行硬件隔离。

可选地,在一个具体地实施方式中,待加载对象还包括应用程序的程序代码,应用程序在用户身份信息认证通过后可被启动;

对应地,将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,包括:将待加密的用户身份数据以及应用程序的代码待加载对象加载到loader加载器中,并生成针对待加密的用户身份数据以及应用程序的代码的统一密钥凭证。

可选地,在一个具体地实施方式中,生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证,包括:生成针对内容容器的密钥凭证,并将内容容器的密钥凭证进行加密后存储到内容容器对应的线程控制结构中以通过对内容容器对用户身份信息进行认证。

第二方面,本申请实施例提供了一种基于可信认证进行身份认证的装置,包括:

加载单元,用于将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;

读取单元,用于利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;

可信单元,用于对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;

认证单元,用于生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证。

可选地,在一个具体地实施方式中,生成针对待加载对象的密钥凭证,包括:根据密钥平台的平台密钥、CPU机器密钥、以及分配给用户的密钥生成针对待加载对象的密钥凭证。

可选地,在一个具体地实施方式中,内容容器具有可信执行环境TEE,以对可信认证通过的解密结果进行硬件隔离。

第三方面,本申请实施例提供了一种电子设备,包括:存储器以及处理器,存储器上存储有计算机可执行指令,处理器用于执行计算机可执行指令以执行如下步骤:

将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;

利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;

对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;

生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证。

第四方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机可执行指令,计算机可执行指令被执行时实施第一方面基于可信认证进行身份认证的方法。

本申请实施例的技术方案中,通过将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证,从而使得用户身份数据不容易被篡改或者泄露,降低了安全隐患,既保证了身份验证的安全性,又使得验证过程较为简洁。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例一中基于可信认证进行身份认证的方法流程示意图;

图2为本申请实施例二中基于可信认证进行身份认证的装置示意图;

图3为本申请实施例三中电子设备的结构示意图;

图4为本申请实施例四中计算机存储介质示意图;

图5为本申请实施例五中电子设备的硬件结构示意图。

具体实施方式

实施本申请实施例的任一技术方案必不一定需要同时达到以上的所有优点。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

请参阅图1,本申请实施例提供了一种基于可信认证进行身份认证的方法,包括:

S101:将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;

具体地,对待加载对象进行的加密处理可以为散列处理,散列处理可以为通过散列函数(Hashfunction)对待加载对象进行加密处理,对应的得到的加密的待加载对象可以为二进制序列。用户身份数据可以包括用户的ID,出生日期,住址,手机号,邮箱等,当然,这里只是举例性说明,并不代表本申请局限于此。

可选地,在一个具体的实施方式中,可以以镜像的方式将加密的待加载对象加载到loader加载器。

具体地,可以通过调用CPU指令将加密的待加载对象加载到loader加载器。

可选地,在一个具体地实施方式中,生成针对待加载对象的密钥凭证,包括:根据密钥平台的平台密钥、CPU机器密钥、以及分配给用户的密钥生成针对待加载对象的密钥凭证。

具体地,可以使用随机函数、椭圆算法、RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic CurveCryptography,ECC)等生成密钥凭证,如此,可以保证生成的密钥凭证的唯一性,从而保证身份认证的安全性。

另外,秘钥平台的平台秘钥、CPU机器秘钥、以及分配给用户的秘钥可以根据不同的随机函数生成,本申请对此不做限制。对秘钥平台的平台秘钥、CPU机器秘钥、以及分配给用户的秘钥进行散列运算得到秘钥凭证,具体地,该密钥凭证可以是字符凭证,从而便于识别。

可选地,在一个具体地实施方式中,待加载对象还包括应用程序的程序代码,应用程序在用户身份信息认证通过后可被启动;

对应地,将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,包括:将待加密的用户身份数据以及应用程序的代码待加载对象加载到loader加载器中,并生成针对待加密的用户身份数据以及应用程序的代码的统一密钥凭证。

详细来说,可以从代码角度和数据角度进行合法性规定,将代码和用户身份认证数据都加载到加载器中,保护其不受恶意软件的攻击,使特权或者非特权的软件都无法访问,也就是说,一旦代码和数据位于加载器中,即便操作系统或者和VMM(Hypervisor)也无法影响加载器里面的代码和数据。如此,可以保证代码和用户身份认证数据的安全性,从而保证了身份认证过程的安全性和可靠性。

S102:利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;

具体地,可以按照与加密时使用的算法相对应的解密算法进行解密。

S103:对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;

详细来说,可信认证可以为在未修改过的Hadoop上,利用用户编写的Map函数和Reduc函数实现对解密结果进行快速的可信认证。通过Map(映射)函数把解密结果映射成一组键值对,通过Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组,从而完成快速的可信认证。

另外,可以在可信认证通过后颁发可信令牌,通过判断解密结果是否被颁发了可信令牌筛选出通过可信认证的解密结果,并把可信认证通过的解密结果加载到受保护的内容容器中。

可选地,在一个具体地实施方式中,内容容器具有可信执行环境TEE,以对可信认证通过的解密结果进行硬件隔离。

具体地,内容容器可以为并行内容容器,可以通过并行内容容器同时对多个不同的用户身份信息进行认证,从而提高身份认证的效率。由于TEE(Trusted ExecutionEnvironment,可信执行环境)与设备上的Rich OS(通常是Android等)并存的运行环境,并且给Rich OS提供安全服务。它具有其自身的执行空间,比Rich OS的安全级别更高。通过可信执行环境TEE对可信认证通过的解密结果进行硬件隔离,可以保证解密结果的安全性,从而保证了身份认证过程的安全性和可靠性。

S104:生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证。

可选地,在一个具体地实施方式中,生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证,包括:生成针对内容容器的密钥凭证,并将内容容器的密钥凭证进行加密后存储到内容容器对应的线程控制结构中以通过对内容容器对用户身份信息进行认证。

详细来说,可以使用随机函数、椭圆算法、RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic CurveCryptography,ECC)等针对内容容器的密钥凭证,如此,可以保证生成的密钥凭证的唯一性,从而保证身份认证的安全性。另外对内容容器的密钥凭证进行加密处理具体可以为对内容容器的密钥凭证进行散列处理,本申请对此不做限制。

可选地,在一个具体地实施方式中,将内容容器的秘钥凭证进行加密后存储到内容容器对应的线程控制结构中,包括:将内容容器的秘钥凭证作为内容容器的标示,将内容容器的标示进行加密后存储到内容容器对应的线程控制结构中。

如此,可以保证秘钥凭证的机密性和完整性。

可选地,在一个具体地实施方式中,内容容器设置在系统内存的被保护物理内存区域中并对被保护物理内存区域进行锁定,以使得解密结果存储在被保护物理内存区域且不可被内容容器外的请求访问。

具体地,可以将外部的访问请求视为引用了不存在的内存,使得外部的实体(直接存储器访问、图像引擎等)无法访问,只有内容容器中内实现数据的访问,保证了身份验证过程的安全性。

可选地,在一个具体地实施方式中,被保护物理内存区域以页面为单位进行管理,为每个页面分配一个虚拟地址和一个物理地址;一个页面对应一个容器页面缓存表项,容器页面缓存表项中包括访问页面的地址映射关系。如此,提供了双重保护机制:页面保护机制以及地址映射保护机制,进一步增强了数据访问的安全性,保证了身份认证时使用的数据是尽可能可信的,是未被篡改或者是非法的。

可选地,在一个具体地实施方式中,通过配置的页面未命中处理模块查询容器页面缓存表项来确定访问页面的地址映射关系,以基于地址映射关系将访问虚拟地址的请求映射到访问物理地址。如此,可以实现访问数据时,允许投机式且乱序地发射读存和访存操作,确保读存与访存操作在退役时有正确的数据,从而保证了个数据访问的速度和准确度。

另外,将虚拟地址和物理地址限定在有效范围内,从而有效地将解密结果放到一个独立的区域中,并且对该区域中数据的读写访问都将进行地址的正确性检查,只有通过检查,才能真正访问到解密结果。

实施例二

请参阅图2,本申请实施例提供了一种基于可信认证进行身份认证的装置20,包括:

加载单元201,用于将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;

具体地,对待加载对象进行的加密处理可以为散列处理,散列处理可以为通过散列函数(Hashfunction)对待加载对象进行加密处理,对应的得到的加密的待加载对象可以为二进制序列。用户身份数据可以包括用户的ID,出生日期,住址,手机号,邮箱等,当然,这里只是举例性说明,并不代表本申请局限于此。

可选地,在一个具体的实施方式中,可以以镜像的方式将加密的待加载对象加载到loader加载器。

具体地,可以通过调用CPU指令将加密的待加载对象加载到loader加载器。

可选地,在一个具体地实施方式中,生成针对待加载对象的密钥凭证,包括:根据密钥平台的平台密钥、CPU机器密钥、以及分配给用户的密钥生成针对待加载对象的密钥凭证。

具体地,可以使用随机函数、椭圆算法、RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic CurveCryptography,ECC)等生成秘钥凭证,如此,可以保证生成的密钥凭证的唯一性,从而保证身份认证的安全性。

另外,秘钥平台的平台秘钥、CPU机器秘钥、以及分配给用户的秘钥可以根据不同的随机函数生成,本申请对此不做限制。对秘钥平台的平台秘钥、CPU机器秘钥、以及分配给用户的秘钥进行散列运算得到秘钥凭证,具体地,该密钥凭证可以是字符凭证,从而便于识别。

可选地,在一个具体地实施方式中,待加载对象还包括应用程序的程序代码,应用程序在用户身份信息认证通过后可被启动;

对应地,将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,包括:将待加密的用户身份数据以及应用程序的代码待加载对象加载到loader加载器中,并生成针对待加密的用户身份数据以及应用程序的代码的统一密钥凭证。

详细来说,可以从代码角度和数据角度进行合法性规定,将代码和用户身份认证数据都加载到加载器中,保护其不受恶意软件的攻击,使特权或者非特权的软件都无法访问,也就是说,一旦代码和数据位于加载器中,即便操作系统或者和VMM(Hypervisor)也无法影响加载器里面的代码和数据。如此,可以保证代码和用户身份认证数据的安全性,从而保证了身份认证过程的安全性和可靠性。

读取单元202,用于利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;

具体地,可以按照与加密时使用的算法相对应的解密算法进行解密。

可信单元203,用于对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;

另外,可以在可信认证通过后颁发可信令牌,通过判断解密结果是否被颁发了可信令牌筛选出通过可信认证的解密结果,并把可信认证通过的解密结果加载到受保护的内容容器中。

可选地,在一个具体地实施方式中,内容容器具有可信执行环境TEE,以对可信认证通过的解密结果进行硬件隔离。

具体地,内容容器可以为并行内容容器,可以通过并行内容容器同时对多个不同的用户身份信息进行认证,从而提高身份认证的效率。TEE(Trusted ExecutionEnvironment,可信执行环境)是可信执行环境,TEE是与设备上的Rich OS(通常是Android等)并存的运行环境,并且给Rich OS提供安全服务。它具有其自身的执行空间,比Rich OS的安全级别更高。通过可信执行环境TEE对可信认证通过的解密结果进行硬件隔离,可以保证解密结果的安全性,从而保证了身份认证过程的安全性和可靠性。

认证单元204,用于生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证。

可选地,在一个具体地实施方式中,生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证,包括:生成针对内容容器的密钥凭证,并将内容容器的密钥凭证进行加密后存储到内容容器对应的线程控制结构中以通过对内容容器对用户身份信息进行认证。

详细来说,可以使用随机函数、椭圆算法、RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic CurveCryptography,ECC)等针对内容容器的密钥凭证,如此,可以保证生成的密钥凭证的唯一性,从而保证身份认证的安全性。另外对内容容器的密钥凭证进行加密处理具体可以为对内容容器的密钥凭证进行散列处理,本申请对此不做限制。

可选地,在一个具体地实施方式中,将内容容器的秘钥凭证进行加密后存储到内容容器对应的线程控制结构中,包括:将内容容器的秘钥凭证作为内容容器的标示,将内容容器的标示进行加密后存储到内容容器对应的线程控制结构中。

如此,可以保证秘钥凭证的机密性和完整性。

可选地,在一个具体地实施方式中,内容容器设置在系统内存的被保护物理内存区域中并对被保护物理内存区域进行锁定,以使得解密结果存储在被保护物理内存区域且不可被内容容器外的请求访问。

具体地,可以将外部的访问请求视为引用了不存在的内存,使得外部的实体(直接存储器访问、图像引擎等)无法访问,只有内容容器中内实现数据的访问,保证了身份验证过程的安全性。

可选地,在一个具体地实施方式中,被保护物理内存区域以页面为单位进行管理,为每个页面分配一个虚拟地址和一个物理地址;一个页面对应一个容器页面缓存表项,容器页面缓存表项中包括访问页面的地址映射关系。

如此,提供了双重保护机制:页面保护机制以及地址映射保护机制,进一步增强了数据访问的安全性,保证了身份认证时使用的数据是尽可能可信的,是未被篡改或者是非法的。

可选地,在一个具体地实施方式中,通过配置的页面未命中处理模块查询容器页面缓存表项来确定访问页面的地址映射关系,以基于地址映射关系将访问虚拟地址的请求映射到访问物理地址。

如此,可以实现访问数据时,允许投机式且乱序地发射读存和访存操作,确保读存与访存操作在退役时有正确的数据,从而保证了个数据访问的速度和准确度。

另外,将虚拟地址和物理地址限定在有效范围内,从而有效地将解密结果放到一个独立的区域中,并且对该区域中数据的读写访问都将进行地址的正确性检查,只有通过检查,才能真正访问到解密结果。

实施例三

请参阅图3,本申请实施例提供了一种电子设备30,包括:存储器301以及处理器302,存储器上存储有计算机可执行指令,处理器用于执行计算机可执行指令以执行如下步骤:

将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;

利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;

对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;

生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证。

下面具体说明:

将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;

具体地,对待加载对象进行的加密处理可以为散列处理,散列处理可以为通过散列函数(Hashfunction)对待加载对象进行加密处理,对应的得到的加密的待加载对象可以为二进制序列。用户身份数据可以包括用户的ID,出生日期,住址,手机号,邮箱等,当然,这里只是举例性说明,并不代表本申请局限于此。

可选地,在一个具体的实施方式中,可以以镜像的方式将加密的待加载对象加载到loader加载器。

具体地,可以通过调用CPU指令将加密的待加载对象加载到loader加载器。

可选地,在一个具体地实施方式中,生成针对待加载对象的密钥凭证,包括:根据密钥平台的平台密钥、CPU机器密钥、以及分配给用户的密钥生成针对待加载对象的密钥凭证。

具体地,可以使用随机函数、椭圆算法、RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic CurveCryptography,ECC)等生成秘钥凭证,如此,可以保证生成的密钥凭证的唯一性,从而保证身份认证的安全性。

另外,秘钥平台的平台秘钥、CPU机器秘钥、以及分配给用户的秘钥可以根据不同的随机函数生成,本申请对此不做限制。对秘钥平台的平台秘钥、CPU机器秘钥、以及分配给用户的秘钥进行散列运算得到秘钥凭证,具体地,该密钥凭证可以是字符凭证,从而便于识别。

可选地,在一个具体地实施方式中,待加载对象还包括应用程序的程序代码,应用程序在用户身份信息认证通过后可被启动;

对应地,将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,包括:将待加密的用户身份数据以及应用程序的代码待加载对象加载到loader加载器中,并生成针对待加密的用户身份数据以及应用程序的代码的统一密钥凭证。

详细来说,可以从代码角度和数据角度进行合法性规定,将代码和用户身份认证数据都加载到加载器中,保护其不受恶意软件的攻击,使特权或者非特权的软件都无法访问,也就是说,一旦代码和数据位于加载器中,即便操作系统或者和VMM(Hypervisor)也无法影响加载器里面的代码和数据。如此,可以保证代码和用户身份认证数据的安全性,从而保证了身份认证过程的安全性和可靠性。

利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;

具体地,可以按照与加密时使用的算法相对应的解密算法进行解密。

对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;

详细来说,可信认证可以为在未修改过的Hadoop上,利用用户编写的Map和Reduce代码实现对解密结果进行快速的可信认证。具体地,Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它是一个能够对大量数据进行分布式处理的软件框架。具有高可靠性、高扩展性、高效性、高容错性、低成本等特点。用户编写的Map和Reduce代码可以基于MapReduce,MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。

另外,可以在可信认证通过后颁发可信令牌,通过判断解密结果是否被颁发了可信令牌筛选出通过可信认证的解密结果,并把可信认证通过的解密结果加载到受保护的内容容器中。

可选地,在一个具体地实施方式中,内容容器具有可信执行环境TEE,以对可信认证通过的解密结果进行硬件隔离。

具体地,内容容器可以为并行内容容器,可以通过并行内容容器同时对多个不同的用户身份信息进行认证,从而提高身份认证的效率。TEE(Trusted ExecutionEnvironment,可信执行环境)是可信执行环境,TEE是与设备上的Rich OS(通常是Android等)并存的运行环境,并且给Rich OS提供安全服务。它具有其自身的执行空间,比Rich OS的安全级别更高。通过可信执行环境TEE对可信认证通过的解密结果进行硬件隔离,可以保证解密结果的安全性,从而保证了身份认证过程的安全性和可靠性。

生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证。

可选地,在一个具体地实施方式中,生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证,包括:生成针对内容容器的密钥凭证,并将内容容器的密钥凭证进行加密后存储到内容容器对应的线程控制结构中以通过对内容容器对用户身份信息进行认证。

详细来说,可以使用随机函数、椭圆算法、RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic CurveCryptography,ECC)等针对内容容器的密钥凭证,如此,可以保证生成的密钥凭证的唯一性,从而保证身份认证的安全性。另外对内容容器的密钥凭证进行加密处理具体可以为对内容容器的密钥凭证进行散列处理,本申请对此不做限制。

可选地,在一个具体地实施方式中,将内容容器的秘钥凭证进行加密后存储到内容容器对应的线程控制结构中,包括:将内容容器的秘钥凭证作为内容容器的标示,将内容容器的标示进行加密后存储到内容容器对应的线程控制结构中。

如此,可以保证秘钥凭证的机密性和完整性。

可选地,在一个具体地实施方式中,内容容器设置在系统内存的被保护物理内存区域中并对被保护物理内存区域进行锁定,以使得解密结果存储在被保护物理内存区域且不可被内容容器外的请求访问。

具体地,可以将外部的访问请求视为引用了不存在的内存,使得外部的实体(直接存储器访问、图像引擎等)无法访问,只有内容容器中内实现数据的访问,保证了身份验证过程的安全性。

可选地,在一个具体地实施方式中,被保护物理内存区域以页面为单位进行管理,为每个页面分配一个虚拟地址和一个物理地址;一个页面对应一个容器页面缓存表项,容器页面缓存表项中包括访问页面的地址映射关系。

如此,提供了双重保护机制:页面保护机制以及地址映射保护机制,进一步增强了数据访问的安全性,保证了身份认证时使用的数据是尽可能可信的,是未被篡改或者是非法的。

可选地,在一个具体地实施方式中,通过配置的页面未命中处理模块查询容器页面缓存表项来确定访问页面的地址映射关系,以基于地址映射关系将访问虚拟地址的请求映射到访问物理地址。

如此,可以实现访问数据时,允许投机式且乱序地发射读存和访存操作,确保读存与访存操作在退役时有正确的数据,从而保证了个数据访问的速度和准确度。

另外,将虚拟地址和物理地址限定在有效范围内,从而有效地将解密结果放到一个独立的区域中,并且对该区域中数据的读写访问都将进行地址的正确性检查,只有通过检查,才能真正访问到解密结果。

实施例四

请参阅图4,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机可执行指令,计算机可执行指令被执行时实施实施例一基于可信认证进行身份认证的方法,具体步骤如下:

将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;

利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;

对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;

生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证。

下面具体说明:

将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;

具体地,对待加载对象进行的加密处理可以为散列处理,散列处理可以为通过散列函数(Hashfunction)对待加载对象进行加密处理,对应的得到的加密的待加载对象可以为二进制序列。用户身份数据可以包括用户的ID,出生日期,住址,手机号,邮箱等,当然,这里只是举例性说明,并不代表本申请局限于此。

可选地,在一个具体的实施方式中,可以以镜像的方式将加密的待加载对象加载到loader加载器。

具体地,可以通过调用CPU指令将加密的待加载对象加载到loader加载器。

可选地,在一个具体地实施方式中,生成针对待加载对象的密钥凭证,包括:根据密钥平台的平台密钥、CPU机器密钥、以及分配给用户的密钥生成针对待加载对象的密钥凭证。

具体地,可以使用随机函数、椭圆算法、RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic CurveCryptography,ECC)等生成秘钥凭证,如此,可以保证生成的密钥凭证的唯一性,从而保证身份认证的安全性。

另外,秘钥平台的平台秘钥、CPU机器秘钥、以及分配给用户的秘钥可以根据不同的随机函数生成,本申请对此不做限制。对秘钥平台的平台秘钥、CPU机器秘钥、以及分配给用户的秘钥进行散列运算得到秘钥凭证,具体地,该密钥凭证可以是字符凭证,从而便于识别。

可选地,在一个具体地实施方式中,待加载对象还包括应用程序的程序代码,应用程序在用户身份信息认证通过后可被启动;

对应地,将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,包括:将待加密的用户身份数据以及应用程序的代码待加载对象加载到loader加载器中,并生成针对待加密的用户身份数据以及应用程序的代码的统一密钥凭证。

详细来说,可以从代码角度和数据角度进行合法性规定,将代码和用户身份认证数据都加载到加载器中,保护其不受恶意软件的攻击,使特权或者非特权的软件都无法访问,也就是说,一旦代码和数据位于加载器中,即便操作系统或者和VMM(Hypervisor)也无法影响加载器里面的代码和数据。如此,可以保证代码和用户身份认证数据的安全性,从而保证了身份认证过程的安全性和可靠性。

利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;

具体地,可以按照与加密时使用的算法相对应的解密算法进行解密。

对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;

详细来说,可信认证可以为在未修改过的Hadoop上,利用用户编写的Map和Reduce代码实现对解密结果进行快速的可信认证。具体地,Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它是一个能够对大量数据进行分布式处理的软件框架。具有高可靠性、高扩展性、高效性、高容错性、低成本等特点。用户编写的Map和Reduce代码可以基于MapReduce,MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。

另外,可以在可信认证通过后颁发可信令牌,通过判断解密结果是否被颁发了可信令牌筛选出通过可信认证的解密结果,并把可信认证通过的解密结果加载到受保护的内容容器中。

可选地,在一个具体地实施方式中,内容容器具有可信执行环境TEE,以对可信认证通过的解密结果进行硬件隔离。

具体地,内容容器可以为并行内容容器,可以通过并行内容容器同时对多个不同的用户身份信息进行认证,从而提高身份认证的效率。TEE(Trusted ExecutionEnvironment,可信执行环境)是可信执行环境,TEE是与设备上的Rich OS(通常是Android等)并存的运行环境,并且给Rich OS提供安全服务。它具有其自身的执行空间,比Rich OS的安全级别更高。通过可信执行环境TEE对可信认证通过的解密结果进行硬件隔离,可以保证解密结果的安全性,从而保证了身份认证过程的安全性和可靠性。

生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证。

可选地,在一个具体地实施方式中,生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证,包括:生成针对内容容器的密钥凭证,并将内容容器的密钥凭证进行加密后存储到内容容器对应的线程控制结构中以通过对内容容器对用户身份信息进行认证。

详细来说,可以使用随机函数、椭圆算法、RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic CurveCryptography,ECC)等针对内容容器的密钥凭证,如此,可以保证生成的密钥凭证的唯一性,从而保证身份认证的安全性。另外对内容容器的密钥凭证进行加密处理具体可以为对内容容器的密钥凭证进行散列处理,本申请对此不做限制。

可选地,在一个具体地实施方式中,将内容容器的秘钥凭证进行加密后存储到内容容器对应的线程控制结构中,包括:将内容容器的秘钥凭证作为内容容器的标示,将内容容器的标示进行加密后存储到内容容器对应的线程控制结构中。

如此,可以保证秘钥凭证的机密性和完整性。

可选地,在一个具体地实施方式中,内容容器设置在系统内存的被保护物理内存区域中并对被保护物理内存区域进行锁定,以使得解密结果存储在被保护物理内存区域且不可被内容容器外的请求访问。

具体地,可以将外部的访问请求视为引用了不存在的内存,使得外部的实体(直接存储器访问、图像引擎等)无法访问,只有内容容器中内实现数据的访问,保证了身份验证过程的安全性。

可选地,在一个具体地实施方式中,被保护物理内存区域以页面为单位进行管理,为每个页面分配一个虚拟地址和一个物理地址;一个页面对应一个容器页面缓存表项,容器页面缓存表项中包括访问页面的地址映射关系。

如此,提供了双重保护机制:页面保护机制以及地址映射保护机制,进一步增强了数据访问的安全性,保证了身份认证时使用的数据是尽可能可信的,是未被篡改或者是非法的。

可选地,在一个具体地实施方式中,通过配置的页面未命中处理模块查询容器页面缓存表项来确定访问页面的地址映射关系,以基于地址映射关系将访问虚拟地址的请求映射到访问物理地址。

如此,可以实现访问数据时,允许投机式且乱序地发射读存和访存操作,确保读存与访存操作在退役时有正确的数据,从而保证了个数据访问的速度和准确度。

另外,将虚拟地址和物理地址限定在有效范围内,从而有效地将解密结果放到一个独立的区域中,并且对该区域中数据的读写访问都将进行地址的正确性检查,只有通过检查,才能真正访问到解密结果。

本申请实施例提供了一种基于可信认证进行身份认证的方法、装置及相关产品,通过将加密的待加载对象加载到loader加载器中,并生成针对待加载对象的密钥凭证,待加载对象包括用户身份数据;利用待加载对象的密钥凭证对从loader加载器中读取的加密的待加载对象进行解密得到解密结果;对解密结果进行可信认证,并将可信认证通过的解密结果加载到受保护的内容容器中;生成针对内容容器的密钥凭证,以通过对内容容器对用户身份信息进行认证。从而使得用户身份数据不容易被篡改或者泄露,降低了安全隐患,既保证了身份验证的安全性,又使得验证过程较为简洁。

请参阅图5,图5为本申请实施例五中电子设备的硬件结构示意图;如图5所示,该电子设备的硬件结构可以包括:处理器501,通信接口502,计算机可读介质503和通信总线504;

其中,处理器501、通信接口502、计算机可读介质503通过通信总线504完成相互间的通信;

可选的,通信接口502可以为通信模块的接口,如GSM模块的接口;

其中,处理器501具体可以配置为运行存储器上存储的可执行程序,从而执行上述任一方法实施例的所有处理步骤或者其中部分处理步骤。

处理器501可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本申请实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、样本数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器710、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有样本数据交互功能的电子装置。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块提示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号