生成会话密钥的方法、识别卡和相应的数据发送装置转让专利

申请号 : CN200480039818.9

文献号 : CN1902883B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : M·布洛梅尔特

申请人 : 西门子公司

摘要 :

通过用于生成会话密钥的方法和装置来说明了一种简单而有效的用于检验业务数据源自值得信赖的来源的可能性,该会话密钥用于解码从业务网络节点(DN)通过通信网向至少一个通信终端设备(MS)所发送的业务数据。根据本发明,在通信终端设备(MS)的识别卡(UICC)中,存储了至少一个由业务网络节点(DN)所发送的接入密钥(BAK-I)和至少一个所发送的序列值(SEQ),在业务网络节点(DN)中计算有效值(MAC-I),并且将该有效值(MAC-I)与业务数据和其它的序列值(nSEQ)一起发送给通信终端设备(MS)。在接收数据时,将有效值(MAC-I)与在识别卡(UICC)中所计算的有效值(SD-MAC-I)进行比较,进一步在识别卡(UICC)中,将随着数据发送的其它的序列值(nSEQ)与被存储在识别卡(UICC)上的序列值(SEQ)进行比较,并且只在存在两个有效值(MAC-I/SD-MAC-I)和两个序列值(SEQ/nSEQ)的肯定的比较结果时,才将由识别卡(UICC)所生成的、用于解码业务数据的会话密钥转交给通信终端设备(MS)的终端(T)。

权利要求 :

1.用于生成会话密钥的方法,该会话密钥用于解码从业务网络节点(DN)通过通信网被发送给至少一个通信终端设备(MS)的业务数据,其特征在于,

在通信终端设备(MS)的识别卡(UICC)中存储至少一个由所述业务网络节点(DN)所发送的接入密钥(BAK-I)和至少一个所发送的序列值(SEQ),在所述业务网络节点(DN)中计算有效值(MAC-I),并且该有效值(MAC-I)与业务数据和其它的序列值(nSEQ)一起被发送给所述通信终端设备(MS),在接收到所述有效值(MAC-I)与业务数据和其它的序列值(nSEQ)之后,将所接收到的有效值(MAC-I)与在所述识别卡(UICC)中所计算的有效值(SD-MAC-I)进行比较,在所述识别卡(UICC)中,将所接收到的其它序列值(nSEQ)与被存储在所述识别卡(UICC)上的序列值(SEQ)进行比较,和只有在两个有效值(MAC-I/SD-MAC-I)和两个序列值(SEQ/nSEQ)的所述比较的比较结果为肯定时,才将由所述识别卡(UICC)所生成的、用于解码业务数据的会话密钥转交给所述通信终端设备(MS)的终端(T)。

2.按权利要求1所述的方法,

其特征在于,

在所述两个序列值(SEQ/nSEQ)的肯定的比较之后,通过所接收到的其它序列值(nSEQ)的值来代替所述识别卡(UICC)中的序列值(SEQ)。

3.按以上权利要求1-2之一所述的方法,

其特征在于,

随着编码的业务数据发送的其它的序列值(nSEQ)大于被存储在所述识别卡(UICC)上的序列值(SEQ)。

4.按以上权利要求1-2之一所述的方法,

其特征在于,

只有当所述其它的序列值(nSEQ)大于所述识别卡(UICC)中的所存储的序列值(SEQ)时,才存在肯定的比较结果。

5.按以上权利要求1-2之一所述的方法,

其特征在于,

在应用所述其它的序列值(nSEQ)、随机数(RAND)、接入密钥(BAK-I)的情况下来在所述业务网络节点中计算有效值(MAC-I)。

6.按以上权利要求5所述的方法,

其特征在于,

在应用散列函数(KHF)的情况下来在所述业务网络节点中计算有效值(MAC-I)。

7.按以上权利要求1-2之一所述的方法,

其特征在于,

在应用与在业务网络节点(DN)中进行有效值(MAC-I)的计算相同的值(nSEQ,RAND,BAK-I)和相同的函数的情况下,在所述识别卡(UICC)中进行有效值(SD-MAC-I)的计算。

8.按以上权利要求1-2之一所述的方法,

其特征在于,

随着编码的业务数据来发送接入密钥标识(BAK-ID),用于寻址对于业务数据所必需的接入密钥(BAK-I)。

9.按以上权利要求1-2之一所述的方法,

其特征在于,

所述通信网是蜂窝式移动无线电网。

10.用于生成会话密钥的识别卡(UICC),该会话密钥用于解码从业务网络节点(DN)通过通信网向至少一个通信终端设备(MS)所发送的业务数据,-具有存储元件(SE),用于存储至少一个由所述业务网络节点(DN)所发送的接入密钥(BAK-I)和至少一个所发送的序列值(SEQ),-具有接收单元(E),用于接收至少一个由所述业务网络节点(DN)所计算的有效值(MAC-I)和由所述业务网络节点(DN)所计算和所发送的其它的序列值(nSEQ),-具有用于计算有效值(SD-MAC-I)和用于将所计算的有效值(SD-MAC-I)与由所述业务网络节点(DN)所计算和所发送的有效值(MAC-I)进行比较的处理单元,-具有用于将所述其它的序列值(nSEQ)与被存储在所述存储元件(SE)中的序列值(SEQ)进行比较的处理单元,-具有发送单元(S),用于在存在所述两个有效值(MAC-I/SD-MAC-I)的肯定的比较和所述两个序列值(SEQ/nSEQ)的肯定的比较时将由所述处理单元(V)所生成的、用于解码业务数据的会话密钥发送给通信终端设备(MS)。

11.按权利要求10所述的识别卡,

其特征在于,

只有当所接收到的其它的序列值(nSEQ)大于被存储在所述存储元件(SE)中的序列值(SEQ)时,才存在肯定的比较结果。

12.在业务网络节点(DN)中用于通过通信网向至少一个通信终端设备(MS)发送数据的装置,-具有处理单元(V),用于计算有效值(MAC-I)和用于建立其它的序列值(nSEQ),-具有发送单元(S),用于将至少一个接入密钥(BAK-I)和至少一个序列值(SEQ)和所计算的有效值(MAC-I)和其它的序列值(nSEQ)发送给所述通信终端设备(MS),以便所述通信终端设备在接收到所述数据之后,将所接收到的有效值(MAC-I)与在所述识别卡(UICC)中所计算的有效值(SD-MAC-I)进行比较,以及在所述识别卡(UICC)中,将所接收到的其它序列值(nSEQ)与被存储在所述识别卡(UICC)上的序列值(SEQ)进行比较。

13.按权利要求12所述的装置,

其特征在于,

所述通信网是蜂窝式移动无线电网。

说明书 :

技术领域

本发明涉及一种方法和一种装置,用于检验从业务网络节点通过通信网向通信终端设备所发送的业务数据是否源自值得信赖的来源。

背景技术

文献D1(MBMS安全性报告员(Rapporteur):“Latest Versionof MBMS TS(33.246v0.2.1)(MBMS TS的最新版本(33.246v0.2.1))”(3GPP TSG SA WG3安全性-S3,30,[在线]2003年10月10日(2003-10-10),XP002315613 Povoa De Varzim,葡萄牙)说明了3GPP系统(UTRAN和GERAN)的多媒体广播/组播业务(MBMS)的安全性程序。MBMS是一种通过GPRS网所提供的并可以传输极其不同的应用程序的业务。在此,所应用的保护方法与借助MBMS所传输的应用程序有关。
文献D2(Arkko J.等人:“MIKEY:Multimedia InternetKEYing(MIKEY:多媒体因特网键控)”IETF,草案,2003年6月(2003-06),XP015002814)说明了实时多媒体应用的安全性协议。为了可以进行这些协议的支持,存在着密钥管理解决方案的必要性。建议了实时应用程序的一种密钥管理模式(既用于对等通信,又用于组群通信),该模式与如SIP和RTSP那样的协议一起起作用。部分地也应用SRTP。
在业务中,特别是在通信网中的所谓的组播业务中,诸如在多媒体MBMS业务(MBMS=多媒体广播/组播业务(MultimediaBroadcast/Multicast Service))中,在下载视频数据、音频数据、图像数据和游戏数据等等时,不能保证只有也对这些业务已付费的这种用户接入这些业务。在组播业务中,向一组用户的多个接收机发送业务数据。可以如此来调节对这种业务或对例如视频数据的数据的接入,以致只有可以生成用于解码这些数据的会话密钥(Session Key)的用户也可以使用这些数据。这种方法在于,将接入密钥(密钥BAK=广播接入密钥(Broadcast access key))安全地传送到用户的识别卡(智能卡)上。识别卡可以例如是SIM(用户身份模块(SubscriberIdentity Module))卡、USIM(通用用户身份模块(UniversalSubscriber Identity Module))等等。
如果用户想要使用业务数据,则在应用接入密钥的情况下在识别卡和随机数上生成会话密钥。在用户的通信终端设备中使用该会话密钥。在此,通信终端设备可以是移动无线电终端设备、手持式设备、移动的计算机等。接入密钥安全地被保管在识别卡上并且仅仅保留在该卡上。随机数被包括在所传输的数据中并且实现了快速的会话密钥生成。但是,所介绍的用于会话密钥生成的方法不可能检验,一方面所接收到的数据和另一方面用于生成会话密钥的随机数是否源自值得信赖的来源或业务网络节点。
在由具有使用业务数据的终端设备的许多潜在的不值得信赖的用户可以生成相同的会话密钥之后,只能确保,这些会话密钥的没有良好规定的(wholdefiniert)完整性保护只能保证,业务的数据来自该组成员,即来自已得到接入密钥的成员。这种方法的前提在于,该组中的所有用户都是值得信赖的。可是,如果由该组之外的狡诈的用户来分配会话密钥,则可能伪造鉴权源和用于分配狡诈的或改变的内容的业务的设立(setup)。因此例如可能的是,狡诈的用户利用通信终端设备来记录业务的输出数据的会话密钥和随机数,将该信息转交给不值得信赖的来源,该来源接着企图将该信息与狡诈的内容一起来使用。不值得信赖的来源可能提供一种业务,其方式是该来源假装是基站(BTS)或者无线电网络控制器(RNC,Radio-Netzwerk-Controller)。在此,不值得信赖的来源利用了通信网的薄弱环节或者进行支持的业务的典型特性。因此,UMTS移动无线电用户例如具有以下可能性,以RRC空闲模式来接收业务数据,这意味着,通信终端设备不必通过所鉴权的点对点连接与网络相连接。另一个实例可能是,恰好在已起动当前业务之前,通信终端设备的狡诈的用户开始基于自己的随机数来计算多个会话密钥。可以从得到识别卡上的接入密钥起来起动会话密钥的计算。不值得信赖的来源由此可以在通过业务开始发送数据之前开始发送数据。进行这种攻击(Attacken)的风险随着业务的潜在用户数量上升。因此在足球比赛期间,想要知道在该瞬间的其它比赛的比赛结果的观众可能获知错误的内容。
在技术规范3GPP TS 33.246(3G安全性;多媒体广播/组播业务(MBMS)的安全性,版本6)中,讨论了对于业务数据的完整性保护(integrity protection)的要求。可是,该技术规范导致以下的理解,不值得信赖的用户使得基于被存放在通信终端设备中的会话密钥的完整性保护的保证成为不可能,因为如已经指出的那样用户可以作为数据源来起作用。用于在通信网中的业务数据中的完整性保护的措施附加地具有在业务质量(QoS=Quality of Service)中的负面的效应,因为所接收到的数据中的每个残余比特误差在应用程序侧由于缺少完整性检验而导致数据分组的减少。应该仔细地操作在通信网中的完整性保护的应用。迄今也未曾考虑会话密钥随机数(RAND)的选择性保护。其原因可能是,这里未能确定假定的威胁。在IETF草案(draft)http://www.ietf.org/internet-drafts/draft-ietf-msec-tesla-intro-01.txt中介绍了对于在组播业务中的来源鉴权(可是不应用识别卡)的建议。

发明内容

本发明的任务是,对于所接收到的业务数据建议会话密钥的完整性和现实性(Aktualitaet)的一种简单而有效的保护。
根据本发明的用于生成会话密钥的方法,该会话密钥用于解码从业务网络节点通过通信网被发送给至少一个通信终端设备的业务数据,在通信终端设备的识别卡中存储至少一个由所述业务网络节点所发送的接入密钥和至少一个所发送的序列值,在所述业务网络节点中计算有效值,并且该有效值与业务数据和其它的序列值一起被发送给所述通信终端设备,在接收到所述数据之后,将所接收到的有效值与在所述识别卡中所计算的有效值进行比较,在所述识别卡中,将所接收到的其它序列值与被存储在所述识别卡上的序列值进行比较,和只有在两个有效值和两个序列值的所述比较的比较结果为肯定时,才将由所述识别卡所生成的、用于解码业务数据的会话密钥转交给所述通信终端设备的终端。
优选地,在所述两个序列值的肯定的比较之后,通过所接收到的其它序列值的值来代替所述识别卡中的序列值。随着编码的业务数据发送的其它的序列值大于被存储在所述识别卡上的序列值。只有当所述其它的序列值大于所述识别卡中的所存储的序列值时,才存在肯定的比较结果。在应用所述其它的序列值、随机数、接入密钥的情况下和/或在应用散列函数的情况下来在所述业务网络节点中计算有效值。在应用与在业务网络节点中进行有效值的计算相同的值和相同的函数的情况下,在所述识别卡中进行有效值的计算。随着编码的业务数据来发送接入密钥标识,用于寻址对于业务数据所必需的接入密钥。所述通信网是蜂窝式移动无线电网。
根据本发明的用于生成会话密钥的识别卡,该会话密钥用于解码从业务网络节点通过通信网向至少一个通信终端设备所发送的业务数据,
-具有存储元件,用于存储至少一个由所述业务网络节点所发送的接入密钥和至少一个所发送的序列值,
-具有接收单元,用于接收至少一个由所述业务网络节点所计算的有效值和由所述业务网络节点所计算和所发送的其它的序列值,
-具有处理单元,用于计算有效值,和用于将所计算的有效值与由所述业务网络节点所计算和所发送的有效值进行比较,
-具有处理单元,用于将所述其它的序列值与被存储在所述存储元件中的序列值进行比较,
-具有发送单元,用于在存在所述两个有效值的肯定的比较和所述两个序列值的肯定的比较时将由所述处理单元所生成的、用于解码业务数据的会话密钥发送给通信终端设备。
根据本发明的在业务网络节点中用于通过通信网向至少一个通信终端设备发送数据的装置,
-具有处理单元,用于计算有效值和用于建立其它的序列值,
-具有发送单元,用于将至少一个接入密钥和至少一个序列值和所计算的有效值和其它的序列值发送给所述通信终端设备,以便所述通信终端设备在接收到所述数据之后,将所接收到的有效值(MAC-I)与在所述识别卡中所计算的有效值进行比较,以及在所述识别卡中,将所接收到的其它序列值与被存储在所述识别卡上的序列值进行比较。
在识别卡上通过这种卡的物理的安全性可以安全地存储用于解码或生成会话密钥的接入密钥。
业务网络节点首先通过通信网将接入密钥和序列值传送给通信终端设备。这可以通过安全的连接来实现。在此,序列值是数值或在每次传输时可以继续计数的计数器。在识别卡上存储接入密钥和序列值。在业务开始时,业务网络节点计算有效值。在此,业务网络节点可以是通信网中的业务服务器或类似的网络节点。从随机数、其它的序列值(优选地大于被存储在识别卡上的序列值)、接入密钥中,和优选地在应用散列函数(Zerstueckelungsfunktion)(加密散列函数(keyed hash function))的情况下来计算该有效值。利用由业务网络节点所生成的会话密钥来编码要发送的数据。于是可以将有效值、随机数、其它的序列值和用于正确寻址要应用的接入密钥的接入密钥标识与所编码的数据一起被发送给至少一个通信终端设备。在接收具有这些值的数据时,由进行接收的通信终端设备将所包括的值转交给识别卡。在应用其它的序列值、接入密钥以及由业务网络节点所发送的随机数的情况下,识别卡在应用也由业务网络节点用于计算其有效值的相同的函数的情况下来计算自己的有效值。在计算之后,由识别卡来比较这两个有效值。如果这两个值是相等的,则建立肯定的比较结果。同样互相比较被存储在识别卡上的和由业务网络节点所接收到的序列值。如果所接收到的序列值大于被存储在识别卡上的值,则建立肯定的比较结果。只有当两个比较结果都是肯定时,才将由识别卡所生成的会话密钥转交给通信终端设备。本发明的优点在于,可以简单和极为有效地检验,随机数和序列值是否是当前的和“新鲜的”。此外,本发明对于业务质量没有任何影响,因为仅保护了会话密钥的生成。最终还可以通过该模式来确保,业务数据只源自值得信赖的来源。在具有极其不同业务的不同的环境中可以实施所建议的解决方案。

附图说明

借助附图中所示出的实施例来详细阐述本发明。在此,
图1示出了根据本发明接收业务数据的流程图,
图2示出了有效值的计算和比较,
图3示出了比较序列值的流程图,
图4示出了具有存储元件的识别卡的简化图,
图5示出了业务网络节点的简化图。

具体实施方式

图1示出了,如何在第一步骤中将至少一个接入密钥(BAK)和序列值SEQ从业务网络节点DN传送给用于存储的识别卡UICC。接入密钥具有接入密钥标识,稍后使用该接入密钥标识,以便对于识别卡上的针对该业务为正确的接入密钥进行寻址。通信终端设备MS可以是移动无线电终端设备、手持机、移动计算机或者类似的通信终端设备。可以通过安全的连接、例如通过特定的隧道来进行值的传送。在业务网络节点DN中生成了接入密钥(BAK-E,BAK-I)。接入密钥BAK-I被用于完整性保护并且具有与被用于编码的接入密钥BAK-E相同的使用期限。可替换地,只可能将接入密钥BAK传送给识别卡。于是可以借助合适的加密函数从接入密钥BAK中推导出接入密钥BAK-I和BAK-E。将接入密钥BAK-E用于生成会话密钥,利用该会话密钥来对业务数据进行编码。而将接入密钥BAK-I用于检验,随机数(多个随机数)RAND和其它的序列值nSEQ是否源自有效的(值得信赖的)来源并且在数据流中未曾被修改。对于一种业务可能在识别卡UICC上存在多个接入密钥BAK。
如果应从业务网络节点DN通过通信网将业务数据发送给至少一个通信终端设备MS,则业务网络节点首先生成随机数RAND,并且因此生成用于编码数据的会话密钥。取代应用随机数RAND,也可能将会话密钥SK利用接入密钥BAK-E来编码地向进行接收的通信终端设备MS发送。在此,通信网可以是蜂窝式的移动无线电网。业务节点DN建立其它的序列值nSEQ(nSEQ=x),并且与所应用的随机数RAND和被发送给识别卡的接入密钥BAK-I一起计算有效值MAC-I。优选地将加密散列函数(keyed hash function)KHF用于有效值MAC-I的计算。
与业务的所编码的数据一起,随机数RAND、接入密钥标识BAK-ID、其它的序列值nSEQ和所计算的有效值MAC-I从业务网络节点DN被发送给通信终端设备MS。在这些值中,不能做出关于针对解码业务数据的要应用的会话密钥的陈述。
通信终端设备MS将新的序列值nSEQ、随机数RAND、接入密钥标识BAK-ID和由业务网络节点DN所计算的有效值MAC-I转交给识别卡UICC。识别卡UICC可以基于接入密钥标识BAK-ID被分配给正确的接入密钥,并且在应用其它的序列值nSEQ、所存储的接入密钥BAK-I、所得到的随机数RAND和利用其在业务网络节点中已计算有效值MAC-I的相同的函数的情况下来计算自己的有效值SD-MAC-I。然后互相比较两个有效值SD-MAC-I和MAC-I。如果这两个有效值SD-MAC-I和MAC-I是等同的,则建立肯定的比较结果。此后比较,新的序列值nSEQ是否大于被存储在识别卡UICC上的序列值SEQ。如果该值较大,则建立肯定的比较结果。此后,由其它的序列值nSEQ来代替所存储的序列值SEQ。为了确保安全性,业务网络节点DN应总是提高序列值或计数器SEQ,而且任何时候不应被复位到以前的计数器读数上。如果达到了序列值nSEQ的最大值,则不再应用接入密钥BAK。为了继续进行该业务,于是必须建立和使用新的接入密钥BAK。只有当两个比较结果是肯定的时,才将由识别卡UICC所生成的会话密钥SK转送给通信终端设备的终端T。在由业务网络节点DN重新发送业务数据时重复该过程。
图2示出了,在应用其它的序列值nSEQ、所存储的接入密钥BAK-I、所得到的随机数RAND和利用其在业务网络节点中已计算的有效值MAC-I的相同函数的情况下,如何在识别卡UICC中计算有效值SD-MAC-I并且与由业务网络节点DN所计算的有效值MAC-I进行比较。此后建立比较结果。
图3示出了,如何将由业务节点DN接收到的其它的序列值nSEQ与被存储在识别卡UICC上的序列值SEQ进行比较。如果其它的序列值nSEQ大于被存储在识别卡UICC上的序列值SEQ,则建立肯定的比较结果。此外,由识别卡UICC上的其它的序列值nSEQ来代替序列值SEQ。当来自图2和3的比较结果是肯定的时,将会话密钥SK发送给通信终端设备MS的终端T。
图4示出了具有接收单元E的识别卡UICC,该接收单元E用于接收至少一个序列值SEQ和至少一个用于在存储元件SE中存储的接入密钥BAK-I,并且用于从业务网络节点DN接收其它的序列值nSEQ、随机数RAND和有效值MAC-I。接收单元E将这些值转交给处理单元V。该处理单元V被用于根据图1、2和3建立比较结果并且被用于生成会话密钥SK,该会话密钥SK用于解码由通信终端设备MS所接收到的业务数据。此后,发送单元S将所生成的会话密钥SK转交给通信终端设备的终端T。
图5示出了业务网络节点,该业务网络节点根据图1在处理单元V中计算有效值MAC-I,该处理单元V确定了序列值SEQ和nSEQ,并且利用发送单元S将根据图1的值与所编码的业务数据一起发送给通信终端设备MS。