В данном разделе рассматриваются вопросы аутентификации пользователей и цифровых подписей. За дополнительной информацией, касающейся вопросов средств защиты, обращайтесь к оригиналу, опубликованному в книге "Java 2. Тонкости программирования. Том 2. Кей С.Хорстман, Гари Корнелл. Издательский дом "Вильямс".
С появлением технологии Java специалисты по достоинству оценили не только хорошо продуманные выразительные средства языка, но и механизмы обеспечения безопасности при выполнении аплетов, доставленных через Интернет. Доставка выполняемых аплетов имеет смысл только тогда, когда получатель уверен, что код не может нанести ущерб работе их компьютеров. Поэтому вопросы безопасности были и остаются основной заботой как разработчиков, так и пользователей технологии Java. Это означает, что в отличии от других языков и систем, где безопасность обеспечивалась в последнюю очередь, механизмы защиты изначально являются неотъемлемой частью технологии Java.

В технологии Java безопасность обеспечивают три механизма.

  • Реализация языка (проверка границ массивов, выполнение только допустимых преобразований типов, отсутствие указателей и т.д.).
  • Средства контроля доступа, которые проверяют выполняемые кодом действия (доступ к файлам, передача данных по сети и т.д.).
  • Цифровая подпись, благодаря которой авторы могут использовать стандартные алгоритмы аутентификации своих продуктов. Таким образом, пользователи могут точно определить, кто создал код и был ли код изменен после его подписания.

Виртуальная машина Java проверяет наличие неверных ссылок, выходя за границы массивов и т.п. Кроме того, контролируются объекты, отправляемые виртуальной машине Java. Во время загрузки файлов классов в виртуальную машину проверяются их целостность.