一种智能卡支付系统
技术领域
本发明涉及使用对称密钥加密的用户智能卡的支付系统的密钥管理。
背景技术
目前的智能卡支付系统有两种加密模式:一种使用非对称密钥加密算法,发卡单位将非对称密钥的私钥注入到用户智能卡中,将非对称密钥的公钥设置到支付终端中,用户智能卡与支付终端通过非对称密钥的私钥和公钥相互认证而完成交易;只要在支付终端中设置多个单位的非对称密钥的公钥,支付终端就可以支持多个单位发行的用户智能卡。另一种使用对称密钥加密算法,发卡单位将对称密钥注入到用户智能卡和PSAM卡,用户智能卡与支付终端中的PSAM卡通过分散相关联的两个密钥相互认证而完成交易;对称密钥加密算法的用户卡只能在具有与该用户卡对应密钥的PSAM卡的终端上使用。
对称密钥加密算法的智能卡支付系统一般由发卡单位单独运作,发卡单位发行用户卡和PSAM卡,布置支付终端,发行的用户卡只能在安装有该单位发行的PSAM卡的支付终端上执行脱机消费交易。一般情况,对称密钥加密的用户卡中设有密钥模块,密钥模块包含消费密钥DPK、TAC密钥DTK、圈存密钥DLK;PSAM卡中设有密钥模块,密钥模块包含消费密钥PK;发卡方系统平台设有密钥模块,密钥模块包含消费密钥PK 、TAC密钥TK、圈存密钥LK。其中,PSAM卡中的消费密钥PK与系统平台上的消费密钥PK相同;消费密钥DPK与消费密钥PK分散相关联,TAC密钥DTK与TAC密钥TK分散相关联,圈存密钥DLK与圈存密钥LK分散相关联。所述“分散相关联”包括卡片中的密钥与系统平台上的密钥相同;或者,卡片中的密钥是由系统平台的密钥分散后得到的,实现一卡一钥,分散因子至少包括卡片序号。PSAM卡中的消费密钥PK与用户卡中的消费密钥DPK相互认证而完成脱机消费交易;用户卡中的圈存密钥DLK与系统平台的圈存密钥LK相互认证而完成联机圈存交易。为了安全,系统平台上的密钥一般被注入到加密机中,系统平台的加密运算都在加密机内部完成。密钥可以被注入到加密机中并在加密机内部参与加密计算,但不能以明文的方式读取出来。
可以在相关单位的终端上配置该单位发行的PSAM卡使其它单位的终端支持该单位发行的用户卡执行脱机消费交易;在该单位终端上配置由相关单位提供的PSAM卡使该单位的终端支持其它单位发行的用户卡执行脱机消费交易。可是,相关单位的个数限制于支付终端上PSAM卡卡座的个数。如果支付终端需要支持更多发卡单位的用户卡,最好的方式是能将发卡单位的消费密钥注入到该支付终端的PSAM卡中,而目前还没有一种安全的方式能将发卡单位的消费密钥注入到其它单位的PSAM卡中。
为了解决上述将对称密钥加密的智能卡支付系统的消费密钥注入到其它单位的PSAM卡中的技术问题,本发明提供一种智能卡支付系统,以一种安全的方式将用户卡发卡单位的消费密钥注入到其它单位的PSAM卡中。
发明内容
本发明要解决的技术问题在于:将对称密钥加密的智能卡支付系统的消费密钥注入到其它单位的PSAM卡中的技术问题。智能卡包括用户智能卡和PSAM智能卡,本发明将用户智能卡简称为用户卡,将PSAM智能卡简称为PSAM卡。
本发明的目的在于解决将对称密钥加密的智能卡支付系统的消费密钥注入到其它单位的PSAM卡中的技术问题,使支付终端能支持多家单位发行的对称密钥加密的用户卡执行脱机消费交易。
本发明将在“将对称密钥加密的智能卡支付系统的消费密钥注入到其它单位的PSAM卡中”的流程中,提供消费密钥的单位定义为“密钥提供方”,密钥提供方为用户卡的发卡方,使该单位的用户卡能在“其它单位”的终端上使用;接受密钥提供方的消费密钥并将该消费密钥注入到PSAM卡中的一方定义为“密钥接受方”,密钥接受方为PSAM卡的发卡方,将密钥提供方的消费密钥注入到该单位的PSAM卡中,使该单位的PSAM卡能支持密钥提供方的用户卡。密钥提供方与密钥接受方只是在“将消费密钥注入到其它单位的PSAM卡”的过程中相对而言;同一家发卡单位,在接受其它单位的消费密钥并将消费密钥注入到该单位的PSAM卡的过程中,该单位为密钥接受方;在向其它单位提供该单位的消费密钥并由其它单位将消费密钥注入到其它单位的PSAM卡的过程中,该单位为密钥提供方。
为了实现本发明的目的,本发明引入“第三方”,所述第三方,是指相对于密钥提供方和密钥接受方而言,是一家金融单位或组织;用户卡和PSAM卡仍然由发卡单位发行,第三方在发卡单位发行的卡片中注入部分密钥,管理和组织多家单位的智能卡的脱机消费交易。
为了实现本发明的目的,本发明提供一种智能卡支付系统,所述系统包括第三方系统平台、密钥接受方系统平台和密钥提供方系统平台、PSAM卡、用户卡和支付终端,其特征在于:
第三方系统平台设有密钥传输模块,所述密钥传输模块包含非对称密钥加密的传输密钥IK_X,所述传输密钥IK_X包括公钥IK1_X和私钥IK2_X, 其中,公钥IK1_X提供给密钥提供方系统平台,私钥IK2_X注入到密钥接受方的PSAM卡中;
密钥接受方系统平台设有密钥传输模块,所述密钥传输模块包含非对称密钥加密的传输密钥IK_R,所述传输密钥IK_R包括公钥IK1_R和私钥IK2_R, 其中,公钥IK1_R提供给密钥提供方系统平台,私钥IK2_R注入到密钥接受方的PSAM卡中;
密钥提供方系统平台设有密钥传输模块,所述密钥传输模块包含非对称密钥加密的传输密钥的公钥IK1_X和IK1_R,所述公钥IK1_X和IK1_R计算相关联,用于对密钥提供方系统平台的消费密钥进行加密;
PSAM卡中设有密钥传输模块,所述密钥传输模块包含非对称密钥加密的传输密钥的私钥IK2_X和IK2_R,所述私钥IK2_X和IK2_R计算相关联,用于对密钥提供方系统平台提供的加密后的消费密钥进行解密。
本发明所述“系统平台”,至少包括加密机、业务处理机,是第三方、密钥接受方、密钥提供方处理智能卡交易的业务平台。
本发明所述的“传输密钥”,是指注入密钥提供方的消费密钥时对在线路上传输的密钥数据进行加密的密钥,而不是指“主控密钥”、“维护密钥”或其它意义的密钥。
本发明将传输密钥简称为IK,将消费密钥简称为PK,将TAC密钥简称为TK,将圈存密钥简称为LK;第三方维护的传输密钥简称为IK_X,密钥接受方维护的传输密钥简称为IK_R。第三方维护的非对称密钥加密的传输密钥IK_X中,IK1_X表示传输密钥IK_X的公钥,IK2_X表示传输密钥IK_X的私钥;密钥接受方维护的非对称密钥加密的传输密钥IK_R中,IK1_R表示传输密钥IK_R的公钥,IK2_R表示传输密钥IK_R的私钥。
本发明所述的密钥“计算相关联”,是指执行相关业务的加密运算时需要两个或两个以上的密钥一起参与加密运算;所述密钥分别由第三方和发卡方维护。也不是说这个密钥只存在两个或两个以上的密钥数据实体,当这个密钥有多个版本时,则具有相同用途的多个密钥数据实体。
根据上述一种智能卡支付系统的一种优选实施方式,所述密钥提供方的消费密钥注入到密钥接受方的PSAM卡中的流程包括以下步骤:
Q1、第三方系统平台产生非对称密钥加密的传输密钥IK_X,将传输密钥IK_X的公钥IK1_X提供给密钥提供方系统平台,将传输密钥IK_X的私钥IK2_X注入到密钥接受方的PSAM卡中;
Q2、密钥接受方系统平台产生非对称密钥加密的传输密钥IK_R,将传输密钥IK_R的公钥IK1_R提供给密钥提供方系统平台,将传输密钥IK_R的私钥IK2_R注入到密钥接受方的PSAM卡中;
Q3、密钥提供方系统平台使用传输密钥IK_R的公钥IK1_R和传输密钥IK_X的公钥IK1_X对该密钥提供方的消费密钥PK加密得到加密数据PKD1,将加密数据PKD1发送到密钥接受方的PSAM卡;
Q4、密钥接受方的PSAM卡使用传输密钥IK_X的私钥IK2_X和传输密钥IK_R的私钥IK2_R对加密数据PKD1解密得到密钥提供方的消费密钥PK,将该消费密钥PK记录。
分别由第三方系统平台和密钥接受方系统平台在PSAM卡中注入传输密钥私钥IK2_X和传输密钥IK2_R,并且传输密钥IK2_X和传输密钥IK2_R计算相关联,使得第三方和密钥接受方都不能轻易地获取密钥提供方的消费密钥。
注入了多家发卡单位消费密钥后的PSAM卡,能支持多家单位发行的用户卡执行脱机消费交易;只有在消费密钥的注入过程中才区分密钥提供方和密钥接受方,将消费密钥注入到其它单位的PSAM卡后,用户卡脱机消费交易的TAC依然由用户卡发卡方系统平台验证,圈存交易依然由用户卡发卡方系统平台处理。
如附图1,PSAM卡P1_R和用户卡U1_R由单位R发行,用户卡U1_S由单位S发行,本示例将单位S的消费密钥PK_S注入到单位R的PSAM卡P1_R中。第三方系统平台F1_X设有密钥传输模块IKMF_X,密钥传输模块IKMF_X包含非对称密钥加密的传输密钥IK_X,传输密钥IK_X包括公钥IK1_X和私钥IK2_X,公钥IK1_X提供给密钥提供方S的系统平台F1_S,私钥IK2_X注入到PSAM卡P1_R中;密钥接受方R的系统平台F1_R设有密钥传输模块IKMF_R,密钥传输模块IKMF_R包含非对称密钥加密的传输密钥IK_R,传输密钥IK_R包括公钥IK1_R和私钥IK2_R,公钥IK1_R提供给密钥提供方S的系统平台F1_S,私钥IK2_R注入到PSAM卡P1_R中;密钥提供方S的系统平台F1_S设有密钥传输模块IKM_S,密钥传输模块IKM_S包含非对称密钥加密的传输密钥的公钥IK1_X和IK1_R,公钥IK1_X和IK1_R计算相关联,用于对密钥提供方S的系统平台F1_S的消费密钥PK_S加密成数据PKD1;PSAM卡P1_R中设有密钥传输模块IKMP_R,密钥传输模块IKMP_R包含非对称密钥加密的传输密钥的私钥IK2_X和IK2_R,私钥IK2_X和IK2_R计算相关联,用于从密钥提供方S的系统平台F1_S提供的加密后的消费密钥PKD1中解密出密钥提供方S的系统平台F1_S消费密钥PK_S,解密后的消费密钥PK_S由PSAM卡P1_R记录。注入了消费密钥PK_S的PSAM卡P1_R可以支持密钥提供方S发行的用户卡U1_S执行脱机消费交易。同理,多家单位都使用该模式,相互在各家单位的PSAM卡中注入其它单位的消费密钥,则各家单位的PSAM卡能支持多家单位的用户卡执行脱机消费交易。
根据上述一种智能卡支付系统的一种优选实施方式,
第三方系统平台的密钥传输模块包含对称密钥加密的传输密钥IKA_X;
密钥提供方系统平台的密钥传输模块包含对称密钥加密的传输密钥IKA_X,用于与非对称密钥加密的传输密钥的公钥IK1_X和IK1_R一起对密钥提供方系统平台的消费密钥进行加密,所述传输密钥IKA_X由第三方系统平台注入;
PSAM卡中的密钥传输模块包含对称密钥加密的传输密钥DIKA_X,用于与非对称密钥加密的传输密钥的私钥IK2_X和IK2_R一起对密钥提供方系统平台提供的加密后的消费密钥进行解密,所述传输密钥DIKA_X与第三方系统平台的传输密钥IKA_X分散相关联,由第三方系统平台注入。
根据上述一种智能卡支付系统的一种优选实施方式,所述密钥提供方的消费密钥注入到密钥接受方的PSAM卡中的流程包括以下步骤:
R1、第三方系统平台产生非对称密钥加密的传输密钥IK_X,将传输密钥IK_X的公钥IK1_X提供给密钥提供方系统平台,将传输密钥IK_X的私钥IK2_X注入到密钥接受方的PSAM卡中;将与对称密钥加密的传输密钥IKA_X分散相关联的传输密钥DIKA_X注入到密钥接受方的PSAM卡中;
R2、密钥接受方系统平台产生非对称密钥加密的传输密钥IK_R,将传输密钥IK_R的公钥IK1_R提供给密钥提供方系统平台,将传输密钥IK_R的私钥IK2_R注入到密钥接受方的PSAM卡中;
R3、第三方系统平台将对称密钥加密的传输密钥IKA_X注入到密钥提供方系统平台;
R4、密钥接受方的PSAM卡产生随机数R,将随机数R发送到密钥提供方系统平台;
R5、密钥提供方系统平台用与传输密钥IKA_X分散相关联的传输密钥DIKA_X对随机数R加密得到加密数据PKD2,用加密数据PKD2作为密钥对该密钥提供方的消费密钥PK加密得到加密数据PKD3,用非对称密钥加密的传输密钥公钥IK1_R和传输密钥公钥IK1_X对加密数据PKD3加密得到加密数据PKD5;将加密数据PKD5发送到密钥接受方的PSAM卡;
R6、密钥接受方的PSAM卡使用非对称密钥加密的传输密钥私钥IK2_X和传输密钥私钥IK2_R对加密数据PKD5解密得到加密数据PKD3,用对称密钥加密的传输密钥DIKA_X对随机数R加密得到加密数据PKD2,用加密数据PKD2作为密钥对加密数据PKD3解密得到密钥提供方的消费密钥PK,将该消费密钥PK记录。
本发明在密钥前面增加字符“D”表示卡片中密钥与系统平台密钥的分散相关联;所述分散相关联为卡片中密钥与系统平台中对应的密钥相同,或者,卡片中密钥是由系统平台中对应的密钥经过相关数据分散后得到的密钥。
所述对称密钥加密的传输密钥IKA_X由第三方使用密钥传输卡注入到密钥提供方的加密机中;注入到密钥提供方的加密机中的对称密钥加密的传输密钥IKA_X只能执行加密运算;该功能可以由密钥提供方的加密机的操作系统加以限制来实现。
使用两个计算相关联的非对称密钥加密的密钥、一个对称密钥加密的密钥和随机数一起参与密钥传输的加密运算,增加了不法分子破解密钥提供方消费密钥的难度;第三方和密钥接受方也不容易单独破解出密钥提供方的消费密钥;而第三方和密钥接受方的几个密钥管理人员勾结起来破解密钥提供方的消费密钥的可能性比密钥接受方单独发行卡片方式时由密钥管理人员泄露消费密钥的可能性更小。
如附图2,PSAM卡P1_R和用户卡U1_R由单位R发行,用户卡U1_S由单位S发行,本示例将单位S的消费密钥PK_S注入到单位R的PSAM卡P1_R中。第三方系统平台F1_X的密钥传输模块IKMF_X包含对称密钥加密的传输密钥IKA_X和非对称密钥加密的传输密钥IK_X;密钥提供方S的系统平台F1_S的密钥传输模块IKM_S包含对称密钥加密的传输密钥IKA_X、非对称密钥加密的传输密钥公钥IK1_X和公钥IK1_R,传输密钥IKA_X、IK1_X和IK1_R一起对密钥提供方S的系统平台F1_S的消费密钥PK_S进行加密成加密数据PKD5,所述传输密钥IKA_X和IK1_X由第三方系统平台F1_X注入,传输密钥IK1_R由密钥接受方R的系统平台F1_R注入;PSAM卡P1_R中的密钥传输模块IKMP_R,包含对称密钥加密的传输密钥DIKA_X,用于与传输密钥IK2_X、IK2_R一起从密钥提供方S的系统平台F1_S提供的加密的消费密钥PKD5中解密出密钥提供方S的系统平台F1_S的消费密钥PK_S,所述传输密钥DIKA_X与第三方系统平台的传输密钥IKA_X分散相关联,由第三方系统平台注入。
在上述模式中,密钥提供方的消费密钥加密后在线路上传输,为不法份子破解密钥提供方的消费密钥提供了理论上的可能,收单单位提交给发卡单位的脱机消费交易记录也缺少仲裁机制。
根据上述一种智能卡支付系统的一种优选实施方式,
所述第三方系统平台设有密钥扩展模块,所述密钥扩展模块包含对称密钥加密的消费PK_X和TAC密钥TK_X;
PSAM卡中设有密钥扩展模块,所述密钥扩展模块包含对称密钥加密的消费密钥PK_X,用于与消费密钥PK一起参与脱机消费交易的加密计算,所述消费密钥PK_X由第三方系统平台注入;
用户卡中设有密钥扩展模块,所述密钥扩展模块包含与消费密钥PK_X分散相关联的消费密钥DPK_X和与TAC密钥TK_X分散相关联的TAC密钥DTK_X,所述消费密钥DPK_X用于与消费密钥DPK一起参与脱机消费交易的加密计算,所述TAC密钥DTK_X用于脱机消费交易的TAC_X加密计算,所述消费密钥DPK_X和TAC密钥DTK_X由第三方系统平台注入。
根据上述一种智能卡支付系统的一种优选实施方式,所述用户卡在支付终端上执行脱机消费交易的流程包括以下步骤:
S1、支付终端接受用户卡;根据用户卡中的发卡单位标识确定用户卡的消费密钥PK_X序号和消费密钥PK序号;
S2、用户卡执行脱机消费交易初始化;
S3、PSAM卡计算MAC1:支付终端将至少包含消费密钥PK_X序号和消费密钥PK序号的计算MAC1的命令发送到PSAM卡;PSAM卡使用命令中消费密钥PK_X序号指定的消费密钥PK_X和消费密钥PK序号指定的消费密钥PK计算MAC1;
S4、用户卡执行脱机消费交易:用户卡使用消费密钥DPK_X和消费密钥DPK验证MAC1和产生MAC2,使用TAC密钥DTK产生TAC,使用TAC密钥DTK_X产生TAC_X,减少卡片余额;
S5、PSAM卡验证MAC2;
S6、用户卡发卡方系统平台验证TAC;交易完成。
第三方在发卡时在用户卡中注入与消费密钥PK_X分散相关联的消费密钥DPK_X和与TAC密钥TK_X分散相关联的TAC密钥DTK_X,在PSAM卡中注入消费密钥PK_X;在将密钥提供方的消费密钥注入到其它单位的PSAM卡中时,只需要注入密钥提供方的消费密钥PK;而消费密钥DPK_X与消费密钥DPK一起参与脱机消费交易的加密运算,进一步保证了系统的安全;脱机消费交易中用户卡使用TAC密钥DTK_X产生TAC_X,当收单单位提交给发卡单位的脱机消费交易记录存在争议时,通过TAC_X验证交易的合法性。
如附图2,PSAM卡P1_R和用户卡U1_R由单位R发行,用户卡U1_S由单位S发行,单位S的消费密钥PK_S已经注入到单位R的PSAM卡P1_R中;第三方系统平台F1_X设有密钥扩展模块EKMF_X,密钥扩展模块EKMF_X包含对称密钥加密的消费密钥PK_X和TAC密钥TK_X;单位R的系统平台F1_R设有密钥模块KMF_R,密钥模块KMF_R包含对称密钥加密的消费密钥PK_R和TAC密钥TK_R;PSAM卡P1_R中设有密钥模块KMP_R,密钥模块KMP_R包含消费密钥PK_R;PSAM卡P1_R中设有密钥扩展模块EKMP_R,密钥扩展模块EKMP_R包含对称密钥加密的消费密钥PK_X,用于与消费密钥PK一起参与脱机消费交易的加密计算,所述消费密钥PK_X由第三方系统平台F1_X注入;用户卡U1_R中设有密钥模块KMU_R,密钥模块KMU_R包含与消费密钥PK_R分散相关联的消费密钥DPK_R和与TAC密钥TK_R分散相关联的TAC密钥DTK_R;用户卡U1_R中设有密钥扩展模块EKMU_R,密钥扩展模块EKMU_R包含与消费密钥PK_X分散相关联的消费密钥DPK_X和与TAC密钥TK_X分散相关联的TAC密钥DTK_X,消费密钥DPK_X用于与消费密钥DPK_R一起参与脱机消费交易的加密计算,TAC密钥DTK_X用于脱机消费交易的TAC_X加密计算,消费密钥DPK_X和TAC密钥DTK_X由第三方系统平台F1_X注入;单位S的系统平台F1_S设有密钥模块KMF_S,密钥模块KMF_S包含对称密钥加密的消费密钥PK_S和TAC密钥TK_S;用户卡U1_S中设有密钥模块KMU_S,密钥模块KMU_S包含与消费密钥PK_S分散相关联的消费密钥DPK_S和与TAC密钥TK_S分散相关联的TAC密钥DTK_S;用户卡U1_S中设有密钥扩展模块EKMU_S,密钥扩展模块EKMU_S包含与消费密钥PK_X分散相关联的消费密钥DPK_X和与TAC密钥TK_X分散相关联的TAC密钥DTK_X,消费密钥DPK_X用于与消费密钥DPK_S一起参与脱机消费交易的加密计算,TAC密钥DTK_X用于脱机消费交易的TAC_X加密计算,消费密钥DPK_X和TAC密钥DTK_X由第三方系统平台F1_X注入;在将单位S的消费密钥注入到单位R的PSAM卡P1_R中时,只需要注入单位S的消费密钥PK_S,与消费密钥PK_S计算相关联的消费密钥PK_X在发卡时候已经注入;当用户卡U1_S在含有PSAM卡P1_R的终端T1_R上执行脱机消费交易时,用户卡的消费密钥DPK_X和DPK_S与PSAM卡P1_R上的消费密钥PK_X和PK_S相互认证而完成交易。
上述方式中,密钥提供方的不法分子得到第三方维护的密钥就有可能制造伪卡,而其它单位的不法份子则需要得到第三方维护的密钥和密钥提供方维护的密钥才能制造伪卡。本发明通过跟踪密钥提供方的充值圈存记录来及时发现可能出现的伪卡。
根据上述一种智能卡支付系统的一种优选实施方式,
第三方系统平台的密钥扩展模块包含对称密钥加密的圈存密钥LK_X;
用户卡中的密钥扩展模块包含对称密钥加密的与圈存密钥LK_X分散相关联的圈存密钥DLK_X,用于与圈存密钥DLK一起参与圈存交易的加密计算,所述圈存密钥DLK_X由第三方系统平台注入。
根据上述一种智能卡支付系统的一种优选实施方式,所述用户卡执行圈存交易的流程包括以下步骤:
T1、用户卡使用圈存密钥DLK计算MAC1,将包含MAC1的圈存请求发送到用户卡发卡方系统平台;
T2、用户卡发卡方系统平台使用圈存密钥DLK验证请求中MAC1的有效性,使用圈存密钥DLK计算圈存执行命令中的MAC21,将MAC21发送到第三方系统平台;
T3、第三方系统平台使用圈存密钥DLK_X对MAC21加密得到MAC2,将MAC2发送到用户卡发卡方系统平台;
T4、用户卡发卡方系统平台将包含MAC2的圈存命令发送到用户卡;
T5、用户卡使用圈存密钥DLK和圈存密钥DLK_X验证圈存执行命令中MAC2的有效性,增加卡上余额。
如附图2,PSAM卡P1_R和用户卡U1_R由单位R发行;第三方系统平台F1_X的密钥扩展模块EKMF_X包含对称密钥加密的圈存密钥LK_X;单位R的系统平台F1_R的密钥模块KMF_R包含对称密钥加密的圈存密钥LK_R;用户卡U1_R中的密钥模块KMU_R包含与圈存密钥LK_R分散相关联的圈存密钥DLK_R;用户卡U1_R中的密钥扩展模块EKMU_R包含与圈存密钥LK_X分散相关联的圈存密钥DLK_X,圈存密钥DLK_X用于与圈存密钥DLK_R一起参与圈存交易的加密计算,圈存密钥DLK_X由第三方系统平台F1_X注入。当用户卡U1_R执行圈存交易时,用户卡的圈存密钥DLK_X和DLK_R与第三方系统平台F1_X的圈存密钥LK_X和单位R的系统平台F1_R的圈存密钥LK_R相互认证而完成交易。
当某家单位需要退出该系统而独立运作时,因为用户卡中的圈存密钥LK2已经注入无需修改,只需要修改用户卡中的圈存密钥LK_X,可以在终端上直接进行修改而不存在安全问题,故无需收回用户卡,方便实用。
本发明提供一种智能卡支付系统,在本系统内发行的用户卡能在系统内所有单位布置的终端上执行脱机消费交易,又保证了支付系统的安全。使用64位长度密钥的对称密钥加密DES算法至今没有过被破解的先例,如果本发明使用192位长度的密钥,又经过由两个单位维护的两个密钥一起参与加密运算,则被破解的可能性可以说不存在,而支付速度又比非对称密钥加密的智能卡快得多。设置有PSAM卡的支付终端能支持非对称密钥加密算法的用户卡,无需重复投资。
附图说明
图1为本发明使用两个计算相关联的非对称密钥加密的传输密钥IK_X和IK_R将密钥提供方S的系统平台F1_S的消费密钥PK_S注入到密钥接受方的PSAM卡P1_R中的结构示意简图;附图说明与附图2中描述的一致。
图2为包含本发明的密钥传输模块和密钥扩展模块,将密钥提供方S的消费密钥PK_S注入到密钥接受方R的PSAM卡P1_R中的结构示意图;其中,
X:第三方;
F1_X:第三方系统平台;
IKMF_X:第三方系统平台F1_X中的密钥传输模块;
IKA_X:密钥传输模块IKMF_X中的对称密钥加密的传输密钥;
IK_X:密钥传输模块IKMF_X中的非对称密钥加密的传输密钥;
IK1_X:传输密钥IK_X的公钥,提供给密钥提供方S的系统平台F1_S;
IK2_X:传输密钥IK_X的私钥,注入到PSAM卡P1_R中;
EKMF_X:第三方系统平台F1_X的密钥扩展模块;
PK_X:密钥扩展模块EKMF_X中的消费密钥;
TK_X:密钥扩展模块EKMF_X中的TAC密钥;
LK_X:密钥扩展模块EKMF_X中的圈存密钥;
R:单位R,在本发明的消费密钥注入过程示例中为密钥接受方;
F1_R:单位R的系统平台;
IKMF_R:单位R的系统平台F1_R中的密钥传输模块;
IK_R:密钥传输模块IKMF_R中的非对称密钥加密的传输密钥;
IK1_R:传输密钥IK_R的公钥,提供给密钥提供方S的系统平台F1_S;
IK2_R:传输密钥IK_R的私钥,注入到PSAM卡P1_R中;
KMF_R:单位R的系统平台F1_R的密钥模块;
PK_R:密钥模块KMF_R中的消费密钥;
TK_R:密钥模块KMF_R中的TAC密钥;
LK_R:密钥模块KMF_R中的圈存密钥;
T1_R:单位R的支付终端,终端中设置有PSAM卡P1_R;
P1_R:单位R发行的PSAM卡;
IKMP_R:PSAM卡P1_R中的密钥传输模块;
DIKA_X:与IKMF_X中的传输密钥IKA_X分散相关联的传输密钥;
IK2_X:传输密钥IK_X的私钥;
IK2_R:传输密钥IK_R的私钥;
KMP_R:PSAM卡P1_R的密钥模块;
PK_R:密钥模块KMP_R中的消费密钥;
EKMP_R:PSAM卡P1_R的密钥扩展模块;
PK_X:密钥扩展模块EKMP_R中,与EKMF_X中的PK_X相同的消费密钥;
PK_S:注入到密钥扩展模块EKMP_R中,单位S的消费密钥;
U1_R:单位R发行的用户卡;
EKMU_R:用户卡U1_R中的密钥扩展模块;
DPK_X:与EKMF_X中的消费密钥PK_X分散相关联的消费密钥;
DTK_X:与EKMF_X中的TAC密钥TK_X分散相关联的TAC密钥;
DLK_X:与EKMF_X中的圈存密钥LK_X分散相关联的圈存密钥;
KMU_R:用户卡U1_R中的密钥模块;
DPK_R:与KMF_R中的消费密钥PK_R分散相关联的消费密钥;
DTK_R:与KMF_R中的TAC密钥TK_R分散相关联的TAC密钥;
DLK_R:与KMF_R中的圈存密钥LK_R分散相关联的圈存密钥;
S:单位S,在本发明的消费密钥注入过程示例中为密钥提供方;
F1_S:单位S的系统平台;
IKMF_S:单位S的系统平台F1_S中的密钥传输模块;
IKA_X:密钥传输模块IKMF_S中的对称密钥加密的传输密钥,与IKMF_X中的传输密钥IKA_X相同;
IK1_X:传输密钥IK_X的公钥,由第三方系统平台F1_X提供;
IK1_R:传输密钥IK_R的公钥,由密钥接受方R的系统平台F1_R提供;
KMF_S:单位S的系统平台F1_S的密钥模块;
PK_S:密钥模块KMF_S中的消费密钥;
TK_S:密钥模块KMF_S中的TAC密钥;
LK_S:密钥模块KMF_S中的圈存密钥;
T2_S:单位S的圈存终端;
U1_S:单位S发行的用户卡;
EKMU_S:用户卡U1_S中的密钥扩展模块;
DPK_X:与EKMF_X中的消费密钥PK_X分散相关联的消费密钥;
DTK_X:与EKMF_X中的TAC密钥TK_X分散相关联的TAC密钥;
DLK_X:与EKMF_X中的圈存密钥LK_X分散相关联的圈存密钥;
KMU_S:用户卡U1_S中的密钥模块;
DPK_S:与KMF_S中的消费密钥PK_S分散相关联的消费密钥;
DTK_S:与KMF_S中的TAC密钥TK_S分散相关联的TAC密钥;
DLK_S:与KMF_S中的圈存密钥LK_S分散相关联的圈存密钥。
图3为本发明的发卡流程示意简图;其中,X:第三方;R:发卡方;
TC_X、TC_A、TC_R:密钥传输卡;F1_X:第三方X的系统平台;M_X:第三方X的加密机;F1_R:发卡方R的系统平台;M_R:发卡方R的加密机;P1_R:发卡方R发行的PSAM卡;U1_S:发卡方R发行的用户卡;IK_X:第三方X的非对称密钥加密的传输密钥;IK2_X:传输密钥IK_X的私钥;IK_R:发卡方R的非对称密钥加密的传输密钥;IK2_R:传输密钥IK_R的私钥;KP_X:PSAM卡P1_R中由第三方X注入的密钥;KP_R:PSAM卡P1_R中由发卡方R注入的密钥;KU_X:用户卡U1_S中由第三方X注入的密钥;KU_R:用户卡U1_S中由发卡方R注入的密钥;IKA_X:对称密钥加密的传输密钥;DIKA_X:与IKA_X分散相关联的传输密钥;
PK_X:第三方X的消费密钥;DPK_X:与密钥PK_X分散相关联的消费密钥;
TK_X:第三方X的TAC密钥;DTK_X:与密钥TK_X分散相关联的TAC密钥;
LK_X:第三方X的圈存密钥;DLK_X:与密钥LK_X分散相关联的圈存密钥;
PK_R:发卡方R的消费密钥;DPK_R:与密钥PK_R分散相关联的消费密钥;
TK_R:发卡方R的TAC密钥;DTK_R:与密钥TK_R分散相关联的TAC密钥;
LK_R:发卡方R的圈存密钥;DLK_R:与密钥LK_R分散相关联的圈存密钥。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步详细说明。
依据本发明第一实施例,参照图1,说明本发明中将密钥提供方S的消费密钥PK_S注入到密钥接受方R的PSAM卡P1_R中的流程;流程包括:
1、第三方X的系统平台F1_X产生非对称密钥加密的传输密钥对IK_X,将传输密钥IK_X的公钥IK1_X提供给密钥提供方S的系统平台F1_S,将传输密钥IK_X的私钥IK2_X注入到PSAM卡P1_R中;
2、密钥接受方R的系统平台F1_R产生非对称密钥加密的传输密钥对IK_R,将传输密钥IK_R的公钥IK1_R提供给密钥提供方S的系统平台F1_S,将传输密钥IK_R的私钥IK2_R注入到PSAM卡P1_R中;
3、密钥提供方S的系统平台F1_S使用传输密钥公钥IK1_R和传输密钥公钥IK1_X对该密钥提供方S的消费密钥PK_S加密得到数据PKD1,将数据PKD1发送到密钥接受方R的PSAM卡P1_R中;
4、密钥接受方R的PSAM卡P1_R使用传输密钥私钥IK2_X和传输密钥私钥IK2_R对数据PKD1进行解密得到密钥提供方S的消费密钥PK_S,将该消费密钥PK_S记录;流程完成。
同理,单位R作为密钥提供方,单位S作为密钥接受方,则可以将单位R的消费密钥注入到单位S的PSAM卡中。
依据本发明第二实施例,参照图2,说明本发明中将单位S的消费密钥PK_S同时使用对称密钥加密的传输密钥IKA_X和非对称密钥加密的传输密钥IK_X、IK_R加密后注入到单位R的PSAM卡P1_R中的流程,所述PSAM卡P1_R中的对称密钥加密的传输密钥DIKA_X由PSAM卡序列号分散;流程包括:
1、第三方X的系统平台F1_X产生非对称密钥加密的传输密钥对IK_X,将传输密钥IK_X的公钥IK1_X提供给密钥提供方S的系统平台F1_S,将传输密钥IK_X的私钥IK2_X注入到PSAM卡P1_R中;
2、密钥接受方R的系统平台F1_R产生非对称密钥加密的传输密钥对IK_R,将传输密钥IK_R的公钥IK1_R提供给密钥提供方S的系统平台F1_S,将传输密钥IK_R的私钥IK2_R注入到PSAM卡P1_R中;
3、第三方系统平台F1_X将对称密钥加密的、与传输密钥IKA_X分散相关联的传输密钥DIKA_X注入到PSAM卡P1_R中;
4、密钥接受方R的系统平台F1_R接受第三方X的密钥传输卡,记录密钥传输卡注入的对称密钥加密的传输密钥IKA_X;
5、PSAM卡P1_R产生随机数R,将PSAM卡P1_R的卡序号和随机数R发送到密钥提供方S;
6、密钥提供方S的系统平台F1_S使用对称密钥加密的传输密钥IKA_X对PSAM卡P1_R的序号分散得到PSAM卡P1_R的对称密钥加密的传输密钥DIKA_X,使用传输密钥DIKA_X对随机数R加密得到加密数据PKD2,用加密数据PKD2作为密钥对消费密钥PK_S加密得到加密数据PKD3,用非对称密钥加密的传输密钥公钥IK1_R对加密数据PKD3加密得到数据PKD4,用非对称密钥加密的传输密钥公钥IK1_X对加密数据PKD4加密得到数据PKD5;
7、密钥接受方R的PSAM卡P1_R用非对称密钥加密的传输密钥私钥IK2_X对加密数据PKD5解密得到加密数据PKD4,用非对称密钥加密的传输密钥私钥IK2_R对加密数据PKD4解密得到加密数据PKD3;用对称密钥加密的传输密钥DIKA_X对随机数R加密得到加密数据PKD2,用加密数据PKD2作为密钥对加密数据PKD3解密得到消费密钥PK_S,将该消费密钥PK_S记录;流程完成。
依据本发明第三实施例,参照图2,说明本发明中设置了两个计算相关联消费密钥的单位S发行的用户卡U1_S的电子钱包在单位R的终端T1_R上执行脱机消费交易的流程,所述用户卡U1_S中的密钥由用户卡序号分散,单位S的消费密钥PK_S已经注入到单位R的PSAM卡P1_R中;流程包括:
1、支付终端T1_R接受用户卡U1_S;选择用户卡U1_S的应用,读取用户卡序号;根据用户卡U1_S上的发卡单位标识确定用户卡的消费密钥PK_X和消费密钥PK_S在PSAM卡P1_R中对应密钥的序号;
2、用户卡U1_S执行脱机消费交易初始化:支付终端T1_R将包含消费密钥索引号、交易金额、终端机编号的脱机消费交易初始化命令发送到用户卡U1_S;用户卡U1_S送出包含用户卡电子钱包原始余额、用户卡脱机消费交易序号、透支限额、消费密钥版本号、算法标识和用户卡随机数的响应数据;
3、PSAM卡P1_R计算MAC1:支付终端T1_R将包含消费密钥PK_X序号、消费密钥PK_S序号、用户卡随机数、用户卡脱机消费交易序号、交易金额、交易类型标识、交易日期时间、消费密钥版本号、算法标识、用户卡序号的计算MAC1的命令发送到PSAM卡P1_R;PSAM卡P1_R用命令中消费密钥PK_S序号指定的消费密钥PK_S对用户卡序号分散得到用户卡的消费密钥DPK_S,用命令中消费密钥PK_X序号指定的消费密钥PK_X对用户卡序号分散得到用户卡的消费密钥DPK_X;用消费密钥DPK_S对用户卡随机数、用户卡脱机消费交易序号和终端交易序号的最右2字节数据加密得到加密数据M1D1,用消费密钥DPK_X对M1D1加密得到过程密钥SESPK1;用过程密钥SESPK1对交易金额、交易类型标识、终端机编号、交易日期时间计算MAC得到MAC11;PSAM卡P1_R送出包含终端脱机消费交易序号和MAC11的响应数据;
4、用户卡U1_S执行脱机消费交易:支付终端T1_R将包含终端脱机消费交易序号、交易日期时间和MAC11的脱机消费交易命令发送到用户卡U1_S;用户卡U1_S用消费密钥DPK_S对用户卡随机数、用户卡脱机消费交易序号、终端交易序号的最右2字节数据加密得到加密数据M1D2,用消费密钥DPK_X对M1D2加密得到过程密钥SESPK2;用SESPK2对交易金额、交易类型标识、终端机编号、交易日期时间计算MAC得到MAC12;用户卡U1_S比较MAC11和MAC12;用户卡U1_S用SESPK2对交易金额计算MAC得到MAC21;用TAC密钥DTK_X对交易金额、交易类型标识、终端机编号和交易日期时间计算TAC得到TAC_X1;用TAC密钥DTK_S对交易金额、交易类型标识、终端机编号和交易日期时间计算TAC得到TAC1;用户卡U1_S减少卡片中金额,增加用户卡脱机消费交易序号;用户卡U1_S送出包含TAC_X1、TAC1、MAC21的响应数据;
5、PSAM卡P1_R验证MAC2:支付终端T1_R将包含MAC21的验证MAC2命令发送到PSAM卡P1_R;PSAM卡用SESPK1对交易金额计算MAC得到MAC22;PSAM卡比较MAC21和MAC22;PSAM卡增加终端脱机消费交易序号;
6、单位S的系统平台F1_S验证TAC:支付终端T1_R将包含用户卡序列号、交易金额、交易类型标识、终端机编号、交易日期时间和TAC1的脱机消费交易记录发送到单位S的系统平台F1_S;单位S的系统平台F1_S用TAC密钥TK_S对用户卡序号进行分散得到用户卡U1_S的TAC密钥DTK_S,用DTK_S对交易金额、交易类型标识、终端机编号和交易日期时间计算TAC得到TAC2,单位S的系统平台F1_S比较TAC1和TAC2;
7、第三方X的系统平台F1_X验证TAC_X:支付终端T1_R将包含用户卡序列号、交易金额、交易类型标识、终端机编号、交易日期时间和TAC_X1的脱机消费交易记录发送第三方X的系统平台F1_X;第三方系统平台F1_X用TAC密钥TK_X对用户卡序号进行分散得到用户卡U1_S的TAC密钥DTK_X,用DTK_X对交易金额、交易类型标识、终端机编号和交易日期时间计算TAC得到TAC_X2,第三方系统平台F1_X比较TAC_X1和TAC_X2;交易完成。
依据本发明第四实施例,参照图2,说明本发明设置了两个圈存密钥的用户卡U1_S的电子钱包在单位S的圈存终端T2_S上执行圈存交易的流程,所述用户卡U1_S中的密钥由用户卡序号分散;流程包括:
1、圈存终端T2_S接受用户卡U1_S;选择用户卡应用,读取用户卡序号;
2、用户卡U1_S执行圈存交易初始化:圈存终端T2_S将包含圈存密钥索引号、圈存交易金额、终端机编号的圈存交易初始化命令发送到用户卡U1_S;用户卡U1_S产生随机数R,使用DLK_S对该随机数R、用户卡联机交易序号和8000H数据加密得到过程密钥SESLK1,使用SESLK1对用户卡原始余额、圈存金额、交易类型标识和终端机编号计算MAC得到MAC11;用户卡U1_S送出包含用户卡原始余额、用户卡联机交易序号、圈存密钥版本号、圈存算法标识、用户卡随机数和MAC11的响应数据;
3、单位S的系统平台F1_S验证MAC1:圈存终端T2_S将包含用户卡序号、圈存密钥索引号、圈存交易金额、终端机编号、用户卡原始余额、联机交易序号、圈存密钥版本号、圈存算法标识、用户卡随机数R和MAC11的圈存请求命令发送到单位S的系统平台F1_S;单位S的系统平台F1_S检查用户卡对应的主帐户资金是否够执行本次的圈存命令;单位S的系统平台F1_S使用LK_S对用户卡序号进行分散得到用户卡的圈存密钥DLK_S,使用DLK_S对用户卡随机数R、联机交易序号和8000H数据加密得到过程密钥SESLK2,使用SESLK2对用户卡原始余额、圈存金额、交易类型标识和终端机编号计算MAC得到MAC12,比较MAC11和MAC12;
4、系统平台产生MAC2:单位S的系统平台F1_S使用SESLK2对交易金额、交易类型、终端机编号和系统日期时间计算MAC得到MAC21,将包含MAC21、交易金额、用户卡随机数R和用户卡序列号的计算MAC2的请求发送到第三方系统平台F1_X;第三方系统平台F1_X使用LK_X对用户卡序号进行分散得到用户卡的圈存密钥DLK_X,使用DLK_X对MAC21、交易金额和用户卡随机数R计算MAC得到MAC22;第三方系统平台应答包含MAC22的响应数据;单位S的系统平台F1_S将包含系统日期时间和MAC22的圈存执行命令发送到圈存终端T2_S;
5、用户卡U1_S执行圈存:圈存终端T2_S将包含系统日期时间和MAC22的圈存执行命令发送到用户卡U1_S;用户卡U1_S使用SESLK1对原始余额、圈存金额、交易类型标识和终端机编号计算MAC得到MAC23,使用DLK_X对MAC23、交易金额和用户卡随机数R计算MAC得到MAC24;用户卡比较MAC22和MAC24;用户卡U1_S用TAC密钥DTK_X对用户卡新余额、联机序号、交易金额、交易类型标识、终端机编号和系统日期时间计算TAC得到TAC_X1,用TAC密钥DTK_S对用户卡新余额、联机序号、交易金额、交易类型标识、终端机编号和系统日期时间计算TAC得到TAC1;用户卡U1_S增加卡片中金额,增加用户卡联机交易序号;用户卡U1_S送出包含TAC_X1、TAC1的响应数据;
6、验证TAC_X和TAC2:圈存终端T2_S将包含用户卡序号、新余额、联机序号、交易金额、交易类型标识、终端机编号和交易日期时间、TAC_X1和TAC1的圈存交易结果发送到单位S的系统平台F1_S和第三方系统平台F1_X;单位S的系统平台F1_S用TAC密钥TK_S对用户卡序号进行分散得到用户卡的TAC密钥DTK_S,用DTK_S对用户卡新余额、联机序号、交易金额、交易类型标识、终端机编号和系统日期时间计算TAC得到TAC2,单位S的系统平台F1_S比较TAC1和TAC2;第三方系统平台F1_X用TAC密钥TK_X对用户卡序号进行分散得到用户卡的TAC密钥DTK_X,用DTK_X对用户卡新余额、联机序号、交易金额、交易类型标识、终端机编号和系统日期时间计算TAC得到TAC_X2,第三方系统平台F1_X比较TAC_X1和TAC_X2;交易完成。
依据本发明第五实施例,参照图3和图2,说明本发明第三方X和单位R的发卡流程;流程包括:
1、密钥传输卡TC_X接受第三方X注入的非对称密钥加密的传输密钥IK_X的私钥IK2_X、消费密钥PK_X、TAC密钥TK_X、圈存密钥LK_X;
2、密钥传输卡TC_A接受第三方X注入的对称密钥加密的传输密钥IKA_X;
3、第三方X的加密机M_X接受密钥传输卡TC_X,记录密钥传输卡TC_X注入的传输密钥私钥IK2_X、消费密钥PK_X、TAC密钥TK_X、圈存密钥LK_X;
4、第三方X的加密机M_X接受密钥传输卡TC_A,记录密钥传输卡TC_A注入的对称密钥加密的传输密钥IKA_X;
5、PSAM卡P1_R接受第三方X的加密机M_X,记录加密机M_X注入的对称密钥加密的传输密钥DIKA_X、传输密钥IK_X的私钥IK2_X、消费密钥PK_X;
6、用户卡U1_R接受第三方X的加密机M_X,记录加密机M_X注入的消费密钥DPK_X、TAC密钥DTK_X、圈存密钥DLK_X;
7、密钥传输卡TC_R接受单位R注入的非对称密钥加密的传输密钥IK_R的私钥IK2_R、消费密钥PK_R、TAC密钥TK_R、圈存密钥LK_R;
8、单位R的加密机M_R接受密钥传输卡TC_R,记录密钥传输卡TC_R注入的传输密钥私钥IK2_R、消费密钥PK_R、TAC密钥TK_R、圈存密钥LK_R;
9、PSAM卡P1_R接受的加密机M_R,记录加密机M_R注入的传输密钥IK_R的私钥IK2_R、消费密钥PK_R;
10、用户卡U1_R接受单位R的加密机M_R,记录加密机M_R注入的消费密钥DPK_R、TAC密钥DTK_R、圈存密钥DLK_R;发卡完成。
由以上实施案例可以看出,本发明解决了跨单位脱机消费交易中的密钥管理问题,在使用方便的情况下保证了系统的安全。
由技术常识可知,本发明可以通过其它的不脱离其精神实质或必要特征的实施方案来实现,比如使用两个对称密钥加密的传输密钥,都可以实现本发明的方案。因此,上述公开的实施方案,就各方面而言,都只是举例说明,并不是仅有的。所有在本发明范围内或在等同于本发明的范围内的改变均被本发明包含。