RU Reality: Add mldsa65

pull/728/head
Nikita Korotaev 2025-07-26 14:54:26 +03:00 committed by GitHub
parent ac3714fb4d
commit f966d0f391
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 24 additions and 3 deletions

View File

@ -314,6 +314,7 @@ x25519Kyber768Draft00
"maxClientVer": "",
"maxTimeDiff": 0,
"shortIds": ["", "0123456789abcdef"],
"mldsa65Seed": "",
"limitFallbackUpload": {
"afterBytes": 0,
"bytesPerSec": 0,
@ -326,8 +327,9 @@ x25519Kyber768Draft00
},
"fingerprint": "chrome",
"serverName": "",
"publicKey": "",
"password": "",
"shortId": "",
"mldsa65Verify": "",
"spiderX": ""
}
```
@ -400,6 +402,17 @@ Reality лишь модифицирует TLS, и для реализации н
Если содержит пустое значение, `shortId` клиента может быть пустым.
> `mldsa65Seed` : string
Только для сервера. Приватный ключ, применяемый для добавления к сертификату, выдаваемому клиенту Reality, дополнительной пост-квантовой подписи по схеме ML-DSA-65. Назначение — защитить соединение на случай появления квантового компьютера, способного взломать X25519: даже если пароль будет скомпрометирован, MITM-атака останется невозможной.
Сгенерировать пару ключей можно командой `xray mldsa65`. После того как приватный ключ внесён в конфигурацию сервера, подпись добавляется в расширение сертификата; на старые клиенты или клиенты без поддержки этой функции это не влияет.
После включения этой функции длина сертификата, возвращаемого целевым сервером (target), **обязательно** должна превышать 3500 байт. Пост-квантовая подпись увеличивает размер временного сертификата Reality; чтобы не создавать отличительную особенность, сертификат target тоже должен быть крупным. Проверить размер можно командой `xray tls ping example.com`.
Для полной пост-квантовой защиты сам target также должен поддерживать ключевой обмен X25519MLKEM768. Поддержку можно проверить той же командой, указанной выше.
> `limitFallbackUpload`/`limitFallbackDownload`
::: warning
Предупреждение: Лучшей практикой для REALITY всегда является использование сертификата из той же ASN, поэтому, скорее всего, вам эта функция не понадобится; только если вы вынуждены использовать сертификат CDN, можно рассмотреть включение этой функции, чтобы избежать превращения вашего сервера в узел для других.
@ -457,9 +470,17 @@ Reality лишь модифицирует TLS, и для реализации н
0 также является четным числом, поэтому, если `shordIDs` сервера содержит пустое значение `""`, клиент также может быть пустым.
> `publicKey` : string
> `password` : string
Обязательный параметр, открытый ключ, соответствующий закрытому ключу сервера. Генерируется с помощью команды `./xray x25519 -i "закрытый_ключ_сервера"`.
Обязательный параметр: публичный ключ, соответствующий приватному ключу сервера. Генерируется командой
`./xray x25519 -i "серверный приватный ключ"`.
Ранее назывался `publicKey`, однако во избежание недоразумений переименован (формально это X25519-публичный ключ, но в концепции Reality он хранится у клиента и не должен публиковаться).
> `mldsa65Verify` : string
Необязательный параметр. Публичный ключ для проверки подписи ML-DSA-65.
Если поле не пустое, клиент будет использовать указанный ключ для валидации сертификата, возвращённого сервером. Подробности см. в описании параметра `"mldsa65Seed"`.
> `spiderX` : string