Токенизация в информационной безопасности — процесс замены конфиденциального элемента данных на неконфиденциальный эквивалент, называемый токеном, который не имеет значения для внешнего или внутреннего использования.
Токен — это ссылка (то есть идентификатор), которая сопоставляется с конфиденциальными данными через систему токенизации. Сопоставление исходных данных с токеном использует методы, которые делают невозможным обратное преобразование токенов в исходные данные вне системы токенизации, например, с использованием токенов, созданных при помощи случайных чисел. Система токенизации должна быть защищена и проверена на основе самых эффективных мер по обеспечению безопасности, применяемых к защите конфиденциальных данных, хранению, аудиту, аутентификации и авторизации. Система токенизации предоставляет приложениям обработки данных полномочия и интерфейсы для запроса токенов или расшифровку конфиденциальных данных из токенов.
Для обеспечения преимущества токенизации с точки зрения безопасности и снижения риска требуется, чтобы система токенизации была логически изолирована и сегментирована от систем обработки данных и приложений, которые ранее обрабатывали или хранили конфиденциальные данные, заменяемые токенами. Только система токенизации позволяет получить из конфиденциальных данных соответствующие токены или выполнить обратное преобразование. Неопровержимо, что метод генерации токенов обладает таким свойством, что не существует подходящих средств преобразования токенов в действующие конфиденциальные данные посредством прямой атаки, криптоанализа, анализа побочных каналов, экспонирования таблицы сопоставления токенов или методом полного перебора.
Доступ к конфиденциальным данным сводится к минимуму для таких приложений, электронных магазинов, людей и процессов, где реальные данные в системах заменяются токенами, уменьшая риск компрометации, случайного воздействия и несанкционированного доступа к конфиденциальным данным. Приложения могут работать с токенами, а не с реальными данными, за исключением небольшого числа доверенных приложений, которым явно разрешено обратное преобразование токенов в действующие данные, когда это строго необходимо для утвержденных бизнес-целей. Системы токенизации могут быть выстроены и внутри центра обработки данных в качестве изолированного сегмента, обеспечивающего безопасность, и как дополнительный сервис поставщика услуг безопасности.
Токенизация может быть использована для защиты таких конфиденциальных данных, как банковские счета, финансовые ведомости, медицинские карты, судимости, водительские удостоверения, сcуды, биржевые сделки, регистрация избирателей и прочая личная информация. Токенизация часто используется при оформлении кредитных карт. Совет PCI DSS определяет токенизацию как «процесс, при котором первичный номер счета (PAN-кода) заменяется суррогатным значением, называемым токеном. Детокенизация — это обратный процесс получения значения PAN-кода по целевому токену. Безопасность отдельного токена зависит, главным образом, от невозможности определения исходного PAN-кода, зная только суррогатное значение». Выбор токенизации в качестве альтернативы другим методам, например, таким, как шифрование, зависит от конкретных нормативных требований и стандартов, принятых соответствующими органами аудита или оценки. Существуют и прочие технические, архитектурные и эксплуатационные ограничения, которые возникают при практическом применении токенизации.
Понятия и истоки
Концепция токенизации, принятая сегодня в отрасли, существует с тех пор, как столетия назад появились первые валютные системы в качестве средства снижения риска при обращении с дорогостоящими финансовыми инструментами путем их замены суррогатными эквивалентами. В физическом мире токены (денежный знак) имеют долгую историю использования в качестве замены таких финансовых инструментов, как монеты и банкноты. В современной истории жетоны метро и фишки казино применяются в соответствующих местах, чтобы исключить физические валютные риски и риски оборота наличных денег, такие как кража.
В цифровом мире аналогичные методы замещения использовались с 1970-х годов в качестве средства изоляции элементов реальных данных от воздействия других систем данных. Например, в базах данных значения суррогатных ключей используются с 1976 года для изоляции данных, связанных с внутренними механизмами баз данных и их внешними эквивалентами, для различного применения в обработке данных.
В последнее время эти концепции были расширены для обеспечения тактики изоляции и выполнения мер безопасности, применяемых в целях защиты данных.
В индустрии платежных карт токенизация является одним из средств защиты конфиденциальных данных о держателях карт в целях соответствия отраслевым стандартам и государственным нормам.
В 2001 году TrustCommerce создал концепцию токенизации для защиты конфиденциальных платежных данных клиентов компании Classmates.com. Компания привлекла TrustCommerce, потому что риск хранения данных держателя карты был слишком велик, если бы вдруг их системы подверглись взлому. TrustCommerce разработал систему TC Citadel®, благодаря которой покупатели могли ссылаться на токен вместо данных держателя карты, а TrustCommerce обрабатывал платеж от имени продавца. Такая система защиты позволила клиентам надежно и безопасно совершать повторяющиеся платежи без необходимости хранить платежную информацию о держателе карты. Токенизация заменяет основной номер счета (PAN-код) на безопасные, случайно сгенерированные токены. В случае перехвата данные не содержат информации о держателях карт, что делает их бесполезными для хакеров. PAN-код не может быть получен, даже если токен и системы, в которых он находится, взломаны, и токен не может быть обратно преобразован в PAN-код.
Токенизация была применена к данным платежных карт компанией Shift4 Corporation и обнародована во время отраслевого саммита по безопасности в Лас-Вегасе, штат Невада, в 2005 году. Технология предназначена для предотвращения кражи информации о кредитной карте на запоминающем устройстве. Shift4 определяет токенизацию, как «концепцию использования неуязвимого к расшифровке фрагмента данных для представления конфиденциальных или секретных данных посредством ссылки на него. В контексте индустрии платежных карт (PCI DSS) токены используются для ссылки на данные о держателях карт, которые управляются в системе токенизации, приложении или на удаленном безопасном сервере.»
Для обеспечения защиты данных на протяжении всего жизненного цикла токенизация часто комбинируется со сквозным шифрованием при передаче данных в систему или службу токенизации, включая обратное преобразование токена в исходные данные. Например, чтобы избежать риска кражи вредоносными программами из систем с низким уровнем доверия, таких как точки продаж (POS), как в случае хакерской атаки 2013 годаExperts Debate How Hackers Stole 40 Million Card Numbers from Target, шифрование данных о держателях карт должно выполняться до ввода данных карт в POS, а не после. Шифрование происходит в рамках защищенного и проверенного устройства для чтения карт, и данные остаются зашифрованными до тех пор, пока не будут получены хостом обработки. Подход, впервые примененный платежными системами Heartland Payment Systems в качестве средства защиты платежных данных от продвинутых угроз, в настоящее время широко используется технологическими и промышленными компаниями по обработке платежей. Совет PCI DSS также в соответствующих документах определил специфические требования к сквозному шифрованию (сертифицированное шифрование вида точка-точка — P2PE) для различных сфер применения.
Отличие от шифрования Токенизация и «классическое» шифрование эффективно защищают данные, если они реализованы должным образом, и идеальное решение для обеспечения безопасности будет использовать оба этих метода. Несмотря на сходство в некоторых отношениях, токенизация и классическое шифрование различаются в некоторых ключевых аспектах. Оба эти метода обеспечивают криптографическую защиту данных и выполняют по существу одну и ту же функцию, однако делают они это различными способами и оказывают различное влияние на данные, которые защищают.
Токенизация — это нематематический подход, который заменяет конфиденциальные данные на неконфиденциальные заменители без изменения типа или длины данных. Это важное отличие от шифрования, поскольку изменение длины и типа данных может сделать информацию нечитаемой в промежуточных системах, таких как базы данных. Токенизированные данные безопасны, но они все еще могут быть обработаны устаревшими системами, что делает токенизацию более гибкой, чем классическое шифрование.
Другое отличие заключается в том, что для обработки токенов требуется значительно меньше вычислительных ресурсов. При токенизации определенные данные полностью или частично остаются видимыми для обработки и анализа, а конфиденциальная информация — скрытой. Это позволяет быстрее обрабатывать токенизированные данные и снижает нагрузку на системные ресурсы. Это может стать ключевым преимуществом в системах, которые ориентированы на высокую производительность и низкое потребление.
Типы токенов Существует множество способов классификации токенов: одноразовый или многоцелевой, криптографический или некриптографический, обратимый или необратимый, аутентифицируемый или неаутентифицируемый, и различные их комбинации.
В контексте платежей важную роль играет разница между большой и маленькой разрядностью токенов.
Многоразрядные токены Многоразрядные токены служат в качестве суррогатов для фактических PAN-кодов в платежных операциях и используются в качестве инструмента для завершения платежной операции. Чтобы функционировать они должны выглядеть как настоящие PAN-коды. Несколько таких токенов могут сопоставляться с одним PAN-кодом и одной физической кредитной картой без ведома владельца.
Кроме того, многоразрядные токены могут быть ограничены определенной сетью и/или продавцами, а PAN-коды нет.
Многоразрядные токены также могут быть привязаны к конкретным устройствам, так что непривычные сочетания между физическим устройством, использующим токен, и его географическим местоположением могут рассматриваться как потенциально мошеннические.
Малоразрядные токены или токены безопасности Малоразрядные токены также действуют как суррогаты для фактических PAN-кодов в платежных транзакциях, однако, они служат для другой цели. Такие токены не могут быть использованы для завершения платежной транзакции. Для того чтобы малоразрядный токен функционировал, должна быть возможность сопоставить его с фактическим PAN-кодом, который он представляет, но только строго контролируемым образом. Использование токенов для защиты PAN-кодов становится неэффективным, если нарушена система токенизации, поэтому крайне важно обеспечить безопасность самой системы токенизации.
Система операций, ограничения и эволюция Системы токенизации первого поколения используют базу данных для сопоставления реальных данных с замещающими их токенами и обратно. Чтобы избежать потери данных это требует хранения, управления и непрерывного резервного копирования для каждой новой транзакции, добавленной в базу данных токенов. Другой проблемой является обеспечение согласованности между центрами обработки данных, что требует непрерывной синхронизации баз данных токенов. При таком подходе неизбежны значительные компромиссы между согласованностью, доступностью и производительностью в соответствии с теоремой CAP. Эти накладные расходы усложняют обработку транзакций в реальном времени, чтобы избежать потери данных и обеспечить целостность данных в центрах обработки данных, а также ограничивают масштаб. Хранение всех конфиденциальных данных в одном месте создает привлекательную цель для атаки и нанесения ущерба, а также приводит к появлению юридических рисков обобщения данных, конфиденциальных в Интернете, в частности в ЕС.