Тұз, Nonces және IV .. айырмашылығы неде?

Парольдер мен пайдаланушылардың қауіпсіздігін сақтау үшін деректерді бұрмалау туралы сөз болғанда, бірнеше түрлі жолдар қажет. Бұл алгоритмдердің барлығында есептеу мүмкіндігі алдын-ала шабуылдарды болдырмау үшін қолданылады, мысалы, Радуга кестелері.

Тұздар, шелтерлер және криптографиялар криптографияда қолданылатын құпия болып табылмайтын, бірақ қосымша қауіпсіздікке әкелетін бір реттік құндылықтар болып табылады. Әдетте бұл құндылықтар шабуылдаушыларға көрінеді, тіпті кейде оларды жасыру мүмкіндігі болса да.

Тұз

Әдетте, тұз парольге негізделген жүйелерде қолданылады және өңдеуден бұрын парольдің алдыңғы жағына жабыстырылады. Басқаша айтқанда, егер тұз болмаса, қаскүнем жалпы парольдердің сөздігін құрып, түпнұсқалық растаманы түпнұсқалық парольден іздей алады.

Тұзды қолдану шабуылдаушыға тұздың барлық мүмкін мәндері үшін толығымен бөлек сөздік жасау керек дегенді білдіреді. Егер тұз жеткілікті мөлшерде болса, ол сөздік шабуылдарын әлдеқайда қолайсыз етеді.

Бұрыш

Бұрыш тұзбен салыстырмалы рөл атқарады, бірақ тұз құпия емес (жай ғана ерекше) және оны шығарылған өнімнің жанында сақтауға болады, бұрыш құпия болып табылады және оны өніммен бірге сақтауға болмайды. Ол сонымен қатар әдетте парольдің соңында бір ғана таңбадан тұрады. Хэш пен тұз әдетте дерекқорда сақталады, бірақ оны дерекқордың бұзылуы жағдайында зиянкестердің алуы үшін оны бөлек сақтау керек (мысалы, конфигурация файлында). Немесе қолданғаннан кейін жай тасталады. Әдетте сіз тұзды да, бұрышты да өз хэшіңізге енгізгіңіз келеді.

Nonce («бір рет қолданылған сан») - бұл көптеген хабарламалардың аутентификация кодтары мен кейбір шифрлау режимдерін қосқанда, криптографиялық протоколдар мен алгоритмдерге жиі енгізілетін деректер жиынтығы. Мұндай құндылықтар тек белгілі бір криптографиялық кілтпен бір уақытта пайдаланылуы керек. Негізінде, қайта пайдалануға тыйым салынбайды, бірақ қайта пайдалану ықтималдығы өте төмен болуы керек.

Кезеңді несцестер кездейсоқ сценарийлерге қарағанда бірнеше артықшылықтарға ие:

  • Сіз жеңіліс қайталанбайтынына оңай кепілдік бере аласыз. Егер мүмкін бос орын үлкен болса, бұл шын мәнінде алаңдамайтынына назар аударыңыз.
  • Көптеген протоколдар әр пакетке бірегей реттік нөмірді жіберіп отыр, сондықтан жіберілетін хабарламалардағы орынды үнемдеуге болады.
  • Қайталама шабуылдардың алдын-алу үшін кездейсоқ реттік ретке келтіруді қолдануға болады, бірақ егер сіз nonce әрдайым өсіп келе жатқандығына көз жеткізсеңіз ғана. Яғни, егер әрбір хабарламада оның қосылысы болса, сіз хабарды дұрыс ретпен келгенін немесе оның мәнін үнемі арттырып отыратындығын тексере отырып біле аласыз.

Алайда, кездейсоқтық кездейсоқтық бір жүйеде бірнеше перне бойынша жұмыс істеуді амортизациялайтын шабуылдардың алдын алуға көмектеседі. Әдетте сіз кездейсоқ бөлікті де, дәйекті бөлікті де алғыңыз келеді.

1-қадам: Клиент SCRAM аутентификация сеансын бастайды

2-қадам: Сервер қиындық туғызады

3-қадам: Клиент дәлелмен жауап береді

Іске қосу векторы

IV немесе бастапқы айнымалылар - бұл бекітілген мөлшердегі енгізу.

IV және nonce жиі бір-бірінің орнына қолданылады. Шын мәнінде, IV дегеніміз - бұл қосымша талапқа сай емес күш: оны алдын-ала болжанбайтын жолмен таңдау керек. Бұл барлық реттік нескольдерді жояды, IV кездейсоқ болуы керек.

BCRYPT

Біз киберқауіпсіздікпен қамтамасыз еткен Рельдердегі Ruby-дің керемет сыйлығы туралы ұмыта алмаймыз. bcrypt () парольдерді бұзуға арналған OpenBSD жобасымен жасалған күрделі және қауіпсіз хэш алгоритмі. Bcrypt Ruby gem парольдерді қауіпсіз пайдалану үшін қарапайым орауышпен қамтамасыз етеді. Әдетте пароль bcrypt алгоритмінен өтіп, басқа қауіпсіздік қабаты үшін «тұздалған» болады.

Тұтастай алғанда, тұздар мен ерітінділер кездейсоқ болуы керек, ал несстер әдетте бірізді, ықтимал кездейсоқ тұз болса, құрамдас бөлігі болады, егер ол бар болса. Бірізді емес үзінділермен сіз ешқашан бір {кілт, nonce} жұптасуды қайталамайтындығыңызға сенімді болуыңыз керек. Егер сізде скрипт сиқыры болмаса, деректерді қорғау үшін бірнеше алгоритмдерді қолданған жөн.