OpenID

Поделись знанием:
Перейти к: навигация, поиск

OpenID — открытый стандарт децентрализованной системы аутентификации, предоставляющей пользователю возможность создать единую учётную запись для аутентификации на множестве не связанных друг с другом интернет-ресурсов, используя услуги третьих лиц[1].

Базовой функцией OpenID является предоставление портативного, клиент-ориентированного, цифрового идентификатора для свободного и децентрализованного использования.

Стандарт описывает процесс коммуникации Интернет-ресурсов (Relying Parties), требующих аутентификации, и Провайдеров OpenID (OpenID Providers).

Аутентификацию OpenID используют в том числе Google, Yahoo!, AOL, LiveJournal, MySpace, IBM[2], Steam[3], Orange и VeriSign[4].

Сайты, поддерживающие её, часто помечаются логотипом системы, расположенным возле поля ввода пароля на странице входаК:Википедия:Статьи без источников (тип: не указан)[источник не указан 3779 дней].

Существует несколько OpenID-провайдеров, которые предоставляют хостинг OpenID URLК:Википедия:Статьи без источников (тип: не указан)[источник не указан 3779 дней].





Вход через OpenID

Вход через OpenID с точки зрения конечного пользователя

На сайте, назовём его, к примеру, example.com, располагается форма входа, но вместо привычных полей логин и пароль в ней можно заполнить только одно — поле для ввода OpenID идентификатора. Зачастую рядом с таким полем располагается логотип OpenID.

Чтобы пользователь смог пройти OpenID-авторизацию на сайте example.com с помощью своего идентификатора, например: pupkin.openid-provider.org, который он зарегистрировал у провайдера идентификации openid-provider.org, пользователь просто на example.com вводит свой OpenID в предлагаемую форму входа.

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

Например, OpenID-провайдером является Живой Журнал, поэтому в качестве Open ID можно использовать адрес своего дневника в Live Journal[5].

Вход через OpenID с точки зрения аутентифицирующей стороны

Для веб-разработчиков: за обработку формы отвечает клиентская часть библиотеки OpenID[6]. Декларируя возможность авторизации по OpenID, сайт example.com объявляет себя Зависимой стороной, и получает секретный код — описатель партнёра (associate handler) от openid-provider.org, который зависимая сторона сохраняет. В режиме checkid_setup зависимая сторона переадресует браузер пользователя к провайдеру. В данном случае браузер Васи переадресуется на openid-provider.org, где провайдер сможет опознать Васю.

Метод идентификации пользователя провайдером может быть любым, но обычно OpenID провайдер запрашивает у пользователя логин и пароль его учётной записи на сервере провайдера (затем, как правило, сохраняет сессию в cookie, как это делает большинство сайтов с парольным доступом). Затем провайдер спросит, доверяет ли Вася странице, указанной зависимой стороной для возврата пользователя после проверки подлинности, куда будет отправлена его информация (к примеру, example.com/openid-return.php). Если Вася ответит утвердительно, браузер с соответствующими подтверждениями перенаправляется на указанную страницу, и идентификация по OpenID почти готова к тому, чтобы быть признанной успешной. В случае недоверия Васи к указанной странице браузер всё равно перенаправляется туда же — однако зависимая сторона получает отказ на свой запрос, и, в свою очередь, отказывается впустить Васю.

Однако процесс входа всё ещё не завершён, потому что на данном этапе example.com должен удостовериться, что полномочия пользователю выдал действительно openid-provider.org, а не сам Вася, например, взломщик, и пошёл на страницу подтверждения авторизации самостоятельно. Если стороны предварительно договорились о секретном ключе (shared secret см.выше), то зависимая сторона может проверить ключ, полученный вместе с полномочиями пользователя по имеющейся у неё информации. Такая зависимая сторона называется хранящей состояние (stateful), так как она сохраняет секретный ключ между сессиями. В противоположность ей зависимая сторона без памяти (stateless) или немая (dumb) должна совершить ещё один фоновый запрос (check_authentication) для проверки того, что данные действительно пришли с сервера openid-provider.org.

После проверки идентификатора Вася признаётся зашедшим на example.com как pupkin.openid-provider.org. После чего сайт может сохранить сессию или, если это первый визит, запросить у пользователя дополнительную информацию, необходимую example.com для завершения регистрации.

OpenID не предоставляет собственных средств проверки подлинности пользователя, но если провайдер идентификации использует сильное шифрование, OpenID может использоваться для защищённых транзакций банков и коммерческих интернет-сервисов[7].

Общее описание протокола

Возможности OpenID

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

Децентрализованность

Система OpenID — децентрализованная система. Это значит, что нет какой-либо центральной службы или организации, которая разрешала бы использование системы или регистрировала бы запрашивающие аутентификацию OpenID Интернет-ресурсы (Relying Parties) или Провайдеров OpenID (OpenID Providers). А конечный пользователь может свободно выбирать, какого Провайдера OpenID использовать, и сохранять Идентификатор в случае изменения Провайдера OpenID.

Технологические требования

Стандарт не требует JavaScript или современных браузеров, однако схема аутентификации хорошо совместима с концепцией «AJAX». Это значит, что конечный пользователь аутентифицируется Интернет-сервисом (любым объектом, желающим проверить подлинность идентификатора), не покидая текущую Web-страницу. OpenID-аутентификация использует только стандартные HTTP(S) запросы и ответы, поэтому он не требует специальных пользовательских приложений или какого-либо клиентского программного обеспечения. OpenID не привязан к использованию файлов cookie или к каким-либо другим механизмам управления сеансом. Различные расширения могут упростить использование OpenID, но не являются обязательными для использования стандарта[1].

Устройство протокола

Терминология

  • Идентификатор (Identifier, далее ID) — «http» или «https» URI (URL) или XRI[1].
  • Провайдер OpenID (OpenID Provider, далее OP или провайдер) — сервер OpenID-аутентификации, который подтверждает Интернет-сервису (любому объекту, желающему проверить подлинность идентификатора) подлинность Идентификатора конечного пользователя.
  • URL конечной точки OP (OP Endpoint URL, далее OP URL) — URL, который принимает запросы аутентификации по протоколу OpenID и содержится в Предъявляемом Идентификаторе (HTTP или HTTPS).
  • OP Идентификатор (OP Identifier, далее OP ID) — идентификатор, предъявляемый конечным пользователем провайдеру OpenID для аутентификации на сервере провайдера OpenID.
  • Предъявляемый Идентификатор (User-Supplied Identifier, далее Предъявляемый ID) — идентификатор, который конечный пользователь предоставляет Сервису, это может быть OP URL. В случае использования OP URL Провайдер предоставляет возможность конечному пользователю передать Единый Идентификатор Интернет-сервису.
  • Единый Идентификатор(Claimed Identifier, далее Единый ID) — идентификатор единой учётной записи пользователя, хранящийся на сервере. Может быть использован в качестве идентификатора учётной записи в Интернет-сервисе. Предоставление этого идентификатора и есть основная цель протокола. Единый идентификатор может находиться в Предъявляемом Идентификаторе, либо может быть получен от OP.

Механизм работы

  1. Конечный пользователь желает аутентифицироваться с помощью Предъявляемого ID на Интернет-сервисе, через свой браузер[1].
  2. Из Предъявляемого Идентификатора Интернет-сервис определяет URL Провайдера OpenID, используемого конечным пользователем. Предъявляемый ID может содержать только OP URL, который позволяет конечному пользователю, каким-то образом взаимодействуя с OP, передать Единый ID, или любую другую информацию о себе, Интернет-сервису. Переданная информация ещё не проверена Интернет-сервисом.
  3. (Не обязательно) Интернет-сервис и OP вместе создают общий секретный ключ для кода аутентификации сообщения по протоколу Диффи-Хеллмана. С помощью кода аутентификации сообщения Интернет-сервис аутентифицирует сообщение от OP без дополнительных запросов подлинности к провайдеру.
  4. Интернет-сервис перенаправляет браузер пользователя на OP с запросом аутентификации.
  5. Провайдер проверяет, авторизирован ли пользователь на сервере и хочет ли он аутентифицироваться на Интернет-сервисе. В общем случае, конечный пользователь предъявляет OP ID. Спецификация OpenID не описывает, каким образом конечный пользователь аутентифицируется у OP.
  6. OP перенаправляет браузер пользователя назад в Интернет-сервис с утверждением, что пользователь аутентифицирован или не аутентифицирован, и с результатом аутентификации — одноразовой меткой. Каждая аутентификация на сервере генерирует новую метку, которая не повторяется со сгенерированными ранее одноразовыми метками для того же пользователя. Одноразовая метка позволяет предотвратить атаки повторного воспроизведения.
  7. Интернет-сервис проверяет информацию, полученную от провайдера, включая возвращённый URL, информацию о пользователе, результат аутентификации на сервере — одноразовую метку, код аутентификации сообщения, с помощью секретного общего ключа, если он создавался на шаге 3, или, посылая прямой запрос OP.
  8. В случае успешной проверки Интернет-сервис аутентифицирует пользователя.

Уточним для третьего пункта, что OpenID-аутентификация поддерживает два алгоритма подписи:

  • HMAC-SHA1 — 160 bit key length ([www.ietf.org/rfc/rfc2104.txt [RFC2104]] и [www.ietf.org/rfc/rfc3174.txt [RFC3174]])
  • HMAC-SHA256 — 256 bit key length ([www.ietf.org/rfc/rfc3174.txt [RFC2104]] и [spatialreference.org/ref/esri/102684/ [FIPS1802]]

В спецификации рекомендуется использовать HMAC-SHA256.

OpenID Foundation

OpenID Foundation – это некоммерческая организация, которая была сформирована, чтобы управлять авторскими правами, товарными знаками, маркетинговыми компаниями  и другой деятельностью, связанной с OpenID сообществом.

Главными управляющими являются 4 члена сообщества и 8 корпоративных членов:

Члены сообщества

•   Джон Бредли (Independent) (англ. John Bradley)

•   Джордж Флетчер (AOL) (англ. George Fletcher)

•   Майк Джонс (Microsoft) (англ. Mike Jones)

•   Нат Сакимура (Nomura Research Institute) (англ. Nat Sakimura)

Корпоративные члены

•   Deutsche Telekom – Торстен Лоддерштедт (англ. Torsten Lodderstedt)

•   Google – Эрик Сахс (англ. Eric Sachs)

•   Microsoft – Энтони Надалин (англ. Anthony Nadalin)

•   PayPal – Фарханг Кассаи (англ. Farhang Kassaei)

•   Ping Identity – Памела Дингл (англ. Pamela Dingle)

•   Symantec – Поль Агбабян (англ. Paul Agbabian)

•   Verizon – Питер Типпетт (англ. Peter Tippett)

•   Yahoo – Дилан Кейси (англ. Dylan Casey)

В США в марте 2008 года OpenID Foundation зарегистрировала товарный знак OpenID. Ранее он принадлежал компании NetMesh Inc. В Европе 31 августа 2007 года товарный знак OpenID был зарегистрирован OpenID Europe Foundation.

История возникновения

В 2005 году Брэд Фицпатрик, известный как создатель LiveJournal, предложил интернет-сообществу концепцию единой учётной записи для разных интернет-ресурсов. Он предложил хранить свои учётную запись на одном сервере, а при регистрации на других интернет-ресурсах пользоваться этой учётной записью[8].

В 2006 была создана первая спецификация [openid.net/specs/openid-authentication-1_1.html OpenID Authentication 1.1].

5 декабря 2007 года Sun Microsystems, VeriSign и ряд компаний, участвующих в разработке OpenID, выпустили спецификацию [openid.net/specs/openid-authentication-2_0.html OpenID 2.0] и официально заявили, что не будут выдвигать претензии в случае использования технологии OpenID кем-либо, если только действия лица, использующего технологию, не будут направлены против реализации технологии или на правообладание технологией[9].

Товарный знак OpenID был зарегистрирован в США в марте 2008 года[10].

История версий

OpenID 1.1

OpenID 2.0

Основным отличием OpenID 1.1 от OpenID 2.0 для конечного пользователя является возможность использования XRI в качестве Идентификатора. OpenID 2.0, в отличие от OpenID 1.1, поддерживает алгоритм HMAC-SHA256 — 256-битной ([www.ietf.org/rfc/rfc3174.txt [RFC2104]] цифровой подписи, что делает аутентификацию OpenID-сообщений безопаснее. OpenID 2.0 совместим с OpenID 1.1[1].

OpenID Connect

На этой ступени своего развития стандарт OpenID претерпел ряд грандиозных изменений. Разработчики отказались от формата XML в пользу JSON по стандарту JWT, что сильно упрощает внедрение OpenID Connect в различные приложения. Еще одним существенным отличием от предыдущих версий является новый подход в области децентрализации OpenID. Если раньше провайдером могли стать лишь крупные компании при соблюдении довольно серьезных требований, то сейчас в качестве OpenID провайдера может выступать чуть ли не все что угодно, начиная от вашего веб-сайта и заканчивая телефоном или стиральной машинкой.

Уязвимости

Фишинговые атаки

Некоторые интернет-пользователи считают, что протокол OpenID уязвим к фишинговым атакам, когда вместо OP злоумышленники направляют конечного пользователя на сайт с похожим дизайном. Конечный пользователь вводит свой OP ID, и злоумышленникам в руки попадает информация, с помощью которой они могут представляться Интернет-ресурсам конечным пользователем[11]. OpenID не содержит механизмов предотвращения фишинговых атак. Ответственность за фишинговые атаки перекладывается на провайдеров OpenID[1].

Захват подтверждения аутентификации

Если в процессе аутентификации конечного пользователя не используется SSL-шифрование, злоумышленник может перехватить URL и предъявить его Интернет-ресурсу вместо конечного пользователя и получить доступ к ресурсу от его имени [12].

Партнёры и спонсоры

Google, Microsoft, Yahoo!, Symantec, Verizon, PayPal, Ping Identity[13].

Делегирование OpenID

Существует возможность делегирования OpenID. Это означает, что владелец некоего доменного имени может использовать его в качестве синонима (алиаса) к уже существующему OpenID, полученному у любого провайдера OpenID[14].

Успешность

На декабрь 2009 года, существовало более 1 миллиарда аккаунтов OpenID и около 9 миллионов сайтов, поддерживающих технологию OpenID[15].

Аналоги

  • Mozilla Persona
  • TypeKey
  • uID — универсальный логин (e-mail адрес), используемый в uNet-сообществе и большинстве сайтов системы uCoz
  • Google Friend Connect — платформа, позволяющая принимать авторизацию на сайте без регистрации. Авторизация по OpenID, Google, AIM и Yahoo
  • Facebook Connect[16] - аналогичная OpenID Connect технология. Имеет проприетарный формат подписи, компания Facebook является единственным провайдером, в отличие от открытости и децентрализации OpenID.

Напишите отзыв о статье "OpenID"

Примечания

  1. 1 2 3 4 5 6 OpenID Authentication 2.0.
  2. Technology Leaders Join OpenID Foundation.
  3. Steam Web API.
  4. get-an-openid.
  5. Use an OpenID Account.
  6. [openidenabled.com/php-openid/ PHP/Ruby/Python/DotNet/Java OpenID Library]. [www.webcitation.org/61Bq6VRDB Архивировано из первоисточника 25 августа 2011].
  7. OpenID Book.
  8. Distributed Identity: Yadis.
  9. Sun OpenID: Non-Assertion Covenant.
  10. Trademark Assignment Abstract of Title.
  11. Phishing attacks.
  12. Single Sign-On For The Internet.
  13. Sponsoring Members.
  14. [help.yandex.ru/openid/create.xml Создание OpenID-адреса]. Яндекс.
  15. OpenID 2009 Year in Review.
  16. [developers.facebook.com/blog/post/2008/05/09/announcing-facebook-connect/ Announcing Facebook Connect - Facebook for Developers] (en-US). Facebook Developers. Проверено 9 ноября 2015.

См. также

Литература

  1. Mark Ciampa. [books.google.ru/books?id=CIHYWBrg9JQC&printsec=frontcover&dq=OpenID&hl=ru&sa=X&ei=YjO9UrftCorP4QTcgoGICQ&ved=0CDkQ6AEwAQ#v=onepage&q=OpenID&f=false Sequrity + Guide To Network Sequrity Fundamentals]. — 2012. — С. 400.
  1. Refeeq ur Rehman, CISSP. [books.google.ru/books?id=i7yL2yCy-SUC&printsec=frontcover&dq=OpenID&hl=ru&sa=X&ei=Ja68UreZJMOs4ASG2oHQBw&ved=0CDAQ6AEwAA#v=onepage&q&f=false OpenID Book]. — 2007.

Ссылки

  • [openid.net/ OpenID Foundation] (англ.).
  • Brad Fitzpatrick , David Recordon , Dick Hardt, Josh Hoyt [openid.net/specs/openid-authentication-2_0.html OpenID Authentication 2.0 - Final] (англ.). — 2007.
  • Paul Crowley [lists.danga.com/pipermail/yadis/2005-June/000470.html Phishing attacks on OpenID] (англ.). — 2005.
  • Eugene Tsyrklivich, Vlad Tsyrklivich [www.blackhat.com/presentations/bh-usa-07/Tsyrklevich/Whitepaper/bh-usa-07-tsyrklevich-WP.pdf Single Sign-On For The Internet: A Sequrity Story] (англ.) // BlackHat USA, Las Vegas 2007. — 2007.
  • Brian Kissel [openid.net/2009/12/16/openid-2009-year-in-review/ OpenID 2009 Year in Review] (англ.). — 2009.
  • [www-03.ibm.com/press/us/en/pressrelease/23461.wss Technology Leaders Join OpenID Foundation] (англ.). — 2008.
  • [steamcommunity.com/dev Steam Web API] (англ.).
  • Brad Fitzpatrick [lj-dev.livejournal.com/683939.html Distributed Identity: Yadis] (англ.). — 2005.
  • United States Patent and Trademark Office [assignments.uspto.gov/assignments/q?db=tm&sno=78899244 Trademark Assignment Abstract of Title] (англ.). — 2008.
  • Brad Fitzpatrick [www.oracle.com/us/sun/index.htm Sun OpenID: Non-Assertion Covenant] (англ.). — 2008.
  • [openidexplained.com/ OpenID explained] (англ.).

__DISAMBIG__

Отрывок, характеризующий OpenID

– C'est bien beau ce que vous venez de dire, [Прекрасно! прекрасно то, что вы сказали,] – сказала сидевшая подле него Жюли, вздыхая. Соня задрожала вся и покраснела до ушей, за ушами и до шеи и плеч, в то время как Николай говорил. Пьер прислушался к речам полковника и одобрительно закивал головой.
– Вот это славно, – сказал он.
– Настоящэ й гусар, молодой человэк, – крикнул полковник, ударив опять по столу.
– О чем вы там шумите? – вдруг послышался через стол басистый голос Марьи Дмитриевны. – Что ты по столу стучишь? – обратилась она к гусару, – на кого ты горячишься? верно, думаешь, что тут французы перед тобой?
– Я правду говору, – улыбаясь сказал гусар.
– Всё о войне, – через стол прокричал граф. – Ведь у меня сын идет, Марья Дмитриевна, сын идет.
– А у меня четыре сына в армии, а я не тужу. На всё воля Божья: и на печи лежа умрешь, и в сражении Бог помилует, – прозвучал без всякого усилия, с того конца стола густой голос Марьи Дмитриевны.
– Это так.
И разговор опять сосредоточился – дамский на своем конце стола, мужской на своем.
– А вот не спросишь, – говорил маленький брат Наташе, – а вот не спросишь!
– Спрошу, – отвечала Наташа.
Лицо ее вдруг разгорелось, выражая отчаянную и веселую решимость. Она привстала, приглашая взглядом Пьера, сидевшего против нее, прислушаться, и обратилась к матери:
– Мама! – прозвучал по всему столу ее детски грудной голос.
– Что тебе? – спросила графиня испуганно, но, по лицу дочери увидев, что это была шалость, строго замахала ей рукой, делая угрожающий и отрицательный жест головой.
Разговор притих.
– Мама! какое пирожное будет? – еще решительнее, не срываясь, прозвучал голосок Наташи.
Графиня хотела хмуриться, но не могла. Марья Дмитриевна погрозила толстым пальцем.
– Казак, – проговорила она с угрозой.
Большинство гостей смотрели на старших, не зная, как следует принять эту выходку.
– Вот я тебя! – сказала графиня.
– Мама! что пирожное будет? – закричала Наташа уже смело и капризно весело, вперед уверенная, что выходка ее будет принята хорошо.
Соня и толстый Петя прятались от смеха.
– Вот и спросила, – прошептала Наташа маленькому брату и Пьеру, на которого она опять взглянула.
– Мороженое, только тебе не дадут, – сказала Марья Дмитриевна.
Наташа видела, что бояться нечего, и потому не побоялась и Марьи Дмитриевны.
– Марья Дмитриевна? какое мороженое! Я сливочное не люблю.
– Морковное.
– Нет, какое? Марья Дмитриевна, какое? – почти кричала она. – Я хочу знать!
Марья Дмитриевна и графиня засмеялись, и за ними все гости. Все смеялись не ответу Марьи Дмитриевны, но непостижимой смелости и ловкости этой девочки, умевшей и смевшей так обращаться с Марьей Дмитриевной.
Наташа отстала только тогда, когда ей сказали, что будет ананасное. Перед мороженым подали шампанское. Опять заиграла музыка, граф поцеловался с графинюшкою, и гости, вставая, поздравляли графиню, через стол чокались с графом, детьми и друг с другом. Опять забегали официанты, загремели стулья, и в том же порядке, но с более красными лицами, гости вернулись в гостиную и кабинет графа.


Раздвинули бостонные столы, составили партии, и гости графа разместились в двух гостиных, диванной и библиотеке.
Граф, распустив карты веером, с трудом удерживался от привычки послеобеденного сна и всему смеялся. Молодежь, подстрекаемая графиней, собралась около клавикорд и арфы. Жюли первая, по просьбе всех, сыграла на арфе пьеску с вариациями и вместе с другими девицами стала просить Наташу и Николая, известных своею музыкальностью, спеть что нибудь. Наташа, к которой обратились как к большой, была, видимо, этим очень горда, но вместе с тем и робела.
– Что будем петь? – спросила она.
– «Ключ», – отвечал Николай.
– Ну, давайте скорее. Борис, идите сюда, – сказала Наташа. – А где же Соня?
Она оглянулась и, увидав, что ее друга нет в комнате, побежала за ней.
Вбежав в Сонину комнату и не найдя там свою подругу, Наташа пробежала в детскую – и там не было Сони. Наташа поняла, что Соня была в коридоре на сундуке. Сундук в коридоре был место печалей женского молодого поколения дома Ростовых. Действительно, Соня в своем воздушном розовом платьице, приминая его, лежала ничком на грязной полосатой няниной перине, на сундуке и, закрыв лицо пальчиками, навзрыд плакала, подрагивая своими оголенными плечиками. Лицо Наташи, оживленное, целый день именинное, вдруг изменилось: глаза ее остановились, потом содрогнулась ее широкая шея, углы губ опустились.
– Соня! что ты?… Что, что с тобой? У у у!…
И Наташа, распустив свой большой рот и сделавшись совершенно дурною, заревела, как ребенок, не зная причины и только оттого, что Соня плакала. Соня хотела поднять голову, хотела отвечать, но не могла и еще больше спряталась. Наташа плакала, присев на синей перине и обнимая друга. Собравшись с силами, Соня приподнялась, начала утирать слезы и рассказывать.
– Николенька едет через неделю, его… бумага… вышла… он сам мне сказал… Да я бы всё не плакала… (она показала бумажку, которую держала в руке: то были стихи, написанные Николаем) я бы всё не плакала, но ты не можешь… никто не может понять… какая у него душа.
И она опять принялась плакать о том, что душа его была так хороша.
– Тебе хорошо… я не завидую… я тебя люблю, и Бориса тоже, – говорила она, собравшись немного с силами, – он милый… для вас нет препятствий. А Николай мне cousin… надобно… сам митрополит… и то нельзя. И потом, ежели маменьке… (Соня графиню и считала и называла матерью), она скажет, что я порчу карьеру Николая, у меня нет сердца, что я неблагодарная, а право… вот ей Богу… (она перекрестилась) я так люблю и ее, и всех вас, только Вера одна… За что? Что я ей сделала? Я так благодарна вам, что рада бы всем пожертвовать, да мне нечем…
Соня не могла больше говорить и опять спрятала голову в руках и перине. Наташа начинала успокоиваться, но по лицу ее видно было, что она понимала всю важность горя своего друга.
– Соня! – сказала она вдруг, как будто догадавшись о настоящей причине огорчения кузины. – Верно, Вера с тобой говорила после обеда? Да?
– Да, эти стихи сам Николай написал, а я списала еще другие; она и нашла их у меня на столе и сказала, что и покажет их маменьке, и еще говорила, что я неблагодарная, что маменька никогда не позволит ему жениться на мне, а он женится на Жюли. Ты видишь, как он с ней целый день… Наташа! За что?…
И опять она заплакала горьче прежнего. Наташа приподняла ее, обняла и, улыбаясь сквозь слезы, стала ее успокоивать.
– Соня, ты не верь ей, душенька, не верь. Помнишь, как мы все втроем говорили с Николенькой в диванной; помнишь, после ужина? Ведь мы всё решили, как будет. Я уже не помню как, но, помнишь, как было всё хорошо и всё можно. Вот дяденьки Шиншина брат женат же на двоюродной сестре, а мы ведь троюродные. И Борис говорил, что это очень можно. Ты знаешь, я ему всё сказала. А он такой умный и такой хороший, – говорила Наташа… – Ты, Соня, не плачь, голубчик милый, душенька, Соня. – И она целовала ее, смеясь. – Вера злая, Бог с ней! А всё будет хорошо, и маменьке она не скажет; Николенька сам скажет, и он и не думал об Жюли.
И она целовала ее в голову. Соня приподнялась, и котеночек оживился, глазки заблистали, и он готов был, казалось, вот вот взмахнуть хвостом, вспрыгнуть на мягкие лапки и опять заиграть с клубком, как ему и было прилично.
– Ты думаешь? Право? Ей Богу? – сказала она, быстро оправляя платье и прическу.
– Право, ей Богу! – отвечала Наташа, оправляя своему другу под косой выбившуюся прядь жестких волос.
И они обе засмеялись.
– Ну, пойдем петь «Ключ».
– Пойдем.
– А знаешь, этот толстый Пьер, что против меня сидел, такой смешной! – сказала вдруг Наташа, останавливаясь. – Мне очень весело!
И Наташа побежала по коридору.
Соня, отряхнув пух и спрятав стихи за пазуху, к шейке с выступавшими костями груди, легкими, веселыми шагами, с раскрасневшимся лицом, побежала вслед за Наташей по коридору в диванную. По просьбе гостей молодые люди спели квартет «Ключ», который всем очень понравился; потом Николай спел вновь выученную им песню.
В приятну ночь, при лунном свете,
Представить счастливо себе,
Что некто есть еще на свете,
Кто думает и о тебе!
Что и она, рукой прекрасной,
По арфе золотой бродя,
Своей гармониею страстной
Зовет к себе, зовет тебя!
Еще день, два, и рай настанет…
Но ах! твой друг не доживет!
И он не допел еще последних слов, когда в зале молодежь приготовилась к танцам и на хорах застучали ногами и закашляли музыканты.

Пьер сидел в гостиной, где Шиншин, как с приезжим из за границы, завел с ним скучный для Пьера политический разговор, к которому присоединились и другие. Когда заиграла музыка, Наташа вошла в гостиную и, подойдя прямо к Пьеру, смеясь и краснея, сказала:
– Мама велела вас просить танцовать.
– Я боюсь спутать фигуры, – сказал Пьер, – но ежели вы хотите быть моим учителем…
И он подал свою толстую руку, низко опуская ее, тоненькой девочке.
Пока расстанавливались пары и строили музыканты, Пьер сел с своей маленькой дамой. Наташа была совершенно счастлива; она танцовала с большим , с приехавшим из за границы . Она сидела на виду у всех и разговаривала с ним, как большая. У нее в руке был веер, который ей дала подержать одна барышня. И, приняв самую светскую позу (Бог знает, где и когда она этому научилась), она, обмахиваясь веером и улыбаясь через веер, говорила с своим кавалером.
– Какова, какова? Смотрите, смотрите, – сказала старая графиня, проходя через залу и указывая на Наташу.
Наташа покраснела и засмеялась.
– Ну, что вы, мама? Ну, что вам за охота? Что ж тут удивительного?

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


В то время как у Ростовых танцовали в зале шестой англез под звуки от усталости фальшививших музыкантов, и усталые официанты и повара готовили ужин, с графом Безухим сделался шестой удар. Доктора объявили, что надежды к выздоровлению нет; больному дана была глухая исповедь и причастие; делали приготовления для соборования, и в доме была суетня и тревога ожидания, обыкновенные в такие минуты. Вне дома, за воротами толпились, скрываясь от подъезжавших экипажей, гробовщики, ожидая богатого заказа на похороны графа. Главнокомандующий Москвы, который беспрестанно присылал адъютантов узнавать о положении графа, в этот вечер сам приезжал проститься с знаменитым Екатерининским вельможей, графом Безухим.
Великолепная приемная комната была полна. Все почтительно встали, когда главнокомандующий, пробыв около получаса наедине с больным, вышел оттуда, слегка отвечая на поклоны и стараясь как можно скорее пройти мимо устремленных на него взглядов докторов, духовных лиц и родственников. Князь Василий, похудевший и побледневший за эти дни, провожал главнокомандующего и что то несколько раз тихо повторил ему.
Проводив главнокомандующего, князь Василий сел в зале один на стул, закинув высоко ногу на ногу, на коленку упирая локоть и рукою закрыв глаза. Посидев так несколько времени, он встал и непривычно поспешными шагами, оглядываясь кругом испуганными глазами, пошел чрез длинный коридор на заднюю половину дома, к старшей княжне.
Находившиеся в слабо освещенной комнате неровным шопотом говорили между собой и замолкали каждый раз и полными вопроса и ожидания глазами оглядывались на дверь, которая вела в покои умирающего и издавала слабый звук, когда кто нибудь выходил из нее или входил в нее.
– Предел человеческий, – говорил старичок, духовное лицо, даме, подсевшей к нему и наивно слушавшей его, – предел положен, его же не прейдеши.
– Я думаю, не поздно ли соборовать? – прибавляя духовный титул, спрашивала дама, как будто не имея на этот счет никакого своего мнения.
– Таинство, матушка, великое, – отвечало духовное лицо, проводя рукою по лысине, по которой пролегало несколько прядей зачесанных полуседых волос.
– Это кто же? сам главнокомандующий был? – спрашивали в другом конце комнаты. – Какой моложавый!…
– А седьмой десяток! Что, говорят, граф то не узнает уж? Хотели соборовать?
– Я одного знал: семь раз соборовался.
Вторая княжна только вышла из комнаты больного с заплаканными глазами и села подле доктора Лоррена, который в грациозной позе сидел под портретом Екатерины, облокотившись на стол.
– Tres beau, – говорил доктор, отвечая на вопрос о погоде, – tres beau, princesse, et puis, a Moscou on se croit a la campagne. [прекрасная погода, княжна, и потом Москва так похожа на деревню.]
– N'est ce pas? [Не правда ли?] – сказала княжна, вздыхая. – Так можно ему пить?
Лоррен задумался.
– Он принял лекарство?
– Да.
Доктор посмотрел на брегет.
– Возьмите стакан отварной воды и положите une pincee (он своими тонкими пальцами показал, что значит une pincee) de cremortartari… [щепотку кремортартара…]
– Не пило слушай , – говорил немец доктор адъютанту, – чтопи с третий удар шивь оставался .
– А какой свежий был мужчина! – говорил адъютант. – И кому пойдет это богатство? – прибавил он шопотом.
– Окотник найдутся , – улыбаясь, отвечал немец.
Все опять оглянулись на дверь: она скрипнула, и вторая княжна, сделав питье, показанное Лорреном, понесла его больному. Немец доктор подошел к Лоррену.
– Еще, может, дотянется до завтрашнего утра? – спросил немец, дурно выговаривая по французски.
Лоррен, поджав губы, строго и отрицательно помахал пальцем перед своим носом.
– Сегодня ночью, не позже, – сказал он тихо, с приличною улыбкой самодовольства в том, что ясно умеет понимать и выражать положение больного, и отошел.

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