From aaeeba7e8005c038f6592f5e37927006e71ecf49 Mon Sep 17 00:00:00 2001 From: Thomas Glatthor Date: Wed, 3 Sep 2008 14:39:35 +0000 Subject: [PATCH] translation --- docs/manuals/de/concepts/concepts.tex | 1 + docs/manuals/de/concepts/dataencryption.tex | 267 ++++++++++---------- 2 files changed, 140 insertions(+), 128 deletions(-) diff --git a/docs/manuals/de/concepts/concepts.tex b/docs/manuals/de/concepts/concepts.tex index 13c68fb8..94980c7d 100644 --- a/docs/manuals/de/concepts/concepts.tex +++ b/docs/manuals/de/concepts/concepts.tex @@ -17,6 +17,7 @@ \usepackage{setspace} \usepackage{hyperref} \usepackage{url} +\usepackage{alltt} \usepackage{german} diff --git a/docs/manuals/de/concepts/dataencryption.tex b/docs/manuals/de/concepts/dataencryption.tex index 34b050fe..8a865774 100644 --- a/docs/manuals/de/concepts/dataencryption.tex +++ b/docs/manuals/de/concepts/dataencryption.tex @@ -1,145 +1,156 @@ -\chapter{Data Encryption} +\chapter{Daten-Versch\"{u}sselung} \label{DataEncryption} -\index[general]{Data Encryption} -\index[general]{Encryption!Data} -\index[general]{Data Encryption} +\index[general]{Daten-Versch\"{u}sselung} +\index[general]{Versch\"{u}sselung!Daten-} -Bacula permits file data encryption and signing within the File Daemon (or -Client) prior to sending data to the Storage Daemon. Upon restoration, -file signatures are validated and any mismatches are reported. At no time -does the Director or the Storage Daemon have access to unencrypted file -contents. +Bacula erm\"{o}glicht Ihnen die Backup-Daten Clientseitig zu verschl\"{u}sseln +und zu signieren, bevor sie zum Storage-Dienst gesendet werden. W\"{a}hrend +der Wiederherstellung werden die Signaturen \"{u}berpr\"{u}ft und Abweichungen +gemeldet. Director- und Storage-Dienst haben dabei zu keinem Zeitpunkt Zugriff +auf unverschl\"{u}sselte Daten. - -It is very important to specify what this implementation does NOT -do: +Dabei gibt es zwei sehr wichtige Punkte zu beachten: \begin{itemize} -\item There is one important restore problem to be aware of, namely, it's - possible for the director to restore new keys or a Bacula configuration - file to the client, and thus force later backups to be made with a - compromised key and/or with no encryption at all. You can avoid this by - not not changing the location of the keys in your Bacula File daemon - configuration file, and not changing your File daemon keys. If you do - change either one, you must ensure that no restore is done that restores - the old configuration or the old keys. In general, the worst effect of - this will be that you can no longer connect the File daemon. - -\item The implementation does not encrypt file metadata such as file path - names, permissions, and ownership. Extended attributes are also currently - not encrypted. However, Mac OS X resource forks are encrypted. +\item zum einen gilt es bei der Wiederherstellung zu bedenken, + dass es f\"{u}r den Director-Dienst m\"{o}glich ist neue Schl\"{u}ssel + oder eine andere Konfigurations-Datei auf dem Client zu erstellen. + Dadurch kann die Verschl\"{u}sselung abgeschaltet oder mit ungewollten + Schl\"{u}sseln durchgef\"{u}hrt werden. Damit das nicht unbeabsichtigt + passieren kann, sollten Sie nie den Speicherortder Schl\"{u}ssel, noch + die Schl\"{u}ssel selbst \"{a}ndern. Falls solche \"{A}nderungen jemals + notwendig sind, sollten Sie sicherstellen, dass niemals aus versehen + die alte Konfiguration wiederhergestellt wird. Im schlimmsten Fall + sind Sie sp\"{a}ter nicht mehr in der Lage sich mit dem Client-Dienst + zu verbinden. +\item Die Verschl\"{u}sselung wird nicht bei den Metadaten, wie + Verzeichnisname, Rechte und Eigent\"{u}mer der Dateien durchgef\"{u}hrt. + Ebensowenig werden erweiterte Datei-Attribute verschl\"{u}sselt. + Mac OS X \elink{resource forks}{http://en.wikipedia.org/wiki/Resource_fork} + werden allerdings verschl\"{u}sselt. \end{itemize} -Encryption and signing are implemented using RSA private keys coupled with -self-signed x509 public certificates. This is also sometimes known as PKI -or Public Key Infrastructure. - -Each File Daemon should be given its own unique private/public key pair. -In addition to this key pair, any number of "Master Keys" may be specified --- these are key pairs that may be used to decrypt any backups should the -File Daemon key be lost. Only the Master Key's public certificate should -be made available to the File Daemon. Under no circumstances should the -Master Private Key be shared or stored on the Client machine. - -The Master Keys should be backed up to a secure location, such as a CD -placed in a in a fire-proof safe or bank safety deposit box. The Master -Keys should never be kept on the same machine as the Storage Daemon or -Director if you are worried about an unauthorized party compromising either -machine and accessing your encrypted backups. - -While less critical than the Master Keys, File Daemon Keys are also a prime -candidate for off-site backups; burn the key pair to a CD and send the CD -home with the owner of the machine. - -NOTE!!! If you lose your encryption keys, backups will be unrecoverable. -{\bf ALWAYS} store a copy of your master keys in a secure, off-site location. - -The basic algorithm used for each backup session (Job) is: +Die Verschl\"{u}sselung und Signierung wird mittels RSA privaten Schl\"{u}ssel +in Verbindung mit selbstsignierten X509 \"{o}ffentlichen Zertifikate durchgef\"{u}hrt. +Dieses Verfahren ist auch als \elink{PKI}{http://de.wikipedia.org/wiki/Public-Key-Infrastruktur} +(Public-Key-Infrastruktur) bekannt. + +Jeder Client-Dienst sollte sein eigenes einzigartiges privates/\"{o}ffentliches +Schl\"{u}ssel-paar besitzen. Zus\"{a}tzlich, zu diesem Schl\"{u}ssel-Paar, +k\"{o}nnen beliebig viele "`Master Keys"' angegeben werden. Das sind +Schl\"{u}ssel-Paare die zum entschl\"{u}sseln benutzt werden k\"{o}nnen, +falls der Schl\"{u}ssel des Client-Dienstes verloren geht. Nur die \"{o}ffentlichen +Schl\"{u}ssel der Master-Keys sollten auf dem Client zur Verf\"{u}gung stehen +und {\bf niemals} die privaten. + +Die Master-Keys sollten zudem an einem sicheren Ort aufbewart werden, +zum Beispiel in einem feuerfesten Stahlschrank oder einem Bankdepot. +Diese Schl\"{u}ssel sollten nie auf den Systemen auf denen der Director- +und der Storage-Dienst l\"{a}uft aufbewart werden. Ansonsten ist es eventuell +unautorisierten Benutzer m\"{o}glich auf die verschl\"{u}sselten Daten zuzugreifen. + +Obwohl weniger kritisch, sind es auch die Client-Schl\"{u}ssel Wert, +an einem sicheren Ort gespeichert zu werden. + +WARNUNG: Wenn Sie jemals die zur Entschl\"{u}sselung ben\"{o}tigten +Schl\"{u}ssel verlieren, k\"{o}nnen Sie keine Daten mehr aus Ihrem Backups +wiederherstellen! Heben Sie {\bf IMMER} eine Kopie der Schl\"{u}ssel +an einem sicheren Ort au{\ss}erhalb Ihres Standortes auf. + +Der wesentliche Ablauf eines jeden Backup-Jobs mit Verschl\"{u}sselung ist: \begin{enumerate} -\item The File daemon generates a session key. -\item The FD encrypts that session key via PKE for all recipients (the file -daemon, any master keys). -\item The FD uses that session key to perform symmetric encryption on the data. +\item Der Client-Dienst generiert einen Session-Schl\"{u}ssel. +\item Der Client-Dienst verschl\"{u}sselt diesen Session-Schl\"{u}ssel mittels PKI + f\"{u}r alle \"{o}ffentlichen Schl\"{u}ssel die konfiguriert sind + (Client- und Master-Schl\"{u}ssel). +\item Der Client-Dienst benutzt den Session-Schl\"{u}ssel zum symetrischen + Verschl\"{u}sseln der Daten. \end{enumerate} -\section{Building Bacula with Encryption Support} -\index[general]{Building Bacula with Encryption Support} +\section{Bacula mit Unterst\"{u}tzung f\"{u}r Verschl\"{u}sselung kompilieren} +\index[general]{Bacula mit Unterst\"{u}tzung f\"{u}r Verschl\"{u}sselung kompilieren} -The configuration option for enabling OpenSSL encryption support has not changed -since Bacula 1.38. To build Bacula with encryption support, you will need -the OpenSSL libraries and headers installed. When configuring Bacula, use: +Um die Unterst\"{u}tzung der Daten-Verschl\"{u}sselung aktivieren zu k\"{o}nnen, +m\"{u}ssen die OpenSSL Header und Bibliotheken installiert sein. Bei der Konfiguration +des Bacula-Quelltextes muss folgende Option angegeben werden: \begin{verbatim} ./configure --with-openssl ... \end{verbatim} -\section{Encryption Technical Details} -\index[general]{Encryption Technical Details} +\section{Technische Einzelheiten der Verschl\"{u}sselung} +\index[general]{Technische Einzelheiten der Verschl\"{u}sselung} -The implementation uses 128bit AES-CBC, with RSA encrypted symmetric -session keys. The RSA key is user supplied. -If you are running OpenSSL 0.9.8 or later, the signed file hash uses -SHA-256 -- otherwise, SHA-1 is used. +Diese Verschl"`{u}sselung benutzt 128-Bit AES-CBC mit RSA verschl\"{u}sselten +symetrischen Session-Schl\"{u}sseln. Diese RSA-Schl\"{u}sseln werden vom +Benutzer erstellt. Wenn Sie OpenSSL in Version 0.9.8 (oder gr\"{o}{\ss}er) +benutzen, wird f\"{u}r die Signierung der Datei-Hashes SHA-256 verwendet, +ansonsten SHA-1. -End-user configuration settings for the algorithms are not currently -exposed -- only the algorithms listed above are used. However, the -data written to Volume supports arbitrary symmetric, asymmetric, and -digest algorithms for future extensibility, and the back-end -implementation currently supports: +Eine Konfigurations-M\"{o}glichkeit des End-Benutzers f\"{u}r den Algorithmus +ist momentan nicht vorgesehen, nur die oben genannten werden verwendet. +Allerdings unterst\"{u}tzen die auf die Volumes geschriebenen Daten auch +frei w\"{a}hlbare symetrische, asymetrische und Digest Algorithmen. +Es sind also noch viele M\"{o}glichkeiten zur Erweiterung +der Verschl\"{u}sselung vorhanden. -\begin{verbatim} -Symmetric Encryption: - - 128, 192, and 256-bit AES-CBC +Director-seitig wird unterst\"{u}tzt: + +\begin{alltt} +Symmetrische Verschl\"{u}sselung: + - 128, 192 und 256-bit AES-CBC - Blowfish-CBC -Asymmetric Encryption (used to encrypt symmetric session keys): +Asymmetrische Verschl\"{u}sselung (zum verschl\"{u}sseln der symmetrischen Session-Keys): - RSA -Digest Algorithms: +Digest Algorithmen: - MD5 - SHA1 - SHA256 - SHA512 -\end{verbatim} - -The various algorithms are exposed via an entirely re-usable, -OpenSSL-agnostic API (ie, it is possible to drop in a new encryption -backend). The Volume format is DER-encoded ASN.1, modeled after the -Cryptographic Message Syntax from RFC 3852. Unfortunately, using CMS -directly was not possible, as at the time of coding a free software -streaming DER decoder/encoder was not available. - - -\section{Decrypting with a Master Key} -\index[general]{Decrypting with a Master Key} - -It is preferable to retain a secure, non-encrypted copy of the -client's own encryption keypair. However, should you lose the -client's keypair, recovery with the master keypair is possible. - -You must: +\end{alltt} + +Die verschiedenen Algorithmen werden durch eine wiederverwendbare +OpenSSL-Schnittstelle bereitgestellt. Dadurch ist es jederzeit +M\"{o}glich neue Verschl\"{u}sselungs-Methoden zu implementieren. +Das Volume-Format ist DER-verschl\"{u}sseltes ASN.1, entwickelt nach +der "'Cryptographic Message Syntax"` des RFC 3852. Leider war die +direkte Verwendung von CMS nicht m\"{o}glich, da zu dem Zeitpunkt der +Entwicklung kein freier DER-Decoder/Encoder f\"{u}r Datenstr\"{o}me zur +Verf\"{u}gung stand. + +\section{Entschl\"{u}sselung mit einem Master Key} +\index[general]{Entschl\"{u}sselung mit einem Master Key} + +Bevorzugter Weise sollten Sie immer eine unverschl\"{u }sselte Kopie +der Client-Schl\"{u}ssel an einem sicheren Ort aufbewahren. +Falls sie trotzdem verloren gehen, k\"{o}nnen Sie die gesicherten Daten +noch mittels der Master-Keys entsch\"{u}sseln. + +Dazu m\"{u}ssen folgende Voraussetzungen erf\"{u}llt sein: \begin{itemize} -\item Concatenate the master private and public key into a single - keypair file, ie: - cat master.key master.cert >master.keypair +\item verketten Sie den privaten und \"{o}ffentlichen Master-Schl\"{u}ssel + in einer einzelnen Schl\"{u}ssel-Paar-Datei, zum Beispiel mit: + [user@host]\$ cat master.key master.cert \gt master.keypair -\item 2) Set the PKI Keypair statement in your bacula configuration file: +\item Setzen Sie den Eintrag "'PKI Keypair"` in der Client-Konfiguration auf + die eben erzeugte Datei: \begin{verbatim} PKI Keypair = master.keypair \end{verbatim} -\item Start the restore. The master keypair will be used to decrypt - the file data. - +\item Starten Sie die Wiederherstellung, und das Master-Key-Paar + wird zum entschl\"{u}sseln der Daten verwendet. \end{itemize} -\section{Generating Private/Public Encryption Keys} -\index[general]{Generating Private/Public Encryption Keypairs} +\section{Erstellung privater/\"{o}ffentlicher Schl\"{u}ssel} +\index[general]{Erstellung privater/\"{o}ffentlicher Schl\"{u}ssel} -Generate a Master Key Pair with: +Mit den folgenden Kommandos generieren Sie ein Master-Key-Paar: \footnotesize \begin{verbatim} @@ -148,7 +159,8 @@ Generate a Master Key Pair with: \end{verbatim} \normalsize -Generate a File Daemon Key Pair for each FD: +Die folgenden Kommandos erstellen das Schl\"{u}ssel-Paar f\"{u}r +den Client-Dienst: \footnotesize \begin{verbatim} @@ -158,38 +170,37 @@ Generate a File Daemon Key Pair for each FD: \end{verbatim} \normalsize -Note, there seems to be a lot of confusion around the file extensions given -to these keys. For example, a .pem file can contain all the following: -private keys (RSA and DSA), public keys (RSA and DSA) and (x509) certificates. -It is the default format for OpenSSL. It stores data Base64 encoded DER format, -surrounded by ASCII headers, so is suitable for text mode transfers between -systems. A .pem file may contain any number of keys either public or -private. We use it in cases where there is both a public and a private -key. - -Typically, above we have used the .cert extension to refer to X509 -certificate encoding that contains only a single public key. - - -\section{Example Data Encryption Configuration} -\index[general]{Example!File Daemon Configuration File} -\index[general]{Example!Data Encryption Configuration File} -\index[general]{Example Data Encryption Configuration} +Bez\"{u}glich der verwendeten Datei-Erweiterung f\"{u}r die Schl\"{u}ssel +gibt es eine Menge Verwirrung. Zum Beispiel kann eine .pem-Datei folgendes +enthalten: private Schl\"{u}ssel (RSA und DSA), \"{o}ffentliche Schl\"{u}ssel +(RSA und DSA) und Zertifikate (x509). Das ist das von OpenSSLstandardm\"{a}{\ss}ig +verwendete Format. Es speichert die Daten im Base64 codiertem DER-Format, +das von ASCII-Header umgeben wird. So kann es als Text-Datei zwischen verschiedenen +Computer \"{u}bertragen werden. Eine .pem-Datei kann eine beliebige Anzahl von +entweder privaten und/oder \"{o}ffentlichen Schl\"{u}sseln enthalten. +In der Bacula-Konfiguration wird diese Datei-Erweiterung nur f\"{u}r +Dateien verwendet die jeweils einen privaten und einen \"{o}ffentlichen +Schl\"{u}ssel enthalten. Zudem wird, wie oben zu sehen, f\"{u}r +Dateien die nur einen einzigen \"{o}ffentlichen Schl\"{u}ssel enthalten +die Erweiterung .cert verwendet (als Verweis auf die x509 Zertifikats-Kodierung). + +\section{Beispiel-Konfiguration mit Verschl\"{u}sselung} +\index[general]{Beispiel!Client-Konfiguration mit Verschl\"{u}sselung} {\bf bacula-fd.conf} \footnotesize -\begin{verbatim} +\begin{alltt} FileDaemon { Name = example-fd - FDport = 9102 # where we listen for the director + FDport = 9102 WorkingDirectory = /var/bacula/working Pid Directory = /var/run Maximum Concurrent Jobs = 20 - PKI Signatures = Yes # Enable Data Signing - PKI Encryption = Yes # Enable Data Encryption - PKI Keypair = "/etc/bacula/fd-example.pem" # Public and Private Keys - PKI Master Key = "/etc/bacula/master.cert" # ONLY the Public Key + PKI Signatures = Yes # aktiviert die Daten-Signierung + PKI Encryption = Yes # aktiviert die Daten-Verschl\"{u}sselung + PKI Keypair = "/etc/bacula/fd-example.pem" # private und \"{o}ffentliche Schl\"{u}ssel + PKI Master Key = "/etc/bacula/master.cert" # NUR der \"{o}ffentliche Schl\"{u}ssel } -\end{verbatim} +\end{alltt} \normalsize -- 2.39.5