Вопрос безопасности

Примечание от редакторов A List Apart: В каждом выпуске один из авторов W3C будет вводить вас в курс дела над чем мы работаем и как в этом можно поучаствовать. В этом месяце колонку ведёт Вирджиния Галиндо (Virginie Galindo), председатель рабочей группы W3C по веб-криптографии.

Логика приложений всё больше смещается на сторону клиента, что влияет на безопасность. Это волнующий период в истории сети.

Gemalto, компания в которой я работаю, обеспечивает безопасность банков, операторов мобильной связи, государственных органов и корпораций, которые ринулись в сеть. В 2012 году Gemalto присоединилась к консорциуму W3C с целью сделать интернет более безопасным. Мой рассказ, написанный год спустя, посвящен частично моим впечатлениям от присоединения к сообществу W3C и частично безопасности в сети.

Знакомство

Большая часть работы W3C ведётся в режиме онлайн, однако время от времени члены групп W3C встречаются вживую. В октябре 2011 года я преодолела расстояние от Франции до Санта Клары в Калифорнии чтобы посетить своё первое собрание технического пленарного и консультационного комитета (TPAC), ежегодный съезд участников групп W3C для обмена идеями и опытом.

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

В прошлом году TPAC посетило около 500 человек. Конференц-залы были битком набиты, народ еле помещался. Любой человек с магическим значком члена W3C мог свободно войти, поднять руку, выразить свое мнение и быть выслушан. С первого знакомства я влюбилась в этот прекрасный коллектив из людей с незашоренными умами, которые занимаются разработкой открытой веб-платформы.

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

Напряжённая встреча

Несколько недель спустя руководство W3C связалось со мной и предложило занять место председателя рабочей группы по криптографии, одной из важных составляющих безопасности веб-приложений. Oh Mon Dieu!1 (На самом деле это не то выражение, которое у меня вырвалось. Мне пришлось его смягчить чтобы не смущать умы юных читателей.) Стать председателем рабочей группы W3C! После осмысления длительностью в полнаносекунды у меня душа ушла в пятки.

Так началось длинное, но интересное путешествие в мир W3C, изучение азов работы консорциума, встречи с новыми коллегами, освоение инструментов для совместной работы над проектами. И вот сегодня я председатель рабочей группы по веб-криптографии, в которой зарегистрированы более 60 участников.

На протяжении последнего года каждую неделю 15-20 из нас устраивали телеконференцию. Я возглавляю собрание, проходящее вечером по времени Франции, сидя в своей тихой гостиной. Пока за стенкой спят дети, группа обсуждает модели обеспечения безопасности и API. Мы делаем успехи. Не всегда приходим к общему мнению, но как и обязались, движемся вперёд.

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

Первым кусочком в этом пазле стал API для криптографических операций Web Cryptography API (под редакцией коллег из Mozilla и Google). С помощью этого API разработчики могут осуществлять базовые криптографические операции, такие как манипуляции с хеш-таблицами, создание и проверка цифровых подписей, кодировка и декодировка данных. Разработчики также могут генерировать, извлекать или импортировать криптографические ключи.

Возможность генерировать ключ предусматривает также необходимость обеспечения приложению доступа к ранее сгенерированным ключам. В этом состоит цель нашей второй спецификации, API для обнаружения ключей Web Crypto Key Discovery API под редакцией коллеги из Netflix.

Почему возможности «генерирования» и «обнаружения» представлены не в одной спецификации, а в двух? Из-за расхождения во мнениях среди участников группы. Моя обязанность на посту председателя — предотвратить простои. Две спецификации стали путём для продвижения вперёд.

Наш самый свежий черновик по Web Crypto API был опубликован в конце июня 2013 года. Мы планируем последнее совещание по этому вопросу на последний квартал этого года. “Последнее совещание” подразумевает что до него мы хотели бы убедиться что все технические требования удовлетворены и можно сосредоточить внимание на реализации. Однако, как это часто бывает, реализация началась уже на этом этапе, когда готов только черновик. BBN Technologies, Netflix, и Inventive Designers объявили о подготовке прототипов, а Google уже приступила к реализации.

Страсть и боль

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

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

Рабочая группа признала, что такое беспокойство не полностью безосновательно. В качестве решения была предложена возможность для разработчиков выбирать между исходным API, доступным на данный момент, и более простым но менее мощным API, которое пока находится на стадии разработки. К 2014 году я ожидаю появление черновика для этого API высшего уровня, которое предложит нечто вроде проведения базовых операций по безопасности «после одного клика по кнопке».

Как видите, моя интрижка с W3C перерастает в нечто более предсказуемое. Мы уже строим совместные планы.

Встречи с другими

К счастью, рабочая группа по криптографии не является единственным сообществом W3C, которая работает над вопросом безопасности в сети.

Множество обсуждений и быстро меняющаяся ситуация с безопасностью дают мне надежду что веб скоро станет более безопасным для просмотра веб-страниц и использования приложений. Все эти группы работают в разных направлениях и мы
понимаем что всё, что у нас получится в результате, должно хорошо работать вместе. Присоединяйтесь и расскажите нам о вашей точке зрения на вопрос безопасности на TPAC 2013.


Примечания

1 Боже мой! (фр.)