ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ГрафичСская аутСнтификация Π² Linux

Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π΅ΡΡ‚ΡŒ «Π±ΠΈΠ½ΠΎΠΌΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ коэффициСнт» (Π²Ρ‹Π±ΠΎΡ€ Π»ΡŽΠ±Ρ‹Ρ… К ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² срСди N). ΠŸΡ€ΠΈ N = 399, К = 5 (числа N ΠΈ K Π²Ρ‹Π±Ρ€Π°Π½Ρ‹, исходя ΠΈΠ· ΡΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ удобства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ), число Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Ρ€Π°Π²Π½ΠΎ. Π­Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС, Ρ‡Π΅ΠΌ число Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π΄Π»ΠΈΠ½Ρ‹ 5. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ К ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ довольно случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ГрафичСская аутСнтификация Π² Linux (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ агСнтство ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ ГосударствСнноС ΠΎΠ±Ρ‰Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования

" ЧСлябинский государствСнный унивСрситСт"

ΠšΠ°Ρ„Π΅Π΄Ρ€Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ бСзопасности ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹

Π”Π˜ΠŸΠ›ΠžΠœΠΠΠ― Π ΠΠ‘ΠžΠ’Π

ГрафичСская аутСнтификация Π² Linux

НаправлСниС 75 200 ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π° студСнтка Π³Ρ€. МК-601

Π‘ΡƒΠ΄ΠΊΠΎ Π•.Π“.

Научный Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ ОЭУБ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ

" Π˜Π½Ρ‚Π΅Ρ€ΡΠ²ΡΠ·ΡŒ" АртСмова Π­.Π›.

ЧСлябинск 2011 Π³.

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • I. Π‘Ρ…Π΅ΠΌΡ‹ графичСской Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ
  • Π‘ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ
  • ΠŸΡ€ΠΎΡΡ‚Π°Ρ схСма графичСского пароля
  • Π‘Ρ…Π΅ΠΌΠ° Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°
  • Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ Ρ€Π°ΠΌΠΊΠΈ
  • Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ гСомСтричСскиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
  • II. ОписаниС PAM-модуля pam_triangle
  • III. ОписаниС PAM-модуля pam_diagonal
  • IV. ИсслСдованиС удобства ΠΈ ΠΏΡ€ΠΎΡΡ‚ΠΎΡ‚Ρ‹ использования
  • V. ИсслСдованиС бСзопасности
  • Атака ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ наТатия Π½Π°ΡƒΠ΄Π°Ρ‡Ρƒ Π½Π° ΡΡ…Π΅ΠΌΡƒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°
  • Атака ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ наТатия Π½Π°ΡƒΠ΄Π°Ρ‡Ρƒ Π½Π° ΡΡ…Π΅ΠΌΡƒ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ
  • Атака ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π½Π° ΡΡ…Π΅ΠΌΡƒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°
  • Атака ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π½Π° ΡΡ…Π΅ΠΌΡƒ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

ЧСловСчСскиС сущСства ΠΆΠΈΠ²ΡƒΡ‚ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΡΡ€Π΅Π΄Π΅, Π³Π΄Π΅ восприятиС Π·Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π²ΠΈΠ΄ΠΎΠ² Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, поэтому наш ΠΌΠΎΠ·Π³ способСн ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ графичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ. Π₯отя Π½Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ строку ΠΈΠ· ΠΏΡΡ‚идСсяти символов, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π»ΠΈΡ†Π° людСй, мСст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠΎΡΠ΅Ρ‚ΠΈΠ»ΠΈ, ΠΈ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ. Π­Ρ‚ΠΈ графичСскиС Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ большиС возмоТности для ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° пароля. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, графичСскиС схСмы ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π΄Π°ΡŽΡ‚ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ понятными Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ уровня бСзопасности.

ЦСлью ΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… схСм графичСской Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, рСализация ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ схСм графичСской Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах Linux ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ° вСроятности Π²Π·Π»ΠΎΠΌΠ° графичСского пароля Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ.

I. Π‘Ρ…Π΅ΠΌΡ‹ графичСской Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

ΠŸΠ°Ρ€ΠΎΠ»ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠ°Ρ€ΠΎΠ»ΠΈ состоят ΠΈΠ· Π±ΡƒΠΊΠ² ΠΈ Ρ†ΠΈΡ„Ρ€, Ρ‚. Π΅. Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ большой нСдостаток: ΠΈΡ… Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ.

Π’ ΡΡ‚ΠΎΠΉ Π³Π»Π°Π²Π΅ я Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ графичСскиС ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ состоят ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ выполняСт Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π»Π΅Π³Ρ‡Π΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Π½ΠΎ ΠΎΠ½ΠΈ уязвимы ΠΊ ΠΏΠΎΠ΄Π³Π»ΡΠ΄Ρ‹Π²Π°Π½ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π΅Ρ‡ΠΎ. Π’Π°ΠΊΠΆΠ΅ я Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ нСсколько схСм графичСских ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ, ΠΏΡ€ΠΈ использовании ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΎΠΏΠ°ΡΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ стоящий Π·Π° Π΅Π³ΠΎ спиной Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ Π΅Π³ΠΎ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ снят Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ€Ρƒ.

Π‘ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ

Π‘ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π±Ρ‹Π»ΠΈ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π² 1960;Π΅ Π³ΠΎΠ΄Ρ‹ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ бСзопасности, ΠΊΠΎΠ³Π΄Π° Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° пСрвая ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ опСрационная систСма. Π‘ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ — просто строка ΠΈΠ· Π±ΡƒΠΊΠ² ΠΈ Ρ†ΠΈΡ„Ρ€. Π₯отя ΠΏΠΎΡ‡Ρ‚ΠΈ любая строка ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ пароля, эти ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ слоТны Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΡƒΠ³Π°Π΄Π°Π½Ρ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ для Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ:

Π¨ ΠŸΠ°Ρ€ΠΎΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 8 символов.

Π¨ ΠŸΠ°Ρ€ΠΎΠ»ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, фамилия, Π΄Π°Ρ‚Π° роТдСния).

Π¨ ΠŸΠ°Ρ€ΠΎΠ»ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ словом, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΡΠ»ΠΎΠ²Π°Ρ€Π΅.

Π¨ Π’ ΠΈΠ΄Π΅Π°Π»Π΅, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистры Π±ΡƒΠΊΠ² ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹.

графичСская аутСнтификация linux ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π”Ρ€ΡƒΠ³ΠΈΠΌ нСдостатком Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ. Из-Π·Π° трудности Π² Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΈ случайных строк символов, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ общСизвСстноС слово ΠΈΠ»ΠΈ имя. К ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, Π΅ΡΡ‚ΡŒ нСсколько инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΡƒΡ‚Π΅ΠΌ автоматичСского тСстирования всСх слов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡΡ… ΠΈΠ»ΠΈ общСствСнных ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…. Π­Ρ‚ΠΎ Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ Π²ΡΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ это Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π² ΠΏΠΎΠΈΡΠΊΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΄Π°Π½Π½ΠΎΠΉ систСмы.

Атака ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ Π½Π° Π³Ρ€Π°Ρ„ичСскиС ΠΏΠ°Ρ€ΠΎΠ»ΠΈ нСдостиТима частично ΠΈΠ·-Π·Π° большого пространства ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ, ΠΈ, Π³Π»Π°Π²Π½ΠΎΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ доступных для поиска словарСй для графичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π°Ρ‚Π°ΠΊΡƒ. Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π»ΠΈΡ†ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π·Π°Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ Π½Π΅ΠΌΠ°Π»ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, обрабатывая ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π±Π°ΠΉΡ‚ графичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Рассмотрим графичСскиС ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ состоят ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ выполняСт Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ.

ΠŸΡ€ΠΎΡΡ‚Π°Ρ схСма графичСского пароля

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ прост, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΊΠ°ΠΊ простой графичСский ΠΏΠ°Ρ€ΠΎΠ»ΡŒ сорСвнуСтся ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΠΈ со ΡΠ²ΠΎΠΈΠΌΠΈ Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ°ΠΌΠΈ. Для Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ 4 Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… областСй Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» эти области, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΡΠΎΠ·Π΄Π°Π²Π°Π» ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. Π’Ρ‹Π±ΠΎΡ€ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… областСй ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ мСста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΡΡ‡ΠΈΡ‚Π°Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡ‹ΠΌΠΈ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ввСсти свои собствСнныС Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ для создания графичСских ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Ρ†Π΅Π»ΡΡ… ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ бСзопасности, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ количСство Ρ‚ΠΎΡ‡Π΅ΠΊ Π² ΠΏΠ°Ρ€ΠΎΠ»Π΅.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, самый большой нСдостаток для Π΄Π°Π½Π½ΠΎΠ³ΠΎ графичСского пароля — ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° подглядывания Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π΅Ρ‡ΠΎ. Π₯отя графичСскиС ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ наблюдал нСсколько сСансов Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ, ΠΌΠΎΠΆΠ΅Ρ‚, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΡΡ…Π΅ΠΌΡ‹, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для всСх, ΠΊΡ‚ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ.

Из-Π·Π° этой уязвимости ΠΊ ΠΏΠΎΠ΄Π³Π»ΡΠ΄Ρ‹Π²Π°Π½ΠΈΡŽ, казалось Π±Ρ‹, Ρ‡Ρ‚ΠΎ графичСскиС ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΡΡ€Π΅Π΄Π°Ρ…, Π³Π΄Π΅ экрана Π²ΠΈΠ΄ΠΈΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, входящий Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ. Однако, примСняя ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ «Π²ΠΎΠΏΡ€ΠΎΡ — ΠΎΡ‚Π²Π΅Ρ‚» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ схСму, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅.

Π‘Ρ…Π΅ΠΌΠ° Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

БистСма случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ рассСиваСт N ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΊΡ€Π°Π½Π΅. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, число N ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько сотСн ΠΈΠ»ΠΈ нСсколько тысяч, ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΈΡ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅ΡΡ‚ΡŒ подмноТСство K ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, K=10), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Π» ΠΈ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. ΠŸΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ систСма Π±ΡƒΠ΄Π΅Ρ‚ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ N ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Однако, систСма сначала случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ участок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ экрана, ΠΈ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ К Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΡ‚ΠΎΠΌ участкС.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΠΉΡ‚ΠΈ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΉΡ‚ΠΈ 3 ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ изобраТСния ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, созданного этими 3 изобраТСниями. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ…ΠΎΠ΄Π΅ эта Π·Π°Π΄Π°Ρ‡Π° повторяСтся нСсколько (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 10) Ρ€Π°Π·, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ отобраТСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² N. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ случайного наТатия Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π³ΠΈΠΎΠ½ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ являСтся ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΎΠΉ.

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ Ρ€Π°ΠΌΠΊΠΈ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π΅ ΠΆΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ схСмС, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΉΡ‚ΠΈ 3 ΠΈΠ· K ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Но Π½Π° ΡΡ‚ΠΎΡ‚ Ρ€Π°Π·, 3 ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ изобраТСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π»ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ Π»ΠΈΡˆΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ… находится Π² ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ Ρ€Π°ΠΌΠΊΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ отобраТаСтся Π² Ρ€Π°ΠΌΠΊΠ΅, ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΡƒΡŽΡ‚ΡΡ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ.

Π—Π°Π΄Π°Ρ‡Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ состоит Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Ρ€Π°ΠΌΠΊΠΈ (ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π΅, ΠΊΠ°ΠΊ Π»Π΅Π½Ρ‚Ρ‹) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΊΠ°Π΄Ρ€Π° Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ€Π°ΠΌΠΊΠ΅ Π½Π΅ Π²Ρ‹ΡΡ‚роится ΠΏΠΎ Π»ΠΈΠ½ΠΈΠΈ с Π΄Π²ΡƒΠΌΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ изобраТСниями. Как ΠΈ ΠΏΡ€Π΅ΠΆΠ΄Π΅, эта ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° повторяСтся нСсколько Ρ€Π°Π·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ свСсти ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π²ΠΎΠΉΡ‚ΠΈ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ, Π½Π°ΡƒΠ³Π°Π΄ двигая Ρ€Π°ΠΌΠΊΡƒ.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ гСомСтричСскиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π΅ ΠΆΠ΅ ΠΈΠ΄Π΅ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ слоТных ΠΏΡƒΡ‚Π΅ΠΉ, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΊΡƒΠ΄Π° ΠΊΠ»ΠΈΠΊΠ°Ρ‚ΡŒ Π·Π° ΡΡ‡Π΅Ρ‚ увСличСния числа ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π­Ρ‚Π° схСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ пСрСсСчСниС Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… 4 ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ изобраТСниями (ΠΈΠ· Πš Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ). ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΡŒΡŽ Π²Π±Π»ΠΈΠ·ΠΈ пСрСсСчСния этих Π΄Π²ΡƒΡ… Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ, Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Ρ‹ΠΏΡƒΠΊΠ»ΠΎΠ³ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ 4 ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ изобраТСниями.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… схСм Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Π‘Ρ…Π΅ΠΌΠ°

ИспользованиС

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΠΎΡΡ‚ΡŒ

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π°Ρ‚Π°ΠΊΠΈ

Π‘ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ

ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΈΠ΅ символов, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ быстрым.

Зависит ΠΎΡ‚ ΠΏΠ°Ρ€ΠΎΠ»Ρ. Π”Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΈ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ слоТно.

96n (всСго 96 ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… символов, n — Π΄Π»ΠΈΠ½Π° пароля)

Атака со ΡΠ»ΠΎΠ²Π°Ρ€Π΅ΠΌ, Π°Ρ‚Π°ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, подглядываниС Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π΅Ρ‡ΠΎ.

ΠŸΡ€ΠΎΡΡ‚Π°Ρ схСма графичСского пароля

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ 4 Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… областСй Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ.

Зависит ΠΎΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Π½ΡŒ простым для запоминания, Ρ‚Π°ΠΊ ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ тяТСлым.

nk (n — количСство пиксСлСй ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… участков изобраТСния, k — количСство областСй Π² ΠΏΠ°Ρ€ΠΎΠ»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ)

Атака ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, Π°Ρ‚Π°ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ наТатия Π½Π°ΡƒΠ΄Π°Ρ‡Ρƒ, подглядываниС Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π΅Ρ‡ΠΎ.

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ Ρ€Π°ΠΌΠΊΠΈ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Ρ€Π°ΠΌΠΊΡƒ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΊΠ°Π΄Ρ€Π° ΠΏΠΎΠΊΠ° ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ€Π°ΠΌΠΊΠ΅ Π½Π΅ Π²Ρ‹ΡΡ‚роится ΠΏΠΎ Π»ΠΈΠ½ΠΈΠΈ с Π΄Π²ΡƒΠΌΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ изобраТСниями.

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° людСй достаточно просто.

(n — ΠΎΠ±Ρ‰Π΅Π΅ число ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, k — число ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ)

Атака ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, Π°Ρ‚Π°ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ наТатия Π½Π°ΡƒΠ΄Π°Ρ‡Ρƒ.

Π‘Ρ…Π΅ΠΌΠ° Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΉΡ‚ΠΈ 3 ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ изобраТСния ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, созданного 3 изобраТСниями.

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° людСй достаточно просто.

(n — ΠΎΠ±Ρ‰Π΅Π΅ число ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, k — число ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ)

Атака ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, Π°Ρ‚Π°ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ наТатия Π½Π°ΡƒΠ΄Π°Ρ‡Ρƒ.

ΠŸΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΉΡ‚ΠΈ 4 ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… изобраТСния ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… 4 ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ изобраТСниями

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° людСй достаточно просто.

(n — ΠΎΠ±Ρ‰Π΅Π΅ число ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, k — число ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ)

Атака ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, Π°Ρ‚Π°ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ наТатия Π½Π°ΡƒΠ΄Π°Ρ‡Ρƒ.

II. ОписаниС PAM-модуля pam_triangle

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ pam_triangle Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ графичСской Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ схСмой Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. ΠŸΡ€ΠΈ использовании этой схСмы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΎΠΏΠ°ΡΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ стоящий Π·Π° Π΅Π³ΠΎ спиной Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ Π΅Π³ΠΎ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ снят Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ€Ρƒ.

Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° passwd-triangle ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для создания графичСского пароля. ΠŸΡ€ΠΈ запускС ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля Π΅Π³ΠΎ имя ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ изобраТСния Π² ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠΌ порядкС. НомСра ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π±Ρ€Π°Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ для своСго пароля, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ /etc/triangle/passwords.

Π€Π°ΠΉΠ» passwords состо5ΠΈΡ‚ ΠΈΠ· ΡΡ‚Ρ€ΠΎΠΊ Π²ΠΈΠ΄Π°:

имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½ΠΎΠΌΠ΅Ρ€_изобраТСния1. Π½ΠΎΠΌΠ΅Ρ€_изобраТСния5

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ 1. png,

2. png, … хранятся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /etc/triangle/pictures.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ pam_triangle Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ запускС сСрвиса (login, su ΠΈΠ»ΠΈ Π΄Ρ€.). ΠœΠΎΠ΄ΡƒΠ»ΡŒ считываСт ΠΈΠ· Ρ„Π°ΠΉΠ»Π° /etc/triangle/passwords Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ Π² ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠΌ порядкС 154 изобраТСния, Ρ‚Ρ€ΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ изобраТСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» для своСго пароля. ПослС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΅Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. Выбранная ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΎΡ‡ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΡƒ, Ссли синусы ΡƒΠ³Π»ΠΎΠ² ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ°. Для нахоТдСния Π·Π½Π°ΠΊΠ° синусов ΡƒΠ³Π»ΠΎΠ² Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ псСвдовСкторным ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ.

ΠŸΡΠ΅Π²Π΄ΠΎΡΠΊΠ°Π»ΡΡ€Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² a ΠΈ b Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ называСтся число. Если, , Ρ‚ΠΎ ΠΈΡ… ΠΏΡΠ΅Π²Π΄ΠΎΡΠΊΠ°Π»ΡΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, составлСнной ΠΈΠ· ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², выписанных Π² ΡΡ‚Ρ€ΠΎΠΊΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Для нахоТдСния Π·Π½Π°ΠΊΠΎΠ² синусов ΡƒΠ³Π»ΠΎΠ², ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ, достаточно ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ выраТСния:

(x1-x0) * (y2-y1) — (x2-x1) * (y1-y0)

(x2-x0) * (y3-y2) — (x3-x2) * (y2-y0)

(x3-x0) * (y1-y3) — (x1-x3) * (y3-y0)

Π—Π΄Π΅ΡΡŒ (x1, y1), (x2, y2), (x3, y3) — Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, (x0, y0) — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ изобраТСния.

Π—Π½Π°ΠΊΠΈ синусов ΡƒΠ³Π»ΠΎΠ² ΠΈ Π²Ρ‹ΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ.

Если всС синусы ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ°, Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Ссли Ρ€Π°Π·Π½ΠΎΠ³ΠΎ — Π½Π΅Ρ‚. Если хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ синус Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ, Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° ΠΏΠΎΠΏΠ°Π»Π° Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Ρƒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ pam-модуля Π±Ρ‹Π» использован инструмСнтарий Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠŸΠž qt4. Π―Π·Ρ‹ΠΊΠ΅ программирования Π‘++. Для тСстирования Π±Ρ‹Π» использован дистрибутив Ubuntu 10.10 с Π²Π΅Ρ€ΡΠΈΠ΅ΠΉ ядра Linux 2.6.35.

Установка модуля

Для установки модуля трСбуСтся:

Β· Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„Π°ΠΉΠ»Π° с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ сСрвиса (login, su ΠΈΠ»ΠΈ Π΄Ρ€.), располоТСнного Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc/pam. d/ строку Π²ΠΈΠ΄Π°:

auth <οΏ½Ρ„Π»Π°Π³_контроля> pam-triangle. so

Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ стандартной Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΡ‚ΠΎΠΌ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π΅ строку:

@include common-auth

Π’ Linux-PAM сущСствуСт всСго Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ„Π»Π°Π³Π° контроля:

Π¨ required. Если ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ‹Π΄Π°Π» ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ‚ΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, Π½ΠΎ Π·Π°ΠΏΡ€ΠΎΡ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½.

Π¨ requisite. Если ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка модуля, Ρ‚ΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ заканчиваСтся, ΠΈ Π·Π°ΠΏΡ€ΠΎΡ отклоняСтся.

Π¨ sufficient. Если ΠΌΠΎΠ΄ΡƒΠ»ΡŒ выполнился Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠ΅Π» Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ, Ρ‚ΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° заканчиваСтся, ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ся ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠΈ доступа. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ ошибки ΠΌΠΎΠ΄ΡƒΠ»ΡŒ игнорируСтся, ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ.

Π¨ optional. ΠœΠΎΠ΄ΡƒΠ»ΡŒ с ΡΡ‚ΠΈΠΌ Ρ„Π»Π°Π³ΠΎΠΌ Π½Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½, Π½ΠΎ Π΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ игнорируСтся.

Β· Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ скрипт triangle. sh

Β· Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ passwd-triangle, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Для создания пароля запускаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ passwd-triangle. Π’ ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΠΎΠΊΠ½ΠΎ Π²Π²ΠΎΠ΄Π° пароля. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… изобраТСния для своСго графичСского пароля ΠΈΠ· 399 ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ….

Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, администратор систСмы смоТСт Π΅ΠΌΡƒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ, запустив ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ passwd-triangle.

ΠŸΡ€ΠΈ запускС сСрвиса (login, su ΠΈΠ»ΠΈ Π΄Ρ€.), вмСсто Π²Π²ΠΎΠ΄Π° пароля появляСтся ΠΎΠΊΠ½ΠΎ для Π²Π²ΠΎΠ΄Π° графичСского пароля, состоящСС ΠΈΠ· 154 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

1. Найти Ρ‚Ρ€ΠΈ изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΅Π³ΠΎ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

2. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ этими изобраТСниями.

3. ΠšΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ рисунок наглядно ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² ΡΡ…Π΅ΠΌΠ΅ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

III. ОписаниС PAM-модуля pam_diagonal

Π’ PAM-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ pam_diagonal Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ графичСской Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ схСмой пСрСсСчСния Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. ΠŸΡ€ΠΈ использовании этой схСмы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΎΠΏΠ°ΡΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ стоящий Π·Π° Π΅Π³ΠΎ спиной Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ Π΅Π³ΠΎ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ снят Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ€Ρƒ.

Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° passwd-diagonal ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для создания графичСского пароля. ΠŸΡ€ΠΈ запускС ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля Π΅Π³ΠΎ имя ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ изобраТСния Π² ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠΌ порядкС. НомСра ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π±Ρ€Π°Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ для своСго пароля, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ /etc/diagonal/passwords.

Π€Π°ΠΉΠ» passwords состоит ΠΈΠ· ΡΡ‚Ρ€ΠΎΠΊ Π²ΠΈΠ΄Π°:

имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½ΠΎΠΌΠ΅Ρ€_изобраТСния1 Π½ΠΎΠΌΠ΅Ρ€_ изобраТСния2 Π½ΠΎΠΌΠ΅Ρ€_ изобраТСния3 Π½ΠΎΠΌΠ΅Ρ€_изобраТСния4 Π½ΠΎΠΌΠ΅Ρ€_изобраТСния5

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ 1. png,

2. png, … хранятся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /etc/diagonal/pictures.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ pam_diagonal Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ запускС сСрвиса (login, su ΠΈΠ»ΠΈ Π΄Ρ€.). ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ 154 изобраТСния Π² ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠΌ порядкС. Из Π½ΠΈΡ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ изобраТСниями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ считываСт ΠΈΠ· Ρ„Π°ΠΉΠ»Π° /etc/diagonal/passwords. ΠŸΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ изобраТСния Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅Π²Ρ‹Ρ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΠΏΡƒΠΊΠ»Ρ‹ΠΉ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ. ПослС ΠΊΠ»ΠΈΠΊΠ° ΠΌΡ‹ΡˆΡŒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, Π»Π΅ΠΆΠΈΡ‚ Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠΈ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ pam-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π±Ρ‹Π» использован инструмСнтарий Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠŸΠž qt4. Π―Π·Ρ‹ΠΊΠ΅ программирования Π‘++. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ‚Сстирования Π±Ρ‹Π» использован дистрибутив Ubuntu 10.10 с Π²Π΅Ρ€ΡΠΈΠ΅ΠΉ ядра Linux 2.6.35.

Установка модуля

Для установки модуля трСбуСтся:

Β· Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„Π°ΠΉΠ»Π° с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ сСрвиса (login, su ΠΈΠ»ΠΈ Π΄Ρ€.), располоТСнного Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc/pam. d/ строку Π²ΠΈΠ΄Π°:

auth <οΏ½Ρ„Π»Π°Π³_контроля> pam-triangle. so

Β· Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ скрипт diagonal. sh

Β· Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ passwd-diagonal, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Для создания пароля запускаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ passwd-diagonal. Π’ ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΠΎΠΊΠ½ΠΎ Π²Π²ΠΎΠ΄Π° пароля. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… изобраТСния ΠΈΠ· 399 ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ….

Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, администратор систСмы смоТСт Π΅ΠΌΡƒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ, запустив ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ passwd-diagonal.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ запускС сСрвиса (login, su ΠΈΠ»ΠΈ Π΄Ρ€.), вмСсто Π²Π²ΠΎΠ΄Π° пароля Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΎΠΊΠ½ΠΎ Π²Π²ΠΎΠ΄Π° графичСского пароля, содСрТащСС 154 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

1. Найти 4 свои ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ.

2. ΠœΡ‹ΡΠ»Π΅Π½Π½ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ.

3. ΠšΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ находится Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠΈ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅:

IV. ИсслСдованиС удобства ΠΈ ΠΏΡ€ΠΎΡΡ‚ΠΎΡ‚Ρ‹ использования

Π’ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ приняли участиС 15 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Π”Π΅ΡΡΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ — ΠΆΠ΅Π½Ρ‰ΠΈΠ½Ρ‹ ΠΈ ΠΏΡΡ‚ΡŒ ΠΌΡƒΠΆΡ‡ΠΈΠ½. Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ возраст участников 22,4 Π³ΠΎΠ΄Π°. Участники ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, 5 часов Π² Π΄Π΅Π½ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π»ΠΈΡ‡Π½Ρ‹Ρ… Π½ΡƒΠΆΠ΄.

ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, использовавшиСся Π² Ρ‚Сстировании, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΠΈΠ³Ρ€Ρ‹. Одна ΠΈΠ· Π½ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ схСму Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, другая — схСму пСрСсСчСния Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ.

1. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ сначала Π±Ρ‹Π»ΠΈ объяснСна ΡΡƒΡ‚ΡŒ схСмы Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈ ΡΡ…Π΅ΠΌΡ‹ пСрСсСчСния Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ. Участников ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Π² ΡΡ…Π΅ΠΌΠ΅ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π½Π΅ Π½Π° ΡΠ°ΠΌΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ изобраТСния, Π° Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ этими изобраТСниями. Π’Π°ΠΊΠΆΠ΅ участников ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ нСльзя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ курсор ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ изобраТСния ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Ρ„ΠΈΠ³ΡƒΡ€ Π² ΡΡ…Π΅ΠΌΠ°Ρ… Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈ ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΡ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΡƒΠΊΡ€Π°ΡΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ изобраТСния ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΠΊΡƒ.

2. ΠŸΡ€ΠΈ запускС ΠΎΠ±ΠΎΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдлагаСтся ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. ΠŸΡ€ΠΈ создании пароля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ порядкС Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ 399 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Участникам Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой графичСский ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ³Ρ€Ρƒ. ΠŸΡ€ΠΈ запускС ΠΈΠ³Ρ€Ρ‹ появляСтся ΠΏΠΎΠ»Π΅ ΡƒΠΆΠ΅ с 154 изобраТСниями, нСсколько ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ изобраТСниями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’Ρ€ΠΈ Ρ€Π°ΡƒΠ½Π΄Π°, состоящих ΠΈΠ· Π²Π²ΠΎΠ΄Π° пароля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ сообщСниСм, справился Π»ΠΈ ΠΎΠ½ с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Π‘Ρ‹Π» достигнут Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник Π² ΠΎΠ±Π΅ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΌΠΎΠ³ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ. Π Π°Π±ΠΎΡ‚Π° с ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ заняла ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 20 ΠΌΠΈΠ½ΡƒΡ‚.

3. На ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ сСссии ΠΎΠ΄Π½Ρƒ нСдСлю спустя участникам Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ввСсти свой ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. БСссия ΠΏΡ€ΠΎΠ΄Π»ΠΈΠ»Π°ΡΡŒ ΠΎΠΊΠΎΠ»ΠΎ 5 ΠΌΠΈΠ½ΡƒΡ‚.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

ВсС участники достигли критСрия дСсяти ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π²Π²ΠΎΠ΄ΠΎΠ² пароля. Π”Π΅ΡΡΡ‚ΡŒ участников достигли критСрия сразу ΠΆΠ΅. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡΡ‚ΡŒ участников сдСлали ΠΎΡ‚ 2 Π΄ΠΎ 5 ошибок, Π² ΠΎΠ±Ρ‰Π΅ΠΉ слоТности 15 Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π²Π²ΠΎΠ΄ΠΎΠ² пароля Ρƒ Π²ΡΠ΅Ρ… участников. Π­Ρ‚ΠΈ люди ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΡΡ‚ΠΈΠ³Π»ΠΈ дСсяти ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² подряд. Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΎΠ² Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ для схСмы Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° 90,2%, для схСмы Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ — 80,7%.

Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя для Π²Π²ΠΎΠ΄Π° пароля для схСмы Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° составило 28 сСкунд, Π° Π΄Π»Ρ схСмы пСрСсСчСния Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ — 36 сСкунд.

ВрСмя Π²Π²ΠΎΠ΄Π° пароля ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡƒΡ‡Π°ΡΡ‚Π½ΠΈΠΊΠΎΠ².

β„– ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ

ВрСмя Π²Π²ΠΎΠ΄Π° пароля для схСмы Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, с

ВрСмя Π²Π²ΠΎΠ΄Π° пароля для схСмы пСрСсСчСния Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ, с

На Π²Ρ‚ΠΎΡ€ΠΎΠΉ сСссии, ΠΎΠ΄Π½Ρƒ нСдСлю спустя, всС участники Π±Ρ‹Π»ΠΈ Π² ΡΠΎΡΡ‚оянии ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ввСсти свой ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π·Π° ΠΌΠ΅Π½ΡŒΡˆΠ΅Π΅ врСмя.

Π‘Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, насколько ΡƒΠ΄ΠΎΠ±Π½Π° Ρ‚Π° ΠΈ Π΄Ρ€ΡƒΠ³Π°Ρ схСмы. Π”Π΅ΡΡΡ‚ΡŒ участников сообщили, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нашли это Π·Π°Π±Π°Π²Π½Ρ‹ΠΌ. Π’Ρ€ΠΎΠΈΠΌ участникам Π²Π²ΠΎΠ΄ пароля Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΡΡ Π·Π°Π±Π°Π²Π½Ρ‹ΠΌ, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΎΠ½ΠΈ нашли Π΅Π³ΠΎ скучным ΠΈ ΠΎΠ΄Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΌ. Π”Π²ΠΎΠ΅ участников Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ мнСния ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… схСмах.

Когда участники ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ мСстополоТСниС своих ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ мыслСнно ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π² ΡΡ…Π΅ΠΌΠ΅ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° Π² ΡΡ…Π΅ΠΌΠ΅ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ. Участники Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈ Π΅Π³ΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Π°ΠΆΠ½ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ пСрСсСчСния Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ ΠΈ Π½Π΅ ΠΎΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ, ΠΈΠ½Π°Ρ‡Π΅ ΠΈΠ³Ρ€Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Π½Π°.

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ графичСскиС ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ, Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ Π²Π²ΠΎΠ΄Π° пароля Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ сократится ΠΈ ΠΏΡ€ΠΎΡ†Π΅ΡΡ станСт автоматичСским.

V. ИсслСдованиС бСзопасности

Атака ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ наТатия Π½Π°ΡƒΠ΄Π°Ρ‡Ρƒ Π½Π° ΡΡ…Π΅ΠΌΡƒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ всСгда ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²ΠΎΠΉΡ‚ΠΈ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ, наТимая Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ Π½Π°ΡƒΠ³Π°Π΄. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ этой Π°Ρ‚Π°ΠΊΠΈ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ число всСвозмоТных Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² n, ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° Si (i=1…n). Π’Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

(Π³Π΄Π΅ S — ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΎΠΊΠ½Π° для Π²Π²ΠΎΠ΄Π° пароля).

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ случайного Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ Π±Ρ‹Π»Π° написана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая считаСт Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ случайным ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. Π’ΠΎ Π΅ΡΡ‚ΡŒ рассматривался ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² (учитывая всС Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ограничСния ΠΏΠΎ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ), Π²Ρ‹ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»Π°ΡΡŒ Π΅Π³ΠΎ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΈ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎ Π½Π΅ΠΌΡƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ случайного Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ минимальной, Π½ΡƒΠΆΠ½ΠΎ:

Β· «ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ» изобраТСния ΠΎΡ‚ Ρ€Π°ΡƒΠ½Π΄Π° ΠΊ Ρ€Π°ΡƒΠ½Π΄Ρƒ;

Β· ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠΊΠ½Π° Π²Π²ΠΎΠ΄Π° пароля Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°; ΠΊΠΎΠ³Π΄Π° ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒ всСй ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΎΠΊΠ½Π° Π²Π²ΠΎΠ΄Π° пароля, располоТСниС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ;

Β· ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ числа Ρ€Π°ΡƒΠ½Π΄ΠΎΠ² ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ схСмы.

Атака ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ наТатия Π½Π°ΡƒΠ΄Π°Ρ‡Ρƒ Π½Π° ΡΡ…Π΅ΠΌΡƒ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ

ΠŸΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдлагаСтся ΠΏΠΎΠ»Π΅ ΠΈΠ· 154 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (14×11). Из Π½ΠΈΡ… 108 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (12×9) ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ пСрСсСчСния Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ (ΠΊΡ€Π°ΠΉΠ½ΠΈΠ΅ изобраТСния Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€ΠΎΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ наТатия Π½Π°ΡƒΠ΄Π°Ρ‡Ρƒ Π½Π° ΡΡ…Π΅ΠΌΡƒ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° для Ρ‚Ρ€Π΅Ρ… Ρ€Π°ΡƒΠ½Π΄ΠΎΠ² составляСт

.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ случайного Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°ΡƒΠ½Π΄ΠΎΠ² минимальной, Π½ΡƒΠΆΠ½ΠΎ:

Β· «ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ» изобраТСния ΠΎΡ‚ Ρ€Π°ΡƒΠ½Π΄Π° ΠΊ Ρ€Π°ΡƒΠ½Π΄Ρƒ;

Β· ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ числа Ρ€Π°ΡƒΠ½Π΄ΠΎΠ² ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ схСмы.

Атака ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π½Π° ΡΡ…Π΅ΠΌΡƒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π΅ΡΡ‚ΡŒ «Π±ΠΈΠ½ΠΎΠΌΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ коэффициСнт» (Π²Ρ‹Π±ΠΎΡ€ Π»ΡŽΠ±Ρ‹Ρ… К ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² срСди N). ΠŸΡ€ΠΈ N = 399, К = 5 (числа N ΠΈ K Π²Ρ‹Π±Ρ€Π°Π½Ρ‹, исходя ΠΈΠ· ΡΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ удобства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ), число Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Ρ€Π°Π²Π½ΠΎ. Π­Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС, Ρ‡Π΅ΠΌ число Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π΄Π»ΠΈΠ½Ρ‹ 5. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ К ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ довольно случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ К ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, большоС число Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ являСтся иллюзиСй: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ совсСм Π½Π΅ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄ΠΈΡ‚ ΠΎΠ΄Π½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΡƒΠ·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ K ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΎΠ²Ρ‹, Ρ‡Ρ‚ΠΎ ΠΈΡ… Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠΌΠΈ, содСрТит Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС K ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΈΠΌΠΈ.

ΠΠ°ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ запись всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŽ. ПослС ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… наблюдСний ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ всС большС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ нападСния, Π±Ρ‹Π»Π° написана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая эмулировала ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ пароля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· «Π²Ρ‹Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π»Π°» Ρ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат эти изобраТСния ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŽ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли всСго 399 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» 5 для своСго пароля, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ всСго ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² всСвозмоТных ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° составляСт список всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ пароля Π²Ρ‹Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π΅ΠΌΡƒ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚. Для этого Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΡΠΌΡƒΡŽ линию, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ мСсто ΠΊΠ»ΠΈΠΊΠ° ΠΌΡ‹ΡˆΠΊΠΎΠΉ. Π›ΡŽΠ±Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈΠ· 3 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, располоТСнных Π²Ρ‹ΡˆΠ΅ этой прямой явно Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŽ. Аналогично Π²Ρ‹Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅ΠΌ всС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ, содСрТащиС Π»ΡŽΠ±Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈΠ· 3 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠ²ΡˆΠΈΡ…ΡΡ Π½ΠΈΠΆΠ΅ этой прямой. Π”Π°Π»Π΅Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ проводится Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ прямая ΠΈ ΠΎΡ‚брасываСтся Π΅Ρ‰Π΅ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 800 ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… записСй Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь Π² ΡΡ€Π΅Π΄Π½Π΅ΠΌ ΠΏΠΎ 2 Ρ€Π°Π·Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ ΠΏΡ€Π°Π·Π΄Π½ΠΈΠΊΠΈ, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ придСтся ΠΏΠΎΠ΄ΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π·Π° Π½ΠΈΠΌ ΠΏΠΎΡ‡Ρ‚ΠΈ 5 мСсяцСв. Π—Π° ΡΡ‚ΠΎ врСмя ΠΌΠΎΠΆΠ½ΠΎ нСсколько Ρ€Π°Π· ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Π°ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° практичСски нСосущСствимо.

Атака ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π½Π° ΡΡ…Π΅ΠΌΡƒ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ

Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ подсчитаСм Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π½Π° ΡΡ…Π΅ΠΌΡƒ пСрСсСчСния Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Ρ€Π°Π²Π½ΠΎ

.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄ΠΈΡ‚ ΠΎΠ΄Π½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΡƒΠ·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ K ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΎΠ²Ρ‹, Ρ‡Ρ‚ΠΎ ΠΈΡ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠΌΠΈ, содСрТит Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС K ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΈΠΌΠΈ.

Π’Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ Π½Π° ΡΡ…Π΅ΠΌΡƒ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° рассчитываСтся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ расчСту вСроятности Π΄Π°Π½Π½ΠΎΠΉ Π°Ρ‚Π°ΠΊΠΈ Π½Π° ΡΡ…Π΅ΠΌΡƒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° — «Π²Ρ‹Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ» всСх ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ явно Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΏΠ°Ρ€ΠΎΠ»ΡŽ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли всСго 399 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» 5 для своСго пароля, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ всСго ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° всСвозмоТных ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° составляСт список всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ пароля Π²Ρ‹Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π΅ΠΌΡƒ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚. Для этого Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΡΠΌΡƒΡŽ линию, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ мСсто ΠΊΠ»ΠΈΠΊΠ° ΠΌΡ‹ΡˆΠΊΠΎΠΉ. Π›ΡŽΠ±Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈΠ· 4 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, располоТСнных Π²Ρ‹ΡˆΠ΅ этой прямой явно Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŽ. Аналогично Π²Ρ‹Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅ΠΌ всС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ, содСрТащиС Π»ΡŽΠ±Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈΠ· 4 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠ²ΡˆΠΈΡ…ΡΡ Π½ΠΈΠΆΠ΅ этой прямой. Π”Π°Π»Π΅Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ проводится Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ прямая ΠΈ ΠΎΡ‚брасываСтся Π΅Ρ‰Π΅ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 1000 ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… записСй Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь Π² ΡΡ€Π΅Π΄Π½Π΅ΠΌ ΠΏΠΎ 2 Ρ€Π°Π·Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ ΠΏΡ€Π°Π·Π΄Π½ΠΈΠΊΠΈ, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ придСтся ΠΏΠΎΠ΄ΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π·Π° Π½ΠΈΠΌ ΠΏΠΎΡ‡Ρ‚ΠΈ 6 мСсяцСв. Π—Π° ΡΡ‚ΠΎ врСмя ΠΌΠΎΠΆΠ½ΠΎ нСсколько Ρ€Π°Π· ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Π°ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° практичСски нСосущСствимо.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Π°Ρ‚Π°ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π½Π° ΡΡ…Π΅ΠΌΡ‹ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈ ΡΡ…Π΅ΠΌΡ‹ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° минимальной, Π½ΡƒΠΆΠ½ΠΎ:

Β· ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ N, Π° ΠΏΡ€ΠΈ запросС пароля ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ N' ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (N? N'? 2 N);

Β· ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ число ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ K, Π° ΠΏΡ€ΠΈ запросС пароля ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ K' ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (3?K'?K);

Β· Π½Π΅ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ пароля;

Β· пСриодичСски (Ρ€Π°Π· Π² 3 мСсяца) ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ГрафичСскиС схСмы Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ — это ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΠΈ, принимая Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ особСнности восприятия людСй. МоТно Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ «ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ бСзопасности» .

Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π΄Π²Π΅ схСмы графичСского пароля, схСма Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈ ΡΡ…Π΅ΠΌΠ° пСрСсСчСния Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ устойчивы ΠΊ ΠΏΠΎΠ΄Π³Π»ΡΠ΄Ρ‹Π²Π°Π½ΠΈΡŽ. Π­Ρ‚ΠΈ схСмы стрСмятся ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдой, ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΉ Π½Π° ΠΈΠ³Ρ€Ρƒ, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… эмоций ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ противовСсом нСдостатку большого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для Π²Π²ΠΎΠ΄Π° пароля. Π‘Π°ΠΌΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π»Π΅Π³ΠΊΠΈ для запоминания для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ пароля Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ.

Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΊΠ°Ρ€ΠΌΠ°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈΠ»ΠΈ для web-Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

1. «A Password Scheme Strongly Resistant to Spyware». D. Hong, B. Hawes, M. Mattews.

2. «A Shoulder-Surfing Resistant Password Scheme — WIW». S. Man, D. Hong, M. Mattews.

3. «Design and Evalution of a Shoulder-Surfing Resistant Graphical Password Scheme». S. Wiedenbeck, J. Waters, L. Sobrado, J. — C. Birget.

4. «Graphical passwords». L. Sobrado, J. — C. Birget.

5. Π­. Π’Π°Π½Π΅Π½Π±Π°ΡƒΠΌ. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы. — Πœ.: ΠŸΠΈΡ‚Π΅Ρ€, 2002.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. Код PAM-модуля pam_triangle

pam_triangle. cpp

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include «Counter. h»

#define PAM_SM_AUTH

#define n 399

#define n_pass 5

#define m 154

#define row 14

#define rounds 3

float square (int x1, int y1, int x2, int y2, int x3, int y3)

{

float s= (x2-x1) * (y3-y2) — (x3-x1) * (y2-y1);

if (s<0)

s=s* (-1);

return s;

}

PAM_EXTERN int pam_sm_authenticate (pam_handle_t *pamh, int flags, int argc, const char **argv)

{

srand (time (NULL));

const char *user;

int retval;

int ind_i [n];

int pictures [m];

for (int i=0; i

ind_i [i] =i;

retval = pam_get_user (pamh, &user, 0);

int d=0, f;

for (int i=0; i

{

d=rand () %n;

f=ind_i [i];

ind_i [i] =ind_i [d];

ind_i [d] =f;

}

Counter b;

QFile file («/etc/triangle/passwords»);

file. open (QIODevice: ReadOnly);

QTextStream in (&file);

QString username;

int k [n_pass] ={0,0,0,0,0};

int p [n_pass] ={0,0,0,0,0};

QString uname (user);

while (! in. atEnd ())

{

in >> username >> k >> k >> k >> k >> k [4];

if (username==uname)

{

for (int i=0; i

{

p [i] =k [i];

}

}

}

int locate [3];

int passwd_pictures [3];

int x1=0,y1=0,x2=0,y2=0,x3=0,y3=0,x0,y0;

float s;

QApplication app (argc, (char **) argv);

for (int round=0; round

{

do

{

do

{

for (int i=0; i<3; i++)

{

locate [i] =rand () %m;

}

x1=locate %row; y1=locate /row;

x2=locate %row; y2=locate /row;

x3=locate %row; y3=locate /row;

}

while (locate ==locate || locate ==locate || locate ==locate [0]);

s=square (x1,y1,x2,y2,x3,y3);

}

while (s<10 && s<50);

do

{

for (int i=0; i<3; i++)

{

passwd_pictures [i] =rand () %n_pass;

}

}

while (passwd_pictures ==passwd_pictures || passwd_pictures ==passwd_pictures || passwd_pictures ==passwd_pictures [0]);

bool closed [n];

for (int i=0; i

closed [i] =0;

for (int i=0; i

{

int j;

if (i! =locate && i! =locate && i! =locate [2])

{

do

{

j=rand () %n+1;

}

while (j==p || j==p || j==p || j==p || j==p || closed [j-1] ==1);

pictures [i] =j;

closed [j-1] =1;

}

}

pictures [locate [0]] =p [passwd_pictures [0]];

pictures [locate [1]] =p [passwd_pictures [1]];

pictures [locate [2]] =p [passwd_pictures [2]];

double sin1, sin2,sin3;

x1=locate %row; y1=locate /row;

x2=locate %row; y2=locate /row;

x3=locate %row; y3=locate /row;

QWidget *widget=new QWidget ();

widget->move (0,0);

QGridLayout *layout=new QGridLayout ();

QPushButton *button;

for (int i=0; i

{

button = new QPushButton (««);

x0=i%row;

y0=i/row;

sin1= (x1-x0) * (y2-y1) — (x2-x1) * (y1-y0);

sin2= (x2-x0) * (y3-y2) — (x3-x2) * (y2-y0);

sin3= (x3-x0) * (y1-y3) — (x1-x3) * (y3-y0);

if ((sin1>=0 && sin2>=0 && sin3>=0) || (sin1<=0 && sin2<=0 && sin3<=0))

{

QObject: connect (button, SIGNAL (clicked ()),&b, SLOT (auth_ok ()));

}

else

{

QObject: connect (button, SIGNAL (clicked ()), &b, SLOT (auth_err ()));

}

if (round==0)

QObject: connect (button, SIGNAL (clicked ()),&app, SLOT (quit ()));

else

QObject: connect (button, SIGNAL (clicked ()), widget, SLOT (hide ()));

QString result;

QTextStream (&result) << «/etc/triangle/pictures/» << pictures [i] <<". png" ;

button->setIcon (QIcon (result));

button->setIconSize (QSize (32,32));

layout->addWidget (button, i/row, i%row);

}

QLabel *label = new QLabel («1. Find your 3 password’s pictures. n2. Imagine a triangle formed from them. n3. Click on the picture that belong to the triangle’s area.», widget);

layout->addWidget (label, m/row, m%row, 1,-1);

widget->setLayout (layout);

widget->show ();

}

app. exec ();

int a=b. auth ();

if (a>=rounds)

{

return PAM_SUCCESS;

}

else

{

return PAM_AUTH_ERR;

}

}

PAM_EXTERN int pam_sm_setcred (pam_handle_t * pamh, int flags, int argc, const char **argv)

{

return PAM_SUCCESS;

}

#ifdef PAM_STATIC

struct pam_module _pam_test_modstruct = {

" pam_triangle" ,

pam_sm_authenticate,

pam_sm_setcred,

NULL,

NULL,

NULL,

NULL,

};

#endif

Counter. cpp

#include

#include

#include

#include «Counter. h»

void Counter: auth_ok ()

{

auth_num++;

}

void Counter: auth_err ()

{

auth_num=0;

}

Counter. h

#ifndef COUNTER_H

#define COUNTER_H

#include

#include

class Counter: public QObject

{

Q_OBJECT

public:

Counter () { auth_num=0; }

int auth () const {return auth_num; }

public slots:

void auth_ok ();

void auth_err ();

private:

int auth_num;

};

#endif

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2. Код PAM-модуля pam_diagonal

pam_diagonal. cpp

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include «Counter. h»

#define PAM_SM_AUTH

#define n 399

#define n_pass 5

#define m 154

#define row 14

#define rounds 3

int triangle (int x1, int y1, int x2, int y2, int x3, int y3, int x0, int y0)

(sin1<=0 && sin2<=0 && sin3<=0))

check=1;

return check;

float square (int x1, int y1, int x2, int y2, int x3, int y3)

{

float s= (x2-x1) * (y3-y2) — (x3-x1) * (y2-y1);

if (s<0)

s=s* (-1);

return s;

}

PAM_EXTERN int pam_sm_authenticate (pam_handle_t *pamh, int flags, int argc, const char **argv)

{

srand (time (NULL));

const char *user;

int retval;

int ind_i [n];

int pictures [m];

for (int i=0; i

ind_i [i] =i;

retval = pam_get_user (pamh, &user, 0);

int d=0, f;

for (int i=0; i

{

d=rand () %n;

f=ind_i [i];

ind_i [i] =ind_i [d];

ind_i [d] =f;

}

Counter b;

QFile file («/etc/diagonal/passwords»);

file. open (QIODevice: ReadOnly);

QTextStream in (&file);

QString username;

int k [n_pass] ={0,0,0,0,0};

int p [n_pass] ={0,0,0,0,0};

QString uname (user);

while (! in. atEnd ())

{

in >> username >> k >> k >> k >> k >> k [4];

if (username==uname)

{

for (int i=0; i

{

p [i] =k [i];

}

}

}

int locate [4];

int passwd_pictures [4];

int x1=0,y1=0,x2=0,y2=0,x3=0,y3=0,x4=0,y4=0;

int check;

QApplication app (argc, (char **) argv);

for (int round=0; round

{

do

{

do

{

check=0;

do

{

for (int i=0; i<4; i++)

{

locate [i] =rand () %m;

}

}

while (locate ==locate || locate ==locate || locate ==locate || locate ==locate || locate ==locate || locate ==locate [3]);

x1=locate %row; y1=locate /row;

x2=locate %row; y2=locate /row;

x3=locate %row; y3=locate /row;

x4=locate %row; y4=locate /row;

check+=triangle (x1,y1,x2,y2,x3,y3,x4,y4);

check+=triangle (x1,y1,x2,y2,x4,y4,x3,y3);

check+=triangle (x1,y1,x3,y3,x4,y4,x2,y2);

check+=triangle (x2,y2,x3,y3,x4,y4,x1,y1);

}

while (check>0);

}

while (square (x1,y1,x2,y2,x3,y3) <7 || square (x1,y1,x2,y2,x4,y4) <7 || square (x1,y1,x3,y3,x4,y4) <7 || square (x2,y2,x3,y3,x4,y4) <7);

do

{

for (int i=0; i<4; i++)

{

passwd_pictures [i] =rand () %n_pass;

}

}

while (passwd_pictures ==passwd_pictures || passwd_pictures ==passwd_pictures || passwd_pictures ==passwd_pictures || passwd_pictures ==passwd_pictures || passwd_pictures ==passwd_pictures || passwd_pictures ==passwd_pictures [3]);

bool closed [n];

for (int i=0; i

closed [i] =0;

for (int i=0; i

{

int j;

if (i! =locate && i! =locate && i! =locate && i! =locate [3])

{

do

{

j=rand () %n+1;

}

while (j==p || j==p || j==p || j==p || j==p || closed [j-1] ==1);

pictures [i] =j;

closed [j-1] =1;

}

}

pictures [locate [0]] =p [passwd_pictures [0]];

pictures [locate [1]] =p [passwd_pictures [1]];

pictures [locate [2]] =p [passwd_pictures [2]];

pictures [locate [3]] =p [passwd_pictures [3]];

float buff;

float X [] ={0, 0, 0, 0}; float Y [] ={0,0,0,0};

X =x1; X =x2; X =x3; X =x4;

Y =y1; Y =y2; Y =y3; Y =y4;

for (int k=0; k<4; k++)

{

for (int i=0; i<3; i++)

{

if (X [i] > X [i+1])

{

buff=X [i];

X [i] =X [i+1];

X [i+1] =buff;

buff=Y [i];

Y [i] =Y [i+1];

Y [i+1] =buff;

};

};

};

for (int i=0; i<3; i++)

{

if ((X [i] ==X [i+1]) && (Y [i] >Y [i+1]))

{

buff=X [i+1];

X [i+1] =X [i];

X [i] =buff;

buff=Y [i+1];

Y [i+1] =Y [i];

Y [i] =buff;

};

};

if (Y >Y [1])

{

buff=X [0];

X =X [1];

X =buff;

buff=Y [0];

Y =Y [1];

Y =buff;

};

if (Y >Y [2])

{

buff=X [3];

X =X [2];

X =buff;

buff=Y [3];

Y =Y [2];

Y =buff;

};

float xp, yp, k1, k2,b1,b2;

k1= (Y — Y [2]) / (X — X [2]);

k2= (Y — Y [3]) / (X — X [3]);

b1= (X *Y — Y *X [2]) / (X — X [2]);

b2= (X *Y — Y *X [3]) / (X — X [3]);

xp= (b1-b2) / (k2-k1);

yp= (k2*b1-k1*b2) / (k2-k1);

int x0, y0;

QWidget *widget=new QWidget ();

widget->move (0,0);

QGridLayout *layout=new QGridLayout ();

QPushButton *button;

for (int i=0; i

{

button = new QPushButton (««);

x0=i%row;

y0=i/row;

if (xp-x0<2 && xp-x0>-2 && yp-y0<2 && yp-y0>-2)

{

QObject: connect (button, SIGNAL (clicked ()),&b, SLOT (auth_ok ()));

}

else

{

QObject: connect (button, SIGNAL (clicked ()), &b, SLOT (auth_err ()));

}

if (round==0)

QObject: connect (button, SIGNAL (clicked ()),&app, SLOT (quit ()));

else

QObject: connect (button, SIGNAL (clicked ()), widget, SLOT (hide ()));

QString result;

QTextStream (&result) << «/etc/diagonal/pictures/» << pictures [i] <<". png" ;

button->setIcon (QIcon (result));

button->setIconSize (QSize (32,32));

layout->addWidget (button, i/row, i%row);

}

QLabel *label = new QLabel («1. Find your 4 password’s pictures. n2. Imagine a quadrangle formed from them. n3. Click on the picture that contain the point of intersection quadrangle’s diagonals.», widget);

layout->addWidget (label, m/row, m%row, 1,-1);

widget->setLayout (layout);

widget->show ();

}

app. exec ();

int a=b. auth ();

if (a>=rounds)

{

return PAM_SUCCESS;

}

else

{

return PAM_AUTH_ERR;

}

}

PAM_EXTERN int pam_sm_setcred (pam_handle_t * pamh, int flags, int argc, const char **argv)

{

return PAM_SUCCESS;

}

#ifdef PAM_STATIC

struct pam_module _pam_test_modstruct = {

" pam_diagonal" ,

pam_sm_authenticate,

pam_sm_setcred,

NULL,

NULL,

NULL,

NULL,

};

#endif

counter. cpp

#include

#include

#include

#include «Counter. h»

void Counter: auth_ok ()

{

auth_num++;

}

void Counter: auth_err ()

{

auth_num=0;

}

counter. h

#ifndef COUNTER_H

#define COUNTER_H

#include

#include

class Counter: public QObject

{

Q_OBJECT

public:

Counter () { auth_num=0; }

int auth () const {return auth_num; }

public slots:

void auth_ok ();

void auth_err ();

private:

int auth_num;

};

#endif

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ