[0025] 结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
[0026] 如图1所示,本发明加解密算法和加解密钥的更换方法主要包括如下步骤:
[0027] a.在智能卡中存储至少两组加解密算法和加解密钥;
[0028] b.将一组加解密算法和加解密钥设置成有效,将其余加解密算法和加解密钥设置成无效;
[0029] c.智能卡根据识别有效性,将有效的加解密算法和加解密钥实现与主端服务器的身份认证:
[0030] d.经过身份认证后,主端服务器更新智能卡中无效的加解密算法和加解密钥;
[0031] e.智能卡利用有效的加解密算法和加解密钥向主端服务器通知更新完成;
[0032] f.智能卡将有效的加解密算法和加解密钥设置成无效,从无效的加解密算法和加解密钥中选择一组设为有效。
[0033] 本实施例以两组加解密算法和加解密钥为例,在智能卡内嵌存储器上配置两套地址空间,分别用于存储第一组加解密算法和加解密钥及第二组加解密算法和加解密钥,每套地址空间分别由一个存放用户数据加解密算法的区域和一个存放用户数据加解密钥的区域组成。在同一时刻,只有其中一套地址空间内的数据有效,主端服务器能够定期地动态更换智能卡上的无效的用户数据加解密算法和无效的用户数据加解密钥并使之有效,用于接下来的用户数据加解密。
[0034] 如图2所示,本发明加解密算法和加解密钥的更换方法有两套地址空间,区域1存储用户数据加解密算法1,区域1’存储用户数据加解密钥1,区域2存储用户数据加解密算法2,区域2’存储用户数据加解密钥2。
[0035] 智能卡上配置一存储数据有效信息的非易失性存储单元,它可以被清零来表征在智能卡内嵌存储器区域1和区域1’的数据有效和在智能卡内嵌存储器区域2和区域2’的数据无效。或者它可以被置一来表征在智能卡内嵌存储器区域1和区域1’的数据无效和在智能卡内嵌存储器区域2和区域2’的数据有效;亦或是它可以被置一来表征在智能卡内嵌存储器区域1和区域1’的数据有效和在智能卡内嵌存储器区域2和区域2’的数据无效,或者它可以被清零来表征在智能卡内嵌存储器区域1和区域1’的数据无效和在智能卡内嵌存储器区域2和区域2’的数据有效。有效的区域内的用户数据加解密算法和用户数据加解密钥会被用于加解密在智能卡同主端服务器之间传输的通信数据。
[0036] 实施例1
[0037] 如图3所示,本实例中加解密算法和加解密钥的更换方法的流程图。其主要流程如下:
[0038] 1、智能卡上电后,智能卡检查其内部数据有效性信息,如果处于智能卡内嵌存储器区域1和区域1’的数据有效,则将区域1和区域1’内的第一组加解密算法和加解密钥进行身份认证;反之,则将区域2和区域2’内的第二组加解密算法和加解密钥进行身份认证。本实施例中默认第一组加解密算法和加解密钥有效,第二组加解密算法和加解密钥无效。
[0039] 2、基于智能卡内嵌存储器区域1内的用户数据加解密算法1和智能卡内嵌存储器区域1’内的用户数据加解密钥1,同主端服务器进行身份认证。
[0040] 3、若身份认证通过,转到步骤4;否则,再尝试至少一次,若通过则转到步骤4,若尝试失败,智能卡将第二组加解密算法和加解密钥设为有效,将第一组加解密算法和加解密钥设为无效,并采用第二组加解密算法和加解密钥与主端服务器进行身份认证。若第二组加解密算法和加解密钥通过身份验证,则在接下来步骤中第一组加解密算法和加解密钥和第二组加解密算法和加解密钥的位置互换。本实施例中默认第一组加解密算法和加解密钥通过身份认证。
[0041] 4、主端服务器向智能卡发送第二组加解密算法和加解密钥,智能卡将第二组加解密算法和加解密钥存储于区域2和区域2’中。
[0042] 5、智能卡仍使用第一组加解密算法和加解密钥向主端服务器通信,告知主端服务器第二组加解密算法和加解密钥更新成功。
[0043] 6、智能卡将第二组加解密算法和加解密钥设为有效,将第一组加解密算法和加解密钥设为无效。
[0044] 7、智能卡利用第二组加解密算法和加解密钥向主端服务器进行身份认证,通过后与主端服务器之间实现数据收发。
[0045] 实施例2
[0046] 如图3所示,本实施例中假设在第一次上电后,数据有效信息表征处于智能卡内嵌存储器区域1和区域1’的数据有效,然后在智能卡更新数据有效性信息的时候,发生了意外断电的情况,也就是表征数据有效信息的那位非易失性存储单元还没有被改变状态,但这时候主端服务器已经认为智能卡已经成功更新了用户数据加解密算法和用户数据加解密钥。其具体步骤如下:
[0047] 1、智能卡上电后,智能卡检查其内部数据有效性信息,如果处于智能卡内嵌存储器区域1和区域1’的数据有效,则将区域1和区域1’内的第一组加解密算法和加解密钥进行身份认证;反之,则将区域2和区域2’内的第二组加解密算法和加解密钥进行身份认证。本实施例中默认第一组加解密算法和加解密钥有效,第二组加解密算法和加解密钥无效。
[0048] 2、基于智能卡内嵌存储器区域1内的用户数据加解密算法1和智能卡内嵌存储器区域1’内的用户数据加解密钥1,同主端服务器进行身份认证。
[0049] 3、若身份认证通过,则转到步骤4;否则,再尝试至少一次,若通过则到步骤4,若尝试失败,智能卡将第二组加解密算法和加解密钥设为有效,将第一组加解密算法和加解密钥设为无效,并采用第二组加解密算法和加解密钥与主端服务器进行身份认证,则在接下来步骤中第一组加解密算法和加解密钥和第二组加解密算法和加解密钥的位置互换。本实施例中默认第一组加解密算法和加解密钥通过身份认证。
[0050] 4、主端服务器向智能卡发送第二组加解密算法和加解密钥,智能卡将第二组加解密算法和加解密钥存储于区域2和区域2’中。
[0051] 5、智能卡仍使用第一组加解密算法和加解密钥向主端服务器通信,告知主端服务器第二组加解密算法和加解密钥更新成功;
[0052] 6、智能卡更新数据有效性信息,处于智能卡内嵌存储器区域2和区域2’的数据有效,且处在智能卡内嵌存储器区域1和区域1’无效,但在还没有成功更改数据有效性信息的时候,发生了意外断电的情况;
[0053] 智能卡重新上电后,进入以下步骤:
[0054] 步骤1:智能卡检查数据有效性信息,处于智能卡内嵌存储器区域1和区域1’的数据有效;
[0055] 步骤2.0:基于智能卡内嵌存储器区域1内的用户数据加解密算法1和智能卡内嵌存储器区域1’内的用户数据加解密钥1,同主端服务器进行身份认证;
[0056] 步骤3.0:身份认证通过,则转到正常的步骤4;否则,再尝试至少一次,若通过,则转到正常的步骤4;否则转到执行断电后的步骤2.1中。本实施例中,因为主端服务器更新了数据有效信息,但智能卡还没来的及更新此信息,所以双方无法通过身份验证,于是进入步骤2.1:
[0057] 步骤2.1:基于智能卡内嵌存储器区域2内的用户数据加解密算法2和智能卡内嵌存储器区域2’内的用户数据加解密钥2,同主端服务器进行身份认证;
[0058] 步骤3.1:此时身份认证通过,则转到步骤4.1;
[0059] 步骤4.1:主端服务器向智能卡发送用户数据加解密算法1和用户数据加解密钥1,智能卡将用户数据加解密算法1存储到智能卡内嵌存储器区域1,将用户数据加解密钥1存储到智能卡内嵌存储器区域1’;
[0060] 步骤5.1:智能卡使用用户加解密算法2和用户加解密钥2同主端服务器通信,告知主端服务器用户数据加解密算法1和用户数据加解密钥1更新成功;
[0061] 步骤6.1:智能卡更新数据有效性信息,处于智能卡内嵌存储器区域1和区域1’的数据有效,且处在智能卡内嵌存储器区域2和区域2’无效;
[0062] 步骤7.1:智能卡和主端服务器用用户数据加解密算法1和用户数据加解密钥1再次进行身份认证,通过后进行其它操作;
[0063] 实施例3
[0064] 如图4所示,本实施例中假设在第一次上电后,数据有效信息表征处于智能卡内嵌存储器区域2和区域2’的数据有效,然后在智能卡使用用户加解密算法2和用户加解密钥2同主端服务器通信,告知主端服务器用户数据加解密算法1和用户数据加解密钥1更新成功时发生了意外断电的情况,也就是表征数据有效信息的那位非易失性存储单元还没有被改变状态,而且主端服务器这时候也不认为智能卡已经成功更新了用户数据加解密算法和用户数据加解密钥。其具体步骤如下:
[0065] 步骤1:上电后,智能卡检查数据有效性信息,处于智能卡内嵌存储器区域2和区域2’的数据有效;
[0066] 步骤2.1:基于智能卡内嵌存储器区域2内的用户数据加解密算法2和智能卡内嵌存储器区域2’内的用户数据加解密钥2,同主端服务器进行身份认证;
[0067] 步骤3.1:身份认证通过,则转到步骤4.1;
[0068] 步骤4.1:主端服务器向智能卡发送用户数据加解密算法1和用户数据加解密钥1,智能卡将用户数据加解密算法1存储到智能卡内嵌存储器区域1,将用户数据加解密钥1存储到智能卡内嵌存储器区域1’;
[0069] 步骤5.1:智能卡使用用户加解密算法2和用户加解密钥2同主端服务器通信,告知主端服务器用户数据加解密算法1和用户数据加解密钥1更新成功,但在这个时候发生了意外断电的情况,于是主端服务器这时候也不认为智能卡已经成功更新了用户数据加解密算法和用户数据加解密钥;
[0070] 智能卡重新上电后,进入以下步骤:
[0071] 步骤1:智能卡检查数据有效性信息,处于智能卡内嵌存储器区域2和区域2’的数据有效;
[0072] 步骤2.1:基于智能卡内嵌存储器区域2内的用户数据加解密算法2和智能卡内嵌存储器区域2’内的用户数据加解密钥2,同主端服务器进行身份认证;
[0073] 步骤3.1:身份认证通过,则转到步骤4.1;
[0074] 步骤4.1:主端服务器向智能卡发送用户数据加解密算法1和用户数据加解密钥1,智能卡将用户数据加解密算法1存储到智能卡内嵌存储器区域1,将用户数据加解密钥1存储到智能卡内嵌存储器区域1’;
[0075] 步骤5.1:智能卡使用用户加解密算法2和用户加解密钥2同主端服务器通信,告知主端服务器用户数据加解密算法1和用户数据加解密钥1更新成功;
[0076] 步骤6.1:智能卡更新数据有效性信息,处于智能卡内嵌存储器区域1和区域1’的数据有效,且处在智能卡内嵌存储器区域2和区域2’无效;
[0077] 步骤7.1:智能卡和主端服务器用用户数据加解密算法1和用户数据加解密钥1再次进行身份认证,通过后进行其它操作;
[0078] 本发明提出了一种加解密算法和用户数据加解密钥的更换方法,对于传统的智能卡加解密方式来说,本发明大大地提高了智能卡的安全性,并且降低了实现成本。
[0079] 本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。