Архив за Март 2009

Я пишу фреймворк для генерации и валидации лицензионных кодов на основе эллиптической цифровой подписи (ECDSA, elliptic curve digital signature algorithm). Преимущество эллиптической криптографии в том, что она позволяет получить короткие лицензионные коды при хорошей защищенности.

Для Windows есть несколько коммерческих продуктов с короткими ключами (AsProtect SKE1, который я использую в BlogJet, и ExeCryptor2). Для Mac OS X почти ничего нет. Есть опен-сорсный AquaticPrime, который я использую в Mémoires, но он по умолчанию работает с файлами и использует RSA, отчего получаются длиннющие ключи.

Сейчас EllipticLicense может создавать ключи типа таких:

Licensed to: John Doe
License key: HQYRV-OZFNZ-M3L7B-WA644-CXLG4-D7IRD-QZ6FY-GJGTO-MEXEG

Это при эллиптической кривой над 112-битным полем простых чисел (secp112r1). 160-битная версия ECDSA по крипотостойкости примерно эквивалентна 1024-битной DSA.

Демонстрация работы GUI EllipticLicense Developer:

Проект опен-сорсный (MIT-лицензия), скоро будет доступен на GitHub'е. Я использую OpenSSL 0.9.8 для криптографии.

Фреймворку понадобится хорошая порка, потому что ошибки в таком деле могут иметь плохие последствия, поэтому мне нужны люди для peer review кода (чуть больше 200 строчек, Objective-C). Пишите на dmitry@sellme.ru если сможете помочь.

1 Кстати, AsProtect был куплен StarForce, они зажрались и стали брать деньги за несуществующую поддержку раз в год, за что могут спокойно засунуть AsProtect в свою ass. Никому не рекомендую этот продукт и эту дебильную организацию.

2 2008-04-01: Мне сказали, что ExeCryptor уже мертв.

В 2008 году Rackspace, один из крупнейших хостеров, купил Slicehost, провайдера VPS-хостинга1. Slicehost предлагает доступные VPS от $20 долларов в месяц. Rackspace взяли их технологию и сделали Mosso Cloud Servers, виртуальные сервера с оплатой по фактическому использованию ресурсов как у Amazon EC2. Вы платите за часы работы вашего сервера и за трафик.

Обновление (07.07.2009): Mosso переименовали в The Rackspace Cloud.

Цены

На момент написания этой заметки цены такие:

_.Память/диск _.В час_.В месяц
256 MB / 10 GB $0.015 $10.95
512 MB / 20 GB$0.030 $21.90
1024 MB / 40 GB $0.060 $43.80
2048 MB / 80 GB $0.120 $87.60
4096 MB / 160 GB $0.240 $175.20
8192 MB / 320 GB $0.480 $350.40
15872 MB / 620 GB $0.960 $700.80

Входящий трафик - $0.08/Гбайт
Исходящий трафик - $0.22/Гбайт

Для сравнения, у Amazon EC2 цены начинаются с $0.10 за час Small Instance, которая имеет 1.7 гигабайта оперативки и 160 Гбайт диска, входящий трафик $0.10/Гбайт, исходящий от $0.17 и ниже. То есть, если оставить ее работать 24×30, получается $72 в месяц.

На Slicehost 256 MB/10 GB стоит $20 в месяц, но включает 100 Гбайт трафика. Если на сервере Mosso с такой же конфигурацией использовать 100 гигабайтов исходящего трафика, это обойдется в 33 доллара.

У другого известного провайдера VPS, Linode, за $20 можно взять 360 Мбайт памяти, 12 Гбайт диска и 200 трафика.

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

Хостер_.RAM_.HDD_.Трафик_.Цена
Linode2.8 GB96 GB1600 GB$160
Slicehost2 GB80 GB800 GB$130
Amazon EC21.7 GB160 GBне включен$72
Mosso CS2 GB80 GBне включен$88

(У Linode нет 2 GB, есть 1.4 за $80 и 2.8 за $160.)

Итого, если трафик большой, Linode и Slicehost дешевле, если маленький -- Mosso Cloud Servers и Amazon EC2. Это если не учитывать превышение трафика -- Slicehost берет $0.30, Linode не говорит сколько.

Я уже говорил, что сравнивать цены -- сложно?

Почему не EC2

У Amazon EC2 есть один большой недостаток -- данные в нем не сохраняются при выключении. Вы создаете образ (Amazon Machine Image), закачиваете на Amazon, и этот образ -- единственное, что останется постоянным; данные, созданные вне образа, при его выключении потеряются. Так что забудьте про базы данных на EC2 (конечно, для постоянного хранения у Amazon есть S3 и SimpleDB, но это уже не просто файловая система). EC2 хорош как computing unit, но плохо подходит для использования в качестве типичного веб-сервера.

Обновление (2009-04-02): Я не совсем прав. К Amazon EC2 можно подключать EBS (Elastic Block Storage) с отдельной платой за дисковое пространство и I/O запросы.

À la carte

Для того, чтобы завести свой Cloud Server, не надо платить заранее -- нужно только зарегистрироваться и указать данные кредитки, с которой будут снимать деньги за использованные ресурсы через месяц и далее. В этом преимущество CS -- попробовать очень легко и практически бесплатно. Кроме того, если понадобилось увеличить сервер на время больших нагрузок, а потом уменьшить обратно, больше денег возьмут только за фактическое время работы "большого" сервера. Так же и с созданием нового сервера -- если вдруг понадобился сервер на недельку, вы заплатите только за неделю. Прелесть! Жаль только, что сервер нельзя "поставить на паузу" -- за него будут брать деньги пока вы его не удалите.

Админка

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

Внутри

С Mosso Cloud Servers вы получаете виртуальный компьютер c root-доступом, с которым можете делать что угодно. Соответственно, если вы ничего не умеете с ним делать, у вас есть выбор: а) научиться, б) нанять админа, в) забыть про VPS. Если предпочтете первый путь, вам поможет множество статей, которые, кстати, скопированы со Slicehost (не зря же купили именно эту компанию!), только "slice" заменили на "Сloud Server".

Техника и сеть

Mosso Cloud Servers располагаются на 64-битных 8+ гигагерцевых четырехядерных машинах. VPS тоже 64-битные. Каждому виртуальному серверу выделено определенное количество времени процессора пропорционально размеру памяти (но если у процессора есть свободное время, сервер может использовать больше выделенного). Диски на RAID10. Скорее всего, каждый виртуальный сервер ограничен каналом в 10 Мбит/с (по крайней мере, так у Slicehost).

Пинг моего Cloud Server из разных мест:

Для сравнения, пинг reddit.com

Mosso Cloud Servers предлагает те же дистрибутивы Linux, что и Slicehost: Ubuntu 8.10 (Intrepid Ibex), Ubuntu 8.04.1 (Hardy Heron) LTS, Debian 4.0 (Etch), Gentoo 2008.0, Centos 5.2, Fedora 10, Arch 2007.08.

Uptime

Самое важное в хостинге -- uptime. К сожалению, пока рано говорить как будут вести себя Cloud Servers -- они только недавно запустились. Говорят, у Slicehost аптайм хороший, посмотрим.

Cloud Files

Стоит рассказать про другую услугу Mosso -- Cloud Files. Это хранилище файлов вроде Amazon S3. В Cloud Files можно включить CDN от Limelight Networks:

СервисХранение за ГбайтИсходящий трафик за Гбайт
Amazon S3*$0.15$0.17
Mosso Cloud Files$0.15$0.22

* Цены до 10 TB, в датацентрах США.

Как видно, цены чуть выше, чем у амазона. Но за трафик с Cloud Files до точек CDN нет дополнительной платы, в отличие от амазоновской CDN CloudFront. В амазоне также берут деньги за GET запросы -- $0.01 за 10,000 штук. В Cloud Files тарифицируются только PUT, POST, LIST.

Кстати, Cyberduck, (S)FTP клиент для Mac OS X, поддерживает и S3, и Mosso Cloud Files.

1 VSP - Virtual Private Server, виртуальный сервер. В отличие от shared hosting, VPS дает в ваше полное распоряжение сервер с root-доступом, только этот сервер не железный, виртуальный -- на одной машине их работает несколько. Пользовались VMware или Parallels? Примерно так же работает.

Ввод

Я люблю все менять. Даже то, что работает. Особенно то, что работает. Мне быстро надоедает привычное и я все переделываю.

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

Вывод

В общем, добро пожаловать на обновленный Sellme.ru. Powered by Webby. Этот тоже долго не продержится.

Обновление (19.09.2009): Я был прав :-)

Такой бредовой статьи я еще не видел. Хотел было проигнорировать, но оказалось, что автор — директор по информационной безопасности в российском Microsoft*, и судя по биографии, не дурак — математик, MBA и выпускник Высшей школы КГБ. Мимо такого я пройти не могу. В статье шесть пунктов, рассказывающих о том, почему не надо писать национальную операционную систему. (Скажу сразу: я в "национальные" дела не верю, тем более в политико-коррупционные вещи вроде внедрения систем на государственном уровне; я за мир без границ, водку без спирта и все такое). Если кратко, доводы Владимира Мамыкина сводятся к следующему:

Не пишите операционную систему, потому что это СЛОЖНО!

Класс! Спасибо, мы не знали. Кроме этого, из статьи мы узнали следующее: 1. В Линуксе много дыр и ее пишут сотрудники Агентства национальной безопасности США. 2. В Mac OS X нет драйверов для принтеров. 3. В России нет опыта управления большими проектами. Как удивительно, что директор по информационной безопасности Microsoft пишет, что Линукс уязвим, а для Мака нет дров! Вы бы хоть скрывались как-нибудь по-лучше, что ли? Наняли бы какое-нибудь "независимое" агентство — опыт-то уже есть. Драйвера? Очевидно, что автор не знает, как пишутся драйвера для свободных ОС. Он думает, что если Microsoft ходит и уговаривает производителей --
Поэтому главной задачей производителя ОС является работа по уговариванию производителей аппаратных устройств написать драйвера именно для их операционной системы.
-- то так делают все. Кстати, разве Windows не написан в недрах злейшего врага нашей страны?
В различных странах (в том числе и в России) существуют способы проверки не только зарубежных ОС, но и любых других программных и аппаратных средств, на безопасность их использования в государственных и коммерческих организациях. Это, например, сертификация с предоставлением инспектирующим организациям исходных кодов ПО.
Этим и занимается Владимир Мамыкин: "отвечает за взаимодействие с государственными структурами в области информационной безопасности, в том числе за организацию доступа к исходным кодам продуктов Microsoft, сертификацию этих продуктов и систему их распространения." Ах, да! У нас нет специалистов, способных написать операционную систему, но у нас специалисты, способные проверить то, что операционная система из десятка миллионов строк кода написана правильно. Замечательно! Надеюсь, эти специалисты смогли обнаружить чего-нибудь интересное? Какую-нибудь переменную вроде _NSAKEY? Напоследок: "List of operating systems". -- *) Конечно, в блоге Мамыкина есть пометка "Информация на данном сайте предоставляется "КАК ЕСТЬ" без каких-либо гарантий и передачи прав. Мнения, высказанные здесь, являются отражением моего личного взгляда, а не позиции работодателя." Я, вроде как, выпускаю конкурентный майкрософтовскому продукт, поэтому стоит заметить, что в этой статье мнения, высказанные мной, являются отражением моего личного взгляда, а не позиции... той части меня, которая ответственна за выпуск продукта. Как-то так. (via catlionv)
Олег Тиньков завел дневник.