HTTP(S)
요청Audience Manager을 사용하려면 HTTP(S)
서버 간 요청을 유효성에 대해 디지털 서명해야 합니다. 이 문서에서는 개인 키로 HTTP(S)
요청에 서명할 수 있는 방법에 대해 설명합니다.
사용자가 제공하고 Audience Manager과 공유한 개인 키를 사용하면 IRIS 및 HTTP(S) 서버 간에 전송되는 HTTP(S)
요청에 디지털 서명할 수 있습니다. 이를 통해 다음을 수행할 수 있습니다.
HTTP(S)
를 파트너에게 보낼 수 있습니다.HTTP
메시지가 왜곡되는 중간 공격에 있는 사람으로부터 보호받고 있습니다.IRIS 는 아래의 개인 키 회전 섹션에 표시된 대로 다운타임 없이 키를 회전하도록 내장된 지원을 제공합니다.
HTTP(S)
실시간 서버 간 대상에 대해서는 Audience Manager 컨설턴트에게 연락하여 다음을 지정합니다.
HTTP(S)
헤더의 이름(아래 예제 헤더에서 X-Signature).* Connected to partner.website.com (127.0.0.1) port 80 (#0)
> POST /webpage HTTP/1.1
> Host: partner.host.com
> Accept: */*
> Content-Type: application/json
> Content-Length: 20
> X-Signature: +wFdR/afZNoVqtGl8/e1KJ4ykPU=
POST message content
HTTP(S)
전송할 메시지를 만듭니다.HTTP(S)
보낸 메시지 및 개인 키를 기반으로 서명을 만듭니다.HTTP(S)
파트너에게 요청을 보냅니다. 이 메시지에는 위의 예제와 같이 서명과 실제 메시지가 포함되어 있습니다.HTTP(S)
요청을 수신합니다. 메시지 본문과 IRIS에서 받은 서명을 읽습니다.HMAC (해시 기반 메시지 인증 코드)는 메시지 서명 IRIS 에 사용되는 방법입니다. 구현과 라이브러리는 기본적으로 모든 프로그래밍 언어로 사용할 수 있습니다. HMAC 에 알려진 확장 공격이 없습니다. 아래 Java에서 예제를 참조하십시오.
// Message to be signed.
// For GET type HTTP(S) destinations, the message used for signing will be the REQUEST_PATH + QUERY_STRING
// For POST type HTTP(S) destinations, the message used for signing will be the REQUEST_BODY.
// String getData = "/from-aam-s2s?sids=1,2,3";
String postData = "POST message content";
// Algorithm used. Currently supported: HmacSHA1, HmacSHA256, HmacMD5.
String algorithm = "HmacSHA1";
// Private key shared between the partner and Adobe Audience Manager.
String key = "sample_partner_private_key";
// Perform signing.
SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), algorithm);
Mac mac = Mac.getInstance(algorithm);
mac.init(signingKey);
byte[] result = mac.doFinal(postData.getBytes());
String signature = Base64.encodeBase64String(result).trim();
// signature = +wFdR/afZNoVqtGl8/e1KJ4ykPU=
HMAC 해시 구현에 대한 RFC는 https://www.ietf.org/rfc/rfc2104.txt입니다. 테스트 사이트:https://asecuritysite.com/encryption/hmac (16진수 인코딩을 base64로 변환해야 함을 참고하십시오.)
개인 키를 회전하려면 파트너가 새 개인 키를 Adobe Audience Manager 컨설턴트와 통신해야 합니다. 이전 키는 Audience Manager에서 제거되고 IRIS은 새 서명 헤더만 보냅니다. 키가 회전되었습니다.
GET
유형 대상의 경우 서명에 사용되는 메시지는 REQUEST_PATH + QUERY STRING입니다(예:/from-aam-s2s?sids=1,2,3). IRIS는 호스트 이름 또는 HTTP(S)
헤더를 고려하지 않습니다. 이러한 헤더는 경로를 따라 수정/잘못 구성되거나 잘못 보고될 수 있습니다.
POST
유형 대상의 경우 서명에 사용되는 메시지는 REQUEST BODY입니다. 다시 말해, 헤더 또는 기타 요청 매개 변수는 무시됩니다.