改进的蜂窝电话安全性的制作方法

文档序号:7576692阅读:135来源:国知局
专利名称:改进的蜂窝电话安全性的制作方法
技术领域
本发明涉及防止黑客在蜂窝话机上进行非法电话呼叫的安全措施,尤其涉及分发安全码给各蜂窝话机的措施,该措施使能够获取所分发的安全码的实体数量最少。
在蜂窝话机上存在着一个特有的安全问题,即使用蜂窝话机的主叫用户的匿名性,这个问题在普通话机上并不存在。在普通话机上,并不认为主叫方是匿名的,因为电话线总是连接到可识别的用户前端,例如一间屋子或办公室。不管实际上谁在线路上进行呼叫,用户前端的拥有者为该次电话呼叫负责。
然而在蜂窝话机上不存在这样的物理连接。因此,即使有可能,也很难识别出进行蜂窝呼叫的人。但是,可以制定特定的处理过程来保证只有授权个人才能进行呼叫。
作为这种处理过程的一个例子,在生产时分配系列号给蜂窝话机。在用户申请蜂窝电话业务时,分配一个鉴权密钥或者A_Key给该蜂窝话机。蜂窝话机存储系列号和A_Key。
当用户发出呼叫时,蜂窝话机首先向蜂窝业务提供者发送一个消息,请求鉴权。该消息包括加密形式的系列号和A_Key。然后,蜂窝业务提供者确定实际上该A_Key是否被分配给该系列号,如果是这样,则继续完成该次呼叫。如果不是这样,则拒绝该次呼叫。
但是,必须非常小心以防黑客得知分配给该系列号的A_Key。例如,如果黑客知道了某个系列号/A_Key对,该黑客就可以发出前面所讨论的鉴权请求,非法获得蜂窝电话业务。
可以证明,通常使用的安全过程并没有对A_Key分配提供最大保护。
蜂窝电话需要一个安全码,在进行呼叫时,可以使用该安全码表明自己的身分。但是,该安全码必须保密,因为拥有该安全码的黑客可以非法进行呼叫,而这些呼叫的费用则计在该蜂窝话机的帐上。
在本发明的一种形式中,蜂窝话机配有一个解密密钥。通过蜂窝信道发送密文形式的安全码给蜂窝话机。蜂窝话机使用该密钥解密密文,得到该安全码。


图1说明了三个机构,即鉴权中心AC、可信企业代理TIA以及蜂窝话机PHONE。在给话机分配鉴权码的过程中涉及这些机构。
图2和3说明了分配鉴权码过程中涉及的一系列步骤。
图4说明了分配鉴权码过程中涉及的这些步骤的流程图。
图1说明了根据本发明,在给蜂窝话机分配A_Key过程中涉及的三个机构。一个是蜂窝话机3自己。第二个是鉴权中心或AC,6。第三个是可信企业代理TIA,9。鉴权中心6拥有表11,表11含有许多数对。每一数对关联索引I与电子系列号ESN。TIA 9也有一张表12,表12含有其它数对。每一数对关联索引I和数X。
在生产中使话机3拥有三个数字(1)X,此处以X2表示,(2)I,此处以I2表示,以及(3)ESN,或电子系列号。数X最好是64比特长。X,I和ESN在表11和12中出现。
表12由话机生产商创建,并交付给TIA 9。下面将可以看出,有效地维护表12非常重要。另一张表11也由该生产商创建,鉴权中心用该表来验证希望获得A_Key的主叫标识,下面予以解释。
基于这种背景,可以认为将A_Key分配给蜂窝电话3的过程需要8个步骤,这些步骤在图2和3中示出。为强调起见,在给定步骤中涉及的活跃机构的轮廓以实线画出,而未参与的机构的轮廓则以虚线画出。
在图2A,话机3将它的索引I2和它的ESN一起发送给AC 6,如箭头所示。这种发送可以采用通常的蜂窝电话呼叫的形式,但是发向特定的电话号码,由AC 6应答该次呼叫。数据最好通过作为工业标准协议的“蜂窝信令消息协议”传送。数据也可以由双音多频(DTMF)序列承载。另一种可选方案是,图1中蜂窝话机可以配备一个简单的蜂窝调制解调器20,后者收发数据。
在该次发送之后,AC 6拥有了I2和ESN,如图所示。AC 6查询表11,证实I2和ESN这两个安全码是否正确对应。如果是这样,AC 6继续将A_Key分配给话机3的处理。否则,过程终止。
接着,如图2B所示,AC 6向TIA 9发送索引I2。该次发送可以采用本领域众所周知的网络消息传送来实现,TIA 9可以使用已知的安全措施来保证主叫方就是真正的AC 6。TIA 9使用索引I2,如图2C所示,在表12中找到对应于I2的X。现在,TIA 9拥有了I2和它相关的X2,如图所示。
如图2D所示,TIA 9随后执行两次计算。首先,TIA生成一个随机数,RAND。然后,TIA使用RAND和X2,通过非可逆算法计算数E,非可逆算法可以是例如(1)SHA,安全散列算法或(2)称为MD-5的算法,这两个算法在本领域中众所周知,或者(3)CAVE,该算法为商用算法。
TIA发送E和RAND给AC,如图3A所示,从而AC 6拥有了4个数字I2,ESN,E和RAND。然后,如图3B所示,AC选出一个A_Key。AC用E作为掩码来掩盖A_Key。图3B所示的掩盖过程依赖于EX-OR函数,由圆内十字来表示,但是也可以使用其他掩盖操作。掩盖操作产生了数字Z。
如图3C所示,AC发送Z和RAND给话机3。然后,如图3D所示,话机3首先使用CAVE函数基于RAND和X2恢复E。最后话机3通过用E异或Z,使Z去掩码,从而得到A_Key。
话机3存储A_Key。如果话机3以后通过与AC联系发出鉴权请求,则话机3发送由A_Key导出的安全码,以及它的ESN。AC验证A_Key是否匹配ESN,如果匹配,则允许话机3继续呼叫。
流程4流程图说明了实现本发明的一种形式的逻辑。在框50中,话机3发送I2和它的ESN给AC,并请求A_Key。在框55,AC利用图1的表11,判定该ESN是否属于I2,如果是这样,则处理继续。在框60,AC发送I2给TIA。在框70,TIA找到生产商分配给I2的X,在本例中是X2。
在框75,TIA生成RAND并基于RAND和从表12查到的X2生成E。在框80,TIA发送E和RAND给AC。在框85,AC选择A_Key,并通过E掩盖而产生Z。在框90,AC发送Z和RAND给话机。在框95,话机基于RAND和X2导出E。然后,在框100,话机利用E使Z去掩码,得到A_Key。
图4步骤的一个重要属性在于,处理是全自动的。即,没有人观察者涉及或看到计算。
因为处理是全自动的,并且没有人看到所选择的变量,例如RAND,Z和E,所以获得这些变量的唯一可能途径是截取AC和话机之间的传输。但是,如上所述,这些截取并不能产生A_Key。
重要属性1.本发明的一个特征如下。作为与背景相关的术语,“明文”是指没有加密的消息。“密文”是指加密形式的消息。
如图3B所示,机构AC选出一个A_Key并加密A_Key生成密文,其形式为数Z。
该加密需要X2解密。这在图3D中说明,其中需要X2以得到E,使用E使Z去掩码,得到A_Key。
然而,机构AC并不知道X2。重述一次,机构AC生成密文Z,Z需要X2以还原出明文A_Key,但是AC并不使用X2,所以无法得到X2。
2.如图3D所示,需要三个数字,即RAND,X2和Z以得到A_Key。在这三个数字中,黑客通过截取并不能得到X2。即,X2不在机构间传输,更不在连接AC 6和TIA 9的普通电话通道上传输。
X2的唯一来源是图1中话机3本身。但是,假定这些数字,包括X2是在生产时存储在话机3中,因而足够安全,不至于泄露。即,假定确定这些数字需要超量的逆工程运算。使这些数字安全的方法在本领域中众所周知。
如上所述,还假定黑客无法得到表12。亦即假定黑客无法得到X2,因此,无法推出分配给话机3的A_Key。
从另一角度来看,如果为了进行呼叫,话机3发送它的A_Key和它的ESN给AC 6以进行鉴权,黑客必须知道这两个数字才能够冒充话机3。但是,知道哪个A_Key与该话机的ESN关联的唯一一方是AC 6。
因为AC 6出售蜂窝业务,假定AC 6采取可靠的安全措施以保护A_Key/ESN分配信息。
3.可以认为AC 6和TIA 9之间的传输是安全的。例如,可以通过网络消息交互方法,可能使用加密来实现这种传输。因此,只有话机3和AC间传输的、并且在图2A和3C中产生的数据流可能被截取。但是,这种数据流并不提供能够使黑客得到A_Key的信息。例如,假定对黑客最为有利的情况他截取了所有的这种数据流,从而得到I2,ESN,RAND和Z。
但是他需要数E以使Z去掩码,得到A_Key,如图3D中底线所示。为了得到E,他需要数X2,如倒数第二根线所示。但是如上所述,X2在话机3中,非常安全。
因此,重复一次,如果黑客截取了所有可截取的传输,该黑客仍无法推断出A_Key。
4.第三点说明了黑客无法通过截取得到A_Key。一种可能性是,黑客冒名顶替,声称他自己是话机3。在这种情况下,黑客也无法得到成功。
例如,假定黑客伪造了索引I,并成功地将它发送给AC,如图2A所示。该I导致从图2C的表12中得到相应的X,后者相应地导致图2D中的掩码E。如果该黑客能够得到掩码E,该黑客就能够通过图3D所示的最后一步还原出A_Key。
但是,该黑客从未收到掩码E,仅有Z和RAND。没有掩码E,该黑客无法得到A_Key,因此,该黑客需要从图2C的表12得到X。仅有(1)话机3,(2)TIA 9,以及(3)话机3的生产商能够得到该X,但这三者都被认为是安全的。
因此,伪造“I”并不能成功。
5.给定的话机可能请求一个新的A_Key。这可以发生在,例如当话机3的拥有者出售话机时。如果需要一个新的A_Key,因为随机性,图2D的RAND不同,所以在图3D中生成一个新的掩码E。前一个掩码E将不再有用,无法通过以前的变量,例如用于得到前一个A_Key的RAND或Z得到新的A_Key。
6.图2和3中示出的处理严格限制知道分配给话机3的实体。生产商和TIA都不知道分配给话机3的A_Key,因为AC选择了A_Key,却没有通知这些实体所选择的A_Key。
生产商和TIA都不知道哪一个话机3涉及图2和3的A_Key分配处理。生产商当然与此完全无关,并不知道图2A中进行的呼叫。即使TIA知道该次呼叫,在图2C中,该TIA也仅基于一个索引I找到一个X,并执行图2D中的两次计算。但是TIA不知道哪一个“ESN”与该“I”相关联,因此不知道哪一个话机在进行呼叫。
7.本发明对能够得到分配给话机3的A_Key的实体施加了严格的限制。如前面的讨论所指出的,话机3中含有的X的信息是得到A_Key的必要条件。但是,也如前面所解释的,该信息并不能从话机3本身得到,因为话机3是防篡改的。X的唯一来源是图2C中的表12,当前由TIA持有该表。但是,通过契约约束,可以认为TIA是可信的一方,它不会与黑客合作。
生产商也是表12的一个潜在来源,但是基于假定的可信性,可以不加以考虑。此外,生产商作为表12的一个潜在来源,可能仅限于一段非常短的时间内,从而大幅度减少了仍可能获得表12的时间范围。
也就是说,生产商生成表11和12。将表11交付给AC;表12交付给TIA。在交付之后,这两张表对生产商不再有用,实际上,可以销毁它自己的拷贝,从而消除了存储这些拷贝所涉及的困难和开销。因此,生产商仅在短期内,即,从这两张表的创建到它们的交付期间拥有这两张表。这段时间可以短到数小时,甚至几分钟。
8.图1中话机3的生产商将数X,I和ESN编程入话机。然而,这些数和A_Key之间没有联系。重述一遍,无法从这三个数推出A_Key。此外,并不需要每一个话机拥有一个唯一的X可以将同一个X分配给不同的话机,只要在统计意义上这两个X是不相关的。
9.发送给图3A中的AC 6的E对不同的事物处理是不同的,这部分因为E依赖于图2D所生成的随机数,部分因为E取决于X。通常,随机数和X对不同话机都不同。
10.图2和3的事件最好在话机3对AC发出单个电话呼叫时进行。在蜂窝话机3内,由本领域众所周知的装置执行数据接收、发送和处理,该装置由图1中框120表示。话机3通过蜂窝信道125连接到AC,而AC通过任何适当的通信链路130连接到TIA。
在不偏离本发明真正的精神和范围的前提下,可以进行许多替换和修改。
权利要求
1.在蜂窝话机中,改进包括a)一个密钥;b)通过蜂窝信道接收安全码密文的接收机;c)利用密文和密钥导出安全码明文的处理器。
2.一种分配安全码(A_Key)给蜂窝话机的系统,包括a)接收安全码分配请求的数据链路;以及b)一个加密器,用于i)将安全码加密成密文,蜂窝话机持有的密钥可以有效解密;以及ii)将密文交付给数据链路,以交付给蜂窝话机。
3.根据权利要求2的系统,其中分配安全码的系统并不知道蜂窝话机所持有的密钥。
4.一种分配安全码给持有密钥X的蜂窝话机的系统,包括a)一个知道密钥X的保管设备;b)一个鉴权中心(AC),用于i)选择安全码A_Key;ii)利用从保管设备得到的信息,在不知道密钥X的情况下,将A_Key加密成可以用密钥X有效解密的密文;以及iii)将密文交付给蜂窝话机。
5.在分配安全码(A_Key)给蜂窝话机(3)的处理中,改进包括下述步骤a)在不知道解密所需密钥(X2)的情况下,加密安全码(A_Key),生成一个加密安全码(Z);以及b)通过蜂窝信道发送加密安全码(Z)给蜂窝话机(3)。
6.一种分配安全码给蜂窝话机的方法,该蜂窝话机中存有数X,索引I和系列号ESN,该方法包括下述步骤a)用保管设备(TIA)维护表(12),该表含有多个数对,每一个数对关联索引I和数X;b) 从蜂窝话机接收索引I;c)发送索引I给保管设备(TIA);d)保管设备(TIA)进行下述步骤i)识别该表中与发送的索引I相关联的数X;ii)生成随机数RAND,以及iii)基于X和RAND,生成一个掩码E;e)选择一个安全码A_Key;f)利用掩码E掩盖安全码A_Key,生成数Z;以及g)发送数Z和随机数RAND给蜂窝话机。
全文摘要
一种交付安全码给蜂窝话机的系统。蜂窝话机持有密钥X。蜂窝话机请求鉴权中心AC分配安全码给该蜂窝话机。AC选出一个安全码并予以加密,使密钥X能够有效地解密该安全码,但是AC并不知道密钥X。
文档编号H04L9/32GK1190318SQ9810407
公开日1998年8月12日 申请日期1998年2月6日 优先权日1997年2月7日
发明者塞姆永·B·米基考弗斯基, 詹姆斯·阿勒贤德·里德斯三世 申请人:朗迅科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1