Шифрование. Вопрос, к которому многие разработчики подходят с благоговением и опаской. За последние пару десятков лет многие пытались изменить этот неидеальный мир и многие достигали успеха. Но одна вещь оставалась неизменной — создать безопасное приложение до сих пор могут позволить себе далеко не все. Цена безопасности слишком велика и включает в себя изучение десятков стандартов и спецификаций, компиляцию тонн непонятного кода, чтение многостраничных монографий криптографических гуру. Мы в Virgil Security далеки от амбициозных планов по изменению мира, мы просто хотим сделать безопасность доступной каждому. И вот мы на Хабре, здравствуйте!
Идея о доступном, безопасном способе обмена информацией витала в воздухе уже давно. Но, к сожалению, на протяжении многих лет она оставалась всего лишь мечтой наряду с летающими автомобилями и высадкой на Марс. Мы предлагаем каждому разработчику простой и надежный способ сделать эту мечту явью. Как? Вот об этом мы и собираемся рассказать.
Итак, что же мы предлагаем? Мы предлагаем инфраструктуру, позволяющую сделать из любого разработчика опытного криптографа. Независимо от языка, на котором вы пишите, будь то C, C++, C#, ObjectiveC, Swift, JavaScript, Go, PHP, Python, Ruby или что-то другое. Независимо от типа создаваемого вами продукта: десктопное или мобильное приложение, облачный сервис или встраиваемая система. Независимо от операционной системы, на которой вы работаете: Windows, MacOS, Linux, iOS. С помощью Virgil Security вы можете добавить в свое приложение надежное End-to-end шифрование или беспарольную аутентификацию всего лишь несколькими строками кода.
Вы когда-нибудь задумывались почему безопасность до сих пор остается такой серьезной проблемой?
Если кратко, то в основном по четырем причинам:
- Отсутствие качественной, кроссплатформенной реализации криптоалгоритмов;
- Отсутствие инфраструктуры, позволяющей сделать криптографию повсеместной;
- Проблема совместимости. Внедряя шифрование в свой продукт, разработчики вынуждены жертвовать совместимостью своих решений;
- Отсутствие гибкой системы управления ключами.
И мы думаем, что у нас есть способ решить все эти проблемы раз и навсегда.
Во-первых: Исторически сложилось так, что мир криптографов и мир программистов ПО практически не пересекался. В результате чего сегодня доступно большое количество самых разных криптографических библиотек и инструментов, которые бесполезны для большинства разработчиков в силу своей сложности и раздробленности. Мы сконцентрировали свои усилия на создании единого API, использование которого позволит разработчику добавить стойкое шифрование к своему проекту всего за несколько минут. Более того, мы написали очень много кода, чтобы сделать использование API возможным практически на каждом языке программирования. И весь этот код мы опубликовали в открытом доступе под BSD-3 лицензией.
Во-вторых: Создавать систему, которая использует определенные алгоритмы или имеет ограниченную функциональность – это значит повторять ошибки последних 20 лет. Вместо этого мы предоставляем гибкую инфраструктуру, с помощью которой вы можете устанавливать метод шифрования для каждого сообщения, файла или пакета. Мы реализовали большинство современных эллиптических кривых и вы можете использовать любую из них. Вам необходимо менять алгоритм каждый час? Каждую минуту? После каждого зашифрованного сообщения? Не проблема. Вы можете строить многослойное шифрование наподобие RSA+ECIES. И все это всего в несколько строк кода.
В-третьих: Совместимость. Несмотря на то, что многие современные языки имеют встроенную реализацию наиболее распространенных криптоалгоритмов, писать программы для Интернета Вещей, где данные могут считываться с датчиков и обрабатываться на Android и iOS устройствах, может оказаться весьма болезненным занятием. Virgil Security избавляет от подобных проблем. Мы предоставляем единый API, который будет работать на любой платформе.
В-четвертых: К сожалению, наиболее уязвимым местом в любой системе по прежнему остаются пользователи. Не все пользователи умеют грамотно управлять ключами, более того, пользователи могут вообще не подозревать о наличии ключей. Virgil Security предоставляет возможность не только использовать глобальную инфраструктуру открытых ключей, но также создать свою собственную локальную инфраструктуру, доступную в рамках одного приложения. Разработчик может разрешить пользователям сохранять зашифрованные копии ключей в хранилище приватных ключей, что гарантирует восстанавливаемость данных в случае утраты ключа.
Итак, как и говорилось выше, мы не пытаемся изменить мир. Мы предлагаем вам простой способ реализовать надежное шифрование и добавить его в ваш проект. Изменить мир и сделать его безопаснее способен каждый. Что для этого нужно сделать? Выбрать красную таблетку, разумеется.
Автор: Virgil Security, Inc.