VeilShare가 파일을 안전하게 지키는 방법

VeilShare는 처음부터 저희를 믿고 파일을 맡길 필요가 없도록 설계되었습니다. 모든 데이터는 업로드되기 전에 사용자의 기기에서 암호화되고, 키는 사용자에게만 있습니다. 이 페이지에서는 그 원리와 계정을 보호하는 방법, 그리고 데이터센터에 문제가 생겼을 때 데이터가 어떻게 되는지 자세히 설명합니다.

최종 업데이트:

보안 한눈에 보기

  • 파일, 파일 및 폴더 이름, 미리보기는 업로드 전에 브라우저에서 AES-256-GCM으로 암호화됩니다
  • 암호화 키는 사용 가능한 형태로 서버에 전달되지 않으므로, 저희는 파일을 읽을 수 없습니다
  • 계정 비밀번호는 기기 밖으로 나가지 않습니다
  • 이메일 일회용 코드를 이용한 2단계 인증을 선택해서 사용할 수 있습니다
  • 파일은 여러 데이터센터에 이중화되어 저장되며, 화재와 홍수에도 견디도록 설계되었습니다
  • 서버와 데이터베이스는 핀란드에 있으며, GDPR과 핀란드 개인정보 보호법의 적용을 받습니다

AES-256-GCM 종단간 암호화

파일을 업로드하면 브라우저가 해당 파일만을 위한 무작위 256비트 키를 새로 생성합니다. 파일은 여러 조각으로 나뉘고, 각 조각은 고유한 논스(nonce)를 사용해 AES-256-GCM으로 암호화된 뒤에야 전송됩니다. 파일 이름도 같은 키로 암호화되므로 무엇을 공유하는지조차 저희는 알 수 없습니다. 사진과 동영상의 경우 브라우저에서 작은 미리보기를 만들어 같은 키로 암호화합니다.

폴더도 같은 방식으로 작동합니다. 폴더마다 고유한 무작위 키가 있어 폴더 이름을 암호화하고 그 안에 있는 모든 항목의 키를 잠급니다. 따라서 폴더를 공유하면 해당 폴더에만 접근할 수 있고, 그 밖의 것에는 접근할 수 없습니다.

AES-GCM은 인증 암호화 방식입니다. 디스크 오류든 누군가의 변조든, 암호화된 파일이 단 1비트라도 바뀌면 손상된 파일을 조용히 넘겨주는 대신 복호화 자체가 실패합니다.

키는 어디에 있을까요

모든 공유 링크에는 고유한 무작위 키가 있으며, 이 키는 링크의 # 뒷부분에 들어 있습니다. 브라우저는 URL의 이 부분을 서버로 보내지 않습니다. 받는 사람이 링크를 열면 브라우저가 이 키로 파일의 키를 풀고, 암호화된 파일을 다운로드해 기기에서 복호화합니다. 저희가 보는 것은 언제나 암호화된 데이터뿐입니다.

제로 지식 계정

VeilShare는 계정 없이도 사용할 수 있습니다. 계정을 만들더라도 저희가 파일을 읽을 수 없도록 설계되어 있으며, 비밀번호는 기기 밖으로 나가지 않습니다.

로그인할 때 브라우저는 비밀번호를 Argon2id로 처리합니다. Argon2id는 비밀번호를 추측하는 데 많은 시간과 비용이 들도록 설계된, 메모리를 많이 사용하는 알고리즘입니다. 그 결과로 서로 다른 두 개의 키를 만듭니다. 하나는 서버에 본인임을 증명하는 키이고, 다른 하나는 개인 마스터 키를 여는 키입니다. 서버에는 첫 번째 키의 솔트 해시만 저장되며, 마스터 키는 두 번째 키로 암호화된 상태로 저장됩니다.

계정에 저장된 모든 파일과 폴더의 키는 직접 또는 상위 폴더를 거쳐 마스터 키로 잠겨 있습니다. 덕분에 로그인하면 어느 기기에서든 파일을 열 수 있지만, 저희가 가진 것은 언제나 잠긴 사본뿐입니다.

복구 키와 키 교체

가입하면 복구 키가 발급됩니다. 저희는 키를 갖고 있지 않아 암호화를 초기화할 수 없으므로, 비밀번호를 잊어버렸을 때 저장된 파일에 계속 접근할 수 있는 유일한 방법이 바로 복구 키입니다. 키가 노출되었을 수 있다고 생각되면 설정에서 마스터 키를 교체할 수 있습니다. 그러면 저장된 모든 파일이 브라우저에서 새 마스터 키로 다시 잠깁니다.

2단계 인증

계정 설정에서 2단계 인증을 켜면 올바른 비밀번호만으로는 로그인할 수 없습니다.

  • 코드는 암호학적으로 안전한 난수 생성기로 생성됩니다
  • 각 코드는 10분 후 만료되며 한 번만 사용할 수 있습니다
  • 코드는 평문이 아닌 해시 형태로 저장됩니다
  • 무차별 대입 공격을 막기 위해 코드 입력과 재전송 요청 횟수가 제한됩니다

또한 계정에 로그인된 모든 기기를 확인하고, 알 수 없는 세션을 하나씩 또는 한꺼번에 로그아웃시킬 수 있습니다.

공유 링크 보호

링크를 받은 사람은 누구나 링크가 가리키는 내용을 복호화할 수 있습니다. 그래서 링크를 쓸 수 있는 사람과 기간을 제한하는 기능을 제공합니다. 폴더 링크에는 나중에 추가한 파일을 포함해 폴더 안의 모든 것이 포함되며, 링크를 비활성화하거나 설정한 한도에 도달할 때까지 유효합니다.

비밀번호 보호

공유 링크에 비밀번호를 추가하면 비밀번호 없이는 링크가 열리지 않습니다. 비밀번호는 전송 전에 브라우저에서 PBKDF2로 해시되고, 상수 시간 비교로 확인되며, 반복해서 틀리면 차단됩니다. 이는 링크에 잠금을 하나 더 거는 것이지 암호화 계층을 추가하는 것은 아니므로, 링크와 비밀번호는 서로 다른 경로로 전달하세요.

만료 시간과 다운로드 횟수 제한

공유 링크는 정해진 시간이 지나거나 정해진 횟수만큼 다운로드되면 만료되며, 언제든지 직접 비활성화할 수도 있습니다. 링크가 작동을 멈추면 누구도 그 링크로 파일에 접근할 수 없고, 다시 활성화할 수도 없습니다. 파일이나 폴더를 다시 공유하려면 새 공유 링크를 만들어야 합니다. 계정 없이 업로드한 파일과 폴더는 그 후 1시간 이내에 영구 삭제되며, 계정에 저장된 파일은 직접 삭제할 때까지 남아 있습니다.

화재, 홍수, 하드웨어 장애로부터의 보호

암호화는 사람으로부터 파일을 보호합니다. 여기서는 화재, 홍수, 하드웨어 고장 같은 물리적 재해로부터 파일을 보호하는 방법을 설명합니다.

데이터센터 하나를 잃어도 버티는 파일 저장소

암호화된 파일은 매우 높은 내구성을 갖도록 설계된 Cloudflare R2에 저장됩니다. 각 파일은 같은 리전에 있는 여러 데이터센터의 수많은 디스크에 여러 개의 사본 또는 이레이저 코딩된 조각으로 분산 저장됩니다. Cloudflare는 디스크 고장이나 화재, 침수 같은 데이터센터의 물리적 피해가 있어도 데이터가 보존되도록 설계하고 있습니다.

핀란드의 서버와 데이터베이스, 매일 백업

애플리케이션 서버와 데이터베이스는 핀란드 헬싱키에 있는 Hetzner 데이터센터에서 운영됩니다. 이 데이터센터는 정보 보안 관리의 국제 표준인 ISO/IEC 27001:2022 인증을 받았습니다. 따라서 계정 데이터는 GDPR과 핀란드 개인정보 보호법의 보호를 받습니다.

데이터베이스는 매일 자동으로 백업되며, 최근 7일 치 백업이 보관됩니다. 서버에 장애가 생기면 최근 백업에서 복원할 수 있습니다.

하드웨어를 도난당해도 파일은 노출되지 않습니다

파일, 파일 및 폴더 이름, 미리보기는 저희가 절대 보관하지 않는 키로 암호화되어 있습니다. 따라서 디스크를 도난당하거나, 백업이 유출되거나, 서버가 해킹되더라도 공유한 내용은 노출되지 않습니다.

저희가 막을 수 없는 것

완벽한 보안을 약속할 수 있는 서비스는 없습니다. 어떤 위험이 있는지 솔직하게 말씀드리겠습니다.

  • 사용자 또는 받는 사람의 기기에 있는 악성코드
  • 저희는 파일 크기, 링크 만료 날짜, 파일이 어떤 폴더에 묶여 있는지 등 서비스 운영에 필요한 기본 메타데이터를 볼 수 있습니다
  • 저희는 파일 크기, 만료 날짜 및 기타 민감하지 않은 데이터 등 서비스 운영에 필요한 기본 메타데이터를 볼 수 있습니다

처리하는 데이터와 보관 기간의 전체 목록은 개인정보처리방침에서 확인하세요. 보안 문제를 발견하셨나요? 알려 주시면 확인하겠습니다.

자주 묻는 질문

아니요. 파일은 업로드되기 전에 브라우저에서 암호화되며, 키는 공유 링크 안에 있거나 계정 파일의 경우 비밀번호로 잠겨 있습니다. 저희가 저장하는 것은 저희가 복호화할 수 없는 암호화된 데이터뿐입니다.

은행과 정부 기관에서도 쓰는 인증 암호화 표준인 AES-256-GCM을 사용합니다. 모든 파일에는 고유한 무작위 256비트 키가 부여되며, 계정 비밀번호는 Argon2id로 강화됩니다.

암호화된 파일은 Cloudflare R2에 저장되며, 각 파일은 여러 데이터센터의 여러 디스크에 분산되어 한 곳을 잃어도 다시 복원할 수 있습니다. 데이터베이스도 매일 자동으로 백업됩니다.

복구 키가 없으면 불가능합니다. 공유 링크의 경우 키는 링크의 일부입니다. 계정 파일의 경우 가입할 때 받은 복구 키로 비밀번호를 재설정할 수 있습니다. 둘 다 없으면 저희를 포함해 누구도 파일을 복호화할 수 없습니다.

네. 계정 설정에서 켜면 로그인할 때마다 이메일로 받은 6자리 코드도 입력해야 하며, 코드는 10분 동안 유효합니다.

출처

파일을 안전하게 공유하세요

무료이며 계정이 필요 없습니다. 파일은 업로드되기 전에 브라우저에서 암호화되므로 저희는 읽을 수 없습니다.

파일 공유하기