Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 14 лет назад пользователемdeniszh
1 Админская паранойя в быту или страшная криптографическая сказка для самых маленьких параноиков
2 Disclaimer "...Мопед не мой..." Если вы все это знаете или думаете что это бред сумасшедшего параноика - well...
3 Как мы храним пароли? Back to Happy 90s ! Никто не заморачивается и хранит пароли в plain text :)
4 Scary 00's Все плохо :(
5 Пример: perlmonks & ZFO "There is a really simple reason we owned PerlMonks: we couldn't resist more than 50,000 unencrypted programmer passwords."--- ZFO 979 Volma379 Tim Vroom adv59416 Nigel Sandever archforc ELB p3rlm0n Randal L. Schwartz 5348 a5q!po9 Max Maischein pineappl Curtis Poe kieran Rob Kinyon ij7dIcmy Tye McQueen rtkJhiG2 Ben Tilly bZ9jFSgN Tom Leete 1382 p3rlm0 chromatic william Peter Jaquiery MonkEBiz david landgren EahejY7f Abigail davesmit Dave Smith
6 Что же делать? Hash functions to the rescue! MD5, SHA1, SHA256,.... X = MD5(PW) -> храним X Радужные таблицы? Х = MD5(salt + PW) -> храним X и salt Все хорошо? Не совсем.
храним X и Salt Все теперь хор" title="Improvements 1. Использовать случайную "соль" размером как и результат - 160 бит для MD5 "Bytes Are Cheap Now" --- Bruce Schneier 2. Вместо HASH(PW+Salt) нужно использовать HASH(HASH(PW)+Salt)) X = MD5(MD5(PW)+Salt)) -> храним X и Salt Все теперь хор" class="link_thumb"> 7 Improvements 1. Использовать случайную "соль" размером как и результат бит для MD5 "Bytes Are Cheap Now" --- Bruce Schneier 2. Вместо HASH(PW+Salt) нужно использовать HASH(HASH(PW)+Salt)) X = MD5(MD5(PW)+Salt)) -> храним X и Salt Все теперь хорошо? храним X и Salt Все теперь хор"> храним X и Salt Все теперь хорошо?"> храним X и Salt Все теперь хор" title="Improvements 1. Использовать случайную "соль" размером как и результат - 160 бит для MD5 "Bytes Are Cheap Now" --- Bruce Schneier 2. Вместо HASH(PW+Salt) нужно использовать HASH(HASH(PW)+Salt)) X = MD5(MD5(PW)+Salt)) -> храним X и Salt Все теперь хор">
8 GPU Bruteforce 2008г. - Nvidia 8600GT - 64 млн MD5 / сек 2010г. - IGHASHGPU - Fastest SHA1/MD5 hash cracker on ATI and NVIDIA GPUs (с) golubev.com - HD5770+HD GT = млн MD5 / сек (в пересчете на карточку - ускорение в 10 раз за 2 года!) Много это или мало? 8-ми символьные буквенно-цифровые пароли = 368= / = 20 минут (!) (добавление спецсимволов не спасает - 528= ~ 6 часов !)
9 Что делать? Увеличивать вычислительную трудность пароля! Вместо X=MD5(MD5(Pw)+Salt) используем X1 = 0 Xi = MD5(Xi-1+Pw+Salt) i = 1...2M Умные люди советуют M=20 (20 бит энтропии к паролю) Но что делать на Perl? Цикл на раз будет считаться довольно долго... Сколько?
10 Проверим use Digest::MD5 qw(md5 md5_hex); use Benchmark; use String::Random qw(random_string); my $pass = random_string('.'x20); my $salt = random_string('.'x20); timethis(100, ' my $data = 0; foreach ( *1024) { $data = md5($data.$pass.$salt); } $data = md5_hex($data.$pass.$salt); ');
11 Результаты Для 2^20 итераций - timethis 100: 98 wallclock secs (97.45 usr sys = /s (n=100) Для 2^10 итераций чуть лучше - timethis : 93 wallclock secs (92.79 usr sys = /s (n=100000) Более менее-оптимально - при 2^13 итераций - timethis 10000: 76 wallclock secs (75.32 usr sys = /s (n=10000) Достаточно быстро? в принципе да, но не для параноиков :)...
12 Bcrypt to the rescue! - Используется в OpenBSD c 1999г. - Пароли по умолчанию в OwlLinux и AltLinux, поддерживается в OpenSuSE и ASPLinux - PHP Suhoshin Patch, PostgreSQL etc.
13 Features - Основан на шифре Blowfish by Bruce Schneier - Настраиваемый параметр вычислительной сложности M = 5 - вычисляется за 100 мс M = 8 - вычисляется за 5 сек Реализация - Crypt::Eksblowfish::Bcrypt на CPAN
14 Сравним Bcrypt, MD5 и SHA512 M=8 Benchmark: timing 1000 iterations of bcrypt... bcrypt: 25 wallclock secs (24.91 usr sys = /s (n=1000)... M=13 Benchmark: timing 1000 iterations of md5, sha md5: 8 wallclock secs ( 7.31 usr sys = /s (n=1000) sha512: 18 wallclock secs (18.22 usr sys = /s (n=1000)
15 Спорить сюда -
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.