Fedora

為什麼螢幕鎖定時gnome鑰匙圈沒有鎖定?

  • December 8, 2020

我想知道當螢幕被鎖定時 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 密鑰環是否已解鎖?輸出密鑰環的狀態。“鎖定”或“解鎖”。使用上面的程式碼,一旦螢幕被鎖定或解鎖,它就會被執行。

鎖定然後解鎖螢幕時,我“解鎖”了兩次,這告訴我鑰匙圈沒有自動鎖定。在我看來,鎖定密鑰環應該是預設行為。

有趣的是,當我在鎖定螢幕之前手動鎖定鑰匙圈時,它會在再次解鎖螢幕時自動解鎖鑰匙圈。所以它會自動解鎖鑰匙圈,但不會鎖定它。

為什麼鎖定螢幕時鎖定密鑰環不是預設行為?(Fedora 32 侏儒 3.36)

根據gnome-keyring 安全理念,它旨在保護使用者免受“被動攻擊”,即無權訪問使用者會話的攻擊者的攻擊。它與 PAM 集成,因此預設情況下,密鑰環在登錄時解鎖,在註銷或電腦休眠或掛起時鎖定。最後一點是針對“冷啟動”攻擊的。但是,如果突然關閉電腦,即使用者未正確註銷,此類攻擊仍然可能發生。

當不再需要訪問電腦系統時,使用者可以註銷。同樣,當使用者鎖定螢幕時,鎖定螢幕通過要求使用者輸入密碼來規範對設備的立即訪問。不同的是,當螢幕被鎖定時,該使用者在該使用者會話中啟動的應用程序可以繼續在後台執行。這些應用程序可能需要訪問 gnome-keyring,因此在鎖定螢幕時鎖定 keyring 可能與使用者的意圖相反,因為 gnome-keyring 會妨礙使用者,這將違背其目標. 預設情況下,如果電腦掛起或休眠,密鑰環應該被鎖定,這與 gnome-keyring 的目標是一致的,因為當電腦掛起或休眠時應用程序不會執行,並且電腦通常由登錄到的使用者喚醒。桌面等解鎖密鑰環

至於您觀察到鑰匙環是否在解鎖螢幕時解鎖,我認為這與 gnome-keyring 如何與 PAM 集成有關。在兩種情況下都會呼叫 gnome-keyring 的一些解鎖常式:當使用者登錄時以及當使用者解鎖螢幕以確保在暫停或休眠後解鎖。可能是呼叫了相同的 PAM 常式,這在 login 和 screen unlocking 之間沒有區別

引用自:https://unix.stackexchange.com/questions/599749