pta_2nd_iv

指令 `pta_2nd_iv` 指定 Period of Time Authentication 模块在 NGINX 中第二阶段加密的初始化向量 (IV)。

语法pta_2nd_iv ivstring;
默认值none
上下文server
参数1

说明

指令 pta_2nd_iv 用于设置第二级 AES 加密的初始化向量 (IV),该加密是 NGINX 中 Period of Time Authentication (PTA) 模块用于过期和访问控制机制的一部分。该 IV 对于确保生成的加密令牌在加密过程中具有唯一性至关重要,从而增强对某些密码学攻击的防护。配置此指令时,必须与用于解密所加密令牌的相应 pta_2nd_key 一并设置。

此指令仅接受单个参数,该参数是表示 IV 值的字符串。IV 必须符合 AES 加密所要求的标准长度(通常对于 AES-128 为 16 字节)。错误配置,例如使用不正确长度的 IV,可能导致 PTA 模块无法正常工作,因为解密会产生无效数据或密码学错误。要成功实现 PTO authentication,服务器必须确保使用正确的密钥和 IV 生成的令牌在传入请求时能够被正确验证。

配置示例

server {
    listen       80;
    server_name  localhost;
    pta_1st_key 0102030405060708090a0b0c0d0e0f00;
    pta_1st_iv  00000000000000000000000000000000;
    pta_2nd_key 11111111111111111111111111111111;
    pta_2nd_iv  22222222222222222222222222222222;

    location / {
        root   html;
        index  index.html index.htm;
    }

    location /foo/ {
        pta_enable on;
    }
}

确保 IV 恰好为 16 bytes;使用不正确的长度将导致 encryption/decryption 失败。

IV 应在每次 encryption 操作中保持唯一;为不同的令牌使用相同的 IV 可能会危及安全性。

确保同时配置 pta_2nd_keypta_2nd_iv,以避免在 decryption 期间出现不匹配。

← 返回所有指令