Каков стандартный/современный способ использования аутентификации по карте CAC/PIV в веб-приложениях Java/Tomcat?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Каков стандартный/современный способ использования аутентификации по карте CAC/PIV в веб-приложениях Java/Tomcat?

Сообщение Anonymous »

Мы уже несколько дней изучаем карты CAC/PIV для нашего веб-приложения и нашли некоторую полезную информацию, но нам все еще не хватает ее для наших конкретных нужд. Мы используем Spring Boot, Java и сервер Tomcat 9. По сути, наш вопрос таков: Каков отраслевой стандарт для реализации аутентификации по карте CAC/PIV в веб-приложении Spring Boot, Java на сервере Tomcat? (Большинству источников, которые мы нашли, более 10 лет, остальным 5–9 лет, поэтому нам просто нужна актуальная информация по этой теме.)
В нашем веб-приложении будет два способа входа:
  • Имя пользователя, пароль и ключ TOTP (у нас это работает)
  • Имя пользователя, пароль и карта CAC/PIV
(Метод, необходимый для каждого пользователя, будет частично определяться на основе его роли.)
У нас было несколько идей:
Идея №1:
Мы нашли еще несколько идей, которые предлагают использовать настройку clientAuth="true". на нашем сервере Tomcat или аналогичном. [1] [2] [3] Это было бы идеально, так как это самый простой способ реализовать это, но поскольку нам нужны 2 метода, упомянутых выше, мы не хотим, чтобы приложение всегда< /em> требует бейдж.
Чтобы обойти эту проблему, мы подумали, что могли бы создать какое-то «шлюзовое» приложение, единственной целью которого является выполнение аутентификации по бейджу. (Может быть, что-то вроде этого веб-сайта max.gov [4] или других сайтов департаментов, ссылки на которые есть на этой странице.)
Идея № 2:
Использовать библиотека с открытым исходным кодом из GitHub. Мы нашли несколько источников, которые рекомендуют их:
  • OpenSC [5]: этот правительственный сайт [6] также ссылается на него. , но похоже, что это какое-то веб-расширение.
  • web-smart-card [7]: мы не знаем, как его использовать.< /li>
    PKCS#11: на это ссылаются некоторые другие [8] [9] [10] но похоже, что это для настольных приложений — это правда ? И некоторые сказали, что это может быть медленно? А в ответе по ссылке №9 используются сервлеты, которые не используются в приложениях Spring Boot (насколько я могу судить).
Мы читали о некоторые тоже используют апплеты, но это были старые обсуждения.
Другие идеи:
Мне нравится обсуждение здесь [11], но оно немного более теоретический, без какого-либо примера кода.
Эти два поднимают несколько хороших вопросов [12] [13], но на них нет ответов.
Некоторые используют node.js или React, как этот [14], но я слышал, что использовать его в приложении Spring Boot — не лучший вариант.
Там это также Руководство разработчика [15] для устройства чтения карт, которое используется конечными пользователями этого приложения, но я пока не нашел там ничего полезного.
Мы также подумали об использовании доступной библиотеки от Okta, поскольку у них теперь есть возможность использования методов аутентификации PIV-карты [16]. Однако оказывается, что Okta — это платная услуга, которая нам не подходит.
Ссылки: (< em>Я постараюсь обновить этот вопрос, когда получу более подробную информацию.)

Подробнее здесь: https://stackoverflow.com/questions/783 ... java-tomca
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»