Главная страница
    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.5 MB
Время: 0.041 c
15-1156794095
Pazitron_Brain
2006-08-28 23:41
2006.09.17
Как распечатать 3х4 фотографию?


15-1156694224
Griha
2006-08-27 19:57
2006.09.17
Скрыть от приложения деактивацию его окна (WM_ACTIVATE)


15-1156251570
vain
2006-08-22 16:59
2006.09.17
Математика. Слабо?


8-1141204700
Sour Smile
2006-03-01 12:18
2006.09.17
Как проиграть несколько звуков одновременно?


15-1156256458
oldman
2006-08-22 18:20
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский