Открыть сервис

Протокол OSCAR

Протокол OSCAR — это открытый сетевой протокол прикладного уровня, предназначенный для обмена мгновенными сообщениями, передачи файлов и управления статусом пользователя. Разработан компанией AOL (America Online) в конце 1990-х годов и является основой для работы сервисов AIM (AOL Instant Messenger) и ICQ. Название является аббревиатурой от англ. Open System for Communication in Realtime (Открытая система для общения в реальном времени). Протокол обеспечивает клиент-серверную архитектуру, где все сообщения проходят через центральные серверы, а не передаются напрямую между пользователями (peer-to-peer).

История

Протокол OSCAR был создан компанией AOL для замены устаревшего протокола TOC (Talk to OSCAR), который использовался в ранних версиях AIM. Разработка началась в середине 1990-х годов, и первая версия протокола была внедрена в 1997 году вместе с выходом AIM 2.0. В 1998 году AOL приобрела компанию Mirabilis, создателя ICQ, и впоследствии адаптировала OSCAR для обслуживания обеих платформ — AIM и ICQ.

В 2008 году AOL объявила о частичной открытости протокола, опубликовав спецификации для некоторых его компонентов (в частности, для базового обмена сообщениями и управления списком контактов). Однако полная документация, включая механизмы шифрования и авторизации, оставалась закрытой. Это привело к тому, что сторонние разработчики (например, создатели клиента Pidgin) были вынуждены использовать метод обратного проектирования для поддержки OSCAR.

С 2010-х годов популярность AIM и ICQ начала резко падать из-за конкуренции со стороны Skype, WhatsApp (продукт Meta, признанной экстремистской и запрещённой в РФ) и Telegram. В 2017 году AOL прекратила поддержку AIM, а в 2024 году — и ICQ, что фактически остановило использование протокола OSCAR. На данный момент протокол считается устаревшим и не поддерживается официально, хотя некоторые энтузиасты продолжают запускать частные серверы, эмулирующие его работу.

Архитектура и принцип работы

Клиент-серверная модель

OSCAR использует централизованную архитектуру. Все клиенты подключаются к серверам AOL (или их аналогам), которые выполняют функции маршрутизации сообщений, аутентификации и хранения списка контактов. Прямая передача данных между пользователями (P2P) возможна только для передачи файлов, но и в этом случае сервер выступает в роли координатора.

Основные компоненты

  • Сервер аутентификации (Login Server) — проверяет учётные данные пользователя (логин и пароль) и выдаёт временный сессионный ключ.
  • Сервер сообщений (Message Server) — обрабатывает текстовые сообщения, управляет очередями и доставкой.
  • Сервер статусов (Status Server) — отслеживает онлайн-статус пользователей (в сети, отошёл, невидимка и т.д.).
  • Сервер списка контактов (Buddy List Server) — хранит и синхронизирует список друзей пользователя.

Формат данных

Сообщения в OSCAR передаются в виде пакетов, структура которых включает:

  • TLV-блоки (Type-Length-Value) — универсальный формат для передачи данных, где каждый блок содержит идентификатор типа, длину и значение.
  • SNAC-пакеты (Sign-on Name and Address Command) — основной тип командных пакетов, используемый для обмена сообщениями и управления сессией.

Классификация и версии

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

  1. OSCAR v1 (1997–2000) — базовая версия, использовавшаяся в AIM 2.0–4.0. Отличалась простотой и отсутствием шифрования.
  2. OSCAR v2 (2000–2005) — добавлена поддержка ICQ, введены механизмы шифрования (RC4) и расширенные статусы.
  3. OSCAR v3 (2005–2010) — улучшена безопасность, введена поддержка передачи файлов и голосовых сообщений.
  4. OSCAR v4 (2010–2017) — финальная версия, использовавшаяся в AIM 7.x и ICQ 7.x. Включала поддержку протокола HTTPS для некоторых серверных операций.

Особенности и функции

Шифрование

В ранних версиях OSCAR не использовал шифрование, что делало сообщения уязвимыми для перехвата. Начиная с версии 2, AOL внедрила шифрование на основе алгоритма RC4 с 40-битным ключом (из-за экспортных ограничений США). В более поздних версиях (v3 и v4) использовалось AES-128 для передачи файлов и TLS для подключения к серверам аутентификации.

Режимы невидимости

Протокол поддерживал несколько режимов отображения статуса, включая «Невидимка» (Invisible), при котором пользователь оставался в сети, но не отображался в списках контактов других пользователей. Этот режим был реализован через специальные SNAC-команды.

Передача файлов

Для передачи файлов OSCAR использовал протокол OFTP (OSCAR File Transfer Protocol), который сначала устанавливал P2P-соединение через сервер-посредник, а затем передавал данные напрямую. В случае невозможности P2P (например, из-за NAT) данные передавались через сервер.

Применение

AIM и ICQ

Основными клиентами, использующими OSCAR, были:

  • AIM (AOL Instant Messenger) — популярный в США в 1990–2000-х годах мессенджер, закрытый в 2017 году.
  • ICQ — широко распространённый в России и странах СНГ в начале 2000-х годов. В России ICQ был особенно популярен среди пользователей, использующих интернет-пейджеры. В 2024 году ICQ прекратил работу, а его серверы были отключены.

Сторонние клиенты

Благодаря частичной открытости протокола, OSCAR поддерживался в сторонних клиентах, таких как:

  • Pidgin (ранее Gaim) — мультипротокольный мессенджер с открытым исходным кодом.
  • Miranda IM — популярный в России клиент для Windows.
  • Trillian — коммерческий клиент, поддерживавший OSCAR наряду с другими протоколами.

Критика и ограничения

Закрытость и обратное проектирование

Долгое время AOL не публиковала полную спецификацию протокола, что вынуждало сторонних разработчиков заниматься обратным проектированием. Это приводило к нестабильной работе сторонних клиентов — при каждом обновлении серверной части AOL (например, добавлении нового типа SNAC-пакета) многие клиенты переставали работать.

Проблемы безопасности

Использование RC4 с коротким ключом (40 бит) делало протокол уязвимым для атак методом перебора. Кроме того, отсутствие сквозного шифрования (end-to-end) означало, что AOL (или владелец сервера) могла читать все сообщения пользователей. Это вызывало критику со стороны правозащитных организаций, особенно после скандала с программой PRISM в 2013 году.

Централизация

Зависимость от центральных серверов AOL делала протокол уязвимым для сбоев и атак типа DDoS. В 2000-х годах неоднократно происходили массовые отключения сервисов AIM и ICQ из-за технических проблем.

Интересные факты

  • Протокол OSCAR был одним из первых, кто реализовал концепцию «списка контактов» (buddy list), хранящегося на сервере, а не локально. Это позволяло пользователям видеть свой список друзей с любого устройства.
  • В 2002 году хакерская группа «Cult of the Dead Cow» выпустила утилиту «AIM Sniffer», которая позволяла перехватывать и расшифровывать сообщения OSCAR, что привело к временному ужесточению политики безопасности AOL.
  • В России ICQ на базе OSCAR долгое время оставался самым популярным мессенджером — по данным на 2006 год, им пользовалось около 70% интернет-аудитории страны. Это было связано с простотой регистрации и отсутствием необходимости в номере телефона.

Источники

  • Спецификация протокола OSCAR (частичная публикация AOL, 2008)
  • Документация проекта Pidgin по обратному проектированию OSCAR
  • История развития ICQ и AIM (материалы корпорации AOL)
  • Анализ безопасности протокола OSCAR (журнал «Хакер», 2003)
  • Статистика использования мессенджеров в России (ФОМ, 2006–2010)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →