암호를 비밀로 유지하면서 암호를 사용하는 gpg 암호 해독을 자동화하려면 어떻게해야합니까?


13

cron (또는 Ubuntu Server 호환 작업 예약 도구)을 사용하여 gpg 암호 해독을 자동화해야합니다. 자동화해야하기 때문에 사용 --passphrase했지만 셸 기록으로 끝나서 프로세스 목록에 표시됩니다.

좋은 보안 표준을 유지하면서 암호 해독을 자동화하려면 어떻게해야합니까?

예를 들어 주시면 감사하겠습니다.


on이 ps없으면 인수 등 이 표시 되지만 cron 등에서 스크립트를 실행하는 셸은 대화식이 아니므로 잘못 구성되지 않은 경우 기록을 쓰면 안됩니다. hidepid/proc
dave_thompson_085

답변:


23

암호문은 크론 작업 사용자 만 읽을 수있는 파일에 저장하고 --passphrase-file옵션을 사용 gpg하여 암호문을 읽 도록 지시하십시오.

이렇게하면 암호 정보가 메모리의 프로세스 정보에 표시되지 않습니다. 보안 수준은 암호 문구를 저장하는 파일에 대한 액세스 수준 (키가 포함 된 파일에 대한 액세스 수준뿐만 아니라)의 내용이 복사 된 위치 (백업 관리)를 포함하여 결정됩니다. 및 오프라인 접근성 (디스크를 서버에서 꺼내기). 이 보안 수준이 충분한 지 여부는 파일을 물리적으로 소프트웨어로 보유한 서버에 대한 액세스 제어 및 완화하려는 시나리오에 따라 다릅니다.

훌륭한 보안 표준을 원한다면 키 (및 암호)를 로컬에 저장하는 대신 하드웨어 보안 모듈 을 사용해야 합니다. 이것은 키 가 현장 에서 사용되는 것을 막지는 않지만 다른 곳에서 키가 복사되어 사용되는 것을 방지합니다.


이 수수께끼에 대한 유일한 해결책 인 하드웨어 보안 모듈을 언급 한 +1.
MariusMatutiae

Stephen은 하드웨어 보안 모듈에 대해 언급 해 주셔서 감사합니다. 조사해 드리겠습니다. 올바른 방향으로 나를 가리켜 주셔서 감사합니다.
Zakk Coetzee 8

@StephenKitt 하드웨어 키는 일할 때 좋습니다. 그들이 하지 않을 때 ...
Satō Katsura

@ SatōKatsura는 Yubikey가 HSM이 아니라고 지적하지만 사실입니다. (어느하지 평균 HSM을가하는 과정에 취약하지 않습니다 .)
스티븐 키트

"훌륭한 보안 표준을 원한다면"자동화 된 작업을 통해 암호를 해독하거나 서명 할 수 없습니다.
JimmyB

5

자동 암호 해독은 암호를 어딘가에 저장하거나 암호를 사용하지 않아야 함을 의미합니다 (내가 입력하는 동안 Stephen이 제출 한 다른 답변에서 지적한 것처럼 추가 옵션을 사용하지 않는 한)! 이들 중 어느 것도 우수하거나 훌륭한 보안 표준에 대한 요구 사항과 일치하지 않습니다.

즉, 귀하의 요구 사항이 보안과 호환되지 않습니다.

당신은 다음과 같은 것들에 의존 할 수 있습니다-당신은 루트이어야합니다. 암호가 정말 혼란스러운 이름으로 저장된 파일을 주었으며 기본 파일 시스템 등을 암호화했습니다. 그러나 그것들은 모두 레이어입니다. 일단 당신이 처음부터 뿌리를 우회하는 것은 사소한 것입니다.

프로세스 목록에 비밀번호 문구가 표시되지 않도록하는 옵션은 --passphrase-file <file-name>입니다.

그러나 처음에는 암호를 제거하는 것보다 안전하지 않습니다.


Tony를 설명해 주셔서 감사합니다. 문제를 더 잘 파악했습니다. Stephen이 언급 한 하드웨어 보안 모듈이 주요 목표입니다.
Zakk Coetzee 8

@ZakkCoetzee : 다른 답변에서 말했듯이 공격자가 HSM을 루트로 사용하는 것을 막는 것은 무엇입니까?
Martin Bonner는 Monica

@MartinBonner Stephen Kitt가 위에서 말했듯이 키를 얻는 것보다 확실히 키를 얻지 못하게합니다.
Zakk Coetzee

별로 좋지는 않습니다. Diginotar에게 물어보십시오 (HSM에 키가 있지만 HSM을 슬롯에 관련 스마트 카드와 연결 한 채로 두어 공격자가 여러 공격자의 인증서에 서명 할 수 있도록합니다)
Martin Bonner는 Monica
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.