![특정 프로그램에 대한 비밀번호 캐싱을 원하지 않는다고 gpg에 어떻게 알릴 수 있나요?](https://linux55.com/image/62212/%ED%8A%B9%EC%A0%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%20%EC%BA%90%EC%8B%B1%EC%9D%84%20%EC%9B%90%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%EB%8B%A4%EA%B3%A0%20gpg%EC%97%90%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%95%8C%EB%A6%B4%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
나는 그것을 사용하고 있습니다 gnupg 2.1.2
. 일반적으로 gnupg
비밀번호를 캐싱할 때 유용합니다. 하지만 일부 민감한 프로그램의 경우에는 gnupg
사용하지 않기를 바랍니다 gpg-agent
. 오랫동안 인터넷에서 검색했지만 유용한 정보를 많이 찾지 못했습니다. gnupg
특정 프로그램에 대해 내 비밀번호가 캐시되는 것을 원하지 않는다는 것을 어떻게 알 수 있나요 ?
아래는 예시입니다. 나는 Mutt
그것을 MUA로 사용하고 아래의 별도 파일에 내 모든 계정의 비밀번호를 암호화합니다 ~/.mutt/.passwd.gpg
. 내 ~/.muttrc
설정 에서
source "/usr/bin/gpg -d --quiet ~/.mutt/.passwd.gpg |"
처음 부팅 하면 Mutt
개인 키 비밀번호를 묻는 메시지가 나타납니다 gpg
. 해당 비밀번호를 입력하면 잠시 동안 캐시됩니다 gpg
. 따라서 Mutt
이 간격 내에 다시 시작하면 더 이상 개인 키 비밀번호를 묻는 메시지가 표시되지 않습니다. 즉, 이 시간 동안 내 컴퓨터에 액세스하는 사람은 누구나 내 메일을 읽거나 보낼 수도 있습니다. (또는 다른 특정 프로그램) 시작될 때마다 개인 키 비밀번호를 묻는 메시지가 표시되도록 하려면 gpg
(예를 들어 옵션을 전달하여 -page에 관련 플래그를 표시하지 않음) gpg
어떻게 알 수 있습니까 ? 어떤 프로그램이 암호화된 파일에 액세스하려고 하는지 알 수 없기 때문에 이것이 가능하지 않을 수도 있다는 것을 알고 있습니다 . 하지만 우리의 훌륭한 커뮤니티가 이를 확인할 수 있기를 바랍니다.man
Mutt
gpg
답변1
이것은 우아하지 않을 수도 있지만 나에게는 효과가 있습니다. 사용 후 즉시 데몬 프로세스를 종료하십시오 gpg
.
killall gpg-agent
(그래, 젠장!)
다음에 다른 gpg
프로그램이나 다른 프로그램에서 호출하면 자동으로 다시 시작됩니다. 이 방법을 사용하면 비밀번호 캐싱의 기본 시간이 변경되지 않습니다(다른 프로그램이 동일한 동작을 수행하는 것을 원하지 않을 수 있음).
답변2
gpg-agent에 대한 문서에는 "gpg-agent는 환경 변수를 사용하여 클라이언트에게 통신 매개변수에 대해 알립니다"라고 나와 있습니다. 실제 환경 변수 이름은 제공되지 않지만 일부 테스트에서는 관련 변수가 GPG_AGENT_INFO
다음과 같이 변경되는 것으로 나타났습니다.
source "unset GPG_AGENT_INFO; /usr/bin/gpg -d --quiet ~/.mutt/.passwd.gpg |"
아마도 더 간단한 해결책은 --no-use-agent
gpg에 전달하는 것입니다.
gpg
자격 증명이 캐시된 경우(아마도 gpg-agent가 Mutt 외부에서 자격 증명을 캐시하도록 허용했기 때문에) 공격자가 프록시를 활성화한 상태에서 호출하는 것을 막지는 못합니다. 따라서 gpg-agent가 구체적인 차별을 알고 있다고 하더라도 mutt
그다지 강력한 보안 조치는 아닐 것입니다.
답변3
예를 들어 1초의 캐시 간격으로 프록시를 다시 시작하는 것은 거의 캐시가 없는 것과 같습니다.
pkill gpg-agent && gpg-agent --default-cache-ttl 1 --use-standard-socket --daemon