Jump to content

Надувной замок (криптография)

Надувной замок
Разработчик(и) Легион Надувного Замка Inc.
Стабильный выпуск(и) [±]
Ява 1,77 / 13 ноября 2023 г .; 8 месяцев назад ( 13.11.2023 ) [1]
Java LTS BC-LJA 2.73.5/1 марта 2024 г .; 4 месяца назад ( 01.03.2024 ) [2]
Java ФИПС BC-FJA 1.0.2.4 / 28 сентября 2023 г .; 9 месяцев назад ( 28.09.2023 ) [3]
С# 2.3.0 / 5 февраля 2024 г .; 5 месяцев назад ( 05.02.2024 ) [4]
С# ФИПС BC-FNA 1.0.2 / 28 февраля 2023 г .; 16 месяцев назад ( 28 февраля 2023 г. ) [5]
Репозиторий github /bcgit /
Написано в С# и Java
Платформа .NET Framework и Java SE
Тип Криптографический API
Лицензия МОЯ лицензия [6]
Веб-сайт надувной замок .org

Bouncy Castle — это набор API, используемых в криптографии . Он включает API для языков программирования Java и C# . API поддерживаются зарегистрированной австралийской благотворительной организацией Legion of the Bouncy Castle Inc.

Bouncy Castle имеет австралийское происхождение и поэтому американские ограничения на экспорт криптографии из США на него не распространяются.

Bouncy Castle зародился, когда двум коллегам надоело заново изобретать набор криптографических библиотек каждый раз, когда они меняли работу, работая над серверной Java SE . Один из разработчиков активно занимался разработкой Java ME (в то время J2ME) в качестве хобби, и при проектировании было необходимо включить в библиотеку как можно больше виртуальных машин Java, в том числе на J2ME. Это дизайнерское соображение привело к созданию архитектуры, которая существует в Надувном замке. [7]

Проект, основанный в мае 2000 года, изначально был написан только на Java, но в 2004 году к нему был добавлен API C#. Исходный API Java состоял примерно из 27 000 строк кода, включая тестовый код, и обеспечивал поддержку J2ME, поставщика JCE / JCA . и базовое создание сертификата X.509 . Для сравнения, версия 1.53 состоит из 390 640 строк кода, включая тестовый код. Он поддерживает ту же функциональность, что и исходная версия, с большим количеством алгоритмов, а также PKCS #10, PKCS#12, CMS, S/MIME , OpenPGP , DTLS , TLS , OCSP , TSP , CMP , CRMF, DVCS , DANE , EST. и сертификаты атрибутов. API C# содержит около 145 000 строк кода и поддерживает большую часть того, что делает API Java.

Некоторые ключевые свойства проекта:

  • Особое внимание уделяется соблюдению стандартов и адаптивности.
  • Средства общественной поддержки включают систему отслеживания проблем, список рассылки для разработчиков и вики, доступные на веб-сайте.
  • Коммерческая поддержка предоставляется в рамках ресурсов для соответствующего API, перечисленных на веб-сайте Bouncy Castle.

18 октября 2013 года в штате Виктория, Австралия, основными разработчиками и другими лицами была создана некоммерческая ассоциация Legion of the Bouncy Castle Inc., которая взяла на себя ответственность за проект и поддержала продолжающееся развитие игры. API. 7 ноября 2013 года Ассоциация была признана Австралийской благотворительной организацией с целью развития образования и целей, приносящих пользу обществу, Австралийской комиссией по благотворительным и некоммерческим организациям . [8] 29 ноября 2013 года ассоциация получила разрешение от Управления по делам потребителей штата Виктория на сбор средств для поддержки своих целей .

Архитектура

[ редактировать ]

Архитектура Bouncy Castle состоит из двух основных компонентов, которые поддерживают базовые криптографические возможности. Они известны как «облегченный» API и поставщик расширения криптографии Java (JCE). Дополнительные компоненты, созданные на основе поставщика JCE, поддерживают дополнительные функции, такие как поддержка PGP , S/MIME и т. д.

Низкоуровневый или «легкий» API — это набор API, реализующих все базовые криптографические алгоритмы. API были разработаны так, чтобы их можно было использовать при необходимости, но они представляли собой базовые строительные блоки для поставщика JCE. Цель состоит в том, чтобы использовать низкоуровневый API в устройствах с ограниченным объемом памяти (JavaME) или когда легкий доступ к библиотекам JCE невозможен (например, распространение в апплете ) . Поскольку облегченный API представляет собой всего лишь код Java, виртуальная машина Java (JVM) не накладывает никаких ограничений на работу кода, и на ранних этапах истории Bouncy Castle это был единственный способ разработать надежную криптографию, которая была не поврежден файлами политики юрисдикции, которые не позволяют поставщикам JCE выполнять «надежное» шифрование.

JCE-совместимый поставщик построен на основе API-интерфейсов низкого уровня. Таким образом, исходный код провайдера JCE является примером реализации многих «распространенных» проблем шифрования с использованием низкоуровневого API. Многие проекты были созданы с использованием поставщика JCE, включая центр сертификации с открытым исходным кодом EJBCA .

Сертифицированные релизы

[ редактировать ]

Выпуски C# и Java стандарту FIPS 140-2 также имеют потоки, сертифицированные по уровня 1. Они отличаются от обычных выпусков тем, что, хотя модули разработаны аналогично обычным выпускам, API-интерфейсы низкого уровня совершенно другие — в основном для поддержки применения элементов управления, которые требуются FIPS при использовании алгоритма. В случае уровня JCE Java API поставщик по-прежнему в значительной степени является заменой обычного выпуска. Первые выпуски, сертифицированные по стандарту FIPS, были выпущены в ноябре 2016 года: последней версии Java был присвоен сертификационный номер 4616 , а последней версии C# — сертификационный номер 4416 .

Губчатый замок

[ редактировать ]

По состоянию на начало 2014 года операционная система Android включает адаптированную версию Bouncy Castle. [9] Из-за конфликтов имен классов приложения Android не могут включать и использовать официальную версию Bouncy Castle «как есть». Сторонний проект Spongy Castle распространяет переименованную версию библиотеки для решения этой проблемы. [10]

Полосатый замок

[ редактировать ]

Первоначально предполагалось, что версию Spongy Castle также можно создать в соответствии с FIPS 140-2. Из-за обработки файлов DEX в Android выяснилось, что для целей FIPS провайдер необходимо устанавливать на устройство отдельно от приложения. Версия FIPS 140-2 для Android теперь называется Stripy Castle и упакована в каталог org.stripycastle . Это было необходимо, чтобы избежать конфликтов с версией Bouncy Castle для Android, а также конфликтов для приложений, которые могли использовать Spongy Castle и не требовали сертифицированных FIPS 140-2 сервисов.

См. также

[ редактировать ]
  1. ^ «Примечания к выпуску — jumpycastle.org» . 13 ноября 2023 г. Проверено 18 ноября 2023 г.
  2. ^ «Ресурсы Java LTS — jumpycastle.org» . 1 марта 2024 г. Проверено 31 марта 2024 г.
  3. ^ «Ресурсы Java FIPS — jumpycastle.org» . 28 сентября 2023 г. Проверено 29 сентября 2022 г.
  4. ^ «Легион API криптографии надувного замка C#» . 5 февраля 2024 г. Проверено 6 февраля 2024 г.
  5. ^ «Ресурсы C# .NET FIPS — jumpycastle.org» . 28 февраля 2023 г. Проверено 28 февраля 2023 г.
  6. ^ «Надувной замок – ЛИЦЕНЗИЯ» . сайт jumpycastle.org . Легион Надувного Замка.
  7. ^ « Разработка с открытым исходным кодом и устойчивое развитие: взгляд на проект надувного замка » (PDF) . Саммит по сотрудничеству Linux Foundation, 2016. Архивировано из оригинала (PDF) 29 августа 2017 года.
  8. ^ «Реестр Австралийской комиссии по благотворительным и некоммерческим организациям» . Проверено 6 июля 2019 г.
  9. ^ Реймер, Хельмут; Полманн, Норберт; Шнайдер, Вольфганг, ред. (2014). ISSE 2014. Безопасность электронных бизнес-процессов (PDF) . Висбаден: Springer Fachmedien Wiesbaden. п. 205. дои : 10.1007/978-3-658-06708-3 . ISBN  9783658067076 . S2CID   32601495 .
  10. ^ «Губчатый замок» . Проверено 29 апреля 2013 г. - через Github.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d9146840742d5d80282f41e213bee1ec__1711429680
URL1:https://arc.ask3.ru/arc/aa/d9/ec/d9146840742d5d80282f41e213bee1ec.html
Заголовок, (Title) документа по адресу, URL1:
Bouncy Castle (cryptography) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)