|
|
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Представьте что у ваз есть smth система, авторизация в которой производится по запросу к БД, fe происходит запрос Код: sql 1. где ad=active directory. В целом это не принципиально. Важно что у нас есть таблица access_list с атрибутами ad,right (в упрощённом варианте, данная информация приведена как пример). Если есть запрос на доступ к системе то по запросы выше мы получим fe 1, в противном случае мы получим 0. Допустим мы хотим скрыть процедуру получения этой 1 или 0. Чтобы другой разработчик имеющий полные права к коду, к бд, не мог понять каким образом я извлекаю эту 1 или 0. Как это можно сделать ? Я рассуждал так: добавить к access_list атрибуты, комбинация которых будет влиять на возвращаемое значение, и изменить запрос. Но в запросе можно будет легко понять как это получается. Я понимаю что эту задачу нельзя решить полностью, то есть маловероятно что я могу полностью скрыть свой алгоритм. Но мне кажется что при большом желании можно максимально усложнить задачу. В целом на этом мои рассуждения закончились, и я подумал что возможно у вас есть какие-либо мысли по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2014, 16:36 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
SashaMercury, а что помешает даже не программисту, а просто человеку с доступом в базу, скопировать в базе поля у пользователя, у которого есть права, и "отдать" их тому, у кого прав нету :) Так что... кроме как "жутко наговнокодить", больше никак. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2014, 17:32 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
Fe данные по правам будут связаны по какому-нибудь алгоритму с атрибутом ad, и потому копирование не поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2014, 17:44 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
SashaMercuryПредставьте что у ваз есть smth система, авторизация в которой производится по запросу к БД Это уже звучит как бред. Кто делает этот запрос? Если тот кто пытается авторизоваться, то ему это уже не надо, т.к. он уже может делать запросы к БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2014, 17:52 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
SashaMercuryмаловероятно что я могу полностью скрыть свой алгоритм. а зачем его скрывать? приватный ключ береги ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2014, 17:54 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
Нажимаете кнопку войти, система отправляет запрос к бд и получает в ответ можно ли войти или нет. На событие onLoadContent вешается такой обработчик, fe. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2014, 18:16 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
SashaMercuryсистема отправляет запрос к бд и получает в ответ можно ли войти или нета зачем запрос посылать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2014, 18:23 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
Вы заходите на sql.th и ваша пара логин-пароль уходит на сервер, происходит аутентификация и авторизация на сервере. Fe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2014, 18:25 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
Система спроектирована таким образом. Как поэдругому ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2014, 18:27 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
SashaMercuryСистема спроектирована таким образом. Как поэдругому ? с чьими правами система обращается к серверу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2014, 18:39 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
SashaMercuryВы заходите на sql.th и ваша пара логин-пароль уходит на сервер, происходит аутентификация и авторизация на сервере. Fe Тут посложнее, ты из браузера не обращаешься напрямую к БД. Запрос уходит скрипту, который имеет право делать запросы к БД. Скрипт написан владельцем БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2014, 19:47 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
SashaMercury, авторДопустим мы хотим скрыть процедуру получения этой 1 или 0. Чтобы другой разработчик имеющий полные права к коду, к бд, не мог понять каким образом я извлекаю эту 1 или 0. Как это можно сделать ? Никак. Разработчик, имеющий полные права к коду, всегда будет, и, что самое главное, всегда ДОЛЖЕН иметь возможность видеть и понимать всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2014, 09:26 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
MasterZivвсегда ДОЛЖЕН иметь возможность видеть и понимать всё. "видеть и понимать всё" не означает знания разработчиком приватного ключа ЗЫ вопрос о том что можно просто игнорировать полученные нули и единицы - сейчас не обсуждаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2014, 10:12 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
Изопропил, пожалуй вы правы, только я не знаю как внедрить закрытый ключ. Но идея понятна. MasterZiv, тоже согласен. Dima_T. Так и не понял почему вы прокомментировали часть вопроса словом "бред". Возможно я некорректно сформулировал вопрос. Жаль что решение задачи сводится к задаче "Как написать код, но чтобы никто не понял как он работает и почему он так работает"(исходя из последнего постскриптума Изопропила), а решение у данной задачи вероятно отсутствует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2014, 15:17 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
SashaMercuryДопустим мы хотим скрыть процедуру получения этой 1 или 0. Чтобы другой разработчик имеющий полные права к коду, к бд, не мог понять каким образом я извлекаю эту 1 или 0 Это.. странная постановка вопроса. Примерно как "Чтобы другой человек, имеющий доступ к ключу, не мог понять, каким образом я открыл дверь". Для чего Вы собираетесь прятать это чудесное ноу-хау от коллег? SashaMercuryЯ понимаю что эту задачу нельзя решить полностью, то есть маловероятно что я могу полностью скрыть свой алгоритм. Но мне кажется что при большом желании можно максимально усложнить задачу. Эта задача нормально решается только созданием некоей другой двери, куда у "другой разработчик" нет доступа. А ненормально.... скажу так: 99% вероятности, что месяц мучений и геморроя "гениального шифратора" умный "дешифратор" преодолеет за полчаса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 10:17 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
Softwarer, у меня теоретический интерес. И это видимо не возможно. Я уже сломал голову. Думаю постоянно, у меня совсем нет более простых идей, кроме закрытого ключа. Но человек может изменить систему авторизации, и все. Создаст новую таблицу. Тогда мне нужно сделать домик из спичек, убираешь один метод, и рушится вся система. Если у кого-нибудь будут интересные мысли еще, пишите. Мы делаем open source, а для понимания того как он работает потребуется время через которое ценность этого понимания будет стремиться к нулю. (С ключами вроде аналогично, при некоторых алгоритмах шифрования ). Ну ладно. Это больше похоже на болтовню. Музыка сдохла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 17:35 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
SashaMercuryНо человек может изменить систему авторизации, и все. Может. А может воспользоваться существующей, поставив её под своё управление. Я помню один такой супер-проект защиты, который я вскрыл за час именно что "вообще не став разбираться". SashaMercuryТогда мне нужно сделать домик из спичек, убираешь один метод, Просто увеличите количество нуждающегося в замене. При этом мало-мальски сложный домик будет падать у вас несравнимо чаще, чем у "злоумышленников". SashaMercuryМы делаем open source, а для понимания того как он работает потребуется время через которое ценность этого понимания будет стремиться к нулю. Месье знают толк в удовольствиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 18:47 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
SashaMercurySoftwarer, у меня теоретический интерес.... Но человек может изменить систему авторизации, и все.... Мы делаем open source ... Что-то ты не договариваешь, все-таки теоретический или практический интерес? По своему опыту скажу: первые велосипеды собственного производства кажутся очень ценными и тратишь кучу времени и сил на их неумелую защиту от кражи, но реально срабатывает защита Неуловимого Джо (эти поделки никому не интересны), и плюсом получаешь кучу проблем от того что защита срабатывает там где не надо. Если задача все-таки практическая - напиши суть того что хочешь защитить (без лишних подробностей, это читать не интересно), подскажут решения. Запутать код (тем более open source) вообще не вариант. Ломающему достаточно найти что-то типа Код: sql 1. и заменить на Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 19:05 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
Softwarer, мы(точнее я) не пишу такой код. Это были мои абстрактные рассуждения. Это фантазия. Не уверен что второй абзац моего предыдущего поста будет воспринят кем-либо так, как я хотел - как рассуждение. Он может быть понят как утверждение в настоящем времени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 19:13 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
Dima_T, в общем виде теоретический интерес. В частном, защита авторизации в небольшом проекте от тех кто возможно получит доступ к коду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 19:26 |
|
||
|
Инкапсуляция алгоритма авторизации
|
|||
|---|---|---|---|
|
#18+
SashaMercuryDima_T, в общем виде теоретический интерес. В частном, защита авторизации в небольшом проекте от тех кто возможно получит доступ к коду Советую сосредоточиться на полезной части проекта, а когда (если) проект вырастет до чего-то реально интересного пользователям - позаботиться о защите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 19:35 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38593661&tid=1341426]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
147ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 458ms |

| 0 / 0 |
