一种加解密算法和加解密钥的更换方法

文档序号:7779390阅读:215来源:国知局
一种加解密算法和加解密钥的更换方法
【专利摘要】本发明公开了一种加解密算法和加解密钥的更换方法,包括如下步骤:在智能卡中存储至少两组加解密算法和加解密钥;将一组加解密算法和加解密钥设置成有效,将其余加解密算法和加解密钥设置成无效;智能卡根据识别有效性,将有效的加解密算法和加解密钥实现与主端服务器的身份认证;经过身份认证后,主端服务器更新智能卡中无效的加解密算法和加解密钥;智能卡利用有效的加解密算法和加解密钥向主端服务器通知更新完成;智能卡将有效的加解密算法和加解密钥设置成无效,从无效的加解密算法和加解密钥中选择一组设为有效。本发明提高了智能卡的安全性,并且降低了实现成本。
【专利说明】一种加解密算法和加解密钥的更换方法
【技术领域】
[0001]本发明涉及智能卡【技术领域】,尤其涉及一种加解密算法和加解密钥的更换方法。【背景技术】
[0002]安全性作为智能卡的一大重要指标,很长一段时间以来已经有很多很多的工作放在安全加解密算法上。因为要保护传输信道上数据,智能卡都是用一个安全密钥和一个特定加解密算法去加解密信道上传输的数据,为了提高安全性,安全加解密算法越来越复杂,密钥越变越长,使得数据越来越难以破解。由于为了不降低信道上数据传输的速度,所以加解密算法一股性都是由硬件电路实现的,且算法本身也是公开的,这也就意味着一旦智能卡制造出来了,那么在其上实现的加解密算法就再也变不了了。这样的话,就算加解密算法再复杂,密钥再多长,理论上来说,只要用大量高性能的电脑,总可以在有限时间内将密钥破解出来的,密钥被破了,也就是所谓的智能卡被破解了。诸如交通卡,银行卡,身份证等等智能卡,其卡数量非常巨大,一旦被破解了,那么这么多智能卡就不安全了,带来的后果是可怕的,如果收回这么多卡,成本极其高,基本上是不可能的。
[0003]现在有很多智能卡上采取了多级加密的策略,用一组密钥和加密算法来保护在通信信道上传输的用户数据,因为通信速度的要求,所以这组加密算法不能非常复杂,大多数采用对称算法,也就是传输双方的密钥是相同的,为了加大被破解的难度,再用另一组密钥和加密算法用来加密此前的密钥,由于加解密此前密钥没有速度的要求,所以此加密算法一股是非常复杂的,大多数采用非对称算法。但这两组加密算法都是硬件实现的,所以理论上说,只要给足够多的高性能电脑或设备,此加密方法只是增加了破解的时间而已。

【发明内容】

[0004]本发明克服了现有技术中智能卡无法轻易改变加解密算法,如果加解密算法为硬件实现且破解之后不易更换智能卡等缺陷,提出了一种加解密算法和加解密钥的更换方法。
[0005]本发明提出了一种加解密算法和加解密钥的更换方法,包括如下步骤:
[0006]a.在所述智能卡中存储至少两组加解密算法和加解密钥;
[0007]b.将一组加解密算法和加解密钥设置成有效,将其余加解密算法和加解密钥设置成无效;
[0008]c.所述智能卡根据识别有效性,将所述有效的加解密算法和加解密钥实现与主端服务器的身份认证;
[0009]d.经过身份认证后,所述主端服务器更新所述智能卡中无效的加解密算法和加解密钥;
[0010]e.所述智能卡利用所述有效的加解密算法和加解密钥向所述主端服务器通知更新完成;
[0011]f.所述智能卡将所述有效的加解密算法和加解密钥设置成无效,从所述无效的加解密算法和加解密钥中选择一组设为有效。
[0012]本发明提出的加解密算法和加解密钥的更换方法中,所述步骤c中的所述身份认证进一步包括:
[0013]Cl.若所述有效的加解密算法和加解密钥无法通过身份认证时,则利用所述有效的加解密算法和加解密钥进行至少一次尝试;
[0014]c2.若尝试失败,则所述智能卡将所述有效的加解密算法和加解密钥设为无效,将一组无效的加解密算法和加解密钥设为有效;
[0015]c3.利用所述有效的加解密算法和加解密钥进行身份认证;
[0016]c4.若利用完所有加解密算法和加解密钥进行身份验证后,还无法通过身份认证,则退出;否则,执行步骤d。
[0017]本发明提出的加解密算法和加解密钥的更换方法中,所述步骤f之后进一步包括:
[0018]g.所述智能卡利用所述有效的加解密算法和加解密钥与所述主端服务器进行第二次身份认证,认证后所述智能卡同所述主端服务器之间进行用户数据的传输。
[0019]本发明提出的加解密算法和加解密钥的更换方法中,所述智能卡通过设置标志位“I”表征一组加解密算法和加解密钥有效,设置标志位“O”表征一组加解密算法和加解密钥无效;或所述智能卡通过设置标志位“O”表征一组加解密算法和加解密钥有效,设置标志位“ I ”表征一组加解密算法和加解密钥无效。
[0020]本发明采用多组加解密算法和加解密钥,在与主端服务器的认证过程中动态更新及选择有效的加解密算法和加解密钥对智能卡内的用户数据进行保密,由于本发明的加解密算法和加解密钥是不断更新的,除了主端服务器无法对其进行破解,使得智能卡具有较高的安全性。
【专利附图】

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