IPsec/IKEv2 库

IPsec/IKEv2 库模块提供了一种机制,用于为新的和现有的 Android 功能(例如互通无线 LAN (IWLAN) 和 VPN)协商安全参数(密钥、算法、隧道配置)。该模块是可更新的,这意味着它可以在正常的 Android 发布周期之外接收功能更新。

IPsec/IKEv2 库模块具有以下优点。

  • 支持 IMS、IWLAN 和现代化 VPN。 IP多媒体子系统(IMS)和IWLAN需要IKEv2来安全可靠地完成密钥交换。在 Android 11 中,IPsec/IKEv2 库模块的 IKEv2 协商库是平台的 IKEv2 客户端的默认实现,支持初始建立、定期重新生成密钥、失效对等点检测和切换。该模块还支持弃用和替换基于 racoon 的 IKEv1 VPN 库,该库用作 Android 10 及更低版本中的默认内置 VPN 客户端。

  • 生态系统的一致性。使用 IPsec/IKEv2 协商库作为平台的默认库可以促进生态系统范围内的一致性,减少对闭源实现的依赖,并提高可维护性和可更新性。拥有在 Android 的 IPsec API 之上运行的仅限客户端的实现,可以释放 Linux IPsec 支持的强大功能,而无需 IKEv2 守护程序所需的提升权限。 IKEv2 库是用 Java 编写的,以避免 C 或 C++ 实现中出现的安全问题。

  • 快速修复安全和互操作性问题。 IPsec/IKEv2 是支持 VPN 保护用户数据的安全关键代码。许多客户端和服务器实现 IKEv2 协议的方式略有不同,从而导致 IKEv2 库与其他 IKEv2 服务器之间存在潜在的互操作性问题。模块可更新性使 Android 团队能够快速响应安全漏洞并快速修复互操作性错误,同时最大限度地减少生态系统合作伙伴的工作量。

模块边界

IPsec/IKEv2 库模块位于packages/modules/IPsec中。

模块格式

IPsec/IKEv2 库模块 ( com.android.ipsec ) 采用APEX格式,适用于运行 Android 11 或更高版本的设备。

定制化

IPsec/IKEv2 库模块不支持自定义。

测试

Android 兼容性测试套件 (CTS) 通过在每个模块版本上运行一套全面的 CTS 测试来验证 IPsec/IKEv2 库模块的功能。您还可以使用命令atest FrameworksIkeTests运行 IPsec/IKEv2 库模块单元测试。