RFC 8160 | Режим терминала IUTF8 в защищенной оболочке (SSH)

Аннотация

Этот документ определяет новый код операции в кодировке режимов терминала Secure Shell. Новый код операции описывает широко используемый бит режима терминала IUTF8, который указывает, что ввод / вывод терминала использует кодировку символов UTF-8.

Скачать оригинальный документ на английском языке RFC 8160 PDF

Оглавление

1. Введение
2. Условные обозначения, используемые в этом документе
3. Новый код операции IUTF8 для кодирования в терминальном режиме
4. Соображения IANA
5. Вопросы безопасности
6. Ссылки
6.1. Нормативные ссылки
6.2. Информационные ссылки
Благодарности
Авторы Адреса

Статус этой заметки

Это документ по отслеживанию стандартов Интернета.

Этот документ является продуктом Инженерной рабочей группы по Интернету (IETF). Он представляет собой консенсус сообщества IETF. Он получил общественную рецензию и был одобрен для публикации Руководящей группой по Интернет-разработкам (IESG). Дополнительная информация о Интернет-стандартах доступна в Разделе 2 RFC 7841.

Информацию о текущем состоянии этого документа, любых ошибках и способах предоставления отзывов о нем можно получить по адресу http://www.rfc-editor.org/info/rfc8160.

Уведомление об авторских правах

Copyright (c) 2017 IETF Trust и лица, указанные в качестве авторов документа. Все права защищены.

На данный документ распространяется действие ППГ 78 и Правовые положения IETF Trust, касающиеся документов IETF (http://trustee.ietf.org/license-info), действующие на дату публикации этого документа. Пожалуйста, внимательно ознакомьтесь с этими документами, так как они описывают ваши права и ограничения в отношении этого документа. Компоненты кода, извлеченные из этого документа, должны содержать текст Упрощенной лицензии BSD, как описано в Разделе 4.e Правил доверия, и предоставляются без гарантии, как описано в Упрощенной лицензии BSD.

1. Введение

Протокол соединения Secure Shell (SSH) [RFC4254] обеспечивает кодирование для режимов терминала, используемых в типе запроса канала «pty-req».

Обычно используемый режим терминала — IUTF8, который указывает, что драйвер терминала должен предполагать, что ввод / вывод терминала использует кодировку символов UTF-8 [RFC3629]. Обычно он используется драйвером терминала ядра на сервере, чтобы решить, сколько байтов ввода следует рассматривать как один логический символ во время редактирования строки.

В настоящее время SSH не предоставляет кодировку для IUTF8. Этот документ определяет один.

2. Условные обозначения, используемые в этом документе

Ключевые слова «ОБЯЗАН — MUST», «НЕ ОБЯЗАН — MUST NOT», «ТРЕБУЕТСЯ — REQUIRED», «ДОЛЖЕН — SHALL», «НЕ ДОЛЖЕН — SHALL NOT», «СЛЕДУЕТ — SHOULD», «НЕ СЛЕДУЕТ — SHOULD NOT», «РЕКОМЕНДУЕТСЯ — RECOMMENDED», «НЕ РЕКОМЕНДУЕТСЯ — NOT RECOMMENDED», «ВОЗМОЖЕН — MAY» и «ДОПОЛНИТЕЛЬНО — OPTIONAL» в этом документе интерпретироваться как описано в [RFC2119].

3. Новый код операции IUTF8 для кодирования в терминальном режиме

Значение 42 кода операции определено для режима терминала IUTF8.

Как указано в разделе 8 [RFC4254], все коды операций в диапазоне от 1 до 159 имеют один аргумент uint32; следовательно, за кодом операции IUTF8 следует один аргумент uint32. Значение 0 указывает, что режим IUTF8 отключен, а значение 1 указывает, что он включен.

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

4. Соображения IANA

Этот документ дополняет список «Режимов кодированных терминалов с псевдотерминалом», определенных в Разделе 8 [RFC4254].

IANA добавила следующий код операции в реестр «Режимы кодированного терминала с псевдотерминалом»:

opcode — 42
mnemonic — IUTF8
description — Предполагается, что входной и выходной клеммы закодированы в UTF-8.

5. Вопросы безопасности

Применяются соображения безопасности [RFC4254]. Считается, что это дополнительное кодирование режима терминала не имеет последствий для безопасности, отличающихся от существующего набора кодированных режимов терминала.

Поскольку режим терминала IUTF8 предназначен для использования в сочетании с кодировкой символов UTF-8, соображения безопасности [RFC3629] также применяются к системам, в которых этот режим включен. В частности, драйверы терминалов, которые интерпретируют этот бит как включающий поведение редактирования строки с учетом UTF-8, должны тщательно рассмотреть, как это поведение будет обрабатывать недопустимые последовательности, слишком длинные кодировки и избыточные представления составных символов (см. [UNICODE]).

6. Ссылки

6.1. Нормативные ссылки

[RFC2119] Bradner, S., «Key words for use in RFCs to Indicate Requirement Levels», BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.

[RFC3629] Yergeau, F., «UTF-8, a transformation format of ISO 10646», STD 63, RFC 3629, DOI 10.17487/RFC3629, November 2003, <http://www.rfc-editor.org/info/rfc3629>.

[RFC4254] Ylonen, T. and C. Lonvick, Ed., «The Secure Shell (SSH) Connection Protocol», RFC 4254, DOI 10.17487/RFC4254, January 2006, <http://www.rfc-editor.org/info/rfc4254>.

6.2. Информационные ссылки

[UNICODE] The Unicode Consortium, «The Unicode Standard», <http://www.unicode.org/versions/latest/>.

Благодарности

Авторы признательны Колину Уотсону за первоначальное предложение этого терминального режима в 2005 году, а также Дэвиду Мадору и Якубу Джелену за предыдущие усилия по внедрению.

Авторы Адреса

Simon Tatham
PuTTY
Email: anakin@pobox.com

Darren Tucker
OpenSSH
Email: dtucker@openssh.com
Tatham

Поделись записью