2023/09/07

Alist, 파일 암호화 및 복호화

Alist, 파일 암호화 및 복호화

클라우드 스토리지에 암호화 업로드

원드라이브, 구글, 바이두 넷디스크, 테라박스, PikPak 같은 클라우드 스토리지를 사용하면서 찜찜한 것은 누군가 내 파일을 엿보는 것은 아닌가 하는 불안이다. 개인적으로 절대 그런 일은 없고 그럴 수도 없다고 생각하고, 그래서 전혀 그런 걱정은 없지만 만에 하나 클라우드 서버가 물리적으로 도난당하거나 데이터가 해킹당하면 염려가 현실이 될 수도 있다. 일부 클라우드 회사는 사용자 데이터는 암호화해 저장한다고 하지만(이것이 사실인지 허위 광고인지는 우리로선 확인할 길이 없다!), 테라박스나 바이두 넷디스크 같은 경우는 그렇지 않은 것으로 알고 있다.

이럴 때 사용자가 선택할 수 있는 보안 기술은 사용자 클라이언트가 직접 데이터를 암호화해 클라우드 서버에 저장하는 것이다. 이렇게 하면 설령 클라우드 서버가 통째로 도난당하더라도 암호를 모르는 이상 데이터 내용을 확인할 수 없다. 더불어 바이두/구글의 엄격한 AI 검열도 회피할 수 있으니 일거양득이다.

이것을 간단하게 원스톱으로 해결할 수 있는 첫 번째 해결책은 「클라우드에 파일을 암호화해서 업로드」에서 소개한 Cyberduck을 이용할 수 있다. Cyberduck 같은 경우는 Cryptomator라는 써드파티 암호화 모듈을 사용하므로 설령 Cyberduck을 사용할 수 없더라도 Cryptomator를 이용하면 암호화된 데이터를 복호화할 수 있다(「Cyberduck에서 암호화한 파일을 cryptomator으로 해독하기」).

두 번째 방법은 Alist 사용자를 위한 것인데, Alist 자체의 Crypt 기능을 사용하는 것이다.

블로그의 Alist 관련 글 모아 보기

Alist Crypt 기능을 사용하기에 앞서 주의사항

1. 이 암호화/복호화 드라이버 사용 방법을 모르는 경우 이 가이드를 주의 깊게 읽으십시오.
2. 프로덕션 환경에서 사용하기 전에 로컬에서 테스트하여 완전히 이해하시기 바랍니다.
3. 데이터 손실은 100% 설정 변경으로 인해 발생합니다. 데이터가 Crypt에 저장되면 설정 변경으로 인해 데이터가 다시 암호화되지 않으며 해당 데이터는 Crypt에 액세스할 수 없습니다(이 사항이 중요한데 이에 대해선 다시 한번 설명할 것이다).
4. 다시 한번 상기시켜주세요. 문서를 주의 깊게 읽으세요. 그렇지 않으면 데이터가 손실될 수 있습니다!
(원문: https://alist.nn.ci/guide/drivers/Crypt.html)

Alist의 Crypt 기능 사용하기

Alist, file encryption and decryption

Alist의 Crypt 기능은 [Storages] 탭에서 사용할 수 있는데, 마치 새 스토리지를 추가한 것처럼 기능하게 된다.

위 사진의 경우는 [Mount Path] /Encryption 폴더(http://127.0.0.1:5244/Encryption)에 업로드되는 자료는 1차 암호와 2차 암호(Salt: 1차 암호를 입력하면 자동으로 생성됨. 복호화를 위해 1차 및 2차 암호는 반드시 기억해 둘 것!!!)를 사용해 암호화되고, 그렇게 암호화된 자료는 [Remote path]인 /PikPak/Encryption_Test 폴더(http://127.0.0.1:5244/PikPak/Encryption_Test)에 저장됨을 의미한다.

[Mount Path]는 암호화될 자료를 업로드할 가상 폴더이고, [Remote path]는 암호화된 자료가 실제로 저장되는 클라우드 스토리지라고 이해하면 된다.

빨간 상자 안의 파일명/폴더명 암호화는 [사용 안 함]이 기본값이다.

Crypt 설정 중 파일 또는 폴더 이름 암호화

Alist, file encryption and decryption

이제 앞에서 말한 주의사항 중 세 번째 항목에 관해 설명해야 할 것 같다.

Crypt 설정 중 [Filename encryption]과 [Directory name encryption]이라는 파일명/폴더명 암호화 설정이 있는데 이것을 변경하게 되면, 즉 [암호화]와 관련된 설정이 변경되면 이전에 업로드한 자료가 안 보이게 된다. 그렇다고 자료가 사라지는 것은 아니고 단지 안 보이는 것이다. 다시 설정을 원위치시키면 이전에 업로드한 자료는 보인다. 하지만 설정을 변경하고 나서 업로드한 자료는 안 보인다.

위 사진은 [Filename encryption]을 사용하지 않을 때, 아래 사진은 [Filename encryption]을 사용할 때(Standard)이다. [Filename encryption] 설정에 따라 보이는 파일들이 있고, 안 보이는 파일들이 있다. 하지만, 클라우드 스토리지(사진의 파일 탐색기 부분)에서 보면 모든 파일이 암호화된 상태로 보관되어 있음을 알 수 있다.

이 암호화된 파일들과 1차/2차 암호만 알고 있으면 언제든지 복구할 수 있다는 것을 명심하자.

Alist, file encryption and decryption

실제 상황은 위 동영상을 보면 알겠지만, [Filename encryption] 설정을 적용하기 전에 업로드한 텍스트 파일 3개와 [Filename encryption] 설정을 적용한 후 업로드한 사진 파일 3개는 모두 [Remote path]인 [PikPak/Encryption_Test] 폴더에 암호화된 채로 저장되어 있다. 이때 Alist Crypt 설정에서 [Filename encryption] 설정을 사용하지 않으면, 텍스트 파일 3개만 정상적으로 복호화되므로 [Mount Path]인 [Encryption] 폴더엔 텍스트 파일 3개만 보이게 된다. 다시 [Filename encryption] 설정을 적용하면 (파일 이름이 암호화되지 않은 텍스트 파일은 안 보이고, 파일 이름까지 암호화된) 사진 파일 3개만 보인다.

고로 Crypt 기능을 사용하기 전에 파일명/폴더명을 암호화하는 것이 좋은지 테스트해보고 실제 환경에 적용해야 할 것이다.

Crypt로 암호화된 데이터 복구

끝으로 만약 Windows/Alist 재설치, ([Remote path]로 사용하는) 클라우드 스토리지 변경 등 이런저런 이유로 Crypt 드라이버로 암호화된 데이터를 수동으로 복구하는 방법은 1차/2차 암호만 기억하고 있다면 완벽하게 복구할 수 있다.

일단 Crypt로 암호화된 데이터를 새로운 [Remote path]로 사용할 클라우드 스토리지에 복사해놓은 다음 기존의 Crypt 설정을 그대로 적용하면 된다. 1차/Salt 암호와 [Filename encryption] 등 기타 설정이 일치하면 데이터는 완벽하게 복구된다.

댓글 2개:

  1. 현재 오프라인다운로드가 원활하게 잘되는 클라우드는 픽팍밨에없나요?

    답글삭제
    답글
    1. 네. 제가 아는 한 토렌트 다운로드용으론 픽팍이 가장 쓸만합니다.

      삭제

댓글은 검토 후 게재됩니다.
본문이나 댓글을 정독하신 후 신중히 작성해주세요