Skip to main content

SciNet Super Simple Secrets Server

S⁵ is a minimalist key manager. The server will ask for a secret (e.g. a password) and store it in memory until the client queries and receives it. The specific use case is a queued job in a high performance computing (HPC) environment that needs to use encryption, but the encryption key should not be passed in plaintext when the job is submitted.

When the server starts, it generates a random 96-byte token. The high 48 bytes are used to identify the client, and the low 48 bytes are used as a one-time pad. The client and server communicate via HTTP, despite not using transport layer security, the encrypted response provides resilience to a man-in-the-middle attack.

By default, the token is stored along with the host and port information in the user's home directory. This makes it automatically accessible to a client process running on a compute node that shares a filesystem with the node (e.g. a login node) where the server is running. If the client is not on a shared filesystem, the connection information (including the token) can be specified as command line arguments or the client file can be manually copied.

The server shuts down by default once a successful query is made, but this behaviour can be adjusted with the --success-max command line argument.

Usage

Start the server with s5server and type in the secret. The connection information is saved to ~/.s5client.json by default. If the client will be running on a node that shares a filesystem and can reach the server's node by its hostname, then nothing needs to be done. Run the client with s5client and receive the secret into standard output.

Release files for s5 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for s5 0.0.3
File Size Uploaded
s5-0.0.3.tar.gz 17.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for s5 0.0.3
File Interpreter ABI Platform
s5-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 34.8 kB

Release files / s5-0.0.3.tar.gz

Download URL s5-0.0.3.tar.gz
Size 17.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ffcd7f846c93948d4e095b4879f89bffc65f4b24ff5769622fcfe7f2ee830c7c
BLAKE2b-256 checksum
How to use checksums
ebac8d5952f42e54ada48a36e6318fadc5eca92688d43cfd916e178aedaf342c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.3

Release files / s5-0.0.3-py3-none-any.whl

Download URL s5-0.0.3-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ba38f0f5928d18ff3bae12d6b60ddd922db97ce125f0cb87cff72805e09d3685
BLAKE2b-256 checksum
How to use checksums
687a5f7823a6be75223da4107c5bd2bd79efa9df8e7fe62def58db70cbbff955
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.3

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page