画面がロックされているのにGNOMEキーリングがロックされないのはなぜですか?

画面がロックされているのにGNOMEキーリングがロックされないのはなぜですか?

画面がロックされているときにGNOMEキーリングが自動的にロックされるかどうかを知りたいので、次のように確認しました。

dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
  while read x; do
    case "$x" in 
      *"boolean true"*) sleep 1s;./gkey-check;;
      *"boolean false"*) sleep 1s;./gkey-check;;  
    esac
  done

gkey-checkは小さなCプログラムですGnomeキーリングがロック解除されていることを確認しますか?キーリングの状態を出力します。 「ロック」または「ロック解除」です。上記のコードを使用すると、画面がロックされたときやロックが解除されたときに実行されます。

画面をロックしてロック解除すると、「ロック解除」が2回発生します。これは、キーチェーンが自動的にロックされないことを意味します。私の考えでは、キーリングをロックすることがデフォルトの動作でなければなりません。

興味深いことに、画面をロックする前に手動でキーリングをロックすると、画面が再びロック解除されると自動的にキーリングのロックが解除されます。したがって、キーチェーンは自動的にロック解除されますが、ロックされません。

画面をロックするときにキーリングをロックすることがデフォルトの動作ではないのはなぜですか? (Fedora 32 GNOME 3.36)

答え1

~によるとGNOMEキーリングセキュリティの概念その目的は、「手動攻撃」、つまりユーザーセッションにアクセスできない攻撃者の攻撃からユーザーを保護することです。 PAMと統合されているので、デフォルトではキーリングは次のようになります。ログインするとロックが解除され、ログアウトするとロックされ、コンピュータがスリープ状態になったり一時停止したりするとロックされます。。最後のポイントは「コールドスタート」攻撃をターゲットにする。このような攻撃にもかかわらずコンピュータが突然シャットダウンした場合(たとえば、ユーザーが正しくログアウトしていない場合など)も、これが発生する可能性があります。

コンピュータシステムにアクセスする必要がなくなったら、ユーザーはログオフできます。。同様に、ユーザーが画面をロックするとロック画面はユーザーにパスワードの入力を要求し、デバイスへの即時アクセスを制御します。。違いは、画面がロックされている場合、そのユーザーセッションでそのユーザーが起動したアプリケーションがバックグラウンドで実行され続けることができることです。これらのアプリケーションには gnome-keyring へのアクセスが必要な場合があるため、画面がロックされているときにキーリングをロックすることはユーザーの意図に反する可能性があります。 gnome-keyringがユーザーを妨げるからです。これはその目的を崩すでしょう。既定では、コンピュータが停止しているか休止状態にある場合は、キーリングをロックする必要があります。これは、コンピュータがハングしたり休止状態になったときにアプリケーションが実行されず、通常ユーザーがコンピュータを起動するので、gnome-keyringの目標と一致します。誰がコンピュータを目覚めさせることができますか?デスクトップにログインしてキーリングのロックを解除します。

画面のロックを解除するときにキーリングがロック解除されるかどうかを観察したことは、gnome-keyringがPAMとどのように統合されるかに関連していると思います。 gnome-keyringのロック解除ルーチンの一部は、ユーザーがログインしたときとユーザーが画面をロック解除したときの両方の場合に呼び出され、一時停止または休止状態の後に画面がロック解除されるようにします。たぶんそうかも同じPAMルーチンが呼び出され、ログインと画面のロック解除の間に違いはありません。

関連情報