-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Labels
I3Minimal impactMinimal impactS1Highly significantHighly significantU3RegularRegularenhancementImproving existing functionalityImproving existing functionality
Milestone
Description
Is your feature request related to a problem? Please describe.
each NeoFS response has https://github.com/nspcc-dev/neofs-api/blob/797e8303ff7a8b7fb55af57d0f10489140f8053c/container/service.proto#L140 field. It carries crypto signatures of the response payload and meta header. If the response message route consists of several API servers, each one adds its own signature
the purpose of this approach is:
- signature ensures response data integrity
- public key authenticates the server
- client can track the request route
but:
- extra CPU, RAM and net capacity are spent on calculating and sending signature
- it does not protect from replay and other attacks
- the route is visible but not verifiable. And even if it were so, hardly anyone would be interested in it
- the listed advantages are implemented by protocols of other network levels (TLS)
based on these facts, NeoFS API protocol can be simplified by eliminating all response verification headers
Describe the solution you'd like
- deprecate the field in all response messages
- keep signing responses for client requests with
meta_header.version <= v2.17 - wait one release/update cycle, then prohibit the field and never sign responses
Describe alternatives you've considered
no
Additional context
- performance tests
- client: Detect invalid response message format neofs-sdk-go#661
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
I3Minimal impactMinimal impactS1Highly significantHighly significantU3RegularRegularenhancementImproving existing functionalityImproving existing functionality