Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1156408626
r@bbit
2006-08-24 12:37
2006.09.17
Основные причины Exception EInOutError


2-1156832949
Pok
2006-08-29 10:29
2006.09.17
Определение пути к моему безоконному приложению


2-1156834986
DarkHrin
2006-08-29 11:03
2006.09.17
переключение в рантайме между метками


15-1156216548
Rentgen
2006-08-22 07:15
2006.09.17
Без експлорер.ехе клавиатура "спит" ???


15-1156369077
jack128
2006-08-24 01:37
2006.09.17
Планеты Плутон больше нет...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский