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

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

Защитите свою  корпоративную информацию от несанкционированного доступа. Контролируйте кто, когда и как может пользоваться вашей информацией с помощью "ИКЗ" (Индивидуального Ключа Защиты). ИКЗ может быть внедрен абсолютно в любую "свою" или типовую конфигурацию от 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
396
.rar 42,02Kb 396 Скачать
Пример "скрытия" ИКЗ
.rar 4,72Kb
12.02.13
87
.rar 4,72Kb 87 Скачать

См. также

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

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


и
Вычислить(Ключ.Пользователь = ДанныеДляПроверки) 
не нада писать... просто
Ключ.Вставить("РазрешитьДоступ",Ключ.Пользователь = ДанныеДляПроверки);
13. ANDREY CHERNOV (wacko) 246 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) 246 28.10.10 14:31 Сейчас в теме
(18) т.е. Индивидуальный ключ защиты :) подразумевает 1 флешка в одни руки, т.е. даже зная пароль пользователя - в базу врага не пустит :)
ну и соответственно - забыл флешку - день потерян :)
mdzen; MadKlop; +2 Ответить 1
20. Михаил (mdzen) 236 28.10.10 15:19 Сейчас в теме
С изменениями (11) взлетело 8-) .
А как ключи делать? ...
... ага вроде разобрался.
Стоит добавить в конфу обработочку с примером использования....

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

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

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

Куда добавил? Где можно прочитать про способы работы с 7.7?
36. ANDREY CHERNOV (wacko) 246 10.11.10 17:56 Сейчас в теме
(35)
Для 7.7 в шапке есть функция возврата ком по моникеру, ну а сам код под 7.7 изменить думаю займет минут 10
37. Альтаир (Altair777) 633 10.11.10 18:02 Сейчас в теме
(36) т.е. каждый 7-ник должен скачать версию для 8-ки, а потом еще и поменять ее?
А может, Вы сами сделаете такую 7-ную версию? Это же 10 минут всего ;)
А людям будет удобно.
38. ANDREY CHERNOV (wacko) 246 10.11.10 20:26 Сейчас в теме
(37) люди уже на 8.2 бодаются, думаю не стоит тянуть за собой то, что уже не актуально(7.7), к тому же нет возможности работать с клюшками
39. Альтаир (Altair777) 633 11.11.10 10:29 Сейчас в теме
(38) вот именно, что бодаются :D
40. ANDREY CHERNOV (wacko) 246 11.11.10 16:37 Сейчас в теме
Добавил выгрузку для 8.2 (не конвертировано а переписано :) )
41. ! ! (4ulok) 18.11.10 14:13 Сейчас в теме
а что если какой-нибудь "злыдень" утащит файл с флешки и вытащит пароль?возможно ли закрыть физический доступ к флешке,но не программный?
42. ANDREY CHERNOV (wacko) 246 19.11.10 11:18 Сейчас в теме
(41) Ну "злыдню" нужно еще серийник флешки перепрошить, защита идет в связке имя пользователя + пароль + серийник :)
43. ANDREY CHERNOV (wacko) 246 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) 246 24.11.10 19:26 Сейчас в теме
(45) - > (29)
Узнал пароль любого из 10 рыл и работай, воруй данные, сливай все врагам :)
47. Alexandr_P (Русский) 26.11.10 09:13 Сейчас в теме
(46) там технология немного другая: 1 ключ - 1 программа... Но с помощью ключей и пароли хранить можно, половина из них имеет встроенную память ;)
48. ANDREY CHERNOV (wacko) 246 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) 246 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) 3661 27.11.10 07:22 Сейчас в теме
(19)
ну и соответственно - забыл флешку - день потерян

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

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

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

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

http://infostart.ru/public/20040/
61. ANDREY CHERNOV (wacko) 246 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) 246 27.06.11 16:29 Сейчас в теме
(62) Ну поделись "снятием" этой защиты, без ковыряния в коде.
(63) Никто не ограничивает доработку ИКЗ под свои нужды, код я вроде не закрывал, дерзайте, ибо мне уже не интересно, т.к. это не приносит мне ни какого дохода.
65. nedo nedo (nedo) 01.03.12 15:16 Сейчас в теме
когда-нибудь скачаю и попробую!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
66. arjuna (arjuna) 07.03.12 21:45 Сейчас в теме
67. Дмитрий (dvim) 37 28.03.12 14:02 Сейчас в теме
(54) Abadonna,
Я понял тут важна не "доступность" блоков, а верификация.
У нас сменные сотрудники работали под 1 паролем,убеждения не помогали. Как косяк и отвечать надо - сразу навели порядок :)

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