ABAP Secure Storage: как хранить пароли? - PullRequest
0 голосов
/ 11 сентября 2018

никогда не требовалось хранить пароли в системе ABAP ... теперь пришло время узнать что-то новое ...

Мне нужно сохранить пароль, который я использую в системе ABAP для подключения к другой системе., поэтому я не могу сохранить (односторонний) хэш.

Я сталкивался с некоторыми функциональными модулями, такими как FIEB_PASSWORD_ENCRYPT (использующий жестко закодированный ключ) или с некоторыми предложениями по сохранению версии пароля в кодировке base64 (черт возьми!) => И то, и другое только помешает "быстрочтение «пароля», если оно на экране, не мешает кому-либо его украсть.

Я также сталкивался с SECSTORE ( Справка SAP ), который, по-видимому, используется только SAPкомпоненты не в пользовательских приложениях.

По сути, мне нужно

  • хранить пароль в некоторой таблице БД в зашифрованном виде
  • невозможно (по крайней мере, очень трудно) получитьpw с помощью обычного выбора для этой таблицы
  • получают из таблицы БД в чистом виде, чтобы можно было передать ее "другой системе"

  • Iне хочу заново изобретать колесо, особенно не в зоне безопасности.

Я думаю, там ДОЛЖНО быть что-то, что можно использовать для этой цели ...

ОБНОВЛЕНИЕ Зачем мне это нужно:

  • Я получаю доступ к системе HTTPS (тип назначения G), и все параметры подключения настраиваются в пункте назначения.
  • к сожалению, PW необходимо передать в теле в качестве параметра формы

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

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Опция, которую я публикую здесь, является опцией без шифрования, но кажется "довольно безопасной (tm)".Не стесняйтесь комментировать

  • сохранить пароль в таблице БД в виде простого текста
  • установить эту таблицу как "N: отображение / изменение не разрешено"
  • создатьпрограмма для записи PW в эту таблицу
  • нет пробрама, который будет выводить PW.

Это означает, что в продуктивной среде ABAP только тот, у кого есть хотя бы один изследующие права доступа могут получить доступ к PW ( исправьте меня, если я ошибаюсь )

  • Отладка permissiosn на производстве (в основном никто)
  • прямой доступ к БД (в основном никто)
0 голосов
/ 12 сентября 2018

Вы можете использовать функцию SSF_KRN_ENVELOPE для шифрования и SSF_KRN_DEVELOPE для дешифрования.Он использует стандарт RSA, поэтому результат может быть огромным.Я предпочитаю использовать ABAP-класс AES на https://github.com/Sumu-Ning/AES

Эти функции, использующие системные сертификаты, библиотеке AES, требуют IV и ключи, поэтому, если у пользователя есть отладка или авторизация разработчика, он может получить его.

Правильный путьиспользует стандартные способы общения.Например, используя клиент SOAP с базовой аутентификацией и сохраните пароль в SOA Manager.Также для базовой аутентификации могут использоваться протоколы http и https в конфигурации SM59.

...