Веб-настройка отпечатков пальцев устройства
Настройка отпечатков пальцев устройства выполняется на двух этапах.
- Настройте сертификат ssl-сертификата сервера доменных имен (DNS) Secure Sockets Layer и отправьте его на портал защиты от мошенничества.
- Реализация отпечатков пальцев устройства.
В этом разделе приведены подробные инструкции для обоих этих этапов. Первый этап должен быть завершен только один раз. Однако второй этап должен повторяться один раз для каждого веб-сайта или мобильного приложения, где реализовано отпечаток устройства.
Настройка DNS и создание SSL-сертификата
Выполните следующие процедуры, чтобы настроить DNS и создать SSL-сертификат. Настройка DNS и SSL, в то время как необязательно, настоятельно рекомендуется обеспечить оптимальное покрытие отпечатков пальцев и производительность. Настройка DNS и SSL позволяет считать скрипт отпечатков пальцев первой стороной, а не сторонним файлом cookie.
Настройка DNS
Чтобы настроить DNS, выполните следующие действия.
- Выберите поддомен в корневом домене, например
fpt.contoso.com
. Можно использовать любой префикс. - Для выбранного поддомена создайте каноническое имя (CNAME), указывающее на
fpt.dfp.microsoft.com
.
Создание и отправка SSL-сертификата
Чтобы создать и отправить SSL-сертификат, выполните следующие действия.
- Для подключения к внутренней части создайте SSL-сертификат для выбранного поддомена. Вы можете создать один SSL-сертификат и добавить все поддомены в поле альтернативного имени субъекта сертификата.
- Перейдите на портал защиты от мошенничества, а затем в области навигации слева выберите "Интеграция".
- На странице интеграции выберите "Изменить", а затем на следующей странице нажмите кнопку "Далее", чтобы открыть страницу "Отправить SSL-сертификат".
- Выберите " Выбрать сертификат", а затем отправьте созданный SSL-сертификат. Если сертификат имеет пароль, введите его в текстовое поле. Затем нажмите кнопку Отправить.
Проверка SSL-сертификата
Существует два способа убедиться, что SSL-сертификат успешно развернут.
- Перейдите к разделу "https:///health/ping" и проверьте допустимость сертификата.
ИЛИ
- Перейдите к разделу "https://www.sslshopper.com/ssl-checker.html". Введите имя узла сервера, выберите "Проверить SSL" и просмотрите сведения о SSL-сертификате, отображаемые на странице.
Примечание.
Поддерживаются только PFX-файлы. Распространение сертификата на серверы отпечатков пальцев устройства может занять несколько минут.
Реализация отпечатков пальцев устройства
Ваш веб-сайт или приложение должны инициировать запросы отпечатков пальцев устройства несколько секунд до отправки транзакции в Службу защиты от мошенничества для оценки рисков (например, транзакция для добавления инструмента оплаты, входа или выхода). Это требование гарантирует, что защита от мошенничества получает все данные, необходимые для точной оценки. В этом разделе приведены подробные инструкции по реализации отпечатков пальцев устройств на веб-сайтах и мобильных приложениях.
Чтобы реализовать отпечатки пальцев устройства, выполните следующие действия.
Измените следующий код скрипта JavaScript и вставьте его на веб-страницу или в приложение, где требуется собирать сведения об отпечатках пальцев устройства.
<script src="https://<Your_Sub_Domain>/mdt.js?session_id=<session_id>&instanceId=<instance_id>" type="text/javascript"></script>
- Your_Sub_Domain — поддомен в корневом домене.
- session_id — уникальный идентификатор сеанса устройства, созданного клиентом. Оно может содержать до 128 символов длиной и может содержать только следующие символы: прописные и строчные буквы, цифры, символы подчеркивания и дефисы (a–z, A–Z, 0–9, _, -). Идентификатор сеанса должен содержать не менее 16 байт случайно созданных данных. При использовании шестнадцатеричной кодировки это преобразуется в 32 шестнадцатеричных символов. Хотя корпорация Майкрософт рекомендует использовать глобальный уникальный идентификатор (GUID) для идентификатора сеанса, он не требуется.
- instance_id — необходимое значение для интеграции веб-сайта с отпечатками пальцев устройства. Используйте значение идентификатора отпечатков пальцев устройства, указанное на плитке Текущей среды на странице интеграции соответствующей среды на портале защиты от мошенничества.
Пример
<script src="https://fpt.contoso.com/mdt.js?session_id=211d403b-2e65-480c-a231-fd1626c2560e&instanceId=b472dbc3-0928-4577-a589-b80090117691" type="text/javascript"></script>
Ниже приведен пример ответа на mdt.js.
window.dfp={url:"https://fpt.contoso.com/?session_id=211d403b-2e65-480c-a231-fd1626c2560e&CustomerId=b472dbc3-0928-4577-a589-b80090117691",sessionId:"211d403b-2e65-480c-a231-fd1626c2560e",customerId:"b472dbc3-0928-4577-a589-b80090117691",dc:"uswest"};window.dfp.doFpt=function(doc){var frm,src;true&&(frm=doc.createElement("IFRAME"),frm.id="fpt_frame",frm.style.width="1px",frm.style.height="1px",frm.style.position="absolute",frm.style.visibility="hidden",frm.style.left="10px",frm.style.bottom="0px",frm.setAttribute("style","color:#000000;float:left;visibility:hidden;position:absolute;top:-100;left:-200;border:0px"),src="https://Your_Sub_Domain/?session_id=211d403b-2e65-480c-a231-fd1626c2560e&CustomerId=b472dbc3-0928-4577-a589-b80090117691",frm.setAttribute("src",src),doc.body.appendChild(frm))};
Загрузка отпечатков пальцев устройства после загрузки элементов страницы.
window.dfp.doFpt(this.document);
При отправке транзакций в API защиты от мошенничества задайте идентификатор сеанса в поле deviceContextId . Для оценки задайте идентификатор сеанса в поле deviceFingerprinting.id .
Задайте для поля device.ipAddress IP-адрес клиента, который ваш веб-сайт получает при использовании сайта. Для оценки задайте IP-адрес клиента в поле deviceFingerprinting.ipAddress . Это поле является необязательным и не требуется задавать, если у вас его нет.
Включение интеграции на стороне клиента для отпечатков пальцев устройств
Для некоторых сценариев отпечатков пальцев в Интернете защита от мошенничества поддерживает специализированный класс интеграции, называемый клиентской интеграцией. Интеграция на стороне клиента отличается от стандартных методов интеграции, так как ответ на отпечатки пальцев возвращается непосредственно клиенту в качестве зашифрованной полезных данных, пропуская вызов оценки между серверами.
Интеграция на стороне клиента полезна для сценариев низкой задержки, при которых пропуск вызова между серверами является выгодным. Чтобы определить, подходит ли интеграция на стороне клиента для вашего сценария, ознакомьтесь со следующим руководством по вопросу.
Только отпечатки пальцев устройства в моем сценарии?
Если сценарий не является только отпечатками пальцев устройств, то интеграция на стороне клиента не подходит для вашего сценария.
Хотите ли я, чтобы мои данные отпечатков пальцев были в браузере, а не на сервере, извлекая его?
В традиционной интеграции между серверами после завершения сбора атрибутов на веб-сайте данные будут отправлены на серверы защиты от мошенничества, где можно получить ответ на оценку на сервере, выполнив стандартный вызов API оценки. Однако при интеграции на стороне клиента при отправке данных сбора атрибутов на серверы Защиты от мошенничества ответ оценки возвращается и возвращается непосредственно в браузере. Таким образом, сервер может извлечь ответ оценки из самого браузера, а не вызывать вызов сервера к серверу, экономя некоторое время. Помните, что само отпечатки пальцев занимает несколько секунд, поэтому ответ на оценку присутствует только в браузере, если пользователь находится на странице в течение нескольких секунд. Если ваш сценарий использует данные, уже присутствующих в браузере, то интеграция на стороне клиента может быть подходит для вас.
Как правило, большинство сценариев отпечатков пальцев решаются стандартной интеграцией между серверами, а интеграция на стороне клиента полезна для нескольких конкретных сценариев, когда снижение задержки является критически важным. Так как интеграция на стороне клиента — это специализированный класс интеграции, который упрощен и безопасн, необходимо выполнить следующие предварительные требования, чтобы обеспечить его.
- Вы должны находиться в корневой среде клиента защиты от мошенничества.
- Необходимо настроить внешний вызов, возвращающий ответ ключа шифрования в формате наборов веб-ключей JSON (JWKS). Этот внешний вызов возвращает ключ, который защита от мошенничества использует для шифрования полезных данных. Этот ключ можно использовать после расшифровки сервера реагирования на мошенничество, который изначально получает клиентская сторона. Вы несете ответственность за предоставление ключа для шифрования и расшифровки. Сведения о настройке внешних вызовов см. в разделе "Внешние вызовы".
В следующем коде показан пример формата JWKS.
{
"keys":
[
{
"kty":null,
"use":null,
"kid":null,
"k":null
}
]
}
- Необходимо использовать только разделы метаданных и отпечатков пальцев устройства шаблона оценки отпечатков пальцев устройства. Если существуют дополнительные разделы схемы или вы не используете шаблон оценки отпечатков пальцев устройства, параметр интеграции на стороне клиента недоступен.
Когда вы перейдете на страницу параметров мастера оценки для шаблона отпечатков пальцев устройства, для вас доступен вариант интеграции на стороне клиента. После включения интеграции на стороне клиента вы выберете внешний вызов с настроенным форматом ответа JWKS.
Чтобы завершить настройку интеграции на стороне клиента, чтобы вернуть зашифрованный ответ в браузере, необходимо использовать измененную версию следующего примера JavaScript.
<script src="https://<Your_Sub_Domain>/mdt.js?session_id=<session_id>&customerId=<customer_id>&assessment=<assessment>&requestId=<request_id>" type="text/javascript"></script>
- Your_Sub_Domain — поддомен в корневом домене.
- session_id — уникальный идентификатор сеанса устройства, созданного клиентом. Это может быть до 128 символов длиной и может содержать только следующие символы: прописные и строчные буквы, цифры, символы подчеркивания и дефисы (a–z, A–Z, 0–9, _, -). Идентификатор сеанса должен содержать не менее 16 байт случайно созданных данных. При использовании шестнадцатеричной кодировки это преобразуется в 32 шестнадцатеричных символов. Хотя корпорация Майкрософт рекомендует использовать глобальный уникальный идентификатор (GUID) для идентификатора сеанса, он не требуется.
- customer_id — необходимое значение для интеграции веб-сайта с отпечатками пальцев устройства. Используйте значение идентификатора среды, указанное на плитке Текущей среды страницы интеграции соответствующей среды на портале защиты от мошенничества. Для работы интеграции на стороне клиента необходимо находиться в корневой среде.
- оценка — имя API оценки отпечатков пальцев устройства, настроенное с поддержкой интеграции на стороне клиента. Имя API учитывает регистр и извлекается из страницы конфигурации оценки.
- request_id — уникальный идентификатор самого запроса, отдельный от идентификатора сеанса. Этот идентификатор должен быть GUID по крайней мере 32 символов длиной.
В следующем примере показан код JavaScript с примерами значений.
<script src="https://fpt.contoso.com/mdt.js?session_id=2b2a1f5e-afa7-4c6d-a905-ebf66eaedc83&customerId=b3f6d54b-961c-4193-95ee-b6b204c7fd23&assessment=CSI&requestId=b12e86a0-37b1-43a2-958b-3f04fe7cef6c" type="text/javascript"></script>
После настройки этого скрипта и включения интеграции на стороне клиента ответ на отпечатки пальцев возвращается в виде зашифрованной полезных данных в браузере клиента. Функцию обратного вызова можно использовать для захвата полезных данных зашифрованного ответа. В приведенном ниже примере показана функция обратного вызова, используемая:
window.dfp.doFpt(document, function (response) {
if(response == null || response.startsWith('ServerError'))
console.log("Error Scenario");
else
console.log("Success Scenario"); // pass to server so it can decrypt and use response
});
Вам по-прежнему нужно передать полезные данные серверу, чтобы расшифровать его и использовать ответ. Мы не ожидаем, что вы вызовете внешний вызов, чтобы получить ключ шифрования, размещенный для расшифровки полезных данных. Вы должны хранить и получать доступ к ключу так же безопасно, как вы получаете и управляете другими секретами, используемыми на сервере.
Дополнительные ресурсы
- Обзор отпечатков пальцев устройства
- Атрибуты в отпечатках устройств
- Настройка и реализация отпечатков пальцев устройства
- Учебный курс. Реализация отпечатков пальцев устройств в Dynamics 365 Fraud Protection.