1.9. Виды атак
1.9.1. Атака по времени
Атака по времени — это атака, используемая злоумышленником в сторонних каналах связи, построена на анализе времени, которое необходимо на исполнение криптографического алгоритма. Каждая вычислительная операция требует определенное время на исполнение на персональном компьютере. Это время может быть различным в зависимости от представленных данных. Если злоумышленник располагает точными измерениями времени для выбранных операций, то он может попытаться восстановить входные данные.
Криптографические алгоритмы обычно тратят разное количество времени на обработку входных данных. Это может быть обусловлено не правильной оптимизацией выбранного алгоритма, чтением данных из буфера обмена в оперативной памяти, командами процессора, которые используют разное время для вычисления различных операций. Характеристики производительности на прямую связаны как от размера ключа шифрования, так и от входных данных.
1.9.2. Предотвращение временной атаки
Самый очевидный способ предотвратить временных атак – смоделировать алгоритм шифрования таким образом, что все производимые вычисления будут исполняться за равное время. Однако создать такой идеальный код достаточно сложно, так как некоторые вычислительные процессы, такие как: чтение из КЭШ, отклик системы, выполнение потоков могут способствовать появлению временных отклонений.
Другой способ заключается в том, чтобы сделать измерения времени настолько неточными, чтобы атака стала неэффективной. Например, в программном коде можно прописать временные задержки, которые будут иметь случайную длину. Такой подход является наиболее эффективным при борьбе с таким видом атак.
1.9.3. Атака «Человек посередине»
Этот метод основан на том, что злоумышленник подключается к каналу передачи данных, тем самым нарушая криптографический протокол. [19] Он может активно вмешиваться в алгоритм передачи и выдавать себя за одного из получателей. [20] Так он может удалять, изменять и выдавать ложную информацию за действительность.
Допустим, что пользователь A пытается передать пользователю B некую зашифрованную информацию. Злоумышленник C знает о структуре и свойствах выбранного метода шифрования и передачи данных. Для совершения атаки на канал связи злоумышленник С представляется пользователю А как пользователь В и наоборот. Пользователь А, не зная об этом, пытается послать информацию В, а на самом деле посылает её С. Объект С, получив информацию, и совершив с ней некоторые операции пересылает данные получателю В. Пользователь В, в свою очередь, считает, что информация была получена им от пользователя А.
Do'stlaringiz bilan baham: |