Si el código malicioso se puede ejecutar en el contexto del usuario, DPAPI no ofrece protección, ya que dicho código malicioso puede simplemente pedirle a DPAPI que lo descifre.
El único escenario contra el que protege, es si los datos o el disco son robados, pero la contraseña no se conoce. La contraseña se puede restablecer fácilmente, pero esto hace que los datos protegidos por DPAPI sean inaccesibles. Un atacante tendría que descifrar el hash de contraseña de la caché de credenciales de Windows, pero tenga en cuenta que esta es generalmente una tarea muy factible. Si sabe que esto es lo que tiene que hacer, probablemente pueda hacerlo en la mayoría de los casos.
Su problema real es "cómo administrar fácilmente el KEK".
DPAPI se encarga de la administración de claves mediante la incorporación de la contraseña de Windows. Necesitaría un módulo PAM para hacer esto en Linux, y no hay uno.
Debería considerar la posibilidad de participar en lo que sea que el usuario ya esté usando, por ejemplo. Llavero OSX, KWallet de KDE, GnomeKeyring de Gnome, etc., que creo que tienen API.
Si estabas usando Python, deberías considerar algo como esto: