SlideShare a Scribd company logo
1
Advanced Security Extensions in Apigee Edge: !
HMAC, HttpSignature!
Dino Chiesa, "
Vinit Mehta
Who is using Signatures? 
2
AWS - custom HMAC-SHA256 signature over the [ verb . host . uri . queryparams ]
Google Maps API for Work - HMAC-SHA1 over URL+query (includes clientid)
Twitter - OAuth1.0a signatures (HMAC-SHA1) over headers + params
Azure storage - HMAC-SHA256 over [ verb . contentmd5 . contenttype . date . url ]
Github's outbound webhooks - HMAC-SHA1 over the body
(prospect) Automaker - XML DSIG over payload
(prospect) WW Retailer - HttpSignature (Signature applied to select headers) 
(customer) Payeezy - custom HMAC-SHA256 over select headers and body
(customer) BBC – HMAC on calls from Salesforce.com, $$ Video-on-demand
(customer) Vodafone - HMAC
(customer) O2 - HMAC
Why are these people using message-level security?"
Why are they requiring signatures on their payloads?
3
Let’s talk about MITM, non-repudiation, auditing
4
POST /accounts/12334566/update
API-Key: ryJIXSIAMjuyDii8
Host: api.example.com
Content-Type: application/json
Content-Length: 132
{
"rty": "MRA",
"n": "5SGw1jcqyFYEZaf3VduzmRk_jcBNFFLQgOf9U",
"e": "AQAB",
"gla": "Rm425",
"use": "sig",
"kid": "196"
}
Let’s talk about MITM, Non-repudiation, Auditing
5
POST /accounts/12334566/update
API-Key: ryJIXSIAMjuyDii8
Host: api.example.com
Content-Type: application/json
Content-Length: 132
{
"rty": "MRA",
"n": "5SGw1jcqyFYEZaf3VduzmRk_jcBNFFLQgOf9U",
"e": "AQAB",
"gla": "Rm425",
"use": "sig",
"kid": "196"
}
•  TLS encrypts all of this, "
except the hostname
•  TLS is point-to-point
•  What happens if you relay "
this message beyond the "
TLS-protected entry point? 
•  If this message gets archived,
how to guarantee its integrity?
Transport-layer security secures data in transit
6
Application Layer
TLS
Transport Layer
Network layer
Data Link Layer
Application Layer
TLS
Transport Layer
Network layer
Data Link Layer
?
Message-layer security is independent of transport
7
Application Layer
TLS
Transport Layer
Network layer
Data Link Layer
Application Layer
TLS
Transport Layer
Network layer
Data Link Layer
Message-level signatures protect the payload
8
POST /accounts/12334566/update
API-Key: ryJIXSIAMjuyDii8
Host: api.example.com
Content-Type: application/json
Content-Length: 132
{
"rty": "MRA",
"n": "5SGw1jcqyFYEZaf3VduzmRk_jcBNFFLQgOf9U",
"e": "AQAB",
"gla": "Rm425",
"use": "sig",
"kid": "196"
}
•  Message-level signatures "
can protect these parts of "
the message, independently "
of transport
•  Can optionally perform
message-level encryption,
encryption of selected "
fields, etc.
MAC = Message Authentication Code "
HMAC = keyed-hash MAC
9
HMAC injects a key into the normal hashing function. HMAC may
be used to simultaneously verify both the integrity and the
authentication of a message. 
MAC may be used to verify the integrity of a message.
You are smart people, "
so obviously…
10
You want to verify HMACs in API proxies.
Today, in Apigee Edge, you can’t.
Apigee Edge includes standard policies for
many security tasks. "
"
But it does not include a policy to generate
or validate HMACs. You’re hosed.
11
Apigee Edge includes standard policies for
many security tasks. "
"
But it does not include a policy to generate
or validate HMACs. You’re hosed.
12
Or maybe you’re not?
Code + Configure !
13
•  Embed your Java code as a policy in
Apigee Edge
•  One Interface, one method, 2 parameters
•  Can read policy configuration
•  Can read and write context variables
•  … anchor anywhere in Edge policy flow
•  One of the ways to extend Edge "
with custom code. Also JavaScript,
Python, nodejs.
•  RTFM: "
http://apigee.com/docs/api-services/
reference/java-callout-policy 
What are Java Callouts?
14
©2015 Apigee. All Rights Reserved.
•  Re-usable now in any
of your Proxies 
•  Configure it with XML
as any other policy
•  Verify integrity of "
any payload
•  Can read HMAC
generated by third
party libraries
•  Relies on secret "
key or public/private
key pair
Java Callout for HMAC Verification or Generation
15
©2015 Apigee. All Rights Reserved. 
https://github.com/apigee/iloveapis2015-hmac-httpsignature
HMAC Code walkthrough
& Demo
16
HttpSignature
17
This describes a way for servers and clients to add authentication
and message integrity checks to HTTP messages (eg, API calls) by
using a digital signature.
http://tools.ietf.org/html/draft-cavage-http-signatures-05
HttpSignature
18
Complements API key or token-based authentication.
HttpSignature
19
The client sends in a signature header that contains four things:
•  Keyid – identifying the key used by the client. The meaning is app-dependent. 
•  Algorithm – can be RSA-SHA (public/private key) or HMAC-SHA (shared key)
•  list of HTTP headers – optional; space delimited; these are included in the signing base
•  a computed signature of those headers
HttpSignature
20
Each element is formed as key="value" and they are separated by commas. "
This must be passed in an HTTP header named "Signature".
The resulting header might look like this: 

Signature: keyId=”mykey",algorithm="hmac-sha256",headers="(request-
target) date",signature="udvCIHZAafyK+szbOI/KkLxeIihexHpHpvMrwbeoErI="
Apigee Edge includes standard policies for
many security tasks. "
"
But it does not include a policy to validate
HttpSignature. Sound familiar?
21
Code + Configure !
22
•  Re-usable now in any of your
Proxies 
•  Configure it with XML as any
other policy
•  Verify signatures passed with
payload; reject replays and
altered messages.
•  Requires “smart client” that
can compute signatures on
outbound messages
•  Relies on secret key or
public/private key pair
Java Callout for HttpSignature Verification
23
©2015 Apigee. All Rights Reserved. 
https://github.com/apigee/iloveapis2015-hmac-httpsignature
Java Callout for HttpSignature Verification
24
©2015 Apigee. All Rights Reserved.
Java Callout for HttpSignature Verification
25
©2015 Apigee. All Rights Reserved.
HttpSignature Code walkthrough
& Demo
26
Some comments
• Include Nonce and Content-MD5 for full message
integrity guarantees
• Signatures are more difficult for developers 
• Provide libraries in JS, Java, .NET, PHP 
• You need a smart client to produce these
• There’s a good HttpSignature library for Node.js – see"
https://github.com/DinoChiesa/node-http-signature
27
©2015 Apigee. All Rights Reserved.
When to use HMAC, HttpSignature?
28
• Use these callouts whenever you want to add "
HMAC or HttpSignature verification to your proxies
• To avoid MITM risks
• To layer message-level protection on top of TLS
• Scenarios :"
Non-repudiation and archival "
e.g., medical records release consent "
Message-layer integrity"

29
©2015 Apigee. All Rights Reserved.
What did we learn?
30



APIs



Apps



Users
©2015 Apigee. All Rights Reserved. 
•  You need to include HMAC and HttpSignature
into your toolbox to secure messages and to
protect against MITM attacks
•  You can use HMAC and HttpSignature in Apigee
Edge today via custom policies
•  No coding needed ! 
•  These policies complement the existing built-in
policies in Apigee Edge
https://github.com/apigee/iloveapis2015-hmac-httpsignature

More Related Content

PPTX
API Services: Harness the Power of Enterprise Infrastructure
PPTX
APIs: The New Security Layer
PPTX
API Security Lifecycle
PDF
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
PPTX
Deep-Dive: Secure API Management
PPTX
Protect your APIs from Cyber Threats
PDF
I Love APIs 2015: Scaling Mobile-focused Microservices at Verizon
PDF
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
API Services: Harness the Power of Enterprise Infrastructure
APIs: The New Security Layer
API Security Lifecycle
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
Deep-Dive: Secure API Management
Protect your APIs from Cyber Threats
I Love APIs 2015: Scaling Mobile-focused Microservices at Verizon
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop

What's hot (20)

PDF
How to Achieve Agile API Security
PDF
APIdays Paris 2019 - API Gateway & Identity Providers, a Match Made in Micros...
PPTX
Managing Identities in the World of APIs
PDF
APIdays Paris 2019 - API Security Tips for Developers by Isabelle Mauny, 42Cr...
PPTX
Deep-Dive: API Security in the Digital Age
PPTX
Transforming Your Business Through APIs
PPTX
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
PDF
OWASP API Security Top 10 - Austin DevSecOps Days
PPTX
Node.js - Extending the Programmability of Apigee Edge
PDF
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
PPTX
Apigee Edge Overview and Roadmap
PDF
Checkmarx meetup API Security - API Security top 10 - Erez Yalon
PPTX
Best Practices for API Security
PPTX
Deconstructing API Security
PPTX
Bigger, Better Business With OAuth
PPTX
OAuth - Don’t Throw the Baby Out with the Bathwater
PDF
Protecting Microservices APIs with 42Crunch API Firewall
PDF
The Dev, Sec and Ops of API Security - API World
PPTX
API Services: Building State-of-the-Art APIs
PDF
The Dev, Sec and Ops of API Security - NordicAPIs
How to Achieve Agile API Security
APIdays Paris 2019 - API Gateway & Identity Providers, a Match Made in Micros...
Managing Identities in the World of APIs
APIdays Paris 2019 - API Security Tips for Developers by Isabelle Mauny, 42Cr...
Deep-Dive: API Security in the Digital Age
Transforming Your Business Through APIs
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
OWASP API Security Top 10 - Austin DevSecOps Days
Node.js - Extending the Programmability of Apigee Edge
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
Apigee Edge Overview and Roadmap
Checkmarx meetup API Security - API Security top 10 - Erez Yalon
Best Practices for API Security
Deconstructing API Security
Bigger, Better Business With OAuth
OAuth - Don’t Throw the Baby Out with the Bathwater
Protecting Microservices APIs with 42Crunch API Firewall
The Dev, Sec and Ops of API Security - API World
API Services: Building State-of-the-Art APIs
The Dev, Sec and Ops of API Security - NordicAPIs
Ad

Viewers also liked (6)

PPTX
Advanced Security Extensions in Apigee Edge: JWT, JWE, JWS
PPTX
Ejemplo usando la APIs de google
PPT
Todas las APIs de Google
PDF
Adapt or Die: Keynote with Greg Brail
PDF
Adapt or Die: Opening Keynote with Chet Kapoor
PPTX
Microservices Done Right: Key Ingredients for Microservices Success
Advanced Security Extensions in Apigee Edge: JWT, JWE, JWS
Ejemplo usando la APIs de google
Todas las APIs de Google
Adapt or Die: Keynote with Greg Brail
Adapt or Die: Opening Keynote with Chet Kapoor
Microservices Done Right: Key Ingredients for Microservices Success
Ad

Similar to I Love APIs 2015: Advanced Security Extensions in Apigee Edge - HMAC and http_signature (17)

PPTX
London Adapt or Die: Securing your APIs the Right Way!
PDF
UVic Startup Slam September 2014 (Kiind)
PDF
A Checklist for Every API Call
PDF
Building a secure BFF at Postman
PPTX
Adapt or Die Sydney - API Security
PDF
Apigee Edge: Intro to Microgateway
PPTX
What API Specifications and Tools Help Engineers to Construct a High-Security...
PPTX
2022 APIsecure_Securing APIs with Open Standards
PDF
Webcast: Deep-Dive Apigee Edge Microgateway
PDF
apidays LIVE LONDON - Hypermedia API for Secure, Seamless User Authentication...
PDF
Practical API Security - Midwest PHP 2018
ODP
Building a Cloud API Server using Play(SCALA) & Riak
PDF
APIsecure 2023 - OAuth, OIDC and protecting third-party credentials, Ed Olson...
PPTX
Build APIs in Node.js and Swagger 2.0 with Apigee-127
PDF
Enhancing your Security APIs
PDF
Roll Your Own API Management Platform with nginx and Lua
PDF
42crunch-API-security-workshop
London Adapt or Die: Securing your APIs the Right Way!
UVic Startup Slam September 2014 (Kiind)
A Checklist for Every API Call
Building a secure BFF at Postman
Adapt or Die Sydney - API Security
Apigee Edge: Intro to Microgateway
What API Specifications and Tools Help Engineers to Construct a High-Security...
2022 APIsecure_Securing APIs with Open Standards
Webcast: Deep-Dive Apigee Edge Microgateway
apidays LIVE LONDON - Hypermedia API for Secure, Seamless User Authentication...
Practical API Security - Midwest PHP 2018
Building a Cloud API Server using Play(SCALA) & Riak
APIsecure 2023 - OAuth, OIDC and protecting third-party credentials, Ed Olson...
Build APIs in Node.js and Swagger 2.0 with Apigee-127
Enhancing your Security APIs
Roll Your Own API Management Platform with nginx and Lua
42crunch-API-security-workshop

More from Apigee | Google Cloud (20)

PDF
How Secure Are Your APIs?
PDF
Magazine Luiza at a glance (1)
PPTX
Monetization: Unlock More Value from Your APIs
PDF
Apigee Demo: API Platform Overview
PDF
Ticketmaster at a glance
PDF
AccuWeather: Recasting API Experiences in a Developer-First World
PDF
Which Application Modernization Pattern Is Right For You?
PPTX
Apigee Product Roadmap Part 2
PPTX
The Four Transformative Forces of the API Management Market
PDF
Walgreens at a glance
PDF
Managing the Complexity of Microservices Deployments
PDF
Pitney Bowes at a glance
PDF
Adapt or Die: Keynote with Anant Jhingran
PDF
London Adapt or Die: Opening Keynot
PDF
London Adapt or Die: Lunch keynote
PDF
London Adapt or Die: Closing Keynote — Adapt Now!
PPTX
London adapt or-die opening keynote chet kapoor
PPTX
London Adapt or Die: Opening Keynote with Chet Kapoor
PPTX
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
PPTX
London Adapt or Die: Five Things Enterprises Should Know About Serverless
How Secure Are Your APIs?
Magazine Luiza at a glance (1)
Monetization: Unlock More Value from Your APIs
Apigee Demo: API Platform Overview
Ticketmaster at a glance
AccuWeather: Recasting API Experiences in a Developer-First World
Which Application Modernization Pattern Is Right For You?
Apigee Product Roadmap Part 2
The Four Transformative Forces of the API Management Market
Walgreens at a glance
Managing the Complexity of Microservices Deployments
Pitney Bowes at a glance
Adapt or Die: Keynote with Anant Jhingran
London Adapt or Die: Opening Keynot
London Adapt or Die: Lunch keynote
London Adapt or Die: Closing Keynote — Adapt Now!
London adapt or-die opening keynote chet kapoor
London Adapt or Die: Opening Keynote with Chet Kapoor
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
London Adapt or Die: Five Things Enterprises Should Know About Serverless

Recently uploaded (20)

PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Nekopoi APK 2025 free lastest update
PPTX
Transform Your Business with a Software ERP System
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
System and Network Administration Chapter 2
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
medical staffing services at VALiNTRY
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
System and Network Administraation Chapter 3
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
L1 - Introduction to python Backend.pptx
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Nekopoi APK 2025 free lastest update
Transform Your Business with a Software ERP System
wealthsignaloriginal-com-DS-text-... (1).pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
Design an Analysis of Algorithms I-SECS-1021-03
PTS Company Brochure 2025 (1).pdf.......
System and Network Administration Chapter 2
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
medical staffing services at VALiNTRY
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
System and Network Administraation Chapter 3
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Upgrade and Innovation Strategies for SAP ERP Customers
L1 - Introduction to python Backend.pptx
Softaken Excel to vCard Converter Software.pdf
Odoo POS Development Services by CandidRoot Solutions
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...

I Love APIs 2015: Advanced Security Extensions in Apigee Edge - HMAC and http_signature

  • 1. 1 Advanced Security Extensions in Apigee Edge: ! HMAC, HttpSignature! Dino Chiesa, " Vinit Mehta
  • 2. Who is using Signatures? 2 AWS - custom HMAC-SHA256 signature over the [ verb . host . uri . queryparams ] Google Maps API for Work - HMAC-SHA1 over URL+query (includes clientid) Twitter - OAuth1.0a signatures (HMAC-SHA1) over headers + params Azure storage - HMAC-SHA256 over [ verb . contentmd5 . contenttype . date . url ] Github's outbound webhooks - HMAC-SHA1 over the body (prospect) Automaker - XML DSIG over payload (prospect) WW Retailer - HttpSignature (Signature applied to select headers) (customer) Payeezy - custom HMAC-SHA256 over select headers and body (customer) BBC – HMAC on calls from Salesforce.com, $$ Video-on-demand (customer) Vodafone - HMAC (customer) O2 - HMAC
  • 3. Why are these people using message-level security?" Why are they requiring signatures on their payloads? 3
  • 4. Let’s talk about MITM, non-repudiation, auditing 4 POST /accounts/12334566/update API-Key: ryJIXSIAMjuyDii8 Host: api.example.com Content-Type: application/json Content-Length: 132 { "rty": "MRA", "n": "5SGw1jcqyFYEZaf3VduzmRk_jcBNFFLQgOf9U", "e": "AQAB", "gla": "Rm425", "use": "sig", "kid": "196" }
  • 5. Let’s talk about MITM, Non-repudiation, Auditing 5 POST /accounts/12334566/update API-Key: ryJIXSIAMjuyDii8 Host: api.example.com Content-Type: application/json Content-Length: 132 { "rty": "MRA", "n": "5SGw1jcqyFYEZaf3VduzmRk_jcBNFFLQgOf9U", "e": "AQAB", "gla": "Rm425", "use": "sig", "kid": "196" } •  TLS encrypts all of this, " except the hostname •  TLS is point-to-point •  What happens if you relay " this message beyond the " TLS-protected entry point? •  If this message gets archived, how to guarantee its integrity?
  • 6. Transport-layer security secures data in transit 6 Application Layer TLS Transport Layer Network layer Data Link Layer Application Layer TLS Transport Layer Network layer Data Link Layer
  • 7. ? Message-layer security is independent of transport 7 Application Layer TLS Transport Layer Network layer Data Link Layer Application Layer TLS Transport Layer Network layer Data Link Layer
  • 8. Message-level signatures protect the payload 8 POST /accounts/12334566/update API-Key: ryJIXSIAMjuyDii8 Host: api.example.com Content-Type: application/json Content-Length: 132 { "rty": "MRA", "n": "5SGw1jcqyFYEZaf3VduzmRk_jcBNFFLQgOf9U", "e": "AQAB", "gla": "Rm425", "use": "sig", "kid": "196" } •  Message-level signatures " can protect these parts of " the message, independently " of transport •  Can optionally perform message-level encryption, encryption of selected " fields, etc.
  • 9. MAC = Message Authentication Code " HMAC = keyed-hash MAC 9 HMAC injects a key into the normal hashing function. HMAC may be used to simultaneously verify both the integrity and the authentication of a message. MAC may be used to verify the integrity of a message.
  • 10. You are smart people, " so obviously… 10 You want to verify HMACs in API proxies. Today, in Apigee Edge, you can’t.
  • 11. Apigee Edge includes standard policies for many security tasks. " " But it does not include a policy to generate or validate HMACs. You’re hosed. 11
  • 12. Apigee Edge includes standard policies for many security tasks. " " But it does not include a policy to generate or validate HMACs. You’re hosed. 12 Or maybe you’re not?
  • 14. •  Embed your Java code as a policy in Apigee Edge •  One Interface, one method, 2 parameters •  Can read policy configuration •  Can read and write context variables •  … anchor anywhere in Edge policy flow •  One of the ways to extend Edge " with custom code. Also JavaScript, Python, nodejs. •  RTFM: " http://apigee.com/docs/api-services/ reference/java-callout-policy What are Java Callouts? 14 ©2015 Apigee. All Rights Reserved.
  • 15. •  Re-usable now in any of your Proxies •  Configure it with XML as any other policy •  Verify integrity of " any payload •  Can read HMAC generated by third party libraries •  Relies on secret " key or public/private key pair Java Callout for HMAC Verification or Generation 15 ©2015 Apigee. All Rights Reserved. https://github.com/apigee/iloveapis2015-hmac-httpsignature
  • 17. HttpSignature 17 This describes a way for servers and clients to add authentication and message integrity checks to HTTP messages (eg, API calls) by using a digital signature. http://tools.ietf.org/html/draft-cavage-http-signatures-05
  • 18. HttpSignature 18 Complements API key or token-based authentication.
  • 19. HttpSignature 19 The client sends in a signature header that contains four things: •  Keyid – identifying the key used by the client. The meaning is app-dependent. •  Algorithm – can be RSA-SHA (public/private key) or HMAC-SHA (shared key) •  list of HTTP headers – optional; space delimited; these are included in the signing base •  a computed signature of those headers
  • 20. HttpSignature 20 Each element is formed as key="value" and they are separated by commas. " This must be passed in an HTTP header named "Signature". The resulting header might look like this: Signature: keyId=”mykey",algorithm="hmac-sha256",headers="(request- target) date",signature="udvCIHZAafyK+szbOI/KkLxeIihexHpHpvMrwbeoErI="
  • 21. Apigee Edge includes standard policies for many security tasks. " " But it does not include a policy to validate HttpSignature. Sound familiar? 21
  • 23. •  Re-usable now in any of your Proxies •  Configure it with XML as any other policy •  Verify signatures passed with payload; reject replays and altered messages. •  Requires “smart client” that can compute signatures on outbound messages •  Relies on secret key or public/private key pair Java Callout for HttpSignature Verification 23 ©2015 Apigee. All Rights Reserved. https://github.com/apigee/iloveapis2015-hmac-httpsignature
  • 24. Java Callout for HttpSignature Verification 24 ©2015 Apigee. All Rights Reserved.
  • 25. Java Callout for HttpSignature Verification 25 ©2015 Apigee. All Rights Reserved.
  • 27. Some comments • Include Nonce and Content-MD5 for full message integrity guarantees • Signatures are more difficult for developers • Provide libraries in JS, Java, .NET, PHP • You need a smart client to produce these • There’s a good HttpSignature library for Node.js – see" https://github.com/DinoChiesa/node-http-signature 27 ©2015 Apigee. All Rights Reserved.
  • 28. When to use HMAC, HttpSignature? 28
  • 29. • Use these callouts whenever you want to add " HMAC or HttpSignature verification to your proxies • To avoid MITM risks • To layer message-level protection on top of TLS • Scenarios :" Non-repudiation and archival " e.g., medical records release consent " Message-layer integrity" 29 ©2015 Apigee. All Rights Reserved.
  • 30. What did we learn? 30 APIs Apps Users ©2015 Apigee. All Rights Reserved. •  You need to include HMAC and HttpSignature into your toolbox to secure messages and to protect against MITM attacks •  You can use HMAC and HttpSignature in Apigee Edge today via custom policies •  No coding needed ! •  These policies complement the existing built-in policies in Apigee Edge https://github.com/apigee/iloveapis2015-hmac-httpsignature