s5


Names5 JSON
Version 0.0.3 PyPI version JSON
download
home_page
SummarySciNet Super Simple Secrets Server
upload_time2023-05-20 20:40:29
maintainer
docs_urlNone
authorYohai Meiron
requires_python>=3.8
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "s5",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Yohai Meiron",
    "author_email": "Yohai Meiron <yohai.meiron@scinet.utoronto.ca>",
    "download_url": "https://files.pythonhosted.org/packages/eb/ac/8d5952f42e54ada48a36e6318fadc5eca92688d43cfd916e178aedaf342c/s5-0.0.3.tar.gz",
    "platform": null,
    "description": "SciNet Super Simple Secrets Server\n==================================\n\nS\u2075 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.\n\nWhen 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.\n\nBy 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.\n\nThe server shuts down by default once a successful query is made, but this behaviour can be adjusted with the `--success-max` command line argument.\n\nUsage\n-----\n\nStart 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.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "SciNet Super Simple Secrets Server",
    "version": "0.0.3",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "687a5f7823a6be75223da4107c5bd2bd79efa9df8e7fe62def58db70cbbff955",
                "md5": "3e4faa5932f9265d974a9afbfad1b5aa",
                "sha256": "ba38f0f5928d18ff3bae12d6b60ddd922db97ce125f0cb87cff72805e09d3685"
            },
            "downloads": -1,
            "filename": "s5-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3e4faa5932f9265d974a9afbfad1b5aa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 17722,
            "upload_time": "2023-05-20T20:40:27",
            "upload_time_iso_8601": "2023-05-20T20:40:27.170229Z",
            "url": "https://files.pythonhosted.org/packages/68/7a/5f7823a6be75223da4107c5bd2bd79efa9df8e7fe62def58db70cbbff955/s5-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ebac8d5952f42e54ada48a36e6318fadc5eca92688d43cfd916e178aedaf342c",
                "md5": "e2ece2f8c4de4b2d90ea5042cfcf4423",
                "sha256": "ffcd7f846c93948d4e095b4879f89bffc65f4b24ff5769622fcfe7f2ee830c7c"
            },
            "downloads": -1,
            "filename": "s5-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "e2ece2f8c4de4b2d90ea5042cfcf4423",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 17118,
            "upload_time": "2023-05-20T20:40:29",
            "upload_time_iso_8601": "2023-05-20T20:40:29.434005Z",
            "url": "https://files.pythonhosted.org/packages/eb/ac/8d5952f42e54ada48a36e6318fadc5eca92688d43cfd916e178aedaf342c/s5-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-20 20:40:29",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "s5"
}
        
Elapsed time: 0.06915s