| 開発者 | 翻訳 |
|---|---|
| 安定版リリース | 5.247.0 [1]
/ 2023年12月20日 |
| リポジトリ | github.com/KDE/kwallet |
| 書かれた | 主にC++ ( Qt )、一部C |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | |
| ライセンス | 各種LGPL [a] |
| Webサイト | アプリ.kde.org/kwalletmanager5/ |
KDE Wallet Manager (KWallet) は、UNIX スタイルのオペレーティング システム用に C++ で書かれた無料のオープン ソース パスワード管理ソフトウェアです。KDE Wallet Manager は Linux ベースの OS で実行され、その主な機能は暗号化されたパスワードを KDE Wallet に保存することです。[2] KDE Wallet Manager (KWallet) の主な機能は、パスワードや ID などのユーザーの資格情報を収集し、Blowfish対称ブロック暗号アルゴリズムまたはGNU Privacy Guard暗号化を使用して暗号化することです。
インストール
KDE Wallet Manager (KWallet)には、LinuxベースのOSとKubuntuなどのKDEソフトウェアコンパイル デスクトップ環境が必要です。 [3]
ブラウザ拡張機能
KDE ウォレット マネージャー (KWallet) は、Chrome、Opera、Edge などのさまざまな Web ブラウザーと統合できます。
--password-store=kwallet5Google Chromeやその他のChromiumベースのブラウザでKDE Walletマネージャ(KWallet)統合を使用するには、ユーザーは引数またはを使用してブラウザを実行する必要があります--password-store=detect。[4]
これまで、Firefox にはスタンドアロンのアドオンが用意されていました。このアドオンを使用すると、ユーザーはデフォルトの Firefox パスワード マネージャーの代わりに KDE Wallet マネージャー (KWallet) を介してパスワードを内部的に保存できます。
Firefox v57 のリリースと XUL ベースの拡張機能から WebExtensions への移行以降、新しい Firefox をサポートする新しいアドオンを作成する試みは行われていません。
K デスクトップ環境 (KDE) の公式 Web ブラウザである Konqueror と Falkon には、機密パスワードを暗号化して保存するための KDE Wallet マネージャ (KWallet) が搭載されています。
翻訳
KDE Wallet Manager の API は、アプリケーションがデスクトップ通信プロトコル (DCOP) を介して要求を行うと認証イベントをトリガーします。これは KDE の主要なプロセス間通信 (IPC) メカニズムであり、アプリケーションのパスワード ダイアログ ボックスを表示します。これにより、KDE デーモン プロセスによってパスワード ダイアログ ボックスが起動されます。ユーザーは、ダイアログ ボックスをキャンセルしてアプリケーションを終了するか、パスワード ボックスに入力するかを選択できます。パスワード ボックスに入力すると、Wallet が自動的に開きます。KDE Wallet Manager のデスクトップ通信プロトコル (DCOP) は、UNIX ローカル ソケットで処理されるプロセス間通信 (IPC) プロトコルであるため、ローカルでのみアクセスできます。[5]
グラフィカルユーザーインターフェイス
KDE Wallet Manager の GUI では、ユーザーは割り当てられたすべてのウォレットとパスワードを管理できます。
KDE Wallet Managerを使用すると、ユーザーはウォレットを保存または削除することができ、保存されたパスワードにアクセスしようとするときにどのウォレットアプリケーションを参照するかを識別できます。[5]
以下は、KDE Wallet マネージャー (KWallet) の GUI でユーザーが実行できるアクションのリストです。
- 新しいウォレットを作成する
- デフォルトのウォレットを変更する
- ウォレットをロックする
- パスワードをウォレットに保存する
- ウォレットのパスワードを解除する
- ウォレットの情報を更新する
- ウォレットに保存されたパスワードを表示する[5]
ウォレット
ウォレットとは、KDE ウォレット マネージャー ソフトウェアで使用されるパスワード ストレージの用語です。ウォレットは、ユーザーが手動で作成することも、ユーザーが任意の KDE デスクトップ環境または Web サイトでパスワードを入力するときにダイアログで提供されることもできます。ウォレットが作成されると、さまざまなパスワードを保存でき、1 つのマスター パスワードで制御されます。この方法により、ユーザーはさまざまなパスワードを覚える必要がなくなり、ウォレットのマスター パスワードを 1 つ覚えるだけでパスワードを管理できます。デフォルトのウォレットの名前は「kdewallet」で、必要に応じてユーザーが独自のウォレットをさらに作成できます。
ウォレットの管理
ユーザーは、自分の KDE Wallet Manager ウィンドウでウォレットを管理できます。ウォレットのパッケージ化や結合は、ドラッグ アンド ドロップで行うことができます。ユーザーがフラッシュ ドライブなどの他の場所に情報をエクスポートする場合、このウィンドウでは、データを暗号化してエクスポートするかどうかを選択できます。マスター パスワードを入力すると、ユーザーは同様に暗号化されたデータをインポートできます。
ウォレットの設定も可能で、ユーザーは特定のウォレットをデフォルトのウォレットに設定できます。ウォレットを閉じる設定により、ユーザーは次の後にウォレットを閉じることができます。
- 使用していない場合は閉じる
- スクリーンセーバーが起動したら閉じる
- アプリケーションの使用が停止したら閉じる
パスワードの暗号化
KDE Wallet マネージャによって保存されるデータは、主に 2 つの方法で暗号化できます。ユーザーの Linux ベースの OS に GnuPG Made Easy ライブラリがインストールされている場合は、GNU Privacy Guard (GnuPG または GPG) アルゴリズムが使用されます。インストールされていない場合は、Blowfish 対称ブロック暗号アルゴリズムが使用されます。[6]
Blowfish 対称ブロック暗号アルゴリズム
KDE ウォレット マネージャーは、CBC モードの Blowfish 対称ブロック暗号アルゴリズムを使用して、ウォレットに保存されているデータを暗号化します。ユーザーの情報を保護するために、blowfish 暗号化データは SHA-1 ハッシュ アルゴリズムで認証されます。
KDE Wallet マネージャーの Blowfish 暗号化は、Khufu、RC5、DES、IDEA、Trip-DES に比べて高速な暗号化を提供します。Blowfish は、32 ビット マイクロプロセッサで 1 バイトあたり 18 クロック サイクルの速度で暗号化します。
KDE WalletマネージャのBlowfishアルゴリズムは5k以内のメモリで実行でき、シンプルな構造で実装しやすく、アルゴリズムの強度を簡単に判断できます。このアルゴリズムはキーの長さが可変で、448バイトまで可能であり、基本的なワード加算とビットXOR演算が可能です。[7]
GNU プライバシーガード暗号化
ユーザーは、GNU Privacy Guard (GnuPG または GPG) ベースのウォレットを作成して、非常に機密性の高いパスワードを保存できます。これには、GnuPG Made Easy ライブラリをインストールする必要があります。ライブラリがインストールされ、ソフトウェアが GNU Privacy Guard (GnuPG または GPG) を見つけると、ユーザーは新しいウォレットに使用するキーを選択するように求められます。[6] GNU Privacy Guard 暗号化ライブラリには DSA/Blowfish 対称ブロック暗号アルゴリズムが含まれているため、ユーザーは Blowfish 対称ブロック暗号アルゴリズムを使用してパスワードを暗号化できます。[8]
KDEウォレットマネージャーのセキュリティ
KDE ウォレット マネージャー (KWallet) を使用すると、パスワードの管理が容易になりますが、ユーザーのシステムのセキュリティ条件は強化されません。攻撃者は、ユーザーの他のパスワードを取得する代わりに、ユーザーの PC を介してユーザーのウォレットのマスター パスワードを取得する可能性があります。
KDEウォレットマネージャー(KWallet)の暗号化ファイルのディレクトリは予測可能なファイルに配置されているため、パスワード管理システム自体を狙うようにプログラムされたウイルスやワームに対して脆弱である可能性があります。[5]
既知の脆弱性
- KDE Wallet マネージャー (KWallet) で使用される SHA-1 ハッシュ関数は暗号的に破られています。Google と CWI Amsterdam は、2 つの同一の SHA-1 ダイジェストが 2 つの異なる PDF コンテンツを表示することを証明しました。Microsoft を含むさまざまな企業が SHA-1 のサポートを中止していますが、KDE Wallet マネージャー (KWallet) は、バージョン 4.13 以降またはプラグ可能な認証モジュールでは SHA512 を使用するか、SHA-1 ハッシュ関数を使用します。
- 「KDE KWallet 5.12.6 より前のバージョンの kwallet-pam では、ローカル ユーザーがシンボリック リンク攻撃によって任意のファイルの所有権を取得できる可能性があります。」[引用が必要]
- 「20.04.0 までの KDE kio-extras の fish/fish.cpp の fishProtocol::establishConnection は、ユーザーが keepPassword オプションを設定していなくても cacheAuthentication 呼び出しを行います。これにより、意図しないパスワードが KWallet に保存される可能性があります。」[引用が必要]
- 「KDE アプリケーション 14.12.0 より前の KWallet の kwalletd は、パスワード ストアを暗号化するときに CBC モードではなく ECB モードの Blowfish を使用するため、攻撃者がコードブック攻撃によってパスワードを推測しやすくなります。」[引用が必要]
- 「SHA-1 は衝突耐性がないため、TLS 1.2 での SHA-1 の使用に対する攻撃で実証されているように、コンテキスト依存の攻撃者がなりすまし攻撃を実行することが容易になります。注: この CVE は、この SHA-1 の問題を参照するための共通識別子を提供するために存在します。識別子の存在自体は、技術的な推奨事項ではありません。」[9]
- 「Simple Password Store 1.7.x 1.7.2 より前のバージョンでは、password-store.sh の pass に問題が見つかりました。署名検証ルーチンは、不完全な正規表現を使用して GnuPG の出力を解析するため、リモートの攻撃者が構成ファイルや拡張スクリプトのファイル署名を偽装できます。構成ファイルを変更することで、攻撃者は制御下にある追加の暗号化キーを挿入でき、パスワードを攻撃者に公開できます。拡張スクリプトを変更すると、攻撃者は任意のコードを実行できます。」[10]
- 「GnuPG 2.2.21 および 2.2.22 (および Gpg4win 3.1.12) には配列オーバーフローがあり、被害者が攻撃者の OpenPGP キーをインポートし、このキーに AEAD 設定がある場合、クラッシュまたはおそらくその他の不明な影響が発生します。オーバーフローは g10/key-check.c エラーによって発生します。注: GnuPG 2.3.x は影響を受けません。GnuPG 2.2.23 は修正バージョンです。」[11]
- 「SHA-1アルゴリズムで見つかった衝突を利用して証明書署名を偽造できる欠陥が見つかりました。攻撃者はこの弱点を利用して偽造証明書署名を作成する可能性があります。この問題はGnuPGバージョン2.2.18より前のバージョンに影響します。」[12]
- 「GnuPG 1.x 1.4.16 より前では、サイドチャネルを導入する特定のパターンのシーケンスを使用して RSA キーを生成し、物理的に近い攻撃者が選択暗号文攻撃と復号中の音響暗号解析によって RSA キーを抽出できるようにします。注: アプリケーションは、音響サイドチャネル攻撃から自身を保護することは通常期待されていません。これは、物理デバイスの責任である可能性が高いためです。したがって、このタイプの問題には通常 CVE 識別子が付与されません。ただし、この問題については、開発者が GnuPG がサイドチャネル耐性を提供するセキュリティ ポリシーを指定しており、開発者が指定したセキュリティ ポリシー違反は CVE の範囲内です。」[13]
- 「GnuPGで使用されているLibksba 1.3.2以前のksba_oid_to_str関数の整数アンダーフローにより、リモートの攻撃者が(1)S/MIMEメッセージまたは(2)ECCベースのOpenPGPデータ内の細工されたOIDを介してサービス拒否(クラッシュ)を引き起こし、バッファオーバーフローを引き起こす可能性があります。」[14]
- 「GnuPG 2.xから2.0.16までのGPGSMのkbx/keybox-blob.cに存在するuse-after-freeの脆弱性により、リモートの攻撃者が、証明書のインポート時や署名の検証時にrealloc操作で適切に処理されない多数のサブジェクト代替名を持つ証明書を介して、サービス拒否(クラッシュ)を引き起こし、任意のコードを実行する可能性があります。」[15]
- 「GnuPG 2.2.8 以前の mainproc.c は、復号化と検証アクション中に元のファイル名を誤って処理するため、リモート攻撃者は、GnuPG がファイル記述子 2 で「--status-fd 2」オプションを使用する他のプログラムに送信する出力を偽装できます。たとえば、OpenPGP データは、GOODSIG または VALIDSIG ステータス コードと組み合わせて改行文字を含む元のファイル名を表す可能性があります。」[16]
- 「OpenPGPの整合性チェック機能は、暗号フィードバック(CFB)モードを使用して暗号化されたメッセージを処理する際に、メッセージブロックの最初の2バイトがわかっており、整合性チェックが失敗したかどうかを判断するためのオラクルまたはその他のメカニズムが利用可能な場合、リモートの攻撃者が選択暗号文攻撃を介して平文の一部を復元することを可能にします。」[17]
- 「GnuPG (gpg) 1.4 および 2.0 の openfile.c の ask_outfile_name 関数のヒープベースのバッファオーバーフローは、対話的に実行されているときに、攻撃者が「C エスケープ」展開を含むメッセージを介して任意のコードを実行することを可能にする可能性があります。これにより、make_printable_string 関数はプロンプトを構築する際に予想よりも長い文字列を返します。」[18]
- 「GnuPG 1.4.6以前およびGPGME 1.1.4より前のバージョンをコマンドラインから実行すると、複数のコンポーネントを含むOpenPGPメッセージの署名済み部分と未署名部分が視覚的に区別されないため、リモートの攻撃者が検出されることなくメッセージの内容を偽造できる可能性があります。」[19]
- 「GnuPG 2.2.8 以前の mainproc.c は、復号化と検証アクション中に元のファイル名を誤って処理するため、リモート攻撃者は、GnuPG がファイル記述子 2 で「--status-fd 2」オプションを使用する他のプログラムに送信する出力を偽装できます。たとえば、OpenPGP データは、GOODSIG または VALIDSIG ステータス コードと組み合わせて改行文字を含む元のファイル名を表す可能性があります。」[20]
- 「1.5.6より前のLibgcrypt、1.6.6より前の1.6.x、1.7.3より前の1.7.x、および1.4.21より前のGnuPGの乱数ジェネレータの混合機能により、攻撃者は以前の4640ビットの知識を利用して160ビットの値を取得することが容易になります。」[21]
- 「GnuPG 1.4.19 以前、2.0.x 2.0.27 以前、および 2.1.x 2.1.2 以前の kbx/keybox-search.c は、ビット単位の左シフトを適切に処理しません。これにより、リモートの攻撃者が、細工されたキーリング ファイルを介して、符号拡張と「重複範囲を持つ memcpy」に関連するサービス拒否 (無効な読み取り操作) を引き起こす可能性があります。」[22]
注記
- ^ LGPL-2.0 のみ、LGPL-2.0 以降、LGPL-2.1 以降、および LGPL-3.0 以降。
参考文献
- ^ “v5.247.0” . 2024年1月9日閲覧。
- ^ Zhang, Jie; Luo, Xin; Akkaladevi, Somasheker; Ziegelmayer, Jennifer (2009). 「複数パスワードの記憶の改善: 実証的研究」. European Journal of Information Systems . 18 (2): 165–176. doi :10.1057/ejis.2009.9. ISSN 0960-085X. S2CID 7244341.
- ^ Gray, Joshua; Franqueira, Virginia NL; Yu, Yijun (2016). 「ローカルパスワードマネージャの使用によるセキュリティリスクの法医学的分析」 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW) ( PDF)。北京、中国: IEEE。pp. 114–121。doi :10.1109/ REW.2016.034。ISBN 978-1-5090-3694-3. S2CID 15971740。
- ^ Toman, Zinah Hussein; Toman, Sarah Hussein; Hazar, Manar Joundy (2019). 「Webテクノロジーを使用してデスクトップアプリケーションを開発するためのソフトウェアフレームワークの詳細な比較」。西南交通大学ジャーナル。54 (4). doi : 10.35741/issn.0258-2724.54.4.1 . ISSN 0258-2724. S2CID 209057621.
- ^ abcd Mulligan, J.; Elbirt, AJ (2005). 「デスクトップセキュリティとユーザビリティのトレードオフ: パスワード管理システムの評価」.情報システムセキュリティ. 14 (2): 10–19. doi :10.1201/1086/45241.14.2.20050501/88289.3. ISSN 1065-898X. S2CID 21253225.
- ^ ab Dudášová、リュドミラ;ヴァクリク、マーティン。プロチャスカ、ヤクブ(2021-12-29)。 「Psychologický kapitál v pracovní, klinické a školní psychology: přehledová Study」。チェスコスロヴェンスカの心理学。65 (6): 558–574。土井:10.51561/cspsych.65.6.558。ISSN 0009-062X。S2CID 245578091。
- ^ Mousa, A. (2005). 「Blowfish に基づくデータ暗号化パフォーマンス」.第 47 回国際シンポジウム ELMAR、2005 年IEEE. pp. 131–134. doi :10.1109/elmar.2005.193660. ISBN 953-7044-04-1. ISSN 1334-2630. S2CID 21814142.
- ^ Aghili, Hamed (2018-07-26)、「重複排除クラウドストレージでの Blow Fish アルゴリズムを使用したセキュリティの向上」、Fundamental Research in Electrical Engineering、Lecture Notes in Electrical Engineering、vol. 480、シンガポール: Springer Singapore、pp. 723–731、doi :10.1007/978-981-10-8672-4_54、ISBN 978-981-10-8671-7, S2CID 69654258 , 2022-05-27取得
- ^ 「NVD - CVE-2005-4900」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2018-12356」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2020-25125」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2019-14855」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2013-4576」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2014-9087」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2010-2547」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2018-12020」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2005-0366」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2006-6169」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2007-1263」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2018-12020」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2016-6313」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
- ^ 「NVD - CVE-2015-1607」。nvd.nist.gov 。 2022年5月27日閲覧。
この記事には、パブリック ドメインであるこのソースからのテキストが組み込まれています。
