CN107315610A - 实现密码功能的方法、装置及计算机可读存储介质 - Google Patents
实现密码功能的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107315610A CN107315610A CN201710483189.8A CN201710483189A CN107315610A CN 107315610 A CN107315610 A CN 107315610A CN 201710483189 A CN201710483189 A CN 201710483189A CN 107315610 A CN107315610 A CN 107315610A
- Authority
- CN
- China
- Prior art keywords
- cipher
- application example
- cipher application
- end objectives
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种实现密码功能的方法,包括:基于提交密码业务要求的终端目标应用,在存储文件列表中查找密码设备上与终端目标应用对应的密码应用实例;调用与查找到的密码应用实例对应的密码模块;将密码模块的标准接口操作内容映射为所述终端目标应用的服务原语序列,以使终端目标应用通过映射的服务原语序列与所述密码模块标准接口对应的密码应用实例连接。本发明还公开了一种实现密码功能的装置及一种计算机可读存储介质。本发明使用已有的密码设备,整合移动终端原生的密码机制和基于生物特征识别的身份认证机制,为密码模块的实现提供一致的流程,统一应用程序中的业务处理流程,提高开发效率,降低开发成本,提高密码安全性。
Description
技术领域
本发明涉及密码算法工程实现、身份认证、电子支付、移动计算、移动通信、移动终端和集成电路卡技术领域,尤其涉及一种实现密码功能的方法、装置及计算机可读存储介质。
背景技术
安全产品厂商在提供密码算法模块和/或组件时,通常自行开发并提供专用的密码模块接口,如C/C++组件可使用OpenSSL开发,Java组件可使用BouncyCastle等开发。这种方法在实现纯软件的密码模块/组件时还可以接受,但在实际工程实践中存在很多问题和限制,尤其是采用硬件载体实现所述密码模块/组件时,往往需要支持多个设备供应商,需要设备供应商分别提供各自的算法模块/组件实现应用程序与设备的交互,所述终端的应用系统须在此之上进行业务流程设计,并抽象出支持多种设备的接口,此类接口定义、开发和适配等重复性劳动耗费大量人力和时间,很多功能的实现不能充分利用系统原生能力,严重影响使用便利性和体验,并影响密码模块/组件以及应用提高产品成熟度改进。
对于手机这类移动终端,设备自身集成外部设备的能力有限,使用场景经常是碎片化时间,使用的空间也有很多限制,因此便利性和体验是应用成功的关键因素,尤其是采用硬件设备实现密码算法时,采用专用接口的开发难度加大,无法提供良好的使用体验。目前大量移动终端开始提供原生的指纹、虹膜等简便的身份认证手段,Android和iOS都提供了标准的机制整合系统原生指纹身份认证和密码算法机制,以保障应用安全,具有兼顾用户体验和安全性的优点而被接受。如果应用继续使用专用接口,而无法与系统原生安全机制整合时,还可能导致同一个应用使用不同设备的体验和流程都不同,用户体验的弱点就非常突出。
目前主流手机厂商如苹果、三星、华为、小米、金立等在手机上集成了安全芯片,手机内置称为内置安全单元(embedded secure element,业界简称为eSE)安全芯片,可以提供基于金融IC卡的移动支付方案,如Apple Pay、SamSung Pay、Huawei Pay、Mi Pay等,部分厂商如华为则更进一步将安全芯片直接集成到CPU中。这些安全芯片技术上符合智能卡技术规范,可以按照智能卡对待,上述各种Pay都对应于卡上的一个符合智能卡支付技术规范(例如PBOC、VISA或MasterCard)的应用。
除用于支付外,上述安全芯片也可为线上支付、手机银行等业务提供安全机制,但目前使用提供的应用安全解决方案,基本是把这类安全芯片/安全设备作为PC时代USB key的替代者。
另一方面,部分原来应用于PC平台的安全设备也在向移动终端渗透,如各种USBkey等,通过蓝牙、音频口等接入移动终端,为金融类应用提供安全机制。随着可信计算的发展,TPM(Trusted Platform Module)也可能集成到手机上,如何有效运用TPM也将成为TPM成功的关键。
如果无法解决应用开发中存在的效率和成熟度问题,以及用户体验和使用便利性问题,应用如要使用这些安全芯片/安全设备的能力,仍需要使用厂商提供的专用接口进行与安全芯片/安全设备通信,导致开发效率低下,开发成本高昂。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种安全芯片实现密码功能的方法和系统,旨在解决操作系统远程安全机制及密码流程整合,提供一致流程,且实现了应用程序代码一致的问题。
本发明提供的一种移动终端实现密码功能的方法,包括:
基于提交密码业务要求的终端目标应用,在存储文件列表中查找密码设备上与终端目标应用对应的密码应用实例,所述存储文件列表中存储与所述终端目标应用对应的密码应用实例数据;
调用与查找到的所述密码应用实例对应的密码模块;
将所述密码模块的标准接口操作内容映射为所述终端目标应用的服务原语序列,以使所述终端目标应用通过映射的服务原语序列与所述密码模块标准接口对应的密码应用实例连接,实现密码功能。
优选地,所述基于提交密码业务要求的终端目标应用,在存储文件列表中查找密码设备上与终端目标应用对应的密码应用实例的步骤包括:
提取所述终端目标应用的特征参数;
根据特征参数在存储文件列表中查找与所述终端目标应用对应的密码应用实例标识信息,并确认所述标识信息对应的密码应用实例为所述终端目标应用对应的密码应用实例。
优选地,所述根据特征参数在存储文件列表中查找与所述终端目标应用对应的密码应用实例标识信息的步骤之后,还包括:
根据已查找到的所述密码应用实例标识信息,向与所述密码应用实例标识信息对应的密码应用实例发送预设执行命令;
在接收到基于所述预设执行命令反馈的执行成功信息时,执行调用与所述密码应用实例对应的密码模块步骤。
优选地,所述根据特征参数在存储文件列表中查找与所述终端目标应用对应的密码应用实例标识信息的步骤之后,还包括:
在未查找到所述密码应用实例标识信息时,向密码管理模块发送密码应用实例安装请求,以在密码设备中安装所述终端目标应用对应的密码应用实例;
并基于已安装的所述密码应用实例,向所述终端执行密码子系统安装、注册密码模块的操作步骤。
优选地,所述在未查找到所述密码应用实例标识信息时,向密码管理模块发送密码应用实例安装请求,以在密码设备中安装所述终端目标应用对应的密码应用实例的步骤之后,还包括:
接收所述密码管理模块返回的已安装密码应用实例的密码应用实例标识信息,其中,所述密码管理模块在安装所述密码应用实例后返回所述密码应用实例的标识信息;
将返回的所述密码应用实例与所述终端目标应用的特征参数关联存储至所述存储文件列表中,同时向密码设备内的安全访问控制文件写入终端目标应用对所述密码应用实例的访问控制信息。
优选地,所述调用与查找到的所述密码应用实例对应的密码模块的步骤之后,还包括:
判定所述终端目标应用调用的所述密码模块中的密码运算功能是否需进行所述终端的目标用户身份验证;
若需进行身份验证,使用所述终端密码子系统预设身份认证方式对所述终端的目标用户进行用户身份认证,并在用户身份认证成功后,执行将所述密码模块标准接口操作内容映射为所述终端目标应用的服务原语序列的步骤;
若无需进行身份验证,执行将所述密码模块的标准接口操作内容映射为所述终端目标应用的服务原语序列的步骤。
优选地,所述若需进行身份验证,使用所述终端密码子系统预设身份认证方式对所述终端的目标用户进行用户身份认证的步骤,还包括:
确认所述密码应用实例的PIN数据是否登记在所述存储文件列表中;
若已登记,则使用所述终端密码子系统预设身份认证方式对所述终端的目标用户进行用户身份认证,并在用户身份认证成功后,从所述存储文件列表取出对应的PIN数据向所述密码设备内的密码应用实例进行身份验证;
若未登记,则提示用户输入PIN,并将输入的所述PIN数据经过对应的所述密码模块处理后,向所述密码设备内的密码应用实例进行身份验证。
优选地,所述若未登记,则提示用户输入PIN,并将输入的所述PIN数据经过对应的所述密码模块处理后,向所述密码设备进行身份验证的步骤之后,还包括:
在所述密码设备验证通过后,使用所述终端密码子系统预设身份认证方式对所述终端的目标用户进行用户身份认证,在用户身份认证成功后,将处理过的所述PIN数据登记至所述存储文件列表,以使所述终端目标应用所对应的密码应用实例使用所述PIN数据进行用户身份认证。
此外,为实现上述目的,本发明还提供一种实现密码功能的装置,其特征在于,所述实现密码功能的装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述实现密码功能的方法。
本发明基于提交密码业务要求的终端目标应用,在存储文件列表中查找密码设备上与终端目标应用对应的密码应用实例,所述存储文件列表中存储与所述终端目标应用对应的密码应用实例数据;调用与查找到的所述密码应用实例对应的密码模块;将所述密码模块的标准接口操作内容映射为所述终端目标应用的服务原语序列,以使所述终端目标应用通过映射的服务原语序列与所述密码模块标准接口对应的密码应用实例连接,实现密码功能。通过在预设密钥库中构建对应密码模块以实现密码交互业务的方式,为密码模块及终端密码机制提供了整合的架构,将终端原生安全机制及密码流程整合,提供一致的流程,继而实现了应用程序开发商定义业务流程的统一实现。
附图说明
图1为本发明实现密码功能的方法的第一实施例的流程示意图;
图2为keystore(密钥库)总体框架图;
图3为本发明实现密码功能的方法的第二实施例的流程示意图;
图4为本发明实现密码功能的方法的第三实施例的流程示意图;
图5为本发明实现密码功能的装置的架构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:基于提交密码业务要求的终端目标应用,在存储文件列表中查找密码设备上与终端目标应用对应的密码应用实例,所述存储文件列表中存储与所述终端目标应用对应的密码应用实例数据;调用与查找到的所述密码应用实例对应的密码模块;将所述密码模块的标准接口操作内容映射为所述终端目标应用的服务原语序列,以使所述终端目标应用通过映射的服务原语序列与所述密码模块标准接口对应的密码应用实例连接,实现密码功能。
由于现有技术使用自行开发并提供专用密码模块接口时,硬件载体实现密码模块/组件支持多个设备供应商时,需要设备供应商分别提供算法模块/组件实现应用程序与设备的交互,这类接口定义、开发和适配等重复性劳动耗费大量人力和时间,影响使用便利性和体验,并影响密码模块/组件以及产品成熟度。
本发明提供一种解决方案,采用统一的系统原生接口方式实现密码模块,大幅度重用代码,减少了应用开发的工作量,并通过使用统一的系统原生接口以统一操作流程,实现了应用程序业务流程的统一,继而得到统一的业务体验。
基于上述问题,本发明提供一种实现密码功能的方法。
参照图1,图1为本发明实现密码功能的方法的第一实施例的流程示意图。
在一实施例中,所述方法包括:
步骤S10,基于提交密码业务要求的终端目标应用,在存储文件列表中查找密码设备上与终端目标应用对应的密码应用实例,所述存储文件列表中存储与所述终端目标应用对应的密码应用实例数据;
根据提交会话请求以实现密码功能的终端目标应用,使用所述目标应用的内容通过keystore的keymaster接口在存储文件列表中查找与所述终端目标应用对应的密码应用实例。所述keystore,为已构建的密码业务系统架构,用以在执行终端目标应用实现密码业务要求的时,通过keystore的keymaster接口读取与所述终端目标应用对应的密码应用实例。所述存储文件列表,为存储终端目标应用对应的密码应用实例数据的标准内存区域。所述keystore定义密码功能标准接口和框架,具体的,keystore定义为keystore框架,图2为keystore总体框架图。在根据密码应用需求构建对应密码模块时,将密码模块分为密码业务功能模块、密码管理功能模块和密码应用实例三部分,其中密码业务功能在向移动终端提供的keymaster组件实现,实现keystore要求的功能,是密码功能的中间件,应用调用keystore标准接口进行密码运算,实现业务所需要的安全功能和流程。密码管理功能实现密码设备相关的设备管理、密码模块管理、应用管理、文件管理、应用访问安全参数等管理功能。密码应用在密码设备端实现密码算法和密钥管理等安全机制,是密码算法的工程实现。密码业务功能模块将所述keymaster的接口内容映射为所述密码应用实例的服务原语序列,以使所述目标应用通过映射的服务原语序列与所述keymaster对应的密码应用实例连接,实现密码功能。
所述密码应用实例,为通过预设密码管理模块分配并安装在密码设备中终端目标应用对应的密码应用实例内容。所述预设密码管理模块在安装所述密码应用实例时,由对应密码模块发起应用安装请求。所述终端目标应用与所述密钥库中保存的密码应用实例为对应关系,其对应关系的类型例如一对一、多对一等,对应关系的类型与所述终端的结构类型相关,例如所述终端支持动态应用安装与实例创建如支持GP 2.2[6]的设备,则使所述终端中所有的应用实例,均能在密码设备动态安装一个目标应用实例,与存储文件列表中的密码应用实例一一对应,以将所述终端应用实例与密码设备上的所述目标应用实例,实现所述应用的动态实例化;若所述终端不支持动态应用安装与实例创建,则所述终端上所有的应用都使用密码设备上的同一个密码应用实例。
具体的,可查看图3,在存储文件列表中查找与终端目标应用对应的密码应用实例的步骤包括:
步骤S11,提取所述终端目标应用的特征参数;
步骤S12,根据特征参数在存储文件列表中查找与所述终端目标应用对应的密码应用实例标识信息,并确认所述标识信息对应的密码应用实例为所述终端目标应用对应的密码应用实例;
根据发起会话请求以实现密码功能的终端目标应用,提取所述终端目标应用的特征参数,所述特征参数为所述终端目标应用所包含并能进行读取/提取的内容,具体包括所述终端用户标识、应用参数等。根据已提取的终端目标应用的特征参数,在已创建并保存的存储文件列表中查找对应的终端标识信息,所述存储文件列表为预先收集的目标应用及所述终端标识信息及与密码应用实例对应关系内容列表,所述列表的具体内容以数据库表的形式保存,其具体的结构如下表:
在查找过程中,根据提取到的终端目标应用的特征参数,从所述存储文件列表的数据行中查找与所述特征参数对应的密码应用实例标识信息,所述存储文件列表中已存储的密码应用实例中提取的密码应用实例标识信息与所述查找条件即特征参数为对应的数据关系,即以所述特征参数为条件在所述存储文件列表中查找与所述特征参数对应的密码应用实例标识信息。
若所述密码设备支持动态应用安装与实例创建如支持GP 2.2[6]的设备,则所述终端中应用实例,均能在对应密码设备动态安装一个密码应用实例,并与存储文件列表中的密码应用实例标识信息一一对应,以将所述终端中的目标应用实例与密码设备上动态安装的密码应用实例对应关联,以实现所述终端目标应用的动态实例化,这种机制也实现了应用之间密码数据的隔离,由于所述终端目标应用访问密码应用实例时,与所述密码应用实例的关系根据所述密码应用实例的标识参数决定,这种方案也能实现应用隔离机制的透明化。所有的应用实例在存储文件列表中,由keymaster模块根据终端应用用户标识、密码模块、设备标识等确定终端应用实例标识,从而对应到一个所述密码应用实例。其中,本发明中满足的终端及终端目标应用一对一、多对一及多对多的条件内容,相关的对应关系都保存在上表内容中。
若所述密码设备只支持一个密码应用实例,则在密码模块初始化、设备识别阶段从对应密码设备将密码设备信息和密码实例信息填入所述存储文件列表。
步骤S13,根据已查找到的所述密码应用实例标识信息,向对应的密码应用实例发送预设执行命令;
步骤S14,在接收到基于所述预设执行命令反馈的执行成功信息时,执行调用与所述密码应用实例对应的密码模块步骤。
通过所述特征参数在所述存储文件列表已存储的数据行中查找与所述特征参数对应的密码应用实例标识信息,并在查找到所述密码应用实例标识信息后,根据所述密码应用实例标识信息向与所述密码应用实例标识信息对应的密码应用实例发送预设执行命令,用以确认所述密码应用实例是否与所述特征参数对应的终端目标应用一致。所述预设执行命令指密码应用实例系统程序中的执行指令,例如预设执行指令为查找指令(SELECT)。在预设执行命令发送成功之后,接收所述预设指令指令执行后返回的执行成功信息。待所述预设执行命令执行成功后,在keystore中将结果返回调用与所述密码应用实例对应的密码模块,将所述密码模块接口的内容映射为所述特征参数对应的终端目标应用的服务原语序列,以使所述终端目标应用实现密码功能。
其中,所述根据已查找到的所述密码应用实例标识信息,向与所述密码应用实例标识信息关联的目标应用发送预设执行命令的步骤,具体包括:
接收所述预设的执行命令的返回信息,根据所述返回信息判断所述预设的执行命令是否执行成功;
若所述返回信息为所述执行命令的执行结果,则所述执行命令执行成功;
若所述返回信息为错误码,则所述执行命令执行失败。
步骤S15,在未查找到所述密码应用实例标识信息时,向密码管理模块发送密码应用实例安装请求,以在所述密码设备中安装所述终端目标应用对应的密码应用实例;
在存储文件列表以特征参数查找对应密码应用实例标识信息时,若不能查找到对应的密码应用实例标识信息,则向密码管理模块发起应用实例安装请求,所述密码管理模块为密码设备对应的设备管理模块,用以分配、创建安全域并安装密码应用实例。
步骤S16,并基于已安装的所述密码应用实例,向所述终端执行密码子系统安装、注册密码模块的操作步骤。
在确认密码管理模块已安装完成对应的密码应用实例之后,向所述终端进行密码子系统安装,并注册密码模块。所述密码子系统及注册密码模块的操作步骤,为所述密码应用实例安装完成后的固定步骤,用以完成所述密码应用实例与终端的应用连接,其具体的操作方式,与对应管理员的设置相关。在执行密码子系统及注册密码模块的操作时,向密码应用实例所在的密码设备内的安全访问控制文件写入所述密码应用实例对应的终端目标应用对所述密码应用实例的访问控制信息,以使所述终端目标应用拥有访问所述密码应用实例的权限。
步骤S17,接收所述密码管理模块返回的已安装密码应用实例的密码应用实例标识信息,其中,所述密码管理模块在安装所述密码应用实例后返回所述密码应用实例的标识信息;
步骤S18,将返回的所述密码应用实例与所述终端目标应用的特征参数关联存储至所述存储文件列表中,同时向密码设备内的安全访问控制文件写入终端目标应用对所述密码应用实例的访问控制信息。
在所述密码管理模块在接收到所述应用实例安装请求后,根据预设策略请求为所述待安装的密码应用实例分配、创建安全域,之后安装所述密码应用实例。待所述密码应用实例安装完成后,根据已安装完成的所述密码应用实例对应的目标应用,将所述密码应用实例标识信息返回。并将所述目标应用的特征参数与返回的所述密码应用实例标识信息的连接关系,登记至存储文件列表中保存。
步骤S20,调用与查找到的所述密码应用实例对应的密码模块;
通过所述目标应用的特征参数于预设密钥库中查找到的密码应用实例,基于所述密码应用实例调用对应的密码模块。所述密码应用实例与所述密码模块为一对一的关系,即每一个密码应用实例都对应有一个密码模块;或者密码应用实例与所述密码模块为一对多的关系,即每个密码应用实例可对应多个密码模块。其所述多对一或一对一的关系,根据所述密码应用实例对应的终端目标应用的终端和密码设备类型决定。所述密码模块在所述密码应用实例安装时根据预设方式自动生成/手动安装,其具体的实现方式为步骤S16所述。
步骤S30,将所述密码模块的标准接口操作内容映射为所述终端目标应用的服务原语序列,以使所述终端目标应用通过映射的服务原语序列与所述密码模块标准接口对应的密码应用实例连接,实现密码功能。
将所述密码模块接口的内容映射为所述密码应用实例对应的所述密码应用实例服务原语序列。所述服务原语序列的表现形式,与所述目标应用对应密码设备的类型相关,其具体的,所述密码设备的类型包括智能卡型及非智能卡型,当所述密码设备为智能卡型时,将所述密码模块接口内容映射为所述密码应用实例的APDU序列;当所述密码设备为非智能卡型时,将所述密码模块接口的内容映射为所述密码设备的终端硬件指令序列。其中,所述终端的智能卡与非智能卡的类型区分,为现有技术中所定义的内容,在此不多赘述。所述APDU序列为所述终端目标应用的对应进程执行步骤或流程,其具体内容为现有技术。待所述终端目标应用或终端接收到映射的服务原语序列后,与所述服务原语序列对应的密码模块连接,进而使所述终端目标应用调用所述密码模块中对应的密码运算功能执行,以实现所述终端目标应用的密码功能。所述密码运算功能,为所述终端目标应用对应的密码运算功能,保存区域为所述密码设备中,其具体的保存区域与所述密码设备的技术方案相关。
可参照图4,将所述密码模块的接口内容映射为所述终端目标应用的服务原语序列,以使所述终端目标应用通过映射的服务原语序列与所述服务原语序列对应的密码模块连接,实现密码功能的步骤还包括:
步骤S31,判定所述终端目标应用调用的所述密码模块中的密码运算功能是否需进行所述终端目标应用的身份验证;
待所述终端目标应用与密码应用实例对应的密码模块建立连接后,调用所述密码模块中预设的密码运算功能实现所述终端目标应用的密码业务需求。通过与所述终端目标应用调用的密码模块中密码运算功能的应用逻辑或者所述密码模块的应用逻辑,判定所述终端目标应用调用的密码运算功能是否需进行用户身份验证。
步骤S32,若需进行身份验证,使用所述终端密码子系统预设身份认证方式对所述终端的目标用户进行用户身份认证,并在用户身份认证成功后,执行将所述密码模块标准接口操作内容映射为所述终端目标应用的服务原语序列的步骤;
步骤S33,若无需进行身份验证,执行将所述密码模块的标准接口操作内容映射为所述终端目标应用的服务原语序列的步骤。
若所述密码模块或所述密码模块的对应密码运算功能的应用逻辑判定所述密码运算功能需进行用户身份验证,则通过结合终端提供的原生身份验证手段和所述密码应用实例已有预设身份验证机制进行所述终端目标应用的目标用户的用户身份认证。现有技术中,基于终端的用户身份验证有几种方式,应用最多的为密码验证及指纹验证。其中,若通过指纹验证实现所述用户身份验证,前提为在所述目标应用所在的终端或与所述终端连接的目标终端,具备指纹验证的功能。通过将所述指纹验证功能与所述目标应用结合,以实现所述密码应用的用户身份验证。当所述目标应用对应的用户身份验证成功后,对应调用所述密码运算模块以实现所述密码应用的密码业务操作。其中,若通过所述指纹身份验证应用到所述目标应用,有两种方式:第一、将指纹身份认证机制与密码应用结合,并修改所述密码应用实现,使用户通过指纹身份验证后就修改所述密码应用实例内部的用户身份验证状态;第二、在所述指纹身份验证的对应内存中增加所述目标应用的支持,将所述密码应用实例PIN保存后,作为所述指纹身份验证代理的应用身份验证。其具体的实现方式,为现有技术,在此不多赘述。并在所述目标应用的身份验证成功后,执行所述将所述密码模块的接口内容映射为所述目标应用的服务原语序列的步骤。继而使所述目标应用与所述密码模块接口对应的密码模块连接,以实现密码功能。若调用的所述密码运算功能无需进行身份验证,执行所述将所述密码模块的接口内容映射为所述目标应用的服务原语序列的步骤。
为实现这一结合的身份验证功能,可扩充所述存储文件列表,在其中增加PIN数据项,如下:
其中,所述若需进行用户身份验证,调用身份验证机制对所述终端目标应用的目标用户进行用户身份验证的步骤还包括:
确认所述终端目标应用PIN数据是否登记在所述存储文件列表中;
若已登记,则使用所述终端密码子系统预设身份认证方式对所述终端的目标用户进行用户身份认证,并在用户身份认证成功后,从所述存储文件列表取出对应的PIN数据向所述密码设备内的密码应用实例进行身份验证;
若未登记,则提示用户输入PIN,并将输入的所述PIN数据经过对应的所述密码模块处理后,向所述密码设备内的密码应用实例进行身份验证。
在所述密码设备验证通过后,使用所述终端密码子系统预设身份认证方式对所述终端的目标用户进行用户身份认证,在用户身份认证成功后,将处理过的所述PIN数据登记至所述密码运算功能对应密码模块中的存储文件列表,以使所述终端目标应用所对应的密码应用实例使用所述PIN数据进行用户身份认证。
其中,当在终端已加入已初始化的设备时,则由于该设备尚未登记在存储文件列表中,按上述流程可以得到处理。
另外,当终端设备安装密码应用实例时,可以随机的方式生成密码数据,存入存储文件列表。当终端的密码数据保存到存储文件列表后,如终端在其他场合使用时修改了密码,则使用时,以从所属存储文件列表取出所述终端目标应用密码数据向密码设备进行身份验证失败,按上述流程,以预设方式提示用户输入密码,在密码管理模块内按预设方式处理密码后,向终端验证密码,并在终端密码验证通过后,将处理过的密码信息登记至所述终端目标应用对应的所述密码运算功能的存储文件列表,以使所述终端目标在后续应用身份验证中成功。
在实际的实现方案中,须对PIN数据采取严格的保护措施,确保用户通过身份认证后才能访问PIN数据,可使用TEE或类似的机制加以保护。
其中,本发明的具体应用过程中,将密码模块分为密码业务功能模块、密码管理功能模块和密码应用实例三部分,其中密码业务功能在向移动终端提供的keymaster组件实现,实现keystore要求的功能,是密码功能的中间件,应用调用keystore标准接口进行密码运算,实现业务所需要的安全功能和流程。密码管理功能实现密码设备相关的设备管理、密码模块管理、应用管理、文件管理、应用访问安全参数管理等功能。密码应用实例在密码设备端实现密码算法和密钥管理等安全机制,是密码算法的工程实现。密码业务功能模块将所述keymaster的接口内容映射为所述密码应用实例的服务原语序列,以使所述目标应用通过映射的服务原语序列与所述keymaster对应的密码应用实例连接,实现密码功能。密码管理功能实现密码设备和相关的设备管理、密码模块管理、应用管理、文件管理、应用访问安全参数管理功能。密码应用实例在密码设备端实现密码算法和密钥管理等安全机制,是密码算法的工程实现。
本实施例中,通过发起会话请求以实现密码功能的终端的目标应用,通过所述目标应用确认在密钥设备中的密码应用实例,并将所述密码应用实例对应的密码模块接口内容映射为所述密码应用实例的服务原语序列,与对应密码设备建立连接关系,以使所述目标应用调用密码运算功能,实现密码功能的需求。通过在密码设备中构建对应密码模块及密码应用实例以实现密码设备的目标应用密码服务,为所述目标应用调用对应的密码运算功能提供了整合的架构,将密码模块与终端设备原生安全机制及密码流程整合,实现了密码应用实例的生命周期管理,并通过整合终端原生身份认证方式,替代密码应用的PIN身份认证方式,提供一致的流程,改善了用户体验,实现了应用程序的代码高度一致,提高了密码设备中目标应用实现密码功能的效率。
上述第一至第三实施例的实现密码功能的方法的执行主体均可以为有密码应用需求的智能终端或与所述智能终端关联的其他电子设备。更进一步地,该实现密码功能的方法可以由安装智能终端或与所述智能终端关联的其他电子设备客户端检测程序实现,其中,该智能终端可以包括但不限于只能手持终端等电子设备。所述与所述智能终端关联的其他电子设备包括但不限于手机、pad、笔记本电脑等。
本发明还提出一种实现密码功能的实现装置,查看图5,图5为本发明实现密码功能的实现装置的架构示意图。所述装置包括:处理器10、存储器20、安全机制模块30、数据发送模块40及密码设备50。
其中,所述处理器10中运行所述存储器20中已存储的应用装置,其执行步骤包括接收会话请求信息并根据所述会话请求对应的目标应用信息查找对应密码应用实例,继而使所述密码应用实例对应的密码模块接口内容通过数据发送模块40映射至所述密码设备50的APDU服务原语序列,继而使所述密码设备50在接收到APDU服务原语序列后调用对应的密码模块实现密码需求业务。在所述处理器10执行应用装置的过程中,若不能查找到对应的密码应用实例,则向安全机制模块30发送密码应用实例安装指令,所述安全机制模块30根据所述安装指令分配安全域并安装密码应用实例。处理器30执行装置的实现方法同本发明实现密码功能方法的上述实施例,在此不多赘述。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种实现密码功能的方法,其特征在于,所述方法包括以下步骤:
基于提交密码业务要求的终端目标应用,在存储文件列表中查找密码设备上与终端目标应用对应的密码应用实例,所述存储文件列表中存储与所述终端目标应用对应的密码应用实例数据;
调用与查找到的所述密码应用实例对应的密码模块;
将所述密码模块的标准接口操作内容映射为所述终端目标应用的服务原语序列,以使所述终端目标应用通过映射的服务原语序列与所述密码模块标准接口对应的密码应用实例连接,实现密码功能。
2.如权利要求1所述实现密码功能的方法,其特征在于,所述基于提交密码业务要求的终端目标应用,在存储文件列表中查找密码设备上与终端目标应用对应的密码应用实例的步骤包括:
提取所述终端目标应用的特征参数;
根据特征参数在存储文件列表中查找与所述终端目标应用对应的密码应用实例标识信息,并确认所述标识信息对应的密码应用实例为所述终端目标应用对应的密码应用实例。
3.如权利要求2所述实现密码功能的方法,其特征在于,所述根据特征参数在存储文件列表中查找与所述终端目标应用对应的密码应用实例标识信息的步骤之后,还包括:
根据已查找到的所述密码应用实例标识信息,向与所述密码应用实例标识信息对应的密码应用实例发送预设执行命令;
在接收到基于所述预设执行命令反馈的执行成功信息时,执行调用与所述密码应用实例对应的密码模块步骤。
4.如权利要求2或3所述实现密码功能的方法,其特征在于,所述根据特征参数在存储文件列表中查找与所述终端目标应用对应的密码应用实例标识信息的步骤之后,还包括:
在未查找到所述密码应用实例标识信息时,向密码管理模块发送密码应用实例安装请求,以在所述密码设备中安装所述终端目标应用对应的密码应用实例;
并基于已安装的所述密码应用实例,向所述终端执行密码子系统安装、注册密码模块的操作步骤。
5.如权利要求4所述实现密码功能的方法,其特征在于,所述在未查找到所述密码应用实例标识信息时,向密码管理模块发送密码应用实例安装请求,以在密码设备中安装所述终端目标应用对应的密码应用实例的步骤之后,还包括:
接收所述密码管理模块返回的已安装密码应用实例的密码应用实例标识信息,其中,所述密码管理模块在安装所述密码应用实例后返回所述密码应用实例的标识信息;
将返回的所述密码应用实例与所述终端目标应用的特征参数关联存储至所述存储文件列表中,同时向密码设备内的安全访问控制文件写入终端目标应用对所述密码应用实例的访问控制信息。
6.如权利要求1-3任一项所述实现密码功能的方法,其特征在于,所述调用与查找到的所述密码应用实例对应的密码模块的步骤之后,还包括:
判定所述终端目标应用调用的所述密码模块中的密码运算功能是否需进行所述终端的目标用户身份验证;
若需进行身份验证,使用所述终端密码子系统预设身份认证方式对所述终端的目标用户进行用户身份认证,并在用户身份认证成功后,执行将所述密码模块标准接口操作内容映射为所述终端目标应用的服务原语序列的步骤;
若无需进行身份验证,执行将所述密码模块的标准接口操作内容映射为所述终端目标应用的服务原语序列的步骤。
7.如权利要求6所述实现密码功能的方法,其特征在于,所述若需进行身份验证,使用所述终端密码子系统预设身份认证方式对所述终端的目标用户进行用户身份认证的步骤,还包括:
确认所述终端目标应用PIN数据是否登记在所述存储文件列表中;
若已登记,则使用所述终端密码子系统预设身份认证方式对所述终端的目标用户进行用户身份认证,并在用户身份认证成功后,从所述存储文件列表取出对应的PIN数据向所述密码设备内的密码应用实例进行身份验证;
若未登记,则提示用户输入PIN,并将输入的所述PIN数据经过对应的所述密码模块处理后,向所述密码设备内的密码应用实例进行身份验证。
8.如权利要求7所述的实现密码功能的方法,其特征在于,所述若未登记,则提示用户输入PIN,并将输入的所述PIN数据经过对应的所述密码模块处理后,向所述密码设备进行身份验证的步骤之后,还包括:
在所述密码设备验证通过后,使用所述终端密码子系统预设身份认证方式对所述终端的目标用户进行用户身份认证,在用户身份认证成功后,将处理过的所述PIN数据登记至所述存储文件列表,以使所述终端目标应用所对应的密码应用实例使用所述PIN数据进行用户身份认证。
9.一种实现密码功能的装置,其特征在于,所述实现密码功能的装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的实现密码功能的程序,所述实现密码功能程序被所述处理器执行时实现如权利要求1至8中任一项所述实现密码功能的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有实现密码功能的程序,所述实现密码功能的程序被处理器执行时实现如权利要求1至8中任一项所述的实现密码功能方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710483189.8A CN107315610B (zh) | 2017-06-21 | 2017-06-21 | 实现密码功能的方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710483189.8A CN107315610B (zh) | 2017-06-21 | 2017-06-21 | 实现密码功能的方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107315610A true CN107315610A (zh) | 2017-11-03 |
CN107315610B CN107315610B (zh) | 2020-06-23 |
Family
ID=60179474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710483189.8A Active CN107315610B (zh) | 2017-06-21 | 2017-06-21 | 实现密码功能的方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107315610B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197461A (zh) * | 2017-12-28 | 2018-06-22 | 努比亚技术有限公司 | 一种密码保护方法、移动终端及计算机可读存储介质 |
CN109492384A (zh) * | 2018-09-26 | 2019-03-19 | 成都卫士通信息产业股份有限公司 | 接收实体访问、访问密码设备的方法、密码设备和实体 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599025A (zh) * | 2009-07-07 | 2009-12-09 | 武汉大学 | 可信密码模块安全虚拟化方法 |
EP2469441A1 (en) * | 2010-12-21 | 2012-06-27 | Research In Motion Limited | System and method for hardware strenghtened passwords |
CN103093144A (zh) * | 2013-01-14 | 2013-05-08 | 中国科学院软件研究所 | 一种密码模块api安全性检测方法与系统 |
CN104021335A (zh) * | 2014-06-05 | 2014-09-03 | 中国人民解放军国防科学技术大学 | 基于可扩展密码服务框架的密码服务方法 |
CN104166816A (zh) * | 2014-08-12 | 2014-11-26 | 广东欧珀移动通信有限公司 | 一种基于应用图标的锁屏解锁方法及系统 |
CN104700028A (zh) * | 2015-03-25 | 2015-06-10 | 上海交通大学 | 一种基于安全沙箱机制的智能密码钥匙密码算法检测系统 |
US9530011B2 (en) * | 2009-06-22 | 2016-12-27 | Barclays Bank Plc | Method and system for provision of cryptographic services |
US20170171218A1 (en) * | 2012-09-28 | 2017-06-15 | Intel Corporation | Allowing varied device access based on different levels of unlocking mechanisms |
-
2017
- 2017-06-21 CN CN201710483189.8A patent/CN107315610B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9530011B2 (en) * | 2009-06-22 | 2016-12-27 | Barclays Bank Plc | Method and system for provision of cryptographic services |
CN101599025A (zh) * | 2009-07-07 | 2009-12-09 | 武汉大学 | 可信密码模块安全虚拟化方法 |
EP2469441A1 (en) * | 2010-12-21 | 2012-06-27 | Research In Motion Limited | System and method for hardware strenghtened passwords |
US20170171218A1 (en) * | 2012-09-28 | 2017-06-15 | Intel Corporation | Allowing varied device access based on different levels of unlocking mechanisms |
CN103093144A (zh) * | 2013-01-14 | 2013-05-08 | 中国科学院软件研究所 | 一种密码模块api安全性检测方法与系统 |
CN104021335A (zh) * | 2014-06-05 | 2014-09-03 | 中国人民解放军国防科学技术大学 | 基于可扩展密码服务框架的密码服务方法 |
CN104166816A (zh) * | 2014-08-12 | 2014-11-26 | 广东欧珀移动通信有限公司 | 一种基于应用图标的锁屏解锁方法及系统 |
CN104700028A (zh) * | 2015-03-25 | 2015-06-10 | 上海交通大学 | 一种基于安全沙箱机制的智能密码钥匙密码算法检测系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197461A (zh) * | 2017-12-28 | 2018-06-22 | 努比亚技术有限公司 | 一种密码保护方法、移动终端及计算机可读存储介质 |
CN109492384A (zh) * | 2018-09-26 | 2019-03-19 | 成都卫士通信息产业股份有限公司 | 接收实体访问、访问密码设备的方法、密码设备和实体 |
CN109492384B (zh) * | 2018-09-26 | 2021-07-20 | 成都卫士通信息产业股份有限公司 | 接收实体访问、访问密码设备的方法、密码设备和实体 |
Also Published As
Publication number | Publication date |
---|---|
CN107315610B (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11962616B2 (en) | Protection against rerouting a communication channel of a telecommunication device having an NFC circuit and a secure data circuit | |
US11743721B2 (en) | Protection of a communication channel between a security module and an NFC circuit | |
US8935746B2 (en) | System with a trusted execution environment component executed on a secure element | |
CN105391840B (zh) | 自动创建目标应用程序 | |
US9801070B2 (en) | Protection of a security element coupled to an NFC circuit | |
US10699277B2 (en) | Security for mobile payment applications | |
US10716007B2 (en) | Protection of a security module in a telecommunication device coupled to an NFC circuit | |
US10999737B2 (en) | Detection of a rerouting of a communication channel of a telecommunication device connected to an NFC circuit | |
US8322610B2 (en) | Secure access module for integrated circuit card applications | |
EP2894588B1 (en) | Data processing device, method for executing an application and computer program product | |
US9225687B2 (en) | Access control mechanism for a secure element coupled to an NFC circuit | |
US9219745B2 (en) | Assessing the resistance of a security module against attacks by communication pipe diversion | |
US9185561B2 (en) | Protection against rerouting in an NFC circuit communication channel | |
CN106372496A (zh) | 提高支付终端应用安全性的方法及系统 | |
US10025575B2 (en) | Method for installing security-relevant applications in a security element of a terminal | |
CN107315610A (zh) | 实现密码功能的方法、装置及计算机可读存储介质 | |
CN107563743A (zh) | 提升pos交易安全的方法及系统 | |
CN117063174A (zh) | 用于通过基于app的身份的app间相互信任的安全模块及方法 | |
CN106534047A (zh) | 一种基于Trust应用的信息传输方法及装置 | |
Leinonen et al. | Implementing Open Authentication for Web Services with a Secure Memory Card | |
CN115801286A (zh) | 微服务的调用方法、装置、设备及存储介质 | |
Shin et al. | Implementation of Telebiometrics Application System Using Mobile Device | |
Vasudevan et al. | Trustworthy Execution on Mobile Devices: What security properties can my mobile platform give me?(CMU-CyLab-11-023) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB02 | Change of applicant information |
Address after: 518000 Guangdong city of Shenzhen province Qianhai Shenzhen Hong Kong cooperation zone before Bay Road No. 1 building 201 room A (located in Shenzhen Qianhai business secretary Co. Ltd.) Applicant after: Shenzhen white knight Technology Co., Ltd Address before: 518000 Guangdong city of Shenzhen province Qianhai Shenzhen Hong Kong cooperation zone before Bay Road No. 1 building 201 room A (located in Shenzhen Qianhai business secretary Co. Ltd.) Applicant before: SHENZHEN BAIQISHI BIG DATA Co.,Ltd. |
|
CB02 | Change of applicant information |