gifts2017

Индивидуальный Ключ Защиты (ИКЗ)

Опубликовал ANDREY CHERNOV (wacko) в раздел Программирование - Защита и шифрование

Защитите свою  корпоративную информацию от несанкционированного доступа. Контролируйте кто, когда и как может пользоваться вашей информацией с помощью "ИКЗ" (Индивидуального Ключа Защиты). ИКЗ может быть внедрен абсолютно в любую "свою" или типовую конфигурацию от 1С...
1

Приветствую, вас, мои параноики, предлагаю вам свое видение защиты информации с помощью так называемого ИКЗ (Индивидуальный Ключ Защиты), основанного на обычной флешке.

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

Приму конструктивную критику.

В:   Как создать новый ИКЗ?

О: //Вставляем чистую флешку, форматируем, присваиваем метку "1CSECURE"

    Ключ = Новый Структура;

    Юзверь = ПользователиИнформационнойБазы.НайтиПоИмени("Вася").ПолноеИмя//или из справочника выбрать...
   
ПолучитьСформироватьДанныеКлючаЗащиты(Ключ, Истина,Юзверь);

В итоге на флешке получим файл вида "АВ0320.dat" где "АВ0320" - серийный номер флешки, а в файле хранится имя владельца ИКЗ.

ВНИМАНИЕ: Если вы используете реализацию через ФСО, то серийные номера флешек будут цифровыми и с лидирующим знаком, например: "-46548000" , так же ФСО может и не сработать, в коде есть комментарий "почему?".

В: Что нужно для использования ИКЗ на 7.7

О:// Функция возвращает СОМОбъект по моникеру или имени файла

// Фактически заменяет функцию ПолучитьCOMОбъект в версии 1С 8.х

Функция ПолучитьCOMОбъект(СтрокаПараметров) Экспорт
 
ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl");
 
ScrptCtrl.Language="vbscript";
 
ScrptCtrl.AddCode("Function GetCOMObject(Str)
                    |Set GetCOMObject = GetObject(Str)
                    |End Function
                    |"
);
  Возврат
ScrptCtrl.Run("GetCOMObject",СтрокаПараметров);
КонецФункции   
// ПолучитьCOMОбъект

НА ЭТОМ ОБСУЖДЕНИЕ СОВМЕСТИМОСТИ С 7.7 СЧИТАЮ ЗАКРЫТЫМ

Изменения:

 1. немного поправил местами код, изменил комментарии

 2. добавил *.dt для 8.2

ВНИМАНИЕ:

В архиве 2 выгрузки базы, одна для 8.1 (ИКЗ_демо_8_1.dt) другая для 8.2 (ИКЗ_демо_8_2.dt)

НЕ ЗАБЫВАЕМ СТАВИТЬ ЖИРНЫЙ ПЛЮС

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ИКЗ демо (8.1 и 8.2)
.rar 42,02Kb
12.02.13
394
.rar 42,02Kb 394 Скачать
Пример "скрытия" ИКЗ
.rar 4,72Kb
12.02.13
86
.rar 4,72Kb 86 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Андрей Иванов (Андрей80) 21.10.10 20:39
4. ANDREY CHERNOV (wacko) 22.10.10 17:28
61 скачка и 3 комментария не по теме - печаль... :(
10. ANDREY CHERNOV (wacko) 25.10.10 10:08
Ну скажите хоть кто-нибудь использовать будет, а то как то аж грустно :(
11. Артем Титеев (a_titeev) 25.10.10 13:05
сгодится... тока поправь:

Процедура ПередНачаломРаботыСистемы(Отказ)
        ...
	Отказ = НЕ ДанныеКлюча.РазрешитьДоступ;		
КонецПроцедуры
...Показать Скрыть


и
Вычислить(Ключ.Пользователь = ДанныеДляПроверки) 
не нада писать... просто
Ключ.Вставить("РазрешитьДоступ",Ключ.Пользователь = ДанныеДляПроверки);
13. ANDREY CHERNOV (wacko) 26.10.10 00:52
100 скачек, 1 отзыв по теме, прогресс :o
14. Еле Елешкина (Еле) 28.10.10 09:47
15. ! ! (4ulok) 28.10.10 13:27
Идея хорошая и реализовано простенько и со вкусом.А по сети это возможно пустить?
16. ! ! (4ulok) 28.10.10 13:28
17. Евгений Gjujhtkjd (MadKlop) 28.10.10 13:51
(15) в смысле "по сети пустить"? работает в пределах базы, неважно откуда ты заходишь
18. ! ! (4ulok) 28.10.10 13:58
(17) т.е. одна флешка,на одной машине в сети, а пользователей много,я правильно понимаю?
19. ANDREY CHERNOV (wacko) 28.10.10 14:31
(18) т.е. Индивидуальный ключ защиты :) подразумевает 1 флешка в одни руки, т.е. даже зная пароль пользователя - в базу врага не пустит :)
ну и соответственно - забыл флешку - день потерян :)
mdzen; MadKlop; +2 Ответить 1
20. Михаил (mdzen) 28.10.10 15:19
С изменениями (11) взлетело 8-) .
А как ключи делать? ...
... ага вроде разобрался.
Стоит добавить в конфу обработочку с примером использования....

21. ! ! (4ulok) 28.10.10 15:25
22. Михаил (mdzen) 28.10.10 15:26
:idea: В модуле приложения предусмотреть вывод предупреждения, иначе если нет ключа конфигурация не загружается без всяких объяснений:

Процедура ПередНачаломРаботыСистемы(Отказ)
.....
.....
	ЕСли   Не ДанныеКлюча.РазрешитьДоступ Тогда
		Предупреждение("Доступ запрещен! Ключ защиты не найден!");
	Отказ = НЕ ДанныеКлюча.РазрешитьДоступ;	
	КонецЕсли;	
КонецПроцедуры

...Показать Скрыть
23. ANDREY CHERNOV (wacko) 28.10.10 15:28
(20) там комментирован код подробно, если я добавлю еще и реализацию, то буду продавать как независимое внедрение ;)
24. ANDREY CHERNOV (wacko) 28.10.10 15:35
(22) Вот так реализовано у меня (УТ, МодульУправленияПользователями, ПроверитьВозможностьРаботыПользователя(Отказ))
-----
	Если ЗначениеЗаполнено(ПараметрыСеанса.КлючЗащиты) Тогда
		ДанныеКлюча = Новый Структура;
		Аурум.ПолучитьСформироватьДанныеКлючаЗащиты(ДанныеКлюча);
		Отказ = НЕ ДанныеКлюча.РазрешитьДоступ;
		#Если Клиент Тогда
			Если Отказ Тогда	
				Предупреждение("У текущего пользователя нет прав, для запуска информационной базы.", 10, "Неверный ключ защиты");
			КонецЕсли;
		#КонецЕсли
	КонецЕсли;	
...Показать Скрыть
25. Михаил (mdzen) 28.10.10 15:39
(23) Вижу ответ в шапке новости. Спасибо. Идея класс .... 8-)
26. ANDREY CHERNOV (wacko) 28.10.10 16:51
Добавил "демо" базу с реализацией.
ВНИМАНИЕ: демо - как пример использования, а не как руководство по составлению кода ;)
27. Николай (provnick) 29.10.10 05:12
28. Лекс Ливень (Lex_Liven) 29.10.10 06:42
В терминале работать не будет((( Если работа идет как в терминале (географически удаленные точки), так и по сети, то надо как-то разделять их... А так - идея классная.
А eToken так подключить можно? ;)
29. ANDREY CHERNOV (wacko) 30.10.10 01:29
(28) думаю можно и етокен, если посмотреть ;)
а насчет терминала - нужно попробовать.
Не понял про "по сети", это ИКЗ в 1 компе а сам на другом, так что ли?
Это как войти в свою квартиру через дверь соседа... нет уж, у тебя есть рабочее место - сел, вставил ИКЗ - работаешь :)
А то получится я "сел, вставил свой ИКЗ - работаю", а ты с другого компа под моим паролем бамс и тама? :)
30. ANDREY CHERNOV (wacko) 30.10.10 02:08
Добавил изменения для 7.7, может кому пригодится
31. Андрей (sttt) 31.10.10 15:36
(4) а что тут комментировать! за комментировал и пользуйся дальше :0))
32. Лекс Ливень (Lex_Liven) 01.11.10 05:43
(31) Закомментировать код сможет только тот, у кого есть доступ к конфигурации, а подобный доступ кому попало давать не стоит. Хотя, конечно, данный код никак не защитит Конфигуратор.
33. ANDREY CHERNOV (wacko) 01.11.10 11:55
(31) Вносить изменения в конфу как комплект поставки без исходного кода, тогда - буй там плавал а не код комментить.
34. ANDREY CHERNOV (wacko) 09.11.10 10:57
Кто-нибудь уже внедрил ? :)
35. Альтаир (Altair777) 10.11.10 13:11
(30)
Добавил изменения для 7.7, может кому пригодится

Куда добавил? Где можно прочитать про способы работы с 7.7?
36. ANDREY CHERNOV (wacko) 10.11.10 17:56
(35)
Для 7.7 в шапке есть функция возврата ком по моникеру, ну а сам код под 7.7 изменить думаю займет минут 10
37. Альтаир (Altair777) 10.11.10 18:02
(36) т.е. каждый 7-ник должен скачать версию для 8-ки, а потом еще и поменять ее?
А может, Вы сами сделаете такую 7-ную версию? Это же 10 минут всего ;)
А людям будет удобно.
38. ANDREY CHERNOV (wacko) 10.11.10 20:26
(37) люди уже на 8.2 бодаются, думаю не стоит тянуть за собой то, что уже не актуально(7.7), к тому же нет возможности работать с клюшками
39. Альтаир (Altair777) 11.11.10 10:29
(38) вот именно, что бодаются :D
40. ANDREY CHERNOV (wacko) 11.11.10 16:37
Добавил выгрузку для 8.2 (не конвертировано а переписано :) )
41. ! ! (4ulok) 18.11.10 14:13
а что если какой-нибудь "злыдень" утащит файл с флешки и вытащит пароль?возможно ли закрыть физический доступ к флешке,но не программный?
42. ANDREY CHERNOV (wacko) 19.11.10 11:18
(41) Ну "злыдню" нужно еще серийник флешки перепрошить, защита идет в связке имя пользователя + пароль + серийник :)
43. ANDREY CHERNOV (wacko) 19.11.10 12:58
(41) Добавил обработку, для "скрытия" ИКЗ из списка дисков, при старте 1С "скроет" при выходе из 1С "откроет"
почему в ""?, да потому что не видит только виндовый эксплорер, все остальные менеджеры будут видеть.
44. Alexandr_P (Русский) 24.11.10 10:08
А смысл, если ключ HASP HL Pro стоит от 700 руб. (практически как флешка)? ;)
45. Alexandr_P (Русский) 24.11.10 10:19
А если использовать сразу сетевой HASP... Так на 10 рабочих месте это получается значительно дешевле 10 флешек :!:
46. ANDREY CHERNOV (wacko) 24.11.10 19:26
(45) - > (29)
Узнал пароль любого из 10 рыл и работай, воруй данные, сливай все врагам :)
47. Alexandr_P (Русский) 26.11.10 09:13
(46) там технология немного другая: 1 ключ - 1 программа... Но с помощью ключей и пароли хранить можно, половина из них имеет встроенную память ;)
48. ANDREY CHERNOV (wacko) 26.11.10 17:25
(47) Ничего не понял, но было интересно... 1 ключ - 1 программа.. ключ сетевой на 10 пользователей, ключ торчит постоянно т.к. работает хотя бы 1 из 10 пользователей, что мешает мне, как "корпоративному шпиону" войти под другими 9 (1 из 9) пользователями?
ИКЗ создан для:
1. Личного использования
2. Выработки дисциплины (забрал домой после работы, сутра принес, если оставил в компе- штраф)
3. Защиты инфы, нет ключа - нет инфы.
Он для того и "индивидуальный", что бы всяких хитрожопыхумных отвадить от базы.
49. Alexandr_P (Русский) 26.11.10 18:23
(48) ну Вы даете... Храните все эти же данные сетевом ключе, никто не запрещает. Насмотрелись на платформу, которой любой ключ (подходящел модели) подсунул и она работает, все намного серьезнее, примерно те же маневры, что и в случае с флешкой, можно проделать и с ключом хасп, только намного надежнее, плюс по цене выходит ну ни чуть не дороже, а то и дешевле. Аппаратные ключи как раз для этого и предназначены, а то, что вместо ботинок можно надевать полиэтиленовые пакеты на ноги, ну ни чуть не выдвигает последние, как альтернативу обуви ;)
50. ANDREY CHERNOV (wacko) 26.11.10 19:43
(49) Ну так объясните мне, чем ваша система, основанная на хасп, надежнее? Тем что сам хасп защищен? Распишите принцип работы с сетевым ключом, возможно я не так все понял. У меня просто флешки на 2Гб (стоимостью 200р за шт) служат не только как ИКЗ, но и как хранилище для почты и покупать "альтернативу" за 700р. с 128 метрами на борту - считаю бредом.
51. Alexandr_P (Русский) 27.11.10 05:02
(50) вот преимущества:
http://www.aladdin-rd.ru/catalog/hasp/hasp_srm/tech_details.php

во всяком случае, перед флешкой это точно преимущество ;) И Вас, уважаемый, немного понесло, считать привязку к флешке альтернативой аппаратной защите - явный перебор :D А то, что на ключ защиты нельзя запихать пару фильмов, это вообще не недостаток.
52. Аркадий Кучер (Abadonna) 27.11.10 07:22
(19)
ну и соответственно - забыл флешку - день потерян

Сдохла флешка - день потерян
Сдох порт USB - день потерян
В терминальном режиме как? 100 USB портов на теминальном сервере и все в очередь на вставку? (метод расшаривания флех на компах юзверей не предлагать!)
Приветствую, вас, мои параноики

В точку!
P.S. Наш сисадмин на предложение просто разрешить юзверям использование USB-портов и втыкания ими флешек туда вообще скажет как Никулин вороватому завскладом:
Разбить поллитру? Да я тебя!..
53. ANDREY CHERNOV (wacko) 27.11.10 16:17
(52) В одной конторе вообще сисблоки не доступны, так что тут как в анекдоте "не каждый алгоритм, разработанный программистом, подходит конечному пользователю", как быть?
(51) На мой вопрос "чем хасп лучше усб" вы отвечаете "чем усб", так что, уважаемый, нравится хасп - привязывайтесь к хасп 8-) . И я смотрю много дала аппаратная "защита" 1С :D
54. Аркадий Кучер (Abadonna) 27.11.10 16:20
(53)
В одной конторе вообще сисблоки не доступны

Супер-правильная контора :D Мы немного не доросли. Хотя у нас доступность сисблоков дает только возможность комп включить/выключить ;)
55. ANDREY CHERNOV (wacko) 27.11.10 17:48
(54) Все зависит от конторы, если ФАПСИ - то да, так и нужно, в любом случае, если человек не хочет работать - он не будет, мне вон комп выключи, так я на перекуры бегать буду... и как кто-то сказал: "90% вирусов находятся в 70см от монитора"
56. Аркадий Кучер (Abadonna) 27.11.10 17:54
(55) Просто у нас задача состоит в том, чтобы информацию не спёр как раз тот, у кого есть "индивидуальный ключ защиты".
А другие у нас просто ¡No pasarán!.
57. ANDREY CHERNOV (wacko) 29.11.10 12:09
(56) в этом случае вам не поможет даже сканер сетчатки глаза и отпечатков пальцев, т.к. информацию все равно сливает тот, у кого есть доступ. В этом и заключается проблема безопасности, тот у кого нет доступа не может слить и платит тому у кого доступ есть.
58. Аркадий Кучер (Abadonna) 29.11.10 13:03
(57)
, тот у кого нет доступа не может слить и платит тому у кого доступ есть.

Во! Хоть какая-то польза, кто-то бабло получит :D :D
59. Ярослав Волохов (YVolohov) 27.12.10 13:46
Писал нечто подобное. Правда задача была другая - привязать конфигурацию к конкретной флешке, для защиты от копирования. Слабость такой защиты в том, что можно очень легко сделать образ флешки и залить на другую флешку. Получим совершенно идентичный ключ.

http://infostart.ru/public/20040/
61. ANDREY CHERNOV (wacko) 29.12.10 01:41
YVolohov пишет:

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

Даже не рядом, я привязался как минимум к 3 параметрам (файл,метка,серийник), вы же только к файлу на флешке, сдается мне если я закину файл на диск "С:" (да хоть на "Ж"), то конфа будет работать...
62. Петя Васечкин (spy-832) 08.06.11 06:37
бредятина полнейшая. (29) вообще улет
защита должна быть такая которую трудно снять, чего не скажешь в данном случае
63. Роберт В е р т и н с к и й (v3rter) 08.06.11 20:10
Кстати, есть способ не отключать USB-порты, а запрещать съёмные носители.
Т.е. флешка определяется, буква диска назначается, а диск "не вставлен".

Хорошо бы предусмотреть разные параметры и возможность гибко настраивать их связки.

Параметры, например, такие - мак-адрес сетевой карты, пользователь системы,
пользователь 1С, серийник флешки (смарт-карты).
64. ANDREY CHERNOV (wacko) 27.06.11 16:29
(62) Ну поделись "снятием" этой защиты, без ковыряния в коде.
(63) Никто не ограничивает доработку ИКЗ под свои нужды, код я вроде не закрывал, дерзайте, ибо мне уже не интересно, т.к. это не приносит мне ни какого дохода.
65. nedo nedo (nedo) 01.03.12 15:16
когда-нибудь скачаю и попробую!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
67. Дмитрий (dvim) 28.03.12 14:02
(54) Abadonna,
Я понял тут важна не "доступность" блоков, а верификация.
У нас сменные сотрудники работали под 1 паролем,убеждения не помогали. Как косяк и отвечать надо - сразу навели порядок :)

PS
Интересно было бы решение со сканерами отпечатков пальцев, они вроде недорогие
68. qweasd qweasdzc (serega3333) 04.06.12 13:31
реализация хорошая, надо допиливать конечно
69. ANDREY CHERNOV (wacko) 04.06.12 14:58
(68) Допиливание - основная часть работы одинесников, дерзайте :)
70. Александр Беляев (~gekK@~) 15.10.12 17:36
возможно кому-то и пригодится, но, думаю, не многим
72. Михаил Кузьмин (zodus) 27.08.13 16:34
73. ООО "Ves-It" Нап (Naposaram) 18.05.15 15:24
а что имеется ввиду под серийным номером флешки? Тот номер который присваивается ОС или тот что вшит с завода?
74. Николай Панихин (panihinnv) 03.06.15 08:53
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа