Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Бағдарламалық жетон (немесе жұмсақ жетон) – екі факторлы аутентификация қауіпсіздік құрылғысының бір бөлігі, компьютерлік қызметтерді пайдалануға рұқсат беру үшін қолданылуы мүмкін. Бағдарламалық жетондар үстелдік компьютер, ноутбук, қалақша (PDA) немесе ұялы телефон сияқты жалпы мақсаттағы электрондық құрылғыда сақталады және көшіріле алады. (Аппараттық жетондардан өзгеше, онда құпия сөздер арнайы аппараттық құрылғыда сақталады, сондықтан оларды көшіру мүмкін емес – құрылғыға физикалық зиян келтірмесе).
A software token (a. k. a. soft token) is a piece of a two factor authentication security device that may be used to authorize the use of computer services. Software tokens are stored on a general purpose electronic device such as a desktop computer, laptop, PDA, or mobile phone and can be duplicated. (Contrast hardware tokens, where the credentials are stored on a dedicated hardware device and therefore cannot be duplicated — absent physical invasion of the device)
Бағдарламалық жетондар физикалық түрде иеленілмейтін нәрсе болғандықтан, олардың негізгі криптографиялық материалдардың көшірілуіне байланысты ерекше қауіптерге ұшырайды, мысалы, компьютерлік вирустар мен бағдарламалық шабуылдар. Аппараттық және бағдарламалық жетондардың екеуі де бот-жетекші адам араласатын шабуылдарға немесе фишинг шабуылдарына ұшырауы мүмкін, онда жетон ұсынған бір реттік пароль сұралып, содан кейін нақты веб-сайтқа уақтылы жіберіледі. Бағдарламалық жетондардың артықшылықтары бар: оларды алып жүрудің қажеті жоқ, батареясы таусылмайды және аппараттық жетондарға қарағанда арзан.
Because software tokens are something one does not physically possess, they are exposed to unique threats based on duplication of the underlying cryptographic material for example, computer viruses and software attacks. Both hardware and software tokens are vulnerable to bot based man in the middle attacks, or to simple phishing attacks in which the one time password provided by the token is solicited, and then supplied to the genuine website in a timely manner. Software tokens do have benefits: there is no physical token to carry, they do not contain batteries that will run out, and they are cheaper than hardware tokens.
Қауіпсіздік архитектурасы
Бағдарламалық токендер үшін екі негізгі архитектура бар: ортақ құпия және ашық кілт криптографиясы. Ортақ құпия үшін әкімші әдетте әрбір соңғы пайдаланушы үшін конфигурациялық файл жасайды. Файлда пайдаланушы аты, жеке идентификациялық нөмірі және құпия болады. Бұл конфигурациялық файл пайдаланушыға беріледі. Ортақ құпия архитектурасы бірнеше жағдайда осал болуы мүмкін. Конфигурациялық файл ұрланып, токен көшірілсе, ол бұзылуы мүмкін. Уақытқа негізделген бағдарламалық токендер арқылы жеке тұлғаның жеке көмекші құрылғысын (PDA) немесе ноутбугін уақытша пайдаланып, сағатты алға жылдырып, болашақта жарамды болатын кодтарды жасауға болады. Ортақ құпияны пайдаланатын және PIN-кодты ортақ құпиямен бірге бағдарламалық клиентте сақтайтын кез келген бағдарламалық токен ұрланып, офлайн шабуылдарға ұшырауы мүмкін. Ортақ құпия токендерін тарату қиын болуы мүмкін, себебі әрбір токен негізінен әртүрлі бағдарламалық жасақтама болып табылады. Әрбір пайдаланушы құпияның көшірмесін алуы керек, бұл уақыт шектеулерін тудырады. Кейбір жаңа бағдарламалық токендер ашық кілт криптографиясына немесе асимметриялық криптографияға сүйенеді. Бұл архитектура бағдарламалық токендердің кейбір дәстүрлі осал жерлерін жояды, бірақ олардың негізгі осалдығына (көшірме жасау мүмкіндігіне) әсер етпейді. PIN-кодты токен клиентімен емес, қашықтан аутентификация серверінде сақтауға болады, сонда ұрланған бағдарламалық токен PIN-кодты білмесе, пайдасыз болады. Дегенмен, вирустық жұққан жағдайда шифрлау материалы көшіріліп, кейін пайдаланушы келесі рет аутентификацияланғанда PIN-код қолға түсірілуі мүмкін (кейлоггер немесе осыған ұқсас әдіс арқылы). Егер PIN-кодты болжауға тырысылса, ол аутентификация серверінде анықталып, тіркеледі, бұл токенді тоқтатуға мүмкіндік береді. Асимметриялық криптографияны қолдану іске асыруды да жеңілдетеді, себебі токен клиенті өзінің кілт жұбын жасап, сервермен ашық кілттерді алмаса алады.
There are two primary architectures for software tokens: shared secret and public key cryptography. For a shared secret, an administrator will typically generate a configuration file for each end user. The file will contain a username, a personal identification number, and the secret. This configuration file is given to the user. The shared secret architecture is potentially vulnerable in a number of areas. The configuration file can be compromised if it is stolen and the token is copied. With time based software tokens, it is possible to borrow an individual's PDA or laptop, set the clock forward, and generate codes that will be valid in the future. Any software token that uses shared secrets and stores the PIN alongside the shared secret in a software client can be stolen and subjected to offline attacks. Shared secret tokens can be difficult to distribute, since each token is essentially a different piece of software. Each user must receive a copy of the secret, which can create time constraints. Some newer software tokens rely on public key cryptography, or asymmetric cryptography. This architecture eliminates some of the traditional weaknesses of software tokens, but does not affect their primary weakness (ability to duplicate). A PIN can be stored on a remote authentication server instead of with the token client, making a stolen software token no good unless the PIN is known as well. However, in the case of a virus infection, the cryptographic material can be duplicated and then the PIN can be captured (via keylogging or similar) the next time the user authenticates. If there are attempts made to guess the PIN, it can be detected and logged on the authentication server, which can disable the token. Using asymmetric cryptography also simplifies implementation, since the token client can generate its own key pair and exchange public keys with the server.