<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>pgp &#8211; SystemTechnics</title>
	<atom:link href="https://www.systemtechnics.de/tag/pgp/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.systemtechnics.de</link>
	<description>IT Consulting</description>
	<lastBuildDate>Sat, 18 Dec 2021 16:47:52 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.systemtechnics.de/wp-content/uploads/cropped-2003-logo-st-transparanet-x200-32x32.png</url>
	<title>pgp &#8211; SystemTechnics</title>
	<link>https://www.systemtechnics.de</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>PGP Alternative age</title>
		<link>https://www.systemtechnics.de/pgp-alternative-age/</link>
		
		<dc:creator><![CDATA[knut]]></dc:creator>
		<pubDate>Sat, 18 Dec 2021 16:38:44 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Linux/OSX]]></category>
		<category><![CDATA[age]]></category>
		<category><![CDATA[decrypt]]></category>
		<category><![CDATA[encrypt]]></category>
		<category><![CDATA[entschlüsseln]]></category>
		<category><![CDATA[pgp]]></category>
		<category><![CDATA[verschlüsseln]]></category>
		<guid isPermaLink="false">https://www.systemtechnics.de/?p=3122</guid>

					<description><![CDATA[Bei Twitter bin ich auf ein Verschlüsselungsprogramm (age) aufmerksam geworden. Verschlüsselt wird wie bei PGP auch über ein Public-/Secret- Key [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Bei Twitter bin ich auf ein Verschlüsselungsprogramm (<a href="https://github.com/FiloSottile/age" target="_blank" rel="noopener">age</a>) aufmerksam geworden. Verschlüsselt wird wie bei PGP auch über ein Public-/Secret- Key Verfahren.</p>
<p>Die Installation und Handhabung ist recht einfach. Ich möchte hier ein paar davon (für OSX) beschreiben. Wer es genauer nachlesen möchte kann dies gerne unter <a href="https://github.com/FiloSottile/age" target="_blank" rel="noopener">https://github.com/FiloSottile/age</a> tun.</p>



<p>Die Installation mittels <em>brew</em> ist denkbar einfach. Mit folgendem Befehl wird <em>age</em> und <em>age-keygen</em> installiert.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">brew install age</pre>



<p>Zuerst muss ein geheimer und öffentlicher Schlüssel generiert werden. Dies funktioniert wie folgt:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">age-keygen > key.txt</pre>



<p>Wer seinen privaten Schlüssel mit einem Passwort versehen möchte kann dies mit folgenden Befehl tun. Der öffentliche Schlüssel der dabei angezeigt wird sollte man sich anschließend in einer Datei merken!</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">age-keygen | age -p > key.age</pre>



<p>Nun hat man eigentlich schon alles was man benötigt, dass einem eine Verschlüsselte Datei zugesendet werden kann. Das Public-Key-Verfahren beruht ja darauf, dass jemand <strong>mit meinem öffentlichen Schlüssel für mich</strong> etwas verschlüsselt, was nur<strong> ich mit</strong> <strong>meinem privaten Schlüssel</strong> wieder entschlüsseln kann.</p>



<p>Wer selbst eine Domain betreibt und die dort Möglichkeit besitzt einen TXT Eintrag zu erstellen, der kann seinen öffentlichen Schlüssel auch dort ablegen. Mein aktueller Schlüssel liegt im TXT Eintrag zu knut.systemtechnics.de .</p>



<p>Diesen kann man mit dem Befehl <em>dig</em> auch ganz einfach aus der Konsole auslesen.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">dig +short TXT knut.systemtechnics.de | tr -d \"</pre>



<p>Kommen wir nun zum eigentlichen, dem verschlüsseln einer Datei. Die Einfachste Variante ist mit age eine Datei zu verschlüsseln und diese mit einem Passwort zu versehen. Dies funktioniert die folgt:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">age -p meine-datei.txt > meine-datei.age</pre>



<p>Nach der Eingabe des Passworts (zweimal) ist die Datei verschlüsselt.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="725" src="https://www.systemtechnics.de/wp-content/uploads/age-encrypt-1024x725.png" alt="" class="wp-image-3127" srcset="https://www.systemtechnics.de/wp-content/uploads/age-encrypt-1024x725.png 1024w, https://www.systemtechnics.de/wp-content/uploads/age-encrypt-300x212.png 300w, https://www.systemtechnics.de/wp-content/uploads/age-encrypt-768x544.png 768w, https://www.systemtechnics.de/wp-content/uploads/age-encrypt.png 1364w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Zum entschlüsselt (mit einem Passwort) kann folgender Befehl verwendet werden:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">age -d meine-datei.age > neue-datei.txt</pre>



<p>Nach Eingabe des Passwortes, welches beim Verschlüsseln verwendet wurde, ist die Datei wieder im Klartext. Im Beispiel auf dem Bild habe ich dieser einen anderen Dateinamen vergeben. (Ohne Umleitung in eine Datei wir der Standard Output verwendet)</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="725" src="https://www.systemtechnics.de/wp-content/uploads/age-decrypt-1024x725.png" alt="" class="wp-image-3128" srcset="https://www.systemtechnics.de/wp-content/uploads/age-decrypt-1024x725.png 1024w, https://www.systemtechnics.de/wp-content/uploads/age-decrypt-300x212.png 300w, https://www.systemtechnics.de/wp-content/uploads/age-decrypt-768x544.png 768w, https://www.systemtechnics.de/wp-content/uploads/age-decrypt.png 1364w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Nun aber zum eigentlichen Public-Key Verfahren. Dazu muss derjenige meinen öffentlichen Schlüssel zum verschlüsseln verwenden. Entweder hat er diesen bei mir aus dem DNS ausgelesen (siehe oben <em>dig</em>) oder direkt übermittelt bekommen.</p>



<p>Verschlüsseln wir die Datei von oben nochmals mit meinem öffentlichen Schlüssel:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cat meine-datei.txt | age -a -e -r age1486ysemz2yg9zasd8wrdxz3kjpjv7jl7fdqpvgm3vag40jv0n5mskmcgwm > meine-datei.age </pre>



<p>Die Datei meine-datei.age ist nun verschlüsselt und kann mir gefahrlos übermittelt werden. Nur ich kann diese wieder entschlüsseln.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="725" src="https://www.systemtechnics.de/wp-content/uploads/age-public-encrypt-1024x725.png" alt="" class="wp-image-3130" srcset="https://www.systemtechnics.de/wp-content/uploads/age-public-encrypt-1024x725.png 1024w, https://www.systemtechnics.de/wp-content/uploads/age-public-encrypt-300x212.png 300w, https://www.systemtechnics.de/wp-content/uploads/age-public-encrypt-768x544.png 768w, https://www.systemtechnics.de/wp-content/uploads/age-public-encrypt.png 1364w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Das Entschlüsseln geht ebenfalls sehr einfach. Datei wird mein geheimer Schlüssel benötigt und funktioniert wie folgt:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">age -i Keys/age-key.txt -d meine-datei.age > neue-datei.txt</pre>



<p>Die Datei ist nun wieder entschlüsselt. Auf ein Passwort habe ich bei mir im geheimen Schlüssel verzichtet. Ich bin der Meinung, dass wenn jemand an diesem auf meinem verschlüsselten MacBook kommt, der kann auch jeweils die Originale auch direkt anschauen.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="725" src="https://www.systemtechnics.de/wp-content/uploads/age-public-decrypt-1024x725.png" alt="" class="wp-image-3131" srcset="https://www.systemtechnics.de/wp-content/uploads/age-public-decrypt-1024x725.png 1024w, https://www.systemtechnics.de/wp-content/uploads/age-public-decrypt-300x212.png 300w, https://www.systemtechnics.de/wp-content/uploads/age-public-decrypt-768x544.png 768w, https://www.systemtechnics.de/wp-content/uploads/age-public-decrypt.png 1364w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Wer mag kann öffentliche Schlüssel der &#8222;Verschlüsselungspartner&#8220; natürlich auch in Umgebungsvariablen speichern um diese öfters zu verwenden.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">echo "export Karsten_AGE_KEY=age1486ysemz2yg9zasd8wrdxz3kjpjv7jl7fdqpvgm3vag40jv0n5mskmcgwm" >> /Users/knut/.bashrc</pre>



<p>Nutzen kann man dies dann z.B. wie folgt:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cat meine-datei.txt | age -a -e -r $Karsten_AGE_KEY > meine-datei.age </pre>



<p>Auch an mehrere &#8222;Verschlüsselungspartner&#8220; gleichzeitig kann man Dateien verschlüsseln. In diesem Beispiel kann jeweils Karten, Martin und German mit den jeweiligen geheimen Schlüsseln diese entschlüsseln:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cat meine-datei.txt | age -a -e -r $Karsten_AGE_KEY -r $Martin_AGE_KEY -r $German_AGE_KEY > meine-datei.age </pre>



<p>Auch direkt meinen Key mittels <em>dig</em> auslesen und gleich verschlüsseln ist möglich:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cat meine-datei.txt | age -a -e -r $(dig +short TXT knut.systemtechnics.de | tr -d \") > meine-datei.age </pre>



<p>&#8230;und da ist sicherlich noch vieles mehr möglich.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
