Курс лекций Составитель Соркина В. Е. Введение 12

Вид материалаКурс лекций

Содержание


Идентификация личности пользователя
Средства программирования
Подобный материал:
1   ...   27   28   29   30   31   32   33   34   ...   71

Идентификация личности пользователя

В связи с проблемой создания защищенных информационных систем иногда поднимаются вопросы, касающиеся идентификации личности пользователя. Идентификация личности не фигурирует в модели в явном виде, поскольку пользователь не ожидает, что компьютерная система будет ее определять. Тем не менее, личность пользователя — это ключевое понятие, в соответствии с которым предоставляются те или иные услуги. Идентификация личности (проверка подлинности клиента, аутентификация) должна быть устойчива к взлому, чтобы можно было с большей надежностью предпринимать действия на основе полученной информации о пользователе (проверка полномочий12, авторизация). Поэтому пользователи ожидают, что их персональные данные будут защищены от нежелательного использования.
Описать, что такое личность, сложно в принципе, но это особенно сложно в электронной среде. Мы используем рабочее определение, что личность представляет собой совокупность неизменных составляющих из числа отличительных характеристик, по которым человек (или предмет) может быть узнан или которыми он известен. Личность — понятие расплывчатое и контекстно-зависимое, поскольку эти «обрывки»-составляющие находятся в самых разных местах в электронной, физической и эмоциональной форме. Какая-то часть личности «принадлежит» пользователю, но в значительной степени личность «определяется» другими людьми, будь то юридически (государством или компаниями) или в порядке неформального узнавания в обществе.
В проблему идентификации личности упираются многие элементы защищенности информационных систем. Пользователи беспокоятся о компьютерной конфиденциальности частично из-за того, что они понимают, что казалось бы несвязанные составляющие их личности могут легче быть собраны в одно целое, когда фрагменты находятся в электронном виде. Лучшее свидетельство тому — растущая в обществе боязнь мошенничества с кредитными картами и «кражи личностей», поскольку операции в Интернете более прозрачны и анонимны по сравнению с офлайновыми операциями, хотя оба эти преступления столь же возможны в физическом мире. Пользователи ожидают, что их персональная информация, включая составляющие их личности, не будет раскрываться без особого на то разрешения.

Люди

Управлять очень крупными компьютерными сетями уже непросто и со временем становится лишь сложнее. Масштабность трудностей маскируется тем, что пока мы, как правило, нанимаем для этого специалистов. Недостатки машин, сетей, методов управления, инструментов и самих приложений часто смягчаются талантливыми системными администраторами, напряженная работа которых в какой-то степени компенсирует тот факт, что компоненты систем не всегда функционируют так, как ожидается или как хотелось бы.
Многие системные сбои, привлекающие много внимания, происходят из-за сложности систем. Люди допускают ошибку в администрировании, не устанавливают пакет исправлений или неправильно настраивают брандмауэр15, и простой сбой превращается в катастрофу. Существует очень сильная зависимость от операторов-людей, которые должны делать то, что нужно, изо дня в день.
Знающих администраторов уже не хватает, и мы продолжаем сдавать позиции. Хуже того, потребности в администрировании выходят за рамки сферы деятельности профессиональных ИТ-менеджеров. С одной стороны, мы пришли к ситуации, когда даже лучшим операторам приходится трудно: системы меняются слишком быстро, чтобы люди успевали с этим разобраться. С другой стороны, массовое распространение компьютеров в конце концов породит необслуживаемые системы, которые люди будут носить с собой или держать в машине или дома.
Поэтому нам нужно предоставить людям более простые возможности, которые обеспечат надлежащее функционирование системы при минимальном вмешательстве человека. Мы должны стремиться к ситуации, когда люди, принимающие решения, смогут задать политику и распространить ее на тысячи машин, не прилагая при этом существенных усилий по написанию программ, переключению рычагов или нажатию кнопок на администраторских пультах.
ИТ-индустрия может подойти к проблеме различными путями. Может быть, на самом деле следует совершенно иначе писать программы? Необходимы ли в принципе системные администраторы? Или нам следует разрабатывать машины, которые смогут администрировать другие машины без постоянного вмешательства человека?

Средства программирования

При каждом из этих подходов требуются новые виды программного обеспечения. По мере того, как абсолютное число машин и их сложность растет, процесс администрирования начинает сталкиваться с проблемой нехватки обученных людей и их возможностей.
Поэтому сообществу разработчиков средств программирования необходимо задуматься о создании более подходящих способов написания программ. Людям, традиционно размышляющим над тем, как управлять компьютерами, предстоит подумать о том, как расширить возможности компьютеров по самоорганизации и самоуправлению.
Нам нужно продолжать совершенствование средств программирования, потому что сегодня программирование слишком подвержено ошибкам. Однако существующие средства не обеспечивают адекватной поддержки, поскольку остается ряд уровней абстракции, требующих непосредственного управления. Другими словами, проектировщику приходится не только учитывать архитектуру системы и вопросы платформ и библиотек, но также и все остальное — от производительности, локализации и удобства сопровождения до структур данных, многопоточности и управления памятью. Слабо поддерживается параллельное программирование: большинство управляющих конструкций строятся последовательно, и весь процесс также носит последовательный характер. И это только на стадии разработки; на этапе развертывания становится все труднее проверять сложные взаимодействия систем, версий и широкого спектра операционных сред. Кроме того, все большее распространение получают инструменты, предлагающие усовершенствованные функции разработки более широким слоям пользователей, но не помогающие новичкам и неопытным пользователям писать хороший код. Есть также вопросы из области долгосрочного функционирования: например, инструменты не поддерживают выход технологий из употребления или изменение тенденций, касающихся возможностей устройств, объемов хранения, скорости и т. п. Подумайте о колоссальных усилиях, затраченных на Проблему-2000 из-за того, что программисты 60-х и 70-х годов не ожидали, что их код все еще будет использоваться на машинах, намного превосходящих возможности машин того времени.