Перед выходом линейки XE3 продуктов Embarcadero (Delphi, C++Builder, RAD Studio), «в интернетах» произошел ужас — произошла утечка (намеренная ли нет, неизвестно) сведений, что новая лицензия для Professional не будет разрешать написание клиент-серверных приложений. Разумеется, под «не будет разрешать» имеется в виду формальный запрет в лицензионном соглашении, потому что контролировать на уровне кода это никто не собирался, и сделать это достаточно проблематично. Так вот, в блогах шли одинаковые сообщения о грядущем апокалипсисе, одно за другим. Ленты delphifeeds (что com, что ru) содержали по нескольку таких сообщений подряд. На форумах развернулись баталии с обвинением Embarcadero в чудовищной жадности. Если честно, у меня как у продавца, специфическое отношение к этому вопросу. С одной стороны, подобные изменения лицензии не радуют. С другой стороны, много людей, которые обвиняли Эмбаркадеро в данном грехе, скорее всего вообще никакую версию не покупали. Ну или покупали, но старую, и обновляться не собирались. К счастью, в момент выхода релиза XE3 было объявлено, что лицензионное соглашение в данном плане осталось как и прежним, и даже вывесили экземпляр на всеобщее обозрение. И все успокоились. Однако, присмотревшись к лицензии, я обнаружил, что все-таки в Professional писать клиент-серверные программы запрещено. Правда, только в отношении dbExpress:ADDITIONAL LICENSE TERMS APPLICABLE TO RAD STUDIO, DELPHI AND C++BUILDER, PROFESSIONAL AND PROFESSIONAL ACADEMIC EDITIONS In the event Licensee has obtained a RAD Studio, Delphi or C++Builder Professional, or Professional Academic product license then the following terms apply. Subject to the terms and conditions of this Agreement, Licensor grants to Licensee as the licensed user of the Product the limited right to …

Продолжаем. Я не случайно остановился после установки SEP, поскольку дальнейшие действия возможны в двух «опциях». InterBase поддерживает два алгоритма шифрования. DES и AES. DES можно использовать по умолчанию, в том числе в редакциях Trial и Developer, а вот AES можно включить только в полной (купленной) редакции. Впрочем, в использовании DES или AES нет никакой разницы, кроме, разумеется, факта, что AES является более сильным алгоритмом, и пришел на смену DES (для вскрытия которого несколько лет назад были даже созданы специализированные микросхемы). У DES длина ключа 56 байт, у AES — 128-256 байт. Тем не менее, для проверки будет достаточно DES. Напомню, что шифровать можно как базу целиком, так и отдельные столбцы, поэтому я на всякий случай создам 3 разных ключа шифрования. Логинимся под SYSDSO, выполняем команды CREATE ENCRYPTION db_des for DES CREATE ENCRYPTION kname_des for DES CREATE ENCRYPTION sname_des for DES все созданные ключи хранятся в таблице RDB$ENCRYPTIONS. Вообще команда CREATE ENCRYPTION сложнее: create encryption key-name [as default] [for {AES | DES}] [with length number-ofbits [bits]][password {‘user-password’ | system encryption password}][init_vector {NULL | random}] [pad {NULL | random}][description ‘some user description’] Length — можно использовать только для AES, указывая длину ключа 128, 192 или 256 бит. 128 по умолчанию для AES.Password — только для ключей, которыми шифруют столбцы. Можно использовать для дополнительной аутентификации при расшифровке зашифрованных столбцов.Init-vector — random включает Ciper Block Changing, при которой для одинаковых значений генерируется разный зашифрованный текст. При null для этого используется Electronic Codebook (в DataDef.pdf на странице 214 это указано как Electronic Cookbook). Null по умолчанию.Pad — …

1 — потому что предыдущая запись была о шифровании соединений в InterBase, а теперь речь пойдет о шифровании баз. О шифровании соединений, впрочем, говорить больше нечего, т.к. то же самое может быть выполнено другими средствами, совершенно не привязанными к InterBase. Например, аппаратное шифрование, программные средства вроде ZeBeDee, и т.п. Сразу предупреждаю, что шифрование баз — сложная штука, и если кто-то думает, что можно было бы все это сделать тяп-ляп, то он ошибается.Первым требованием перед включением шифрования БД является включение в базе Embedded User Authentification. Эта штука появилась еще в InterBase 7.5 в 2005 году, и позволяет проводить аутентификацию пользователей и SYSDBA через саму БД, а не через общий admin.ib для всех баз на сервере.EUA является первым средством, которое позволяет защититься от «украли файл с базой», т.к. если пароль SYSDBA в базе будет не masterkey, то его придется или подбирать, или как-то хакать hex-editor-ом (не пробовал). Но, как минимум, это уже хоть какая-то защита от чайников. Полностью и детально шифрование БД описано в документации на InterBase, в Data Definition Guide, Глава 13 (однако!), Encrypting Your Data. Это я к тому, что здесь, все же, идет концептуальное описание, без мелких деталей (иначе пришлось бы растянуть это минимум на 10 постов. Тем не менее, вы можете выполнять приводимое здесь по шагам, разве что с учетом того, что для продолжения вам придется остановиться в ожидании следующего поста 🙂 Итак, берем какую-нибудь тестовую базу, которую не жалко в случае ошибки, и в случае чего можно удалить. База должна быть создана не менее чем в InterBase …

Отличная конференция была, все прошло замечательно. Правда, я прочитал какой-то бредовый доклад (с моей точки зрения), спутанный из-за предыдущего доклада Сергея Кузнецова.В финале Embarcadero раздало какое-то чудовищное количество призов (флэшек, кружек, маек и т.п.) Раздача (розыгрыш по заполненным анкетам) заняла минут 30 минимум, в ускоренном темпе. Такое впечатление, что почти треть посетителей получили призы.Человек 10 не получили призы, потому что ушли раньше. Читать на сайте автора.

Завтра, 25 мая в 12:00 в рамках серии вебинаров Эмбаркадеро «Developer Direct: Демонстрации и обсуждения»http://forms.embarcadero.com/forms/EM12Q2RUWebinarDeveloperDirect опять я, про InterBase. Часть 3, Средства разработки и компоненты. Welcome. Запись предыдущего вебинара (о UDF) пока не выложена, будет скоро. Читать на сайте автора.

Когда вышел InterBase 2009, я увидел в списке новых фич шифрование. Поскольку лично меня эта тема не затрагивает, я ознакомился с возможностями, и на этом все кончилось. Интересно, что даже разработчики, которых эта тема интересует, ее пропустили. Например, один из вопросов, присланный нам перед вебинаром по InterBase, проводимом 14 марта, был «как в InterBase с шифрованием». Простите, но на дворе уже давно XE (с конца 2010 года), а 2009-ая вышла в августе 2008 года.В общем,  вместе с Embarcadero провели первый вебинар на тему InterBase, и в него вошел общий рассказ про возможности шифрования. Сейчас готовится второй вебинар, а там и третий, но мне кажется, что подробнее эту тему лучше раскрыть в блоге, поэтапно. Здесь и начнем. Шифрование в InterBase существует в «трех частях» шифрование соединения (Over-the-Wire, OTW) шифрование БД (всей БД или отдельных столбцов таблиц) шифрование бэкапов Большинство, конечно, хочет просто «шифрования базы», чтобы ее не украли или чтобы не стащили информацию. Но к сожалению, опять же у большинства, представление о шифровании достаточно примитивное, и «зашифровать базу» это как бы как «зашифровать файл или архив». В реальности это не так, и требует определенных усилий по планированию и управлению.Слова «а зачем оно нам такое, нам бы попроще» отметаются сразу, потому что простое шифрование так же просто вскрывается. В общем, давайте лучше посмотрим, как оно устроено. Стандарты шифрования Поддерживается DES (по умолчанию), и AES. DES можно использовать сразу, для AES нужно скачать бесплатную лицензию со своего аккаунта на Embarcadero (при условии, что InterBase куплен и зарегистрирован. Шифрование соединения Операционные системы клиента и …

На днях по электронной почте пришло УВЕДОМЛЕНИЕ от ФГУП МНИИ «Интеграл», о том что «Согласно Федеральному закону № 77-ФЗ «Об обязательном экземпляре документов» от 29.12.1994 г производители программ для ЭВМ и баз данных обязаны доставлять в МНИИ «Интеграл» один обязательный бесплатный экземпляр программ.« Штрафы за непредоставление, кстати (в письме не указано), для юрлиц от 10000 до 20000 тысяч рублей. Я тут же открыл этот закон на сайте Консультанта, и обнаружил вот что. Статья 5. Виды документов, входящих в состав обязательного экземпляра1.…программы для электронных вычислительных машин и базы данных на материальном носителе; К примеру, мы не поставляем свое ПО на материальных носителях. Кстати, если сравнить этот текст с текстом, размещенным на сайте «Интеграла», http://indepo.ru/laws_1.htmто кто-то из двух врет. Потому что Эта же 5-ая статья в редакции Интеграла содержит отличное описание пункта об электронных изданиях:электронные издания — программы для электронных вычислительных машин и базы данных, а также электронные документы, прошедшие редакционно-издательскую обработку, имеющие выходные сведения, тиражируемые и распространяемые на машиночитаемых носителях;(подчеркнуто то, чего нет на Консультанте и других сайтах, цитирующих закон в самой последней редакции.) Отсюда впечатление, что некто там встрепенулся, что можно заработать денег, штрафуя российских разработчиков ПО.Я мог бы прислать наши «экземпляры», но подчеркиваю, что мы их не распространяем на материальных носителях, и кроме того, наше ПО требует регистрации и защищено от взлома. И такого ПО сейчас 99% (исключая бесплатное).Сам закон написан безобразно (в т.ч. юридически, много к чему есть придраться), и смысл его от меня ускользает. Есть же ФИПС, в конце-концов. p.s. Например, Статья 13, пункт 1 — «Производители …

С 6-7 апреля мы наблюдали всплеск обращений в наш ремонт баз данных СУБД InterBase и Firebird (из-за сбоев оборудования и повреждений БД в результате). Копаясь по новостям, я неожиданно обнаружил, что как раз в эти дни сильная всышка на солнце достигла земли. Не знаю, 100% совпадение, или нет, но скоро можно будет проверить: 2 и 3 мая опять произошла вспышка на солнце, а геомагнитный шторм нас ожидает к 9-му.http://news.mail.ru/society/3759123/ Читать на сайте автора.

27 апреля, в 15 GMT (17 CET или 19 MSK) состоится вебинар «Delphi and Firebird» при участии Marco Cantu, известного эксперта по Delphi. Тема вебинара — работа в Delphi с СУБД Firebird.Вебинар проводится в рамках кампании MindTheBird (www.mindthebird.com), приуроченной к выходу СУБД Firebird 2.5, а также празднованию 10-летия этой СУБД.Вебинар проводится на английском языке.Подключиться к вебинару можно будет за 30 минут до его начала, по ссылке:https://www.livemeeting.com/cc/mtbfb/join?id=5ZQRT8&role=attend&pw=r%3A9ztTR%7DM Можно использовать как ПО LiveMeeting (будет предложено скачать поссылке, если не установлено, рекомендуется), так и веб-браузер. Читать на сайте автора.

В начале этой недели к нам неожиданно поперли запросы на ремонты БД (Firebird и InterBase). То есть, конечно, запросы и так периодически приходят, но тут был какой-то шквал, даже подумали, не объявить-ли мораторий 🙂А потом я увидел в новостях, что «Сильнейшая за полтора года магнитная буря пришла на Землю во второй половине дня 5 апреля.«. И сразу стало все понятно. Раньше, как-то, на такие вещи не обращали внимания. Но тут совсем явная корреляция 🙂 Не забывайте, сегодня в 18:00 по Москве у нас состоится, можно сказать, эпический вебинар, с участием Анны Харрисон. Если кто не в курсе, она совместно с Джимом Старки разрабатывала InterBase. Линк для подключения к вебинару через клиента LM:https://www.livemeeting.com/cc/ibse/join?id=93K3J8&role=attend&pw=JHJNt%5DS%3C6 Веб-линк: https://www.livemeeting.com/cc/ibse/webjoin?id=93K3J8&role=attend&pw=JHJNt%5DS%3C6(LM лучше, чем через веб). Читать на сайте автора.