Общее значение исходного (прототипичного) слова «account» в английском языке – «доклад», «отчёт», «счёт», «учёт»; в русском языке всему его спектру наиболее соответствуют понятия «подведение итогов», «подбивание бабок». Отсюда, кстати, «accounting» – бухгалтерия, бухгалтерский учёт. Но в современном международном лексиконе значение слова «account» («аккаунт» в русском языке) гораздо у́же: учётная запись какого-либо лица, заполненный на него формуляр или иной подобный документ, совокупность данных, позволяющая его (это лицо) распознать, идентифицировать, не видя в глаза. Термин «аккаунт» используется преимущественно в информационных технологиях, чтобы не путать с другими видами учётных записей, которых очень много. Так, паспорт гражданина это его аккаунт в государстве; лицевые счета за коммунальные услуги – аккаунты в соответствующих службах; пин-код банковской карты и сим-карты телефона – аккаунты их владельцев в банке и в самой симке; пара пароль-отзыв – аккаунт для доступа на охраняемый объект, и т.д.
Значения
Слово «аккаунт» употребляется в следующих значениях:
- Прямое I, специальное профессиональное в IT-сфере – сигнатура (синоним), хеш-сумма (точный термин) учётных данных пользователя, позволяющая однозначно его идентифицировать при входе в систему (см. также Пояснение далее):
- «Идентификационный аккаунт представляет собой уникальное в данной информационной подсистеме (сайте, соцсети, онлайн-игре и т.п.) кодовое слово строго определённой длины, от 8 до 256 и более шестнадцатиричных символов».
- «Аккаунт пользователя вырабатывается автоматически при регистрации пользователя в системе по предоставленным им личным данным (совокупности атрибутов, включая логин-пароль), которые в целом называются ключом аккаунта».
- «Аккаунт пользователя в системе никому вовне не сообщается (в том числе и самому пользователю)».
- «Надёжный аккаунт невозможно подделать, даже если алгоритм его выработки открыт, то есть доступен для изучения всеми желающими».
- «При входе в систему по логину и паролю другие известные данные пользователя (например, IP-адрес и номер телефона) сверяются по его аккаунту, в результате чего система может затребовать дополнительного удостоверения личности (обычно в виде кода подтверждения из высланной на зарегистрированный номер СМС)».
- «Криптографический аккаунт (например, хеш биткойна или единицы другой криптовалюты) отличается от пользовательского тем, что должен быть уникален во всей глобальной информационной среде (в том числе и в локальных сетях) и не должен давать возможности определить ни одного бита из ключа путём обратных вычислений».
Частичные синонимы в данном значении «атрибут», «код», «номер», «подпись», «учётка» (жаргонное), «хеш», «шифр».
- Прямое специальное II – также сигнатура (или хеш-сумма) битового (двоичного) массива данных, по которой проверяется его целостность (подлинность):
- «Аккаунт оцифрованной совокупности данных даёт возможность не только удостоверять его подлинность, но также исправлять ошибки в числе не более кратности, определяемой алгоритмом хеширования».
Синонимичное выражение «контрольная сумма» (CRC); частичные синонимы «код», «хеш».
- Прямое общее – компьютерная форма (синонимичный термин), которую пользователь самостоятельно заполняет и наполняет обусловленным контентом (содержимым: цифровыми данными, текстом, фото, видео и др.):
- «Взломать аккаунт пользователя и выкрасть оттуда личную информацию гораздо проще, чем подделать его хеш и войти в систему якобы от лица владельца учётной записи».
- «Личный аккаунт может быть открытым (доступным для ознакомления всем посетителям данного информационного ресурса), частично открытым (доступным избранным пользователям) и закрытым, доступным только уполномоченным на то лицам».
Примечание: пример закрытого клиентского аккаунта – банковский счёт. В цивилизованных государствах к нему без решения суда не пустят ни следственные органы, ни налоговую (легальный банк по определению и налоговый агент, сам отчисляет в казну что следует из доходов клиентов).
В этом значении частичные синонимы «бланк», «личный (персональный) кабинет», «учётка», «формуляр»; современный сленговый «акк».
Полностью синонимичный термин к обоим прямым значениям – «учётная запись».
- Переносное общее – лицо, допущенное к персональному аккаунту для его ведения (наполнения контентом) по поручению владельца и/или технического контроля (например, за безопасностью и отсутствием к контенте зародышей системных конфликтов):
- «Опытный аккаунт-менеджер с рекомендациями от безупречных доверителей предлагает услуги по снабжению личных учётных записей релевантным контентом».
- «По правилам сетевой информационной безопасности аккаунт-администратор локальной сети ни в коем случае не должен заниматься общим системным администрированием, и наоборот».
Примечание: это правило полностью аналогично главному принципу разведывательной деятельности – легальная и нелегальная резидентуры ни в коем случае не должны пересекаться.
Частичные синонимы «аккаунт-администратор», «аккаунт-менеджер», «анти-хакер», «ведущий (блога, сайта)», «вирусолог», «криптограф», «сайтовод», «учётчик», «шифровальщик» и др. специальные.
Пояснение о хеше, “определяющем” цифровой аккаунт
Хеш-сумма это разновидность контрольной суммы (CRC) в форме 16-ричного слова строго определённой длины независимо от величины массива исходных (начальных) данных. Например:
- «uNt294» -> хеш 6DFF87F904703C000058B4A09F4B365A (вес 32 16-ричных разряда).
- «Гражданин Иванов Иван Иванович 30 сентября 1984 г.р., проживающий в Урюпинске, трудоустроен, женат, имеет детей» -> хеш EFAD58EB6459858760896GBG554A5A8F (вес тоже 32).
- «Галка-скакалка» -> хеш 89B67GG058209C1D (вес 16).
- «Огненная львица, ждущая своего ласкового и страстного укротителя» -> хеш 26EAC070DDDF207F (вес 16).
- «Петька-хват» -> хеш B2E3372G (вес 8).
- «tRemngh54kJGk22NNNkjhl» -> хеш A791BFG3 (вес 8).
Что такое хеш
Сущность хеширования (выработки хеш-суммы) в популярных изданиях обычно объясняют как «окрошку», «мешанину», но это неверно, поскольку хеш должен быть точно заданной и никакой иной длины, иначе он станет подделываемым, а подконтрольный ему пользовательский аккаунт – взламываемым не долее чем за 2-3 часа хакером средней руки с обычного ноутбука.
Для «шибко умных» хеширование объясняют также как свёртку полученной определённым образом дискретной (цифровой) функции от данных пользователя с некой другой, образующей, также дискретной функцией. Но, во-первых, даже пользователи с техническим в/о не все помнят начала функционального анализа, да им, может быть, и не объясняли в вузе, что, скажем, интеграл Дюамеля это и есть интеграл свёртки. Во-вторых, свёртка функций это в некотором роде аналог умножения чисел, а хеширование умножением лишь один из методов получения хеш-сумм.
На самом деле понять суть хеширования не так уж сложно. Вам приходилось пользоваться картотекой? Её карточки расставлены по алфавиту, а первая буква названия каждой и будет хешем для ускорения поиска нужной во всём массиве. В больших картотеках карточки, а в словарях слова располагают по первым трём буквам, тоже в алфавитном порядке. В таком случае хешами для поиска будут сочетания ааа, ааб, аав, …, аба, абб, абв и т.д.
Получить хеш точно заданного размера для последовательности данных любой длины можно различными способами. К примеру, возьмём в качестве пароля мнемограмму (мем) русского обозначения последовательности спектральных классов звёзд:
Один Бритый Англичанин Финики Жевал Как Морковь (О Б А Ф Ж К М; O B A F G K M лат.),
расставим все буквы из этого выражения по алфавиту в тех количествах, в каких они там есть, а в конце допишем нечитаемую в оригинале «я», чтобы хеш никогда не оканчивался нулём:
АаааБввгдеЖииииииийКкккллМнннннооорртфчыья,
и распишем в виде суммы с коэффициентами для букв:
01А + 03а + 01Б + 00б + 00В + 02в + … + 00Ы + 00ы + 01Ь + 00ь + 00Э + 00э + 00Ю + 00ю + 00Я + 01я
Поскольку алгоритм (способ) генерирования такой суммы известен, буквы и плюсы из неё можно выбросить:
01030100002…01000100000000000001
Вот мы и получили сигнатуру длиной 64 десятичных цифры независимо от длины исходного текста. Но это плохой хеш, так как он, во-первых непригоден для текстов длиннее 3200 символов. Во-вторых, не уникален, принципиально несёт в себе возможность коллизии вследствие того, что тот же самый набор букв может быть развёрнут и в анаграмму исходного массива.
Об анаграммах и уязвимостях
Анаграмма, как известно, это слово или фраза, составленная из букв (возможно, и прочих знаков) другой, значащей фразы. Вот, к примеру, довольно-таки странное высказывание:
Котик, он чудак, дома сонно ел ягоды!
Но это анаграмма другого, вполне осмысленного выражения:
Чу, седок гонит коня до мыла, однако!
Теперь уже можно понять, что такое коллизия хеширования, которой так боятся программисты и криптографы: это соответствие одному хешу двух и более ключей. Так, в словарях неизбежно множество коллизий, скажем, слов «гора», «горе», «горячо» и т.п. на хеше «гор-».
Коллизии хеширования в словарях открыты, явны и технически необходимы, поэтому их и называют коллизиями (столкновениями, схождениями), а не конфликтами: коллизии руки с перчаткой или сахара с чаем в чашке тоже ведь необходимы и ничуть не конфликтны. Если хеш уникален, то это означает, что в исходном массиве невозможно выделить последовательность, любая анаграмма которой даст такой же хеш.
Скрытая коллизия возникает, когда в исходном массиве кроется анаграмма, порождающей тот же самый хеш, и таковая не выявлена тестированием на уязвимости. Коллизионные хеши, то есть совпадающие вследствие анаграммирования, называются неуникальными.
Скрытые коллизии хеширования – любимые лазейки хакеров. Можно, не «засвечиваясь» надолго в системе, на стороне у себя подобрать ключ, который «сгенерит» нужный хеш, после чего система примет вредоносное ПО «как своё». Большинство обнаруживающихся уязвимостей смартфонов, о которых столько пишут, вызваны как раз коллизиями хеширования: ради удобства неквалифицированных пользователей при ограниченности аппаратных ресурсов в мобильном ПО приходится ограничивать глубину хеширования. Вы когда-нибудь слыхали и майнинге биткойнов с телефона? Нет, для этого нужно городить целую ферму на спецчипах, а для гарантированной рентабельности затеи – строить предприятие промышленного масштаба.
В этом отношении можно сказать, что мобильные компьютеризованные устройства уязвимы принципиально: или учись пользоваться достаточно мощным «нормальным» компьютером хотя бы на уровне продвинутого юзера, или же заранее смирись с тем, что тебя когда-то да хакнут, даже если ты IT-гуру.
На практике хеши чаще всего получают способом обычного помехоустойчивого кодирования, «прямым прогоном» исходного битового массива через сдвиговый регистр с обратными связями, конфигурация которых задаётся образующим полиномом (что, собственно, и есть цифровая свёртка). В таком случае длина хеша равна количеству звеньев (разрядов) регистра, независимо от длины исходного массива, а остаток на их выходах после того, как в регистр ушёл последний бит, и будет хеш-суммой (см. рис. ниже). Регистр организуется программно, так как уже для «слабого» хеша шестнадцатиричным весом 32 нужно 128 разрядов. Количество возможных комбинаций здесь будет 2128, что составит 38-значное десятичное число, а для хеша весом 256 (1024 звена сдвига) – 21024, это невообразимо огромная величина, подобрать которую последовательным перебором не под силу всем возможным вычислительным ресурсам Вселенной.
Примечание: на рис. показана схема так называемой обратной свёртки (очередной бит данных заходит в старший разряд регистра), при которой хеш непосредственно считывается с остатка. Бит из младшего разряда регистра (правого) на очередном шаге кодирования пропадает, «выходит в никуда», замещаясь предыдущим по старшинству. При прямой свёртке биты поочерёдно записываются в младший разряд, а «вытесняются» из старшего. На схеме для этого нумерацию разрядов (синюю) нужно было бы заменить на обратную (от 0 до 15 слева направо), а образующий полином был бы x13 + x6 + x2. Хеш тоже получился бы другой.
Аналогично проводится проверка массивов данных; к примеру, файлов, скачанных из Интернета. Генерируем хеш, сравниваем с переданным вместе с контентом: совпали – всё OK, исправен. Нет – огорчённому юзеру «вылетает» сообщение: «Файл повреждён».
Вот тут уже, во-первых, длина хеша определяется только числом разрядов регистра, которое жёстко задаётся произвольно. Во-вторых, регистр может «жевать» данные в принципе до бесконечности. В-третьих, по хешу возможно восстановить максимум последние зашедшие в регистр исходные биты (на схеме – левые 16). Однако вероятность коллизии сохраняется, падая пропорционально степени двойки, ради чего и удлиняются криптографические и др. ответственные хеши.
То есть, чтобы взломать и/или повредить хешированную информацию, её нужно знать заранее, но к чему тогда и взлом? В этом и состоит контроль достоверности учётных записей (аккаунтов) и правомерности доступа к ним по хеш-суммам.
Вроде бы – а что тут такого, верно? Это наглядная иллюстрация известного в научной методологии шуточного принципа: «Сложная хорошая теория на практике воплощается в простых надёжных устройствах, а простая якобы всем понятная плохая – порождает страхолюдные убоища, которые сами разваливаются на ходу». То же самое выразил своими словами великий практик Эдисон: «Нет ничего практичнее хорошей теории». Правда, внешнее изящество тут далеко не всегда показатель: F-104 «Starfighter» в своё время сперва покорил мир своей футуристичной красотой, а затем заслужил от пилотов мрачные прозвища «Вдоводел» (Widowmaker) и «Летающий гроб» (Flying Coffin).
Грамматика
«аккаунт» – неодушевлённое имя существительное мужского рода 2-го склонения в школьной традиции (I академического). Состоит из одного лишь корня. Постановка ударения и разделение переносами ак-ка́-унт. Падежные формы:
- Именительный: акка́унт (ед. ч.); акка́унты (мн. ч.).
- Родительный: акка́унта (ед. ч.); акка́унтов (мн. ч.).
- Дательный: акка́унту (ед. ч.); акка́унтам (мн. ч.).
- Винительный: акка́унт (ед. ч.); акка́унты (мн. ч.).
- Творительный: акка́унтом (ед. ч.); акка́унтами (мн. ч.).
- Предложный: <в, на, о, при> акка́унте (ед. ч.); <в, на, о, при> акка́унтах (мн. ч.).
***
© ПишемПравильно.ру
Автор: Садов Артур Александрович, лингвист-типолог
Перечень академических источников, использовавшихся при подготовке материалов.