This article is an automated machine-translation of an article in English. We know the translation isn't perfect, but we hope it's useful for people who don't read English.

Ким Dotcom в кодеров взлома по криптографии Mega даже, как мы говорим - в истинно «вечное бета" стиле

Filed Under: Featured, Privacy

Новый файл Ким Dotcom в обмен хранения предприятия, Mega, хочет оградить себя от обвинений в неспособности принять меры против пиратства.

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

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

Но поставить на это обещание, вы должны получить право шифрования.

Как пояснил вчера , ранним показаниям было то, что кодеры МЕГА еще не сделали этого: мы писали о проблемах с энтропией (случайности), дедупликации и использование плохо подобранных данных в регистрации на электронную почту МЕГА, напрасно делает пароля атаки по словарю возможно.

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

Я постараюсь кратко объяснить.

Можно ожидать безопасный сайт, чтобы доставить все ее содержимое через HTTPS, в том числе (или, возможно, особенно) код JavaScript, который приводит в криптографии.

Mega использует HTTPS, но, чтобы сэкономить деньги он служит большую часть своей JavaScript из "дешевых" серверов в распределенной сети доставки контента, которые используют 1024-битные RSA ключи.

→ Короткие ключи RSA требует меньше ресурсов процессора, так что вы получите более высокую производительность для данного затраты. Но распределенных сетей, тем больше серверов и требуют widepsread распределения ключей, таким образом, вы увеличиваете риск компромисс.

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

Это означает, что вам придется идти на компромиссы 2048-битных защищенных серверах и 1024-битный защищенный сервер для того, чтобы служить несанкционированного скриптов из нижней части безопасности сети.

Вот! Отличный способ, чтобы ваш торт безопасности, но платить меньше, чтобы доставить его.

Вчера, однако, fail0verflow документально шифрования кода подаются с более высокой безопасности серверов.

Хэширования кода используется для проверки подлинности наличие Исходя из нижних безопасности серверов была функция H () ниже:


function h(s)
{
var a = [0,0,0,0];
var aes = new sjcl.cipher.aes([111111,222222,333333,444444]);
s += Array(16).join('X');

для (VAR я = s.length & -16; я -;) {
[(I >> 2) и 3] = s.charCodeAt (я) << ((7-я и 3) << 3);
если aes.encrypt = () ((я и 15)!);
}
вернуться;
}
[/ Исходным кодом]

Не волнуйтесь, если вы не говорите JavaScript. Все, что вам нужно знать, это:

  • Функция H () представляет собой алгоритм известен как ключи CBC-MAC .
  • CBC-MAC-не являются безопасными, если ключ находится в безопасности. Вы можете создать подделку, если вы знаете ключ.
  • Ключ, используемый в час () является проводной и небезопасно. Это право есть: массив JavaScript [111111,222222,333333,444444].

Уч. Вы не можете использовать CBC-MAC-так. Вы должны использовать правильный хэш криптографической вместо этого.

SHA-3 или SHA-256, возможно, будет хорошей идеей. Как fail0verflow отметил, SHA-1 будет в порядке, и даже MD5 будет лучше, чем приведенный выше код, несмотря на известные слабости криптографических MD5 автора.

Серебряные накладки, конечно, является то, что облачные сервисы могут выдавать обновления практически мгновенно. Просто обслуживать новый код в следующий раз, когда пользователь посещает ваш сайт.

(Да, вы обходят традиционные контроля изменений, потому что пользователю не будет предложено выбрать, если или когда нужно обновить. Но вы также избежать медлительности управления изменениями, потому что пользователю не будет предложено выбрать, если или когда нужно обновить.)

И, конечно же, в этот день, Mega приняли fail0verflow консультации врача.

2048-битный защищенный крипто кодом, который защищает 1024-битного шифрования защищенного кода была обновлена:

1
function sha256(d)
{
h = new sjcl.hash.sha256();
for (var i = 0; i < d.length; i += 131072)
h = h.update(d.substr(i,131072));
return h.finalize();
}

Теперь, SHA-256 используется вместо CBC-MAC с проводной ключ.

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

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

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

В самом деле, почему бы не шифровать свои данные самостоятельно, всегда и в любом случае? Это ваши данные, в конце концов.

You might like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

About the author

Paul Ducklin is a passionate security proselytiser. (That's like an evangelist, but more so!) He lives and breathes computer security, and would be happy for you to do so, too. Paul won the inaugural AusCERT Director's Award for Individual Excellence in Computer Security in 2009. Follow him on Twitter: @duckblog