Для поддержки приложений, основанных на web-технологиях, либо связанных с CPE web-страниц back-end web-сайта, доступного в браузере внутри локальной сети CPE, протокол CWMP предоставляет опциональный механизм, позволяющий таким web-сайтам настраивать их содержимое в соответствии с явным знанием клиента, связанного с CPE. Т. е. место расположения пользователей, которые открывают в браузере web-страницы изнутри CPE LAN, может быть автоматически идентифицировано без какого-либо ручного процесса логина.
Примечание: расшифровку незнакомых терминов и аббревиатур см. в разделе "1.6. Терминология" статьи [16], там также приведен перевод общего описания протокола CWMP/TR-069 из документации [1].
Протокол CWMP определяет набор опциональных интерфейсов, позволяющих web-сайту инициировать коммуникацию между CPE и ACS, что позволяет web-сайту, связанному с этим ACS, идентифицировать, за каким CPE работает пользователь. Это позволяет web-сайту настроить свое содержимое, чтобы оно было специфичным для конкретной учетной записи клиента, определенного типа CPE, или любой другой характеристики, которая известна ACS.
Замечание: этот механизм идентификации не различает отдельных пользователей, находящихся внутри одной и той же сети одного CPE. В ситуациях, где необходима идентификация определенного пользователя, может понадобиться отдельный механизм идентификации, такой как ручной логин.
[D.2. Использование RPC-метода Kicked]
Протокол CWMP в Приложении A [17] определяет опциональный метод Kicked, который может использоваться для поддержки функционала управления web-идентификацией.
Запуск CPE метода Kicked инициируется внешними по отношению к CPE стимулами. Эти подразумевается, что эти внешние стимулы основаны на web, так что связанный метод предоставляет способ для передачи информации, которая была бы полезна в web-транзакции. Предлагаемое определение интерфейса стимула приведено в секции D.4.
Информация, содержащаяся в вызове метода Kicked, включает как информацию, необходимую для уникальной идентификации CPE, но также параметры, которые могут использоваться для ассоциации вызова метода с определенной web-сессией браузера.
Ответ на метод Kicked позволяет серверу ACS указать URL, на который должен быть перенаправлен браузер. Этот URL может содержать аргументы CGI, позволяющие серверу ACS продолжить отслеживание сессии браузера.
[D.3. Процедуры Web Identity Management]
Механизм управления web-идентификацией (Web Identity Management) основан на модели, в которой web-сервер ассоциирован с ACS и коммуницирует с ним. Всякий раз, когда этот web-сервер хочет идентифицировать CPE пользователя, или заставить CPE установить соединение с ACS для какой-то другой цели, может произойти следующая последовательность событий (при нормальных условиях):
1. Браузер пользователя обращается к web-странице, для которой необходима информация об CPE пользователя, или для которой необходима коммуникация с CPE пользователя.
2. Web-сайт перенаправляет браузер на определенный URL, доступный только из интерфейса частной сети CPE (LAN), через который браузер "пинает" (kick) CPE, предоставляя CPE через аргументы CGI информацию, необходимую на последующих шагах (см. секцию D.4).
3. CPE оповещает ACS, что произошел "пинок" CPE, используя вызов RPC-метода Kicked, определенного в Приложении A [17]. В этом вызове метода CPE идентифицирует себя и передает информацию, уникально идентифицирующую сессию браузера.
4. ACS отвечает на этот вызов метода передачей URL, на который CPE должен перенаправить браузер пользователя. Этот URL обычно включает аргументы CGI, которые идентифицируют состояние сеанса. Пока соединение открыто, ACS может также инициировать любые другие соответствующие транзакции RPC.
5. CPE отвечает на HTTP-запрос браузера перенаправлением на URL, указанный сервером ACS.
Этот обмен позволяет ACS уникально идентифицировать CPE; потенциально генерировать специальную страницу, основанную на знании конкретного пользователя, его окружения и связанными с его учетной записью привилегиями; и затем направить пользователя на специально сформированную web-страницу.
ACS может также инициировать любые другие RPC-транзакции, соответствующие определенному действию пользователя. Например, если пользователь запросил на web-странице обновление firmware для своего CPE, то ACS может дать команду CPE инициировать загрузку файла через то же самое соединение, по которому ACS отвечает на вызов метода Kicked.
Рис. 7 показывает последовательность событий, связанных с этим механизмом. Показанные номера соответствуют номерам перечисленных выше шагов.
Рис. 7. Последовательность событий для "kick"-механизма.
[D.4. Интерфейс на стороне LAN]
CPE МОЖЕТ поддержать управление web-идентификацией, предоставляя изнутри LAN web URL, доступную из браузера, находящегося в локальной сети.
Соответствующий web-сервер в CPE ДОЛЖЕН поддерживать CGI-аргументы для передачи в соответствующие аргументы в RPC-методе Kicked, определенном в Приложении A [17]. РЕКОМЕНДУЕМЫЕ аргументы перечислены в таблице 64.
Таблица 64. Рекомендуемые CGI-аргументы для kick URL.
Имя |
Тип |
Значение |
command |
string(32) |
Значение для передачи в аргументе Command вызова метода Kicked. Этот CGI-аргумент позволяет ACS идентифицировать команду, которую он должен выполнить в ответ на результирующий вызов метода Kicked. |
arg |
string(256) |
Значение для передачи в аргументе Arg вызова метода Kicked. Этот CGI-аргумент может использоваться ACS для передачи аргументов в соответствующую команду. Конкретное использование для этого аргумента не определено. |
next |
string(1024) |
Значение для передачи в аргументе Next вызова метода Kicked. Здесь содержится URL web-сайта, на который нужно направить браузер после завершения обработки Kicked. ACS, обрабатывающий метод Kicked, может переназначить этот запрос и возвратить другой URL в ответе на Kicked. |
Для инициации kick-процесса браузер будет направлен на CPE URL, например через HTTP 302 redirect, или через form post. Этот доступ будет включать CGI-аргументы, определенные в таблице 64. Например, браузер может быть перенаправлен на страницу:
http://cpe-host-name/kick.html?command=< #>&arg=< arg>&next=< url>
После того, как CPE получит соответствующий HTTP GET request, CPE ДОЛЖЕН инициировать вызов метода Kicked, используя CGI-аргументы для заполнения аргументов метода, как это определено в Приложении A.
CPE ДОЛЖЕН ограничить количество вызовов метода Kicked, которые он посылает ACS в каждый час, определенным максимальным значением. Получение kick-запроса, превышающее это максимальное значение, считается нарушением безопасности и НЕ ДОЛЖНО привести к вызову метода Kicked.
[Ссылки]
1. TR-069: CPE WAN Management Protocol https://www.broadband-forum.org/pdfs/tr-069-1-1-0.pdf. 2. TR-046: Auto-Configuration Architecture & Framework https://www.broadband-forum.org/pdfs/tr-046-1-0-0.pdf. 3. TR-062: Auto-Config for the Connection Between the DSL Broadband Network Termination (B-NT) and the Network using ATM (TR-037 update) https://www.broadband-forum.org/pdfs/tr-062-1-0-0.pdf. 4. TR-044: Auto-Configuration for Basic Internet (IP-based) Services https://www.broadband-forum.org/pdfs/tr-044-1-0-0.pdf. 5. RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1 http://www.ietf.org/rfc/rfc2616.txt. 6. RFC 2617, HTTP Authentication: Basic and Digest Access Authentication http://www.ietf.org/rfc/rfc2617.txt. 7. RFC 2965, HTTP State Management Mechanism http://www.ietf.org/rfc/rfc2965.txt. 8. Simple Object Access Protocol (SOAP) 1.1 http://www.w3.org/TR/2000/NOTE-SOAP-20000508. 9. Organizationally Unique Identifiers (OUIs) http://standards.ieee.org/faqs/OUI.html. 10. The SSL Protocol, Version 3.0 http://www.netscape.com/eng/ssl3/draft302.txt. 11. RFC 2246, The TLS Protocol, Version 1.0 http://www.ietf.org/rfc/rfc2246.txt. 12. RFC 2132, DHCP Options and BOOTP Vendor Extensions http://www.ietf.org/rfc/rfc2132.txt. 13. XML-Signature Syntax and Processing, http://www.w3.org/2000/09/xmldsig. 14. PKCS #7, Cryptographic Message Syntax Standard http://www.rsasecurity.com/rsalabs/pkcs/pkcs-7/index.html, или http://www.ietf.org/rfc/rfc2315.txt. 15. TR-069 cwmp client implementation: open sources comparison site:stackoverflow.com. 16. TR-069: протокол CWMP для управления сетевыми устройствами. 17. TR-069, Приложение A: методы RPC. |