Шифрование облачных данных. безопасное хранилище

MVVM Light Toolkit by Laurent Bugnion

The MIT License (MIT)

Copyright (c) 2009 — 2018 Laurent Bugnion

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the «Software»), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

Почему облачные хранилища нужно шифровать?

На этот вопрос есть очевидный ответ: потому что облачные хранилища, к сожалению, подвержены взломам. Есть вероятность, что все залитые вами персональные данные попадут в руки злоумышленникам, так что перестраховаться лишним не будет. Более того, иногда и мошенники не нужны — ведь доступ к информации есть у администраторов «облаков»! А полагаться на их совесть точно не стоит.

Конечно, можно запаковать всю личную информацию в архив с паролем и «залить» на «облако» (и это УЖЕ будет хорошо!), но, как мы все знаем, пароль легко подобрать, а вот хэш-ключ шифрования просто так уже не вскрыть…

How we Manage Users, Groups and Organizations

The private RSA key is encrypted with the user’s password key so that knowledge of the password is required to decrypt the private RSA key. The wrapping key is encrypted with the user’s password key so that only someone who knows the password can decrypt the wrapping key. All other AES keys are encrypted with the wrapping key so that access to the wrapping key is required to decrypt any other AES key.

Group Management

A group is a list of users that are members of a group and, therefore, have group keys. Every group has a membership key which is used to manage group memberships.

The group keys are generated on a user’s device when a user creates a new group. Before the keys are submitted to the Boxcryptor server, sensitive information is encrypted so that only the user who created the group has access to it.

The private RSA key is encrypted with the membership key so that access to the membership key is required to decrypt the private RSA key. The wrapping key is encrypted with the membership key so that access to the membership key is required to decrypt the wrapping key.

All other AES keys are encrypted with the wrapping key so that access to the wrapping key is required to decrypt any other AES key. The membership key is encrypted with the user’s public RSA key so that access to the user’s private RSA key is required to decrypt the membership key.

In order to speed up the sign in process, the membership key will be additionally AES-encrypted with the user’s group key on the first possible occasion, for example, the user’s next sign in. When the membership key is also available in AES encrypted form, subsequent sign-ins can use AES decryption over RSA decryption which is much faster.

Example: If Alice adds Bob to her group, the group’s membership key is encrypted with Bob’s public RSA key. Now Bob is able to decrypt the membership key, and thus, the group’s private RSA key.

Organization Management

Users and groups can belong to an organization which can have additional organization keys (Master Key). The organization keys are generated on the organization administrator’s device during the Master Key creation. Before the keys are submitted to the Boxcryptor server, the sensitive information is encrypted so that only the organization administrator has access to it.

The private RSA key of the organization is encrypted with a Master Key password key to make sure that knowledge of this password is required, to decrypt the organization’s private RSA key.

Additionally, an organization can define a set of policies (rules). They apply to all users and groups that belong to the specific company. One example is minimum password length.

NOTE: The additional AES keys have been introduced after the initial release of Boxcryptor and existing accounts are upgraded on an ongoing basis. Due to legacy reasons, the filename key is encrypted additionally with the public RSA key – earlier referred to as “AES key”.

Data Privacy – How we Protect the Data on our Servers

Due to Boxcryptor’s zero-knowledge nature, all sensitive information that reaches the Boxcryptor server is already encrypted (for example private RSA keys) or otherwise non-retrievable (for example the password hash). In order to further increase security, all sensitive data and personal information is encrypted additionally, before persisted to the database. The server location is in Germany and the data center is ISO/IEC 27001:2013 certified.

The database encryption key is only available to the application during runtime. In case of a database breach, an attacker would only be able to get access to encrypted data.

Private RSA Key

The user’s private key is already encrypted with the user’s password on the client (user device). The encrypted private key is then encrypted again with the database encryption key.

Password

The password is already hashed on the client (the user’s device). The password hash is hashed again on the server and the hash of the password hash is then encrypted with the database encryption key.

Шифрование облачных данных

Итак, мы поняли, что шифровать данные строго обязательно. Вот только к сожалению, в области безопасности хранения информации ситуация обстоит печальна. Многие сайты как максимум предлагают доступ к своему облачному хранилищу через защищённое соединение. Это уже, конечно, неплохо, но абсолютную защиту данных может обеспечить только шифрование самой информации. Вот как это сделать:

Используйте специализированное ПО для шифрования

Например, такой программой может стать Boxcryptor. Утилита очень проста в использовании – она шифрует на лету всю указанную в настройках информацию еще до того, как вы скопируете её в облако.

Программа обладает русифицированным интерфейсом, требует регистрации учетной записи и установки клиента на все девайсы, на которых вы будете использовать облачное хранилище. Для некоммерческого использования покупать платную версию данного ПО не обязательно.

После установки программа создаст в вашей операционной системе отдельный виртуальный диск, который будет синхронизироваться с облаком.

Использовать только безопасное облачное хранилище – Mega

Данное облако не столь известно, как его аналоги. Во всевозможных рейтингах по количеству установок лидируют, в основном, Google Drive и Яндекс диск, а про Мегу мало кто знает. Тем не менее, только этот сервис может шифровать данные пользователя без установки дополнительного программного обеспечения.

Все данные, скопированные вами в Mega, шифруются по методу AES без дополнительных действий с вашей стороны. Процесс защиты выглядит очень просто – файл копируется в защищенную зону, шифруется, копируется в вашу виртуальную папку, удаляется из защищенной зоны. В облачной папке остается зашифрованная копия вашего файла. В открытом виде ключ шифрования нигде не передается, а это значит, что можно назвать данную облачную базу данных очень надежной. Кроме того, Мега предоставляет целых 50 гигабайт для хранения информации.

Хроника фейлов Dropbox

7 апреля— исследователь Дерек Ньютон рассказал в своем блоге (bit.ly/dropbox_fail) некоторые подробности об авторизации Dropbox. Оказалось, всю информацию для аутентификации программа хранит в файле config.db. Он находится в %APPDATA%Dropbox и представляет собой базу данных SQLite.

Среди многих других полей одно из них — host_id — наиболее интересное. Оно определяется клиентом после первой авторизации и не меняется со временем. И вот в чем засада. Его значение никак не привязано к системе. Скопировав config.db на другую машину, злоумышленник легко получает доступ к данным чужого аккаунта. Без уведомления пользователя! Более того, даже если юзер сменит логин и пароль, тоже ничего не изменится — host_id все равно останется валидным. На данный момент идентификатор привязывается к конкретному устройству и может быть отозван через веб-интерфейс.

19 апреля — Dropbox меняет пользовательское соглашение, напрямую заявляя, что при необходимости может расшифровать файлы пользователей и предоставить их для следствия по законам США.

26 апреля — на GitHub’е появляется открытый проект Dropship (github.com/driverdan/dropship), позволяющий быстро получить в своем аккаунте любой файл, который есть в облаке Dropbox. Все, что необходимо, — знать его хэш. С автором — Владимиром ван дер Лааном — тут же связался главный технический директор сервиса и вежливо попросил убрать исходники. Пользователи программы отреагировали созданием многочисленных зеркал проекта на github и на самом Dropbox. В течение короткого времени им также пришла просьба представителя Dropbox о немедленном удалении файлов проекта.

How Boxcryptor Encrypts and Decrypts Files

Boxcryptor implements a combined encryption process based on asymmetric RSA and symmetric AES encryption. Every file has its own unique random file key which is generated when the file is being created. The file key is used to encrypt and decrypt the contents of the file as can be seen below in more detail.

Encryption

Create a secure random file key.
Encrypt the plaintext data using the file key.
Encrypt the file key with the user’s public key.
Store the encrypted file key next to the encrypted data in the encrypted file.
If multiple users have access to a file, the file key is encrypted multiple times with different public keys of the different users and each result is stored in the encrypted file.

Decryption

Decrypt the encrypted file key using the user’s private key.
Decrypt the encrypted data using the file key.

Used Algorithms

  • AES with a key length of 256 bits, CBC (Cipher Block Chaining) and PKCS7 padding.
  • RSA with a key length of 4096 bits and OAEP padding.

Предыстория

Девятнадцатого июня Dropbox устроил своеобразный «день открытых дверей». В течение 4 часов кто угодно мог зайти в чужой аккаунт с помощью произвольного пароля. Создатели сервиса, возможно, даже и не заметили бы проблемы, если бы информацию об уязвимости не опубликовал независимый security-исследователь (pastebin.com/yBKwDY6T). За последнее время это уже не первая щекотливая история, связанная с безопасностью файлов, которые пользователи со всего мира так охотно доверяют облачному хранилищу Dropbox.

Тут надо напомнить, что с самого начала существования сервиса разработчики заверяли пользователей, что ответственно подходят к безопасности данных. Так, все файлы во время синхронизации передаются исключительно по защищенному SSL-соединению, а хранятся на сервере в зашифрованном виде (AES-256). Изменив недавно пользовательское соглашение, те же самые люди недвусмысленно дали понять, что лишь ограничивают доступ к файлам для своих сотрудников, но при появлении необходимости, в том числе по запросу правоохранительных органов, Dropbox непременно предоставит доступ к аккаунту любого юзера. Вот такое шифрование.

Я не параноик и скрывать мне, в общем-то, нечего, но открывать кому-либо свои личные файлы мне совершенно не хочется. К тому же я всегда был не в восторге от того, что данные в открытом виде лежат на каждом компьютере, который засинхронизирован с моим аккаунтом Dropbox. Самое время все это безобразие поправить.

Protocol Buffers — Google’s data interchange format by Google Inc.

Copyright 2008 Google Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

  • Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above
    copyright notice, this list of conditions and the following disclaimer
    in the documentation and/or other materials provided with the
    distribution.
  • Neither the name of Google Inc. nor the names of its
    contributors may be used to endorse or promote products derived from
    this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
«AS IS» AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Code generated by the Protocol Buffer compiler is owned by the owner
of the input file used when generating it. This code is not
standalone and requires a support library to be linked with it. This
support library is itself covered by the above license.

4. Mega

Mega — (MEGA Encrypted Global Access) — амбициозный облачный файлообменник Ким Доткома (Kim Dotcom), основателя легендарного Megaupload.

Фишка Mega:  шифрует весь контент прямо в браузере с помощью алгоритма AES; пользователи могут передавать друг другу файлы в зашифрованном виде, при этом все данные хранятся в «облаке»; ключи доступа к файлам не публикуются в открытом доступе, а распространяются по схеме Friend-to-Friend, между доверяющими друг другу пользователями.

Примечательно то, что Mega сразу стартовал с бесплатными 50 Гбайтами (!), кроме того, есть возможность значительно расшириться в платных пакетах:

Пакет Месячная плата Инфо
Базовый Бесплатно 50 Гбайт
Lite 4,99 € 200 Гбайт
Pro I 9,99 € 500 Гбайт
Pro II 19,99 € 2 Тб
Pro III 29,99 € 4 Тб

По предоставляемому дисковому пространству и по его стоимости, Mega, несомненно можно назвать одним из самых выгодных облачных сервисов, кроме того, важное отличие Mega от других подобных сервисов — конфиденциальность, ведь Mega позиционируется как сервис, который защищает личные данные пользователя. Это достигается за счет сквозного шифрования

На данный момент действует акция: если купить платный пакет на год, то.

Сайт Mega:  https://mega.nz

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *