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

Опубликовал 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 Скачать

См. также

Лучшие комментарии

19. wacko 28.10.2010 14:31
(18) т.е. Индивидуальный ключ защиты :) подразумевает 1 флешка в одни руки, т.е. даже зная пароль пользователя - в базу врага не пустит :)
ну и соответственно - забыл флешку - день потерян :)
Ответили: (52)
+ 2 [ mdzen; MadKlop; ]
# Ответить
24. wacko 28.10.2010 15:35
(22) Вот так реализовано у меня (УТ, МодульУправленияПользователями, ПроверитьВозможностьРаботыПользователя(Отказ))
-----
	Если ЗначениеЗаполнено(ПараметрыСеанса.КлючЗащиты) Тогда
		ДанныеКлюча = Новый Структура;
		Аурум.ПолучитьСформироватьДанныеКлючаЗащиты(ДанныеКлюча);
		Отказ = НЕ ДанныеКлюча.РазрешитьДоступ;
		#Если Клиент Тогда
			Если Отказ Тогда	
				Предупреждение("У текущего пользователя нет прав, для запуска информационной базы.", 10, "Неверный ключ защиты");
			КонецЕсли;
		#КонецЕсли
	КонецЕсли;	
...Показать Скрыть
+ 1 [ mdzen; ]
# Ответить

Комментарии

1. Андрей80 21.10.2010 20:39
опробуем спс.
# Ответить
4. wacko 22.10.2010 17:28
61 скачка и 3 комментария не по теме - печаль... :(
Ответили: (31)
# Ответить
10. wacko 25.10.2010 10:08
Ну скажите хоть кто-нибудь использовать будет, а то как то аж грустно :(
+ 1 [ Steelvan; ]
− 1 [ Altair777; ]
# Ответить
11. a_titeev (файл скачал) 25.10.2010 13:05
сгодится... тока поправь:

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


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

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

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

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

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

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

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

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

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

http://infostart.ru/public/20040/
# Ответить
61. wacko 29.12.2010 01:41
YVolohov пишет:

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

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

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

Параметры, например, такие - мак-адрес сетевой карты, пользователь системы,
пользователь 1С, серийник флешки (смарт-карты).
Ответили: (64)
# Ответить
64. wacko 27.06.2011 16:29
(62) Ну поделись "снятием" этой защиты, без ковыряния в коде.
(63) Никто не ограничивает доработку ИКЗ под свои нужды, код я вроде не закрывал, дерзайте, ибо мне уже не интересно, т.к. это не приносит мне ни какого дохода.
# Ответить
65. nedo 01.03.2012 15:16
когда-нибудь скачаю и попробую!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# Ответить
66. arjuna 07.03.2012 21:45
хрень!
# Ответить
67. dvim 28.03.2012 14:02
(54) Abadonna,
Я понял тут важна не "доступность" блоков, а верификация.
У нас сменные сотрудники работали под 1 паролем,убеждения не помогали. Как косяк и отвечать надо - сразу навели порядок :)

PS
Интересно было бы решение со сканерами отпечатков пальцев, они вроде недорогие
# Ответить
68. serega3333 04.06.2012 13:31
реализация хорошая, надо допиливать конечно
Ответили: (69)
# Ответить
69. wacko 04.06.2012 14:58
(68) Допиливание - основная часть работы одинесников, дерзайте :)
# Ответить
70. ~gekK@~ 15.10.2012 17:36
возможно кому-то и пригодится, но, думаю, не многим
# Ответить
72. zodus 27.08.2013 16:34
интересная затея
# Ответить
73. Naposaram 18.05.2015 15:24
а что имеется ввиду под серийным номером флешки? Тот номер который присваивается ОС или тот что вшит с завода?
# Ответить
74. panihinnv 03.06.2015 08:53
Задумка интересная
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл






IE 2016