Главная страница
    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.112 c
2-1156844462
Ник2006:)
2006-08-29 13:41
2006.09.17
автозугрузка через реестр.


1-1154425076
DevilDevil
2006-08-01 13:37
2006.09.17
Ширина Excel столбца в пикселях


11-1132651033
MTsv DN
2005-11-22 12:17
2006.09.17
Как убрать скролл у ListView...


2-1156754224
zdm
2006-08-28 12:37
2006.09.17
UpperCase


15-1156573533
Der Nechk@ssoff
2006-08-26 10:25
2006.09.17
файлы IMZ





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский