Skip to content

node: skip TTL=1 request signatures over inter-node mTLS - #4100

Draft
End-rey wants to merge 2 commits into
internode-client-certfrom
mtls-internode-dont-sign-requests
Draft

node: skip TTL=1 request signatures over inter-node mTLS#4100
End-rey wants to merge 2 commits into
internode-client-certfrom
mtls-internode-dont-sign-requests

Conversation

@End-rey

@End-rey End-rey commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Would it make sense to add an SDK option for unsigned requests?
Some inter-node TTL=1 paths still use SDK ObjectHead/ObjectGetInit/ObjectRangeInit/ObjectPutInit, which always sign requests. An opt-in parameter such as DisableRequestSigning could let the node skip signatures after it has confirmed mTLS, while keeping the SDK default safe.

@End-rey End-rey self-assigned this Jul 28, 2026
@roman-khimov

Copy link
Copy Markdown
Member

Yes, SDK should be updated to do/not do this based on client status.

@End-rey
End-rey force-pushed the internode-client-cert branch 2 times, most recently from 294c5f3 to d15b80b Compare July 31, 2026 13:25
@End-rey
End-rey force-pushed the mtls-internode-dont-sign-requests branch from fe8ddc8 to 6526e43 Compare July 31, 2026 13:28
End-rey added 2 commits July 31, 2026 16:29
Require and verify client certificates from inter-node TLS peers against the
network map. Track connections that completed mutual TLS and omit request
signatures for forwarded TTL=1 HEAD, GET, RANGE, PUT, and SEARCH requests over
them. Keep signing when TLS is unavailable, mutual authentication is incomplete,
or the request TTL is not one.

Closes #4089.

Signed-off-by: Andrey Butusov <andrey@nspcc.io>
Use the SDK local request signing status to omit signatures from TTL=1 object
requests sent over a mutually authenticated connection. Keep signatures for
plain connections, TLS connections without mutual authentication, and requests
with other TTL values. Update SDK to the version providing this API.

Signed-off-by: Andrey Butusov <andrey@nspcc.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants