나는 판매된 고객의 컴퓨터에 "펌웨어" 업데이트를 보낼 수 있기를 원합니다. 네트워크에 연결된 장치가 아니므로 이 작업은 수동으로 수행해야 합니다. 시스템에 파일을 로드하기 위한 후크가 이미 마련되어 있습니다.
이러한 업데이트의 코드를 볼 수 없도록 하고 싶기 때문에 다음 두 가지 옵션이 표시됩니다.
- 배포할 파일의 디렉터리를 압축합니다. 이 디렉터리를 암호화합니다. 장치에 업로드합니다. 장치에서 암호를 해독합니다. 스크립트가 필요한 곳에 코드를 수동으로 배포하도록 합니다.
- dpkg가 배포를 처리할 수 있도록 .deb 패키지를 만듭니다. 패키지를 암호화합니다. 장치에 업로드합니다. (더 간단한) 스크립트를 사용하여 .deb 패키지의 압축을 풉니다.
나는 더 깨끗한 느낌 때문에 두 번째 옵션을 선호합니다. 즉, 저는 보안에 대한 경험이 많지 않지만 가능한 한 보안을 잘하고 싶습니다.
내 첫 번째 본능은 다음과 같은 일을하는 것입니다이 답변어느 상황이든. IE 측은 암호화 및 암호 해독을 위해 openssl을 사용합니다.
하지만 더 좋은 방법이 있나요? 어쩌면 dpkg(또는 그 친척 중 하나)에 특정 방식으로 암호화하는 무언가가 있을 수도 있습니다. 수동으로 패키지를 암호화하는 것은 나에게 적합하지 않다고 생각합니다. 내가 제대로 하고 있는 걸까?
편집 1
명확히하기 위해 내 질문은 사용할 도구를 제안하는 것이 반드시 필요한 것은 아닙니다. 달리 명시하지 않는 한 openssl을 사용하겠습니다. 내가 묻고 싶은 것은 openssl을 사용하는 것이 이 목적을 위한 다른 도구만큼 좋지 않은지, 적용 가능한 경우 차이점을 이해하는 것입니다.
답변1
dpkg는 암호화를 사용하도록 설계되지 않았으므로 외부 도구가 필요합니다.
주요 질문 - 암호 해독 키는 어디에 저장되어 있으며 어떻게 사용합니까?
최소한 클라이언트 시스템에 저장되어 있어야 하며 "펌웨어"에 의해 자동으로 사용되어야 합니다.
"펌웨어"는 암호화된 파일로부터 자신을 업데이트하는 방법을 알아야 합니다.
업데이트 1
보안 측면에서 GPG와 OpenSSL은 거의 동일해 보이지만 대부분 호환되지 않는 형식과 인증서를 사용합니다.security.stackexchange가 말했듯이.
"수동" 암호화에 관해. 패키지 암호화는 자동화된 빌드 프로세스에 포함되어야 합니다.