CN101895537A - 建立数据交互通道的方法和系统、智能卡、服务器 - Google Patents

建立数据交互通道的方法和系统、智能卡、服务器 Download PDF

Info

Publication number
CN101895537A
CN101895537A CN2010102225285A CN201010222528A CN101895537A CN 101895537 A CN101895537 A CN 101895537A CN 2010102225285 A CN2010102225285 A CN 2010102225285A CN 201010222528 A CN201010222528 A CN 201010222528A CN 101895537 A CN101895537 A CN 101895537A
Authority
CN
China
Prior art keywords
smart card
mac
server
data
handshake information
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.)
Granted
Application number
CN2010102225285A
Other languages
English (en)
Other versions
CN101895537B (zh
Inventor
孙婉丽
张楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Watchdata Co ltd
Original Assignee
Beijing WatchData System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing WatchData System Co Ltd filed Critical Beijing WatchData System Co Ltd
Priority to CN201010222528.5A priority Critical patent/CN101895537B/zh
Publication of CN101895537A publication Critical patent/CN101895537A/zh
Application granted granted Critical
Publication of CN101895537B publication Critical patent/CN101895537B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种建立数据交互通道的方法和系统、智能卡、服务器,属于数据交互技术领域,可解决现有的建立数据交互通道的方法占用设备存储空间过大的问题。本发明的建立数据交互通道的方法中智能卡和服务器同步对握手消息的数据做MAC运算以得到MAC值,再比较该MAC值,其中通过MAC运算得到MAC值的过程包括:智能卡和服务器同步地对一条握手消息的数据做MAC运算,并分别保存所得的中间值,以用于对下一条握手消息的数据做MAC运算。本发明的智能卡和服务器包括发送和接收单元、MAC运算单元、比较单元。本发明的用于建立数据交互通道的系统包括智能卡和服务器。本发明可用于建立远程数据交互通道。

Description

建立数据交互通道的方法和系统、智能卡、服务器
技术领域
本发明涉及一种建立数据交互通道的方法和系统、智能卡、服务器,尤其是用于在智能卡和远程服务器间建立远程数据交互通道的方法、系统、智能卡、服务器。
背景技术
近年来,智能卡(如手机SIM卡、U盾、银行卡等)的功能迅速发展,许多智能卡已经可以通过智能卡网络服务器(Smart Card Web Server)与远程服务器进行数据交互。例如,通过STK(USAT)或0TA通讯方式,使用(U)SIM卡的手机用户可以享受手机银行、手机证券、网页浏览等功能。因此,在智能卡和服务器间建立一个安全的数据交互通道以保证数据在传输过程中的完整性、安全性就显得十分重要。
通常的数据交互通道包括握手层和记录层;握手层主要是建立数据交互通道的过程,用于智能卡和服务器的相互认证,并确定在记录层中用的传输协议版本、密钥、向量等参数;记录层主要利用握手层建立的数据交互通道进行数据传输。
显然,在上述握手层中必然包括大量在智能卡和服务器间交互握手消息的过程。为了保证这些消息传输的准确性,现有作法是智能卡和服务器分别将各自接收和发送的全部握手消息存储下来,在握手完成后分别对各自存储的全部握手消息的数据做MAC运算得到MAC值(Message Authentication Codes,消息认证码),再对智能卡和服务器中的MAC值进行比较,如果二者相同则认为消息传输过程正确,如不同则说明消息传输过程存在错误或被篡改。
发明人发现现有技术中至少存在如下问题:智能卡和服务器要分别将各自发送和接收的消息全部存储下以进行MAC运算,这样会占用智能卡和服务器中的大量存储空间。
发明内容
本发明的实施例提供一种建立数据交互通道的方法,其可减少对设备存储空间的占用。
为达到上述目的,本发明的实施例采用如下技术方案:
一种建立数据交互通道的方法,包括:
智能卡和服务器交互至少两条握手消息,并分别同步地对所述握手消息的数据做MAC运算以分别得到MAC值;其中所述智能卡和服务器分别同步地对所述握手消息的数据做MAC运算以分别得到MAC值包括:所述智能卡和服务器分别同步地对一条所述握手消息的数据做MAC运算,并分别保存所得的中间值,以用于分别对下一条所述握手消息的数据做MAC运算;
比较所述智能卡和服务器中的MAC值。
其中,“握手消息”是指在建立数据交互通道的过程中用的、除了下述比较MAC值的消息外的其它全部消息,包括确定记录层中的参数用的消息、服务器和智能卡进行相互认证用的消息、生成新预共享密钥用的消息等。上述“对所述握手消息的数据做MAC运算以分别得到MAC值”的意义为:对一条握手消息的数据做MAC运算得到中间值,保存该中间值以用于对下一条握手消息的数据做MAC运算,在经过至少两次MAC运算后(当然也可为更多次),在最终的MAC运算中得到MAC值。上述“智能卡和服务器分别同步做MAC运算”的意义为,对于某条握手消息的数据,智能卡和服务器或者同时对其做MAC运算(指智能卡和服务器分别对各自接收或发送的消息的数据做MAC运算),或者都不对其做MAC运算。
由于本发明实施例的建立数据交互通道的方法是对单条消息的数据逐一做MAC运算,并将运算得到的中间值用于对下一条消息的MAC运算,所以设备中任何时候只用存储一条消息和一个中间值(或MAC值),而不用将全部消息都存储下来,故其占用的存储空间较少。
本发明的实施例还提供一种智能卡,其所需的存储空间较少。
为达到上述目的,本发明的实施例采用如下技术方案:
一种智能卡,包括:
发送单元,用于发送握手消息和第一MAC值;
接收单元,用于接收握手消息和第二MAC值;
MAC运算单元,用于对所述握手消息的数据做MAC运算以得到第一MAC值;其中所述对所述握手消息的数据做MAC运算以得到第一MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述第一MAC值和第二MAC值。
由于本发明实施例的智能卡中的MAC运算单元可对单条消息的数据逐一做MAC运算,并将运算得到的中间值用于对下一条消息的MAC运算,所以智能卡中任何时候只用存储一条消息和一个中间值(或MAC值),而不用将全部消息都存储下来,故其所需的存储空间较少。
本发明的实施例还提供一种服务器,其所需的存储空间较少。
为达到上述目的,本发明的实施例采用如下技术方案:
一种服务器,包括:
发送单元,用于发送握手消息和第一MAC值;
接收单元,用于接收握手消息和第二MAC值;
MAC运算单元,用于对所述握手消息的数据做MAC运算以得到第一MAC值;其中所述对所述握手消息的数据做MAC运算以得到第一MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述第一MAC值和第二MAC值。
由于本发明实施例的服务器中的MAC运算单元可对单条消息的数据逐一做MAC运算,并将运算得到的中间值用于对下一条消息的MAC运算,所以服务器中任何时候只用存储一条消息和一个中间值(或MAC值),而不用将全部消息都存储下来,故其所需的存储空间较少。
本发明的实施例还提供一种用于建立数据交互通道的系统,其所需的存储空间较少。
为达到上述目的,本发明的实施例采用如下技术方案:
一种用于建立数据交互通道的系统,包括智能卡和服务器,其中,
所述智能卡包括:
发送单元,用于向所述服务器发送握手消息和智能卡MAC值;
接收单元,用于接收来自所述服务器的握手消息和服务器MAC值;
MAC运算单元,用于与所述服务器同步地对所述握手消息的数据做MAC运算以得到智能卡MAC值;其中所述与所述服务器同步地对所述握手消息的数据做MAC运算以得到智能卡MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述智能卡MAC值和服务器MAC值;
所述服务器包括:
发送单元,用于向所述智能卡发送握手消息和服务器MAC值;
接收单元,用于接收来自所述智能卡的握手消息和智能卡MAC值;
MAC运算单元,用于与所述智能卡同步地对所述握手消息的数据做MAC运算以得到服务器MAC值,其中所述与所述智能卡同步地对所述握手消息的数据做MAC运算以得到服务器MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述服务器MAC值和智能卡MAC值。
由于本发明实施例的用于建立数据交互通道的系统中的智能卡和服务器中的MAC运算单元可对单条消息的数据逐一做MAC运算,并将运算得到的中间值用于对下一条消息的MAC运算,所以一个设备中任何时候只用存储一条消息和一个中间值(或MAC值),而不用将全部消息都存储下来,故其所需的存储空间较少。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一的建立数据交互通道的方法的流程图;
图2为本发明实施例二的建立数据交互通道的方法的过程示意图;
图3为本发明实施例三的智能卡的结构示意图;
图4为本发明实施例的另一种智能卡的结构示意图;
图5为本发明实施例四的服务器的结构示意图;
图6为本发明实施例的另一种服务器的结构示意图;
图7为本发明实施例五的用于建立数据交互通道的系统的结构示意图;
图8为本发明实施例的另一种用于建立数据交互通道的系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供一种建立数据交互通道的方法,如图1所示,包括:
S01、智能卡和服务器交互至少两条握手消息,并分别同步地对所述握手消息的数据做MAC运算以分别得到MAC值;其中所述智能卡和服务器分别同步地对所述握手消息的数据做MAC运算以分别得到MAC值包括:所述智能卡和服务器分别同步地对一条所述握手消息的数据做MAC运算,并分别保存所得的中间值,以用于分别对下一条所述握手消息的数据做MAC运算;
S02、比较所述智能卡和服务器中的MAC值。
显然,本发明实施例的建立数据交互通道的方法中可只对部分握手消息的数据(至少为两条)做MAC运算,也可对全部的握手消息的数据做MAC运算;对MAC值的比较可进行多次(每两次比较之间均包括对至少两条握手消息的数据做MAC运算以得到MAC值的步骤),也可只进行一次MAC值比较。但优选的,可对全部握手消息的数据做MAC运算,并在握手消息交互完成后对最终的MAC值进行一次比较。
本发明实施例的建立数据交互通道的方法中对单条消息的数据逐一做MAC运算,并将运算得到的中间值用于对下一条消息的MAC运算,显然,只要任意一条消息出现错误(即智能卡和服务器发送/接收的消息不同),则之后智能卡和服务器得到的中间值或MAC值都会不同,通过比较最终MAC值就可验证全部数据的正确性。因此,设备中任何时候只用存储一条消息和一个中间值(或MAC值),而不用将全部消息都存储下来,故其占用的存储空间较少。
实施例二
本发明实施例提供一种建立数据交互通道的方法,其中智能卡和服务器中分别预设有相同的16字节的预共享密钥(第一密钥)、序列数算法、序列数初始值等。如图2所示,建立数据交互通道的方法包括:
步骤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值时可不经加密而直接传输;在智能卡接收/服务器发送消息时也可进行加序列数的操作,也可完全不进行加序列数的操作;序列数可按其它方式加到消息数据中(如加到消息前边或与消息混编);可用不同的算法生成预共享密钥;可用不同的方法利用预共享密钥进行认证;部分消息的内容、发送顺序、加密情况可变化(例如可先发送客户请求消息再发送随机数消息,或也可一同发送随机数消息与客户请求消息,或可将随机数消息加密后再发送);可选用不同的密钥位数、随机数位数;各步骤可采用不同的具体算法、密钥等。
实施例三
本发明实施例提供一种智能卡11,如图3所示,其包括:
发送单元12,用于发送握手消息和第一MAC值;
接收单元13,用于接收握手消息和第二MAC值;
MAC运算单元14,用于对所述握手消息的数据做MAC运算以得到第一MAC值;其中所述对所述握手消息的数据做MAC运算以得到第一MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元15,用于比较所述第一MAC值和第二MAC值。
可选的,如图4所示,本发明实施例的智能卡11还可包括:
序列数更新单元16,用于生成并更新序列数,并将所述序列数加到所述握手消息的数据中;
密钥更新单元17,用于确定随机数,并用所述随机数和存储的第一密钥生成第二密钥,再用所述第二密钥替代所述第一密钥。
由于本发明实施例的智能卡中的MAC运算单元可对单条消息的数据逐一做MAC运算,并将运算得到的中间值用于对下一条消息的MAC运算,所以智能卡中任何时候只用存储一条消息和一个中间值(或MAC值),而不用将全部消息都存储下来,故其所需的存储空间较少。
实施例四
本发明实施例提供一种服务器21,如图5所示,其包括:
发送单元22,用于发送握手消息和第一MAC值;
接收单元23,用于接收握手消息和第二MAC值;
MAC运算单元24,用于对所述握手消息的数据做MAC运算以得到第一MAC值;其中所述对所述握手消息的数据做MAC运算以得到第一MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元25,用于比较所述第一MAC值和第二MAC值。
可选的,如图6所示,本发明实施例的服务器21还可包括:
序列数更新单元26,用于生成并更新序列数,并将所述序列数加到所述握手消息的数据中;
密钥更新单元27,用于确定随机数,并用所述随机数和存储的第一密钥生成第二密钥,再用所述第二密钥替代所述第一密钥。
由于本发明实施例的服务器中的MAC运算单元可对单条消息的数据逐一做MAC运算,并将运算得到的中间值用于对下一条消息的MAC运算,所以服务器中任何时候只用存储一条消息和一个中间值(或MAC值),而不用将全部消息都存储下来,故其所需的存储空间较少。
实施例五
本发明实施例提供一种用于建立数据交互通道的系统,如图7所示,其包括智能卡11和服务器21,其中,
智能卡11包括:
发送单元12,用于向所述服务器21发送握手消息和智能卡MAC值;
接收单元13,用于接收来自所述服务器21的握手消息和服务器MAC值;
MAC运算单元14,用于与所述服务器21同步地对所述握手消息的数据做MAC运算以得到智能卡MAC值;其中所述与所述服务器21同步地对所述握手消息的数据做MAC运算以得到智能卡MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元15,用于比较所述智能卡MAC值和服务器MAC值;
服务器21包括:
发送单元22,用于向所述智能卡11发送握手消息和服务器MAC值;
接收单元23,用于接收来自所述智能卡11的握手消息和智能卡MAC值;
MAC运算单元24,用于与所述智能卡11同步地对所述握手消息的数据做MAC运算以得到服务器MAC值,其中所述与所述智能卡11同步地对所述握手消息的数据做MAC运算以得到服务器MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元25,用于比较所述服务器MAC值和智能卡MAC值。
可选的,如图8所示,本发明实施例的用于建立数据交互通道的系统中,智能卡11还可包括:
序列数更新单元16,用于按第一算法与所述服务器21同步地生成并更新序列数,并将所述序列数加到所述握手消息的数据中;
密钥更新单元17,用于与所述服务器21同步随机数,并用所述随机数和存储的第一密钥按第二算法生成第二密钥,再用所述第二密钥替代所述第一密钥;
而服务器21还可包括:
序列数更新单元26,用于按第一算法与所述智能卡11同步地生成并更新序列数,并将所述序列数加到所述握手消息的数据中;
密钥更新单元27,用于与所述智能卡11同步随机数,并用所述随机数和存储的第一密钥按第二算法生成第二密钥,再用所述第二密钥替代所述第一密钥。
由于本发明实施例的用于建立数据交互通道的系统中的智能卡和服务器中的MAC运算单元可对单条消息的数据逐一做MAC运算,并将运算得到的中间值用于对下一条消息的MAC运算,所以一个设备中任何时候只用存储一条消息和一个中间值(或MAC值),而不用将全部消息都存储下来,故其所需的存储空间较少。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种建立数据交互通道的方法,其特征在于,包括:
智能卡和服务器交互至少两条握手消息,并分别同步地对所述握手消息的数据做MAC运算以分别得到MAC值;其中所述智能卡和服务器分别同步地对所述握手消息的数据做MAC运算以分别得到MAC值包括:所述智能卡和服务器分别同步地对一条所述握手消息的数据做MAC运算,并分别保存所得的中间值,以用于分别对下一条所述握手消息的数据做MAC运算;
比较所述智能卡和服务器中的MAC值。
2.根据权利要求1所述的建立数据交互通道的方法,其特征在于,至少有一条所述握手消息的数据中包括序列数,所述序列数由所述智能卡和服务器按相同的算法分别同步地生成并加到所述握手消息的数据中。
3.根据权利要求2所述的建立数据交互通道的方法,其特征在于,还满足下列两条件中的至少一个:
所述智能卡每发送一条握手消息后,所述智能卡将其生成的所述序列数加入其发送的所述握手消息的数据中,所述服务器将其生成的所述序列数加入其接收到的所述握手消息的数据中;所述智能卡和服务器再分别对各自的所述序列数进行更新;
所述服务器每发送一条握手消息后,所述服务器将其生成的所述序列数加入其发送的所述握手消息的数据中,所述智能卡将其生成的所述序列数加入其接收到的所述握手消息的数据中;所述智能卡和服务器再分别对各自的所述序列数进行更新。
4.根据权利要求1至3中任意一项所述的建立数据交互通道的方法,其特征在于,还包括:在所述智能卡和服务器使用第一密钥进行一次相互认证前更新所述第一密钥;所述更新所述第一密钥包括:
所述智能卡和服务器同步随机数;
所述智能卡和服务器分别用所述随机数和各自存储的第一密钥按相同的算法生成第二密钥,并分别用所述第二密钥替代所述第一密钥。
5.根据权利要求4所述的建立数据交互通道的方法,其特征在于,所述智能卡和服务器同步随机数包括下列两步骤中的一个:
所述智能卡产生随机数并将其发送给所述服务器;
所述服务器产生随机数并将其发送给所述智能卡。
6.根据权利要求4所述的建立数据交互通道的方法,其特征在于,所述智能卡和服务器分别用所述随机数和各自存储的第一密钥按相同的算法生成第二密钥包括:
所述智能卡和服务器分别对所述随机数做MAC运算得到随机数MAC值,之后分别用所述第一密钥对所述随机数MAC值加密,并将加密结果作为第二密钥。
7.一种智能卡,其特征在于,包括:
发送单元,用于发送握手消息和第一MAC值;
接收单元,用于接收握手消息和第二MAC值;
MAC运算单元,用于对所述握手消息的数据做MAC运算以得到第一MAC值;其中所述对所述握手消息的数据做MAC运算以得到第一MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述第一MAC值和第二MAC值。
8.根据权利要求7所述的智能卡,其特征在于,还包括:
序列数更新单元,用于生成并更新序列数,并将所述序列数加到所述握手消息的数据中;
密钥更新单元,用于确定随机数,并用所述随机数和存储的第一密钥生成第二密钥,再用所述第二密钥替代所述第一密钥。
9.一种服务器,包括:
发送单元,用于发送握手消息和第一MAC值;
接收单元,用于接收握手消息和第二MAC值;
MAC运算单元,用于对所述握手消息的数据做MAC运算以得到第一MAC值;其中所述对所述握手消息的数据做MAC运算以得到第一MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述第一MAC值和第二MAC值。
10.根据权利要求9所述的服务器,其特征在于,还包括:
序列数更新单元,用于生成并更新序列数,并将所述序列数加到所述握手消息的数据中;
密钥更新单元,用于确定随机数,并用所述随机数和存储的第一密钥生成第二密钥,再用所述第二密钥替代所述第一密钥。
11.一种用于建立数据交互通道的系统,包括智能卡和服务器,其特征在于,
所述智能卡包括:
发送单元,用于向所述服务器发送握手消息和智能卡MAC值;
接收单元,用于接收来自所述服务器的握手消息和服务器MAC值;
MAC运算单元,用于与所述服务器同步地对所述握手消息的数据做MAC运算以得到智能卡MAC值;其中所述与所述服务器同步地对所述握手消息的数据做MAC运算以得到智能卡MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述智能卡MAC值和服务器MAC值;
所述服务器包括:
发送单元,用于向所述智能卡发送握手消息和服务器MAC值;
接收单元,用于接收来自所述智能卡的握手消息和智能卡MAC值;
MAC运算单元,用于与所述智能卡同步地对所述握手消息的数据做MAC运算以得到服务器MAC值,其中所述与所述智能卡同步地对所述握手消息的数据做MAC运算以得到服务器MAC值包括:对一条所述握手消息的数据做MAC运算,并保存所得的中间值,以用于对下一条所述握手消息的数据做MAC运算;
比较单元,用于比较所述服务器MAC值和智能卡MAC值。
12.根据权利要求11所述的用于建立数据交互通道的系统,其特征在于,
所述智能卡还包括:
序列数更新单元,用于按第一算法与所述服务器同步地生成并更新序列数,并将所述序列数加到所述握手消息的数据中;
密钥更新单元,用于与所述服务器同步随机数,并用所述随机数和存储的第一密钥按第二算法生成第二密钥,再用所述第二密钥替代所述第一密钥;
所述服务器还包括:
序列数更新单元,用于按第一算法与所述智能卡同步地生成并更新序列数,并将所述序列数加到所述握手消息的数据中;
密钥更新单元,用于与所述智能卡同步随机数,并用所述随机数和存储的第一密钥按第二算法生成第二密钥,再用所述第二密钥替代所述第一密钥。
CN201010222528.5A 2010-06-30 2010-06-30 建立数据交互通道的方法和系统、智能卡、服务器 Expired - Fee Related CN101895537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010222528.5A CN101895537B (zh) 2010-06-30 2010-06-30 建立数据交互通道的方法和系统、智能卡、服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010222528.5A CN101895537B (zh) 2010-06-30 2010-06-30 建立数据交互通道的方法和系统、智能卡、服务器

Publications (2)

Publication Number Publication Date
CN101895537A true CN101895537A (zh) 2010-11-24
CN101895537B CN101895537B (zh) 2014-07-30

Family

ID=43104604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010222528.5A Expired - Fee Related CN101895537B (zh) 2010-06-30 2010-06-30 建立数据交互通道的方法和系统、智能卡、服务器

Country Status (1)

Country Link
CN (1) CN101895537B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101895538A (zh) * 2010-06-30 2010-11-24 北京握奇数据系统有限公司 建立数据交互通道的方法和系统、智能卡、服务器
CN107547737A (zh) * 2017-08-21 2018-01-05 北京华大智宝电子系统有限公司 一种数据处理方法及其客户识别模块sim盾

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1706148A (zh) * 2003-01-15 2005-12-07 索尼株式会社 相互验证方法、程序、记录介质、信号处理系统、再现装置、以及信息处理装置
CN1881878A (zh) * 2006-05-10 2006-12-20 上海市电信有限公司 在可控因特网网络环境下基于智能卡业务安全认证方法
CN1905436A (zh) * 2005-07-28 2007-01-31 北京航空航天大学 保证数据交换安全的方法
US7246236B2 (en) * 2002-04-18 2007-07-17 Nokia Corporation Method and apparatus for providing peer authentication for a transport layer session
CN101174953A (zh) * 2007-03-27 2008-05-07 兰州大学 一种基于S/Key系统的身份认证方法
CN101478544A (zh) * 2009-01-15 2009-07-08 中兴通讯股份有限公司 一种多媒体广播多重加解密的实现方法和装置
CN101895538A (zh) * 2010-06-30 2010-11-24 北京握奇数据系统有限公司 建立数据交互通道的方法和系统、智能卡、服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
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
CN1706148A (zh) * 2003-01-15 2005-12-07 索尼株式会社 相互验证方法、程序、记录介质、信号处理系统、再现装置、以及信息处理装置
CN1905436A (zh) * 2005-07-28 2007-01-31 北京航空航天大学 保证数据交换安全的方法
CN1881878A (zh) * 2006-05-10 2006-12-20 上海市电信有限公司 在可控因特网网络环境下基于智能卡业务安全认证方法
CN101174953A (zh) * 2007-03-27 2008-05-07 兰州大学 一种基于S/Key系统的身份认证方法
CN101478544A (zh) * 2009-01-15 2009-07-08 中兴通讯股份有限公司 一种多媒体广播多重加解密的实现方法和装置
CN101895538A (zh) * 2010-06-30 2010-11-24 北京握奇数据系统有限公司 建立数据交互通道的方法和系统、智能卡、服务器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101895538A (zh) * 2010-06-30 2010-11-24 北京握奇数据系统有限公司 建立数据交互通道的方法和系统、智能卡、服务器
CN101895538B (zh) * 2010-06-30 2013-06-05 北京握奇数据系统有限公司 建立数据交互通道的方法和系统、智能卡、服务器
CN107547737A (zh) * 2017-08-21 2018-01-05 北京华大智宝电子系统有限公司 一种数据处理方法及其客户识别模块sim盾

Also Published As

Publication number Publication date
CN101895537B (zh) 2014-07-30

Similar Documents

Publication Publication Date Title
CN110493261B (zh) 基于区块链的验证码获取方法、客户端、服务器及存储介质
KR102149587B1 (ko) 신원 인증 방법 및 장치
CN107358441B (zh) 支付验证的方法、系统及移动设备和安全认证设备
JP4545197B2 (ja) 無線ネットワークシステム及びこれを用いる通信方法
CN102223364B (zh) 一种访问电子书数据的方法及系统
CN103873454A (zh) 一种认证方法及设备
CN103415008A (zh) 一种加密通信方法和加密通信系统
CN101895538B (zh) 建立数据交互通道的方法和系统、智能卡、服务器
CN102056077B (zh) 一种通过密钥进行智能卡应用的方法和装置
CN106788989A (zh) 一种建立安全加密信道的方法及设备
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN107707562B (zh) 一种非对称动态令牌加、解密算法的方法、装置
CN113868672B (zh) 模组无线固件升级方法、安全芯片和无线固件升级平台
CN103780620A (zh) 一种网络安全方法和网络安全系统
CN112672342B (zh) 数据传输方法、装置、设备、系统和存储介质
CN101944216A (zh) 双因子在线交易安全认证方法及系统
CN108768628A (zh) 设备端加密方法、装置、系统和网关
CN105592056A (zh) 用于移动设备的密码安全系统及其密码安全输入方法
CN103024735A (zh) 无卡终端的业务访问方法及设备
CN101895537B (zh) 建立数据交互通道的方法和系统、智能卡、服务器
EP4135375A1 (en) Pairing method and wireless device applied to short-distance communication system
JP4028849B2 (ja) 通信システム、携帯端末及びプログラム
CN113905359B (zh) 一种银行外设的蓝牙安全通讯方法、装置、设备和介质
CN103383793B (zh) 一种利用浏览器实现发票真伪鉴别的方法及系统
CN115801232A (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

Address after: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden

Patentee after: BEIJING WATCHDATA Co.,Ltd.

Address before: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden

Patentee before: BEIJING WATCH DATA SYSTEM Co.,Ltd.

CP01 Change in the name or title of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140730

CF01 Termination of patent right due to non-payment of annual fee