用于无线通信装置的鉴别的安全处理 【技术领域】
本发明涉及无线通信的领域。尤其是,本发明涉及对用来鉴别(authenticate)无线通信装置的信息进行加密的改进的新系统。
背景技术
无线通信系统的安全性是确定系统质量的一个重要因素。对无线通信系统安全性的一个主要威胁是无线通信装置的仿制(clone)。每个无线通信装置具有一鉴别密钥(A-Key)。无线通信系统使用此A-key与其它信息一起来鉴别无线通信装置,没有适当的鉴别,无线通信装置可能被拒绝服务。
与A-key一起用来鉴别无线通信装置的这一其它信息通常是无线电广播,相对容易获得该信息。A-key是应在无线通信装置和无线通信系统内绝对保密的一个信息。如果获得了A-key,就可容易地仿制合法的无线通信装置,从而可利用来访问其它信息。无线通信系统没有能力区分合法的无线通信装置和仿制品。
不幸的是,对于利用仿制品所进行的呼叫,将不当地向合法无线通信装置的用户开帐单。无线通信系统通常免除有欺诈性的帐单,但这损坏了无线通信系统的声誉。无线通信系统还必须增加容量来应付有欺诈性的呼叫,而不能获得任何相关地回报。增加容量的成本通常将转嫁给合法的无线通信装置的用户。
无线通信系统具有鉴别无线通信装置的鉴别系统。该鉴别系统和无线通信装置都使用A-key和共享的随机数来产生相同的共享保密数据(Shared SecretData)(SSD)。鉴别系统和无线通信装置周期性地更新此SSD。为了鉴别一无线通信装置,鉴别系统和该无线通信装置共享另一随机数。该鉴别系统和无线通信装置都使用SSD和此另一随机数来产生鉴别结果。如果无线通信装置把一匹配的鉴别结果传送给鉴别系统,则此无线通信装置被鉴别。虽然在技术上是可能的,但考虑到需要大量的计算能力和时间,所以在计算上难于从鉴别结果得到A-Key。
鉴别系统保持上百万无线通信装置的A-Key的大数据库。A-Key的海量存储引起了大的风险。如果某人可获得对该鉴别系统的访问,则那个人可能潜在地仿制大量无线通信装置,严重地破坏了无线通信系统的安全性和整体性。可通过提高无线通信系统中A-Key的安全性的技术来大大地改进无线通信系统。
【发明内容】
本发明是一种为无线通信系统中的A-Key提供安全性的改进的新系统。本系统有效地防止了任何人访问A-Key并消除了仿制。本系统提高了无线通信系统的安全性和整体性。
本发明允许鉴别系统仅存储经加密的A-Key。把用于加密A-Key的解密密钥存储在安全处理器中。鉴别系统把安全处理器用于A-key操作。安全处理器可在物理上隔离,以防止人们访问A-Key和A-key解密密钥。例如,可把安全处理器封装在混凝土中或置于保险库中。因而,经解密的鉴别密钥仅瞬时地存在于安全处理器中,鉴别系统仅存储经加密的A-key。本发明不需要存储大量经解密的A-Key。
安全处理器与无线通信装置交换随机数以产生A-Key。然后,安全处理器对A-Key进行加密并把经加密的A-Key传送到鉴别系统。当鉴别系统产生或更新SSD时,鉴别系统把经加密的A-Key和其它信息传送到安全处理器。安全处理器对A-Key进行解密并计算SSD。安全处理器把此SSD传送到鉴别系统,以用于鉴别无线通信装置。
在安全处理器中产生A-Key,除非该A-Key被加密,才从安全处理器传送该A-Key。在其实际使用期间,经解密的A-Key仅瞬时地存在于安全处理器中,而不是永久性地存储。因而,本发明不需要用于无加密A-Key的数据库。本发明还限制了人们访问A-Key解密密钥。
附图概述
从以下详细描述并结合附图,将使本发明的特征、目的和优点变得更加明显起来,图中相同的标号表示相应的部分,其中:
图1是本发明一个实施例中的无线通信系统的方框图;
图2是本发明一个实施例中的鉴别系统和安全处理器的方框图;
图3是示出本发明一个实施例中的A-Key产生的流程图;
图4是示出本发明一个实施例中的SSD产生或更新的流程图;
图5是示出本发明一个实施例中的无线通信装置鉴别的流程图;
图6是示出本发明一个实施例中使用Diffie-Hellman生成A-Key的流程图;
图7是示出本发明一个实施例中使用CAVE的SSD产生或更新的流程图;
图8是示出本发明一个实施例中使用CAVE的无线通信装置鉴别的流程图;
图9是示出本发明另一个实施例中的无线通信装置鉴别的流程图;
图10是本发明一个实施例中的鉴别系统和冗余安全处理器的方框图;以及
图11是本发明一个实施例中耦合到无线通信装置设备制造处的另一个安全处理器的鉴别系统和安全处理器的方框图。
本发明的较佳实施方式
在电信工业协会通过的IS-95标准以及美国国家标准协会(ANSI)的41(d)标准中讨论了无线通信系统中的鉴别。鉴别依赖于存储在无线装置和通信系统中的保密鉴别密钥(Authentication Key)(A-Key)。无线装置和通信系统使用该A-Key和其它数据来产生共享保密数据(SSD)。无线装置和通信系统使用此SSD和其它数据来产生鉴别结果。无线装置产生的鉴别结果应与通信系统所产生的鉴别结果相同。比较这两个鉴别结果,如果它们匹配,则无线装置被鉴别。
此A-Key不发送且通常保持不变。周期性地更新SSD,这是因为可经由诸如信令系统(Signaling System)#7等信令网络发送该SDD。通常在无线通信装置和无线通信系统之间不以无线电方式发送SSD。使用SSD与其它信息来产生鉴别结果,在无线通信装置和无线通信系统之间以无线电方式发送此结果。以上两段中所述的术语和操作在本领域内是公知的。
系统配置-图1-2
图1示出与无线通信系统101通信的无线通信装置100。无线通信系统101包括基站102、鉴别系统103和安全处理器104。通常,无线通信系统包括支持大量无线通信装置的多个基站和基站控制器。为了清楚已简化了图1,省略了本领域内的技术人员所公知的某些常规元件。
无线通信装置100经由空中接口(air interface)与基站102交换无线通信信号。无线通信装置100可以是需要鉴别的任何无线通信装置,诸如移动电话、无线终端或计算机。无线通信装置100存储鉴别信息和被内部处理器所执行的鉴别指令。这些指令指挥无线通信装置100产生和存储A-Key、SSD和鉴别结果。这些指令还指挥无线通信装置100与鉴别系统103交换信息以利于鉴别。
基站102经由空中接口与无线通信装置100交换无线通信信号。基站102还与诸如控制器、交换机和数据库等其它通信网络元件交换通信信号。基站102通常通过基站控制器在操作上耦合到鉴别系统103。在某些实施例中,无线通信装置100和基站102是码分多址(CDMA)装置。电信工业协会通过的IS-95标准提供了对无线通信系统中的CDMA的规范。
鉴别系统103提供为无线通信装置100和基站102提供鉴别服务。在某些实施例中,鉴别系统103形成归属位置寄存器(Home Location Register)(HLR)的子系统。鉴别系统103是存储鉴别信息和由内部处理器所执行的操作指令的计算机系统。这些操作指令指挥鉴别系统103存储来自安全处理器104的经加密的A-Key和SSD并产生鉴别结果。这些操作指令还指挥鉴别系统103与无线通信装置100和安全处理器104交换信息,以鉴别无线通信装置100。
安全处理器104为鉴别系统103提供加密能力。通常,对安全处理器104的物理的和电子的访问进行严格限制。例如,可把安全处理器104置于保险库中或封装在混凝土中。安全处理器104存储和执行操作指令。这些操作指令指挥安全处理器104产生和加密A-Key,以存储在鉴别系统103中。这些操作指令还指挥安全处理器104产生SSD,以存储和用于鉴别系统103中。
图2更详细地示出鉴别系统103和安全处理器104。鉴别系统103包括处理器210、接口211和鉴别信息数据库212。安全处理器104包括处理器220、接口221和存储器222。接口211和221由一数据链路相连,且它们包括支持在鉴别系统103与安全处理器104之间的数据传送的任何系统。接口211和221可支持诸如串行通信或以太网等常规的通信。鉴别信息数据库212存储SSD和经加密的A-Key。鉴别信息数据库212还可存储用于处理器210的操作指令。存储器222是存储处理器220的操作指令和解密密钥的存储媒体。
处理器210和220可以是执行操作指令的常规微处理器或微处理器组。处理器210执行使鉴别系统与无线通信装置100和安全处理器104交互动作以鉴别无线通信装置100的指令。处理器220执行使安全处理器104与鉴别系统103交互动作以产生经加密的A-Key且随后对经加密的A-Key进行解密并产生SSD的指令。
存储在安全处理器104、鉴别系统103和无线通信装置100中的操作指令可以是存储在常规存储媒体上的软件。存储媒体可以是常规的存储器、磁盘或集成电路。安全处理器104、鉴别系统103和无线通信装置100中的处理器执行该软件。在被执行时,该软件指挥这些处理器依据本发明进行操作。在以下对图3-8的讨论中将使本操作对本领域内的技术人员变得明显起来。
系统操作-图3-8
本领域内的技术人员将知道,图3-8上所示的处理过程和消息已被简化,为了清楚已省略了某些常规的鉴别方面。此外,为了清楚,已省略了通常位于无线装置和鉴别系统之间的基站和基站控制器。本领域内的技术人员将理解图3-8范围内的这些装置的操作。
图3示出A-Key产生。A-Key通常是在最初给无线通信装置100准备服务时(诸如在无线电服务准备(0ver-The-Air Service Provisioning)(OTASP)操作期间)产生的。A-Key产生过程在鉴别系统103产生A-Key命令并把此A-Key命令发送到装置100和安全处理器104时开始。A-Key命令包含A-Key产生的参数。装置100和安全处理器104产生A-Key。通常,远程装置之间的A-Key产生需要交换随机数,以共同计算A-Key。装置100存储此A-Key。安全处理器104对此A-Key进行加密并把经加密的A-Key传送到鉴别系统103。鉴别系统103存储经加密的A-Key。
图4示出SSD产生或SSD更新。鉴别系统103产生随机数RANDSSD。鉴别系统103把一SSD更新发送到装置100和安全处理器104。SSD更新包含诸如RANDSSD等用于产生SSD的参数。至安全处理器104的SSD更新包括经加密的A-Key。安全处理器104对此A-Key进行解密。安全处理器104使用此A-Key来产生SSD并把此SSD发送到鉴别系统103。鉴别系统103存储此SSD。装置100使用A-Key来产生和存储SSD。在A-Key被存储后,装置100和鉴别系统103可执行基站询问(challenge),以确认SSD产生的有效性。
图5示出以独特询问形式的鉴别的一个例子,但本发明不限于此特定类型的鉴别。鉴别系统103把一鉴别询问发送到装置100。在另一种形式的鉴别中,移动交换中心可把此鉴别询问向装置100广播,并把此鉴别询问提供给鉴别系统103。在任一种情况下,鉴别询问都包含用于产生鉴别结果(AUTH)的参数。装置100和鉴别系统103都使用其内部所存储的SSD和来自询问消息的随机数,以产生AUTH。装置100把此AUTH传送到鉴别系统103,在那里把两个AUTH相比较。如果这两个AUTH匹配,则鉴别系统103鉴别了装置100。
图6-8示出图3-5中所示操作的一个特殊实施例,但本发明不限于此特殊实施例。图6示出使用Diffie-Hellman算法和Blowfish加密的A-Key产生。Diffie-Hellman是使两个远程系统约定一保密密钥的公知算法。Blowfish是一种公知的加密技术。在名为“加密设备和方法”的4,200,770号美国专利中讨论了Diffie-Hellman算法。在由Bruce Schneier所著并由纽约州的John Wiley&Sons出版的国际标准书号为ISBN 0-471-11709-9的“应用加密学”一书第二版中也讨论了Diffie-Hellman算法和Blowfish技术。
安全处理器104产生和存储Blowfish加密密钥(通常在安装时)。鉴别系统103产生两个整数N和G并把N和G传送到装置100和安全处理器104。装置100产生大的随机整数A,安全处理器104产生大的随机整数B。装置100计算X=GAmodN,安全处理器104计算Y=GBmod N。“mod”运算是一种公知的模计算,诸如模12的常规计时所使用的,其中10:00+13小时=23 mod 12=11:00。装置100和安全处理器104交换X与Y。然后,装置100计算A-Key=YA mod N,安全处理器104计算A-Key=XBmod N。这两个A-Key应是相同的。装置100通常使用快闪只读存储器(ROM)来存储A-Key。安全处理器104应用Blowfish对A-Key进行加密,并把经加密的A-Key传送到鉴别系统103。鉴别系统103存储经加密的A-Key。
应注意,在安全处理器104中产生A-Key,但不把它存储在安全处理器104中。此外,鉴别系统103仅存储经加密的A-Key。因此,通信系统没有大的未加密的A-Key清单。只在安全处理器内产生和存储对于加密A-Key的解密密钥。
图7示出使用蜂窝鉴别话音加密(Cellular Authentication Voice Encyption)(CAVE)算法的SSD产生或更新。CAVE算法是一种公知的单向散列函数。两个远程系统中的每一个都可把相同的保密ID输入CAVE算法,并公开地共享其各自的输出。如果保密ID是相同的,则这些输出是相同的,从实际的观点,也不可能从输出中得到保密ID。在电信工业协会通过的IS-95标准的附件A中讨论了CAVE算法。
鉴别系统103把一SSD更新发送到装置100和安全处理器104。至装置100的SSD更新包含由鉴别系统103所产生的随机数RANDSSD。至安全处理器104的SSD更新包括RANDSSD、经加密的A-Key和其它识别信息(Identification Information)(ID INFO)。ID INFO通常包括诸如电子序号(Electronic Serial Number)和移动识别号(Mobile Identification Number)(MIN)或国际移动站标识(InternationalMobile Station Identity)(IMSI)之类的数据。本领域内的技术人员熟悉这些类型的ID INFO及其各自的应用。虽然在MIN和IMSI中使用了“移动”这一术语,但可在固定无线系统的范围内使用这些值和本发明。
安全处理器104使用其内部存储的Blowfish密钥对A-Key进行解密。安全处理器104把RANDSSD、A-Key和ID INFO输入CAVE,以产生SSD。安全处理器104把SSD发送到鉴别系统103,在那里存储该SSD。装置100也把RANDSSD、A-Key和ID INFO输入CAVE,以产生和存储SSD。
然后,装置100和鉴别系统103执行基站询问,以确认正确的SSD产生。装置100产生随机数(RANDBS)并把RANDBS传送到鉴别系统103。装置100和鉴别系统103都把RANDBS、SSD和ID INFO输入CAVE,以产生SSD鉴别结果(AUTH)。鉴别系统103把AUTH传送到装置100,在那里把两个AUTH相比较。如果这两个AUTH匹配,则装置100与鉴别系统103确认成功的SSD产生。
图8示出使用CAVE的鉴别的一个例子。鉴别系统103把鉴别询问发送到装置100。鉴别询问包括用于鉴别的随机数(RANDU)。装置100和鉴别系统103中的每一个都把RANDU、SSD和ID INFO输入CAVE,以产生鉴别结果(AUTH)。装置100把AUTH传送到鉴别系统103,在那里把这两个AUTH相比较。如果这两个AUTH匹配,则鉴别系统103鉴别了装置100。
另一种系统操作-图9
图9示出另一种系统操作,其中安全处理器产生鉴别结果和其它数据。鉴别系统103把鉴别询问与随机数一起发送到装置100和安全处理器104。至安全处理器104的鉴别询问还包括SSD。安全处理器104从此SSD和随机数中产生鉴别结果(AUTH)。这可使用如上所述的CAVE算法来实现。装置100也从此SSD和随机数中产生AUTH。装置100把其AUTH传送到安全处理器104。安全处理器104把这两个AUTH相比较,并在这两个AUTH匹配时指令鉴别系统103。鉴别系统103根据安全处理器104所指示的匹配来鉴别装置100。或者,装置100和安全处理器104中的每一个都可把其各自的AUTH传送到鉴别系统103以进行比较。
安全处理器104还产生信令消息加密(Signaling Message Encryption)(SME)密钥或蜂窝消息加密算法(Cellular Message Encryption Algorithm)(CMEA)密钥。无线通信系统可使用任一个密钥对信令消息进行加密。这些密钥通常是通过把来自AUTH产生的结果、SSD和随机数输入CAVE中而产生的。安全处理器104把此密钥发送到鉴别系统103。在安全处理器104产生SME密钥或CMEA密钥后,它产生话音保密掩码(Voice Privacy Mask)(VPM)或CDMA保密长码掩码(PrivacyLong Code Mask)(PLCM)。使用这些掩码对无线话音会话进行编码。这些掩码通常是执行用来产生以上密钥的CAVE算法的附加迭代而产生的。安全处理器104把此掩码传送到鉴别系统103。
在图9中,安全处理器104可产生AUTH、SME密钥、CMEA密钥、VPM或CDMA PLCM值。这使得CAVE算法位于安全处理器104中而不位于鉴别系统103中。从鉴别系统103移去CAVE算法简化了系统设计、分布和出口。安全处理器104还可适用于执行涉及CAVE的其它任务。
冗余安全处理器-图10
图10示出鉴别系统103和安全处理器104。已添加了附加的安全处理器105,它连到鉴别系统103和安全处理器104。添加安全处理器105给鉴别系统103提供了更好的可靠性和更快的性能。如果安全处理器104还未响应于一较早的鉴别任务,且鉴别系统103必须鉴别另一个用户,则鉴别系统103可把新的鉴别任务发送到安全处理器105。
安全处理器104和105中的每一个都必须存储相同的加密密钥,诸如相同的Blowfish密钥。安全处理器104和105可使用Diffie-Hellman或常规的公共/保密加密技术来约定相同的加密密钥。如果安全处理器104出故障并被替换,鉴别系统103可命令安全处理器105把其加密密钥发送到使用常规加密技术的新的安全处理器。
制造设备处的A-Key产生-图11
图11示出鉴别系统103和安全处理器104。在制造装置100的设施处放置一附加的安全处理器106。安全处理器104和安全处理器106以安全的方式约定一加密密钥。可使用常规的技术来实现此约定。
在制造装置100期间,安全处理器106与无线通信装置100交换消息,以产生A-Key。安全处理器106使用此加密密钥对A-Key进行加密。安全处理器106把经加密的A-Key传送到诸如磁盘等存储媒体上。然后,从磁盘把经加密的A-Key装入鉴别系统103。或者,安全处理器106可经由数据链路把经加密的A-Key传送到鉴别系统103。鉴别系统103接收经加密的A-Key并把此经加密的A-Key传送到安全处理器104。
安全处理器104接收来自安全处理器106的加密密钥并接收来自鉴别系统103的经加密的A-Key。安全处理器104使用加密密钥对经加密的A-Key进行解密并使用此经解密的A-Key产生SSD。安全处理器104把SSD传送到鉴别系统103。鉴别系统103接收和存储来自安全处理器104的SSD。
前面提供了对较佳实施例的描述,以使本领域内的技术人员可制造或利用本发明。对这些实施例的各种修改将对本领域内的技术人员变得明显起来,可把这里所述的一般原理应用于其它实施例而无需创造性。因而,本发明将不限于这里所示的实施例,而是依据与这里所揭示的原理和新特征一致的最宽范围。