Wie funktioniert das Dienstleistung Arbeit?

Auf dieser Seite können Sie ein Geheimnis über einen Link zur gemeinsamen Nutzung eines Geheimnisses weitergeben. Das Geheimnis wird im Link zur gemeinsamen Nutzung von Geheimnissen gespeichert und nicht auf dem Server.
Ein geheimer Link zum Teilen kann nur einmal verwendet werden..

Kurze Beschreibung dieses Dienstes.

Dieser Dienst zur gemeinsamen Nutzung von Geheimnissen basiert auf AES- und RSA-Verschlüsselung. Bei der Erstellung eines neuen Links zur gemeinsamen Nutzung von Geheimnissen wird ein Zufallsschlüssel generiert, der zur Verschlüsselung des Geheimnisses mit AES verwendet wird. Der Schlüssel selbst wird dann mit RSA verschlüsselt. Das Ergebnis der Verschlüsselung wird URL-sicher mit Base64 kodiert und die URL dieser Website vorangestellt. Wenn der Link zum Teilen des Geheimnisses aufgerufen wird, wird die URL-sichere Base64-kodierte Nachricht entschlüsselt und das Ergebnis der Entschlüsselung auf der Website angezeigt. Zusätzlich wird der Fingerabdruck der verschlüsselten Nachricht in einer Datenbank gespeichert, um zu verhindern, dass sie mehrfach angezeigt wird.

Holen Sie sich den richtigen öffentlichen Schlüssel.

Zunächst müssen Sie den richtigen öffentlichen Schlüssel zur Verschlüsselung Ihres Geheimnisses abrufen::

wget -O "./secrets.pub" "https://secrets.luckycloud.de/pub?plain"

Verschlüsseln Sie das Geheimnis, das Sie weitergeben möchten.

Um einen geheimen Freigabelink zu erstellen, müssen Sie bestimmte Schritte ausführen, die hier beschrieben werden:

  1. das erforderliche Schlüsselmaterial ableiten
  2. das Geheimnis mit AES-256-CTR verschlüsseln
  3. das Schlüsselmaterial mittels RSA verschlüsseln
  4. Berechnung eines MAC der Daten mittels HMAC-SHA-256
  5. Base64-Kodierung des Ergebnisses
  6. Zeilenumbrüche entfernen
  7. URL-sichere Base64-Kodierung anwenden:
    • Gleichungszeichen entfernen
    • ersetzen "+" mit "-"
    • ersetzen "/" mit "_"
  8. die geheime Freigabe-URL voranstellen

Beispiel Shell.

Alle diese Schritte können mit einem einzigen Shell-Befehl ausgeführt werden:

MESSAGE="zu verschlüsselnde Nachricht" &&
RSAKEYFILE="./secrets.pub" &&
URLPREFIX="https://secrets.luckycloud.de/" &&
RSAKEYCOUNT="0001" &&
VERSION="01" &&
NONCE=$(printf "%016x0000000000000000" "$(date +%s)") &&
KEY=$(openssl rand -hex 32) &&
ENCKEY=$(echo -n "enc" | openssl dgst -sha256 -mac "HMAC" -macopt "hexkey:$KEY" -binary | xxd -p | tr -d "\n") &&
MACKEY=$(echo -n "mac" | openssl dgst -sha256 -mac "HMAC" -macopt "hexkey:$KEY" -binary | xxd -p | tr -d "\n") &&
RSAKEY=$(echo -n "$KEY" | xxd -r -p | openssl rsautl -encrypt -oaep -pubin -inkey "$RSAKEYFILE" -keyform PEM | xxd -p | tr -d "\n") &&
RSAKEYID=$(openssl rsa -pubin -in "$RSAKEYFILE" -pubout -outform DER 2>/dev/null | openssl dgst -sha256 -binary | xxd -p | tr -d "\n") &&
RSAKEYLENGTH=$(echo -n "$RSAKEY" | xxd -r -p | wc -c) &&
RSAKEYLENGTH=$(printf "%04x" "$RSAKEYLENGTH") &&
ENCMESSAGE=$(echo -n "$MESSAGE" | openssl enc -aes-256-ctr -K "$ENCKEY" -iv "$NONCE" -nopad | xxd -p | tr -d "\n") &&
MACMESSAGE="$VERSION$RSAKEYCOUNT$RSAKEYID$RSAKEYLENGTH$RSAKEY$NONCE$ENCMESSAGE" &&
MAC=$(echo -n "$MACMESSAGE" | xxd -r -p | openssl dgst -sha256 -mac "HMAC" -macopt "hexkey:$MACKEY" -binary | xxd -p | tr -d "\n") &&
FULLMESSAGE="$MACMESSAGE$MAC" &&
OUTPUT=$(echo -n "$FULLMESSAGE" | xxd -r -p | openssl base64 | tr "+" "-" | tr "/" "_" | tr "\n" "/" | tr -d "=") &&
OUTPUT="$URLPREFIX$OUTPUT" &&
echo "$OUTPUT"

Oder...

...benutzen Sie einfach das Formular für den Austausch von Geheimnissen die wir für Ihre Bequemlichkeit bereitstellen.

Kurze Beschreibung der Passwortschutzfunktion.

Bei Verwendung der Passwortschutzfunktion wird das Geheimnis lokal in Ihrem Browser mit AES-256-CTR verschlüsselt. Der Verschlüsselungsschlüssel wird aus dem eingegebenen Kennwort und einem dynamisch generierten Salt unter Verwendung des PBKDF2-SHA-256-Algorithmus abgeleitet. Der Passwortschutz wird mit Hilfe von JavaScript auf der Client-Seite implementiert. Bitte beachten Sie, dass ein kompromittierter Server Ihnen JavaScript-Code liefern kann, der den Zweck der lokalen Verschlüsselung unterläuft. Wenn Sie dem Server, der den Dienst zur gemeinsamen Nutzung von Geheimnissen anbietet, nicht vertrauen, verschlüsseln Sie Ihr Geheimnis mit einer lokal installierten Anwendung, bevor Sie es weitergeben.

Beispiel Shell.

Sie können den folgenden Shell-Befehl verwenden, um eine Nachricht zu verschlüsseln und mit der browserbasierten Verschlüsselung kompatibel zu sein. Sie benötigen das zusätzliche Tool
nettle-pbkdf2 für diese:

MESSAGE="9" &&
PASSWORD="password" &&
VERSION="00" &&
NONCE=$(printf "%016x0000000000000000" "$(date +%s)") &&
SALT=$(openssl rand -hex 32) &&
KEY=$(echo -n "$PASSWORD" | nettle-pbkdf2 -i 512000 -l 32 --raw --hex-salt "$SALT" | xxd -p | tr -d "\n") &&
ENCKEY=$(echo -n "enc" | openssl dgst -sha256 -mac "HMAC" -macopt "hexkey:$KEY" -binary | xxd -p | tr -d "\n") &&
MACKEY=$(echo -n "mac" | openssl dgst -sha256 -mac "HMAC" -macopt "hexkey:$KEY" -binary | xxd -p | tr -d "\n") &&
ENCMESSAGE=$(echo -n "$MESSAGE" | openssl enc -aes-256-ctr -K "$ENCKEY" -iv "$NONCE" -nopad | xxd -p | tr -d "\n") &&
MACMESSAGE="$VERSION$SALT$NONCE$ENCMESSAGE" &&
MAC=$(echo -n "$MACMESSAGE" | xxd -r -p | openssl dgst -sha256 -mac "HMAC" -macopt "hexkey:$MACKEY" -binary | xxd -p | tr -d "\n") &&
FULLMESSAGE="$MACMESSAGE$MAC" &&
OUTPUT=$(echo -n "$FULLMESSAGE" | xxd -r -p | openssl base64 | tr -d "\n") &&
echo "$OUTPUT"