Файл базы данных iSeries (AS / 400): шифрование пароля - PullRequest
1 голос
/ 09 августа 2011

Я помогаю с проектом, в котором к старой программной системе на iSeries был применен совершенно новый пользовательский интерфейс .NET.Все идет хорошо ... кроме ...

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

У меня есть файл со столбцом идентификатора и пароля.Столбец пароля содержит только 16 символов в каждой записи, все двоичные.

Часть предыдущей системы вендора была написана на собственном зеленом экране 400, а часть - в Microsoft ASP.Net.

Какой тип шифрования или хэширования будет:

  1. Используется приложением AS / 400 или iSeries Green Screen и
  2. Используетсяприложением Microsoft .NET и
  3. Выводит последовательные 16 двоичных байтов, независимо от длины ввода

Указатели очень ценятся.Спасибо!

Ответы [ 2 ]

2 голосов
/ 10 августа 2011

Первый порт захода - системное руководство для старой системы. После этого обратитесь к поставщику и, предположив, что вы заплатили за поддержку (вы заплатили за поддержку, не так ли), попросите своих специалистов технической поддержки ответить на ваш вопрос.

Если это вас никуда не приведет, вы должны начать копать. Шестнадцать символов - это 128 бит, так что вы, вероятно, имеете 128-битный хэш чего-то. Скорее всего, MD5, особенно если исходный код датируется примерно с 1991 по 1996 год.

Затем вам нужно решить, добавляет ли он соль к паролю, прежде чем его хешировать. Создайте две новые учетные записи в старой системе с разными именами пользователей и одним и тем же паролем. Скажите «user1 / пароль» и «user2 / пароль». Теперь посмотрите на файл паролей и найдите две новые записи. Если два хеша одинаковы, то соль не использовалась, и у вас, вероятно, есть простой хеш пароля. Если нет, попробуйте MD5-хэш простых комбинаций имени пользователя и пароля:

user1password
passworduser1
user1: пароль
Пароль: user1
и т.д.

Если одна из этих работ, значит, вы ее решили. Если нет, то вы потратите очень много времени на создание Радужных таблиц и всевозможных других криптоаналитических вещей.

Если до этого дойдет, может быть проще просто вставить сетевой анализатор в вашу сеть, где он попадет на старую систему, чтобы вы могли прочитать пароли ваших пользователей, прежде чем они будут хешированы. Для дополнительной уверенности проверьте сообщение «Вы вошли правильно», возвращаясь в обратном направлении, прежде чем записывать пароль. Они могут ошибиться, просто не в то время.

2 голосов
/ 09 августа 2011

Существует множество встроенных и сторонних схем шифрования для i.Лучше всего найти API, который поставщик использует в своих приложениях, или напрямую спросить их.Хорошо спроектированное приложение будет иметь этот код входа в одном месте.

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

...