Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];

Вниз

Пароль   Найти похожие ветки 

 
Id   (2005-12-12 11:54) [0]

Здравствуйте.
Хотелось бы обсудить такую тему.
В некоторых проектах требуется защита входа или выхода из программы, т.е. возникает потребность пароля, который можно поменять, зная старый. Я использую такой способ. Создается произвольный файл. С помощью Random заполняю различными символами. Затем произвожу запись пароля по буквенно вставляю в этот файл через определенный промежуток символов. Мне самому неочень нравится этот способ. Какие еще варианты хранения пароля существуют? Кто какими пользуется?


 
Sandman29 ©   (2005-12-12 11:56) [1]

Пароль должен быть записан так, чтобы его нельзя было восстановить.


 
Id   (2005-12-12 12:07) [2]


> Пароль должен быть записан так, чтобы его нельзя было восстановить

В смысле восстановить? Все равно программно он считывается и сверяется с введенным пользователем набором символов


 
msguns ©   (2005-12-12 12:07) [3]

Насколько мне известно, защиты требует не ПРОГРАММА, а информация, предоставляемая программой. След-но, речь надо вести не о защите ПРОГРАММЫ, а о защите ДАННЫХ.
Речь, как я понял не о несанкционированном (нелицензированном) запуске программы.


 
Id   (2005-12-12 12:11) [4]


> msguns ©   (12.12.05 12:07) [3]

Не только данные, но и сама программа.

Кто-нибудь поделится своим опытом. Какие еще есть варианты хранения пароля?


 
Игорь Шевченко ©   (2005-12-12 12:12) [5]

А почему не нравится ?


 
Id   (2005-12-12 12:18) [6]


> Игорь Шевченко ©   (12.12.05 12:12) [5]

Потому что создание пароля таким образом мне кажется нерациональным
и еще потому что теоретически его можно прочитать даже неочень опытному программисту.


 
Игорь Шевченко ©   (2005-12-12 12:28) [7]

Id   (12.12.05 12:18) [6]


> Потому что создание пароля таким образом мне кажется нерациональным


Не знаю. Простенько и со вкусом.


> и еще потому что теоретически его можно прочитать даже неочень
> опытному программисту.


Каким, интересно, образом ? Приведи алгоритм поиска пароля не очень опытным программистом в файле с содержимым

"xqYGWRDe5Ui1/wBtKggs3t+KbLjb6yWCUxlpekSRa9kKghgeNW3ApkTcMFSW3mSSNdQLPHqIK8CPQpFl86aeBBZfuLf5sx8PAwjky4w9U8rCCAlbeok+pgQ dXAUoqEkrsOBukEk+Xued9Rl5WkmFAFhiAHBIxe/DxJ51VkkX3JuA3DLfYop/pmlDLmT3F48dLFtP8TngPZVorQhkie4MNtMULzOqgBFijZma3C1yLU2ipYP dWcNwXHbbXhidGZHmNiSDZbgXsDRQQqX9u7ibIlSFI3y2kZi00MbLDGo+XW1tRqHEVJ5TqANrX8DVCT2gFAKAUAoBQCgFAKAUAoBQCgFAKA8N6Aic3dN0hkd cbaZspUJu4kijBsPDWQTU0IMOLuLLZ1gztry9ukk4LKVWeIewtHccamgqVzmTMZ20mNca9swraZDa5CKP9lWpQgoOLj3+qlh0SpG8S5rXdhGAGDqPJ/8AbU1 BiZ2ybbM8i9OQY+bKigQylAqhTI8xHmrc6ioMbJxu4hhE4GSuZjz47gJkBY8mOPl6NPpYH20TQM7a9zj2rbMHDyLoMXHReWrVwCoFI4HzNS4gwtr2HGx58zI lmOPl5Tq2
RjsdUQzH4xzJ7wQDSoM9QuSk5EJdjilJMZF0A5EDkkAjiDflVWCRW+uXo4nTkPTyDIyn1PINL/4goqCTPc6i6EizjSFHO9rmoBj5OMvQKK0iukRQSKNTAHyF uLeVTUkEMgAhYDTH0osc8P1LX5+6iBTIj69U7OYmEcSovEFibkn8eFEQYeTC2Qk4mklGlZQZ8clV06jZPaRUkGdHb0dJunK6xvIGvfQOFveagkxY2KsIwxgl yuqIYCpKizEl294qakFG64Uc0Msl+o5ZESSIeuNkPE38bGpiwz2CDe1Ko0WMr85MpSeJ8xH52qG0SNv2fbYJ5Xhx0kyJbvLnEBg0gNiDxuCKNsGTLjY8j5HU nbpyxqWjQ2ChDxZSONRVgrhiMj9cdMSNYFuLFoRy58jRgsuuR1F+nfVIqMwkVlEbkE2QoOP40qCLXuDd4opJp44MqOKwlgxA/wBQpva2h+DVbahUvx75kzaO jBlSFmANsYotj+Zm4cKURFSejMpPqUAew3NUdCxcqAKAUAoBQCgFAKAUAoBQCgFAKAoexuCLgcTapRBAb3uGQ5TFhyFx1yG0CXXpNuR0nhy86yRSIEEeLgYw ZopgkToJwCXCkD+bzJZW8TUVBbzu5Nsw8tIZnjglcNFC5fVdWGqNtIv6W9tFEVKNu3nAOX9HgxJOpj+qytB1BWYENYHzNuFqlxJSM9o2yhJDkwCHXj2myFbT xBuI1t4L41QFBimV1R7dOVkiyWPwSI0ZCsg+Vrip"


 
Id   (2005-12-12 12:35) [8]


> Игорь Шевченко ©   (12.12.05 12:28) [7]

согласен, из такого не выбрать...:),
Но есть же и другие способы, Это я и хочу выяснить в данной теме


 
Desdechado ©   (2005-12-12 12:39) [9]

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

стоит добавить, что функция преобразования должна быть однозначной, т.е. не допускать при разных входах одинакового выхода

в принципе, твой вариант является одним из видов этой функции


 
wal ©   (2005-12-12 12:46) [10]


> являющимся результатом действия на него некоторой функции,
> для которой не существует обратного преобразования
...
> стоит добавить, что функция преобразования должна быть однозначной,
>
Имхо - противоречащие запросы.

С уважением.


 
Игорь Шевченко ©   (2005-12-12 12:49) [11]


> согласен, из такого не выбрать...:),
> Но есть же и другие способы, Это я и хочу выяснить


Я тебе даже больше скажу: если этот файл хранить в сжатом виде, например, после обработки ZLIB, то вероятность найти пароль уменьшается даже для опытного программиста.
Разумеется, если ты в тексте программы не сравниваешь явно пароль со строкой, тогда взломщику никакие файлы не нужны, достаточно EXEшник посмотреть глазами. А если ты хранишь образец в этом же файле (но с другими позициями), тогда, извини, не взламывая программу дисассемблером, пароль найти невозможно. А от опытного программиста с дизассемблером защититься нельзя, не старайся.


 
Desdechado ©   (2005-12-12 13:16) [12]

wal ©   (12.12.05 12:46) [10]
В чем противоречие?
Сравниваются-то результаты преобразования, а не оригиналы паролей.


 
wal ©   (2005-12-12 13:33) [13]


> В чем противоречие?
В том, что если для каждого x существует один и только один y, причем такой, что y=f(x), то всегда существует функция, обратная f(x), и такое преобразование не является необратимым.


 
msguns ©   (2005-12-12 13:43) [14]

>Игорь Шевченко ©   (12.12.05 12:49) [11]
>А от опытного программиста с дизассемблером защититься нельзя, не старайся.

Невозможно не дать войти в программу, но не узнать пароль.
Это не одно и то же ;)


 
Игорь Шевченко ©   (2005-12-12 13:45) [15]

msguns ©   (12.12.05 13:43) [14]

Я не думаю, что разница между тем, что узнали пароль или обошли защиту паролем вообще является существенной. Тем более, если вопрос в конференции "Начинающим"


 
WondeRu ©   (2005-12-12 14:14) [16]

Id   (12.12.05 11:54)
md5 и подоюные тебе в помощь


 
Id   (2005-12-12 15:19) [17]


> WondeRu ©   (12.12.05 14:14) [16]
> md5 и подоюные тебе в помощь

Поясни, непонял


 
Rater   (2005-12-12 15:20) [18]

wal  ну не сказал бы что обратная всегда существует.... :
есть число, результат функции равен сумме цифр числа.
И какая будет обратная функция?
Хотя если придираться к математическому определению финкции, то такое преобразование функцией не является вроде. :-)


 
wal ©   (2005-12-12 15:44) [19]


> результат функции равен сумме цифр числа.
Это функция, но она не удовлетворяет требованию:

> не допускать при разных входах одинакового выхода

С уважением.


 
Desdechado ©   (2005-12-12 15:45) [20]

wal ©   (12.12.05 13:33) [13]
> то всегда существует функция
может, и существует, вот только вид этой функции не известен и вычислению не поддается
не поддается в первую очередь из-за малого количества вариантов результатов преобразования (без знания пароля бОльшее кол-во результатов и не получишь)


 
wal ©   (2005-12-12 15:59) [21]


> может, и существует, вот только вид этой функции не известен
> и вычислению не поддается
Прошу пример функции, удовлетворяющей Вашим условиям, а я приведу обратную, или докажу, что она Вашим условиям не удовлетворяет. Идет?

С уважением.


 
evvcom ©   (2005-12-12 16:52) [22]


> Прошу пример функции, удовлетворяющей Вашим условиям, а
> я приведу обратную, или докажу, что она Вашим условиям не
> удовлетворяет. Идет?

Может ты и сильный математик, но доказать, что не удовлетворяет условиям, это уже круто. Взять любую хэш-функцию. Она по определению не удовлетворяет не допускать при разных входах одинакового выхода, но доказывать это... Справишься ли?


 
Desdechado ©   (2005-12-12 21:24) [23]

> Прошу пример функции
Передергивать не надо. Есть результат работы функции с некоторой последовательностью символов. С одной, максимум с 2 последовательностями. По результату сможешь восстановить функцию? Сильно сомневаюсь, ибо исходная неизвестна. Только брутфорсом, да и то найдешь множество функций достаточно обширное, из коего выбрать нужную как-то врядли получится без дополнительных исходных данных.


 
wal ©   (2005-12-13 10:20) [24]


> Есть результат работы функции с некоторой последовательностью
> символов. С одной, максимум с 2 последовательностями.
1. Давай перейдем от символов к числам, так проще.
2. Разумеется, по двум точкам определить вид функции невозможно,
3. Но, если не исходник, то ехе-шник то у нас есть,
4. А весь криптоанализ основан на том, что известно все, кроме ключа.
И наконец
5. Я бы на твоем месте с ходу предложил любую функцию шифрования на несимметричных ключах, при этом "потеряв" ключ расшифровки. Такая функция удовлетворяет всем требованиям, но для обратной функции нужен "утерянный" ключ. Вот его поиск - задача весьма непростая, хотя теоретически выполнимая при неограниченных вычислительных ресурсах либо неограниченном времени.

С уважением.


 
Antonio   (2005-12-14 01:22) [25]


> > В чем противоречие?
> В том, что если для каждого x существует один и только один
> y, причем такой, что y=f(x), то всегда существует функция,
>  обратная f(x), и такое преобразование не является необратимым.
>

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.017 c
2-1134737220
vale88
2005-12-16 15:47
2006.01.01
Unexpected end of command


14-1133889193
Kerk
2005-12-06 20:13
2006.01.01
Самый слабый по составу чемпионат мира в истории


14-1133960005
Ксардас
2005-12-07 15:53
2006.01.01
будущая Delphi2006 и Delphi7


14-1134232474
x.pro
2005-12-10 19:34
2006.01.01
Доставка цветов.


2-1134403027
crazycorpse
2005-12-12 18:57
2006.01.01
Ввод массива чисел





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