このプロトコルでは、ユーザーは認証される必要があります。 これは、パスワード、秘密 RSA キーを含むファイル、Ledger Nano S や Ledger Nano X などのハードウェア デバイスなどを使用して実行できます。
一部の認証手段は他の認証手段よりも安全です。秘密キーを決して抽出できないように保存するように設計されたハードウェア デバイスを使用することは、秘密キーをファイルに保存するよりも安全です。 残念ながら、最も安全なものは、使用するのがより困難です。 デバイス上にキーを持っているユーザーは、デバイスを持ち歩く必要があり、SSH セッションを開始するたびに PIN コードを入力する必要があります。このため、次のようなユースケースに対して、パスワードやファイルよりも安全な方法を提唱することが非常に困難になります。アクセスのセキュリティは優先事項ではありません。
そこで質問は、ユーザー エクスペリエンスを変えることなく、ファイル (マルウェアによって盗まれる可能性があります) よりも安全に認証マテリアルを保存することは可能でしょうか?
答えは「はい、TPM を使用します!」です。
いくつかの歴史
かなり長い間、コンピュータにセキュリティ チップを直接組み込むことができました。 Trusted Platform Module (TPM) と呼ばれるこのチップは、公開キー暗号化で使用される秘密キーを保護する機能など、多くの機能を提供します。
コンピュータに組み込まれているため、使用するためにデバイスをコンピュータに接続する必要はありません。 したがって、これは、コンピュータとは別の場所に保存できるハードウェア デバイスよりも安全性が低いと考えられます (これにより、デバイスがコンピュータに接続されていない間は、マルウェアがデバイスに保存されているシークレットを使用できないという原則が適用されます)。
したがって、TPM は「最良のセキュリティ」ではありませんが、それでも次のようなファイルを使用するよりもはるかに安全です。 $HOME/.ssh/id_rsa
秘密鍵を保存します。
Linux 上の OpenSSH で TPM を使用するにはどうすればよいですか? という名前のプロジェクトで tpm2-pkcs11
、長年にわたって多くの Web サイトで利用可能な手順に従っています。 コードリポジトリからの公式ドキュメント.
さて、何のニュースですか? このソフトウェアはついに Ubuntu と Debian にパッケージ化され、ほとんどの Linux ユーザーがついに利用できるようになりました。
より正確には、タイムラインは次のとおりです。
- 2014 年に、TPM 2.0 の主な仕様が公開されました。 ソフトウェアから TPM と対話するために、標準化の取り組みが行われ、互換性のない XNUMX つのソフトウェア スタックが作成されました。XNUMX つは Trusted Computing Group (TCG) のもので、 TPM ソフトウェア スタック (TSS)、および IBM のものは、とも呼ばれます TPM ソフトウェア スタック.
- 2018年のプロジェクトでは、
tpm2-pkcs11
TCG の TSS を使用して、TPM 11 に PKCS#2.0 インターフェイスを提供するために作成されました。 PKCS#11 という名前のアプリケーション プログラミング インターフェイス (API) を定義する標準です。 クリプトキ 暗号キーを保存するトークンを使用します。 OpenSSH では、PKCS#11 インターフェイスを使用したユーザー認証の実行がサポートされていたため、TPM を使用して SSH 認証に使用されるキーを保存できるようになりました。 - 2月2019で、
tpm2-pkcs11
に追加されました Fedora 29. - 2019 年 8 月に、このパッケージで CentOS XNUMX がリリースされました。
- 4月、2020では、
tpm2-pkcs11
に追加されました Debian sid。 残念ながらプログラムは入っていませんでしたtpm2_ptool
これはキーを簡単に作成するために必要です。 この問題は以下で報告されました Debianバグ#968310. - 2021 年 XNUMX 月、Debian のパッケージは 固定の (そしてメンテナーは私の協力を認めてくれました!)。
- 2021 年 21.04 月、Ubuntu XNUMX 多毛カバ とともにリリースされました 固定パッケージ.
- 2021 年 11 月、Debian XNUMX ブルズアイ とともにリリースされました 固定パッケージ
Now tpm2-pkcs11
Debian、Ubuntu、および以下にリストされている他のいくつかの Linux ディストリビューションで利用できます。 レポロジー.
tpm2-pkcs11 の使用
Debian 11 で、TPM によって安全に保存された新しい SSH キーを生成して使用する手順は次のとおりです。
- インストールコマンド
tpm2_ptool
とライブラリlibtpm2_pkcs11.so.1
、これらは XNUMX つのパッケージで提供されます。
2. システムが TPM 2.0 を使用できることを確認します。 次のチェックのいずれかが失敗した場合は、システムに TPM がないか、TPM 1.2 が搭載されているか、BIOS 設定で無効になっている TPM 2.0 が搭載されている可能性があります。
3. TPM デバイスにアクセスできるグループに現在のユーザーを追加します。 /dev/tpmrm0
。 Debian および Ubuntu では、ユーザーは次の名前のグループに所属する必要があります。 tss
(提供された設定のおかげで、 tpm-udev
パッケージ)。 次のコマンドは、現在のユーザーをこのグループに追加します。
パスワードとパスワードで保護されたユーザー ストアを初期化します。 ソピン そして、キーを作成します。たとえば、「NIST P-256」(「secp256r1」としても知られる)という名前の曲線上の楕円曲線キーを作成します。
4. 頭字語 ソピン 手段 警備員の個人識別番号 これは PKCS#11 の仕様の概念です。 単純な使用例では、パスワードを紛失した場合などにパスワードを変更できるようにする「回復パスワード」として見なされる場合があります。
5. この新しいキーの公開キーを表示します。
6. 新しい公開キーをサーバーに構成します。たとえば、次のように書き込みます。 $HOME/.ssh/authorized_keys
または、GitHub のアカウント設定または SSH 公開キーが使用されるその他の場所にあります。
7. 使用する SSH クライアントを設定する tpm2-pkcs11
サーバーに接続するには、たとえば次のように記述します。 $HOME/.ssh/config
(クライアント側):
サーバーに接続します (注意:前の手順はスキップできます:
今後の仕事
前のセクションでは、TPM で新しいキーを作成する方法を説明しました。 これにより、TPM を使用して SSH 認証を保護できるようになりますが、これをファイルを使用して秘密キーを保存する真の代替手段にするために必要な機能が XNUMX つあります。
- 機能 #1: 新しい SSH キーを作成するのではなく、既存の SSH キーを TPM にインポートします (これにより、TPM ストレージへのスムーズな移行、コンピューターが壊れたり紛失した場合などにキーをバックアップしたりすることが可能になります)。
- 機能 #2: 保護されていない秘密キー ファイルなど、パスワードなしで SSH キーを使用します (保護されたキーは TPM から抽出できないため、この機能はキー ファイルよりも安全です)。
両方の機能を実装しました tpm2-pkcs11
プルリクエストで送信しました #681 & #695。 機能 #1 は、XNUMX 月の毎週のオンライン通話でも発表されました。 tpm.dev コミュニティ 録音は次の場所で利用できます https://developers.tpm.dev/posts/14389750.
したがって、両方の機能は、の将来のリリースで利用可能になる可能性があります。 tpm2-pkcs11
.
ちなみに、内部を理解したい好奇心旺盛な読者のために tpm2-pkcs11
、という名前のSSTIC 2021カンファレンスでそれらに関する記事を公開しました。 TPM 2.0 による SSH 認証の保護 (記事は英語、プレゼンテーションはフランス語)。 さらに、実際の TPM に触れずに試してみたい読者は、この記事の「TPM 2.0 のエミュレーション」セクションに興味があるかもしれません。
(図: Rainer Knäpper、フリーアートライセンス)
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- プラトアイストリーム。 Web3 データ インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- 未来を鋳造する w エイドリエン・アシュリー。 こちらからアクセスしてください。
- PREIPO® を使用して PRE-IPO 企業の株式を売買します。 こちらからアクセスしてください。
- 情報源: https://www.ledger.com/blog/ssh-with-tpm
- :持っている
- :は
- :not
- :どこ
- $UP
- 1
- 11
- 13
- 14
- 視聴者の38%が
- 2014
- 2018
- 2019
- 2020
- 2021
- 30
- 8
- 80
- a
- 能力
- できる
- 私たちについて
- アクセス
- 認め
- 加えます
- 追加されました
- 追加
- 支持者
- また
- 代替案
- an
- &
- 回答
- どれか
- API
- 申し込み
- 4月
- です
- 宝品
- 記事
- AS
- At
- 8月
- 認証された
- 認証
- 利用できます
- バッキング
- BE
- になる
- き
- 両言語で
- 壊れた
- バグ
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- コール
- 缶
- キャリー
- 場合
- 例
- CGI
- 変化
- チェック
- 小切手
- チップ
- クライアント
- コード
- コンピュータ
- コンピューター
- コンピューティング
- コンセプト
- 講演
- お問合せ
- 交流
- 見なさ
- 可能性
- 作ります
- 作成した
- 作成
- 暗号
- 暗号
- 興味深い
- 電流プローブ
- 曲線
- 定義する
- 設計
- デベロッパー
- デバイス
- Devices
- DID
- 異なります
- 難しい
- 直接に
- 無効
- ディスプレイ
- ディストリビューション
- do
- ドキュメント
- ありません
- 間に
- 簡単に
- 努力
- 楕円
- 埋め込みます
- 埋め込まれた
- 使用可能
- 可能
- 施行
- 英語
- 等
- EVER
- あらゆる
- 例
- 既存の
- 体験
- エキス
- 失敗
- 特徴
- 特徴
- 2月
- File
- 最後に
- 固定の
- フォロー中
- 無料版
- フランス語
- から
- 未来
- 生成する
- GitHubの
- グループ
- Hardware
- ハードウェアデバイス
- ハードウェアデバイス
- 持ってる
- こちら
- 認定条件
- How To
- HTML
- HTTP
- HTTPS
- i
- IBM
- 識別
- if
- 実装
- インポート
- in
- 含めて
- 互換性がない
- 開始する
- を取得する必要がある者
- 説明書
- 対話
- 興味がある
- インタフェース
- に
- 問題
- IT
- ITS
- 1月
- 2021年 XNUMX月
- JPG
- キー
- キー
- 既知の
- 元帳
- 元帳
- 元帳ナノS
- 元帳ナノX
- less
- ような
- 可能性が高い
- linuxの
- リストされた
- 場所
- 失われた
- メイン
- make
- 作る
- 作成
- マルウェア
- 多くの
- 材料
- 最大幅
- 五月..
- 意味する
- 手段
- モジュール
- 他には?
- さらに
- 最も
- ずっと
- my
- 名前付き
- ドワーフ
- 必要
- 必要
- 必要とされる
- 新作
- ニュース
- いいえ
- 今
- of
- 役員
- on
- ONE
- もの
- オンライン
- or
- 注文
- その他
- その他
- パッケージ
- パッケージ化された
- パッケージ
- 痛みを伴う
- パスワード
- パスワード
- 実行する
- 個人的な
- 場所
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- プラグ
- 可能
- 正確に
- プレゼンテーション
- PLM platform.
- 前
- 原則
- 優先順位
- プライベート
- 秘密鍵
- 秘密鍵
- プログラミング
- プロジェクト
- 守る
- 保護された
- 保護
- 提供します
- 提供
- は、大阪で
- 公共
- 公開鍵
- 公開鍵
- 公表
- 質問
- 読者
- リアル
- 録音
- リリース
- リリース
- 報告
- の提出が必要です
- RSA
- s
- セクション
- 安全に
- しっかりと
- セキュリティ
- 見て
- 9月
- セッション
- 設定
- いくつかの
- 側
- 簡単な拡張で
- So
- ソフトウェア
- 一部
- 仕様
- 仕様
- スタック
- 標準
- 手順
- ステップ
- まだ
- 盗まれました
- ストレージ利用料
- 店舗
- 保存され
- 提出された
- そのような
- サポート
- より
- 感謝
- それ
- ウィークリー
- アプリ環境に合わせて
- それら
- そこ。
- したがって、
- 彼ら
- 物事
- この
- 時間
- タイムライン
- 〜へ
- トークン
- 触れる
- 遷移
- 信頼されている
- 試します
- 2
- type
- Ubuntu
- わかる
- 残念ながら
- つかいます
- 中古
- ユーザー
- 操作方法
- users
- 欲しいです
- ました
- 仕方..
- 方法
- ウェブサイト
- weekly
- した
- いつ
- which
- while
- 誰
- 無し
- 書き込み
- X
- 年
- はい
- ゼファーネット