当一个网络单元连接到一个网络时,它与其他设备初始化网络连接,此时他们还不能知道彼此是否是他们所声称的。分组仅通过网络接口发送或接收,希望具有提供对等体是谁的指示的正确地址。然而,即使信道是通过诸如DH密钥交换的方法来保护的,中间人也不难假冒任何通信方(见图9.15)。
图9.15 认证不能仅仅通过IP地址应答
在封闭网络中,通常将信任授予同一网络域中的任何设备,因此不需要任何身份验证(基本上没有中间人威胁)。
然而,如果网络不是完全信任的,则需要一些认证机制来进行安全通信。
移动网络已经使用多种认证机制来认证移动站。这些机制通常绑定到安装在终端中的SIM卡,并且认证目标因此是用户(SIM卡的所有者)而不是设备本身。
对于移动回传,因为没有单独用户的概念,认证侧重于设备(Femto系统和托管方除外,本书未涉及)。设备(BTS和安全网关)中的凭证的安装由操作员直接或间接控制,在制造阶段,由设备供应商在安装工程师调试期间或设备连接到网络时执行。
移动回传网络中主要使用两种认证机制:
• 预共享密钥;
• X.509数字证书。
如果需要进一步认证,例如EAP(仅用于IKEv2),这些机制可以由另外的机制补充。对于NDS/IP,3GPP强制使用具有数字证书[3,11]选项的预共享密钥。
预共享密钥(Pre-Shared Keys,PSK)是提供相互认证的简单且周知的机制,其中BTS和安全网关共享密钥。PSK的部署通常在调试阶段完成。
该密钥对于BTS是唯一的,或者它可以由多个BTS共享。同时,可能需要多个PSK以允许在必要时无缝迁移,这快速增加了使用中的PSK的数量。运营商需要跟踪所有共享密钥,并且应根据安全策略定期更改这些密钥,以减少侵入的风险。可以看出,随着密钥的数量增加、手动维护的开销,在大型系统中管理PSK是复杂的。
• X.509数字证书。
用于移动回传认证的替代解决方案是使用数字证书,特别是根据X.509[34]。基于证书的认证依赖于公钥密码术[19],因为要认证的设备被绑定到密钥对,密钥被安全地保存在设备中,并且公钥与其想要与之通信的任何对等体交换。公钥在数据结构中传递,该证书将密钥绑定到设备身份,并且由可信方签名。在认证过程期间,证书的发送者和所有者将使用其私钥来签署数据串,其将由接收者使用公钥来验证,并确认发送者拥有私钥。
图9.16说明了X.509证书结构。
图9.16 X.509证书结构
大多数相关的域在[19,34]列表中有介绍:
• 版本:存在3个版本(1、2和3)。版本3目前正在使用。
• 序列号:在颁发机构内唯一的证书的序列号。
• 签名:包含签发证书的签发机构使用的算法的标识符。
• 发行者:包含签署授权的标识。
• 有效期:包含证书有效期间的时间间隔(除非另有撤销)。
• 对象:包含证书所有者的身份。
• 公共密钥信息对象:包含与证书所有者相关联的公钥。
• 数字签名:包含由发行者生成的证书的其余字段的算法的标识符和数字签名[5]。
当使用证书时,通常每个BTS仅有一个端实体证书实例,并且每个SEG一个,用于建立到其他对等体的所有安全连接。由于证书基于公钥密码术,因此没有秘密要与其他设备共享,因此在其中一个设备(BTS或SEG)被泄露的情况下,即私钥被暴露的情况下,只有连接受影响的设备会受到影响,但不会影响整个网络。
• 信任链。
重要的是要注意,证书的值(及其包含的公钥)依赖于签署证书的实体的信任。在最简单的模型中,签名实体是信任锚,锚是运营商选择信任的一方。信任锚被称为根证书颁发机构(Certificate Authority,CA)。例如,当BTS必须向SEG认证并且其发送其自己的证书(连同认证数据)时,SEG将使用发布BTS证书的CA的证书来验证BTS证书中的签名,并且验证它。这个过程在另一个方向是类似的。
(www.daowen.com)
图9.17 有一级中间证书的信任链例子
在更复杂的模型中,根CA不直接签署端实体证书,而是对中间CA的证书签名。可以存在多个中间CA,最低阶的一个是签署终端实体证书的中间CA。当需要建立信任关系的所有设备属于同一组织时,这两种模型都适合于具有单个信任锚的情况。有关使用中间CA的信任链的示例,如图9.17所示。
在这种情况下,认证对等体的设备不仅需要根CA证书,而且还需要签署对等端实体证书的中间CA的证书。3GPP提供使用不同的中间CA来为网络单元(BTS)和SEG发出证书的可能性。然而,在更简单的设置中,相同的中间CA将用于发布相同类型的实体证书,或者根本不使用中间证书。
对于连接另一个组织的情况,有必要提供一些机制来信任另一个组织颁发的证书。有几种可能性可用于执行该功能,但是3GPP要求使用一种依赖于交叉认证的方法。每个组织将具有所谓的互连CA的至少一个实例,互连CA是签署另一组织中的中间CA的证书的CA。因此,如果两个组织A和B想要互连它们的网络,则将通过在Za接口处的两个SEG来完成连接。来自组织A的互连CA将签发发布组织B的中间CA的证书用以BSEG证书颁发,反之亦然,来自组织B的互连CA将签发组织A的中间CA的证书用于ASEG证书颁发。从组织A的互连CA签署的证书被安装在组织A的SEG中,从组织B的互连CA签署的证书被安装在组织B的SEG中,从而以这种方式提供所需的信任链。图9.18说明了实体之间的关系
在移动回传环境中,当BTS属于一个运营商并且当控制器或核心网络属于不同的运营商时,通常需要交叉认证。
应当注意,其他信任模型是可能的,具有多个CA以及它们之间的不同关系,这取决于运营商的要求。
• 签名和签名验证过程。
由CA(对于任何级别的CA)执行的签名过程是使用CA的私钥来完成的。对每个级别重复该过程直到终端实体证书。该过程如图9.19所示。
当必须认证终端实体时,必须验证其证书的签名以及信任链中的任何证书的签名。为了这样做,验证实体必须拥有链中的所有证书,其包含公钥。验证从较低级别的证书开始,并递归地移动到根证书。这需要使用每个签名实体的公钥。该过程如图9.20所示。
• 证书生存期管理。
图9.18 TS33.310定义的用于NDS/IP的交叉验证
图9.19 证书签署过程
图9.20 证书认证流程
在证书生存期间存在两种主要的操作:
•证书注册;
•证书注销。
向NE颁发新证书时,需要证书注册。通常,初始注册将在与运营商网络的初始连接期间进行,并且在相同的操作期间,CA证书也将被检索。
此外,证书有有限的生命周期,因此当证书即将到期时,必须注册新证书。
证书管理的另一个重要因素是撤销。偶尔可能发生与证书相关联的私钥被泄露的情况。这意味着拥有密钥的任何人现在能够使用与密钥的合法拥有者相同的身份向网络认证自己。一旦检测到这个事件,证书应该被撤销,即它应该被标记为不再有效作为验证手段。运营商可能决定撤销证书的其他可能情况是设备停用或信任链被修改。在这些情况下,运营商也将有兴趣防止证书的任何进一步使用。证书吊销列表(Certificate Revocation List,CRL)和在线证书状态协议(Online Certificate Status Protocol,OCSP),这两种公共协议有不同的机制来发布撤销证书列表[19]。
使用CRL,吊销列表从服务器下载并缓存在NE中。当前一个过期时,可以定期下载列表,或者主动推送列表。因此,CRL服务器不需要一直被使用。撤销列表包含所有撤销证书的序列号,它由签署证书的同一CA签名。这种机制是由3GPP选择的。
对于OCSP,NE应当在每次必须被验证时向服务器请求证书的状态。只有所请求的证书的状态由服务器传递,并且潜在地它是比CRL更新的信息。然而,这在很大程度上取决于在服务器本身中更新信息的频率。
鉴于OCSP是在线撤销方法,OCSP的性能更依赖于网络和服务器的性能。由于服务器需要对客户端的响应进行数字签名,因此处理请求的延迟可能很大。考虑到服务器和服务器本身的连接的可用性也是重要的,因此它可能不是在具有差的可用性的网络中的合适机制[19]。
• 作为服务的公共密钥架构。
在前面,介绍了一些支持使用证书的实体和服务。它们一起构成所谓的公钥基础设施(Public Key Infrastructure,PKI),还讨论了各种不同程度的复杂性,这取决于信任关系和所提供的服务。
当运营商面临使用证书进行身份验证的挑战时,他们必须考虑需要什么样的PKI、需要哪些服务、是否需要自己的CA以及谁将提供服务。
如果运营商已经具有用于其他系统的PKI,则它们具有能够将新CA部署用于移动回传认证或使用现有认证的能力和技术。这种方法通常提供更好的适应服务要求,因为它可以完全定制。
然而,在某些情况下,网络对于使用自己的CA成本效率非常低,或者由于某些其他原因,运营商不想部署PKI。在这些情况下,存在多个信任提供商,其提供适合于支持移动网络认证的一系列服务,诸如发出端实体证书、提供信任锚、撤销服务等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。