资源描述
资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。
无线通信技术工作委员会 TC5-WG5- -00xXxx
WG5 安全加密工作组
会议名称: CCSA-CWTS-WG5 #2 meeting
会议地点: 北京
会议时间: 3月4号
题目: 关于第三代移动通信系统空中接口安全性算法及其应用的技术研究报告
来源:
王卫 南京熊猫爱立信
朱红儒 青岛朗讯
吴丽萍 首信诺基亚
李爱民 广东北电
陈金岳 杭州摩托罗拉
印欣 上海西门子
类型: 技术报告
目的: 提交小组讨论经过, 成为对该题目的基础文档, 促进组内尽快形成最终技术报告, 提交给全会, 方便参考;
说明: 从 4月CWTS杭州会议至今, 针对第三代移动通信系统空中接口安全性问题, 各成员单位分别提交了8篇文稿进行激烈讨论 , 文稿列表见附录A。上述文稿各有侧重, 该文稿主要是在总结各文稿的基本内容上, 从总体上形成一篇结构完整和逻辑清晰的报告, 以促进组内尽快形成最终技术报告, 便于其它相关人士快速清晰的理解该问题。
目录
摘要 3
1 前言 3
2 3G网络空中接口安全概述 3
2.1 UMTS( WCDMA/TD-SCDMA) 空中接口安全实施过程 3
2.2 Cdma 空中接口安全实施过程 4
3 3G国际标准密码算法介绍 5
3.1 3GPP/3GPP2标准密码算法 5
3.2 密码算法标识符 6
3.3 3G国际密码算法的特点 7
3.3.1 会话密钥的控制 7
3.3.1 3GPP/3GPP2算法的公开性 7
3.4 KASUMI和AES算法在国内的可应用性 8
4国内国际算法应用的比较与分析 8
4.1 国际密码算法的分析 8
4.1.1 国际算法优势分析 8
4.1.2国际算法劣势分析 9
4.2 国内密码算法的分析 9
4.2.1 国内密码算法优势分析 9
4.2.2 国内密码算法劣势分析 9
4.3 国际和国内算法同时应用的分析 10
4.3.1 双算法方案介绍 10
4.3.2 双算法方案的优势分析 10
4.3.3 双算法方案的劣势分析 10
5密码算法公开与否的利与弊 11
5.1 GSM的教训 11
5.2 3GPP对安全算法公开的改进及其益处: 12
5.3 3GPP2对安全算法公开性的改进及其益处 12
5.4 算法不公开的弊端 12
6 结论和建议 13
附录A 3GPP和3GPP2的相应参考文稿 13
附录B 会话密钥的产生 14
摘要
随着3G执照发放准备工作已经提上议事日程, 中国通信标准化协会无线技术委员会CWTS计划在今年8月份前完成全套3G系统的技术规范工作。3G网络空中接口安全及其加密算法是CWTS的重要工作, 也是运营商关心的一个重要问题。
为配合3G技术规范的按时完成, 本工作组针对现有的加密算法应用问题做了综合分析, 析。本文认为, 对于3G网络空中接口, 中国应该采用经过国际范围内广泛评估、 验证和实践的标准化算法, 即3GPP的KASUMI和3GPP2的AES算法( 分别为UMTS (WCDMA和TD-SCDMA)和Cdma ) , 也希望能为政府主管部门提供参考性意见。
1 前言
3G网络对安全的要求主要是涉及3G业务的安全性、 系统完整性、 对个人数据的保护、 终端/USIM以及合法监听。经过对以上技术的分析, 本文认为, 对于3G网络空间接口, 中国应该采用经过国际范围广泛评估、 验证和实践的标准化算法, 支持本地运营商网络的国际化运营, 支持用户漫游和终端全球通用, 从而使终端用户、 运营商和制造商在3G的相关投资同时保持在最合理状态。, 更为重要的是, 密码算法不公开不会增强算法本身的安全性; 反之, 公开的算法将有利于增强网络安全。
2 3G网络空中接口安全概述
第三代移动通信系统( 这里3G专指WCDMA、 TD-SCDMA, CDMA 系统) 中提供了完善的接入安全体制, 包括用户接入身份认证和空中接口安全两部分, 我们在这里只讨论空中接口的安全机制。
空中接口安全包括两方面: 对用户信息和信令信息的可选择性加密保护; 对信令信息的强制性完整性保护。加密保护和完整性保护的安全控制机制完全一样。
2.1 UMTS( WCDMA/TD-SCDMA) 空中接口安全实施过程
空中接口安全控制机制的启动恰是加密和完整性算法协商的过程。
图1 UMTS安全实施过程
1、 手机和基站成功建立通信连接
这时手机将发送安全能力信息给基站, 通知基站手机所支持的密码算法。
2、 手机首次向交换机发起第三层应用的消息, 例如”位置更新”等, 激活核心网开始安全控制过程;
3、 3G核心网发起安全控制过程
核心网确定许可基站使用哪些加密算法和完整性算法, 并按照优先顺序列表, 经过RANAP的安全控制信令发送给基站。
4、 基站选择安全过程使用的密码算法
基站比较”核心网按优先级顺序的许可使用的密码算法” 和”手机支持的密码算法能力”, 选择共同的密码算法作为安全过程使用的密码算法。
经过上述过程能够成功启动安全控制过程, 并按照上述过程确定的密码算法对以后的通信进行安全保护。
2.2 Cdma 空中接口安全实施过程
§ 涉及网络实体: 手机,基站,交换机
§ 加密是在手机和基站之间进行
§ 加密过程: 先使用标准化的空中接口信令进行算法的协商,然后用协商好的加密算法进行空口的加密.
图2 CDMA 安全实施过程
如上图所示, 首先手机发送给基站加密能力的支持信息SIG_ENCRYPT_SUP 和 UI_ENCRYPT_SUP 在以下消息中, 即(1) 能够是
Registration Message
Origination Message
Page Response Message
Security Mode Request Message
Status Response Message
然后,基站BS回复给手机如何加密和用什么算法, 这个能够经过在f-dsch 或 f-csch 上发送Security Mode Command Message来实现.
在手机和基站协商好要使用的加密模式和加密算法后,就能够使用协商好的算法进行加密了。
3 3G国际标准密码算法介绍
3.1 3GPP/3GPP2标准密码算法
在3G当前的标准中, 支持强制的完整性保护和可选的加密保护, 当前标准化作为全球统一使用的算法为: KASUMI和AES( Rijndael) 。
3GPP (WCDMA) : KASUMI 算法[4]
§ KASUMI算法是由MISTY转化而来,密钥为128比特长,分组数据块为64比特.
§ 现在也是一个完全公开的算法,3GPP在决定使用此算法之前,对此算法也进行了全面的分析,并在此详细的分析报告基础之上,最终经过公开分析定为3GPP的标准化算法.
§ 中国通信协会CCSA作为3GPP/3GPP2组织伙伴之一, 已经与其它国家和地区的标准化组织一起共同签署了属于CWTS、 ETSI、 ARIB、 TTA和T1共同所有的基于KASUMI算法的3GPP机密性算法( F8) 和完整性算法( F9) 的管理协议。
3GPP2 (cdma ): AES ” Rijndael” 算法[2]
§ 3GPP2的AES(Advanced Encryption Standard)即Rijndael加密算法, 来自比利时的两个密码专家:Joan Daemen博士和Vincent Rijmen博士.
§ 密钥和加密的数据流能够灵活的进行配置,分别能够为128,192和256比特长.用途广泛。
§ 在1997年,NIST宣布公开征询一种高级的加密算法.目的就是为了标准化一种不用分类的,而且公开进行分析的加密算法,而且能够全球免费使用. 于是在1998年,NIST宣布接受到15种候选算法.然后对这15种算法从不同的角度例如安全强度和效率性能等方面进行了严格的公开分析.最终,在综合各种分析数据的基础之上,规定RIJNDAEL做为AES标准.
§ 该算法不属于任何一个特定的国家, 它们是经过完全公开的分析并最终确定下来的, 它们是国际性的并完全公开的。它不受任何的专利限制而且能够免费获得。同时CCSA是3GPP2的重要的组织成员, 因此拥有AES的使用权, 它能够说是CCSA和所有公司能够使用的算法。
综上所述,当前KASUMI/AES算法已经能够免费为中国的设备制造商和运营商所应用。
3.2 密码算法标识符
§ 如何使用标识符区别算法
在3GPP系统标准中, 空中接口信息( 包括数据和信令) 加密( UEA) 以及信令签名( UIA) 允许采用不同的密码算法, 来满足不同运营商或者国家对安全算法的选择。现有3GPP标准规定, 信息加密和信令完整性能够采用15种标准核心算法, 每种核心算法由4比特的标识符( UEA) 表示。代码”0000”定义为不加密, 允许对信息不作加密处理。代码”0001”确定为KASUMI算法, 作为全球统一的标准算法。
而3GPP2 cdma 系统中, 标准化算法是AES即Rijndael算法,另外, Cdma 标准具有统一的加密接口能够非常灵活的配置。参考C.S0005的规范, 在手机终端发往基站的注册消息中( Registration message) 已经为所支持的算法预留了指示位。其中: SIG_ENCRYPT_SUP指示手机所支持的信令加密的算法, 而在网络方,也能够在呼叫建立的过程中选择自己要使用的算法, 基站从而能够选择使用的加密模式以及支持的加密算法并最终确定。
§ 算法标识符作用
空中接口安全要求手机和所服务的基站必须采用相同的密码算法。手机, 基站以及核心网都是基于3GPP或3GPP2分配的标准标识符来识别所使用的算法, 进行进一步算法协商。
3.3 3G国际密码算法的特点
3.3.1 会话密钥的控制
作为空中接口密码算法的重要参数之一,会话密钥:加密密钥( CK) 和完整性密钥(IK)。, 是完全能够由所在国家自己控制和决定的.也就是说当本地运营商使用KASUMI或 AES作为加密和完整性算法时, 这些密码算法的输入参数CK 和IK(加密密钥和完整性密钥)是完全由本地来控制的。( 具体技术细节请参考附录)
3.3.1 3GPP/3GPP2算法的公开性
无论是3GPP的KASUMI和3GPP2的AES都是完全公开的算法, 在决定使用此算法之前,对此算法也进行了全面的分析,并在此详细的分析报告基础之上,最终定为标准。
3.4 KASUMI和AES算法在国内的可应用性
经过以上分析,能够得出结论
§ 中国使用UMTS系统的标准化算法KASUMI和cdma 系统中的AES不存在任何限制,我们能够免费使用, 完全能够允许在国内使用.
§ 尽管使用标准化算法,可是我们依然能够控制密钥,即控制加密本身.
§ 从纯技术角度来讲,这些算法已经是经过充分评估和测试,因此性能有保障.
§ 如果在中国使用标准化算法,不存在全球漫游的问题, 终端用户能够在任何地方都享有标准的服务。
因此统一的空中接口安全算法是中国网络和手机为确保国外用户的国內漫游和中国内用户到国外漫游的安全方面的必须保证, KASUMI/AES算法应是中国网络设备和终端设备的必选安全算法之一。
4国内国际算法应用的比较与分析
4.1 国际密码算法的分析
4.1.1 国际算法优势分析
1、 不存在手机漫游问题: 能够为用户在漫游时提供安全性的服务.
2、 算法是公开的并得到公开分析定下来的,充分吸取了GSM发展的历史教训,3GPP/3GPP2在制定三代安全标准时就已达成新的原则即公开空中接口加密算法,这样做大大增强了公众对该加密算法牢固性的信心。
3、 公众对算法的信任: 3G系统在安全性方面的优势是其比2G系统性能更优越的方面之一, 因此终端用户和网络运营商将会对加密算法的可靠性产生很大的关注, 对加密算法安全可靠性的信任对3G业务的开展将会产生至关重要的作用。
4、 完整的3GPP/3GPP2标准早已稳定, 各设备制造商按照标准的制定进度已基本完成支持最初的3G标准版本的产品开发。
4.1.2国际算法劣势分析
§ 当前并未发现安全漏洞(能够参考3GPP和3GPP2分析报告)
4.2 国内密码算法的分析
在 安全组会议上,有关部门提出了国内密码算法问题, 由于国内密码算法迄今为止并未公开,因此我们这里只是从实际应用和操作的角度给予了分析。
4.2.1 国内密码算法优势分析
国内加密算法属自有知识产权, 有知识产权方面的优势。但值得注意的是当前3GPPs的加密算法已经过努力取消了知识产权的限制, 中国企业其实已经能够免费使用这些加密算法, 在加密算法方面实际已无知识产权的问题。
4.2.2 国内密码算法劣势分析
1、 无法解决手机漫游问题: 由于加密功能是由手机和RNC设备来完成和实现的, 因此要求中国销售的手机和RNC设备只支持国内加密算法, 将会造成手机漫游时无法完成加密功能的问题。一方面国内用户漫游到国外的移动网络, 由于加密算法协商过程中中国手机使用的是国内算法而和国外的网络使用国际标准算法, 这样会造成在算法协商过程中手机和RNC设备无法找到相互匹配的加密算法, 而使加密功能无法进行。另一方面国外的手机用户漫游到中国, 同样会因为其手机的加密算法与中国网络RNC设备中的加密算法相互不匹配而无法启动正常的加密功能。
2、 缺乏算法管理权及算法公开与否的策略考虑: 以GSM发展的历史看来, 由于GSM空中接口加密算法A5算法的不公开, 至使只有签署GSM Mou的运营商才能够应用A5算法, 这早已受到公众的广泛批评。3GPPs在制定三代安全标准时就已达成新的原则即: 公开空中接口加密算法。这样做反而会增强公众对该加密算法牢固性的信心。
3、 缺乏公开评估的过程, 无法得到公众对算法的信任感: 国内加密算法的公开评估和测试工作一直没有开展, 算法的强壮性无法得到公众和权威机构的认可。3G系统在安全性方面的优势是其比2G系统性能更优越的方面之一, 因此终端用户和网络运营商将会对加密算法的可靠性产生很大的关注, 对加密算法安全可靠性的信任对3G业务的开展将会产生至关重要的作用。
4、 存在向3GPPs申请算法标识符的问题: 现有3GPPs规范定义了经过终端和网络间的算法协商来确定选择共同支持的标准算法进行空中接口的加密, 但这种协商的基础是必须分配好不同算法的标识符。
5、 3G部属上的时间问题: 而当前国内算法的许多问题如算法的公开评估、 算法的公开性、 如何申请算法标识等, 至今没有得到确认和解决, 这无疑都会严重影响3G标准的确定从而影响网络的快速实施和部属。对于网络运营商来讲标准的稳定意味着其网络部属、 业务投入使用的快速完成; 对于设备制造商来讲标准的稳定意味着能够快速开发产品为客户提供及时的供货服务。
4.3 国际和国内算法同时应用的分析
4.3.1 双算法方案介绍
双算法方案指的是: 手机和基站中同时加载本地算法和国际标准算法。移动网络根据手机用户的归属网络是中国境内的还是国外的, 分别选择不同的空中接口安全算法。对于中国国内的手机用户, 将采用本地算法进行空中接口的完整性保护和信息加密, 对于漫游到境内的国外用户, 将采用国际标准的KASUMI/AES算法进行空中接口的完整性保护和信息加密。
4.3.2 双算法方案的优势分析
如果因为国家政策法规等方面的原因, 中国必须在空中接口对中国手机用户采用本地算法, 那么, 在此前提下, 双算法方案比单一采用本地算法的方案具有以下优势:
1. 支持国际漫游用户在中国境内的正常接入使用, 避免了因为国外用户手机不支持本地算法而不能在中国漫游的问题;
2. 对中国的手机用户按照要求采用了本地算法;
4.3.3 双算法方案的劣势分析
1. 不论本地算法是以芯片的方式还是以软件的形式提供, 因为算法是在较低层次的链路层上实现的, 因此手机和基站设备( RNC/BS) 都要进行较大的改动; 如果采用芯片形式提供, 那么还将涉及到特别手机和基站设备的硬件改动, 增加了手机终端的设计困难; 如果采用软件实现, 那么系统的性能将大大受到影响。
2. 手机和基站设备加载本地算法的改造成本较大, 实际上也是增加了中国第三代移动通信市场的成本; 本地算法的不开放将额外增加改造难度, 限制制造商的研发和测试, 影响产品性能。专用芯片的使用额外增加了手机和基站设备的成本, 最终将影响运营商和个人用户的利益。
3. 采用本地算法时, 将引起中国用户在国际边界通话时经常掉话, 影响通话质量。否则, 本地算法提供的安全保证将受制于相邻国家采取的空中接口算法的健壮性。
o 否则, 就如同GSM中出现的问题 : GSM网中存在A5/1,A5/3两种空中接口算法, 为了不造成边界掉话, 采取了允许不同算法使用相同密钥的策略, 可是这样却提供了一个安全缺口: 即利用A 网协议的漏洞获取的密钥能够在B网中继续使用。造成的结果是: 从 8月以后, 从空中接口截获的A5算法的密钥, 即能够用在A5/1,也能够用在A5/3中。这实际上使一种算法的健壮性受限于另一种算法了。
4. 为了支持双算法方案, 我们不得不向3GPP/3GPP2申请本地算法的算法标识符, 这就要求相关部门一定精力的投入。
如果不申请算法标识符:
· 从长远来看, 在国际上或者其它国家引入新的算法后, 会造成标识符的冲突, 影响相互间的漫游;
· 基站和网络进行算法协商过程中, 如果不使用国际标准的算法标识符(UIA/UEA), 会引起RANAP信令流程的改变。
5. 影响手机终端的全球通用性
国外生产的手机在中国不能使用; 如果国外用户到中国后, 出于费率考虑, 更换成中国运营商的USIM卡, 在这种国外手机+中国USIM卡的情况下, 存在以下问题:
· 双算法方案中, 核心网根据USIM卡信息用户的归属网络是中国, 因此选择必须使用本地算法, 可是国外手机没有加载本地算法, 因此造成该用户被拒绝接入网络;
· 如果降低对本地加密算法强制应用的要求, 允许在手机不支持本地算法的情况下, 使用国际标准算法或者对不加密, 那么能够解决上述拒绝接入的问题, 可是同时也将支持非法的中国手机终端( 没有加载本地算法) 的接入, 实际上给本地算法在本地的强制应用提供了漏洞。
· 这个问题的本质是, 在当前网络内没有启用IMEI(终端全球码)的情况下, 网络无法区别中国的手机终端和国外手机终端。因此从技术上无法识别非法手机。而强制终端必须加载本地算法的要求, 从技术上没有办法控制, 否则就会以牺牲某种形式的国际漫游用户为代价。5
5密码算法公开与否的利与弊
5.1 GSM的教训
GSM系统中的加密算法是A5/1, A5/2, 当前欧洲采用的就是该算法。当前, 该算法依然由GSMA控制, 没有公开发布。这种决策的初衷是经过”非公开”来增强其安全性。然而实践结果却证明事与愿违。由于反编译等技术的采用, A5算法已被破解 。,因此,今天我们能够很容易地在互联网上找到该算法的编码。 值得注意的是, 仅仅因为该算法的”非公开性 ”, 就吸引了各类破译者们去攻击它的弱点, 其中的主要原因仅仅是由于破译者们被该算法的”非公开”所诱惑 。因此, GSM的教训和公众对A5算法不公开的广泛批评告诉我们 , 加密算法的非公开性实质上恰恰会导致它的不安全性, 并降低它的牢固性。
5.2 3GPP对安全算法公开的改进及其益处:
针对如何保证算法的安全性, 3GPP/3GPP2 在制定3G规范时 , 也曾有过充分的讨论和全面评估, 最终达成共识: ”评估一套算法的安全性应该基于以下考虑--即攻击者能够知晓算法的一切细节和算法所应用的系统, 攻击者唯一不知道的只有密钥 ”…”当然, 算法非公开为其提供了一个外层保护, 但GSM 的历史告诉我们 , 非公开的算法实际上很难真正做到非公开 .而一 旦非公开算法被破解发布 , 那么, 算法的可信度将被严重伤害 。”故此, 在制定3G安全标准时3GPP达成新的原则是--公开空中接口安全算法--这样反而增强公众对该加密算法牢固性的信心。
5.3 3GPP2对安全算法公开性的改进及其益处
在研究和认识到历史的经验与教训后, 3GPP2 同样认为保持算法的秘密性是不可取的。因此, 当3GPP2在选择加密算法的过程中, 广泛征求了各种算法,并对这些算法进行了公开竞争与筛选。随后, 这些算法不但公布于世,而且还广范地被密码专家进行深层次的评估和密码分析。 最终,所选中的算法AES被证明能够抵制现有的密码攻击. 最终AES即Rijndael算法被广泛采用和接纳.
5.4 算法不公开的弊端
§ 给接入网带来的负面影响
o 因为加密操作和加密算法是在RNC端执行的, 因此制造商必须规范化加密输入参数变量, 系统才能正常工作。可是如果加密算法的细节不公开, 这些输入参数变量的规范化工作无法开展。这样在很大程度上将限制制造商的研发工作。
o 算法不公开, 势必大幅增加制造商在专用加密芯片的支出, 从而增加了设备成本。
o 有关接口的测试也会受到很大影响。专用加密芯片的采用, 会给集成和测试工作带来诸多问题。
§ 对终端的负面影响
o 每个终端必须增加专用加密芯片和相应外围电路及软件, 导致开发和制造成本上升, 给那些对安全要求相对较低的消费者造成不必要的经济负担。相反, 标准的国际加密算法是完全公开并免费的, 制造商完全能够自己将其实现。另外, 手机制造商也会面临专用加密芯片与终端的集成和测试问题。
综上所述, 在加密算法及时公布 , 接受广泛的评估和分析, 使算法中脆弱的部分和可能的漏洞尽早发现, 将使算法本身更加强健, 从而真正提高算法和网络的安全性。与此同时, 对于设备制造商的产品开发, 降低成本和价格也会有着重要意义。
6 结论和建议
经过以上技术的分析,得出以下结论
§ 国际标准化算法KASUMI和AES完全适合在中国使用, 而且使3G终端用户、 运营商和制造商获得最大的利益
§ 如果支持国内密码算法, 网络设备与手机的成本增加是不可避免的
§ 假如一定要支持国内密码算法, 应避免修改标准化的信令流程等
§ 算法公开有利于降低设备实现难度, 降低成本, 有利于完善算法的安全性。
附录A 3GPP和3GPP2的相应参考文稿
[1] 33.105 specification;
[2] AES: (NIST 标准FIPS-197). .org
[3] 3GPP2 S.S0055 Enhanced Cryptographic Algorithms , >.
[4] 33.201, 202,203 specification in 3GPP
附录B 会话密钥的产生
会话密钥是在手机用户和网络进行认证和密钥协商过程( AKA) 中产生的。主要涉及USIM /R-UIM 和AC/HLR两方实体。
产生会话密钥的算法例如f0, f1,f1*,f2,f3,f4,f5, 是由具体的运营商自己来定义和控制的。也就是说当本地运营商使用KASUMI或 AES作为加密和完整性算法时, 这些密码算法的输入参数CK 和IK(加密密钥和完整性密钥)是完全由本地来控制的。
在认证和密钥协商( AKA) 过程中, 产生会话密钥时, 能够加载不同的”Family key”。 ”Family key” 是来标识运营商的, 每个运营商有自己特定的标识符, 为了保证不同运营商会话密钥的唯一性, 不同的运营商有不同的”Family key”。用户会话密钥的唯一性则由每个用户自己的唯一根密钥(Root Key)进一步得到了保证。
从上述分析可知, 尽管空中接口的密码算法是一致的( KASUMI和AES) , 可是, 每个国家, 每个运营商, 每个用户的加密以及用于每个会话的密钥都是不一样的, 会话密钥的产生机制为本地运营商留有自主操作的空间。
展开阅读全文