昇腾社区首页
中文
注册

导入TLS证书

证书导入目的

证书导入是为了生成证书配置根目录。

  • TLS开启(“enable_tls”=True)时,证书配置根目录(绝对路径)作为必选参数tls_option_top_path用于如下接口:
    mindio_ttp.tft_start_controller(bind_ip: str, port: int, enable_tls=True, tls_option_top_path='', package_path='')
    mindio_ttp.tft_init_processor(rank: int, world_size: int, enable_local_copy: bool, enable_tls=True, tls_option_top_path='', package_path='', enable_uce=True)
  • TLS关闭(“enable_tls”=False)时,tls_option_top_path无效,无需配置。此开关不影响MindIO TTP特性功能。
  • 如果关闭TLS(即“enable_tls”=False时),会存在较高的网络安全风险。
  • tft_start_controllertft_init_processor的enable_tls开关状态需要保持一致。若两个接口enable_tls开关不同,会造成以下问题:
    • 模块间TLS建链失败。
    • MindIO TTP无法正常运行,训练拉起失败。

TLS证书准备

MindIO TTP不提供数字证书、CA证书和密钥。TLS根目录配置前,需自行准备如下文件用于导入:

条目

说明

CA证书

证书颁发机构(CA)签发的证书,用于验证服务器证书和客户端证书的可信度。CA证书是信任链的基础,可以是根证书或中间证书。扩展名为*.pem。

Server侧证书

包含服务器的公钥和由CA签发的服务器证书。它用于在TLS连接中验证服务器的身份,并加密传输的数据。客户端会使用CA证书来验证服务器证书的真实性。扩展名为*.pem。

Server侧私钥

服务器的私钥,配合服务器证书使用。私钥用于解密客户端发送的加密数据,并用于在TLS握手过程中证明服务器的身份。该文件必须严格保密,不能泄露给任何第三方。安装者需指导这个私钥文件的口令。扩展名为*.pem。

吊销证书列表文件

包含由CA发布的已被吊销的证书列表。服务器和客户端可以使用CRL来检查某个证书是否已被吊销,从而决定是否信任该证书。CRL用于维护证书的有效性和安全性,防止使用已吊销的证书进行通信。扩展名为*.pem。

证书安全要求:

  • 需使用业界公认安全可信的非对称加密算法、密钥长度、Hash算法、证书格式等。
  • 应处于有效期内。

TLS证书导入步骤

  1. 客户证书准备。

    将CA证书、Server侧证书、Server侧私钥、吊销证书列表文件权限置为000,防止导入过程中发生篡改。

    chmod -R 000 {CA证书路径}
    chmod -R 000 {Server侧证书路径}
    chmod -R 000 {私钥路径}
    chmod -R 000 {吊销证书列表文件路径}
  2. 证书部署工具准备。

    解压缩发布的证书部署脚本工具,并将加密库权限置为500,防止篡改。

    tar -pzxvf security_tool_{arch}.tar.gz
    cd security_tool
    chmod 500 bin/seceasy_encrypt
  3. 导入CA证书。
    python3 tftf_security_tool_tls_cert.py import_ca -d {证书配置根目录} -f {CA证书路径}
  4. 导入Server侧证书和密钥。
    python3 tftf_security_tool_tls_cert.py import_cert {证书配置根目录} {Server侧证书路径} {Server侧私钥路径}

    需根据提示输入私钥密码。

    密码需具有健壮性并保密,请勿使用弱口令,关于口令复杂度的要求,请参见口令复杂度要求章节。

  5. 导入CRL文件。
    python3 tftf_security_tool_tls_cert.py import_crl {证书配置根目录} {吊销证书列表文件路径}

其他功能

  • 查询文件
    python3 tftf_security_tool_tls_cert.py query {证书配置根目录}
  • 删除CA证书
    python3 tftf_security_tool_tls_cert.py delete_ca -d {证书配置根目录} -f {CA证书路径}
  • 删除Server侧证书
    python3 tftf_security_tool_tls_cert.py delete_cert {Server侧证书所在目录}