Кіріспе

Бір рет қолданылатын пароль (OTP) – бір реттік PIN, бір реттік рұқсат беру коды (OTAC) немесе динамикалық пароль деп те аталатын, компьютер жүйесінде немесе басқа да цифрлық құрылғыда тек бір кіру сеансы немесе операция үшін жарамды пароль. OTP-лер дәстүрлі (статикалық) парольге негізделген аутентификациямен байланысты бірнеше кемшіліктерді болдырмайды; көптеген іске асырулар екі факторлы аутентификацияны да қамтиды, бұл бір реттік парольге адамның иеленген нәрсесіне (мысалы, кішкентай кілт сақинасындағы OTP калькуляторы орнатылған құрылғы, немесе смарт-карта немесе нақты ұялы телефон) және адам білетін нәрсеге (мысалы, PIN) қол жеткізуді талап етеді. OTP жасау алгоритмдері әдетте жалпы кілт немесе бастама және криптографиялық хэш функцияларын жасау үшін псевдорандомдылық немесе рандомдылықты пайдаланады, оларды мәнді алу үшін қолдануға болады, бірақ кері қайтару қиын, сондықтан шабуылшы үшін хэш үшін пайдаланылған деректерді алу қиын. Бұл қажет, өйткені, әйтпесе, келесі OTP-лерді бұрынғыларын бақылап оңай болжауға болар еді. OTP-лер дәстүрлі парольдерді алмастыру және жақсарту мүмкіндігі ретінде талқыланды. Кері жағынан, OTP-лер ұсталып алуға немесе қайта бағытталуға болады, ал аппараттық жетондар жоғалуы, зақымдануы немесе ұрлануы мүмкін. OTP-ні пайдаланатын көптеген жүйелер оларды қауіпсіз түрде іске асырмайды, және шабуылшылар әлі де рұқсат етілген пайдаланушының кейіпін алу үшін фишинг шабуылдары арқылы парольді білуі мүмкін. Екінші маңызды артықшылығы – бірнеше жүйеде бірдей (немесе ұқсас) парольді пайдаланатын пайдаланушы, егер олардың біреуінің паролі шабуылшыға түсіп кетсе, барлығында осал болмайды. Сонымен қатар, көптеген OTP жүйелері сеансты бұрынғы сеанста жасалған болжамсыз деректерді білместен ұстап алуға немесе оның кейіпін алуға болмайтындай етіп жасауға тырысады, осылайша шабуылдың бетін одан әрі азайтады. Пайдаланушыны келесі қолдануға арналған OTP туралы хабардар етудің әртүрлі тәсілдері бар. Кейбір жүйелер пайдаланушымен бірге жүретін, OTP-лерді жасайтын және оларды кішкентай дисплейде көрсететін арнайы электрондық қауіпсіздік жетондарын пайдаланады. Басқа жүйелер пайдаланушының ұялы телефонында жұмыс істейтін бағдарламалық қамтамасыз етуден тұрады. Тағы бірнеше жүйелер OTP-ні серверде жасайды және оны SMS-хабарлама сияқты басқа арна арқылы пайдаланушыға жібереді. Соңында, кейбір жүйелерде OTP-лер пайдаланушы алып жүруі тиіс қағазға басылады. Кейбір математикалық алгоритмдер схемаларында пайдаланушы серверге шифрлау кілті ретінде пайдалану үшін статикалық кілтті тек бір рет қолданылатын парольді жіберу арқылы ұсынуы мүмкін.

Уақытпен синхрондалған

Уақытпен синхрондалған OTP әдетте қауіпсіздік токені деп аталатын аппараттық құрылғымен байланысты (мысалы, әрбір пайдаланушыға бір реттік парольді жасауға арналған жеке токен беріледі). Ол кішкентай калькуляторға немесе кілт сақинасының әшекейіне ұқсауы мүмкін, және LCD экранында уақыт-уақыт өзгеретін сан көрсетіледі. Токеннің ішінде аутентификация серверінің сағатымен синхрондалған дәл сағат орналасқан. Мұндай OTP жүйелерінде уақыт пароль алгоритмінің маңызды бөлігі болып табылады, себебі жаңа парольдердің жасалуы алдыңғы парольге немесе құпия кілтке емес, немесе олармен қатар, ағымдағы уақытқа негізделеді. Бұл токен авторлық құқыққа тиесілі құрылғы, сондай-ақ ұялы телефон немесе осындай ұялы құрылғы болуы мүмкін, ол авторлық құқыққа тиесілі, тегін немесе ашық кодты бағдарламалық қамтамасыз етуді іске қосады. Уақытпен синхрондалған OTP стандартының мысалы – уақытқа негізделген бір реттік пароль (TOTP). Google Authenticator сияқты кейбір қолданбалар немесе пароль менеджерлері уақытты синхрондау үшін қолданылуы мүмкін.

Хаш тізбектері

Әрбір жаңа OTP бұрын қолданылған OTP-лерден құрылуы мүмкін. Лесли Лэмпортқа авторлық құқығы тиесілі алгоритмнің мысалы бір бағытты функцияны пайдаланады (оған шақыру). Бұл бір реттік пароль жүйесі келесідей жұмыс істейді: тұқым (бастапқы мән) таңдалады. Хеш-функция тұқымға бірнеше рет (мысалы, 1000 рет) қолданылады, нәтижесінде келесі мән шығады: Бұл мән, біз оны деп атаймыз, мақсатты жүйеде сақталады. Пайдаланушының алғашқы кіруі тұқымға 999 рет қолданылып алынған парольді пайдаланады, яғни. Мақсатты жүйе бұл дұрыс пароль екенін растай алады, себебі сақталған мән – , яғни сақталған мән. Сақталған мән кейін ауыстырылады және пайдаланушыға кіруге рұқсат беріледі. Келесі кіру кезінде қайтадан осы парольді ұсыну қажет, оның дұрыстығын тексеруге болады, себебі оны хештегенде шығады, ал бұл алдыңғы кіруден кейін сақталған мән. Жаңа мән қайтадан ауыстырылады және пайдаланушы аутентификацияланады. Бұл тағы 997 рет қайталанады, әр жолы пароль бір рет кем қолданылады және хештегенде алдыңғы кіру кезінде сақталған мәнді беретіні тексеріледі. Хеш-функциялар кері қайтару өте қиын болу үшін жасалған, сондықтан шабуылшы мүмкін болатын парольдерді есептеу үшін бастапқы тұқымды білуі керек, ал компьютерлік жүйе кез келген жағдайда парольдің жарамды екенін растай алады, егер ол хештегенде бұрын кіру үшін пайдаланылған мәнді берсе. Егер шексіз парольдер сериясы қажет болса, for жиыны толыққаннан кейін жаңа бастапқы мәнді таңдауға болады. Сервердің санауы тек қана OTP аутентификациясы сәтті болғаннан кейін ғана өседі, ал пайдаланушы жаңа пароль сұраған сайын токендегі санауы өседі. Осы себепті сервердегі және токендегі санау мәндері синхронды болмауы мүмкін. Серверде алдын ала қарау параметрін орнату ұсынылады, ол алдын ала қарау терезесінің мөлшерін анықтайды. Пайдаланушы кездейсоқ пароль жасаса, сервер клиентті аутентификациялайды, себебі ол келесі OTP серверлік мәндерін қайта есептей алады және оларды клиенттен алынған парольмен салыстыра алады. Алдыңғы парольдерден келесі парольді алу үшін кері функцияны есептеудің жолын табу керек. Егер – криптографиялық хеш-функция болса, бұл әдеттегі жағдай, онда оны есептеу жағынан шешілмейтін мәселе деп есептеледі. Бір реттік парольді көріп қалған кіріптар бір уақыт аралығында немесе бір рет кіруге мүмкіндік алады, бірақ ол мерзім біткеннен кейін пайдасыз болады. S/KEY бір реттік пароль жүйесі және оның туындысы OTP Лэмпорттың схемасына негізделген.

Шақыру-жауап

Challenge-response бір реттік парольдерін қолдану пайдаланушыдан жауап беруді талап етеді. Мысалы, бұл токеннің өзі жасаған мәнді токенге енгізу арқылы іске асырылуы мүмкін. Дубликаттарды болдырмау үшін, әдетте қосымша санаулыш қолданылады, сондықтан егер бірдей жауап екі рет түссе де, бір реттік парольдер әртүрлі болады. Дегенмен, есептеулер көбінесе алдыңғы бір реттік парольді пайдаланбайды; яғни, көбінесе осы немесе басқа алгоритм қолданылады, екі алгоритмді бірдей қолданбайды.

SMS

ОТП-ны жеткізу үшін жиі қолданылатын технология – мәтіндік хабарламалар. Мәтіндік хабарламалар кең таралған байланыс құралы болғандықтан, дерлік барлық ұялы телефондарда тікелей қолжетімді және мәтінді дауысқа түрлендіру арқылы кез келген ұялы немесе стационарлық телефонға жіберілуі мүмкін. Осының арқасында мәтіндік хабарламалар барлық тұтынушыларға аз шығынмен жеткізілуге зор мүмкіндік береді. Мәтіндік хабарлама арқылы жіберілген ОТП A5/x стандартымен шифрлануы мүмкін, ал бірнеше хакерлік топтар оны бірнеше минут немесе секунд ішінде бұзуға болатынын хабарлайды. Сонымен қатар, SS7 маршрутизациялық протоколындағы қауіпсіздік кемшіліктері шабуылшыларға мәтіндік хабарламаларды қайта бағыттау үшін пайдаланылуы мүмкін. Мысалы, 2017 жылы Германиядағы бірнеше O2 абоненттерінің мобильді банк шоттарына қол жеткізу үшін осы әдіс қолданылды. 2016 жылдың шілдесінде АҚШ-тың NIST ұйымы аутентификациялау тәжірибелері бойынша арнайы басылымның жобасын жариялады, онда SMS-ті аутентификациядан тыс екі факторлы аутентификацияны іске асыру әдісі ретінде пайдалануға кеңес берілмейді, себебі SMS хабарламаларын көп көлемде ұрлауға болады.

Жабдықтық жетондар

RSA Security SecurID – HID Global шешімдерімен қатар, уақытты синхрондау типіндегі токеннің бір мысалы. Барлық токендер сияқты, олар жоғалуы, зақымдануы немесе ұрлануы мүмкін; сонымен қатар, батареялардың тозуы қолайсыздық тудырады, әсіресе зарядтау мүмкіндігі жоқ немесе батареясын ауыстыруға болмайтын токендер үшін. 2006 жылы RSA компаниясы меншік токеннің нұсқасын ұсынды және оны «көптеген жерде қолданылатын аутентификация» деп сипаттады, онда RSA өндірушілермен серіктесіп, ұялы телефондар сияқты құрылғыларға SecurID физикалық чиптерін қосатын болды. Жақында, әдеттегі кілттермен байланысты электрондық компоненттерді алып, оларды кредит картасының пішіміне ендіру мүмкіндігі пайда болды. Алайда, 0,79 мм-ден 0,84 мм-ге дейін қалыңдығы бар карталардың жұқалығы стандартты компоненттер мен батареяларды пайдалануға кедергі келтіреді. Монета тәрізді (батырма) батареялардан әлдеқайда қысқа қызмет ететін полимерлік арнайы батареялар қолданылуы керек. Жартылай өткізгіш компоненттер өте жазық болуы ғана емес, сонымен қатар күту режимінде де, жұмыс істегенде де қолданылатын қуатты барынша азайтуы тиіс. Yubico кілт басылғанда OTP құратын және ұзақ парольді оңай енгізу үшін пернетақтаның әрекетін имитациялайтын кішкентай USB токенін ұсынады. Бұл USB құрылғы болғандықтан, батареяны ауыстыру қажеттігінен құтылуға болады. Бұл технологияның жаңа нұсқасы әзірленді, ол стандартты өлшемдегі және қалыңдықтағы төлем картасына пернетақта енгізеді. Картада пернетақта, дисплей, микропроцессор және жақындық чипі бар.

Жұмсақ жетондар

Смартфондарда бір реттік парольдер мобильді қосымшалар арқылы тікелей жеткізілуі мүмкін, оның ішінде Authy және Google Authenticator сияқты арнайы аутентификациялық қосымшалар, немесе қызметтің өзіндегі қолданба арқылы, мысалы Steam сияқты. Бұл жүйелер SMS-тегідей қауіпсіздікке қатысты осал тұстарға ие емес және пайдалану үшін ұялы желіге қосылу міндетті емес.

Баспа бетіндегі көшірмелері

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

Қауіпсіздік

Дұрыс іске асырылған жағдайда, OTP шабуылшы үшін алғашқы қолданылуынан кейін қысқа мерзім ішінде ешқандай пайдалы болмайды. Бұл парольдерден өзгеше, олар шабуылшылар үшін жылдар бойы қолданылуы мүмкін. Парольдер сияқты, OTP-лер де әлеуметтік инженерия шабуылдарына ұшырайды, онда фишинг жасаушылар клиенттерді алдап, OTP-лерін ұрлайды. Сондай-ақ парольдер сияқты, OTP-лер «адам ортада» шабуылдарына да осал болуы мүмкін, сондықтан оларды қауіпсіз арна арқылы, мысалы, Транспорттық қабаттық қауіпсіздік (Transport Layer Security) жүйесі арқылы жеткізу маңызды. Парольдер мен OTP-нің ұқсас шабуылдарға ұшырауы Universal 2nd Factor құрудың басты себебі болды, ол фишинг шабуылдарына қарсы тұруға арналған. Уақытты синхрондау немесе сұрақ-жауап механизмі жоқ OTP-лер, қолданылу алдында компрометацияланған жағдайда, әлдеқайда ұзақ уақыт бойы осал болады. 2005 жылдың соңында швед банкінің клиенттері алдын ала берілген бір реттік парольдерін беруге алданып көндірілді. 2006 жылы осы типтегі шабуыл АҚШ банкінің клиенттеріне қатысты қолданылды.

Стандарттау

Көптеген OTP технологиялары патенттелген. Бұл осы саладағы стандартизацияны қиындатады, себебі әр компания өз технологиясын енгізуге тырысады. Дегенмен, стандарттар бар – мысалы, RFC 1760 (S/KEY), RFC 2289 (OTP), RFC 4226 (HOTP) және RFC 6238 (TOTP).

Ұялы телефон

Ұялы телефонның өзі қолмен ұсталатын аутентификация токені бола алады. Ұялы телефон арқылы мәтіндік хабарлама жіберу – OTAC-ті алудың бір жолы. Осылайша, қызмет провайдері пайдаланушыға аутентификация үшін цифрлық сертификатпен шифрланған OTAC-ті қамтитын мәтіндік хабарлама жібереді. Есептерге сәйкес, теориялық талдаулар бойынша, екі тараптан аутентификацияны және жауапкершіліктен босатуды қамтамасыз ету үшін ашық кілт инфрақұрылымын (PKI) пайдаланғанда, ұялы мәтіндік хабарламалар жоғары деңгейдегі қауіпсіздікке кепілдік береді. SMS әдісі OTAC-ті алу ретінде күнделікті өмірімізде банк ісі, несиелік/дебеттік карталар және қауіпсіздік сияқты мақсаттарда кеңінен қолданылады.

Телефон

Пайдаланушының аутентификациясын тексеру үшін телефонды пайдаланудың екі тәсілі бар. Бірінші тәсіл бойынша, қызмет провайдері компьютер немесе смартфон экранында OTAC көрсетіп, содан кейін бұрын аутентификацияланған нөмірге автоматты телефон қоңырауы жасап жібереді. Сосын пайдаланушы экрандағы OTAC-ты телефонның сандық пернетақтасына енгізеді. Екінші тәсіл, Microsoft Windows-ты аутентификациялау және қосу үшін қолданылады, онда пайдаланушы қызмет провайдері ұсынған нөмірге қоңырау шалып, телефон жүйесі берген OTAC-ты енгізеді.

Компьютер

Компьютерлік технологиялар саласында, электрондық пошта арқылы бір реттік авторизациялық кодты (OTAC) пайдалану – кең мағынада, ал веб-қосымша арқылы бір реттік авторизациялық кодты (OTAC) пайдалану – кәсіби мағынада белгілі. Электрондық пошта – OTAC-ты пайдаланудың ең көп таралған тәсілдерінің бірі. Мұнда негізгі екі әдіс қолданылады. Бірінші әдіс бойынша, қызмет провайдері аутентификацияланған электрондық пошта мекенжайына (мысалы, @ucl.ac.uk) жеке URL жібереді; пайдаланушы URL-ге өткен кезде сервер оны аутентификациялайды. Екінші әдіс бойынша, қызмет провайдері аутентификацияланған электрондық пошта мекенжайына жеке OTAC (мысалы, шифрланған токен) жібереді; пайдаланушы OTAC-ты веб-сайтқа енгізген кезде сервер оны аутентификациялайды. Веб-қосымша пайдаланушының десктоп-клиентіне енгізе алатын бірегей жеке сәйкестендіру нөмірін (ПИН) жасауға болады, ал десктоп-клиент өз кезегінде осы кодты веб-қосымшаға өзін аутентификациялау үшін пайдаланады. Бұл аутентификация түрі, әсіресе, ішкі пайдаланушы аты/парольді сақтау жүйесі жоқ, бірақ аутентификация үшін SAML қолданатын веб-қосымшаларда тиімді. SAML браузерде ғана жұмыс істейтіндіктен, десктопқа негізделген веб-қосымша клиенті SAML арқылы аутентификацияны сәтті орындай алмайды. Оның орнына клиент-қосымша веб-қосымшаға өзін аутентификациялау үшін бір реттік авторизациялық кодты (OTAC) пайдалана алады. Сонымен қатар, үшінші тарап қосымшасы HTTP қызметіне шектеулі қол жеткізуді қажет еткен жағдайда OAuth авторизациялық аясын пайдалануға болады.

Пошта

OTAC-ті пайдаланушыға пошта немесе тіркелген хат арқылы жіберуге болады. Пайдаланушы OTAC сұрағанда, қызмет провайдері оны пошта немесе тіркелген хат арқылы жібереді, содан кейін пайдаланушы оны аутентификациялау үшін қолдана алады. Мысалы, Ұлыбританиядағы кейбір банктер интернет-банкингтің рұқсатын алу үшін OTAC-ін пошта немесе тіркелген хат арқылы жібереді.

Кеңейту

Кванттық криптография, бұл белгісіздік принципіне негізделген, OTAC жасаудың ең тиімді әдістерінің бірі болып табылады. Бұдан бөлек, ол тек шифрланған кодты аутентификация үшін ғана емес, сонымен қатар QR код сияқты графикалық бір реттік құпиясөзді аутентификацияны қолдану арқылы да талқыланды және пайдаланылды, бұл анонимді аутентификациямен таратылған кіруді басқару техникасын қамтамасыз етеді.