Имя: Пароль:
1C
1С v8
Направте на путь истинный. Пин коды (пароли) клиентов - безопасность.
0 eact
 
02.07.12
19:29
Имеем 1С конфигурацию (самонаписанную) по дисконтной программе.
У клиентов есть именные карточки идентификаторами(штрих-код).накапливаются баллы просто по штрих-коду и чеку, а вот при получении товара(бесплатно) за накопленные ранее баллы, клиент должен ввести пин код (или пароль) на выдаваемой ему клавиатуре.

Сейчас возникла проблема с безопасностью этих пин-кодов (немного намухляли продавцы) - они так или иначе узнали из базы данных эти пин-коды (именно из базы) - как узнали - это вопрос не этой темы.

Вопрос: Направте на путь истинный - как обезопасить себя, куда копать, что-бы и пин-коды хранились в базе (в базе?) и были в зашифрованном виде. Где-то так. Как все организовать и чем воспользоваться?

Спасибо.
1 kalinind
 
02.07.12
19:32
шифровать через md5, в базе хранить только хэш от md5, при вводе клиентом пин кода, шифровать в md5 и сравнивать с имеющимся хэшем в базе.
2 Asmody
 
02.07.12
19:33
послать в википедию читать про md5-хеши?
3 Asmody
 
02.07.12
19:33
(1) главное в md5-хешах — хорошо посолить!
4 fisher
 
02.07.12
19:35
Говорят, md5 уже давным-давно не тру...
5 kalinind
 
02.07.12
19:37
думаю что как защита от продавцов - вполне сойдет
6 Fragster
 
гуру
02.07.12
19:37
не хранить пин коды в базе, а сделать проверочный веб-сервис
7 fisher
 
02.07.12
19:39
А если без разпальцовок, кто-то реально работал с хэшами через механизмы криптографии 1С? Сам не углублялся ибо задачи не было, но ни одной саксесс-стори на форуме не припомню...
8 fisher
 
02.07.12
19:43
Хотя вот пролистал эти несчастные странички руководства разработчика, посвященные механизмам криптографии - вроде никаких проблем возникнуть не должно...
Какие там подводные камни, кто в курсе? Небось как всегда - какие-то танцы с бубнами вокруг самоподписанных сертификатов?
9 eact
 
02.07.12
19:44
А в 8-ке есть свои алгоритмы шифрования MД5 - или прикручивать внешнее?
10 kyrgyz
 
02.07.12
19:45
(0) в 1с77 делал нечто подобное в справочнике хранил пароли в шифрованном виде шифратор и дешифратор как обработка и простой юзер не мог подглядеть....
11 Bida
 
02.07.12
19:46
pass = string(pin)+string(shtrihkod); //пин и штрихкод карты
md5pass = md5(pass); //шифруем
md5pass_salt = md5pass + "salt_as_text"; //подмешиваем соль
2md5pass = md5(md5pass_salt); //и снова шифруем

2md5pass храним в базе и сравниваем при вводе с клавиатуры.

Минус решения: при доступе к алгоритму (например, доступна конфигурация) - продавцы смогут уворовать механизм. Знаю алгоритм и соль, раскрутят. А учитывая, что пин находится в диапазоне от 0000 до 9999, и знаю кодировку штрихкодов (там же наверняка число обычные определенного формата из серии 4279 0000 0000 0000 или даже попроще) - смогут нагенерить заранее паролей
в диапазоне в табличку рэйнбоу или даже в самую простую таблицу sql и мгновенно получить все пароли. :)
12 Bida
 
02.07.12
19:48
(11) * знаю = зная
13 CepeLLlka
 
02.07.12
19:49
(11) Да.. ты прав.. какого хера они продавцами работают.. не пойму..
14 Fragster
 
гуру
02.07.12
19:50
100%й выход - не хранить пин коды в базе. а получили они из Табло, наверное...
15 fisher
 
02.07.12
19:52
(11) Чорд! Если доступна конфа и база, то ни соли ни вообще ничего не надо знать. Пины элементарно подбираются тупым брутфорсом...
16 Fragster
 
гуру
02.07.12
19:54
(15) а с внешним сервисом можно поставить таймаут 20 секунд - зашибешься брутфорсить
17 eact
 
02.07.12
19:55
capicom.dll от майкрософт работает только на 32-битных системах? А что тогда для 64?
18 Bida
 
02.07.12
19:55
(16) Согласен. Я за внешний сервис. :)
Только интернет нужен, вот печалька. ))
19 fisher
 
02.07.12
19:57
(18) Ну, это может быть интранет-сервис...
20 Живой Ископаемый
 
02.07.12
19:58
а Base64 никак не спасает?
21 eact
 
02.07.12
20:01
Base64  - сейчас сижу и думаю, как что-бы запутать мозги "умникам"..... но таки думается мне написать свою собственную ДЛЛ-ку будет надежнее.

проблема в том, что они могут опять получить доступ к конфигурации... я ведь не знаю, махлюют они сами или администраторы помогают
22 fisher
 
02.07.12
20:01
(17) + А, кстати, да - я так и не понял, 1С только с модулями КриптоПРО может работать? Или еще с чем?
23 Bida
 
02.07.12
20:03
http://wiki.kint.ru/index.php/Использование_средств_шифрования_.Net_из_1С
ну вот ещё использовать можно для усложнения жизни (с таймаутом).
24 fisher
 
02.07.12
20:07
(21) Ну, уже сказали. От админов спасет только отдельный сервис, им не подконтрольный. С защитой от брутфорса, блокировкой и сигнализацией при попытках такового. Ибо даже при 20-секундных паузах четырехзначные пины - это несерьезно.
25 iov
 
03.07.12
01:55
(0) Через 3-5 попыток подбора блокировать не предлагали?
А использовать в качестве пина первые/последние цифры из уина ?
а фиксировать факт ввода и фамилию продавца из под аккаунты которого произошла блокировка?
кто хочет - тут сломает - поймайте и при людно "ПОРОТЬ".