OpenPGP를 사용하지 않고 Yubikey 파일 암호화를 하시겠습니까?

OpenPGP를 사용하지 않고 Yubikey 파일 암호화를 하시겠습니까?

OpenPGP를 사용하지 않는 Yubikey로 단일 파일을 암호화하는 방법이 있습니까?

SSH 로그인 및 개별 파일 암호화(비밀번호 저장소)에 Yubikey를 사용합니다. Yubikey는 CCID 모드에서만 작동합니다(현재 OTP 또는 U2F를 사용하지 않습니다.). 모든 작업에는 물리적 존재 테스트가 필요합니다.

지금까지 저는 Yubikey를 다음과 함께 OpenPGP 스마트 카드로 사용해 왔습니다.

GnuPG는 투박하고 신뢰할 수 없으며 스크립트 작성이 어렵습니다. 이 모드에서는 Yubikey 사용을 중단하고 싶습니다.

NIST PIV 스마트 카드로 구성된 또 다른 Yubikey가 있습니다. 저는 OpenSSH의 PKCS11 지원과 일반 ssh-agent를 사용합니다. 이것은 gpg 도구보다 훨씬 더 안정적이지만개별 파일 암호화 지원을 제공하지 않습니다.

제가 보기에 개별 파일 암호화에 PIV 스마트 카드를 사용하는 데는 몇 가지 가능한 옵션이 있습니다.

  • 일종의 ssh-agent+ vim해킹?
  • 어쩌면 완벽한 PKCS11 기반 파일 암호화 도구가 있을까요?
  • 파일 암호화를 위해 yubikey의 다른 슬롯 중 하나를 사용하고 있습니까? OpenSC나 ​​libccid 등을 사용할 수도 있습니다.
  • Yubikey와 직접 통신하는 오픈 소스 비밀번호 관리자가 있습니까?

답변1

다음 프로세스를 자동화하기 위해 제가 작성한 Python 스크립트는 다음과 같습니다.

암호화하려면 ssh-agent의 유선 프로토콜(참조:RFC 초안자세한 내용은) 개인 키를 사용하여 임의의 데이터에 서명할 수 있으므로 다음과 같습니다.

  • 임의의 숫자를 선택
  • ssh-agent에게 서명을 요청하세요
  • 서명을 사용하여 대칭 키 파생
  • 대칭 키로 데이터를 암호화하세요
  • 난수와 암호화된 데이터(대칭 키는 아님)를 디스크에 저장합니다.

그리고 해독하려면:

  • 디스크에서 난수와 암호화된 데이터를 다시 읽습니다.
  • ssh-agent에게 난수에 서명하도록 요청
  • 서명을 사용하여 데이터 암호화에 사용된 것과 동일한 대칭 키를 파생합니다.
  • 데이터를 해독하세요!

관련 정보