Афоризм
— Почему Вы не сделаете пластическую операцию?
— А толку! Фасад обновишь, а канализация все равно старая!
Фаина Раневская
Последние статьи

 • Активности Android
Многоэкранные Android приложения
 • Fragment dynamic
Динамическая загрузка фрагментов в Android
 • Fragment lifecycle
Жизненный цикл Fragment'ов в Android
 • Fragment example
Пример Fragment'ов в Android
 • Data Binding
Описание и пример Data Binding
 • Пример MVVM
Пример использования MVVM в Android
 • Компонент TreeTable
Описание компонента TreeTable для Swing
 • Пример TreeTable
Пример использования TreeTable
 • Хранилища Android
Внутренние и внешние хранилища данных
 • Пример SQLite
Пример использования SQLite в Android
 • WebSocket
Описание и пример реализации WebSocket
 • Визуальные компоненты
Улучшен компонент выбора даты из календаря
 • Анимация jQuery
Описание и примеры анимации элементов DOM
 • APK-файл Android
Создание apk-файла для android устройств, .dex файлы
 • платформа JaBricks
Платформа OSGi-приложения JaBricks
Поддержка проекта

Если Вам сайт понравился и помог, то будем признательны за Ваш «посильный» вклад в его поддержку и развитие
 • Yandex.Деньги
  410013796724260

 • Webmoney
  R335386147728
  Z369087728698

Безопасность и защита информации

Вопросы информационной безопасности Java занимают умы не только разработчиков JDK, но также и разработчиков приложений. Стопроцентную безопасность не может обеспечить ни один язык программирования. Поэтому обращаемся к известному принципу, который гласит: "Надежная оборона должна быть эшелонированной". С этой точки зрения и в данном разделе будет представлена информация.

Информация относится к наиболее ценным ресурсам любой компании, поэтому обеспечение защиты информации является одной из приоритетных задач. С повышением значимости и ценности информации соответственно растёт и важность её защиты.

Для обеспечения целостности и конфиденциальности информации необходимо обеспечить защиту информации от случайного уничтожения или несанкционированного доступа к ней. Под целостностью понимается невозможность несанкционированного или случайного уничтожения, а также модификации информации. Под конфиденциальностью информации понимается невозможность несанкционированного завладения злоумышленником хранящейся, отправляемой или принимаемой информации.

Несанкционированный доступ относится к противоправным действиям, в результате которых злоумышленник получает доступ к конфиденциальной информации. То есть, несанкционированный доступ - это активные действия по созданию возможности получения доступа к чужой информации без согласия собственника. Взлом – несанкционированное проникновение в компьютерную сеть или в чужой компьютер с целью получения доступа к информации.

Существует достаточно много возможных направлений утечки информации и путей несанкционированного доступа к ней в системах и сетях :

  • перехват информации;
  • модификация информации, т.е. внесение в нее изменений;
  • подмена авторства информации, когда злоумышленник может послать письмо или документ от вашего имени;
  • создание ложных сообщений;
  • несанкционированное получение доступа к конфиденциальной информации;
  • внедрение компьютерных вирусов и так далее.

Данные виды угроз могут возникнуть в связи с несанкционированным доступом к информации.

Защита информации от несанкционированного доступа (аутентификация и авторизация)

Для получения доступа к ресурсам информационной системы необходимо выполнение трех процедур : идентификация, аутентификация и авторизация.

Под идентификацией понимается присвоение пользователям (объектам или субъектам ресурсов) уникальных имен и кодов (идентификаторов).

Аутентификация (authentication) — это процедура установления подлинности пользователя (или объекта), согласно введенному идентификатору. Например: проверка подлинности пользователя путём сравнения введённого им пароля с паролем в базе данных; подтверждение подлинности электронного письма путём проверки цифровой подписи письма; проверка контрольной суммы файла на соответствие сумме, заявленной автором этого файла. В русском языке термин применяется в основном в сфере информационных технологий.

Аутентификацию не следует путать с авторизацией. Под авторизацией понимается проверка полномочий или проверка права пользователя на доступ к конкретным ресурсам и выполнение определенных операций над ними. Авторизация проводится с целью разграничения прав доступа к сетевым и компьютерным ресурсам.

Алгоритм простой аутентификация пользователя состоит из следующих этапов :

  • пользователь вводит параметры своей учетной записи (логин/пароль) и отправляет их на сервер для проверки;
  • сервер аутентификации сравнивает полученные значениями с эталонными, хранящимися, как правило, в базе данных;
  • при совпадении данных с эталонными, аутентификация признается успешной и пользователь получает доступ в информационную систему; при несовпадении данных с эталонными значениями пользователь возвращается к 1-му шагу.

Пароль учетной записи пользователя необходимо хранить на сервере в хешированном виде. В этом случае сервер аутентификации проверяет по базе данных наличие записи с определенным значением логина пользователя и хэш-кодом пароля.

Для идентификации пользователей могут использоваться сложные в плане технической реализации системы, обеспечивающие установление подлинности пользователя на основе анализа его индивидуальных параметров (отпечатков пальцев, рисунка линий руки, радужной оболочки глаз, тембра голоса). Широкое распространение получают физические методы идентификации, связанные с твердыми носителями - пропуск в контрольно-пропускных системах, пассивные пластиковые карты, считываемые специальными устройствами; активные пластиковые карты, содержащие встроенную микросхему.

Электронная цифровая подпись

Одним из наиболее широко спользуемых способов обеспечению безопасности информации является определение подлинности документов на основе электронной цифровой подписи. Для работы с цифровой подписью используются асимметричные ключи. Владелец шифрует свое сообщение/документ закрытым ключом (PrivateKey), а пользователи, имеющие открытые ключи (PublicKey) могут расшифровать и прочитать сообщение/документ. Поскольку закрытым ключом владеет только автор, следовательно зашифровать сообщение мог только он. Этим подтверждается принадлежность сообщения.

Иногда в качестве цифровой подписи используется дайджест сообщения, зашифрованный с помощью PrivateKey. Адресат может извлечь дайджест сообщения, используя PublicKey, сравнить его с дайджестом самого сообщения и убедиться в подлинности сообщения, т.е. в его целостности и принадлежности отправителю.

Защита информации в компьютерных сетях

Локальные сети компаний очень часто подключаются к сети Интернет. Для защиты локальных сетей компаний, как правило, применяются межсетевые экраны – брандмауэры (firewalls). Межсетевой экран (firewall) – это средство разграничения доступа, которое позволяет разделить сеть на две части (граница проходит между локальной сетью и сетью Интернет) и сформировать набор правил, определяющих условия прохождения пакетов из одной части в другую. Экраны могут быть реализованы как аппаратными средствами, так и программными.

Экраны могут обеспечить защиту в компьютерных сетях компании. Но зачастую информация в виде объектов отправляется в незащищенный браузер. В этом случае объекты в виде java-класса должны быть сериализованы. Сериализация объекта не безопасна. Если сериализованный объект представляет определенную ценность компании, то его также можно защитить на этапах сериализации и десериализации. О защите сериализованного объекта подробно с примером рассказано здесь.


Примечание: о защите информации можно говорить очень много. Можно вспомнить и про компьютерные вирусы и антивирусные программы. Но здесь мы пока остановимся только на тех аспектах, которые рассматриваются на сайте и представляют интерес для java-программистов.

  Рейтинг@Mail.ru