Технические сведения
Где хранится ваше содержимое, что хранит SaveProof и что вы можете проверить сами.
Что можно проверить. Браузер проверяет подпись подтверждения опубликованным публичным ключом и сравнивает сертификат или расшифрованное содержимое с отпечатком содержимого. Исходные файлы проверяются на устройстве, когда вы их выбираете.
Что зависит от SaveProof. SaveProof фиксирует время записи, публикует публичные ключи, защищает свои ключи и поддерживает сервис выдачи доступа. Время не удостоверено независимой стороной, а защищённый пакет пока не прошёл независимую проверку безопасности.
Создание подтверждения
- Браузер читает вашу заметку и файлы
Браузер рассчитывает отпечаток содержимого с учётом порядка элементов. Исходные файлы остаются на вашем устройстве.
- SaveProof подписывает подтверждение
Сервер получает отпечаток содержимого, присваивает идентификатор подтверждения и время регистрации, затем подписывает запись.
- Браузер создаёт результат
Браузер создаёт сертификат или шифрует содержимое в защищённый пакет. Полученный файл вы храните и передаёте сами.
Для обычного результата браузер также регистрирует точный отпечаток и размер полного файла и отпечаток PDF-сертификата. Для защищённого пакета — отпечатки защищённых компонентов и выбранные условия выдачи доступа.
Что раскрывает результат
Обычный сертификат или пакет SaveProof содержит заметку и читаемые оригиналы. Каждый, у кого есть файл, может прочитать и извлечь их. Можно добавить до 50 файлов и одну заметку: до 20 МиБ содержимого используется PDF, больше — пакет до 1 ГиБ. Старые сертификаты без оригиналов по-прежнему проверяются.
Защищённый пакет содержит зашифрованную заметку, имена файлов и байты исходных файлов. Шифрование и расшифрование выполняются в браузере. Вы храните и передаёте пакет сами; SaveProof его не хранит.
Открытие защищённого пакета
Для создания защищённого пакета нужен аккаунт SaveProof. Получателю аккаунт не нужен, но ему потребуется подходящий пакет.
- У получателя есть подходящий пакет
Перед запросом доступа браузер проверяет его подписанные публичные записи и защищённые компоненты.
- SaveProof проверяет условия выдачи доступа
Когда условия выполнены, сервер возвращает свой компонент ключа. Сам пакет не отправляется в SaveProof.
- Браузер открывает и проверяет содержимое
Если задан пароль шифрования, получатель вводит его на своём устройстве. Затем браузер расшифровывает и проверяет заметку и каждый файл.
Условия выдачи доступа определяют, когда SaveProof позже выдаст свой компонент ключа. У создателя уже было исходное содержимое, а при подготовке пакета он получил компонент ключа SaveProof, поэтому он мог сохранить или передать и то и другое до наступления условий выдачи.
Когда доступ разрешён
У каждого защищённого пакета одни условия выдачи доступа. Они определяют, когда SaveProof выдаёт свой компонент ключа, а не способ шифрования содержимого.
- Доступ сразу
- Держатель подходящего пакета может сразу запросить компонент ключа SaveProof. Сервис регистрирует выдачу; срока ожидания нет.
- Ручная выдача доступа
- Владелец принимает одно необратимое решение о выдаче доступа. SaveProof регистрирует время решения. После этого любой держатель подходящего пакета может запросить доступ.
- Запланированный доступ
- SaveProof хранит фиксированное время выдачи доступа. Когда оно наступит, держатель сможет запросить доступ; автоматически ничего не отправляется.
- Продлеваемая отсрочка доступа
- SaveProof хранит интервал и текущий срок. Каждое обновление отсрочки до истечения срока запускает новый полный интервал с момента принятия. Если отсрочку не обновить, после срока держатели смогут запросить доступ.
Сроки и продления отсчитываются по часам базы данных. Напоминания о продлеваемой отсрочке отправляются по возможности и не меняют срок. Если отмена будущей выдачи доступа была разрешена при создании пакета, её нужно выполнить строго до запланированного времени или текущего срока отсрочки и до любой выдачи. Отмена необратима и не отзывает данные доступа, выданные ранее.
Необязательный общий лимит выдач ограничивает новые онлайн-выдачи компонента ключа SaveProof. Уже выданный компонент он не отзывает.
Пароль шифрования
Необязательный пароль шифрования добавляет второе условие при любом способе выдачи доступа. Для открытия нужны и компонент ключа SaveProof, и пароль, введённый в браузере получателя. SaveProof не получает и не хранит пароль или данные, позволяющие повторно его проверить.
Без пароля человек, у которого есть пакет и компонент ключа SaveProof, сможет открыть содержимое даже до наступления условий выдачи доступа. Пароль делает одного серверного компонента недостаточным, но слабый пароль можно подобрать после получения этого компонента. SaveProof не сможет восстановить потерянный пароль.
Что хранит SaveProof
У каждого подтверждения есть отпечаток содержимого, идентификатор, время регистрации, подписанная запись и ссылка на публичный ключ. Для обычного сертификата также хранится точный отпечаток и размер полного файла и отпечаток PDF-сертификата. Если вы входите через Google, SaveProof хранит идентификатор вашей учётной записи Google, адрес электронной почты, отображаемое имя, необязательную ссылку на фото профиля, данные сеансов, выбранные языки интерфейса и писем с напоминаниями, если они заданы, и связи с созданными подтверждениями.
Для защищённого пакета SaveProof дополнительно хранит его идентификатор, связь с владельцем, условия и текущее состояние выдачи доступа, отпечатки и размеры защищённых компонентов, зашифрованный компонент ключа SaveProof и события выдачи. Сервис может хранить отпечаток и размер готового пакета для проверки точного совпадения копии. Для продлеваемой отсрочки также хранится состояние напоминаний.
SaveProof не хранит пакет, исходные файлы, записанную заметку, пароль шифрования и полный ключ для расшифрования содержимого. Публичные метаданные, например идентификатор подтверждения, условия доступа, время и размер пакета, всё же могут раскрывать сведения о пакете. Отпечаток содержимого не является шифрованием.
Ограничения подтверждения и технические методы
Подтверждение не устанавливает авторство, владение, личность, правдивость содержимого или юридическую силу. Событие выдачи компонента ключа SaveProof означает, что сервис выдал свою часть данных для открытия; оно не доказывает, что получатель расшифровал или прочитал содержимое.
Недоступность сервиса может задержать новую выдачу доступа. После выдачи компонента ключа SaveProof или открытого содержимого забрать доступ обратно нельзя.
Технические методы
SaveProof использует SHA-256 для отпечатков и Ed25519 для подписи версионированных записей подтверждения. Для защищённых пакетов применяется AES-256-GCM с новым ключом содержимого. Необязательный пароль даёт дополнительный фактор, полученный с помощью Argon2id, для конверта ключа; серверный компонент ключа SaveProof хранится в зашифрованном виде с отдельным ключом.