雅人2015年8月14日こちらも参考情報としての翻訳です。新機能に関する補足となります。氏によって書かれました。画像は、同ブログからの引用です。コミュニティから寄せられた一般的なリクエストは、強力な暗号方式とインフラ上でソフトウェアを実行するコードのバージョンに関する保証でした。これは安全性やプロダクションにおける開発に対して絶対的に不可欠なものです。新機能を紹介できることを嬉しく思います。イメージの内容物を指す言葉)に対する信頼を提供するオープンソースのツールです。イメージの提供者を検証することができます。ローカルで提供者の秘密鍵を使い、イメージに署名します。提供者の公開鍵を使い、実行しようとしているイメージが本当に提供者が作成したものか確認します。改竄されている場合は、イメージを無効化します。高いレベルのセキュリティをもたらすことです。ワークフローと密接につながっているので、追加のコマンドを覚える必要はありません。run」コマンドを使うだけでも、常に署名されたイメージしか操作しないようにできます。利用者がオプト・イン機能として使えるものです(訳者注;使うかどうかは私達の設定次第)。有効にすると、全てのオペレータ(作業者)は強制的にリモート・レジストリを使うことになり、署名済みかつ検証済みのイメージしか利用できなくなります。この新機能は私達がコミュニティと共に開発してきたものであり、オプト・インを使い、私達にフィードバックをもたらしてくれることを心待ちにしています。どのように動作するかの概要です。イメージがレポジトリに送信(プッシュ)されると、そのイメージは提供者の秘密鍵を使って署名されます。利用者がイメージを始めて操作するとき、その提供者に対する信頼を確立するようにすると、以降、その同じ提供者からの全ての相互作業において、有効な署名による検証を必要とします。初回接続時に使う信頼方式と似ているものであり、開発者にとっては慣れ親しんでいるものです。対応することで、セキュリティに対する利便性をもたらします。key)という2つの異なった鍵を持ちます。これらは提供者がイメージを送信(プッシュ)するときに生成され、クライアント側に保管されます。各々のレポジトリは、それぞれがユニークなタギング鍵を持っています。pull」コマンドを初めて実行すると、オフライン鍵を使ってレポジトリとの信頼を確立します。Key)は提供者による新しいレポジトリ毎に生成されます。これにより、対象のレポジトリに対する送信や共有をするには、あらゆる人やシステムが認証を必要とするようになります。Key)は最も重要な鍵です。これは、自分のレポジトリに対する信頼の根本(root)となるものです。異なったレポジトリに対しても、同じオフライン鍵を使います。オフライン鍵は常にオフラインを保つべきであり(訳者注;ネットワークには接続しないという意味)、つまりこれが、あらゆる攻撃に対抗する有利な点です。Framework)を使い、内容の品質保全と新しさを保障します。key)が生成され、リモート・サーバ上に保管されます。タイムスタンプ鍵を管理してくれるので、内容をクライアント側で定期的に再読込しなければいけなかった面倒さを減らしてくれます。鍵は重要な要素であり、自分のレポジトリ内容の署名や、信頼の検証に使います。これらの鍵のバックアップを安全な場所に作成するのは、非常に重要です。大切なのは、タギング鍵やタイムスタンプ鍵をなくしても復旧可能ですが。一方でオフライン鍵の復旧はできません。詳細についてはバックアップ方法のドキュメント(英語)をお読みください。attack)に対して抵抗できる能力を提供できることを保障します。これは悪意のある人物がレジストリで危険なイベントを起こそうとしても、イメージ内容に対する改竄やユーザに対する攻撃ができなくなることを意味します。fail)するメッセージが表示されます。リプレイ攻撃に対する防衛リプレイ攻撃(訳者注;データ転送を繰り返すことで、処理遅延を引き起こす攻撃)は、有効なデータ転送が繰り返されることにより、他のシステムに対する迷惑となるため、安全な分散システムの設計における一般的な課題です。同様の問題はソフトウェアの更新システムにも存在しており、古いバージョンのソフトウェアに対する署名が、最も新しい課題として表面化しています。これは悪意のある人物が利用者のホスト上で、既知のセキュリティ脆弱性による攻撃を行えることです。イメージの公開時にタイムスタンプ鍵を使い、利用者が最も新しいイメージ内容しか扱えないように保障するので、これでリプレイ攻撃に対抗できるようにします。以下の図はタギング鍵が危険になったシナリオを図式化したものです。タギング鍵はオンラインで使う性質のため、実際のところ、新しいイメージ内容をレポジトリに送信(プッシュ)する度に毎回鍵を使うため、オフライン鍵にくらべて本質的に晒されやすいものです。単一の鍵を使い、データの品質を保証しようとするシステムがあったとしても、鍵が漏洩した場合に修復する手立てはありません。活用し、鍵の階層にまたがる責任を分離します。これは、あらゆる鍵を喪失(オフラインのものを除外)しても、それによりシステムの致命的なセキュリティにならないことを意味します。提供者に対し、鍵を透過的に入れ替えるので、利用者は漏洩した鍵をシステムから効率的に削除します。鍵の入れ替え機能によって、利用者に混乱させることがなく、提供者は鍵の入れ替えを積極的に行うことができ、未知の鍵の漏洩から守ることができるようになります。統合できるようになります。安全なイメージの公開と、イメージ内容を検証するためのツールであり、安全ではないネットワーク上でもイメージが配布できるようになります。内容に関する仲裁を行い、必要な誰もが電子署名を実装・検証し、そしてダウンロードできるようになります。主な目的は、ソフトウェア配布に関する現状を一歩先に進めるためであり、現在のパッケージに関するセキュリティ保障を簡単なコマンドライン・ツールで実現することです。使うことで、ソフトウェアの配布と更新に関する問題に対して、安全な設計をもたらします。開発者に対して、安全なソフトウェア更新システムの問題解決の手助けとなるよう、柔軟なセキュリティ・フレームワークを提供します。アプリケーションはソフトウェア更新プロセスにおける、全ての既知の攻撃に対して安全になります。鍵の漏洩が起こっても(システムが)生き残れる優位性があり、信頼できないミラー上でも安全に更新できるようになり、リプライ攻撃やダウングレード攻撃などからも守ることができます。プラットフォームにおける中心的な役割であり、開発者が安全に配布アプリケーションを構築できるよう手助けするための重要なマイルストーンです。イメージに対して署名と検査を行えるようになります。上の全ての公式レポジトリ上のイメージに対して署名を行いました。これにより、皆さんがアプリケーションを構築するにあたり、信頼できるイメージの基本セットを利用できるようになります。