From d42181f0de3d53f52d1498a9b9ab80f438a713b5 Mon Sep 17 00:00:00 2001 From: Miquel Lionel Date: Wed, 18 Nov 2020 12:38:19 +0100 Subject: First commit. Will clean up the css and things. --- css/core.css | 685 ++++++++++ css/reset.css | 164 +++ fonts/league-gothic.woff | Bin 0 -> 19548 bytes fonts/league-gothic.woff2 | Bin 0 -> 15228 bytes fonts/lora-bold-italic.woff | Bin 0 -> 85428 bytes fonts/lora-bold-italic.woff2 | Bin 0 -> 68860 bytes fonts/lora-bold.woff | Bin 0 -> 187160 bytes fonts/lora-bold.woff2 | Bin 0 -> 69852 bytes fonts/lora-italic.woff | Bin 0 -> 187828 bytes fonts/lora-italic.woff2 | Bin 0 -> 67836 bytes fonts/lora.woff | Bin 0 -> 80972 bytes fonts/lora.woff2 | Bin 0 -> 64468 bytes images/flag_uk.svg | 16 + images/footer-leaf.svg | 35 + images/footer-red.svg | 35 + images/footer-square.svg | 63 + images/lock.jpg | Bin 0 -> 82459 bytes images/terminal.svg | 59 + index.html | 3000 ++++++++++++++++++++++++++++++++++++++++++ 19 files changed, 4057 insertions(+) create mode 100755 css/core.css create mode 100755 css/reset.css create mode 100755 fonts/league-gothic.woff create mode 100755 fonts/league-gothic.woff2 create mode 100755 fonts/lora-bold-italic.woff create mode 100755 fonts/lora-bold-italic.woff2 create mode 100755 fonts/lora-bold.woff create mode 100755 fonts/lora-bold.woff2 create mode 100755 fonts/lora-italic.woff create mode 100755 fonts/lora-italic.woff2 create mode 100755 fonts/lora.woff create mode 100755 fonts/lora.woff2 create mode 100755 images/flag_uk.svg create mode 100755 images/footer-leaf.svg create mode 100755 images/footer-red.svg create mode 100755 images/footer-square.svg create mode 100755 images/lock.jpg create mode 100755 images/terminal.svg create mode 100755 index.html diff --git a/css/core.css b/css/core.css new file mode 100755 index 0000000..f575862 --- /dev/null +++ b/css/core.css @@ -0,0 +1,685 @@ +@import url('reset.css'); + +@font-face{ + font-family: 'League Gothic'; + src: local('League Gothic'), + local('League-Gothic'), + url('/fonts/league-gothic.woff2') format('woff2'), + url('/fonts/league-gothic.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +@font-face{ + font-family: 'Lora'; + src: local('Lora'), + url('/fonts/lora.woff2') format('woff2'), + url('/fonts/lora.woff') format('woff'); + font-style: normal; + font-weight: normal; +} + +@font-face{ + font-family: 'Lora'; + src: local('Lora'), + url('/fonts/lora-italic.woff2') format('woff2'), + url('/fonts/lora-italic.woff') format('woff'); + font-style: italic; + font-weight: normal; +} + +@font-face{ + font-family: 'Lora'; + src: local('Lora'), + url('/fonts/lora-bold.woff2') format('woff2'), + url('/fonts/lora-bold.woff') format('woff'); + font-style: normal; + font-weight: bold; +} + +@font-face{ + font-family: 'Lora'; + src: local('Lora'), + url('/fonts/lora-bold-italic.woff2') format('woff2'), + url('/fonts/lora-bold-italic.woff') format('woff'); + font-style: italic; + font-weight: bold; +} + +::selection{ + background: #BC3E3E; + color: #ffffff; +} + +::-moz-selection{ + background: #BC3E3E; + color: #ffffff; +} + +h1,h2,h3,h4,h5,h6,code{ + hyphens: none; +} + +#comments li > p::selection{ + background: #ffffff; + color: #BC3E3E; +} + +#comments li > p::-moz-selection{ + background: #ffffff; + color: #BC3E3E; +} + +#comments li > p *::selection{ + background: #ffffff; + color: #BC3E3E; +} + +#comments li > p *::-moz-selection{ + background: #ffffff; + color: #BC3E3E; +} + +html, +body{ + background: #ffffff; + font-size: 16px; + line-height: 1.4; +} + +body{ + display: flex; + flex-direction: column; + min-height: 100vh; +} + +figure{ + text-align: center; + margin: 0; + font-size: 0; +} + +mark{ + background: #BC3E3E; + color: #ffffff; +} + +article * + figcaption{ + margin-top: 0; + font-size: .75rem; +} + +b, strong{ + font-weight: bold; +} + +i, em{ + font-style: italic; +} + +a, +a:link, +a:visited{ + color: #BC3E3E; + text-decoration: underline; +} + +#comments li > p a:hover{ + color: #ffffff; +} + + +body{ + background: none; + margin: auto; +} + +footer::after{ + content: url('/images/footer-red.svg'); + display: block; + line-height: 0; + font-size: 0; +} + +footer{ + background: #19232C; + text-align: center; + padding: 2rem 0; + margin-top: auto; /* for flex */ +} + +footer p{ + color: #ffffff; + font-family: 'Lora', serif; + margin-bottom: 2rem; +} + +header{ + padding: 1rem; + background: #19232C; + text-align: center; +} + +header > *{ + max-width: 650px; + color: #ffffff; + font-family: 'Lora', serif; + margin: auto; +} + +header nav{ + font-size: 0; + line-height: 0; + padding: 0; +} + +header nav ul li{ + color: #ffffff; + font-family: 'League Gothic', sans-serif; + display: inline-block; +} + +header nav ul li a{ + font-size: 2rem; + height: 1.75rem; + line-height: 1; + display: inline-block; + text-transform: uppercase; + padding: 1rem; +} + +header nav ul li + li::before{ + content: '\2022'; + color: #fff; + display: inline-block; + margin: 0 1rem; + font-size: 1.5rem; + position: relative; + top: -2px; +} + +header a, +header a:link, +header a:visited, +footer a, +footer a:link, +footer a:visited{ + color: #BC3E3E; + text-decoration: none; +} + +header > a, +header > a:link, +header > a:visited{ + font-family: 'League Gothic', sans-serif; + font-size: 5rem; + line-height: .85; + height: 3.75rem; + text-transform: uppercase; + display: block; + padding: 1rem 0; +} + +header a:hover, +footer a:hover{ + background: rgba(255, 255, 255, .05); + text-decoration: none; +} + +header > p{ + margin: 1rem auto; + max-width: 970px; + line-height: 1.6; +} + +header nav p{ + display: inline-block; +} + +article, +main{ + padding: 2rem 0; +} + +#comments{ + padding-bottom: 2rem; +} + +main.error{ + display: flex; + flex-grow: 1; +} + +main.error h1{ + margin: auto; +} + +article, +#comments{ + color: #222; + font-family: 'Lora', serif; + line-height: 1.7; + font-size: 1.125rem; + max-width: 650px; + margin: 0 auto; + hyphens: auto; + text-align: justify; +} + +article img{ + border: 1px solid #888; + border-radius: 5px; + max-width: 100%; + box-sizing: border-box; +} + +article ol{ + list-style: decimal; +} + +article ul{ + list-style: disc; +} + +nav{ + padding: 2rem 0; + max-width: 650px; + margin: auto; + font-family: 'Lora', serif; +} + +h1, +h2, +h3, +header + main nav ul li p:first-child a, +#comments h2{ + font-weight: normal; + font-family: League Gothic, sans-serif; + text-transform: uppercase; + font-size: 3.125rem; + line-height: 1; + text-align: center; +} + +h1, +header + main nav ul li p:first-child a, +header + main nav ul li p:first-child a:link, +header + main nav ul li p:first-child a:visited{ + color: #333; + text-decoration: none; +} + +header + main nav ul li p:first-child a:hover{ + color: #BC3E3E; +} + +header + main nav ul li p:first-child a{ + font-size: 2rem; + line-height: 1; +} + +nav ul li{ + color: #444444; + list-style: none; +} + +header + main nav ul li + li, +#comments ol li + li{ + margin-top: 2rem; +} + +header + main nav li p + p{ + display: flex; + margin-top: .5rem; +} + +ul.post-categories{ + display: inline; +} + +ul + time::before, +body nav ul li time + a::before, +#comments time::before{ + content: '\2022'; + margin-right: .5rem; + margin-left: .5rem; + display: inline-block; + color: #222; +} + +#comments time::before{ + font-size: 1rem; + color: #fff; +} + +article h2, +#comments h2{ + font-size: 2.125rem; + line-height: 1; + text-align: left; + color: #444; + margin-top: 3rem; +} + +#comments h2:first-child{ + display: none; +} + +article h3{ + font-size: 2rem; + text-align: left; + color: #444; + margin-top: 3rem; +} + +article * + *, +#comments ol li > div p + p{ + margin-top: 1rem; +} + +article time{ + display: block; + border-top: 3px double #888; + border-bottom: 3px double #888; + margin: 2rem 0; + text-align: center; + padding: 1rem 0; + font-style: italic; +} + +sup{ + vertical-align: super; + font-size: .5rem; +} + +.mono{ + font-family: monospace; +} + +aside{ + border-radius: 5px; + color: #ffffff; + text-shadow: none; + padding: 2rem; +} + +aside::before{ + font-family: League Gothic, sans-serif; + display: block; + text-transform: uppercase; + font-size: 2rem; + line-height: 1; + border-bottom: 3px double rgba(255, 255, 255, .5); + padding-bottom: 1rem; + margin-bottom: 1rem; +} + +aside a, +aside a:link, +aside a:visited{ + color: #fff; +} + +aside.update{ + background: #FBFAAA; + color: #222; +} + +aside.update::before{ + content: 'Update'; + color: #444; + border-bottom: 3px double rgba(0, 0, 0, .5); +} + +aside.warning{ + background: #BC3E3E; +} + +aside.warning::before{ + content: 'Attention'; +} + +aside.note{ + background: #3E80BC; +} + +aside.note::before{ + content: 'Note'; +} + +img[src*="alex-cabal.jpg"]{ + float: left; + margin-right: 2rem; + max-width: 200px; +} + +#comments::before{ + content: url('/images/footer-leaf.svg'); + display: block; + line-height: 0; + font-size: 0; + margin-bottom: 2rem; + text-align: center; +} + +#comments ol + h2::before{ + content: url('/images/footer-square.svg'); + display: block; + line-height: 0; + font-size: 0; + margin: 2rem 0; + margin-bottom: 2rem; + text-align: center; +} + +#comments ol li > p, +#comments ol li > p a{ + font-weight: bold; + background: #BC3E3E; + padding: 1rem; + border-top-right-radius: 5px; + border-top-left-radius: 5px; + min-height: 3.125rem; + color: #ffffff; + padding: 0; +} + +#comments ol li > p time{ + font-weight: normal; +} + +#comments ol li > div{ + padding: 1rem; +} + +#comments ol li{ + color: #fff; + background: #19232C; + border-radius: 5px; +} + +.avatar{ + border-top-left-radius: 5px; + display: inline; + margin-right: 1rem; + vertical-align: middle; +} + +.nav-buttons{ + display: flex; +} + +nav .next{ + margin-left: auto; +} + +nav .next::after{ + content:' \2192'; +} + +nav .back::before{ + content:'\2190 '; +} + +code{ + hyphens: none; + text-align: left; + overflow-x: auto; +} + +code.terminal{ + color:#fff; + background-color:#444; + background-image: url('/images/terminal.svg'); + font-family:'Courier New', Courier, Fixed; + background-position: 1rem 1.25rem; + background-repeat:no-repeat; + padding: 1rem; + padding-left: 3rem; + border-radius: 5px; + display: block; + font-style: normal; +} + +code.raw{ + white-space: pre; +} + +code.terminal.multiline span{ + display: block; +} + +code.terminal::before, +code.terminal.multiline span::before{ + display: inline; + margin-right: .5rem; + color: #56DA55; + font-weight: bold; +} + +code.terminal:not(.multiline)::before{ + content:'user@localhost:'; +} + +code.terminal[data-host]:not(.multiline)::before{ + content:'user@'attr(data-host)':'; +} + +code.terminal[data-user]:not(.multiline)::before{ + content:attr(data-user)'@localhost:'; +} + +code.terminal[data-host][data-user]:not(.multiline)::before{ + content:attr(data-user)'@'attr(data-host)':'; +} + +code.terminal.multiline > span::before{ + content:'user@localhost:'; +} + +code.terminal.multiline > span[data-host]::before{ + content:'user@'attr(data-host)':'; +} + +code.terminal.multiline > span[data-user]::before{ + content:attr(data-user)'@localhost:'; +} + +code.terminal.multiline > span[data-user][data-host]::before{ + content:attr(data-user)'@'attr(data-host)':'; +} + +code.terminal.multiline span + span{ + margin-top: 5px; +} + +/* fancy keyboard stuff */ +/* adapted from http://michaelhue.com/keyscss */ +kbd{ + text-transform: capitalize; + display: inline; + display: inline-block; + min-width: 1rem; + font-size: 1rem !important; + padding: .5rem; + font: normal .85em/1 "Lucida Grande", Lucida, Arial, sans-serif; + text-align: center; + text-decoration: none; + border-radius: .3em; + border: none; + cursor: default; + -moz-user-select: none; + -webkit-user-select: none; + user-select: none; + background: rgb(250, 250, 250); + background: -moz-linear-gradient(top, rgb(210, 210, 210), rgb(255, 255, 255)); + background: -webkit-gradient(linear, left top, left bottom, from(rgb(210, 210, 210)), to(rgb(255, 255, 255))); + color: rgb(50, 50, 50); + text-shadow: 0 0 2px rgb(255, 255, 255); + box-shadow: inset 0 0 1px rgb(255, 255, 255), inset 0 0 .4em rgb(200, 200, 200), 0 .1em 0 rgb(130, 130, 130), 0 .11em 0 rgba(0, 0, 0, .4), 0 .1em .11em rgba(0, 0, 0, .9); +} + +kbd[title]{ + cursor: help; +} + +code kbd{ + text-transform: initial; +} + +.keys{ + white-space: nowrap; +} + +/* Responsive garbage */ +@media(max-width: 700px){ + @viewport{ + zoom: 1.0; + width: auto; + } + + @-ms-viewport{ + zoom: 1.0; + width: auto; + } + + header{ + margin-bottom: 0; + } + + footer{ + margin-top: 0; + } + + header p{ + display: none; + } + + body > nav, + article, + #comments{ + padding: 2rem; + max-width: calc(100% - 4rem); + } + + textarea, + input{ + width: 100%; + box-sizing: border-box; + } + + code.raw{ + white-space: pre-wrap; + } +} + +@media(max-width: 350px){ + header nav ul li + li::before{ + display: none; + } + + body > header nav > ul{ + display: flex; + flex-direction: column; + } +} diff --git a/css/reset.css b/css/reset.css new file mode 100755 index 0000000..13ace62 --- /dev/null +++ b/css/reset.css @@ -0,0 +1,164 @@ +html{ + margin: 0; + padding: 0; + line-height: 1; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +body{ + margin: 0; + padding: 0; +} + +a{ + outline: 0; +} + +blockquote{ + margin: 0; + quotes: none; +} + +fieldset{ + border: 0; + margin: 0; + padding: 0; +} + +p{ + margin: 0; +} + +ol{ + margin: 0; + padding: 0; +} + +ul{ + margin: 0; + padding: 0; +} + +h1{ + margin: 0; +} + +h2{ + margin: 0; +} + +h3{ + margin: 0; +} + +h4{ + margin: 0; +} + +h5{ + margin: 0; +} + +h6{ + margin: 0; +} + +figure{ + margin: 0; +} + +input{ + font-family: inherit; + line-height: inherit; + font-size: 1rem; + color: inherit; +} + +textarea{ + font-family: inherit; + line-height: inherit; + font-size: 1rem; + color: inherit; +} + +input:not([type=radio]):not([type=checkbox]){ + -webkit-appearance: none; + -moz-appearance: none; + -ms-appearance: none; + appearance: none; +} + +select{ + -webkit-appearance: none; + -moz-appearance: none; + -ms-appearance: none; + appearance: none; + font-family: inherit; + line-height: inherit; + font-size: 1rem; + color: inherit; +} + +legend{ + padding: 0; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +q{ + quotes: none; +} + +button{ + font-family: inherit; + font-size: 1rem; + line-height: inherit; +} + +input:focus{ + outline: 0; +} + +button:focus{ + outline: 0; +} + +select:focus{ + outline: 0; +} + + +/* ie 11 compatibility */ +header{ + display: block; +} + +nav{ + display: block; +} + +main{ + display: block; +} + +footer{ + display: block; +} +/* end ie 11 compatibility */ + + +/* firefox compatibility */ +button::-moz-focus-inner{ /* needed to workaround bug that doesn't let us set padding in button elements: https://bugzilla.mozilla.org/show_bug.cgi?id=140562 */ + border: 0; + padding: 0; +} + +input::-moz-focus-inner{ /* needed to workaround bug that doesn't let us set padding in button elements: https://bugzilla.mozilla.org/show_bug.cgi?id=140562 */ + border: 0; + padding: 0; +} +/* end firefox compatibility */ diff --git a/fonts/league-gothic.woff b/fonts/league-gothic.woff new file mode 100755 index 0000000..fbdb721 Binary files /dev/null and b/fonts/league-gothic.woff differ diff --git a/fonts/league-gothic.woff2 b/fonts/league-gothic.woff2 new file mode 100755 index 0000000..d85f9fc Binary files /dev/null and b/fonts/league-gothic.woff2 differ diff --git a/fonts/lora-bold-italic.woff b/fonts/lora-bold-italic.woff new file mode 100755 index 0000000..4253f4a Binary files /dev/null and b/fonts/lora-bold-italic.woff differ diff --git a/fonts/lora-bold-italic.woff2 b/fonts/lora-bold-italic.woff2 new file mode 100755 index 0000000..173403f Binary files /dev/null and b/fonts/lora-bold-italic.woff2 differ diff --git a/fonts/lora-bold.woff b/fonts/lora-bold.woff new file mode 100755 index 0000000..45059a1 Binary files /dev/null and b/fonts/lora-bold.woff differ diff --git a/fonts/lora-bold.woff2 b/fonts/lora-bold.woff2 new file mode 100755 index 0000000..ee711ab Binary files /dev/null and b/fonts/lora-bold.woff2 differ diff --git a/fonts/lora-italic.woff b/fonts/lora-italic.woff new file mode 100755 index 0000000..e0cef9b Binary files /dev/null and b/fonts/lora-italic.woff differ diff --git a/fonts/lora-italic.woff2 b/fonts/lora-italic.woff2 new file mode 100755 index 0000000..7c32121 Binary files /dev/null and b/fonts/lora-italic.woff2 differ diff --git a/fonts/lora.woff b/fonts/lora.woff new file mode 100755 index 0000000..d27b0e6 Binary files /dev/null and b/fonts/lora.woff differ diff --git a/fonts/lora.woff2 b/fonts/lora.woff2 new file mode 100755 index 0000000..febb84f Binary files /dev/null and b/fonts/lora.woff2 differ diff --git a/images/flag_uk.svg b/images/flag_uk.svg new file mode 100755 index 0000000..56487b0 --- /dev/null +++ b/images/flag_uk.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/images/footer-leaf.svg b/images/footer-leaf.svg new file mode 100755 index 0000000..0b98015 --- /dev/null +++ b/images/footer-leaf.svg @@ -0,0 +1,35 @@ + + + + + + + image/svg+xml + + + + + + + + + diff --git a/images/footer-red.svg b/images/footer-red.svg new file mode 100755 index 0000000..7c3017a --- /dev/null +++ b/images/footer-red.svg @@ -0,0 +1,35 @@ + + + + + + + image/svg+xml + + + + + + + + + diff --git a/images/footer-square.svg b/images/footer-square.svg new file mode 100755 index 0000000..b8c367b --- /dev/null +++ b/images/footer-square.svg @@ -0,0 +1,63 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/images/lock.jpg b/images/lock.jpg new file mode 100755 index 0000000..8ac9b85 Binary files /dev/null and b/images/lock.jpg differ diff --git a/images/terminal.svg b/images/terminal.svg new file mode 100755 index 0000000..c859462 --- /dev/null +++ b/images/terminal.svg @@ -0,0 +1,59 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/index.html b/index.html new file mode 100755 index 0000000..851851c --- /dev/null +++ b/index.html @@ -0,0 +1,3000 @@ + + + + Créer la paire de clés GPG 'parfaite' - Alex Cabal + + + + + + + + + + +

La version anglaise originale de ce texte est disponible ici.
Je tiens à noter : je ne suis pas Alex Cabal.

+ +
+ + +

Je suis un développeur logiciel qui fait marcher Scribophile, un groupe + d'écrivains en ligne destiné à ceux qui sont sérieux par rapport à + littérature, un service de portfolio en ligne, Writerfolio, pour les pigistes et + Standard Ebooks, un projet à + code ouvert qui produit des Ebooks libérés pour les vrais + amoureux des livres.

+
+
+

Créer la paire de clés GPG 'parfaite'

+ +
+ A rusty lock. +
+ + + +

Il y a beaucoup d'informations en ligne sur comment créer une + paire de clés GPG. Malheuresement beaucoup de celles-ci sont + vielles et recommandent des paramètres qui aujourd'hui serait + peut-être non sécurisé.

+ +

Il n'y a aussi pas beaucoup d'information sur comment + protéger votre paire de clés si vous utilisiez un + ordinateur portable qui pourrait être volé ou perdu.

+ +

Protéger votre paire de clés sur un ordinateur portable est + compliqué.

+ +

D'un côté, vous avez besoin de votre clé privé avec vous pour + déchiffrer ou signer des messages.

+ +

D'un autre côté, si votre ordinateur portable est volé alors + vous risquez de perdre la totalité de votre identité numérique, + parce que le voleur aura accés à votre clé privée et pourrait + alors se faire passer pour vous.

+ +

Vous penseriez qu'aujourd'hui, où les voyages à travers le + monde et les ordinateurs portables sont choses communes, qu'il y + aurait un petit peu plus d'information sur comment sécuriser une + clé privée avec qui vous devez voyager. Mais je n'ai pu trouver + seulement qu'une ressource: la page Wiki de Debian sur + les sous-clés.

+

Les + sous-clés aident à protéger votre identité en cas de vol de la clé + privée (ou vol ordinateur portable)

+

Si un voleur met la main sur l'ordinateur portable avec votre clé + privée dessus, c'est pratiquement game over. Le voleur + peut non seulement déchiffrer les messages adressés à vous, il + peut aussi vous imiter en signant vos messages avec votre clé + privée. Votre seul recours serait de révoquer votre clé, mais ça + voudrait dire perdre des années de signatures de confiance sur + cette clé et basiquement vous créer un incomfort massif.

+

+ Une partie de la réponse à ce problème est le concept des + sousc-lés. Les sous-clés ne peuvent pas empêcher un voleur de + déchiffrer les messages à l'intention de votre clé privée. + Mais elles peuvent aider à mitiger les dommages + causés à votre identité s'il adviendrait que votre clé soit + perdue ou volée. +

+ +

Le concept derrière cette technique est comme il suit:

+
    +
  1. +

    + Créez une paire de clés GPG normale. Par défaut GPG créé + une sous-clé de signature (votre identité) et une + sous-clé de chiffrement (comment vous recevez les + messages vous étant destinés. +

    +
  2. +
  3. +

    + Utilisez GPG pour ajouter une sous-clé de signature + additionnelle à votre paire de clé. Cette + nouvelle sous-clé est lié à la première clé de signature. + Nous avons maitenant trois sous-clés. +

    +
  4. +
  5. +

    + Cette paire de clés est votre paire de clés + maître. Stockez là dans un endroit sécurisé tel que + votre maison ou un conteneur sécurisé (en banque par + exemple). La paire de clés maître est celle dont la perte + serait vraiment catastrophique. +

    +
  6. +
  7. +

    + Copiez votre paire de clés maître sur votre ordinateur + portable. Puis utilisez GPG pour enlever la clé de + signature originelle, laissant seulement la + nouvelle sous-clé de signature et de chiffrement. Ceci + transforme votre paire de clés maître en votre paire + de clés d'ordinateur portable. +

    +
  8. +
+ +

Votre paire de clé d'ordinateur portable est ce vous utiliserez + pour un usage de GPG quotidien.

+ +

Quel est le bénéfice de cette configuration? Puisque votre + paire de clés maître n'est pas stockée sur votre ordinateur + portable de voyage, celà veut dire que vous pouvez révoquez les + sous-clés de votre ordinateur portable si celui-ci se fait voler. + Vous ne révoquez pas la sous clé originelle que vous avez + créé dans la paire de clé maître—souvenez-vous, nous l'avons + enlevé de notre paire de clés d'ordinateur portable— celà veut + dire que vous n'avez pas à créer une nouvelle paire de clés et de + traverser le tracas d'avoir à la faire signer par des personnes. + Vous auriez encore à revoquer la sous-clé volée, et le voleur + pourrait encore l'utiliser pour déchiffrer n'importe quels + messages que vous avez déjà reçu, mais au moins les dommages faits + ne seront pas aussi catastrophique.

+

Créer la + paire de clés GPG 'parfaite', étape-par-étape

+

Je vais vous guider à travers les étapes pour créer une + nouvelle paire de clés utilisant cette méthode de sous-clés. Pour + faire ceci nous utiliserons GPG version 1.4.1, qui est la version + distribuée en ce moment avec Ubuntu 12.04 LTS.

+ + + +

Créer votre paire de clés + initiale

+

Utilisez la commande gpg --full-generate-key + pour créer une nouvelle paire de clés GPG.

+ +

Généralement vous devriez définir la date d'expiration de votre clé à + environ une année ou moins. Vous pouvez toujours choisir la date + d'expiration plus tard, mais si vous téléversez une clé sans une + date d'expiration à un serveur de clés, et qu'ensuite votre clé + est perdue ou compromise, alors la mauvaise clé restera là-bas + à jamais. Lui donner une date d'expiration est une mesure de + sécurité contre celà. Pour notre clé d'exemple et afin de + simplifier un peu les choses, nous allons la définir sans date + d'expiration.

+ + + gpg --gen-key +gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc. +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +Sélectionnez le type de clef désiré : + (1) RSA et RSA (par défaut) + (2) DSA et Elgamal + (3) DSA (signature seule) + (4) RSA (signature seule) +Quel est votre choix ? 1 +Les clefs RSA peuvent faire une taille comprise entre 1024 et 4096 bits. +Quelle taille de clef désirez-vous ? (2048) 4096 +La taille demandée est 4096 bits + +Veuillez indiquer le temps pendant lequel cette clef devrait être valable. + 0 = la clef n'expire pas + <n> = la clef expire dans n jours + <n>w = la clef expire dans n semaines + <n>m = la clef expire dans n mois + <n>y = la clef expire dans n ans +Pendant combien de temps la clef est-elle valable ? 0 +La clef n'expire pas. +Est-ce correct (o/N) o + +GnuPG doit construire une identité pour identifier la clef. +Nom réel : Marcel Dupont +Adresse électronique : marcel.dupont@monmail.fr +Commentaire : + +Vous avez sélectionné cette identité : + "Marcel Dupont » + Changer le (N)om, le (C)ommentaire, l'(A)dresse électronique + ou (O)ui/(Q)uitter ? o +Vous avez besoin de saisir une phrase de passe afin de protéger votre clé privée. +<tapez votre phrase de passe> + +gpg: clé 488BA441 marquée de confiance ultime +clé publique et privée créées et signées + +gpg: vérification de la base de données de confiance +gpg: besoin de 3 marginaux , 1 complet, mode de confiance PGP +gpg: profondeur: 0 valide: 1 signée: 0 confiance: 0-, 0q, 0n, 0m, 0f, 1u +pub 4096R/488BA441 2013-03-13 + Empreinte de la clé = B878 1FB6 B187 B94C 3E52 2AFA EB1D B79A 488B A441 +uid Marcel Dupont <marcel.dupont@monmail.fr> +sub 4096R/69B0EA85 2013-03-13 + +

Quand on vous demande une phrase de passe, assurez-vous de + choisir une qui soit longue et unique. Si votre clé se fait voler, + cette phrase de passe est la seule chose qui la protège ! + +

Ajouter une photo

+

Vous voudriez peut-être ajouter une photo de vous-mêmes + pour la complétude. Puisque la photo est stockée dans + votre clé publique et que celle-ci est distribué dans beaucoup + d'endroits, comprenant aussi l'email, c'est mieux de choisir + une petite image pour ne pas prendre trop de place. +

Utilisez la commande gpg + --edit-key. Quand l'interpréteur de gpg (>) + apparaît, entrez la commande addphoto et fournissez à GPG le chemin + vers la photo que vous souhaitez utiliser. Une fois que vous + avez fini, tapez save dans le + dernier prompt gpg> afin + d'enregistrer vos changements: +

+ + gpg --edit-key marcel.dupont@monmail.fr +gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc. +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +Secret key is available. + +pub 4096R/488BA441 created: 2013-03-13 expires: never usage: SC + trust: ultimate validity: ultimate +sub 4096R/69B0EA85 created: 2013-03-13 expires: never usage: E +[ultimate] (1). Marcel Dupont <marcel.dupont@monmail.fr> + +gpg> addphoto + +Pick an image to use for your photo ID. The image must be a JPEG file. +Remember that the image is stored within your public key. If you use a +very large picture, your key will become very large as well! +Keeping the image close to 240x288 is a good size to use. + +Enter JPEG filename for photo ID: /home/marceldup/maphoto.jpg +Is this photo correct (y/N/q)? o + +You need a passphrase to unlock the secret key for +user: "Marcel Dupont <marcel.dupont@monmail.fr>" +4096-bit RSA key, ID 488BA441, created 2013-03-13 +<tapez votre phrase de passe> + +pub 4096R/488BA441 created: 2013-03-13 expires: never usage: SC + trust: ultimate validity: ultimate +sub 4096R/69B0EA85 created: 2013-03-13 expires: never usage: E +[ultimate] (1). Marcel Dupont <marcel.dupont@monmail.fr> +[ unknown] (2) [jpeg image of size 5324] + +gpg> save +

Renforcer les préférences + de hachages

+

Maintenant nous allons définir notre clé afin quelle préfère + des hachages + plus robuste. Utilisez de nouveau la commande gpg --edit-key. Au prompt de gpg>, entrez la commande setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES + CAST5 ZLIB BZIP2 ZIP Uncompressed (notez que celle-ci sera + problablement tronqué dans l'exemple ci-dessous; surlignez le avec + votre souris pour le voir), puis ensuite save.

+ + + + gpg --edit-key marcel.dupont@monmail.fr +gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc. +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +Secret key is available. + +gpg: checking the trustdb +gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model +gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u +pub 4096R/488BA441 created: 2013-03-13 expires: never usage: SC + trust: ultimate validity: ultimate +sub 4096R/69B0EA85 created: 2013-03-13 expires: never usage: E +[ultimate] (1). Marcel Dupont <marcel.dupont@monmail.fr> +[ultimate] (2) [jpeg image of size 5324] + +gpg> setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed +Set preference list to: + Cypher: AES256, AES192, AES, CAST5, 3DES + Digest: SHA512, SHA384, SHA256, SHA224, SHA1 + Compression: ZLIB, BZIP2, ZIP, Uncompressed + Features: MDC, Keyserver no-modify +Really update the preferences? (o/N) o + +You need a passphrase to unlock the secret key for +user: "Marcel Dupont <marcel.dupont@monmail.fr>" +4096-bit RSA key, ID 488BA441, created 2013-03-13 +<tapez votre phrase de passe> + +pub 4096R/488BA441 created: 2013-03-13 expires: never usage: SC + trust: ultimate validity: ultimate +sub 4096R/69B0EA85 created: 2013-03-13 expires: never usage: E +[ultimate] (1). Marcel Dupont <marcel.dupont@monmail.fr> +[ultimate] (2) [jpeg image of size 5324] + +gpg> save +

Ajouter une nouvelle sous-clé + de signature

+

Maintenant allons-y pour la spéciale: ajoutons notre nouvelle + sous-clé de signature.

+ +

Utilisez encore une fois la commande gpg + --edit-key. Au prompt de gpg> + , entrez la commande addkey. Sélectionnez RSA + (signer seulement) et 4096 pour la taille de la clef. + N'oubliez pas de faire save en tout + dernier.

+ + gpg --edit-key marcel.dupont@monmail.fr +gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc. +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +Secret key is available. + +gpg: checking the trustdb +gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model +gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u +pub 4096R/488BA441 created: 2013-03-13 expires: never usage: SC + trust: ultimate validity: ultimate +sub 4096R/69B0EA85 created: 2013-03-13 expires: never usage: E +[ultimate] (1). Marcel Dupont <marcel.dupont@monmail.fr> +[ultimate] (2) [jpeg image of size 5324] + +gpg> addkey +Key is protected. + +You need a passphrase to unlock the secret key for +user: "Marcel Dupont <marcel.dupont@monmail.fr>" +4096-bit RSA key, ID 488BA441, created 2013-03-13 +<tapez votre phrase de passe> + +Please select what kind of key you want: + (3) DSA (sign only) + (4) RSA (sign only) + (5) Elgamal (encrypt only) + (6) RSA (encrypt only) +Your selection? 4 +RSA keys may be between 1024 and 4096 bits long. +What keysize do you want? (2048) 4096 +Requested keysize is 4096 bits +Please specify how long the key should be valid. + 0 = key does not expire + <n> = key expires in n days + <n>w = key expires in n weeks + <n>m = key expires in n months + <n>y = key expires in n years +Key is valid for? (0) 0 +Key does not expire at all +Is this correct? (o/N) o +Really create? (o/N) o + +pub 4096R/488BA441 created: 2013-03-13 expires: never usage: SC + trust: ultimate validity: ultimate +sub 4096R/69B0EA85 created: 2013-03-13 expires: never usage: E +sub 4096R/C24C2CDA created: 2013-03-13 expires: never usage: S +[ultimate] (1). Marcel Dupont <marcel.dupont@monmail.fr> +[ultimate] (2) [jpeg image of size 5324] + +gpg> save +

Créer un certification + de révocation

+

+ +

Maintenant nous générons un fichier certificat de révocation. + Si notre paire de clés maître se perd ou est volée, ce + fichier de certificat est la seule façon de signaler aux gens + d'ignorer la clé volée. C'est important, ne sautez pas cette + étape !

+ + gpg --output \<marcel.dupont@monmail.fr\>.gpg-revocation-certificate --gen-revoke marcel.dupont@monmail.fr + +

Stockez le fichier certificat de révocation dans un lieu + différent que votre paire de clés maître (que nous exporterons + dans une étape d'après). Vous l'utiliseriez pour révoquer votre + paire de clés maître ma dans le cas où vous la perdez. Si vous + perdez seulement accés à votre paire de clés d'ordinateur + portable, alors vous révoquerez ces sous-clés en utilisant la + paire de clés maître, et non pas ce certificat de révocation.

+ +

Exporter le produit final

+

Maintenant que votre paire de clés a été créé, allons derechef + l'exporter afin de la sauvegarder:

+ + gpg --export-secret-keys --armor marcel.dupont@monmail.fr > \<marcel.dupont@monmail.fr\>.private.gpg-key + gpg --export --armor marcel.dupont@monmail.fr > \<marcel.dupont@monmail.fr\>.public.gpg-key + +

Celà créera deux fichiers: votre clé publique et votre clé + privée. Protégez ces deux fichiers, avec le certificat de + révocation, du mieux que vous pouvez —ne pas les gardez + sur votre ordinateur portable, gardez les dans votre maison (une + clef USB, une carte SD) ou dans un conteneur de banque/coffre + personel. Ces trois fichiers sont votre paire de clés + maître.

+ +

Transformer + votre paire de clés maître en votre paire de clés d'ordinateur + portable.

+

Maintenant nous avons notre paire de clés maître dans notre + trousseau de clefs, et à côté les trois fichiers représentant la + paire de clés maître, comprenant le certificat de révocation. + Pour transformer notre paire de clés maître en notre paire de + clés d'ordinateur portable, nous avons à enlever la sous-clé + de signature original de la paire de clés maître dans notre + trousseau de clef. +

GPG ne rend pas la tâche facile, mais allons-y:

+ +
    +
  1. +

    Exportez toutes les sous-clés de notre nouvelle paire + de clés dans un fichier. Nous allons d'abord créer un + dossier de type ramfs résidant dans la + mémoire de l'ordinateur (NdT: sur Windows, ImDisk Virtual + Disk Driver peut faire l'affaire, il est gratuit et open + source), afin de prévenir le fait que nos clés soit + écrites dans le disque dur. Nous utilisons ramfs au lieu de tmpfs ou /dev/shm parce ramfs n'écrit pas dans l'espace + d'échange, plus couramment appelé swap. + + + + mkdir /tmp/gpg + sudo mount -t ramfs -o size=1M ramfs /tmp/gpg + sudo chown $(logname):$(logname) /tmp/gpg + gpg --export-secret-subkeys marcel.dupont@monmail.fr > /tmp/gpg/subkeys + +

  2. +
  3. +

    Supprimez la clé de signature originale de la paire de + clé dans notre trousseau:

    + gpg --delete-secret-key marcel.dupont@monmail.fr +
  4. +
  5. +

    Ré-importer les clés que nous avons exportés plus tôt + et nettoyons nos fichier temporaires:

    + gpg --import /tmp/gpg/subkeys + sudo umount /tmp/gpg + rmdir /tmp/gpg +
  6. +
+

C'est tout! Vous pouvez vérifier que celà a marché en exécutant:

+ gpg --list-secret-keys +/home/marceldup/.gnupg/secring.gpg +----------------------------- +sec# 4096R/488BA441 2013-03-13 +uid Marcel Dupont <marcel.dupont@monmail.fr> +ssb 4096R/69B0EA85 2013-03-13 +ssb 4096R/C24C2CDA 2013-03-13 +

Remarquez-vous que la troisième ligne commence par "sec#" et + non "sec"? Le signe dièse signifie que la sous-clé de signature + n'est pas dans la paire de clef situé dans le trousseau.

+

Vous avez tout fini!

+

Que venons-nous + juste d'accomplir ?

+

Si vous avez suivi toutes les étapes dans ce guide, vous + avez:

+
    +
  1. Créé une nouvelle paire de clés utilisant les paramètres + les plus robustes.
  2. +
  3. Ajouté une nouvelle sous-clé de signature à cette paire de + clés.
  4. +
  5. Exporté la paire de clés complète dans deux fichiers avec + en plus un certificat de révocation, tout trois stocké dans + un lieu sécurisé, et non pas sur votre ordinateur + portable. Ceci est votre paire de clés maître.
  6. +
  7. Enlevé la clé de signature originale de la paire de clés + maître dans le trousseau de clefs de l'ordinateur portable, + transformant donc votre paire de clés maître en votre paire + de clés d'ordinateur portable. Votre vie sera un peu plus + facile s'il advient que votre ordi portable se perd ou se + fasse voler. +
  8. +
+ + +

Utiliser votre nouvelle paire de + clés d'ordinateur portable

+

Vous pouvez maintenant utiliser votre paire de clés pour + chiffrer, déchiffrer, et signer des fichiers et des messages.

+

Pour signer la clé de quelqu'un d'autre ou pour créer ou + révoquer sur cette paire de clés, vous aurez besoin d'utiliser la + paire de clés maître que vous gardez en sécurité—celle qui n'est + pas sur votre ordinateur portable. +

+

Vous devriez distribuer votre clé publique à un serveur de + clefs. Il y a pléthore de tutoriaux en lignes sur le comment de la + chose.

+ +

En cas d'urgence

+

Au cas où le pire arrive et votre ordinateur portable avec + votre paire de clés spéciale est perdu ou volé (ou que votre paire + de clés spéciale est compromise de quelconque façon), nous avons + besoin de révoquer les sous-clés de cette paire de clés

+
    +
  1. +

    Dévérouillez votre coffre/ prenez la clef usb mise en + sécurité et obtenez votre paire de clés maîtrei

  2. + +
  3. +

    Démarrez un clef USB live (NdT: en direct, environnement + temporaire sur média amovible) d'Ubuntu ou d'une distribution de + votre choix. Ensuite, importez votre paire de clés maître dans + le trousseau de clef du live USB:

    + + gpg --import /path/to/\<marcel.dupont@monmail.fr\>.public.gpg-key /path/to/\<marcel.dupont@monmail.fr\>.private.gpg-key +
  4. +
  5. +

    Utilisez maintenant la commande gpg + --edit-key afin de révoquer de façon interactive + nos sous-clés:

    + + gpg --edit-key marcel.dupont@monmail.fr +gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc. +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +Secret key is available. + +pub 4096R/488BA441 created: 2013-03-13 expires: never usage: SC + trust: ultimate validity: ultimate +sub 4096R/69B0EA85 created: 2013-03-13 expires: never usage: E +sub 4096R/C24C2CDA created: 2013-03-13 expires: never usage: S +[ultimate] (1). Marcel Dupont <marcel.dupont@monmail.fr> +[ultimate] (2) [jpeg image of size 5324] + +gpg> key 1 + +pub 4096R/488BA441 created: 2013-03-13 expires: never usage: SC + trust: ultimate validity: ultimate +sub* 4096R/69B0EA85 created: 2013-03-13 expires: never usage: E +sub 4096R/C24C2CDA created: 2013-03-13 expires: never usage: S +[ultimate] (1). Marcel Dupont <marcel.dupont@monmail.fr> +[ultimate] (2) [jpeg image of size 5324] + +gpg> key 2 + +pub 4096R/488BA441 created: 2013-03-13 expires: never usage: SC + trust: ultimate validity: ultimate +sub* 4096R/69B0EA85 created: 2013-03-13 expires: never usage: E +sub* 4096R/C24C2CDA created: 2013-03-13 expires: never usage: S +[ultimate] (1). Marcel Dupont <marcel.dupont@monmail.fr> +[ultimate] (2) [jpeg image of size 5324] + +gpg> revkey + +Do you really want to revoke the selected subkeys? (o/N) o +Please select the reason for the revocation: + 0 = No reason specified + 1 = Key has been compromised + 2 = Key is superseded + 3 = Key is no longer used + Q = Cancel +Your decision? 1 +Enter an optional description; end it with an empty line: +> +Reason for revocation: Key has been compromised +(No description given) +Is this okay? (o/N) o + +You need a passphrase to unlock the secret key for +user: "Marcel Dupont <marcel.dupont@monmail.fr>" +4096-bit RSA key, ID 488BA441, created 2013-03-13 +<tapez votre phrase de passe> + +You need a passphrase to unlock the secret key for +user: "Marcel Dupont <marcel.dupont@monmail.fr>" +4096-bit RSA key, ID 488BA441, created 2013-03-13 +<tapez votre phrase de passe> + +pub 4096R/488BA441 created: 2013-03-13 expires: never usage: SC + trust: ultimate validity: ultimate +This key was revoked on 2013-03-13 by RSA key 488BA441 Marcel Dupont <marcel.dupont@monmail.fr> +sub 4096R/69B0EA85 created: 2013-03-13 expires: never usage: E +This key was revoked on 2013-03-13 by RSA key 488BA441 Marcel Dupont <marcel.dupont@monmail.fr> +sub 4096R/C24C2CDA created: 2013-03-13 expires: never usage: S +[ultimate] (1). Marcel Dupont <marcel.dupont@monmail.fr> +[ultimate] (2) [jpeg image of size 5324] + +gpg> save +
  6. +
  7. +

    Maintenant que votre sous-clé a été révoqué, ilfaut + le dire à tout le monde en la distribuant à un serveur de + clefs.

    +
  8. +
+

De quoi lire un peu plus

+ +
+ + + -- cgit v1.2.3-54-g00ecf