Форум: "Прочее";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
ВнизКак запрятать алгоритм шифрования в программе? Найти похожие ветки
← →
Piter © (2006-08-22 00:18) [0]Дело в том, что моя программа хранит введенный в нее пароль для аутентификации на удаленном хосте в реестре.
Хранит в шифрованном виде.
Сответственно, алгоритм шифрования, также как и ключ, хранится в самой программе (увы, но ей приходится самой расшифровывать пароль, всякие хеши для удаленного хоста не катят).
Вопрос. Как бы посекретнее запрятать ключ и алгоритм шифрования в глубь программы? Чтобы дебагером не на раз два все вычислялось...
← →
guav © (2006-08-22 00:24) [1]В конце BMP картинки AboutBox"а :)
← →
Ketmar © (2006-08-22 00:25) [2]ну, узнают. и что? RSA вот давно все знают. а вот ключ в программе хранить не надо.
← →
DiamondShark © (2006-08-22 00:28) [3]А смысл?
> Чтобы дебагером не на раз два все вычислялось...
Точка вызова "аутентификации на удаленном хосте" дебагером именно на раз-два и вычисляется.
Алгоритм шифрования никто даже и не подумает искать.
← →
Ketmar © (2006-08-22 00:30) [4]кстати, да. нафиг тут дебаггер не нужен. простая MITM-атака -- и всё.
← →
Джо © (2006-08-22 00:31) [5]Делаешь интерпретатор своего собственного байт-кода. На нем реализуешь алгоритм шифрования. Я когда-то извращался (обычная примитивная стековая машина).
Только все без толку. Выковыряют интерпретатор с байт-кодом и скормят ему что угодно :)
← →
DiamondShark © (2006-08-22 00:36) [6]
> Выковыряют интерпретатор
Да кому он нужен.
Искать будут точку, где пароль в открытом виде появляется.
← →
DiamondShark © (2006-08-22 00:37) [7]Кстати, что за хост? Что за аутентификация?
← →
Джо © (2006-08-22 00:45) [8]> [6] DiamondShark © (22.08.06 00:36)
>
> > Выковыряют интерпретатор
>
> Да кому он нужен.
> Искать будут точку, где пароль в открытом виде появляется.
А он в явном виде и не появится. Точнее, будет разбросан по структурам в байт-коде, там же и сравнение будет.
← →
Ketmar © (2006-08-22 00:50) [9]> [5] Джо © (22.08.06 00:31)
а ещё круче сделать генератор разных интерпретаторов, и наворотить их штук 60. %-) но -- см. [6].
← →
Ketmar © (2006-08-22 00:50) [10]> [8] Джо © (22.08.06 00:45)
пароль для аутентификации на удаленном хосте в реестре
← →
DiamondShark © (2006-08-22 00:51) [11]
> А он в явном виде и не появится.
Дыканечно.
Весь сетевой API тоже на байт-коде переписывать?
Где-то обязательно будет внешний вызов.
← →
Ketmar © (2006-08-22 00:54) [12]"в реестре" из цитаты выкинуть. лишнее. %-)
← →
Ketmar © (2006-08-22 00:55) [13]> [11] DiamondShark © (22.08.06 00:51)
а что? виртуальную машину -- и вперёд. обработать код системы до неузнаваемости... (эк меня несёт...)
← →
Джо © (2006-08-22 01:02) [14]> [11] DiamondShark © (22.08.06 00:51)
> Где-то обязательно будет внешний вызов.
А, ну да. Я что-то задачей не проникся.
← →
Piter © (2006-08-22 01:06) [15]guav © (22.08.06 0:24) [1]
В конце BMP картинки AboutBox"а :)
неплохая идея... Но это ключ.
Докопают до места вызова функции расшифровки, куда ключ и передается...
Ketmar © (22.08.06 0:25) [2]
RSA вот давно все знают. а вот ключ в программе хранить не надо.
ага. Каким тогда образом программа сама узнает пароль.
DiamondShark © (22.08.06 0:37) [7]
Кстати, что за хост? Что за аутентификация?
вот именно, что канал шифрованный, SSL.
Джо © (22.08.06 0:31) [5]
Делаешь интерпретатор своего собственного байт-кода. На нем реализуешь алгоритм шифрования
сложно для меня. Интерпретатор... Да еще алгоритм шифрования реализовать...
← →
Ketmar © (2006-08-22 01:11) [16]> [15] Piter © (22.08.06 01:06)
> Каким тогда образом программа сама узнает пароль
самым простым и универсальным -- у юзера спросит.
← →
Piter © (2006-08-22 01:22) [17]Ketmar © (22.08.06 1:11) [16]
и каждый раз вводить пароль?
Притом что прога по замыслу вообще в автозагрузке сидит.
Понятное дело, что поломать можно все. Тот же Keylogger поставить. Но хочется чтобы пароль шифровался более-менее надежно :)
← →
DiamondShark © (2006-08-22 01:25) [18]
> и каждый раз вводить пароль?
так на вход в систему и так вводит.
храни ключ в криптоконтейнере.
← →
Piter © (2006-08-22 01:29) [19]DiamondShark © (22.08.06 1:25) [18]
так на вход в систему и так вводит
а причем здесь это?
DiamondShark © (22.08.06 1:25) [18]
храни ключ в криптоконтейнере
что это?
← →
Ketmar © (2006-08-22 01:30) [20]> [17] Piter © (22.08.06 01:22)
самый надёжный метод -- это ничего не хранить.
шифровать же пароль, или нет -- не важно. у кого хватит мозгов отлачиком наковырять алгоритм, тот и по-другому вытащить сможет.
← →
Ketmar © (2006-08-22 01:31) [21]> [19] Piter © (22.08.06 01:29)
это Crypt API. %-)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.043 c