Публикация черновика стандарта Web Crypto API

За всю историю длительной разработки, в рамках которой оказались объединены усилия специалистов компаний Mozilla и Google, вниманию мировой общественности впервые был представлен рабочий черновик Web Crypto API в своей первой версии.

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

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

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

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

Секция черновика под названием «Алгоритмы», еще не носящая обязательного характера, содержит следующие рекомендуемые алгоритмы: HMAC с SHA-256, ECDSA с P-256 и SHA-256, AES-CBC, и RSASSA-PKCS1-v1_5 с SHA-256.

Все желающие эксперты приглашены принять участие в обсуждении нового стандарта рабочей группой проекта.