CN101895538B - 建立数据交互通道的方法和系统、智能卡、服务器 - Google Patents
建立数据交互通道的方法和系统、智能卡、服务器 Download PDFInfo
- Publication number
- CN101895538B CN101895538B CN 201010222546 CN201010222546A CN101895538B CN 101895538 B CN101895538 B CN 101895538B CN 201010222546 CN201010222546 CN 201010222546 CN 201010222546 A CN201010222546 A CN 201010222546A CN 101895538 B CN101895538 B CN 101895538B
- Authority
- CN
- China
- Prior art keywords
- smart card
- server
- key
- handshake information
- mac
- 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.)
- Active
Links
Images
Abstract
本发明提供一种建立数据交互通道的方法和系统、智能卡、服务器,属于数据交互技术领域,可解决现有的建立数据交互通道的方法占用设备的存储空间过大的问题。本发明的建立数据交互通道的方法包括:智能卡和服务器更新第一密钥后用第一密钥进行相互认证,其中更新第一密钥包括:智能卡和服务器同步随机数;智能卡和服务器分别用随机数和存储的第一密钥按相同的算法生成第二密钥,并分别用第二密钥替代所述第一密钥。本发明的智能卡和服务器包括发送单元、接收单元、处理单元、密钥更新单元。本发明的用于建立数据交互通道的系统包括上述智能卡和服务器。本发明可用于建立远程数据交互通道。
Description
技术领域
本发明涉及一种建立数据交互通道的方法和系统、智能卡、服务器,尤其是用于在智能卡和远程服务器间建立远程数据交互通道的方法、系统、智能卡、服务器。
背景技术
近年来,智能卡(如手机SIM卡、U盾、银行卡等)的功能迅速发展,许多智能卡已经可以通过智能卡网络服务器(Smart Card Web Server)与远程服务器进行数据交互。例如,通过STK(USAT)或OTA通讯方式,使用(U)SIM卡的手机用户可以享受手机银行、手机证券、网页浏览等功能。因此,在智能卡和服务器间建立一个安全的数据交互通道以保证数据在传输过程中的完整性、安全性就显得十分重要。
通常的数据交互通道包括握手层和记录层;握手层主要是建立数据交互通道的过程,用于智能卡和服务器的相互认证,并确定在记录层中用的传输协议版本、密钥、向量等参数;记录层利用握手层建立的数据交互通道传输数据。在握手层中智能卡和服务器通常利用预存的密钥进行相互认证;显然,一旦该密钥被盗取,之后的认证过程就都不再安全了。为解决这一问题,可使用一次一密的方式进行认证,即在智能卡和服务器中分别设置相同的密码列表,每次认证时智能卡和服务器分别从中选择相同的密码进行认证。由于在一次一密的认证中每次认证采用不同的密码,故即使某次认证中密码被盗,也不会对之后的认证产生影响。
发明人发现现有技术中至少存在如下问题:现有的一次一密认证过程中,智能卡和服务器中都要存储密码列表,这样会占用智能卡和服务器中的大量存储空间。
发明内容
本发明的实施例提供一种建立数据交互通道的方法,其可减少对设备存储空间的占用。
为达到上述目的,本发明的实施例采用如下技术方案:
一种建立数据交互通道的方法,包括智能卡和服务器交互握手消息,所述智能卡和服务器交互握手消息包括:在所述智能卡和服务器使用第一密钥进行一次相互认证前更新所述第一密钥,所述更新所述第一密钥具体包括:
所述智能卡和服务器同步随机数;
所述智能卡和服务器分别用所述随机数和各自存储的第一密钥按相同的算法生成第二密钥,并分别用所述第二密钥替代所述第一密钥。
其中,“握手消息”是指在建立数据交互通道的过程中用的、除了下述的比较MAC值(Message Authentication Codes,消息认证码)的消息外的其它全部消息,包括确定记录层中的参数用的消息、服务器和智能卡进行相互认证用的消息、更新第一密钥用的消息等。
由于在本发明实施例的建立数据交互通道的方法中,每次认证用的密钥都是由旧密钥和随机数生成的,设备中不用存储密码列表,故设备所需的存储空间较少。
本发明的实施例还提供一种智能卡,其所需的存储空间较少。
为达到上述目的,本发明的实施例采用如下技术方案:
一种智能卡,包括:
发送单元,用于发送握手消息;
接收单元,用于接收握手消息;
处理单元,用于处理所述握手消息;
密钥更新单元,用于确定随机数,并用所述随机数和存储的第一密钥生成第二密钥,再用所述第二密钥替代所述第一密钥。
其中,处理单元可通过处理所述握手消息进行认证、生成记录层中用的参数等。
由于在本发明实施例的智能卡中,每次认证用的密钥都是由旧密钥和随机数生成的,智能卡中不用存储密码列表,故其所需的存储空间较少。
本发明的实施例还提供一种服务器,其所需的存储空间较少。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明的实施例还提供一种服务器,其所需的存储空间较少。
为达到上述目的,本发明的实施例采用如下技术方案:
一种服务器,包括:
发送单元,用于发送握手消息;
接收单元,用于接收握手消息;
处理单元,用于处理所述握手消息;
密钥更新单元,用于确定随机数,并用所述随机数和存储的第一密钥生成第二密钥,再用所述第二密钥替代所述第一密钥。
由于在本发明实施例的服务器中,每次认证用的密钥都是由旧密钥和随机数生成的,服务器中不用存储密码列表,故其所需的存储空间较少。
本发明的实施例还提供一种用于建立数据交互通道的系统,其所需的存储空间较少。
为达到上述目的,本发明的实施例采用如下技术方案:
一种用于建立数据交互通道的系统,包括智能卡和服务器,其中,
所述智能卡包括:
发送单元,用于向所述服务器发送握手消息;
接收单元,用于接收来自所述服务器的握手消息;
处理单元,用于处理所述握手消息;
密钥更新单元,用于与所述服务器同步随机数,并用所述随机数和存储的第一密钥按第一算法生成第二密钥,再用所述第二密钥替代所述第一密钥;
所述服务器包括:
发送单元,用于向所述智能卡发送握手消息;
接收单元,用于接收来自所述智能卡的握手消息;
处理单元,用于处理所述握手消息;
密钥更新单元,用于与所述智能卡同步随机数,并用所述随机数和存储的第一密钥按第一算法生成第二密钥,再用所述第二密钥替代所述第一密钥。
由于在本发明实施例的用于建立数据交互通道的系统中,每次认证用的密钥都是由旧密钥和随机数生成的,设备中不用存储密码列表,故其所需的存储空间较少。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一的建立数据交互通道的方法的流程图;
图2为本发明实施例一的建立数据交互通道的方法中更新第一密钥步骤的流程图;
图3为本发明实施例二的建立数据交互通道的方法的过程示意图;
图4为本发明实施例三的智能卡的结构示意图;
图5为本发明实施例的另一种智能卡的结构示意图;
图6为本发明实施例四的服务器的结构示意图;
图7为本发明实施例的另一种服务器的结构示意图;
图8为本发明实施例五的用于建立数据交互通道的系统的结构示意图;
图9为本发明实施例的另一种用于建立数据交互通道的系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
一种建立数据交互通道的方法,包括智能卡和服务器交互握手消息,如图1所示,所述智能卡和服务器交互握手消息包括:在所述智能卡和服务器使用第一密钥进行一次相互认证前更新所述第一密钥;如图2所示,所述更新所述第一密钥具体包括:
S11、所述智能卡和服务器同步随机数;
S12、所述智能卡和服务器分别用所述随机数和各自存储的第一密钥按相同的算法生成第二密钥,并分别用所述第二密钥替代所述第一密钥。
由于在本发明实施例的建立数据交互通道的方法中,每次认证用的密钥都是由旧密钥和随机数生成的,设备中不用存储密码列表,故设备所需的存储空间较少。同时,传统的密码列表中的密码个数显然有限,在多次认证后还是要重复使用密码,而本发明实施例的建立数据交互通道的方法可完全避免这一问题。
实施例二
本发明实施例提供一种建立数据交互通道的方法,其中智能卡和服务器中分别预设有相同的16字节的预共享密钥(第一密钥)、序列数算法、序列数初始值等。如图3所示,建立数据交互通道的方法包括:
步骤1、服务器产生一个8字节的随机数,并将其以数据短信的形式发送给智能卡。智能卡和服务器分别对该随机数消息的数据做MAC(指服务器对其发送的消息的数据做MAC,而智能卡对其接收到的相应消息的数据做MAC),得到用于下一步MAC运算的中间值。
步骤2、智能卡和服务器分别对该随机数进行运算(如MAC运算、哈希运算等)以得到32字节的结果,智能卡和服务器分别取该结果的前16字节用各自的预共享密钥采用3DES CBC算法进行加密,得到16字节的密钥(第二密钥),并分别用该密钥替代各自的预共享密钥(即用该密钥作为新的预共享密钥,也即更新第一密钥)。
步骤3、智能卡发送客户请求(ClientHello)消息给服务器,内容包括:智能卡支持的传输协议和密码算法、智能卡随机数(32字节)。智能卡和服务器分别将各自的序列数加到客户请求消息的数据中(例如加到客户请求消息后边,该加序列数的操作主要用于避免消息传输顺序出现错误),之后分别更新各自的序列数(例如分别将各自的序列数加1);智能卡和服务器再分别对客户请求消息的数据(带有序列数的数据)做MAC得到新的中间值(即将客户请求消息的数据输入上一步MAC运算用的MAC函数中,利用上一步MAC运算得到的中间值对数据进行update的MAC运算)。
步骤4、服务器发送服务器请求(ServerHello)消息给智能卡,内容包括:选用的传输协议和密码算法(都用于记录层中)、服务器随机数(32字节)、对智能卡随机数用预共享密钥(指被替代后的预共享密钥,下同)加密后的值。智能卡和服务器分别对服务器请求消息的数据做MAC得到新的中间值。
步骤5、智能卡用预共享密钥解密得智能卡随机数并与自身保存的智能卡随机数相比较,相同则服务器认证通过。
步骤6、服务器发送服务器请求完成(ServerHelloDone)消息给智能卡。智能卡和服务器分别对服务器请求完成消息的数据做MAC得到新的中间值。
步骤7、智能卡发送密钥交换(ClientKeyXchg)消息给服务器,内容包括:用预共享密钥分别对服务器随机数和预主密钥(48字节,由智能卡生成)加密后的值。智能卡和服务器并分别将各自的序列数加到密钥交换消息的数据中,再分别将各自的序列数更新,并分别对密钥交换消息的数据做MAC得到新的中间值。
步骤8、智能卡用预主密钥生成主密钥,并用该主密钥生成记录层中用的密钥、向量等参数。服务器用预共享密钥解密得到服务器随机数和预主密钥;再比较解密的服务器随机数和自身保存的服务器随机数,相同则智能卡认证通过;同时用预主密钥按与智能卡相同的算法生成主密钥,再用主密钥生成记录层中用的密钥、向量等参数。
步骤9、智能卡发送密码改变说明(ChangeCipherSpec)消息给服务器,内容包括上述的记录层中用的参数。智能卡和服务器并分别将各自的序列数加到密码改变说明消息的数据中,再分别将各自的序列数更新,并分别对密码改变说明消息的数据做MAC得到新的中间值。
步骤10、智能卡发送完成(Finished)消息给服务器。智能卡和服务器并分别将各自的序列数加到完成消息的数据中,再分别将各自的序列数更新,并分别对完成消息的数据做MAC得到新的中间值。
步骤11、服务器发送密码改变说明消息给智能卡,验证服务器和智能卡中生成的用于记录层的参数是否相同。智能卡和服务器分别对密码改变说明消息的数据做MAC得到新的中间值。
步骤12、服务器发送完成消息给智能卡。智能卡和服务器分别对完成消息的数据做MAC,得到最终的MAC值(即将完成消息的数据输入上述MAC函数中,用最新的中间值进行final运算,使函数输出最终的MAC值结果)。
步骤13、智能卡用AES算法和预共享密钥加密其中的最终MAC值,并将加密结果发送给服务器。
步骤14、服务器用预共享密钥解密接收到的加密的MAC值,并比较解密的MAC值与自身存储的最终MAC值,如相同则表明上述过程中传输的消息没有被篡改。
步骤15、服务器用AES算法和预共享密钥加密其存储的最终MAC值,并将加密结果发送给智能卡。
步骤16、智能卡用预共享密钥解密接收到的加密的MAC值,并比较解密的MAC值与自身存储的最终MAC值,如相同则表明上述过程中传输的消息没有被篡改。由于智能卡和服务器中的MAC值是通过对多条握手消息的数据逐一进行MAC运算而得到的,因此如果其中任意一条握手消息发生错误或被篡改(即服务器和智能卡中的该条消息不同),则此后服务器和智能卡中算出的所有中间值和MAC值都会不同,这样通过对MAC值进行比较就可验证握手过程中传输的全部消息的正确性。
显然,上述建立数据交互通道的方法可进行许多本领域技术人员公知的变化,例如:可只对部分消息做MAC或根本不做MAC;可进行多次MAC值比较;比较MAC值时可不经加密而直接传输;在智能卡接收/服务器发送消息时也可进行加序列数的操作,也可完全不进行加序列数的操作;序列数可按其它方式加到消息数据中(如加到消息前边或与消息混编);可用不同的算法生成预共享密钥;可用不同的具体方法利用预共享密钥进行相互认证;部分消息的内容、发送顺序、加密情况可变化(例如可先发送客户请求消息再发送随机数消息,或也可一同发送随机数消息与客户请求消息,或可将随机数消息加密后再发送);可选用不同的密钥位数、随机数位数;各步骤可采用不同的具体算法、密钥等。
实施例三
本发明实施例提供一种智能卡11,如图4所示,其包括:
发送单元12,用于发送握手消息;
接收单元13,用于接收握手消息;
处理单元14,用于处理所述握手消息;
密钥更新单元15,用于确定随机数,并用所述随机数和存储的第一密钥生成第二密钥,再用所述第二密钥替代所述第一密钥。
可选的,如图5所示,本发明实施例的智能卡11还可包括:
MAC运算单元16,用于对所述握手消息的数据做MAC运算以得到第一MAC值;其中所述对所述握手消息的数据做MAC运算以得到第一MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元17,用于比较所述第一MAC值和由所述接收单元13接收的第二MAC值;
序列数更新单元18,用于生成并更新序列数,并将所述序列数加到所述握手消息的数据中。
由于在本发明实施例的智能卡中,每次认证用的密钥都是由旧密钥和随机数生成的,智能卡中不用存储密码列表,故其所需的存储空间较少。
实施例四
本发明实施例提供一种服务器21,如图6所示,其包括:
发送单元22,用于发送握手消息;
接收单元23,用于接收握手消息;
处理单元24,用于处理所述握手消息;
密钥更新单元25,用于确定随机数,并用所述随机数和存储的第一密钥生成第二密钥,再用所述第二密钥替代所述第一密钥。
可选的,如图7所示,本发明实施例的服务器21还可包括:
MAC运算单元26,用于对所述握手消息的数据做MAC运算以得到第一MAC值;其中所述对所述握手消息的数据做MAC运算以得到第一MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元27,用于比较所述第一MAC值和由所述接收单元23接收的第二MAC值;
序列数更新单元28,用于生成并更新序列数,并将所述序列数加到所述握手消息的数据中。
由于在本发明实施例的服务器中,每次认证用的密钥都是由旧密钥和随机数生成的,服务器中不用存储密码列表,故其所需的存储空间较少。
实施例五
本发明实施例提供一种用于建立数据交互通道的系统,如图8所示,其包括智能卡11和服务器21,其中,
所述智能卡11包括:
发送单元12,用于向所述服务器21发送握手消息;
接收单元13,用于接收来自所述服务器21的握手消息;
处理单元14,用于处理所述握手消息;
密钥更新单元15,用于与所述服务器21同步随机数,并用所述随机数和存储的第一密钥按第一算法生成第二密钥,再用所述第二密钥替代所述第一密钥;
所述服务器21包括:
发送单元22,用于向所述智能卡11发送握手消息;
接收单元23,用于接收来自所述智能卡11的握手消息;
处理单元24,用于处理所述握手消息;
密钥更新单元25,用于与所述智能卡11同步随机数,并用所述随机数和存储的第一密钥按第一算法生成第二密钥,再用所述第二密钥替代所述第一密钥。
可选的,如图9所示,在本发明实施例的用于建立数据交互通道的系统中,智能卡11还可包括:
MAC运算单元16,用于与所述服务器21同步地对所述握手消息的数据做MAC运算以得到智能卡MAC值;其中所述与所述服务器21同步地对所述握手消息的数据做MAC运算以得到智能卡MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元17,用于比较所述智能卡MAC值和由所述接收单元13接收的服务器MAC值;
序列数更新单元18,用于按第二算法与所述服务器21同步地生成并更新序列数,并将所述序列数加到所述握手消息的数据中;
所述服务器21还包括:
MAC运算单元26,用于与所述智能卡11同步地对所述握手消息的数据做MAC运算以得到服务器MAC值,其中所述与所述智能卡11同步地对所述握手消息的数据做MAC运算以得到服务器MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元27,用于比较所述服务器MAC值和由所述接收单元23接收的智能卡MAC值;
序列数更新单元28,用于按第二算法与所述智能卡11同步地生成并更新序列数,并将所述序列数加到所述握手消息的数据中。
由于在本发明实施例的用于建立数据交互通道的系统中,每次认证用的密钥都是由旧密钥和随机数生成的,设备中不用存储密码列表,故其所需的存储空间较少。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (6)
1.一种建立数据交互通道的方法,包括智能卡和服务器交互握手消息,其特征在于,所述智能卡和服务器交互握手消息包括:在所述智能卡和服务器使用第一密钥进行一次相互认证前更新所述第一密钥,所述更新所述第一密钥具体包括:
所述智能卡和服务器同步随机数;
所述智能卡和服务器分别用所述随机数和各自存储的第一密钥按相同的算法生成第二密钥,并分别用所述第二密钥替代所述第一密钥;
所述智能卡和服务器同步随机数包括下列两步骤中的一个:
所述智能卡产生随机数并将其发送给所述服务器;
所述服务器产生随机数并将其发送给所述智能卡;
所述智能卡和服务器分别用所述随机数和各自存储的第一密钥按相同的算法生成第二密钥包括:
所述智能卡和服务器分别对所述随机数做消息认证码MAC运算得到随机数MAC值,之后分别用所述第一密钥对所述随机数MAC值加密,并将加密结果作为第二密钥。
2.根据权利要求1所述的建立数据交互通道的方法,其特征在于,还包括:
所述智能卡和服务器分别同步地对所述握手消息的数据做消息认证码MAC运算以分别得到MAC值;其中所述智能卡和服务器分别同步地对所述握手消息的数据做MAC运算以分别得到MAC值包括:所述智能卡和服务器分别同步地对一条所述握手消息的数据做MAC运算,并分别保存所得的中间值,以用于分别对下一条所述握手消息的数据做MAC运算;
比较所述智能卡和服务器中的MAC值。
3.根据权利要求2所述的建立数据交互通道的方法,其特征在于,至少有一条所述握手消息的数据中包括序列数,所述序列数由所述智能卡和服务器按相同的算法分别同步地生成并加到所述握手消息的数据中。
4.一种智能卡,包括:
发送单元,用于发送握手消息;
接收单元,用于接收握手消息;
处理单元,用于处理所述握手消息;
其特征在于,所述智能卡还包括:
密钥更新单元,用于确定随机数,并用所述随机数和存储的第一密钥生成第二密钥,再用所述第二密钥替代所述第一密钥;
所述的智能卡还包括:
消息认证码MAC运算单元,用于对所述握手消息的数据做MAC运算以得到第一MAC值;其中所述对所述握手消息的数据做MAC运算以得到第一MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述第一MAC值和由所述接收单元接收的第二MAC值;
序列数更新单元,用于生成并更新序列数,并将所述序列数加到所述握手消息的数据中。
5.一种服务器,包括:
发送单元,用于发送握手消息;
接收单元,用于接收握手消息;
处理单元,用于处理所述握手消息;
其特征在于,所述服务器还包括:
密钥更新单元,用于确定随机数,并用所述随机数和存储的第一密钥生成第二密钥,再用所述第二密钥替代所述第一密钥;
所述的服务器还包括:
消息认证码MAC运算单元,用于对所述握手消息的数据做MAC运算以得到第一MAC值;其中所述对所述握手消息的数据做MAC运算以得到第一MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述第一MAC值和由所述接收单元接收的第二MAC值;
序列数更新单元,用于生成并更新序列数,并将所述序列数加到所述握手消息的数据中。
6.一种用于建立数据交互通道的系统,包括智能卡和服务器,其特征在于,
所述智能卡包括:
发送单元,用于向所述服务器发送握手消息;
接收单元,用于接收来自所述服务器的握手消息;
处理单元,用于处理所述握手消息;
密钥更新单元,用于与所述服务器同步随机数,并用所述随机数和存储的第一密钥按第一算法生成第二密钥,再用所述第二密钥替代所述第一密钥;
所述服务器包括:
发送单元,用于向所述智能卡发送握手消息;
接收单元,用于接收来自所述智能卡的握手消息;
处理单元,用于处理所述握手消息;
密钥更新单元,用于与所述智能卡同步随机数,并用所述随机数和存储的第一密钥按第一算法生成第二密钥,再用所述第二密钥替代所述第一密钥;
所述智能卡还包括:
消息认证码MAC运算单元,用于与所述服务器同步地对所述握手消息的数据做MAC运算以得到智能卡MAC值;其中所述与所述服务器同步地对所述握手消息的数据做MAC运算以得到智能卡MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述智能卡MAC值和由所述接收单元接收的服务器MAC值;
序列数更新单元,用于按第二算法与所述服务器同步地生成并更新序列数,并将所述序列数加到所述握手消息的数据中;
所述服务器还包括:
MAC运算单元,用于与所述智能卡同步地对所述握手消息的数据做MAC运算以得到服务器MAC值,其中所述与所述智能卡同步地对所述握手消息的数据做MAC运算以得到服务器MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述服务器MAC值和由所述接收单元接收的智能卡MAC值;
序列数更新单元,用于按第二算法与所述智能卡同步地生成并更新序列数,并将所述序列数加到所述握手消息的数据中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010222546 CN101895538B (zh) | 2010-06-30 | 2010-06-30 | 建立数据交互通道的方法和系统、智能卡、服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010222546 CN101895538B (zh) | 2010-06-30 | 2010-06-30 | 建立数据交互通道的方法和系统、智能卡、服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101895538A CN101895538A (zh) | 2010-11-24 |
CN101895538B true CN101895538B (zh) | 2013-06-05 |
Family
ID=43104605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010222546 Active CN101895538B (zh) | 2010-06-30 | 2010-06-30 | 建立数据交互通道的方法和系统、智能卡、服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101895538B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895537B (zh) * | 2010-06-30 | 2014-07-30 | 北京握奇数据系统有限公司 | 建立数据交互通道的方法和系统、智能卡、服务器 |
CN102571702B (zh) * | 2010-12-22 | 2014-11-05 | 中兴通讯股份有限公司 | 物联网中的密钥生成方法、系统和设备 |
CN103684755B (zh) * | 2013-12-06 | 2017-04-05 | 上海新储集成电路有限公司 | 一种加解密算法和加解密钥的更换方法 |
CN108574572B (zh) * | 2017-03-13 | 2020-10-30 | 杭州海康威视数字技术股份有限公司 | 一种卡片洗卡发行的方法及装置 |
CN107333263B (zh) * | 2017-06-12 | 2021-03-02 | 浙江神州量子网络科技有限公司 | 一种改进型的sim卡以及移动通信身份识别方法和系统 |
CN108667598B (zh) * | 2018-04-28 | 2021-10-15 | 克洛斯比尔有限公司 | 用于实现安全密钥交换的设备和方法及安全密钥交换方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1881878A (zh) * | 2006-05-10 | 2006-12-20 | 上海市电信有限公司 | 在可控因特网网络环境下基于智能卡业务安全认证方法 |
US7246236B2 (en) * | 2002-04-18 | 2007-07-17 | Nokia Corporation | Method and apparatus for providing peer authentication for a transport layer session |
CN101478544A (zh) * | 2009-01-15 | 2009-07-08 | 中兴通讯股份有限公司 | 一种多媒体广播多重加解密的实现方法和装置 |
CN101540804A (zh) * | 2009-05-06 | 2009-09-23 | 候万春 | 一种能够承载移动通信智能卡的增值业务智能卡 |
CN101895537A (zh) * | 2010-06-30 | 2010-11-24 | 北京握奇数据系统有限公司 | 建立数据交互通道的方法和系统、智能卡、服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905436B (zh) * | 2005-07-28 | 2010-05-05 | 北京航空航天大学 | 保证数据交换安全的方法 |
-
2010
- 2010-06-30 CN CN 201010222546 patent/CN101895538B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7246236B2 (en) * | 2002-04-18 | 2007-07-17 | Nokia Corporation | Method and apparatus for providing peer authentication for a transport layer session |
CN1881878A (zh) * | 2006-05-10 | 2006-12-20 | 上海市电信有限公司 | 在可控因特网网络环境下基于智能卡业务安全认证方法 |
CN101478544A (zh) * | 2009-01-15 | 2009-07-08 | 中兴通讯股份有限公司 | 一种多媒体广播多重加解密的实现方法和装置 |
CN101540804A (zh) * | 2009-05-06 | 2009-09-23 | 候万春 | 一种能够承载移动通信智能卡的增值业务智能卡 |
CN101895537A (zh) * | 2010-06-30 | 2010-11-24 | 北京握奇数据系统有限公司 | 建立数据交互通道的方法和系统、智能卡、服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN101895538A (zh) | 2010-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7012759B2 (ja) | 本人認証のための方法及び装置 | |
CN107358441B (zh) | 支付验证的方法、系统及移动设备和安全认证设备 | |
CN103873454B (zh) | 一种认证方法及设备 | |
CN1126345C (zh) | 用于建立保密连接的方法、无线通信设备和系统 | |
JP4545197B2 (ja) | 無線ネットワークシステム及びこれを用いる通信方法 | |
CN101895538B (zh) | 建立数据交互通道的方法和系统、智能卡、服务器 | |
CN112559993B (zh) | 身份认证方法、装置、系统及电子设备 | |
WO2013182154A1 (zh) | 一种对通讯终端上应用程序加、解密的方法、系统和终端 | |
CN106788989A (zh) | 一种建立安全加密信道的方法及设备 | |
CN111143474B (zh) | 一种基于区块链技术的手机号码一键换绑的方法 | |
CN110933109B (zh) | 小程序动态认证方法及装置 | |
CN102420642B (zh) | 蓝牙设备及其通信方法 | |
EP4024311A1 (en) | Method and apparatus for authenticating biometric payment device, computer device and storage medium | |
CN112672342B (zh) | 数据传输方法、装置、设备、系统和存储介质 | |
CN113868672B (zh) | 模组无线固件升级方法、安全芯片和无线固件升级平台 | |
CN105530090A (zh) | 密钥协商的方法及设备 | |
CN107437996B (zh) | 一种身份认证的方法、装置及终端 | |
CN101895537B (zh) | 建立数据交互通道的方法和系统、智能卡、服务器 | |
CN111489462B (zh) | 一种个人用蓝牙钥匙系统 | |
CN116599719A (zh) | 一种用户登录认证方法、装置、设备、存储介质 | |
CN101621795A (zh) | 一种实现无线数据终端私有性的方法、系统及装置 | |
CN111489461B (zh) | 一种集团用蓝牙钥匙系统 | |
CN104104505A (zh) | 一种电子签名设备及其实现方法及客户端 | |
CN1661960B (zh) | 一种利用cave作为接入认证算法的机卡分离的认证方法以及装置 | |
TWI705347B (zh) | 身份認證方法和設備 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee after: Beijing Watchdata Limited by Share Ltd Address before: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee before: Beijing Woqi Data System Co., Ltd. |