一种基于安全密钥的方法以及脱机交易装置与流程

文档序号:13743233阅读:204来源:国知局
技术领域本申请涉及移动支付领域,特别的涉及一种基于安全密钥的方法及其脱机交易装置。

背景技术:
目前,各地的公交卡、一卡通、翼机通实施消费交易时的结构图如图1所示,其中,包括刷卡机101、内置在刷卡机的PSAM卡103、以及非接CPU卡102。消费是脱机消费。脱机消费是指刷卡机不连接互联网,消费时对卡真实有效性验证通过刷卡机101和PSAM卡103完成的。其工作流程是:用户将一张非接触CPU钱包功能卡102靠近刷卡机101;卡102和刷卡机101进行交互,刷卡机101取得卡片信息和交易初始化信息;刷卡机101或PSAM103卡利用存储在其内部的消费密钥对送入的数据进行运算并得到加密数据MAC1;刷卡机101将加密数据MAC1传递给非接CPU钱包卡102;非接CPU钱包卡102用保存到其本地的消费密钥对相同的信息数据进行运算,运算结果和送入的MAC1进行比对,如果比对无误,则认为MAC1验证成功,并根据交易信息计算MAC2返回给刷卡机101;刷卡机101利用PSAM103卡验证MAC2的一致性;如果验证MAC2一致,会通知用户脱机消费成功。为了成功实现脱机消费,刷卡机101和PSAM卡103要使用和非接CPU卡102一样的消费密钥和计算方法,对相同的数据运算和比对,来实现PSAM卡103和非接CPU卡102的双向验证。随着移动技术的迅猛发展,越来越多的功能将集成到移动终端,未来的发展趋势是非接CPU钱包卡的功能将由一个移动终端的APP软件替代。该移动终端只需满足一定的硬件和软件需求,例如安装Android4.4.2以上系统,支持NFC功能等,即可实现使用移动终端的APP软件替代非接CPU卡的功能。但是如果要实现和非接CPU卡一样的刷卡机脱机消费,移动终端内要保存消费密钥。为了增加通用性和减少对各种硬件的依赖,对移动终端不要求有其它硬件加密和密钥保存措施,但是消费密钥保存在软件中就会带来密钥泄漏风险。这是由于纯软件无论如何改造都无法提供对密钥数据的绝对的安全保障。如果软件APP上直接存储原始消费密钥,一旦移动终端丢失并被伪造,伪造的软件APP可以无限制的交易,这样就给用户带来很大的经济损失。

技术实现要素:
有鉴于此,本申请提供一种安全密钥的生成方法及其系统,限制了消费密钥的使用次数,一旦此密钥超过使用限制,就无法再使用。这样即使消费密钥被窃或泄露,其被伪造交易的次数也是很有限的,从而降低了消费密钥丢失产生的损失。本申请提供一种基于安全密钥的方法,包括如下步骤:步骤S0、移动设备接收到消费请求时,读取交易计数器的值,判断交易计数器的值是否满足预定规则;如果满足则继续步骤S1,如果不满足则跳转到步骤S3;步骤S1、移动设备向密钥生成服务器发送生成限制次数密钥的请求数据;步骤S2、密钥生成服务器生成限制次数密钥,并发送给移动设备;步骤S3、移动设备向脱机交易装置发出应答信息,应答信息中包括交易计数器的值;步骤S4、移动设备验证脱机交易装置的合法性,如果合法则继续步骤S5,否则退出该方法;步骤S5、脱机交易装置判断移动设备的合法性。其中移动设备为每个非接触CPU应用设置一个单独的交易计数器,用于标识非接触CPU应用的交易。其中交易计数器的值只能递增,不能减少。其中预定规则由移动设备的每个非接触CPU应用预先设定,预定规则规定了每个非接触CPU应用所请求获得的限制次数密钥的使用次数。其中密钥生成服务器使用移动设备发送的交易计数器的值分散根密钥,得到限制次数密钥。本申请还保护一种基于安全密钥的脱机交易装置,包括如下部件:交易处理部件:在移动设备放到脱机交易装置有效操作的范围内时,给移动设备发送指令,取得移动设备的交易计数器的值以及限制次数密钥的相关信息,并向移动设备202发送初始化交易指令和MAC1;接收移动设备发送的MAC2;安全控制部件:在接收到移动设备发送的交易计数器的值以及限制次数密钥的相关信息时,生成MAC1;使用MAC2判断移动设备202的合法性。其中MAC2是由移动设备使用限制次数密钥对交易数据进行运算得到的。其中安全控制部件根据移动设备提供的交易计数器的值分散消费主密钥,从而得到用于本次交易的过程密钥。MAC1是由安全控制部件使用本次交易的过程密钥对交易数据进行运算得到的。本申请还保护一种生成安全密钥的方法,包括如下步骤:步骤L0、移动设备读取交易计数器的值,判断交易计数器的值是否满足预定规则;如果满足则继续步骤S1,如果不满足则结束该方法;步骤L1、移动设备向密钥生成服务器发送生成限制次数密钥的请求数据;步骤L2、密钥生成服务器生成限制次数密钥,并发送给移动设备。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是现有脱机系统的结构图;图2是本申请脱机交易装置所在系统的系统结构图;图3是本申请移动设备的结构图;图4是本申请密钥生成服务器的结构图;图5是本申请脱机交易装置的结构图;图6是本申请的方法流程图。具体实施方式为了使本领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。下面结合本申请附图进一步说明本申请具体实现。本申请提供一种脱机交易装置,该脱机交易装置应用于脱机交易中,其所应用的系统如图2所示,包括密钥生成服务器201,移动设备202以及脱机交易装置203。其中移动设备202是可以实现非接触CPU应用功能的移动装置,例如手机;密钥生成服务器201生成带有使用次数限制的密钥,并下发给移动设备202;脱机交易装置203对移动设备202返回的交易信息进行验证,交易信息包含使用次数限制的密钥生成的交易验证码。脱机交易装置例如可以是POS机或PSAM卡等实现下述功能的装置。下面结合附图3-5介绍各个部件的结构。一、移动设备202:在满足预定规则时,向密钥生成服务器201发送请求,并接收密钥生成服务器201发送的限制次数密钥;使用限制次数密钥和脱机交易装置203相互认证,完成交易。交易计数器301:保存用于标识非接触CPU应用的交易的值。每交易一次,交易计数器的值加1,只能递增,不能减少。例如可使用交易序列号作为交易计数器的值,交易序列号是移动设备上保存的一个字段。其中每个非接触CPU应用设置一个单独的交易计数器。密钥控制器302:读取当前请求的交易计数器的值,判断交易计数器的值是否满足预定规则,当满足时准备要发送的请求数据;将请求数据按照一定报文格式组织成报文;在移动设备202和服务器201之间相互认证,如果认证通过则建立加密信道进行通信。预定规则可由移动设备的每个非接触CPU应用预先设定,根据设定的规则实现每个非接触CPU应用所请求获得的限制次数密钥的使用次数。例如预定规则可以是直接规定限制次数密钥可以使用的次数,超过该次数就要重新获得限制次数密钥;或者预定规则可以是判断交易计数器的值是奇数还是偶数,如果是奇数则交易计数器使用上次获得的限制次数密钥进行交易,从而使得一个限制次数密钥可以使用两次。也可以使用其它的预定规则,从而实现预定的限制次数密钥可以使用的次数。要发送的请求数据中包括当前交易计数器的值;请求数据中还可以包括移动设备202的识别信息、移动设备202的自检信息等;其中限制次数密钥的使用次数,可以包含在请求数据中,也可以由系统预设,不作传输。准备要发送的请求数据包括将请求数据按照一定报文格式组织成报文;移动设备202和服务器201之间相互认证手段可包括多种形式,例如用户名、密码或者生物认证等等。加密信道的建立可包括移动设备202和服务器201之间建立虚拟加密信道,该虚拟加密信道用以在相互信任的移动设备和服务器之间传递加密信息。交易控制器303:使用限制次数密钥和脱机交易装置203相互认证合法性;用限制次数密钥对交易信息做运算,得到一串密文并和MAC1比对,如果比对成功则表示移动设备202成功认证了脱机交易装置203。如果不成功,则移动设备202拒绝交易。如果移动设备202对脱机交易装置203认证成功,就会再用限制次数密钥对其它一些交易数据例如交易金额等做运算,得到MAC2。发送器304:将请求数据传递给服务器201;向脱机交易装置发出应答信息、交易计数器的值以及限制次数密钥的相关信息;将MAC2发送给脱机交易装置203;应答信息中包括交易计数器的值。限制次数密钥的相关信息包括密钥版本、算法标识等;移动设备202还可以向脱机交易装置203发送脱机交易序号等信息,还可包括余额、透支限额、伪随机数等数据。其中建立的加密信道传递请求数据。接收器305:接收密钥生成服务器201发送的限制次数密钥。二、密钥生成服务器201:生成限制次数密钥,并发送给移动设备202;接收单元401:接收移动设备202发送的请求数据的报文;控制单元402:判断移动设备所发送的请求是否合法;根据移动设备202发送的请求数据,获得根密钥,使用移动设备202发送的交易计数器的值分散根密钥,得到限制次数密钥。合法性判断包括:判断发送的交易计数器的值是否合规;例如在步骤S11中的预定规则是只在交易计数器的值是偶数时才发送请求,这时密钥生成服务器201要判断移动设备202所发送的交易计数器的值是否是偶数,并且是否比上次该移动设备202所发送的交易计数器的值大2。合法性判断还可以包括:移动设备202的信息是否和当前帐户匹配、移动设备202的执行环境是否安全等。如果以上检查不通过,则要执行对应的安全管理策略,比如可以停止该账户等。可例如通过请求数据中包括的移动设备的识别信息获得密钥生成服务器201保存的根密钥,使用获得的根密钥通过使用交易计数器的值进行分散,生成限制次数密钥。其中分散方法可以使用已知的各种方法,例如使用一个16字节的3DES密钥对分散数据进行处理,从而推导出一个双长度的生成密钥。生成密钥的左半部分是将分散数据的最右8个字节作为输入数据,将双长度密钥作为加密密钥,对输入数据进行3DES运算;生成密钥的右半部分是将分散数据的最右8个字节取反之后作为输入数据,将双长度密钥作为加密密钥,对输入数据进行3DES运算。将获得的生成密钥的左半部分和右半部分合并,即获得生成密钥。发送单元403:向移动设备202发送控制单元生成的限制次数密钥。可通过密钥生成服务器201和移动设备202之间的安全信道将限制次数密钥发送给移动设备202。三、脱机交易装置203脱机交易装置203的结构如图5所示,包括:交易处理部件501:在移动设备202放到脱机交易装置203有效操作的范围内时,给移动设备202发送指令;取得移动设备的交易计数器的值以及限制次数密钥的相关信息;向移动设备202发送初始化交易指令和MAC1等信息。初始化交易指令包括脱机交易装置203的编号、密钥索引号、交易金额信息等。安全控制部件502:在接收到移动设备202发送的限制次数密钥的相关信息时,生成MAC1;使用MAC2判断移动设备202的合法性;安全控制部件502根据移动设备202提供的交易计数器的值分散消费主密钥,从而得到用于本次交易的过程密钥。用本次交易的过程密钥对交易数据例如交易前余额、交易金额、脱机交易装置203的编号、交易类型等运算得到一串密文MAC1。用过程密钥对和生成MAC2时使用的交易数据同样的数据计算一串密文,并将该计算获得的密文和MAC2进行比较,如果比对成功,则表示脱机交易装置203对移动设备202认证成功。这笔交易成功。如果比对失败,那么脱机交易装置203就认定该笔交易失败。下面结合图6介绍该系统的工作流程:步骤S0、移动设备接收到消费请求时,读取交易计数器的值,判断交易计数器的值是否满足预定规则;如果满足则继续步骤S1,如果不满足则跳转到步骤S3;其中移动设备202为每个非接触CPU应用设置一个单独的交易计数器,用于标识非接触CPU应用的交易。每交易一次,这个值加1,只能递增,不能减少。例如可使用交易序列号作为交易计数器,交易序列号是移动设备上保存的一个字段。预定规则可由移动设备202的每个非接触CPU应用预先设定,预定规则规定了每个非接触CPU应用所请求获得的限制次数密钥的使用次数。例如预定规则可以是直接规定限制次数密钥可以使用的次数,超过该次数就要重新获得限制次数密钥;或者预定规则可以是判断交易计数器的值是奇数还是偶数,如果是奇数则交易计数器使用上次获得的限制次数密钥进行交易,从而使得一个限制次数密钥可以使用两次。也可以使用其它的预定规则,从而实现预定的限制次数密钥可以使用的次数。步骤S1、移动设备向密钥生成服务器发送生成限制次数密钥的请求数据;具体包括如下步骤:步骤S11、移动设备202准备要发送的请求数据;请求数据中包括当前交易计数器的值;请求数据中还可以包括移动设备202的识别信息、移动设备202的自检信息等;步骤S12、移动设备202和服务器201之间相互认证,如果认证通过则建立加密信道进行通信;认证手段可包括多种形式,例如用户名、密码或者生物认证等等。加密信道的建立可包括移动设备202和服务器201之间建立虚拟加密信道,该虚拟加密信道用以在相互信任的移动设备和服务器之前传递加密信息。步骤S13、移动设备202将请求数据按照一定报文格式组织成报文;步骤S14、移动设备202将请求数据传递给服务器201;通过步骤S12中建立的加密信道传递请求数据。步骤S2、密钥生成服务器201生成限制次数密钥,并发送给移动设备202;该步骤包括如下子步骤:步骤S21、密钥生成服务器201判断移动设备所发送的请求是否合法;合法性判断包括:判断发送的交易计数器的值是否合规;例如在步骤S11中的预定规则是只在交易计数器的值是偶数时才发送请求,这时密钥生成服务器201要判断移动设备202所发送的交易计数器的值是否是偶数,并且是否比上次该移动设备202所发送的交易计数器的值大2,。合法性判断还可以包括:移动设备202的信息是否和当前帐户匹配、移动设备202的执行环境是否安全等。如果以上检查不通过,则要执行对应的安全管理策略,比如可以停止该账户等。步骤S22、密钥生成服务器201根据移动设备202发送的请求数据,获得根密钥,使用移动设备202发送的交易计数器的值分散根密钥,得到限制次数密钥。可例如通过请求数据中包括的移动设备的识别信息获得密钥生成服务器201保存的根密钥,使用获得的根密钥通过使用交易计数器的值进行分散,生成限制次数密钥。其中分散方法可以使用已知的各种方法,例如使用一个双长度的密钥对分散数据进行处理,从而推导出一个双长度的生成密钥。生成密钥的左半部分是将分散数据的最右8个字节作为输入数据,将双长度密钥作为加密密钥,对输入数据进行3DES运算;生成密钥的右半部分是将分散数据的最右8个字节取反之后作为输入数据,将双长度密钥作为加密密钥,对输入数据进行3DES运算。将获得的生成密钥的左半部分和右半部分合并,即获得生成密钥。步骤S23、密钥生成服务器201通过安全信道将限制次数密钥发送给移动设备202。步骤S3、移动设备202向脱机交易装置203发出应答信息;应答信息中包括交易计数器的值;包括如下子步骤:步骤S31、移动设备202放到脱机交易装置203可有效操作的范围内。步骤S32、脱机交易装置203给移动设备202发送指令,取得移动设备上的相关信息,例如移动设备上应用的应用序列号、城市信息、行业信息等。步骤S33、脱机交易装置203给移动设备202发送初始化交易指令;初始化交易指令包括脱机交易装置203的编号、密钥索引号、交易金额信息等。步骤S34、移动设备202向脱机交易装置203返回交易计数器的值以及限制次数密钥的相关信息;限制次数密钥的相关信息包括密钥版本、算法标识等;移动设备202还可以向脱机交易装置203发送余额、透支限额、伪随机数等数据。步骤S4、移动设备202验证脱机交易装置203的合法性,如果合法则继续步骤S5,否则退出该方法。该步骤包括如下子步骤:步骤S41、脱机交易装置203生成MAC1,并发送给移动设备202;脱机交易装置203根据移动设备202提供的交易计数器的值分散消费主密钥,从而得到用于本次交易的过程密钥。其分散方法如上所述。脱机交易装置203用本次交易的过程密钥对交易数据例如交易前余额、交易金额、脱机交易装置203的编号、交易类型等运算得到一串密文MAC1。脱机交易装置203将MAC1等信息发送给移动设备202。步骤S42、移动设备202验证MAC1的合法性。移动设备202用限制次数密钥对交易信息做运算,得到一串密文并和MAC1比对,如果比对成功则表示移动设备202成功认证了脱机交易装置203。如果不成功,则移动设备202拒绝交易。如果移动设备202对脱机交易装置203认证成功,就会再用限制次数密钥对其它一些交易数据例如交易金额等做运算,得到MAC2。步骤S5、脱机交易装置203判断移动设备202的合法性。包括如下子步骤:步骤S51、移动设备202将MAC2发送给脱机交易装置203。步骤S52、脱机交易装置203用过程密钥对和生成MAC2时使用的交易数据同样的数据计算一串密文,并将该计算获得的密文和MAC2进行比较,如果比对成功,则表示脱机交易装置203对移动设备202认证成功。这笔交易成功。如果比对失败,那么脱机交易装置203就认定该笔交易失败。本申请还提供了一种生成安全密钥的方法,该方法包括如下步骤:步骤L0、移动设备读取交易计数器的值,判断交易计数器的值是否满足预定规则;如果满足则继续步骤S1,如果不满足则结束该方法;步骤L1、移动设备向密钥生成服务器发送生成限制次数密钥的请求数据;步骤L2、密钥生成服务器生成限制次数密钥,并发送给移动设备。其中步骤L0、L1和L2的具体实现细节和上述步骤S0、S1和S2相同,区别仅在于步骤S0是在移动设备接收到消费请求时,读取交易计数器的值,而本方法的移动设备读取交易计数器的值的时机可预先设定,例如在交易计数器的值小于一定值时,或者定期判断交易计数器的值。本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1