Facebook Twitter
Linkedin LJ
Git Instagram
IPv6

My blog

I write mostly about security, mail, web and linux. My contacts are: me@andreybondarenko.com, Telegram, FB chat, WhatsApp, +420-773-591-443. I am not using abondarenko@gmail.com and +7-903-7929724 anymore and you will not find me in Moscow, Russia. My CV. This site can use cookies.

17QxrNyk9BCrP6LGUbqCNnXCzu4oeoYKaH (btc) 0x57500960FBC986225209E597D5B97065A9A10043 (eth)

 291   4 mon   linux

Extract PEM certificates and keys from a shared NSS DB

$ certutil -L -d .
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI

FreeIPA CA CT,C,C

$ certutil -L -d . -a -n ‘FreeIPA CA’ > freeipa.crt

The PEM certificate should now be stored in free-ipa.crt.

To extract the PEM key from key3.db use certutil, pk12util and openssl.

$ certutil -K -d . -a
$ pk12util -o keys.p12 -n ‘FreeIPA Key’ -d .
$ openssl pkcs12 -in keys.p12 -out freeipa.key -nodes

 194   6 mon   freeipa   linux

Схороню текстик

ВСЯ ПРАВДА О ДЕМОСЕ… ИЗ “ПЕРВЫХ РУК” С КОММЕНТАРИЯМИ УЧАСТНИКОВ СОБЫТИЙ
Десятилетию Демоса посвящается

Я решил это написать, когда заметил, что жить осталось маловато (все мы под Богом), а информация, которая появляется, совсем далека от действительности...

Началось все примерно в 1983 году. “Наши” люди сподобились вытащить Unix v7 прямо с VAXа Калифорнийского университета в Беркли (Сан Диего). (Не-а, в Беркли, что напротив Сан-Франциско; хорошее место, траву прям на улице курят. Что и объясняет особенности берклеского юникса. (Антонов-ст.))

По моим данным “люди в погонах” здесь были ни причем. Версии привозились людьми, проходившими стажировку в западных университетах. То, что поступало по спецканалам, автоматически получало гриф и навсегда терялось в сейфах Первых отделов. Да и началось все с версии 6 и фрагментов 32bsd. (Бардин)

Там, кстати, можно было найти файлы с записями результатов соревнований по гольфу, бейсболу и теннису сотрудников различных кафедр унивеситета (в числе игроков были и разработчики Unix). По Москве стала ходить магнитная лента, в начале которой была записана программа Rolling. Эта программа, по тем временам неизвестная программистской общественности, bootилась, позволяла копировать ленты на СМах и загружать с них программы.

(Сначала было несколько лент из Дубны, от парня из ЛВТА, но там все как-то не в рабочем виде было. Я из них сделал одну, с четырьмя дисками, которые содержали все тексты и прибраную систему, ее уже можно было использовать без хлопот. Наверное, эта лента и ходила. (Егошин))

Собственно, началось все чуть раньше. Сначала наше общество разделилось на ЕС-о ненавистников (занимавшихся БЭСМ-6) и ЕС-о любителей. После и там и там начало появляться понимание того, что сидим мы на, извиняюсь, старье и дерьме (неважно, аппаратном или программном – и там и там операционные системы явно отставали от жизни), и что надо куда-то двигаться. И тут появилась идея машинно-независимой ОС Unux. В ИАЭ им. Курчатова за нее ухватились Бардин и Паремский, на ВМК – я уже не помню, кто именно (зато я помню – Маслов А.Н., каковой и был моим ученым руководителем в оном ВМК. (Антонов-ст.)), но именно она послужила объединяющим стимулом для нескольких разных групп программистов – одни любили много лампочек, прерывания, ленты и мониторную систему Дубна, другие – великую и могучую ОС/ЕС (любили странною любовью), третьи подвизались с не менее занимательными ОС RT-11 и RSX. И все хотели чего-то стабильного и не зависящего от левой ноги очередного производителя железа. (Руднев)

Время это известно тем, что программисты увлекались Алголом, Фортараном, ЕСом, RSXом (Фобосом), VMSом. К этому времени мы все были любовниками ЕСов и СМов. Советский DEC радовал миниатюрностью, производительностью – на нем не было перфокарточного ввода и, помимо электрической пишущей машинки (консоли), можно было подключить чудо техники – дисплей с экраном... Многие помнят, что, например, при генерации ОС для какой-либо ЕСины печатался протокол генерации, на который уходило примерно 8 пачек АЦПУшной бумаги...

Такие были времена. Я, например, к этому времени освоил около 15 ассемблеров и кучу ненужных машин, включая КАМАК, и языков (в их числе ублюдочные ЯАП и АНАЛИТИК), самый противный из которых ADA, самый приятный, но так до конца и не реализованный – Алгол-68 [Таки реализованным под ОС/ЕС Тереховым и Co.] (Антонов-ст.)).

Видимо, любовницы были разные. Мы (это я про когорту БЭСМо-строителей) развлекались с общими дисками, бутербродами из ОС ДИСПАК, под которой крутится МС ДУБНА и при этом нигде нет даже слова ФАЙЛ (зато лента подзволяет работать с ней прямым доступом), терминалы работают на 1200 бод по проводам без уродских контроллеров в пол-комнаты, и ночами первые хакеры-студенты пытаются ломать первых сис-админов (преподавателей ВМК), а первые бригады быстрого реагирования (три каратиста – Машечкин, Макаров, Долматов) (Вообще-то, последний каратист – Гуляев. А Макаров – он Макаров-Землянский (Мазепа)) бегут по лестнице делать первые внушения студентам _нэхорошо поступаешь, дарагой_. И постепенно (на фоне возни с очередным творением отечественного гения по прозвищу ЭЛЬБРУС) появлялось понимание, что что-то не то в этом королевстве – ветвь самостроя типа БЭСМ явно подыхала, лезть в уродскую ЕС ЭВМ (OS/360) означало идти на два столетия назад, ходили (я правда не уверен) слухи про какую-то VSM и великий и могучий VAX, и вообще было ощущение, что сидим мы в пещере и добываем огонь, а снаружи уже самолеты летать начали... (Руднев)

Лично мне из всех советских маши больше всех нравилась М-220, ее собирал Казанский завод САМ. Эта машина являлась военно-промышленным потомком линии БЭСМ. Благодаря стараниям то ли академика Глушко, то ли еще кого, отечественные машины (кроме Эльбруса) были уничтожены, что естественно сказалось и на мировозрениях программистов.

Так дальше жить было нельзя. Все это понимали и молча “локализовывали” все, что приходило из Африки (это не шутка – все программы, украденные в США, по какой-то причине имели африканский след на лентах ... – ну не все, не все, были и из Вены, были и прямо из Беркли (Егошин)). Были и такие, как, например, Бутенко и Флеров (МИСС, физфак МГУ), которые без страха и упрека стали разрабатывать свои ОСы..., а на мехмате разрабатывался Микромир (Кушнеренко) – Windows рядом не валялся...:). Были и счастливчики. На русское золото покупались суперкомпьютеры, например, на АЗЛК в это время появились Макинтоши с их невообразимым интерфейсом и украденными позже Биллом Г. окнами...

Я в это время работал заведующим кафедрой Прикладной математики и вычислительной техники ИПК Минавтопрома. Автомобильная промышленность лидировала в то время, поэтому мы получали много техники, книг, и учили программистов для заводов, КБ, полигонов и НИИ. В это время на кафедре работали многие сегодня известные люди – В. Антонов, С. Беляшов, Е. Введенская, Д. Володин, Н. Васильева, С. Галкин, О. Губа, Т. Зрелова, М. Коротаев, А. Ларин, С. Леонтьев, И. Мазепа, В. Серебряков, Н. Соколов, П. Сотникова, покойный Михаил Флеров, А. Чернов.

Надо отметить, что каждый сотрудник кафедры и ВЦ института повышения квалификации Минавтопрома подбирался Михаилом Изгияевичем, как бриллиант в корону. Зачастую в обход всем тогда существующим правилам. Например, выпускники МГУ, из которых в основном он набирал сотрудников, вообще не могли распределяться к нему. За разрешением на перераспределение КАЖДОГО он ездил в Министерство. И потом нес за него ответственность по полной программе. Начиная со стремления обеспечить возможность по тем временам побольше заработать и кончая помощью в сугубо личных делах. История с исключением Вадика из комсомола – это яркая, но далеко не единственная история, иллюстрирующая бытующую до сих пор фразу “птенцы гнезда Давидова” .(Мазепа)

На кафедре преподавали специалисты многих ведущих организаций и институтов. Почасовиками работали А.Маслов, А.Леонас, В.Бардин, А.Руднев, С.Аншуков, С.Усиков и др. Не могу всех перечислить, не обижайтесь пожалуйста...

Я не работал... Читал лекции в Центрпрограммсистем, ИПК Минсредмаша, еще где-то, но в Минавтопроме ни разу. Так получилось... (Бардин)

Собственно, в этой истории где-то еще замешана встреча в общежитии Протвино, на которой были приняты эпохальные (как после оказалось) решения. А промышленностей лидировало три – МинАвтопром, МинАвиапром и МинСредМаш. Показательно, кстати, что не было в лидерах никого из ЭВМ-строителей – что и понятно, так как при плановом хозяйстве им надо было планы выполнять, а не ЭВМ создавать (а, например, авиастроителям нужно было считать, и плевать, чья была ЭВМ и чья ОС и чьи интересы были затронуты при ее выборе – потому и жили программисты именно в этих отраслях). (Руднев) Насколько я помню – дело было в Доме ученых, после сытного обеда на каком-то симпозиуме насчет автоматизации научных исследований. А собрались все в Протвино потому, что я к тому моменту успел каким-то образом закидать союзную научную общественность лентой с дистрибутивом и свои координаты там писал. В основном, правда, Москву и подмосковье. (Егошин)

Но вернемся к магнитной ленте. Мы решили загрузиться. Получилось. Стали появляться разные люди, Н.Саух, А.Руднев, С.Аншуков, А.Егошин, М.Паремский, М.Попов, С.Осовик, Д.Бурков, Е.Бобаян, например, и помогать. Вадим Антонов сутками просиживал у консоли, прилаживая советские дисплеи и мультиплексор. Дисплеи – это отдельная история – кубинские не работали, когда было жарко, советские, когда холодно...

Я так понимаю, что мы должны благодарить за это Витю Перевозчикова из ИФВЭ (Протвино), который заставил меня привезти эту ленту (и оригиналы) на ИПК Минавтопрома, где у него какой-то родственник работал. Я так думаю теперь, что это Давидов втянул родственника, а тот – Перевозчикова. Вообще-то Перевозчиков – сплошной физик-программист, и системами никогда сам не занимался. Теперь, после 3-х летнего пребывания в Калифорнии и встреч тут, я уже не удивляюсь скоростью, с какой можно налаживать контакты. (Егошин)

Социализм трещал по всем швам – все уже тогда было понятно...

Осенью 1983 года на СМ-1425 с мультиплексором СМ-8514 заработало 14! фрязинских дисплеев – это была победа. RSX выглядел грустно. Позже А.Ларин установил ПОШ – переключатель общей шины – и мы соединили две машины. Работало две СМ-14, и к ним было подключено 24 дисплея. Можно было всем одновременно работать без ограничений, и это при памяти 256K и 5-тимегабайтных дисках. Уверен – сегодня можно сделать то же самое раз этак в 1000 дороже!

Осенью 1984 года мы провели семинар и показали работающий Unix. На семинаре присутствовали люди из разных мест – началось расползание системы по стране. Своими здравыми рассуждениями отличался черный гений Демоса В.Бардин. Это человек с мощным аналитическим умом, с невероятной способностью “запудривать” программистам мозги и отвратительным характером. В то время он был очень полезен и многое сделал для того, чтобы Unix стал ДЕМОСом. Была написана документация и передана в Центрпрограммсистем для распространения. Появился КОИ-8. Попробуйте заставить программиста написать документацию к чужой программе и вы все поймете. К этому делу были привлечены все работавшие с системой программисты Курчатовского института и кафедры. Все, что они не хотели писать или не написали, дописывал Давидов под занудливым надзором В.Бардина, который писать вообще не умеет – у него разбегаются мысли...

Умел, но не любил... Зато создал (и заставил внедрить) свое понимание, как надо писать документацию, и сумел убедить кучу людей в предстоящей победе ОС Unix (почти как Ленин). (Руднев)

Да уж, вещал как Геббельс. (Антонов-ст.)

При этом предпочитал лежачее положение и диван, что не сказывалось на результатах. И он же сумел объединить совершенно разных людей из ИАЭ, ВМК и ИПК Минавтопрома (и даже заставить, правда это было уже потом, поменять кодировку и объединить разные системы). (Руднев)

Долго мне однако пришлось за КОИ-8 воевать, прежде чем убедить Бардина и Аншукова. Ну а уж объединенным фронтом – Вадика Антонова. Но, к счастью, настоящей войны не разгорелось, хотя были реальные аргументы в пользу упорадоченной кодировки. “Победила дружба!” (Егошин)

В это же время Давидов, Серебряков и Флеров написали первый в нашей стране учебник по Си...

Позже, по настоянию В.Бардина, была написана книжка по ДЕМОСу. Это тоже происходило интересно. Сначала был определен коллектив авторов – В.Бардин, М.Паремский, М.Давидов. Позже выяснилось, что никто писать не хочет, после чего я сел к дисплею и за 11 дней написал весь текст. Из этих 11 дней 5 ушло на введение (по-моему, 10 страниц...).

Ушло дней десять, не меньше. А получилось страницы полторы кошмарного текста :-)). (Бардин)

Могу смело утверждать – программисты, сделавшие ОС ДЕМОС, были в то время лучшими программистами в СССР. В это время и позже выросло много новых талантливых программистов, например, Вакуленко, Рыжков, Чернов, Пантелейчук, И. Попов, П. Антонов – эти фамилии сегодня хорошо известны. Некоторые, как, например, поэт REDа Алексей Руднев, стали грандами Интернета. Такая громадная работа не прошла незамеченой, разработчики ДЕМОСа были награждены Премией Совета Министров СССР по науке и технике.

(Ага, были. Было _министерству дано право наградить своих сотрудников из своего фонда_ 480-ю рублями, кажется. Правда, грамота была красивая. (Руднев))

После сказанного ясно “откуда у ДЕМОСа ноги растут”.

Особенно нужно отметить роль некоторых программистов, например, братьев Антоновых. Старший умудрялся писать с отладкой программы по 2000 строк на Си за один рабочий день, если пороетесь в текстах большинства версий Unix, то всюду найдете следы его правок и дополнений. Прославился он, в первую очередь, своим редактором eda. Это был простой, надежный и очень удобный для программиста редактор. Этим редактором пользовались несколько лет.

Не помню в каком году В.Антонова исключили из ВМК МГУ за то, что он не поехал “на картошку”. Времена были суровые. Комсомольцы его исключили из комсомола, деканат из университета. Благодаря усилиям И.Машечкиной-Мазепы через РК ВЛКСМ мы его восстановили в комсомоле.

Здесь Михаил Изгияевич скромничает. Моя историческая роль заключалась в том, чтобы довести Вадика до райкома и он по дороге не сбежал. Мы шли рядышком, и я всю дорогу говорила одну и ту же фразу:“Благодари и кланяйся.” И на заседании этого замечательного органа я с замиранием сердца следила за соблюдением Вадиком этих внушенных ему заповедей. Надо сказать, что Вадим справился – не знаю, приходилось ли ему когда-нибудь в жизни с такой силой наступать себе на горло. А на самом деле, уже все нужные звонки и распоряжения поступили из ЦК комсомола, благодаря буче, поднятой Давидовым. (Мазепа)

При этом самое трудное было – это убедить Антонова не огрызаться на бюро райкома... Потом я пошел к Тихонову – не помогло, потом проиграл несколько партий в шахматы заместителю декана Сушко – опять не помогло. Сушко сказал, что только в следующем учебном году это можно попробовать сделать... такого, чтобы в одном семестре исключали и восстанавливали не бывает. Пришлось разыграть комбинацию, в которой участвовал соб. корр. отдела науки “Известий” М.Хромченко. Он взял интервью у ректора Логунова, после чего сказал, что ему все лето и осень помогал студент Антонов, которого исключили “за картошку”. Логунов вызвал проректора по учебной работе и появился Приказ N с текстом “Приказ M отменить”. После этого Сушко мне позвонил и спросил, когда я приду играть в шахматы...

Младший – П.Антонов появился позже, но его роль, допустим, в раскрутке сегодняшнего Интернета в России огромна. В Демосе практически весь IP сделан руками П.Антонова. Такая программистская семейка...

Недавно я купил CD FreeBSD 2.2.7 так, вот, в General Usage Instructions в разделе Special thanks стоит наш Andrew A. Chernov – всем хорошо известный ache – это его стараниями появилось то, что называется русским Интернетом.

Отдельно надо сказать о Сергее Леонтьеве и Диме Володине. Леонтьев обладал удивительной способностью “валить” программы. Если ему это не удавалось, программа действительно работала... Дима Володин прекрасно знал английский, поэтому всегда был “на острие”. Это он сделал первую кириллическую инсталляцию Демоса, он первым провел сеанс в Интернете...

Очень много сделали С.Аншуков, Н.Саух, позже Вакуленко. Своеобразный программисткий подвиг совершил Дима Бурков. В то время начали появляться первые PC. Unix на них выглядел неубедительно. Linux еще не появился, зато повился Venix. Хачить его было невозможно – не было исходных текстов ядра. Дима Бурков реассемблировал ядро, потом писал программы на Си, которые давали тот же текст ассемблера – так появились тексты ядра на Си ... работа не для слабонервных.

Прежде, чем писать о создании компании Демос, в двух словах расскажу как НАЧИНАЛСЯ ИНТЕРНЕТ в России.

Все, что вы читали до сих пор – неправда. Это началось в июле 1989 года. Можно праздновать не только десятилетие Демоса, но и десятилетие Интернета в России! Сделали это два человека на кафедре в ИПК Минавтопрома. Это Вадим Антонов, Дмитрий Володин и покойный Лео Томберг из Таллина.

Начало Интернет/Арпанет почему-то многие числят с момента первого обмена сообщениями машин Стэнфорда и Лос-Анджелеса. Кстати, в нашей истории это событие забыто (ДЕМОС – Курчатовский?). Если отсчитывать появление Российского участка сети от первого РЕЛКОМ-овского обмена через границу СССР, то было бы логичней, патриотичней и симметричней то же сделать с остальной частью сети. Тогда можно будет праздновать не только десятилетие Демоса, Интернета в России, но и десятилетие Интернета за рубежом! Сделали это четыре человека. Это Вадим Антонов, Дмитрий Володин, Лео Томберг из Таллинна и Петри Ояла из Финляндии... (далее по тексту)... :) (Бардин)

Сначала мы запустили почту внутри своего комплекса. Это произошло раньше. В.Антонов “починил” кучу программ, включая UUCP и mailx. Д.Володин был знаком с Л.Томбергом, родственник (знакомый?) которого работал в Хельсинском университете. Так вот, началом Интернета в России нужно считать тот день, когда Дима Володин созвонился с администратором узла и зарегистрировал нашу кафедру на хосте Хельсинского университета. Трафик был очень простым – тогда были БЕСПЛАТНЫЕ советские времена – на кафедре был ОДИН телефон и мы по МЕЖДУНАРОДНОМУ трафику соединялись с Хельсинским хостом (кстати, Релком до сих пор пользуется прорубленной нами на запад дорожкой ...).

Подключилась не кафедра ИПК Минавтопрома, а небольшая сеть. Лео Томберг действительно побывал в Финляндии, работал на местном компьютере. Естественно, он рассказал об этом во время посещения Демоса. Тут же возникла идея зайти на финскую машину и посмотреть, сохранился ли Лео в списке пользователей. После чего, Володин дождался появления суперюзера и объяснил ему про соединение с СССР. Петри Ояла (он же суперюзер) завел нового клиента. Про оплату речь тогда не шла, – как сказал Петри, мы со своим модемом 2400 и международным соединением финскую сеть не потревожим. (Однако пора получить данную историю в изложении Димы Володина и канонизировать).

Домена su тогда не появилось. Адреса ретранслировались, т.е. письма шли из su, а отвечать нужно было в Финляндию. Наиболее бдительные буржуи сразу поняли, что это КГБ – враг всех евреев. Д.Вулис даже неопровержимо доказал это пространном труде (“КПСС – не мог”, “армии не до этого”, ясно что КГБ – “нет другой силы в СССР”).

К моменту исторического объединения сетей программистская бригада ДЕМОСа практически полностью переключилась на создание сети, велись переговоры о включении нарождающейся Советской ассоциации пользователей (SUUG) в EUUG, дававшее законное право работы в сети EUnet (корпоративная сеть EUUG). К августу, все необходимые формальности были завершены. Советская ассоциация юниксойдов, как член европейской организации, зарегистрировала домен su и стала полноправным членом мировой сети. В 1991 году, стараниями фирмы SUN, ассоциация обзавелась невиданным в сетевых кругах сервером SUN. Оператором SUUG стал МНИОПК Демос, но вскоре (после ухода большинства программистов из Демоса), эти функции были переданы АО РЕЛКОМ. (Бардин)

Начались переписка и чтение телеконференций. Вы наверняка не знаете, что здание на Овчинниковской набережной мне удалось вырвать еще с жильцами и бомжами ДО создания кооператива Демос. Так вот, уже тогда и оттуда, Вадим Антонов, просидев всю осень за ремонтом программ, наладил работу первого российского хоста.

Ну, смотрелось это не совсем так. В том году ВПЕРВЫЕ появилась возможность звонить по автомату за рубеж. Конкретно – в Финляндию. А Лео откуда то выкопал телефон своего приятеля в Хельсинках, занимавшегося электронной почтой (кстати, все это так и шло под эгидой FUUG – общества любителей UNIX). (Руднев)

(откуда, откуда – был он или брат его там, в Хельсинки, и пользовался телефоном для входа. (Егошин))

И в одну прекрасную летнюю ночь (а может, и не ночь – я был тогда в отпуске и весьма далеко от Москвы) Володин позвонил туда, попал на Петри Ойялу,

(оставили e-mail root-у, а кто он был – к тому моменту еще не знали вроде бы (Егошин))

тот сказал что то вроде _Русские? Интересно. Давай попробуем, будет работать почта – разберемся, как и что, а пока просто интересно_. В итоге я приехал из отпуска, а мне показали _смотри, мы прорубили окно в Европу: слышал о таком-то? Вот его статьи в новостях, а вот новости про Unix, а вот..._ Ощущения у всех были, как будто упал железный занавес – до того мы были в своей пещере, куда иногда долетал гул извне, после того – оказались как-то включены в этот самый мир, что был снаружи и имел свои горести и свои радости...

И еще оказалось, что вредный, занудный Антонов, который навязал чуть раньше всем доменную систему имен (или это Бардин был, неважно – все программисты были вредными в душе и занудными по характеру) вместо простой как спичка UUCP системы (иди по цепочке машина H1!H2!H3!К_васе) был прав и съэкономил всем нам где-то полгода работы. (Руднев)

(Да, такой уж я вредный и занудный. И для придумывания слова “RELCOM” программу написал – пермутации разные благозвучные делать. На самом-то деле наибольший эффект был от переходника из news-ов в e-mail и обратно. (Антонов-ст.))

Это уже сносно работало в октябре 1989 года. (1990-го, к сожалению (Антонов-ст.)). В США начался шум “ЦРУ сообщает – КГБ проник в Интернет” – наивные американцы – КГБ тогда этого делать не умел. (и сейчас, скорее всего, не умеет (Руднев)). Навозившись с американскими ошибками в программах, В.Антонов кому-то в Америку грубо написал. Американцы тут же обвинили В.Антонова в антисемитизме, на что он им ответил “у нас научный руководитель Михаил Изгияевич Давидов” – и прения по этому вопросу прекратились. (Хрена. До сих пор какие-то идиоты вспоминают. (Антонов-ст.))

Справедливости ради надо сказать, что КГБ, как это помягче выразить, был в курсе и часто недоумевал. Например, к нам в ИПК приходил куратор, меня вызывали в кабинет к ректору, и человек с лицом без особых примет вел со мной такие диалог:

  • А что это вы так долго задерживаетесь на работе?
  • Работаю.
  • Но другие так не задерживаются.
  • А у меня интересная работа.
  • И что же вы делаете?
  • Программы пишем.
  • А почему вы не едете в Америку, у вас там родственники?
  • А мне здесь хорошо.
  • Ну-ну, можете идти.

Потом, когда Демос поселился на Овчинниковской, стал появляться другой человек с неприметным лицом:

  • А что это у вас так долго работают, даже по ночам?
  • Программы пишут.
  • Какие программы.
  • Например, для того, чтобы работал интернет.
  • А зачем это вам?
  • Мы кооператив программистов, нам это нужно.
  • Смотрите... Чтобы все было хорошо.
  • Конечно, конечно.

Позже, когда С.Бородько с ребятами из Курчатовского института перебрался на Овчинниковскую, они ходить перестали.

Я думаю, в Курчатовском институте эта работа хорошо налажена. Вот так, между ЦРУ и КГБ, при полном неучастии государства, был создан Интернет в России. И уже в августе 1991 года из Демоса на весь мир шли репортажи с баррикад у Белого Дома. В то время мы с С.Бородько лично подключали к Интернету РИА-Новости, Мэрию...

Кстати, директор библиотеки Конгресса США, господин Веллингтон, специалист по русскому языку и славистике, лично у меня просил копии переписки по электронной почте в период августа 91. Я не дал. (Лента, кстати, должна быть у Бардина). Все, что было дальше, расскажут другие.

(Зря не дал :) – меня вот местное телевидение (PBS там всякий) несколько раз доставало. Тоже память длинная. (Антонов-ст.))

Как был создан кооператив Демос.
Появился Закон “О кооперации”. Все было ясно – СССР развалится, экономика сломается, нужно что-то делать, чтобы был кусок хлеба. К этому времени мы бесплатно раздавали дистрибутив ОС ДЕМОС, что-то около 200 копий... Дальше все просто, будем их продавать. Я собрал кафедру весной 1987(6) года и сказал: делаем кооператив. Кто не хочет идти в кооператив, остается на кафедре. На меня смотрели как на идиота. По институту пошел слух, что Давидов сходит с ума. Наверное, так и было. Но меня уже не остановить.

Деятельность по организации кооператива Михаил Изгияевич сопровождал рассказами о счастливом будущем. Эти рассказы тогда воспринимались, как игра воспаленного воображения. Я напомню основные мании: “У каждого дома будет компьютер, мы будем писать программы и продавать их, за это нам будут платить много денег, у нас будет красивый дом, из окон которого будет виден Кремль...” Этого было достаточно, чтобы ... (см. по тексту) (Мазепа)

Нда, я даже этого не знал, хотя и работал в кооперативе с первых его дней. Надо же, как все сплетено. (Руднев)

Ага. А знаешь какой первый продукт был? Программа для форматирования флоппи на Эл-85. Ей потом от АЗЛК-шной части Интерфейса откупились. (Антонов-ст.)

Кооператив Демос был создан при личном участии Юрия Михайловича Лужкова и Олега Михайловича Толкачева. Но все по порядку.

Ю.Лужков был Председателем комиссии Мосгорисполкома по регистрации кооперативов. Все было просто. Приходишь к Лужкову с бумажками, он говорит “да” или “нет”. Миша Коротаев придумал название кооператива – Интерфейс. Я нацарапал бумажки и к Лужкову. Заседал он сначала на ул. Чернышевского в хилом домишке. В первый раз попал я к нему на прием в 0 часов 30 минут. “Здрасьте, Юрий Михайлович, (упрощаю) можно получить вашу подпись?” Дальше исторический диалог:

  • Что делать будете?
  • Программы писать
  • Нет.
  • Ну, мы программисты. Больше ничего делать не умеем.
  • Кооперативы создаются для обслуживания населения. А вы будете деньги за свои программы высасывать из госпредприятий. Все... Следующий. (и ведь, паразит, зрил в корень!) (Руднев)

Я всю ночь не спал. Утром поехал на станцию технического обслуживания номер 7. Там работал наш студент-программист, муж Раи Поповой. Там, кстати, мы с ней и познакомились. Его начальником был В.Маслов, который быстро схватил идею. Итак, кооператив Интерфейс, будет писать и продавать программы для автовладельцев с целью тестирования их личных автомобилей :-). Я снова у Лужкова. На этот раз в половине второго ночи:

  • Что делать будете?
  • Обслуживать автовладельцев!?
  • Ты, вроде, у меня был?
  • Был.
  • А почему я не подписал?
  • Не знаю, (беру вину на себя) может я что не так сказал...
  • (подписывает) Говорить всегда надо то, что надо. Понял?

Так появился кооператив Интерфейс. Начали продавать по 2500 рублей копии дистрибутивов ОС ДЕМОС.

Станция технического обслуживания номер 7 и куча ошалелых программистов не могли ужиться. После нескольких совещаний у меня на даче и дома, в которых участвовали В.Бардин, С.Бородько, Д.Бурков, А.Солдатов, было решено создавать новый кооператив. Кстати, логотип demos (позже demos/*) и название кооператива придуманы лично мною, позже А.Кузьмин приделал к логотипу букву D. Я к Лужкову:

  • А помещение у вас есть?
  • Нет.
  • Без помещения кооператив не регистрируем.

Я в Исполком Моссовета:

  • Дайте хибару, Христа ради.
  • Кому?
  • Нашему кооперативу Демос
  • А вы зарегистрированы?
  • Нет.
  • Нет. Помещения в аренду сдаются только зарегистрированным кооперативам.

Итак, началась Новая Россия. Кооператив регистрируют, если есть помещение. Помещение сдают в аренду, если кооператив зарегистрирован.

Где рубить этот круг? (Взятки тогда мы еще давать не умели – боялись унизить начальника:)). Я к Лужкову. Он уже сидит на сцене в конференц-зале Моссовета на Тверской 13, в зале ждут приема сотни две просителей. Разговор состоялся опять после полуночи. У меня кончились сигареты, он курил Мальборо. Я его ненавидел, поднялся на сцену:

  • Вот незадача. Кружок вышел.
  • Я тебя уже видел. Незадача для незадачливых. Думай.
  • А можно так, вы пишете – зарегистрировать при предьявлении договора аренды помещения? Иначе я опять приду к вам.
  • Так, что вы делать будете?
  • Программы писать для домашнего употребления. Сейчас персональные компьютеры пошли. Будем, там, игры для детей писать, всякие учебные программы и т.д.
  • А полезное что-либо сделать можете? Например, для городского хозяйства?
  • Так оно же государственное? Кооперативам нельзя.
  • Уже можно.
  • Что угодно, Юрий Михайлович, только распорядитесь.
  • (пишет резолюцию) Чтобы я тебя не искал, сам приходи.
  • Есть.

Осталось найти помещение. Но оно уже было. Мы вселились на второй этаж на Овчинниковской без всяких документов. Как? Пусть это останется маленькой тайной. Там не было лестницы на второй этаж, спали бомжи на грязных матрасах... (Кстати, из окна кабинета Давидова, если постараться, можно было увидеть Кремль :-))(Мазепа) Остальное расскажет С.Беляшов.

Сделали ремонт, притащили первые компьютеры. С.Бородько где-то раздобыл стойку от микровакса. Вадим Антонов и Дима Володин начали раскручивать локальную сеть и UUCP. Я сподобился и “украл” у МВЭС серийный номер, который мы втащили в дом (истинная правда, только умалчивается, что АТС, с которой это было утащено, была по своему устройству старее паровоза – это была одна из последних машинных АТС Москвы (Руднев)).

Благодаря стараниям С.Бородько появился модемный пул. Я торговался с некоей страшненькой мадам из Тайваня по поводу цены на эти модемы. Четыре дня ухаживал, кормил, готов был изменить жене, и она сдалась – опустила цену модема на 25 ЦЕНТОВ! Позже призналась, что у нее нет полномочий на большее. Да, это были первые Дискавери.

Здесь уместно сказать о роли С.Бородько в это время. Благодаря его стараниям в кооператив пришли такие люди, как А.Бородько, М.Брюсова, В.Дегтярев, А.Кузьмин, В.Кузьмин, А.Никифоров, А. Кочнов, А.Уткин и многие другие. Бородько сразу нацелился исключительно на коммерческую деятельность. Это человек, обладающий прекрасными организаторскими способностями, связями, достаточно циничен и жесткий – это то, что нужно было, чтобы выжить. Коммерческая деятельность развивалась по нескольким направлениям – установка локальных сетей под ключ, торговля компьютерами и комплектующими.

Благодаря этой деятельности мы разжились первыми компьютерами, модемами. На вырученные средства содержались программисты, развивался узел Демоса. Тогда же появилась наша первая телевизионная реклама – Булгаковский кот сворачивал голову продавцу за то, что тот не хотел импортную технику продавать за рубли... в Демосе эту технику можно было купить именно за рубли.

Было все, и военная прокуратура в том числе. Меня встречал автоматчик недалеко от КИАЭ, забирал паспорт и управлял моим движением – стоять, вперед и т.д. Следователь военной прокуратуры требовал от меня ответа на вопрос, куда делась государственная валюта, данная КИАЭ на приобретение компьютеров. Я отвечал, что в жизни валюты не видел и по 88-й статье не пойду. А кооператив работал бесплатно, делал гарантийный ремонт, а то, что после него остается, нам когда-нибудь дадут, если не обманут... Честно признаюсь, что после шести визитов к военному прокурору я уже такой храбрый был.

Установили E-mail в банк Столичный. Там я познакомился с А.Фирсовым, который убедил нас, что нужно создавать свой банк. Мы согласились. Демос, еще несколько компаний и физических лиц из банка Столичный (обманутые Смоленским) учредили банк Ронекс, и мы поселили его на половине первого этажа дома на Овчинниковской набережной. То были золотые времена. Можно было зайти в банк и без всяких залогов и гарантий под “красивые глаза” получить кредит и ... не вернуть его (это сейчас стаи бандитов носятся по Москве и “вышибают долги”). То же произошло с Ронексом – пришлось продавать банк. Я нашел покупателя – Булочника Б.И. Демос остался совладельцем банка. Сейчас это Мастербанк, который легко перенес кризис, даже расширил клиентскую базу и был в числе очень немногих банков, которые в период кризиса (август 1998 и позже) без задержек выполнял все свои обязательства. Зам. управляющего банка А.Булочник, программист по образованию, с помощью Демоса одним из первых развернул сайт банка в Интернете.

Жизнь началась.
Но очень странная.

Кооператив не зарегистрирован, есть только резолюция Лужкова. Помещение есть, но договора аренды нет!? Я завидую всем, кто сидит в кооперативе у дисплеев. Всем до лампочки. Бардин увлекает программистов перспективами, Бородько, понимая, что ими не прожить, торгует компьютерами.

Итак, все дело в отсутствии договора аренды. Меня знакомят с Председателем Москворецкого исполкома. Только пошел процесс знакомства и сближения, его сын что-то натворил и папу сняли. Я к депутатам. Губите молодую российскую науку. Поддержите нас, и мы будем за вас голосовать. Депутаты поддержали – познакомили с новым председателем Москворецкого Исполкома Толкачевым Олегом Михайловичем. Он из Института Лебедева, все понимал. Срочно переименовали кооператив в Многоотраслевой научно-исследовательский и опытно-производственный кооператив Демос – советская власть еще была, и нужны были основания, чтобы дать какому-то кооперативу здание (как требовал Бардин) с видом на Кремль, площадью не менее 1500 кв метров... После нескольких встреч, Олег Михайлович пошел нам на встречу и дал добро Исполкома на аренду. Я ликовал, но рано. Выяснилось, что договор должен визировать ... Ю.Лужков. Я сказал Толкачеву: “Один не пойду”. И он повел меня в Моссовет. Лужков уже стал Премьером правительства Москвы:

  • Я тебя уже видел.

Дальше – в огромном кабинете на простом русском языке я получил втык за назойливость и настырность.

Чтобы сменить тональность и тему разговора, я предложил Лужкову попробовать сотовый телефон. Быстро сьездил и взял его под залог у Нокии – это был первый сотовый оператор в Москве. Лужков из своего кабинета позвонил по сотовому телефону жене – она его хорошо слышала. Лужкову телефон понравился и он сказал:

  • Кто эти телефоны продает?
  • Нокия.
  • Скажи им, чтобы мне и Гавриле (Гавриил Харитонович Попов) дали по телефону.
  • Есть.
  • Скажите Никольскому пусть выдает кооперативу Демос ордер на аренду дома.

Я мчусь в Нокию и передаю слова премьера. Они мне в ответ – нам помещение не нужно (они сидели на АТС), пусть покупает. Я в панике – телефон стоил 5 тыс баксов, минута разговора 2 бакса... Говорю Толкачеву – весь кооператив будет работать на сотовые телефоны и не сможет их оплатить потому, что Гаврила много говорит... Как я позже понял, эти слова были одобрительно восприняты на Тверской, и договор аренды мы получили...

Распад.
Все шло хорошо. Наступило время больших дел. Бардин познакомился с А.Левенчуком и всей Сухиненковской братией (Ринако), там же в это время Боровой, Хакамада вместе с Левенчуком организовали конвейер по созданию акционерных обществ (они уже все погибли).

Последнее утверждение мне кажется несколько поспешным, еще живы: ВКТ, “Век ХХ и мир” и пока не совсем умерло АО Релком (в последней реинкарнации “Деловая сеть”). (Бардин)

Идея организаторов была прозрачной – за организацию работ, не вкладывая практически ничего, получить контрольный пакет акций компании. В кооперативе это не понимали... Но Релком жив благодаря стараниям А.Солдатова.

Идея была прекрасная – получить деньги на развитие. Бардин был на высоте. Организовал кучу встреч и обсуждений, убедил меня, Бородько, Солдатова, программистов. По семейным обстоятельствам я уехал на 1 месяц в Штаты. Приезжаю и выясняется:

  • кооператив передает все программное обеспечение, здание, серийный номер, микровакс с модемной стойкой, все компьютеры и мебель в АО Релком.
  • члены кооператива получают НЕИЗВЕСТНОЕ количество акций Релкома, которые в тихую несколькими людьми (с Бардиным во главе) распределяют эти акции между членами кооператива, кооператив надо закрывать за ненадобностью. У членов кооператива нет консолидированного контрольного пакета акций, он у организаторов АО.
  • плюс к этому, Бородько сделал ремонт в помещении Релкома и купил мебель.
  • наконец, меня не включили даже в Совет директоров АО – это было уже слишком...

Я провел беседу с С.Бородько – он сразу все понял и поддержал. Встретился с В.Бардиным. Этот человек не умеет отступать – такой характер. Он категорически отказался делать то, что я предлагал. Тогда я решил, что если меня включат в Совет директоров, я смогу изменить распределение акций в пользу членов кооператива и предложил ему выйти из него, а меня включить. Бардин отказался и от этого. Тогда я провел собрание кооператива, на котором сразу поставил вопрос об избрании нового председателя. Оставили меня. Демос вышел из учредителей Релкома. После этого Бардин и ряд ведущих программистов, попавших под его влияние, вышли из кооператива.

А кто и вообще от этого бардака слинял подальше. (Антонов-ст.)

Собственно, вся эта история покрыта до сих пор мраком неизвестности. Да и неважно, кто был прав, и кто кого надул. Старый лис Бородько переиграл старого лиса Бардина (а возможно, и Солдатова) – вот как это смотрелось со стороны. А может, его переиграли. В любом случае, был потерян шанс на создание действительно сильнейшей компании, и сделан первый шаг к потере людей и из Релкома (был еще Релтим, как попытка сохранить их здесь), и наверное из Демоса. (Руднев)

Сегодня никто не оспаривает, что я был прав. Все, кто ушел из Демоса, в Релкоме не работают.

(Ну надо сказать, что и в Демосе почти не работают, но это и понятно – все таки программисты это программисты, менеджеры – менеджеры, а директора – это директора. Хотя дух ОС ДЕМОС остался скорее в Демосе, чем в Релкоме, который сегодня уже Деловая Сеть и будущее которого сегодня вообще никому не понятно). (Руднев)

(Нда, где дух-то оставался, так это в Pluris-е пока его американский совок не заел. Тусовка была ну очень похожая, пока не разбежалась. Ну да будем еще пробовать). (Антонов-ст.)

(Ха, я сейчас наблюдаю этот дух у ребят от РЕЛКОМ-а с Украины, которые здесь, в Калифорнии окапываются. Этот дух универсален, к Демос/Релком-у отношение имеет как к месту, где творчество живет (жило). И чем-то аналогичным сильно тянет с LINUX-ной команды, сейчас – с PALMPILOT-овской тоже) (Егошин)

Действительно, в РЕЛКОМе остался только Руднев. А в ДЕМОСе из бывших учредителей только Коротаев и Машечкина? (Бардин)

Остался А.Руднев. Но ему не важно какого цвета кошка, лишь бы мышей ловила и были бы хорошие компьютеры...

(что тоже неправда, другое дело, что директорские посты тут не при чем – сегодня уже совершенно другой бизнес и чтобы им заниматься, нужно быть бизнесменом, произошло то, что и должно было произойти. Другое дело, что создатели Релкома не получили ничего, кроме морального удовлетворения, но это тоже, думается, не исключение в этой стране). (Руднев)

Все директорские посты, которые были обещаны Бардиным ведущим программистам, заняты сегодня другими людьми... Некоторые вернулись в Демос... Нет в Релкоме и самого Бардина, но это другая история...

В РЕЛКОМ-е надо было творить, как в Демос-е было до раздела, а не только налаживать сервисы и решать легальные проблемы для извлечения денег из кастомеров (как при Бардине), или развивать канальную сеть (как при Буркове). Тогда может бы и был шанс удержать людей без больших денег. Вадик бысто просек возникающие проблемы и слинял. Я вот из Протвино долго надеялся, пока жизнь не прижала. (Егошин)

Нужно сказать, что логотип Релком принадлежит компании Демос. Заявка была подана еще до организации АО Релком.

Слово Релком, как название сети, объединявшей множество организаций СССР, не принадлежало никому. Логотипы с использованием слова регистрировались. Сегодня чаще говорят о российском участке сети Интернет. По понятным причинам мы не могли использовать это словосочетание в 90-ом году. (Бардин)

Потом с этой заявкой стали происходить чудеса. Во ВНИИ ГПЭ папка с заявкой была, а документы из нее постоянно исчезали. У меня с М.Коротаевым, который ушел в Релком, произошел интересный разговор, в котором я сказал, что АО можно засудить и закрыть, поскольку они пользуются чужим именем, на что Миша ответил – “нно и у вввас его ннет”... Я подготовил новый комплект документов, нашел порученца, который не выпуская документы из рук, собрал все подписи, и компания Демос получила права на логотип Релком. Миша Коротаев вернулся в Демос. Анатолий Левенчук по поводу логотипа сказал – это проклятие Релкома. Да, действительно, у Релкома можно очень много получить за этот логотип ...

Через некоторое время после этого я попал на операционный стол и в течение двух лет перенес четыре полостных операции... Сергей Петрович Бородько подхватил компаниию и сделал из нее то, что сегодня чествуют...

Тут тоже не обошлось без курьезов. В 1997 году С.Бородько спросил меня:

  • Ты мне доверяешь?
  • Конечно!

Он пригласил Р.Попову и И.Мазепу, и я в их присутствии подписал доверенность С.Бородько на проведение собрания кооператива. Кооператив был преобразован в компанию Демос, которая учредила ЗАО Демос/Интернет. Только почему-то ни в компании Демос, ни в ЗАО Демос/Интернет меня нет в учредителях. Про меня забыли... Что и требовалось доказать. Доверяй, но проверяй.

Но зато _мир тесен_ – даже при таком раскладе все время встречаешь людей, причастных к этой истории. Например, есть ли связь между Демосом и журналом “СОЛДАТ УДАЧИ”? ЕСТЬ! А стоит попасть в Калифорнию – и начинаешь думать, не попал ли ты снова в старый ДЕМОСс старым ОС Unix – так много народу из этой истори сегодня работают там. (Руднев)

Блин, тут вообще много творческих ребят из exUSSR навалом. Вадик прав наверно – потенциальная яма какая-то... (Егошин)

Кто работает, а кто и выход на пенсию репетирует :) (Антонов-ст.)

Честно говоря, я не совсем понял тему письма про “ВСЮ ПРАВДУ”. Речь идет: о воссоздании истории ОС ДЕМОС, МНИОПК ДЕМОС, РЕЛКОМа или это описание жизненного пути Михаила Изгияевича Давидова? По моему мнению, каждая из перечисленных тем вполне достойна отдельного внимания. К сожалению, мне не удалось уложить все замечания в рамки предложенного канона. У меня это будет 3-4, пусть даже очень связанные, темы. Заметки несколько сумбурные (по известным вам причинам :-)), вовсе не претендуют на полноту и совершенно не годятся для справедливого распределения медалей.

М.И. Давидов

Заслуги его неисчислимы (без всякого юмора). Организация кооператива “Демос”, формирование одного из немногих по-настоящему творческих коллективов – ИПК Минавтопрома, организация системы обучения, которой мы обязаны появлению большей части второго и третьего поколения российских “Юниксоидов”, реальное участие в создании первых версий Юникса, пригодных к работе на наших территориях и многому другому. Что касается “недооценки заслуг”... В наше время “раскрутка” зависит только от затрат на рекламу.

До ДЕМОСа

В Институте Курчатова интерес к мобильным системам возник в конце 70-х, задолго до появления первых лент с ОС UNIX. Инициатором этого направления был М.И.Паремский (тогда руководитель группы, сегодня известной как “команда из Курчатовского”). По Москве бродили фрагменты различных UNIX-ов. Часть материалов циркулировала свободно, часть была надежно припрятана “хозяевами”. В Протвино (точнее в каминном зале Дома ученых, Протвино) состоялась историческая сходка любителей системы. Там было решено собрать из того, что имелось, нечто путное и распространить. Прежде всего мы хотели обесценить “тайные архивы” и привлечь к работам новых людей. Ленту собирал Леня Егошин, кто-то (кажется Маслов) предложил название проекта – “Унас” (впрочем, оно не прижилось).

Название УНАС предложил Осовик: у них – Уних, а у нас – Унас. (Егошин)

ОС “Демос”

Название придумано В.В. Васильковым (преподаватель МИФИ) для первой “официальной” адаптации ОС UNIX, разрабатываемой сотрудниками ИАЭ им. Курчатова и НПО Центрпрограммсистем в 1984 году. В это время кафедра ИПК Минавтопрома (под руководством Давидова) разрабатывала конкурирующую версию – МНОС. Надо сказать, что битва амбиций в то время никак не мешала программистам соперничающих фирм обмениваться результатами своих работ. Так, в системе было немало компонент, которые адаптировал Вадим Антонов, поправил Алексей Руднев и т.д. в любом порядке. При сдаче версии осенью 1984 года возникла этическая проблема. Я позвонил Михаилу Изгияевичу, и мы сошлись на том, что он называет сотрудников ИПК, которых нужно включить в список авторов системы, что и было сделано. Как потом оказалось, этот факт остался неизвестным сотрудникам ИПК. Через неделю после сдачи мне позвонил Вадим Антонов, который пожаловался на то, что ДЕМОС “переиграл” МНОС. Я, как мог, объяснил ему, что ситуация обратная: авторы ДЕМОСа – они только авторы ДЕМОСа, а МНОС-овцы теперь создатели обеих систем.

Процедура Госприемки ДЕМОСа выглядела довольно странно. Инициативная группа (работа была неплановая) сдает Государственной комиссии под председательством академика Наумова – систему ДЕМОС. При этом ИПИАН (директор Наумов, он же глава отделения информатики АН СССР) в случае успешной сдачи теряет финансирование ГКНТ и, соответственно, И.И.Малашинин (директор Курчатовского Отделения – наш начальник) – не становится членкором. Система была принята без замечаний...

Однако битва МНОС и ДЕМОС продолжалась. Одновременно с этим совершенствовалась система взаимодействий “враждующих” коллективов.

В 1985-ом повезло Курчатовскому. Из совершенно секретных источников (точнее, от Коли Сауха), мы получили дистрибутив 2.9bsd. Перспективы открывались широченные. Помню только, как притащил в ИПК рюкзак с копиями и сказал “историческую фразу”... Не помню какую, но что-то вроде “хватит, давайте работать вместе”. Так началась история системы ДЕМОС-МНОС (ДЕМОС 2.x), которая умела работать в двух кодировках КОИ-8 и ЮКОД (про единственно правильный код мы так и не договорились).

Началась адаптация и подготовка к сдаче Госкомиссии и создание нового комплекта документации по ЕСПД – высшая форма издевательства над программистами. Летом 1985 года комплект документации (33 тома, или брошюры) успешно прошел нормоконтроль Центрпрограммсистем...., но не был принят авторами, усомнившимися в качестве продукта. Началась переделка документации. Все участники этого процесса, как мне кажется, сохранили воспоминание об этой деятельности до сих пор.

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

Через год к нам обратились представители ИПИАН с предложением оформить премию Совмина всем создателям ДЕМОСа при условии, что им дадут пять мест из 25. Мы согласились. Правда, в последний момент (естественно, с согласия сторон), академик Наумов был исключен из списка, в связи с необходимостью признания заслуг Д. Буркова.

Зачем это было нужно? Во-первых, это было смешно, представьте себе внешне асоциальную и довольно живописную компанию молодых людей (Был такой случай, когда именно эта живописная группа молодых людей возвращалась из командировки в Архыз – там обсерватория с агромадным оптическим и радио- телескопами. Мы ездили, естественно, устанавливать, внедрять и обучать ДЕМОСу. Помимо этого, мы лазили по скалам и по пещерам, купались в ревущем Зеленчуке – у некоторых на лице в виде синяков присутствовали доказательства альпинистских и спелеологических подвигов. Так вот, когда в ожидании самолета в Москву, мы всей группой (большинство из которой были лауреатами премии Совмина СССР) сидели на скамеечке в Пятигорске, на нас весьма выразительно поглядывала милиция, а к Бардину подошли какие-то парни стрельнуть травки :-) (Мазепа)), наделенных правом претендовать на звание персональных пенсионеров районного (а может быть и областного) масштаба. Во-вторых, с момента “признания заслуг” перестали разгонять лабораторию в Курчатовском. Кроме того, премия открывала хорошие перспективы личного карьерного роста, но, насколько я знаю, этим благом никто не воспользовался.

(...)

Кроме бюрократических побед были и моральные. Так, например, совместно с Новосибирским филиалом ИТМиВТ (группа Сердюка), С.Вакуленко, Д.Володин (компилятор), Рыжков (ассемблер) и С.Аншуков (версия системы для переноса), была создана версия ДЕМОСа для Эльбрус1 К2 (интегральный вариант БЭСМ-6). Значимость этого события удалось понять через год, когда Курчатовский Институт удостоил своим визитом текущий идеолог Сайбера (?). Сопровождал его лично Велихов, которого в свою очередь сопровождали сопровождающие лица. Гость откровенно спал на семинаре и оживился только когда увидел Эльбрусовские шкафы. Он бегал между стойками полтора на пять метров, рассматривал платы и почти со слезами на глазах вспоминал, как он тридцать лет назад, вот так же... Потом, мимоходом, спросил про операционную систему – UNIX, отвечаем... Он побежал к дисплею, что-то потыкал ... “А кто сделал?”. “Много народу” – отвечаем, – “компилятор..., вот..”. Тыкаем в Вакуленко, торчащего у соседнего дисплея в позе оператора. Господин потерял интерес к железу и начал рассматривать С.Вакуленко. После чего, без всякой спеси, грустно сообщил: “А мы для последней машины UNIX еще не сделали, финансовые проблемы...”. Велихов как-то увеличился в размерах, а всех остальных и вовсе раздуло от гордости за бесплатного Вакуленко и за всю нашу страну.

... (потом много чего...)

Версия для СМ-1700. Три недели работ по локализации. Машина (согласно ТЗ) – полный аналог VAX-730, поэтому и сдавали на VAX-730. Потом звонок Остапенко из Вильнюса, – “Приезжайте немедленно, горит госздача СМ-1700, нужен ДЕМОС”. Приезжаем, с Аншуковым. Ночью запускаем систему с приветствием на литовском языке. Госкомиссия, солидные люди, представитель заказчика (МАП, в галстуке с медалью лауреата), все время косится. Доходит дело до нас – встает этот с медалью и заявляет, поскольку авторы мол хорошо знакомы заказчику, система не вызывает сомнений и считается принятой без испытаний. На выходе сталкиваюсь с этим человеком, оказывается парень с завода Сухого, они нам VAX по ночам давали. Довольные едем обратно... (Интересно, вот если бы сейчас кто-нибудь предложил покататься за свой счет и чего-нибудь поставить?)

(...)

Наступила эпоха “сплошных побед”. ДЕМОС объявляется общим названием для всех Юникс-совместимых версий стран – членов СЭВ. Минприбор издает указ об обязательном снабжении ДЕМОС-ом всех новых машин. Скорость локализации все увеличивается... В общем, с этой деятельностью нужно было срочно завязывать.

МНИОПК ДЕМОС

К моменту организации кооператива “Интерфейс”, существовала вполне дееспособная и неплохо “раскрученная” команда, имелся опыт разработки, оформления и сдачи “промышленных” продуктов. ОС ДЕМОС продавалась НПО ЦПС, но изготавливалась непонятно кем – т.е. “группой частных лиц” (денег за это, естественно, не полагалось). Появление юрлица было очень кстати и прошло для нас почти незамечено, в том смысле, что всю организационную работу проделал Давидов. Маслов быстро втянулся в коммерческую деятельность. Начал убеждать меня (я думаю, не только меня), что занимаемся мы явно не тем, что нужно переключиться на что-то другое (не помню..., кажется на источники питания). “Развод” прошел без особых проблем. Была согласована сумма долга Интерфейса будущему кооперативу и все. Мы потеряли Шаронова и Скукина (АЗЛК), которые больше верили в Маслова. Давидов делал новый кооператив. Старт был неплохой, теперь, кроме версий ДЕМОСов, имелась вполне приличная сумма денег и помещение “с видом на Кремль”. Где-то в этот период у меня появилась замечательная мысль – привлечь в кооператив “аппаратчиков”. Отчасти это было связано с идеей двигаться в сторону системной интеграции, отчасти прекрасным впечатлением, которое сложилось за время работы с Бородько и его командой в Курчатовском. Вскоре помещение на Овчинниковской пополнилось еще одной бригадой. Вначале все складывалось неплохо. Еще продавались ДЕМОСы, зарплата в кооперативе когда в 10, когда в 50 раз превышала ту, что мы еще получали в Курчатовском. Особых конфликтов не было. Программистская часть кооператива постепенно втягивалась в разработку сети...

(...)

К 1991 году кооператив, как форма совместного владения имуществом, себя полностью исчерпал. Можно было переделать его в ТОО, имеющее более полусотни “хозяев”, или поучаствовать в новой форме приватизации госсобственности, т.е. создать акционерную компанию из своего ноу-хау, госимущества и денег Ринаки.

Кто был прав, не знаю до сих пор. Тогда поиски наиболее справедливых способов деления коллективной собственности велись повсеместно. Правда, результат во всех случаях был один. У нас истинным хозяином всегда был и остается человек с круглой печатью. (Бардин)

Естественно, я не один раз анализировал, можно было бы что-либо изменить, сделать иначе. Учтите, что в своей преподавательской деятельности мне приходилось читать такие курсы, как исследование операций, теория принятия решений, экономико-математические методы. Примерно 1992 г. по направлению СП Диалог я прослушал курсы по бизнесу, который читали профессора Копенгагенского университета. Позже я принял активное участие в успешном выводе ADR АО Вымпелком (БиЛайн) на Нью-Йоркскую биржу. Имея уже некоторое представление о рыночном механизме и конкуренции, акционерном капитале и основах управления, я по-новому посмотрел на судьбу Демоса и, как это не смешно, пришел к негативному выводу. Иначе и быть не могло. Мы все были программистами, а не бизнесменами. Мы не понимали рыночной экономики, ее специфики. Где-то в 1993 году СП Диалог пригласило Б.Гейтса (СП первым в стране стало платить за DOS и легально его распространять), который выступил с лекцией. Было много народу, в том числе и юниксоидов. Слушали его с иронией и усмешкой. Владелец купленного в Силиконовой долине DOSа и соавтор Бейсика не вызывал у нас ничего, кроме презрительной усмешки...

А он уже знал, что станет самым богатым человеком, он знал, что впереди миллионы примитивных юзеров, и что их заставят через каждые полтора-два года покупать новые компьютеры и учиться, учиться... Он знал это, вырос в капиалистической стране и умел то, чего не умели мы – работать на рынок, идти не вопреки ему, а за ним.

Обратите внимание, раскол в Демосе произошел в среде программистов не по вопросам системного программирования, а по вопросу организации. В любом случае, если бы нам хватило рыночной компетентности, мы бы не упустили случая создать лучшую в стране программисткую компанию. Может быть еще не поздно все начать сначала...

1998 год – Россия опять “во мгле”. Надо Бардина запустить в Думу, он научит политиков писать программы и они перестанут “заниматься” страной, от чего мы только станем жить лучше. Наша большая Россия на самом деле очень маленькая (например, в Пакистане население что-то около 200 миллионов), но амбиции большой страны остались.. Сейчас в США я занимаюсь инвестициями и часто получаю предложения из России – “дайте нам 100 миллионов и мы через год вернем вам 200”. Не дадут. Только на опционах в США за один день можно получить доходность 100% (правда, так же и минус 100%) и с меньшим риском. Не получит Россия денег, все надо делать самим. Сейчас время скромных, высокоорганизованных, работающих в условиях острой конкуренции и низкой платежеспособности компаний.

Закончить хочется словами Ю. Шевчука: “Что будет с Родиной и нами?”

Справимся ли?

Интернет. Фантазии на тему.
В заметках по истории Демоса мне сильно хочется пообщаться по поводу того, что все, кто их читали, так или иначе ПРИЧАСТНЫ к Интернету, кормятся им и думают о нем. И, наверняка, кто-либо из этих людей станет звездой Номер Один в этой области.

Это будет автор уникальной программы? Это будет разработчик уникальной железки или уникального метода? Или это будет уникальный бизнесмен? Не знаю. Но по комментариям вижу – все интересы сводятся к интернет-технологиям. Ну, понятно, технология постоянно будет развиваться, будут прорывы, например, типа ICQ (кстати, сегодня это второй продукт по распространению после Окон).

Вопрос, однако, в том, что Интернет это существенно больше, чем просто технология. Я берусь высказать несколько странных суждений. Начнем с того, что курица никогда не разбирается во вкусе яичницы... и мне сильно хочется перейти на сторону тех, кто ест яичницу...

Далее телеграфом.

  1. Все средства массовой информации (радио, газеты, журналы, телевидение) перейдут в руки ISP.
    Денег у них будет море... Откуда? Конечно, не от продажи подключений (скорее всего, подключаться к Интернету и юзать его будут бесплатно, так же, как мы сейчас слушаем радио), и даже не от разработки и сопровождения сайтов, баннеров и т.д. Деньги будут от торговли и рекламы. Позже добавятся деньги от телевидения и всего энтертаймента...

Несколько простых доказательств. В США есть такая компашка amazon.com – всего-то торгует книжками и музыкальными дисками (правда в базе данных и того и другого буквально десятки миллионов). Ну, в общем, это то, что мы называем E-commerce. Акции этой компании поднялись в цене с 20 долларов до 470 за 1 год... Сейчас, правда, начали падать – перегреты. Еще одна компашка eBay.com (произносить прошу точно по-английски:) тоже подскочила с 18 долларов до 300, только за 7 месяцев... Наш любимый Yahoo! Его акции доходили за этот же год до 400 долларов. Каждый месяц на бирже появляется несколько новых компаний от Интернета, и акции немедленно расхватываются. Что совсем убивает – все эти компании показывают мизерные прибыли или даже вообще убытки. Аналитики в шоке и постоянно предсказывают жестокое разочарование инвесторам, но акции растут и растут. И это не безумие американцев. У них нюх. Такие же бумы были по акциям автомобильных фирм, изготовителей полупроводников, компьютеров, телевизоров, сотовых телефонов. А что, собственно, им нюх подсказывает?

В ИНТЕРНЕТЕ ВСЕ СТОИТ ДОРОЖЕ, ЧЕМ В МАГАЗИНЕ. Раз дороже, значет прибыльнее. А почему дороже? Ты пришел на сайт и увидел мясорубку, которая тебе нужна. Нажал кнопку, заплатил, через три дня тебе привезли мясорубку домой. И ты не пойдешь в магазин сравнивать цену! Некогда, да и кайфа нет... Люди платят за удобство и кайф большого выбора у себя дома – такой дома виртуальный магазин ВСЕГО... Американцы обожают платить за сервис (удобство), у меня такое ощущение, что в США всего два бизнеса – сервис и все, что не сервис...

Практически все разработки, исследования ведутся иностранцами. Я живу рядом с кампусом Майкрософта, с некоторыми людьми знаком, некоторых часто вижу на улице и в магазине. Людей из России там около половины процента. Что удивительно – появляется все больше и больше программистов индусов... Так, что, если вы в комментариях к программам увидите непонятный английский сленг – смотрите словари из Индии. В кремниевой долине появилось так же огромное количество израильских фирм (что не удивительно) и появляется все больше индийских (что удивительно). Когда дело касается разработки, создания новой технологии, нового оборудования, американцы очень интернациональны – заплатили денег и, гуляй, Вася – прибылью от реализации с вами не поделятся... Боинг, например, на разработку самолета 777 набрал по всему миру около 10 тысяч! специалистов. Потом, когда они сделали, испытали и запустили в производство самолет – почти всех уволил...

Важно – к владению серьезным бизнесом в сфере услуг (коим и является Интернет) вас не допустят...это тумбочка, где деньги лежат...

Итак, Интернет попал в сферу американского быта (значит и сознания), значит на это направление деятельности будут брошены все национальные менеджеры – они это умеют. Точнее – менеджер – основа американского процветания.

  1. Итак, Интернет становится местом приложения сил самой мощной отрасли США – менеджеров.
    К чему это приведет? Интернет в США будет принадлежать трем или четырем монстрам. Два или три уже есть – это AOL, WorldCom, возможно Майкрософт, но не сам, а в лице компании Teledesic (это ЗАО (LLC), у физлица Билла Г. там ок. 35% акций). Года три-четыре (может быстрее) эти монстры будут “расписывать” Америку (и северную и южную), потом придут в Европу и скупят там все на корню (по моим подсчетам Европа сейчас даже от России отстает, я имею ввиду Интернет) и МОГУТ ЗАГЛЯНУТЬ В РОССИЮ – от наших провайдеров останется кучка мелких миллионеров (человек 5 – 10)...

Следующая фаза участия работы менеджеров – превращение Интернета в Макдоналдс! – типовой узел, типовой сайт, типовой голос дежурного на телефоне – про одежду, рекламу и пр. я не говорю.

А это для размышления, господа программисты – попробуйте внедрить новое блюдо в Макдоналдс. Нет, ставим задачу помельче – попробуйте добавить пуговицу к костюму уборщика... Российские бюрократы вам покажутся мелкими попрошайками – вы получите, как выразился В.Антонов “американский совок” и учтите – “у нас в Техасе все большое”!

  1. Интернет убьет PC...и, конечно, Windows. В любом случае – это будет другой Windows...
    Добавляем к броузеру табличный процессор, остальное есть и прошиваем его в чип стоимостью 20 долларов. Ну, почти Нинтендо!

Такая фиговина напрочь убивает ОСы на персональных машинах (кстати, посмотрите на Gecko у Нетскейпа). Зачем вам персональня ЭВМ, когда вам дают персональную страницу на сайте... А на этом сайте есть все и комплексы программ и базы данных и средства мультимедиа – загрузил и радуйся. Добавим, что там все программное обеспечение всегда в апгрейтанном состоянии...и консультацию по любой программе можно сразу (ICQ) получить. Зачем покупать Microsoft Office за 400 долларов, когда можно взять его в сети на прокат за смешные деньги... Не-а, я ничего не придумал. Следите за National Semiconductor. Они купили в Израиле фирму, которая разработала гибридную аналогово-цифровую интегральную схему – в одном чипе вся PC. Чип размером меньше PII, стандартные разьемы занимают больше места (значит стандарты поменяют). Мы всегда знали, что будущее за аналоговыми машинами – они работают в реальном времени.

Программисты только-только по-настоящему подобрались к обьекту (обьектно-ориентированные программы) – в аналоговых машинах просто было нельзя иначе – вот, уж действительно все новое, это хорошо забытое старое...

  1. Самая переспективная железка – это роутер.
    Нет роутера – нет Интернета. Тут вам Вдим Антонов может часов на 200 лекций прочитать. Пока в этом месте кучами гребет деньги Cisco (3COM она выкупила) и что то конкурентов не видно. Любая свежая идея в этом деле – миллионы долларов прибыли...
  1. Интернет станет мобильным.
    Фиговина с TFT экраном размером с А4, с встроенным радиомодемом – ее фотография уже появилась в Popular Scince N2, 1999 (www.popsci.com). Не подумайте, что не хватит частот (есть белый шум и ортогональные полиномы), не подумайте, что это дорого – я это точно знаю по БиЛайну, каждый новый сотовый телефон во второй сотне тысяч дешевле проводного – нет затрат на “последнюю милю” – в кабельной телефонии затраты на последнюю милю растут пропорционально количеству телефонных аппаратов, в радио и сотовой телефонии их просто нет.
  1. Все пуш-технологии и IP-телефония от бедности и от лукавого – все умрет...
    Поверьте, у меня есть, по-моему, два авторских свидетельства на устройства сжатия информации. Смотрите, Гейтс вложил деньги в Teledesic. Не подумайте, что это новая компания – ей уже больше восьми лет... За это время компания истратила около трех миллиардов долларов на исследования и разработки. И учредители в компании неслабые – Боинг, Моторолла, Гейтс, Мак-Кой, какой-то Саудовский шейх и задача у компании “очень простая” – в любой точке земли (исключены, правда, полюса) дать юзеру Интернета 2 мегабита/секунду – это ровно столько, сколько нужно цифровому телевидению... Что там говорили про бэк-боны? Да, и это помрет за ненадобностью. Чтобы не отвлекать вас рассказом про Teledesic, сходите на www.teledesic.com там, кстати, можно и на работу устроиться – берут всех, кто чего-то стоит... В этой связи целесообразно обратить внимание на то, как развивается NT – у Гейтса для Майкрософта только один способ выживания – сделать NT основной узловой системой – зачем ему столько денег, где он их складывает и когда до него доберутся наши рэкетиры?
  1. Кто кого купит?
    Банки купят Интернет или Интернет купит банки? Сейчас на корню меняется фондовый и финансовый рынки и технология работы на них. Появились мощные, хорошо организованные электронные торговцы бумагами, деньгами, золотом и т.д. Все паевые фонды, брокерские компании переживают жестокий кризис доверия клиентов.

КЛИЕНТ ТЕПЕРЬ САМ МОЖЕТ ОТДАВАТЬ ПРИКАЗЫ НА ПОКУПКУ И ПРОДАЖУ БУМАГ, сам формировать инвестиционный портфель, работать в реальном времени биржи, что раньше ему было недоступно. Например электронный брокер E*Trade (www.etrade.com) только в 1998 году набрал около 600 тысяч клиентов (У Шваба их миллион 600 тысяч), каждый из них платит 20 долларов за сделку. Примерно пятая часть (ок. 100 тысяч) работают активно – от одной до пяти сделок в день – другими словами компания получает с каждого из них примерно 50 долларов в день! Это только часть дохода. Клиенты хранят свои деньги и акции у электронного брокера, он, в свою очередь, работает как обычный банк – как у нас говорят “крутит деньги”, кредитует клиентов под акции и т.д. Ну и что, скажете вы. А вот, что. Электронный брокер имеет прибыль большую, чем обычные банки! Вопрос времени – они скупят всю финансовую систему мира...

  1. Голосовать будем дома.
    Клинтон и Гор сами кладут в школе витую пару – это видела вся Америка. С чего бы это? Поговорите с любым имидж-мейкером – он подтвердит – успех в выборах зависит от индивидуального предпочтения – есть мотивация – изберут Жириновского президентом США. Если в каждой семье есть доступ к Интернету, то огромные возможности формирования мотивов поведения избирателя. Политики это уже поняли. У нас первым – Немцов. Для чего я об этом пишу – ISP перехватят часть бюджетов избирательных компаний на себя, позже будут диктовать условия политикам...выдвигать своих, “глушить” чужих...
  1. Интернет сам себя и убивает.
    Чем больше сайтов, тем выше энтропия – загаживание информации – это головная боль человека 21 века. Берусь утверждать – любая работа, направленная на снижение энтропии сети имеет шанс на процветание. Поисковые серверы современного типа задачи не решают. Нужны средства поиска информации по нечетким запросам, нужны роботы-чистильщики информации, нужны персональные средства актуализации данных. Интернет будет полезен только тогда, когда в нем будет чисто и все разложено по полочкам... Перечисление можно продолжить, но думаю, этого достаточно, чтобы понять как далеки мы от интернетовских денег. Чтобы получить хотя бы крохи, нужно делать то, что нужно “Макдоналдсам” или самим стать им.

Я делал три попытки как-то сдвинуть воз в России – все мимо.

Первая случилась неожиданно для меня. Позвонили из Российской Газеты и по телефону взяли интервью по поводу будущего Интернета в России. Я жаловался, что если государство не откроет финансирование для Интернета, он весь окажется в руках иностранных компаний, что уже сейчас ведущие специалисты перекупаются и работают в США, что нужна срочная поддержка государства и т.д. В то время редактором газеты была некая коммуно-патриотка мадам Полежаева (я этого не знал) и вдруг выходит мое интервью под заголовком “Спринт или спрут” Представляю какие неприятности пережили все наши, которые работали на Спринте...Я пошел к большим людям с жалобой. Мне сказали – не суетись, успокойся вопрос давно решен. И действительно, примерно через месяц в газете был назначен новый редактор.

Через некоторое время я сделал две вещи – написал некий план развития (он есть и Белом Доме, и за Кремлевской стеной) и запустил лоббиста. Этот план в общих чертах я обсудил с А.А.Солдатовым и С.П.Бородько, получил поддержку. Посоветовался с другими людьми. Мне предложили профессионального лоббиста, который принялся за работу. Были встречи с Чубайсом, Немцовым, Старовойтовым, с президентом Академии наук, с Беловым (Ростелеком), в двух комитетах Думы и много других. Всюду поддержка. Против один человек – господин Булгак. Не вдаваясь в подробности, скажу, что его предложение сводило к нулю роль действующих в стране ISP, вся власть и права передавались связистам, в государственных субсидиях по плану Булгака нужды не было. И это при том, что с Чубайсом удалось в принципе договориться о льготном налогобложении всех интернетовских бизнесов... Долго мне на ум не приходили причины, вызвавшие позицию Булгака. Разьяснили грамотные люди – началась драчка кланов за влияние в этой сфере бизнеса. Не хочу называть имена главарей этих кланов – вы их хорошо знаете, и драчка еще не закончилась... Тогда еще работал Черномырдин – через советника вышли на В.С. – он сказал, что в этом деле все вопросы должен решать Булгак – круг замкнулся. Черномырдина нет, а Булгак есть...

Теперь все зависит от того, кто будет новым президентом России. Берусь доказать, что ни один из динозавров (Черномырдин, Лужков, Примаков) им не станут и готов поспорить на ящик водки (davidov@earthlink.net), что новым президентом будет избран Н. С. Михалков. Он молод, красив, умен, талантлив, славянин, дворянин, патриот, имеет мировую известность, вся его харизма усеяна яицеклетками, дамы по нему текут уже лет тридцать и, даже, если все мужское население проголосует против, дамы его изберут – их больше... нужно налаживать контакты в киношном мире...

Последнюю, третью, попытку я сделал совсем недавно – идея была простой: соединить ГПКС (Госпредприятие космической связи), Останкино (Технический центр), ВГТРК, РИА-НОВОСТИ, Российскую газету в одного ISP. Все шло “как по маслу”. Большой интерес к проекту проявил WorldCom (uunet). Все дали добро, началось финансирование – речь шла о нескольких десятках миллионов долларов. Потом “случилось страшное” – Б.Н.Ельцин вышел из больничной засады и сменил Черномырдина на Кириенко, потом август и т.д. – все посыпалось, людей жалко. И что это у нас все по августам происходит? Хоть в отпуск не ходи... (в августе 91 в пять утра мне позвонила с Урала Наташа Васильева и говорит: “М. И., у нас в стране переворот” – там радио раньше работать начинает...)

Теперь вкратце суть моего плана (кстати, названный выше лоббист так с ним и бегает по коридорам, но уже называет себя Отцом российского Интернета).

В основе лежала идея создать Общественно-государственный фонд РосИнтернет с задачами:

лоббировать интересы в госструктурах;
защитить разработчиков от нужды;
сделать исследования, связанные с Интернетом, официальными, с отдельной специальностью для защит диссертаций;
за счет бюджета в нескольких вузах открыть новые кафедры и специальности;
издавать несколько научных журналов (без рекламы);
создать НИИ для проектирования структурной части Интернета (каналы, шлюзы, железо);
создать свой банк (Онэксим, Мост, Менатеп, Внешторгбанк сразу начали борьбу за долю в этом банке – планировался уставный капитал в размере 300 млн долларов);
создать венчурный фонд, деньги фонда направлять на исследовательские работы;
проведение конференций, учеб, семинаров, организация разработки и утверждение драфтов и стандартов;
создать несколько (по числу областей и регионов России ) акционерных обществ с участием фонда и местных провайдеров, открыть для них льготное налогообложение и кредитование;
создать свою Финансово-инвестиционную компанию для нормального развития акционерного капитала и раскрутки акций на биржах в стране и за рубежом.
И много чего другого – но суть просматривалась сразу – это должно было быть не меньше, чем РАО ЕС и стоить не дешевле. И уж если бы пришлось продаваться “Макдоналдсу”, то, поверьте, очень дорого...

Почему дорого?

Смотрите – Ростелеком брался соорудить бэкбон и шлюзы по всей стране. ФАПСИ давало высотку на проспекте Вернадского и часть своих емкостей по всей стране. МО, при условии трудоустройства уволенных со службы специалистов, соглашалось предоставить частоты и емкости по регионам России. Связьинвест брался решить вопрос повременки в регионах. АН РФ открывала новое отделение, и много чего другого...

Я глубоко убежден, что сверхзадача всех провайдеров (если ничего не изменится) готовиться к продаже бизнесов и продаться как можно дороже. Как это сделать – это отдельный разговор, а сейчас у меня болят пальцы – стучу по клавишам третий час...

Да здравствует Демос!

Давидов
декабрь, 1998
(могу только присоединиться) (Руднев)

(аналогично) (Антонов-ст.)

(Хм-м, я думаю, что все-таки вместо пения здравиц по старым делам, стоит делать новые. Хотя, если в смысле – “Да здравствует дух Демоса” – то я тоже присоединяюсь) (Егошин)

(Лень, пусть, все-таки, здравствует ДЕМОС! А дух Демоса всегда здоров – просто его теперь по многим местам можно унюхать.) (Мазепа)

Я поздравляю всех учредителей и сотрудников МНИОПК ДЕМОС с десятилетием со дня создания кооператива, желаю здоровья и счастья. (Бардин)

 311   10 mon  

Linux UX improvements

1 – Fish as a shell. I like the fact that out of the box it does what it should do and what I configure in Bash. And I like abbreviations.

2 – ripgrep which is faster grep

3 – Bat which is a way better cat

4 – ???

5 – lolcat!

 67   2018   linux

My Android speedup tuning

Putting notes not to forget.

Case: Sony Xperia Z5compact is very slow and become hot on even a minor usage. After reading a lot of articles in the internet:

  • turn off image enhancement in settings.
  • change launcher to Microsoft Arrow. I really like it and it’s light.
  • in Developer Mode: limit background processes to 4 (20 is default), force GPU usage for everything (2 related settings).

Actually the main reason why the phone is slow is that the Android available for this model (Greece Vodafone) is 6.0 and there is only 2 GB RAM onboard. 50% of it is used by “Android System” :-(

 1 comment    46   2017   android   linux

Simple fail2ban log file parcer

I have written simple fail2ban log file parcer in Golang that finds banned IPs, makes a struct with date, time and IP and a map with IP as a key and count as a value. I am thinking of nmapping the values I’ve got and making a report out of them.

package main

import (
    "bufio"
    "fmt"
    "regexp"
    "os"
)


type record struct {
  day string
  time string
  ip string
}

type ip struct {
    ip string
    count int
}

// Checking most calls for errors.
// This helper will streamline our error checks below.
func check(e error) {
    if e != nil {
        panic(e)
    }
}

//reading file to array of lines

func readLines(path string) ([]string, error) {
  file, err := os.Open(path)
  check(err)
  defer file.Close()



  var lines []string
  scanner := bufio.NewScanner(file)
  for scanner.Scan() {
    lines = append(lines, scanner.Text())
  }
  return lines, scanner.Err()
}


func main() {

lines, err := readLines("./fail2ban.log")

  var log_records []record

if err != nil {
    fmt.Println("readLines: %s", err)
  }

//date
  dr, _ := regexp.Compile("[0-9]{4}-[0-9]{2}-[0-9]{2}")
//time
  tr, _ := regexp.Compile("[0-9]{2}:[0-9]{2}\\:[0-9]{2},[0-9]{3}")
//IPv4 address
  ir, _ := regexp.Compile("(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$")
//"Ban"
br, _ := regexp.Compile("Ban")
ip_map := make(map[string]int)

var j int
j = 0

for i, line := range lines {
  if (br.MatchString(line) == true){
    var tmp record
    log_records = append (log_records, tmp)
    log_records[j].day = dr.FindString(line)
    log_records[j].time = tr.FindString(line)
    log_records[j].ip = ir.FindString(line)
//count unique IPs
    ip_map[log_records[j].ip]++
    fmt.Println("Log line:     ",i)
    fmt.Println("Date:         ",log_records[j].day)
    fmt.Println("Time:         ",log_records[j].time)
    fmt.Println("IP address:   ",log_records[j].ip)
    fmt.Println("Count:        ",ip_map[log_records[j].ip])
    fmt.Println("")
    j++
}


}

//pring map of IPs
fmt.Println(ip_map)

}
 91   2017   golang   IT   linux   security

Перевод Designing an Authentication System: a Dialogue in Four Scenes (часть 2)

Предположим я скопировал аутентификатор и билет пока они пересекали сеть. Мне придётся изменить сетевой адрес моей рабочей станции и моё пользовательское имя. И всё это я должен проделать за пару минут. Это довольно высокие требования. На самом деле я не думаю, что это возможно. Если только ... . . .

Гм. Здесь потенциальная проблема. Предположим что вместо копирования билета и аутентификатора во время их путешествия от твоего рабочего места на сервер, я копирую весь исходный пакет, который пришёл от Харона, то есть тот пакет, который ты получил, когда запрашивал у Харона получение билета.

Этот пакет, как я помню, имеет две копии сессионного ключа: один для тебя и один для сервиса. Тот, который предназначен для сервиса скрыт внутри билета и я не смогу получить его, но как насчёт другого, который кто угодно может использовать для создания аутентификаторов?

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

Афина:
Это то, о чём я думала всю ночь, но когда я проследила весь процесс получения билетов я обнаружила, что невозможно похитить аутентификаторы таким образом.

Ты садишься за своё рабочее место и используешь программу kinit чтобы получить твой TGT. Kinit запрашивает твоё имя и после того, как ты введёшь его kinit отправляет его Харону.

Харон использует твоё имя, чтобы найти твой пароль в своей базе данных, затем продолжает создание TGT для тебя. Как часть этого процесса, он создаёт сессионный ключ, которым ты будешь обменивать с сервисом предоставления билетов (TGS). Затем Харон помещает копию этого ключа в TGT, а твою копию добавляет в пакет, содержащий билет и представляющий ответ Харона. Перед тем, как послать этот пакет, Харон зашифровывает его целиком твоим паролем.

Харон посылает этот пакет через сеть. Кто угодно может его скопировать, в то время пока он перемещается мимо, но никто не сможет ничего с ним сделать потому, что пакет зашифрован твоим паролем. В частности никто не сможет похитить сессионный ключ для TGS.

Kinit Получает этот пакет и запрашивает у тебя пароль, который ты должен ввести. Если ты вводишь правильный пароль, он сможет расшифровать пакет и предоставить тебе ключ сессии.

Теперь, когда ты предоставил kinit возможность закончить свою работу, ты можешь пожелать получить свою почту. Ты запускаешь почтового клиента. Эта программа пытается найти билет для почтового сервиса и не находит его (ведь ты ещё на пытался получить почту). Почтовый клиент должен использовать TGT, чтобы запросить у TGS билет для почтового сервиса.

Клиент создаёт аутентфикатор для обмена с TGS и шифрует его своей копией сессионного ключа для TGS. Затем клиент посылает Харону этот аутентификатор, TGT, твоё имя, адрес твоего компьютера и имя почтового сервиса.

TGS получает всё это и начинает выполнять проверки удостоверения личности отправителя. Если все они удачны, TGS в конце концёв получает ключ сессии, общий для него и тебя и создаёт твой билет почтового сервиса, и новый сессионный ключ, с помощью которого ты будешь обмениваться с почтовым сервисом.

TGS теперь приготавливает пакет с билетом готовый к отправке на твоё рабочее место. Пакет включает билет и твою копию сессионного ключа для почтового сервиса. Но перед тем как послать пакет, он шифрует его копией СВОЕГО сессионного ключа. Дело сделано. Пакет отправляется по своему пути.

Итак теперь мы имеем пакет с билетом почтового сервиса, спешащий по сети. Предположим некое сетевое чудовище копирует его в это время. Ему не повезёт потому, что пакет зашифрован сессионным ключом TGS; а ты и TGS два единственных существа, которые знают этот ключ. Из-за этого окажется невозможным расшифровать пакет с почтовым билетом, и он не сможет получить ПОЧТОВЫЙ КЛЮЧ СЕССИИ. Без этого ключа невозможно использовать любой из почтовых билетов которые ты возможно будешь потом посылать по сети.

Итак я думаю, что мы в безопасности. А что думаешь ты?

Еврепид: Возможно.
Афина: Возможно?! Это всё что ты можешь сказать?!
Еврепид: (смеясь) Не расстраивайся. Тебе следует знать мою точку зрения. Я понимаю, что это нечестно с моей стороны --- ты не спала половину ночи.
Афина: фффф!
Еврепид: Ну хорошо, пусть будет три четверти ночи. Действительно система начинает казаться вполне приемлимой. Сессионные ключи решают задачу на которой я сам думал этой же ночью: проблему взаимного удостоверения подлинности.
Пауза.
Могу я поговорить минуту?
Афина: (Несколько настороженно) Пожалуй.
Еврепид:
Ты так добра. (Еврепид откашливаясь) В последнюю ночь пока видения сессионных ключей и аутентификаторов бродили в твоём уме, я пытался найти другие проблемы в системе, я нашёл одну, которая казалась мне очень серьёзной. Я проиллюстрирую её следующим примером.

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

Итак ты вводишь команду печати и указываешь в ней задание послать резюме на подходящий принт-сервер. Программа получает правильный билет, если его у тебя ещё не было, и затем посылает билет от твоего имени на этот сервер. Как минимум это, то что ты от неё ожидаешь. Ты на самом деле не знаешь, что запрос направляется обязательно на правильный сервер.

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

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

Но ключ сессии решает и эту задачу, если твоя клиентская программа написана правильно. Возвращаясь к примеру с сервисом печати: я хочу такую программу печати, которая удостоверятся, что сервис для которого она отправляет задание является законным.

И вот что такая программа делает. Я ввожу её имя с параметрами печати включающими имя файла для печати -- моё резюме. Предположим, что я уже имею билет и ключ сессии. Клиентская программа использует сессионный ключ, чтобы создать аутентификатор, затем посылает аутентфикатор и билет “желаемому” серверу печати. Клиент ЕЩЁ НЕ ПОСЫЛАЕТ резюме; он ожидает ответа сервиса.

Реальный сервис получает билет и аутентификатор, расшифровывает билет и извлекает сессионный ключ, а затем использует его, чтобы расшифровать аутентификатор. Когда всё сделано, сервис выполняет все обычные проверки для удостоверения в личности клиента.

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

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

Предпололжим, что мой босс перенастроил систему, так, что сервис выглядит так как будто он тот который мне нужен. Моя программа посылает аутентификатор и билет “сервису печати” и ожидает ответ. Фальшивый сервис печати не может сгенерировать правильный ответ, потому, что он не смог расшифровать билет и получить сессионный ключ. Моя программа не будет посылать задание если не получить правильного ответа. Очевидно, клиент в конце концёв прервёт ожидание и выйдет. Задание не будет выполнено, но хотя бы резюме не попадёт на стол моего врага.

Ты знаешь, я думаю у нас есть крепкий фундамент на котором мы сможем построить Систему Аутентификации Харон.

Афина: Возможно. Но в любом случае, мне не нравится имя “Харон”.
Еврепид: Да ну! Давно ли?
Афина: Оно мне никогда не нравилось из-за своей бессмысленности. Я разговаривала с моим дядюшкой Гадесом об этом день назад, и он мне предложил другое имя --- кличку его трехголового сторожевого пса.
Еврепид: О! Ты имеешь в виду “Цербер”?
Афина: Прикуси свой язык! “Цербер”... как же!
Еврепид: Эээ... Разве его зовут не так?
Афина: Так. Только если бы ты был римлянином! А я греческая богиня, он греческий сторожевой пёс и его имя -- Керберос. Керберос с первой буквой “К”.
Еврепид: Хорошо, хорошо не разбрасывай громы и молнии. Я принимаю твоё имя. Действительно оно приятно звучит. Прощай Харон и здравствуй Керберос.
Послесловие

Эта пьеса был написан в 1988 году, чтобы помочь читателям понять основные причины по которым протокол Керберос 4 был реализован именно так. И в течении многих лет это удавалось.

Когда я преобразовывал этот документ в HTML я был поражён насколько он остался актуальным для новой, пятой, версии протокола. Хотя многие вещи изменились, основные идеи протокола остались теми же. В действительность есть только два существенных отличия 5-ой версии от описания протокола в этой пьесе.

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

В пятой версии аутентификаторы сделаны по настоящему одноразовыми с помощью сервисов, получающих билеты, которые имеют “список повторов” в котором он отмечает аутентификаторы, которые недавно поступали на сервер. Если взломщик пытается захватить аутентификатор и использовать его, даже в пятиминутный промежуток, с помощью списка повторов возможно определить, что аутентификатор уже однажды приходил на сервер.

Второе большое отличие протокола то, что билет больше не шифруется пользовательским паролем когда он посылается от сервиса Керберос для kinit во время первоначального обмена билетами. Билет уже и так зашифрован секретным ключом TGS; более того в дальнейшем, когда он используется для получения других билетов, он посылается через сеть в незашифрованном виде. Значит нет причины по которой билет должен быть зашифрован ещё раз Hence, there is no reason why the ticket should be encrypted again пользовательским паролем. (Остаток ответа сервера Керберос пользователю, включая например пользовательскую копию сессионного ключа по прежнему, конечно, зашифрован пользовательским паролем. )

Похожие изменения были сделаны и в протоколе TGS; билеты возвращённые TGS также больше не шифруются ключом сервиса, так как билеты приложений уже зашифрованы их ключами. Так например пакет, который в Керберос V4 мог бы выглядеть так:

ОТВЕТ_KDC = {БИЛЕТ, клиент, сервис, K_сессии}K_пользователя
где “{X}K_Y” означает “X зашифрован ключом K_Y”, а
БИЛЕТ = {клиент, сервис, время_получения, время жизни,
K_сессии}K_сервиса
В пятой версии Керберос ОТВЕТ_KDC выглядит так:
ОТВЕТ_KDC = БИЛЕТ, {клиент, сервиса, K_сессии}K_пользователя
Конечно, в пятой версии появилось ещё много изменений. Пользователи теперь могут безопасно передавать их билеты на другие машины, так что они могут использоваться с другого сетевого адреса; в добавок пользователи могут также делегировать часть своих прав сервису, так, что он может играть роль посредника с поведением аналогичным пользовательскому. Кроме того можно заменить DES другим более надёжным алгоритмом шифрования, таким как triple-DES. Читатели которым интересны остальные отличия между четвёртой и пятой версиями протокола могут прочитать о них в The Evolution of the Kerberos Authentication System, написанной Cliff Neumann и Theodore Ts’o.

Я надеюсь вы получили удовольствие от этого небольшого введения в протокол Керберос. Желаю вам дальнейших открытий!

Теодор Тсо, февраль 1997.

Разрешается использование, копирование, модификация и распространение этого документа для любых целей и без оплаты, при условии что сохранения авторства и указания его в каждой копии, а также присутствия данных об авторстве и этого разрешения в сопровождающих документах. Запрещается использоваться имя M.I.T. в рекламе или других публикациях связанных с распространением без предварительного разрешения. M.I.T. не несёт ответственности за использование этого документа в любых целях. Документ поставляется “как есть” без всяких явных или неявных гарантий.

Для комментариев/предложений пишите: tytso@mit.edu

 205   2017   IT   kerberos   security

Перевод Designing an Authentication System: a Dialogue in Four Scenes

Надо сохронить, так как этот полезный текст остался только в Веб Архиве.

Copyright 1988, 1997 Массачусетский технологический институт. Все права защищены.

Билл Брант (Bill Bryant), февраль 1988.

Отредактировал и подготовил HTML вариант -- Теодор Тсо (Theodore Ts’o), Февраль, 1997. Также добавлено приложение описывающие изменения 5-й версии протокола Kerberos.

От переводчика

Перевод некоторых терминов требует отдельного пояснения:

Аутентификация (Authentication). Подтверждение того, что некая личность является именно той, за которую себя выдаёт. Очень часто аутентификацию путают или смешивают с авторизацией --- определением того имеет ли право определённый пользователь выполнять те или иные операции. Аутентификация всегда предшествует авторизации, так как последняя не имеет никакого смысла без предшествующей проверки подлинности пользователя. Чтобы избежать этой путаницы я, по возможности, старался избегать употребления этого слова и заменял его сочетаниями “удостоверение личности”, “подтверждение личности” и другими.

Система разделения времени (Timesharing system). Мощный компьютер с большим количеством подключённых пользовательских терминалов --- недорогих приборов, состоящих из клавиатуры, монитора и устройства связи с компьютером. Такие системы были единственными представителям компьютерного мира до появления персональных компьютеров.

Рабочая станция (Workstation). Общее название для компьютеров предназначенных для работы только одного человека, но несовместимых с IBM PC. Как правило на таких компьютерах установлена одна из версий ОС UNIX. Есть большой соблазн перевести этот термин просто, как “персональный компьютер”, но из уважения к старому доброму слову “workstation” я всё таки оставил непривычное для уха русскоязычного пользователя словосочетание “рабочая станция”, время от времени заменяя его там, где это не мешает пониманию, словами “рабочее место”.

Сервер (Server) и сервис (service). Слово “сервер” имеет в компьютерной литературе два смысла. С одной стороны это некий компьютер, который предоставляет свои ресурсы (процессор, память, другие устройства) другим компьютерам сети, а с другой часто сервером называют программу, которая выполняется на этом сервере. Так, часто можно услышать “веб-сервер”, “почтовый сервер” и тому подобные выражения. Очевидно, что на одном сервере может выполняться несколько программ, каждая из которых предоставляет какую-то определённую услугу. Например на одном единственном компьютере могут быть (и часто так оно и есть) запущены одновременно и почтовый сервер и веб-сервер и сервер передачи файлов ftp. Поэтому чтобы чётко понимать, когда речь идёт о компьютере, я употребляю слово “сервер”, а когда о запущенной на нём программе --- “сервис” (service, услуга). Надеюсь, что несколько корявое предложение “обратиться к почтовому сервису” не вызовет нареканий со стороны придирчивых читателей.
Сергей Долин (dsa@glug.org)

Предисловие

Эта небольшая пьеса представляет вымышленную историю и причины разработки системы аутентификации в открытых сетях, названную “Харон”. По мере развития, её главные герои -- Афина и Еврепид постепенно раскрывают проблемы безопасности возникающие в открытом сетевом окружении. Каждая проблема должна тем или иным способом решаться с помощью Харона, и поэтому проект также изменяется в течении всего действия пьесы. Афина и Еврепид не прекращают свою работу до завершения пьесы.

Когда они заканчивают проектирование, Афина изменяет её имя на “Kerberos,” --- имя, довольно случайно, выбранное для системы аутентификации, разработанной и реализованной в МИТ. Система “Kerberos”, описанная в пьесе чрезвычано напоминает систему Kerberos: An Authentication Service for Open Network Systems представленную на USENIX зимой 1988, в Далласе, штат Техас.

Содержание

Действующие лица
Действие I
Действие II
Действие III
Действие IV

Действующие лица

Афина -- начинающий и перспективный системный программист.
Еврепид -- опытный разработчик, который постоянно во всём видит только плохое.

Действие I

Небольшой кабинет без окон. Афина и Еврепид работают за соседними терминалами.

Афина: Да, что ты будешь делать! Эта наша система разделения времени совсем перестала шевелиться. Из-за того, что с ней сейчас работают все, кто только имеет к ней доступ я совсем не могу заниматься своим делом.
Еврепид: Ничем не могу помочь. Я только делаю свою работу.
Афина: А знаешь, что нужно сделать? Нам следует дать каждому собственную рабочую станцию, так, что бы не нужно было заботиться о разделении компьютерных тактов. А для соединения этих рабочих станций мы будем использовать сеть, так, чтобы люди могли общаться друг с другом.
Еврепид: Чудесно. Так, что всё, что нам нужно – пара тысяч рабочих станций?
Афина: Ну... около того.
Еврепид: Ты когда нибудь видела размер обычного жёсткого диска рабочей станции? Где ты найдешь столько места, чтобы разместить все программное обеспечение, которое ты имеешь на нашей системе с разделением времени?
Афина: Я уже придумала. Это очень просто. Мы можем хранить копии программ на нескольких машинах-серверах. В момент начала работы на рабочей станции она получит доступ к программам выполнив подключение к одному из серверов. Это позволит многим машинам использовать единственную копию программного обеспечения, и также решит проблему обновления программного обеспечения. Тебе не прийдётся устанавливать копию новой версии на каждую машиной. Достаточно просто изменить програмное обеспечение на сервере.
Еврепид: Не плохо. А что ты собираешься делать с личными файлами? В системах с разделяемым временем я могу получить доступ к моим файлам с любого терминала, который подключен к системе. Смогу ли я подойти к любой рабочей станции и автоматически получить свои файлы? Или мне прийдётся подобно пользователям ПК хранить свои файлы на дискете? Хочется надеться, что нет.
Афина: Мне кажется, ничто не мешает использовать какой нибудь компьютер в качестве хранилища для файлов. Да. Ты можешь воспользоваться любой рабочей станцией и получить свои файлы.
Еврепид: А как насчёт печати? Каждая машина должна иметь свой принтер? Признайся, чьи деньги ты решила растранжирить? А что будет с электронной почтой? Как ты собираешься доставлять почту к каждой из этих машин?
Афина: Ээээ... Ну, очевидно, нам не прийдётся давать каждому собственный принтер, мы могли бы иметь несколько машиных предназначенных для обслуживания печати. Ты посылаешь задание на этот сервер печати, и он его выполняет. Примерно также можно поступить и с почтой. Достаточно одной машины выделенной для пересылки почты. Если ты захочешь свою почту, ты просто подключаешься к почтовому серверу и от туда её забираешь.
Еврепид: Да, Тина, твоя система с персональными рабочими станциям выглядит неплохо. Знаешь, что я собираюсь сделать, как только получу подобную? Первым делом я узнаю твоё имя для входа в систему и сделаю, так, что моя машина думала, что я --- это ты. Затем я подключусь к почтовому серверу и прочитаю твою почту. Потом я подключусь к твоему файловому серверу и удалю твои файлы, и ...
Афина: Ты это сделаешь?
Еврепид: Без сомнения! Как все эти сетевые серверы смогут убедиться, что я -- это не ты?
Афина: Хех.. Я не знаю. Кажется, мне надо ещё подумать.
Еврепид: Да, похоже на то. Сообщи мне, когда что нибудь придумаешь.

Действие II

Кабинет Еврепида на утро следующего дня. Еврепид сидит за своим столом и читает почту. В дверь стучится Афина.

Афина: Ну, я сообразила как обезопасить открытое сетевое окружение так, чтобы такие бессовестные парни, как ты не могли использовать услуги сетевых серверов от имени других людей.
Еврепид: Ну и как? Присаживайся.
Афина садится.
Афина: Перед тем, как я начну, можно первым делом оговорить одно правило для нашего обсуждения?
Еврепид: Что за правило?
Афина: Будем полагать, что, когда я произношу нечто вроде “я хочу мою электронную почту и поэтому связываюсь с почтовым сервисом и прошу его переслать почту на мой компьютер” то на самом деле я не устанавливаю непосредственно контакт с сервисом. Для этого я пользуюсь программой для подключения к почтовому сервису и получения своей почты, Эта программа явяется КЛИЕНТОМ программы почтового сервиса.

Просто мне не хочется повторять “клиент делает то-то и то-то” каждый раз, когда я описываю обмен сообщениями между пользователем и сервисом. Я могу в этом случае просто сказать “я делаю то-то и то-то”, помня, конечно что все эти вещи за меня делает клиентская программа. Устраивает ли это тебя?

Еврепид: Будь уверен. Не вижу проблемы.
Афина: Хорошо. Если так, я начну с описания проблемы, которую я собираюсь решить. В условиях открытого сетевого окружения машины, которые пердоставляют услуги должны иметь возможность проверить что, люди которые запрашивают у них услуги являются именно теми за кого они себя выдают. Если я связываюсь с почтовым сервисом и прошу у него свою почту, программа должна иметь возможность проверить, что я являюсь именно Афиной, правильно?
Еврепид: Да.
Афина: Ты бы мог решить проблему самым простым способом, потребовав, чтобы почтовый сервис запрашивал пароль перед тем, как я смогу им пользоваться. Я докажу, что я тот, кем являюсь введя свой пароль.
Еврепид: Это, коненчно же, неуклюжое решение. В системе, подобной этой, каждый сервис должен знать твой пароль. Если в сети тысяча сервисов, то каждому сервису прийдётся знать тысячу паролей. Если ты пожелаешь изменить свой пароль, ты будешь вынужден установить контакт со всеми сервисами и уведомить их об этом изменении. Мне представляется, что твоя система не столь тупа.
Афина: Да моя система не такая дурацкая. Она работает примерно так: Не только люди имеют пароли, сервисы имеют пароли тоже. Каждый пользователь знает свой пароль и каждая сервисная программа знает свой пароль. И кроме того существует сервис аутентификации, который знает ВСЕ пароли -- каждый пользовательский пароль, и пароль каждого сервиса. Сервер аутентификации хранит все пароли в единственной, централизованной базе данных.
Еврепид: Ты придумал имя для этого сервиса аутентификации?
Афина: Я об этом ещё не думал. А у тебя есть какие-то идеи?
Еврепид: Как звали того парня который преправлял души умерших через Стикс?
Афина: Харон?
Еврепид: А! Я про него. От отказывался первозить через реку если ты не сможешь подтвердить свою личность.
Афина: Ты можешь далеко зайти, переписывая по новой греческую мифологию. Харона совсем не интереовала твоя личность. Ему было достаточно убедиться, что ты мёртв.
Еврепид: У тебя есть имя получше?
Пауза.
Афина: Нет, в самом деле.
Еврепид: Ну тогда давай назовём систему аутентификации “Харон”
Афина:
Ну ладно. Хотя мне кажется, что следует заняться описанием самой системы, да?

Предположим, что ты хочешь использовать почтовый сервис. В моей системе ты не сможешь использовать сервис если только... эээ... Харон сообщит ему, что ты именно тот, кем себя объявляешь. И ты не получишь разрешения использовать сервис пока не аутентифицируешь себя у Харона. В свою очередь, когда ты запрашиваешь аутентификацию у Харона, ты толжен сообщить ему имя сервиса, для которого просишь разрешения. Если ты хочешь разговаривать с почтовым сервисом, ты прежде должен договориться с Хароном.

Харон требует от тебя подтвердить свою личность. Ты делаешь это, предоставляя свой секретный пароль. Харон принимает твой пароль и сравнивает его с одним из тем, что зарегистрирован для тебя в его базе данных. Если эти два пароля совпадают, Харон считает твою личность достоверной.

Теперь Харон должен убедить почтовый сервис, что ты являешься тем, за кого себя выдаёшь. Так как Харон знает пароли всех сервисов, он знает и пароль почтового сервиса. Нетрудно догадаться, что Харон мог бы дать тебе пароль, которые ты перешлёшь почтовому сервису, чтобы доказать, что ты уже удостоверил свою личность у Харона.

Но проблема в том, что Харон не может дать тебе пароль напрямую, потому, что тогда бы ты узнал его. В следующий раз, когда ты захочешь почту, у тебя будет возможность обмануть Харона и использовать почтовый сервис без подтверждения своей личности. Ты можешь даже претвориться кем нибудь ещё и получить услуги сервиса от имени этого пользователя.

Поэтому, вместо того, чтобы давать тебе пароль, Харон даёт тебе БИЛЕТ сервиса. Этот билет включает твоё пользовательское имени, которое ЗАШИФРОВАНО ИСПОЛЬЗУЯ ПАРОЛЬ ПОЧТОВОГО СЕРВИСА.

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

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

Сервис сравнивает это имя с именем, которое ты выслал вместе с билетом. Если имена совпадают, почтовый сервис считает, что твоя личность подтверждена и можно продолжать работу, передавая тебе почту.

Что ты думаешь насчёт всего этого?

Еврепид: У меня осталось несколько вопросов.
Афина: Я так и думала. Ну-ну, давай.
Еврепид: Когда сервис расшифрует пароль, как он узнает, что сделал это правильно?
Афина: Я не знаю.
Еврепид: Вохможно, тебе следует включить в билет и имя сервиса? Тогда, после того, как билет будет расшифрован, отсутствие ошибок может быть проверено по тому оказалось ли внутри него это имя.
Афина:
По моему это неплохо. Итак билет выглядит примерно так:

(Она наспех черкает на клочке бумаги:)
БИЛЕТ – {имя пользователя:имя сервиса}
Еврепид: То есть билет включает только имя пользователя и сервиса?
Афина: ...зашифрованные паролем сервиса.
Еврепид: Я не думаю, что этой информации достаточно, чтобы сделать билет надёжным с точки зрения безопасности.
Афина: Что ты имеешь в виду?
Еврепид: Предположим, что ты запрашиваешь у Харона билет для почтового сервиса. Харон изготавливает такой билет и пишет на нём твоё имя “Тина”. Предположим, что я копирую твой билет в то время, как он перемещался мимо меня по пути через сеть от Харона до тебя. Предположим я зайду на свою незащищённую рабочую станцию, под твоим именем “Тина”. Программа почтового клиента на моей рабочей станции считает, что я это ты. От твоего имени она переправляет украденный билет почтовому сервису --- тот расшифровывает билет и видит, что он правильный, так как имя пользователя в билете совпадает с именем пользователя, который послал билет. Почтовый сервис даёт мне твою почту...
Афина: Ого! В этом нет ничего хорошего.
Еврепид:
Но мне кажется я знаю, как решить эту задачу. Или хотя бы найти частичное решение. Я думаю Харону следует включать несколько больше информации в билеты, которые он изготавливает: в добавок к имени пользователя, билет должен содержать СЕТЕВОЙ АДРЕС с которого пользователь запросил билет. Это даст тебе ещё один уровень безопасности.

Я проиллюстрирую. Предположим я украл твой билет теперь. Этот билет содержит твой сетевой адрес и этот адрес не совпадает с адресом моей машины. От твоего имени я отправляю похищенный билет почтовому сервису. Программа сервиса извлекает имя пользователя и сетевой адрес из билета и пытается сопоставить их с пользовательским именем и сетевым адресом того пользователя, который послала билет. Хотя имя и совпадает, но сетевой адрес – нет, и сервис отказывается принять билет, потому, что он, очевидно, был украден.

Афина: Браво! Браво! Хотела бы я додуматься до этого сама.
Еврепид: Ну для этого я здесь и работаю.
Афина:
Итак после пересмотра эскиз билета выглядит так:

Она делает набросок мелом на демонстрационной доске:

БИЛЕТ – {имя пользователя:сетевой адрес:имя сервиса}
Афина: Ну теперь я просто в восторге. Давай быстрей сделаем такую систему и посмотрим, как она работает!
Еврепид: Не так быстро. У меня есть ещё несколько замечаний по твоему предложению.
Афина: Хорошо. ( Афина наклоняется вперёд в своём кресле. ) Давай... Выбрасывай свои козыри.
Еврепид: Пока, что всё выглядит так, как будто мне придётся получать новый билет каждый раз когда я хочу получить доступ к сервису. Если у меня восьмичасовой рабочий день, я скорее всего захочу проверять свою почту более одного раза, и что же я буду запрашивать билет и вводить пароль каждый раз, когда я хочу это сделать? Если я прав, то мне твоя система не нравится.
Афина: Ээээ... Ну... я не вижу причин почему бы билеты не могут бытьь повторно использованы. Если ты получил билет для почтового сервиса, то логично ожидать, что ты будешь иметь возможность использовать их вновь и вновь. Например когда почтовая программа пользователя делает запрос сервису от твоего имени она может посылать копию твоего, ранее полученного, билета.
Еврепид: Это уже лучше. Но я всё ещё вижу проблемы. По-видимому, ты предполагаешь, что я должен общаться с Хароном каждый раз, когда я хочу использовать сервис для которого у меня нет билета. Я вошёл в систему и хочу получить доступ к своим файлам. Я отправляю запрос к Харону для правильного билета и это значит, что я должен ввести свой пароль. Затем я хочу прочитать свою почту. Ещё одно обращение к Харону --- и я должен вновь вводить свой пароль. Теперь предположим я хочу послать своё почтовое сообщение на печать. Опять запрос Харону и... Ну, ты представил себе как будет выглядеть работа?
Афина: Ууу... Да, представила.
Еврепид: И, если это для тебя недостаточно, рассмотри и такой случай: мне кажется, что когда ты представляешь себя Харону, ты посылаешь твой секретный пароль по сети открытым текстом. Умные люди вроде тебя могут легко отследить трафик в сети и украсть копии паролей всех пользователей. Если я получу пароль, я могу использовать любой сервис от твоего имени. Афина вздыхает.
Афина: Это серьёзные проблемы. Кажется мне нужно ещё раз вернуться на своё рабочее место.

Действие III

На следующее утро Афина встречает Еврепида в буфете и похлопывает его по плечу в то время, как он наливает чашку кофе.
Оба поворачиваются к кофеварке.

Афина: У меня появилась новая версия Харона, которая решает нашу задачу.
Еврепид: Действительно? Быстро ты.
Афина: Ты знаешь, эти размышления над на проблемами не давали мне покоя всю ночь.
Еврепид: Должно быть это была твоя совесть. Тебе не кажется, что нам лучше продолжить беседу в кабинете?
Афина: Почему бы и нет?
Оба идут в рабочий кабинет.
Афина: Я вновь начну с условий задачи, но теперь я переиначу их так, чтобы они превратились в требования предъявляемые к системе.
Афина откашливается.
Афина: Первое требование: пользователи должны вводить свои пароли только однажды, в начале работы на рабочей станции. Это требование подразумевает, что тебе нет необходимости вводить пароль каждый раз, когда ты нуждаешься в новом билете для доступа к сервису. Второе требование: пароли не следует посылать по сети в открытом незашифрованном виде.
Еврепид: Всё так.
Афина:
Я начну с первого требования --- тебе придётся вводить пароль только один раз. Я удовлетворила это требование изобретением нового сервиса. Он называется “сервис предоставления билетов” (ticket-granting service,TGS), сервис, который предоставляет Хароновские билеты пользователям которые уже однажды аутентифицировались (доказали, что являются теми за кого себя выдают) у Харона. Этот сервис можно использовать имея билет только для него.

На самом деле это почти настоящий Харон, посколько он имеет доступ к его базе данных. Он является частью Харона в том смысле, что позволяет тебе выполнить аутентификацию для любого сервиса, используя ранее полученный билет для TGS вместо пароля.

Система аутентификации сейчас работает следующим образом: ты включаешь свою рабочую станцию и используешь программу названную kinit, чтобы установить контакт с сервисом Харона. Затем удостоверяешь свою личность и kinit получает билет, позволяющий получать другие билеты (ticket-granting ticket --- TGT).

Теперь, скажем, ты хочешь получить свою почту от почтового сервиса. Ты не обязан получать его билет, вновь указывая свой пароль, потому, что можно запросить его у TGS используя TGT.

Еврепид: Должен ли я получать новый TGT каждый раз, когда мне нужен новый сетевой сервис?
Афина: Нет. Вспомни, что в прошлый раз мы сошлись на том, что билеты могут использоваться повторно. Получив однажды TGT тебк не нужно делать это ещё раз. Ты используешь один и тот же TGT, чтобы получать другие нужные тебе билеты.
Еврепид: Ладно, это всё имеет смысл. И с того момента, как ты можешь использовать билеты повторно, однажды полученный с помощью TGT билет для какого-то определённого сервиса, позволяет тебе больше не запрашивать билет для этого же сервиса.
Афина: Элегантно? Не правда ли?
Еврепид: Да. Я бы не отказался от подобной штуки. Сразу, после того, как только тебе станет не нужно посылать твой пароль отрытым текстом по сети, для получения TGT.
Афина:
Как я и говорила, я решила и эту проблему тоже. Дело в том, что когда я говорю --- “запросить у Харона TGT”, мои слова звучат так как будто-бы ты должен посылать свой пароль открытым текстом по сети сервису Харона. Но это совершенно не обязательно.

Вот, что происходит на самом деле. Когда ты используешь программу kinit чтобы получить TGT, то она не отправляет твой пароль сервису Харона, а посылает только твоё имя.

Еврепид: Хорошо.
Афина:
Харон использует имя пользователя, чтобы найти его пароль в своей базе данных, а затем подготавливает пакет данных, который включает и TGT. Перед тем, как послать этот пакет тебе, Харон использует твой пароль, чтобы зашифровать содержимое пакета.

Только после того, как твоя машина получит пакет, ты вводишь пароль, с помощью которого Kinit пытается его расшифровать и извлечь билет. Если это удалось, ты успешно подтвердил свою личность и теперь владеешь TGT, с помощью которого можно получать другие билеты.

Как это для твоего изощрённого ума?

Еврепид: Я не знаю... Теперь моя очередь задуматься. Честно говоря, я думаю, что система, которую ты только что описала будет работать более, чем хорошо. Твоя система требует от меня аутентифицироваться только однажды. После этого Харон может отправлять мне билеты для разных сервисов. без вмешательства с моей стороны. Безупречно. Безупречно в этом отношении. Но есть что-то в проекте, что беспокоит меня. И это “что-то” связано с тем фактом, что билеты могут повторно использоваться. Я осознаю, что они должны быть такими, но по своей природе, это свойство таит опасность.
Афина: Что ты имеешь в виду?
Еврепид:
Посмотри с такой точки зрения. Предположим ты используешь компьютер, к которому имеют доступ другие пользователи. Во время своей работы ты получил билет почтового сервиса, сервиса печати и билет для файлового сервиса. Предположим ты неосторожно оставила эти билеты на компьютере после того, как покинула своё рабочее место.

А теперь предположим я сяду за этот же компьютер и найду эти билеты. Я стремлюсь причинять неприятности, так, что я заставлю машину считать, что я -- это ты. Так как билет был получен от твоего имени, я могу использовать почтовую программу для доступа к твоей почте, могу читать и удалять твои файлы, могу отправить на печать такие задания, что тебе будет очень трудно заплатить по счету. И всё только потому, что твои билеты случайно остались лежать доступными кому угодно.

И, кстати, ничто не мешает мне скопировать эти билеты куда нибудь себе. Я могу продолжать их использовать в течении любого времени.

Афина:
Но это легко исправить. Мы просто напишем программу, которая будет разрушать билеты после каждого окончания работы. Ты не сможешь использовать билеты, которые были разрушены.

Еврепид:
Ну это было очевидно, что в твоей системы должна была быть программа для уничтожения билетов, но глупо заставлять пользователей надеяться на неё. Ты не можешь полагаться на то, что пользователи не будут забывать уничтожать свои билеты каждый раз когда они заканчивают работу. И даже если ты надеешься на своих пользователей рассмотри такой сценарий.

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

Я дожидаюсь пока ты покинешь своё рабочее место и выключисшь компьютер. Затем изменяю сетевой адрес так, чтобы он совпадал с адресом твоей машины, за которой ты работал, когда получал скопированные мной билеты. Затем я заставляю мою машину поверить, что я -- это ты. У меня есть твои билеты, твое пользовательское имя и правильный сетевой адрес. Я могу вновь посылать эти билеты и использовать сетевые сервисы под твоим именем.

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

Афина: Я поняла что ты хочешь сказать! Билеты не могут быть действующими бесконечно, потому, что тогда они представляют огромный риск для безопасности. Мы должны ограничить время в течении, которого билета может использоваться, например дать каждому билету срок, после которого он устаревает.
Еврепид: Именно. Я думаю, что каждый билет нуждается в двух дополнительных информационных полях: времени жизни, которое указывает период в течении, которого билет остаётся действующим и время в которое Харон его выслал. Поэтому билет будет выглядеть примерно так:
Еврепид подходит к демонстрационной доске и чертит такой рисунок:

БИЛЕТ {имя пользователя:адрес:имя сервиса:время жизни:время получения}
Еврепид: Теперь, когда сервис расшифровывает билет, он сравнивает пользовательское имя и адрес в билете с пользовательским именем и сетевым адресом того, кто послал билет, затем проверяет не устарел ли этот билет используя информацию о времени получения и времени действия.
Афина: Всё правильно. И какое же время жизни должен иметь типичный билет для сервиса?
Еврепид: Я не знаю. Возможно длина типичного рабочего дня. Скажем, восемь часов.
Афина: Тогда, если я нахожусь на рабочем месте более, чем восемь часов, все билеты устареют. Включая TGT. Поэтому мне прийдётся удостоверять свою личность у Харона каждые восемь часов.
Еврепид: Но это же не безпричинно, не так ли?
Афина: Понимаю, что нет. Итак мы договрились -- билеты устаревают через восемь часов. Теперь у меня есть вопрос для тебя. Предположим я скопировал ТВОИ билеты из сети --
Еврепид: ( с весёлой ухмылкой ) Ах, Тина! Ты ведь не стала бы делать этого, не так ли?
Афина:
Это только в качестве аргумента. Я скопировала твои билеты. Теперь я жду когда ты выйдешь из системы. Ну, например, тебе назначен визит к врачу, и поэтому ты закончил свой сеанс после пары часов работы. Ты тёртый калач и уничтожил копии билетов перед отключением.

Но я похитила твои билеты и они действуют ещё на протяжении шести часов. Это даст мне достаточное количство времени для грабежа твоих файлов и печати тысячи копий чего угодно под твоим именем.

Как видишь, отметка о времени жизни работает хорошо в том случае когда похититель билета решает использовать билет после того он устарел. Если же использовать билет до того, как это произойдёт...

Еврепид: Ну,... Конечно, ты права.
Афина: Мне кажется, что у нас большие проблемы. (Вздыхает.)
Пауза.
Еврепид: Похоже на то, что у тебя опять будет бессоная ночь. Хочешь ещё кофе?
Афина: Почему бы нет.
Действие IV

Следующее утро в кабинете Еврепида. Афина стучится в дверь.

Еврепид: У тебя круги под глазами.
Афина: Ну, понимаешь. Опять не спала всю ночь.
Еврепид: Решила ли ты проблему повторного использования билетов?
Афина: Я думаю, да.
Еврепид: Ну, присаживайся.
Она садится.
Афина: Как обычно, я чувствую, что должна вновь сформулировать проблему. Билеты могут повторно использоваться в течении определённого времени, скажем восемь часов. Если кто нибудь украдёт твои билеты и и решит использовать их перед тем, как они устареют мы не можем сделать ничего, что бы остановить злоумышленника.
Еврепид: Да. Проблема в этом.
Афина: Мы можем её решить, если разработаем систему с билетами, которые не могут быть использованы повторно.
Еврепид: Но ведь тогда тебе прийдётся получить новый билет каждый раз когда ты захочешь использвать сетевой сервис.
Афина:
Правильно. Это неуклюжое решение. (Пауза.) Э... Я могу продолжать? Да? (Она ненадолго задумалась.)

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

Я прослежу весь процесс аутентификации вновь и постараюсь найти правильный способ проиллюстрировать мое решение этой проблемы.

Я хочу использовать определённый сервис. Я получаю к нему доступ запуская программу на моей машине. Программа-клиент посылает на сервер три вещи -- моё имя, сетевой адрес моей машины, и билет для этого сервиса.

Билет, в свою очередь, включает имя того пользователя, который его запросил и сетевой адрес той машины, которую он или она использовал во время получения. Также билет включает дату после которой он устаревает в виде времени жизни и времени получения. Вся эта информация зашифрована паролем сервиса, который хранится в базе данных Харона.

Наша система аутентификации в настоящий момент основывается на следующих проверках:

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

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

Третья проверка сравнивает имя и сетевой адрес билета с именем и сетевым адресом указанным в билете. Если проверка не удалась, билет был получен (возможно тайком) от имени другого человека. Такой билет, конечно же, тоже будет признан неправильным.

Если имя и адрес всё таки совпадают, что доказывает эта проверка? Ничего. Прохвост может украсть билеты из сети, изменить свой адрес и имя пользователя, и использовать ресурсы других пользователей. Как я сказала вчера, билеты могут повторно использоваться пока не устареют. Они могут это делать потому, что сервис не может определить, что пользователь пославший билет действительно законный его владелец.

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

Поэтому я думала всю прошлую ночь, почему бы Харону не изготовить пароль для законного владельца билета, которым он может обменяться с сервисом? Харон даёт копию этого ключа сессии сервису, и копию пользователю. Когда сервис получает билет от пользователя, он может использовать ключ чтобы провереть подлинность личности пользователя.

Еврепид: Секунду. Как Харон собирается передать обоим сторонам ключ сессии?
Афина: Владелец билета получает ключ сессии, как часть ответа от Харона. Примерно так:
Она рисует следующую схему на доске:

ОТВЕТ ХАРОНА – [ключ сессии|билет]
Свою копию сессионного ключа сервис получает внутри билета; после того, как расшифрует его. Поэтому билет выглядит так:

БИЛЕТ – {ключ сессии:имя пользователя:адрес:имя сервиса:время жизни:время
получения}
Когда ты хочешь получить услуги от сервиса, клиентская программа начинает создавать то, что я решила называю АУТЕНТИФИКАТОР. Аутентификатор включает твоё имя и сетевой адрес твоей рабочей станции. Клиент шифрует эту информацию с помощью ключа сессии -- копии сессионного ключа, который он получил во то время, когда запросил билет.

АУТЕНТИФИКАТОР – {имя пользователя:адрес} зашифровванные с
помощью ключа сессии.
После создания аутентификатора, клиент посылает его и билет сервису. Однако сервис не может расшифровать аутентификатор, потому, что он не имеет сессинного ключа. Этот ключ находится внутри билета, поэтому сервис вначале расшифровывает его.

После расшифровки билета, сервис наконец получает следующую информацию:

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

Афина замолкает, прокашливается, отпивает немножко кофе.

Мне кажется сессионный ключ и аутентификатор хорошо справляется с проблемой повторного использования.

Еврепид: Возможно. Но я не понимаю... То есть, чтобы взломать систему я должен иметь правильный аутентификатор для сервиса?
Афина: Нет. Ты должен иметь аутентификатор И билет для сервиса. Аутентификатор не имеет смысла без билета, потому, что сервис не сможет расшифровать аутентификатор без того, чтобы вначале получить соответствующий ключ сессии, а его он не сможет получить без расшифровки билета.
Еврепид: Хорошо. Я это понял. Но не хочешь ли ты сказать, что когда клиентская программа общается с сервисом, она посылает одновременно с билетом, соответствующий аутентификатор?
Афина: Да. Именно это я пыталась сказать.
Еврепид: Если так происходит в действительности, то, что мешает мне похитить билет и аутентификатор одновременно? Я уверен, что смогу написать программу, которая легко справится с этой работой. Если я получу билет и его аутентификатор, нет сомнений в том, что смогу использовать их обои так долго, как долго не устареет билет. Мне нужно только изменить адрес рабочей станции и имя пользователя. Так?
Афина: ( Кусая свои губы) Так. Как безнадёжно.
Еврепид: Стоп, стоп, стоп! Это не такая уж большая проблема. Билеты могут повторно использоваться пока они не устареют, но это не значит, что такой же способностью должны обладать аутентификаторы. Предположим мы разработаем систему так, что аутентификаторы могут использоваться только однажды. Поможет ли это нам хоть чем нибудь?
Афина:
Ну, возможно. Давай посмотрим: клиентская программ создаёт аутентификатор, затем посылает его вместе с билетом сервису. Ты копируешь их в то время пока они проносятся мимо твоей рабочей станции на сервер. Но оригинальные билет аутентефикатор достигнут сервер до того, как ты сможешь послать свои копии. Если аутентификатор может быть использован, только один раз твоя копия больше не годится, и попытка повторно использовать билет окончится нечем.

Так, что это поможет. Поэтому всё, что мы должны придумать, так это способ сделать аутентификатор одноразовым.

Еврепид:
Не вижу проблемы. Достаточно добавить продолжительность жизни и отметку о времени получения. Предположим каждый аутентификатор имеет продолжительность жизни в несколько минут. Когда ты хочешь использовать сервис твоя клиентсая программа создаёт аутентификатор, отмечает текущее время, затем посылает его и билет сервису.

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

2017   IT   kerberos   security

Google Accounts engine problem and Gnome 3

I have login.keychain corrupted in my Gnome 3 enabled workplace due to the recent Google Accounts engine problem. For some reason it has become completely unusable, Gnome Keychain was unable to unlock it, Google Chrome stopped loading sites, goa-daemon died (as usual) and Evolution has stopped getting mail.

Goog Friday morning frustration.

 105   2017   gnome   google   IT   linux
Earlier Ctrl + ↓