SlideShare a Scribd company logo
akana
Securing your APIs
against vulnerabilities in SSL
1
akana
β€’ Ashish Vaid
β€’ Director of Technology at Akana
β€’ Follow us at @funnyenough & @AkanaInc
β€’ #TLSWithAkana
β€’ Slides & Webinar at: http://resource.akana.com
2
akana
Agenda
β€’ API Security
β€’ Overview
β€’ Certificates
β€’ Handshake
β€’ Cipher Suites
β€’ Tools - Discovering vulnerabilities
β€’ Best Practices Recap
3
akana
APIs
4
akana
API Security
β€’ OAuth 2.0
β€’ OpenID Connect
β€’ SAML Web SSO
β€’ Attribute-based Access Control
β€’ Data Privacy
5
akana
Known Vulnerabilities
β€’ Heartbleed
β€’ POODLE
β€’ BEAST
β€’ CRIME
β€’ FREAK
β€’ Renegotiation attacks
β€’ Lucky 13
β€’ BERserk
β€’ RC4 attacks
β€’ more…
6
akana
SSL/TLS Overview
β€’ SSL v1 - mid-1990s by Netscape
β€’ TLS v1 = SSL 3.1 by IETF - built on SSL
β€’ Primary use
β€’ Authentication
β€’ Confidentiality
7
akana
Authentication
β€’ Process by which you verify that someone is who they claim they are
β€’ Client authenticates the Server credentials
β€’ API Endpoint Server proves its identity to clients by sharing a Certificate
β€’ Domain Name
β€’ Public Key (portion of the Public-Private Key Pair)
β€’ Authentication relies on Signature Verification
8
akana
Keys in Certificates
β€’ RSA
β€’ Public Key - Product of 2 primes + a number
β€’ Private Key - a related number
β€’ It is all about key-size and time & resources - RSA larger keys
β€’ Larger keys = Slower Operation
β€’ ECC - Elliptic Curve Cryptography
β€’ Public Key - is an equation for an elliptic curve + a point on the curve
β€’ Private Key - is a number
β€’ ECDSA (Elliptic Curve Digital Signature Algorithm)
β€’ Bitcoin, Apple iMessage, etc.
β€’ Prefer ECC over RSA
β€’ RSA - use keys > 2048 bits
9
akana
Confidentiality
β€’ Symmetric keys based encryption
β€’ Session Key - single use symmetric key; secret key
β€’ Cipher - is an algorithm for performing encryption and decryption
β€’ Confidentiality of a session is determined by the choice and size of
the Cipher!
10
akana
Handshake
11
Client Server
hello, versions, client random & supported ciphers
hello, server random & public key certificate
encrypted premaster secret using the server public key
calculate session key
using session key - encrypt payload
akana
Handshake
β€’ RSA - asymmetric keys
β€’ Single Operation - RSA
β€’ Faster
β€’ Diffie-Hellman - public key exchange
β€’ Two Operations: DH/DHE/ECHDE + RSA/DSA/ECDSA
β€’ Perfect Forward Secrecy - DHE/ECDHE
β€’ Two Operations with ECC can be as fast as Single Operation RSA
12
akana
Ciphers
β€’ Block Ciphers (Fixed Size)
β€’ AES - Advanced Encryption Standard
β€’ 3DES - Triple Data Encryption Standard
β€’ Operation Modes
β€’ GCM - Galois/Counter Mode
β€’ CBC - Cipher Block Chaining
β€’ Stream Cipher (Continuous Stream of Symbols)
β€’ RC4 - Rivest Cipher 4
β€’ Block Ciphers in Stream mode
akana
Cipher Suites
β€’ Key establishment
β€’ Authentication - Signature Algorithm
β€’ Confidentiality - Cipher - Encryption/Decryption
β€’ Integrity - Digest
akana
Cipher Suite - Example
β€’ AES128-SHA
β€’ Key Establishment: RSA
β€’ Authentication: RSA
β€’ Confidentiality: AES128 bit w/ CBC
β€’ Integrity: SHA-1
15
akana
Cipher Suite - Example
β€’ AES256-GCM-SHA384
β€’ Key Establishment: RSA
β€’ Authentication: RSA
β€’ Confidentiality: AES 256 bits w/ GCM
β€’ Integrity: SHA-2 384 bits
akana
Cipher Suite - Example
β€’ ECDHE-ECDSA-AES256-GCM-SHA384
β€’ Key Establishment: ECDHE (Elliptic Curve DH Ephemeral)
β€’ Authentication: ECDSA (Elliptic Curve DSA)
β€’ Confidentiality: AES 256-bit w/ GCM
β€’ Integrity: SHA-2 384 bit
akana
Downgrades
β€’ For interoperability with legacy servers TLS client will intentionally
reconnect with a downgraded protocol
β€’ Downgrades are undesirable - may indicate an downgrade attack
β€’ SCSV - Signaling Cipher Suite Value can be employed to prevent
unintended protocol downgrades (MITM attacks/POODLE)
β€’ TLS_FALLBACK_SCSV is a fake* Cipher Suite client sends during
ClientHello
β€’ Enable support TLS_FALLBACK_SCSV
18
akana
Tools/Resources
β€’ Qualys SSL Lab (www.ssllabs.com)
β€’ SSLScan (brew install sslscan)
β€’ OWASP (www.owasp.org)
β€’ CipherList (www.cipherli.st)
β€’ Wikipedia (http://en.wikipedia.org/wiki/Transport_Layer_Security)
19
akana
20
akana
21
akana
SSLScanTesting SSL server api.stripe.com on port 443
Supported Server Cipher(s):
Rejected N/A SSLv2 168 bits DES-CBC3-MD5
Rejected N/A SSLv2 56 bits DES-CBC-MD5
Rejected N/A SSLv2 40 bits EXP-RC2-CBC-MD5
Rejected N/A SSLv2 128 bits RC2-CBC-MD5
Rejected N/A SSLv2 40 bits EXP-RC4-MD5
Rejected N/A SSLv2 128 bits RC4-MD5
Rejected N/A SSLv3 128 bits ADH-SEED-SHA
Rejected N/A SSLv3 128 bits DHE-RSA-SEED-SHA
Rejected N/A SSLv3 128 bits DHE-DSS-SEED-SHA
Rejected N/A SSLv3 128 bits SEED-SHA
Rejected N/A SSLv3 256 bits ADH-AES256-SHA
Accepted SSLv3 256 bits DHE-RSA-AES256-SHA
Rejected N/A SSLv3 256 bits DHE-DSS-AES256-SHA
Accepted SSLv3 256 bits AES256-SHA
Rejected N/A SSLv3 128 bits ADH-AES128-SHA
Accepted SSLv3 128 bits DHE-RSA-AES128-SHA
Rejected N/A SSLv3 128 bits DHE-DSS-AES128-SHA
Accepted SSLv3 128 bits AES128-SHA
Rejected N/A SSLv3 168 bits ADH-DES-CBC3-SHA
Rejected N/A SSLv3 56 bits ADH-DES-CBC-SHA
Rejected N/A SSLv3 40 bits EXP-ADH-DES-CBC-SHA
Rejected N/A SSLv3 128 bits ADH-RC4-MD5
Rejected N/A SSLv3 40 bits EXP-ADH-RC4-MD5
Rejected N/A SSLv3 168 bits EDH-RSA-DES-CBC3-SHA
Rejected N/A SSLv3 56 bits EDH-RSA-DES-CBC-SHA
Rejected N/A SSLv3 40 bits EXP-EDH-RSA-DES-CBC-SHA
Rejected N/A SSLv3 168 bits EDH-DSS-DES-CBC3-SHA
Rejected N/A SSLv3 56 bits EDH-DSS-DES-CBC-SHA
Rejected N/A SSLv3 40 bits EXP-EDH-DSS-DES-CBC-SHA
Accepted SSLv3 168 bits DES-CBC3-SHA
Rejected N/A SSLv3 56 bits DES-CBC-SHA
Rejected N/A SSLv3 40 bits EXP-DES-CBC-SHA
Rejected N/A SSLv3 40 bits EXP-RC2-CBC-MD5
Accepted SSLv3 128 bits RC4-SHA
Rejected N/A SSLv3 128 bits RC4-MD5
Rejected N/A SSLv3 40 bits EXP-RC4-MD5
Rejected N/A SSLv3 0 bits NULL-SHA
Rejected N/A SSLv3 0 bits NULL-MD5
Rejected N/A TLSv1 128 bits ADH-SEED-SHA
Rejected N/A TLSv1 128 bits DHE-RSA-SEED-SHA
Rejected N/A TLSv1 128 bits DHE-DSS-SEED-SHA
Rejected N/A TLSv1 128 bits SEED-SHA
Rejected N/A TLSv1 256 bits ADH-AES256-SHA
Accepted TLSv1 256 bits DHE-RSA-AES256-SHA
Rejected N/A TLSv1 256 bits DHE-DSS-AES256-SHA
Accepted TLSv1 256 bits AES256-SHA
Rejected N/A TLSv1 128 bits ADH-AES128-SHA
Accepted TLSv1 128 bits DHE-RSA-AES128-SHA
Rejected N/A TLSv1 128 bits DHE-DSS-AES128-SHA
Accepted TLSv1 128 bits AES128-SHA
Rejected N/A TLSv1 168 bits ADH-DES-CBC3-SHA
Rejected N/A TLSv1 56 bits ADH-DES-CBC-SHA
Rejected N/A TLSv1 40 bits EXP-ADH-DES-CBC-SHA
Rejected N/A TLSv1 128 bits ADH-RC4-MD5
Rejected N/A TLSv1 40 bits EXP-ADH-RC4-MD5
Rejected N/A TLSv1 168 bits EDH-RSA-DES-CBC3-SHA
Rejected N/A TLSv1 56 bits EDH-RSA-DES-CBC-SHA
Rejected N/A TLSv1 40 bits EXP-EDH-RSA-DES-CBC-SHA
Rejected N/A TLSv1 168 bits EDH-DSS-DES-CBC3-SHA
Rejected N/A TLSv1 56 bits EDH-DSS-DES-CBC-SHA
Rejected N/A TLSv1 40 bits EXP-EDH-DSS-DES-CBC-SHA
Accepted TLSv1 168 bits DES-CBC3-SHA
Rejected N/A TLSv1 56 bits DES-CBC-SHA
Rejected N/A TLSv1 40 bits EXP-DES-CBC-SHA
Rejected N/A TLSv1 40 bits EXP-RC2-CBC-MD5
Accepted TLSv1 128 bits RC4-SHA
Rejected N/A TLSv1 128 bits RC4-MD5
Rejected N/A TLSv1 40 bits EXP-RC4-MD5
Rejected N/A TLSv1 0 bits NULL-SHA
Rejected N/A TLSv1 0 bits NULL-MD5
Prefered Server Cipher(s):
SSLv3 128 bits DHE-RSA-AES128-SHA
TLSv1 128 bits DHE-RSA-AES128-SHA
22
akana
Best Practices Recap
β€’ Protocols
β€’ Prefer use of TLS 1.2 over TLS 1.1 and TLS 1.0
β€’ Disable SSL 1.0, 2.0, 3.0
β€’ Prefer ECC over RSA Public-Private Key Pair in Certificates
β€’ Prefer > 2048 bits when using RSA Public-Private Key Pair in Certificates
β€’ Prefer Perfect Forward Secrecy
β€’ Use DHE or ECDHE
β€’ Prefer GCM over CBC Cipher Suites
β€’ Disable RC4, NULL, eNULL & aNULL
β€’ Disable EXPort-Level Ciphers*
β€’ Prefer SHA2 over SHA1 for Digest
β€’ Disable MD5
β€’ Enable TLS_FALLBACK_SCSV
23
akana
Summary
β€’ Cryptography is hard to implement correctly
β€’ Today’s Best Practices will be tomorrow’s NO-NO
β€’ How do you keep up-to-date on latest vulnerabilities?
β€’ And recommendations?
β€’ Most of our customers rely on us up-to-date & tested policies
24
akana
β€’ Follow us at @AkanaInc
β€’ Additional Conversation: #TLSWithAkana
β€’ White-papers & Webinars: http://resource.akana.com

More Related Content

PDF
Training Slides: 302 - Securing Your Cluster With SSL
PDF
DEF CON 23 - CASSIDY LEVERETT LEE - switches get stitches
PDF
Challenges Building Secure Mobile Applications
Β 
PPTX
Owasp crypto tools and projects
PDF
PostgreSQL High-Availability and Geographic Locality using consul
PDF
Using Vault to decouple MySQL Secrets
PDF
Modern tooling to assist with developing applications on FreeBSD
PPTX
ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΡ TLS / Артём Π“Π°Π²Ρ€ΠΈΡ‡Π΅Π½ΠΊΠΎΠ² (Qrator Labs)
Β 
Training Slides: 302 - Securing Your Cluster With SSL
DEF CON 23 - CASSIDY LEVERETT LEE - switches get stitches
Challenges Building Secure Mobile Applications
Β 
Owasp crypto tools and projects
PostgreSQL High-Availability and Geographic Locality using consul
Using Vault to decouple MySQL Secrets
Modern tooling to assist with developing applications on FreeBSD
ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΡ TLS / Артём Π“Π°Π²Ρ€ΠΈΡ‡Π΅Π½ΠΊΠΎΠ² (Qrator Labs)
Β 

What's hot (7)

PDF
Managing secrets at scale
PDF
Supercharging Content Delivery with Varnish
KEY
RIPE64 - DNS and DNSSEC in the .se Zone
Β 
PDF
TechEvent 2019: Wie sichere ich eigentlich Kafka ab?; Markus Bente - Trivadis
PPTX
Vault - Secret and Key Management
PPTX
Maximizing Performance with SPDY and SSL
Β 
PDF
Da APK al Golden Ticket
Managing secrets at scale
Supercharging Content Delivery with Varnish
RIPE64 - DNS and DNSSEC in the .se Zone
Β 
TechEvent 2019: Wie sichere ich eigentlich Kafka ab?; Markus Bente - Trivadis
Vault - Secret and Key Management
Maximizing Performance with SPDY and SSL
Β 
Da APK al Golden Ticket
Ad

Viewers also liked (18)

PPTX
Extracting Insights from your API Programs
Β 
PDF
การหา Google map key api
PPTX
Architecting Mobile Solutions Using Microsoft Azure and Akana
Β 
PPTX
Deconstructing API Security
Β 
PDF
Node at Apiary.io
PDF
API Design Workflows
PPTX
Apiary
PDF
API Design Essentials - Akana Platform Overview
Β 
PPTX
Effingham 2 Apiary Development Grant Gillard
PDF
Eat Your Microservices Elephant One Bite at a Time
Β 
PPTX
Digital Healthcare – Realizing Interoperability with APIs
Β 
PPTX
Realizing Hybrid Cloud: Using IBM Bluemix, APIs, and DataPower
Β 
PDF
ΰΉ€ΰΈ£ΰΈ΅ΰΈ’ΰΈ™ΰΈ£ΰΈΉΰΉ‰ Node JS แบบΰΈͺΰΈšΰΈ²ΰΈ’ΰΉ† ΰΈͺΰΈ³ΰΈ«ΰΈ£ΰΈ±ΰΈšΰΈœΰΈΉΰΉ‰ΰΉ€ΰΈ£ΰΈ΄ΰΉˆΰΈ‘ΰΈ•ΰΉ‰ΰΈ™
PPTX
Confronting API Security in the Brave New Open Banking Era
Β 
PDF
The Latest in API Orchestration, Mediation, and Integration
Β 
PPTX
API Adoption Patterns in Banking & The Promise of Microservices
Β 
PDF
API Economy - The Making of a Digital Business
Β 
Extracting Insights from your API Programs
Β 
การหา Google map key api
Architecting Mobile Solutions Using Microsoft Azure and Akana
Β 
Deconstructing API Security
Β 
Node at Apiary.io
API Design Workflows
Apiary
API Design Essentials - Akana Platform Overview
Β 
Effingham 2 Apiary Development Grant Gillard
Eat Your Microservices Elephant One Bite at a Time
Β 
Digital Healthcare – Realizing Interoperability with APIs
Β 
Realizing Hybrid Cloud: Using IBM Bluemix, APIs, and DataPower
Β 
ΰΉ€ΰΈ£ΰΈ΅ΰΈ’ΰΈ™ΰΈ£ΰΈΉΰΉ‰ Node JS แบบΰΈͺΰΈšΰΈ²ΰΈ’ΰΉ† ΰΈͺΰΈ³ΰΈ«ΰΈ£ΰΈ±ΰΈšΰΈœΰΈΉΰΉ‰ΰΉ€ΰΈ£ΰΈ΄ΰΉˆΰΈ‘ΰΈ•ΰΉ‰ΰΈ™
Confronting API Security in the Brave New Open Banking Era
Β 
The Latest in API Orchestration, Mediation, and Integration
Β 
API Adoption Patterns in Banking & The Promise of Microservices
Β 
API Economy - The Making of a Digital Business
Β 
Ad

Similar to Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3 (20)

PPTX
Random musings on SSL/TLS configuration
PPT
Sniffing SSL Traffic
Β 
PDF
VisualWorks Security Reloaded - STIC 2012
PDF
Secure Communications with VisualWorks - CSTUC 2006
PDF
SSL, X.509, HTTPS - How to configure your HTTPS server
Β 
PPTX
Atonomy of-a-tls-handshake-mini-conferentie
PDF
SSL Demystified
PDF
Sα»­ dα»₯ng TLS Δ‘ΓΊng cΓ‘ch - PhαΊ‘m TΓΉng DΖ°Ζ‘ng
PPTX
[Wroclaw #8] TLS all the things!
Β 
PDF
Transport Layer Security
PDF
Transport Layer Security - Mrinal Wadhwa
PPT
8.SSL encryption.ppt
PDF
FreeBSD and Hardening Web Server
PPTX
Secure Socket Layer (SSL)
PPT
SSL.ppt
PDF
Secure PostgreSQL deployment
PPTX
Cryptography by Afroz haider mir
PPT
SSL
PPTX
Transport Layer Security
Random musings on SSL/TLS configuration
Sniffing SSL Traffic
Β 
VisualWorks Security Reloaded - STIC 2012
Secure Communications with VisualWorks - CSTUC 2006
SSL, X.509, HTTPS - How to configure your HTTPS server
Β 
Atonomy of-a-tls-handshake-mini-conferentie
SSL Demystified
Sα»­ dα»₯ng TLS Δ‘ΓΊng cΓ‘ch - PhαΊ‘m TΓΉng DΖ°Ζ‘ng
[Wroclaw #8] TLS all the things!
Β 
Transport Layer Security
Transport Layer Security - Mrinal Wadhwa
8.SSL encryption.ppt
FreeBSD and Hardening Web Server
Secure Socket Layer (SSL)
SSL.ppt
Secure PostgreSQL deployment
Cryptography by Afroz haider mir
SSL
Transport Layer Security

More from Akana (19)

PPTX
Driving Digital Innovation with a Layered API Design Approach
Β 
PPTX
Making Sense of Hypermedia APIs – Hype or Reality?
Β 
PPTX
Microservices: Why Should Businesses Care?
Β 
PPTX
Using APIs
Β 
PPTX
Unified Security for Mobile, APIs and the Web
Β 
PPTX
Turbo-Charge DataPower to Reach Your SOA Goals
Β 
PPTX
The Science of APIs in a Mobile World:Security, Control and Quality
Β 
PPTX
The Datacenter API
Β 
PPTX
The Business Value for Internal APIs in the Enterprise
Β 
PPTX
The API Economy is Here: Facebook, Twitter, Netflix and Your IT Enterprise
Β 
PPTX
Realizing SOA and API Convergence for IBM DataPower Customers
Β 
PPTX
Rapid Mobile App to API Integration
Β 
PPTX
Powering Internal API Communities
Β 
PPTX
Platform for Secure Digital Business
Β 
PPTX
Manage Your Mesh
Β 
PPTX
Lifecycle Manager and the Lifecycle API
Β 
PPTX
Maybe It's Time for a Connector-less approach to Cloud Integration
Β 
PPTX
Intermediary for Microsoft: Product Overview and Demo
Β 
PPTX
Jumping Ahead with Enterprise APIs
Β 
Driving Digital Innovation with a Layered API Design Approach
Β 
Making Sense of Hypermedia APIs – Hype or Reality?
Β 
Microservices: Why Should Businesses Care?
Β 
Using APIs
Β 
Unified Security for Mobile, APIs and the Web
Β 
Turbo-Charge DataPower to Reach Your SOA Goals
Β 
The Science of APIs in a Mobile World:Security, Control and Quality
Β 
The Datacenter API
Β 
The Business Value for Internal APIs in the Enterprise
Β 
The API Economy is Here: Facebook, Twitter, Netflix and Your IT Enterprise
Β 
Realizing SOA and API Convergence for IBM DataPower Customers
Β 
Rapid Mobile App to API Integration
Β 
Powering Internal API Communities
Β 
Platform for Secure Digital Business
Β 
Manage Your Mesh
Β 
Lifecycle Manager and the Lifecycle API
Β 
Maybe It's Time for a Connector-less approach to Cloud Integration
Β 
Intermediary for Microsoft: Product Overview and Demo
Β 
Jumping Ahead with Enterprise APIs
Β 

Recently uploaded (20)

PPTX
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
PPTX
international classification of diseases ICD-10 review PPT.pptx
PPTX
Introduction to Information and Communication Technology
PPTX
SAP Ariba Sourcing PPT for learning material
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PDF
Behind the Smile Unmasking Ken Childs and the Quiet Trail of Deceit Left in H...
PPTX
Funds Management Learning Material for Beg
PPTX
innovation process that make everything different.pptx
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PDF
The Internet -By the Numbers, Sri Lanka Edition
Β 
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
Β 
PPTX
durere- in cancer tu ttresjjnklj gfrrjnrs mhugyfrd
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PPTX
Digital Literacy And Online Safety on internet
PPTX
cyber security Workshop awareness ppt.pptx
PPTX
Introuction about WHO-FIC in ICD-10.pptx
DOCX
Unit-3 cyber security network security of internet system
PDF
πŸ’° π”πŠπ“πˆ πŠπ„πŒπ„ππ€ππ†π€π πŠπˆππ„π‘πŸ’πƒ π‡π€π‘πˆ 𝐈𝐍𝐈 πŸπŸŽπŸπŸ“ πŸ’°
Β 
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
international classification of diseases ICD-10 review PPT.pptx
Introduction to Information and Communication Technology
SAP Ariba Sourcing PPT for learning material
522797556-Unit-2-Temperature-measurement-1-1.pptx
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
Behind the Smile Unmasking Ken Childs and the Quiet Trail of Deceit Left in H...
Funds Management Learning Material for Beg
innovation process that make everything different.pptx
Slides PPTX World Game (s) Eco Economic Epochs.pptx
Unit-1 introduction to cyber security discuss about how to secure a system
The Internet -By the Numbers, Sri Lanka Edition
Β 
RPKI Status Update, presented by Makito Lay at IDNOG 10
Β 
durere- in cancer tu ttresjjnklj gfrrjnrs mhugyfrd
An introduction to the IFRS (ISSB) Stndards.pdf
Digital Literacy And Online Safety on internet
cyber security Workshop awareness ppt.pptx
Introuction about WHO-FIC in ICD-10.pptx
Unit-3 cyber security network security of internet system
πŸ’° π”πŠπ“πˆ πŠπ„πŒπ„ππ€ππ†π€π πŠπˆππ„π‘πŸ’πƒ π‡π€π‘πˆ 𝐈𝐍𝐈 πŸπŸŽπŸπŸ“ πŸ’°
Β 

Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3

  • 1. akana Securing your APIs against vulnerabilities in SSL 1
  • 2. akana β€’ Ashish Vaid β€’ Director of Technology at Akana β€’ Follow us at @funnyenough & @AkanaInc β€’ #TLSWithAkana β€’ Slides & Webinar at: http://resource.akana.com 2
  • 3. akana Agenda β€’ API Security β€’ Overview β€’ Certificates β€’ Handshake β€’ Cipher Suites β€’ Tools - Discovering vulnerabilities β€’ Best Practices Recap 3
  • 5. akana API Security β€’ OAuth 2.0 β€’ OpenID Connect β€’ SAML Web SSO β€’ Attribute-based Access Control β€’ Data Privacy 5
  • 6. akana Known Vulnerabilities β€’ Heartbleed β€’ POODLE β€’ BEAST β€’ CRIME β€’ FREAK β€’ Renegotiation attacks β€’ Lucky 13 β€’ BERserk β€’ RC4 attacks β€’ more… 6
  • 7. akana SSL/TLS Overview β€’ SSL v1 - mid-1990s by Netscape β€’ TLS v1 = SSL 3.1 by IETF - built on SSL β€’ Primary use β€’ Authentication β€’ Confidentiality 7
  • 8. akana Authentication β€’ Process by which you verify that someone is who they claim they are β€’ Client authenticates the Server credentials β€’ API Endpoint Server proves its identity to clients by sharing a Certificate β€’ Domain Name β€’ Public Key (portion of the Public-Private Key Pair) β€’ Authentication relies on Signature Verification 8
  • 9. akana Keys in Certificates β€’ RSA β€’ Public Key - Product of 2 primes + a number β€’ Private Key - a related number β€’ It is all about key-size and time & resources - RSA larger keys β€’ Larger keys = Slower Operation β€’ ECC - Elliptic Curve Cryptography β€’ Public Key - is an equation for an elliptic curve + a point on the curve β€’ Private Key - is a number β€’ ECDSA (Elliptic Curve Digital Signature Algorithm) β€’ Bitcoin, Apple iMessage, etc. β€’ Prefer ECC over RSA β€’ RSA - use keys > 2048 bits 9
  • 10. akana Confidentiality β€’ Symmetric keys based encryption β€’ Session Key - single use symmetric key; secret key β€’ Cipher - is an algorithm for performing encryption and decryption β€’ Confidentiality of a session is determined by the choice and size of the Cipher! 10
  • 11. akana Handshake 11 Client Server hello, versions, client random & supported ciphers hello, server random & public key certificate encrypted premaster secret using the server public key calculate session key using session key - encrypt payload
  • 12. akana Handshake β€’ RSA - asymmetric keys β€’ Single Operation - RSA β€’ Faster β€’ Diffie-Hellman - public key exchange β€’ Two Operations: DH/DHE/ECHDE + RSA/DSA/ECDSA β€’ Perfect Forward Secrecy - DHE/ECDHE β€’ Two Operations with ECC can be as fast as Single Operation RSA 12
  • 13. akana Ciphers β€’ Block Ciphers (Fixed Size) β€’ AES - Advanced Encryption Standard β€’ 3DES - Triple Data Encryption Standard β€’ Operation Modes β€’ GCM - Galois/Counter Mode β€’ CBC - Cipher Block Chaining β€’ Stream Cipher (Continuous Stream of Symbols) β€’ RC4 - Rivest Cipher 4 β€’ Block Ciphers in Stream mode
  • 14. akana Cipher Suites β€’ Key establishment β€’ Authentication - Signature Algorithm β€’ Confidentiality - Cipher - Encryption/Decryption β€’ Integrity - Digest
  • 15. akana Cipher Suite - Example β€’ AES128-SHA β€’ Key Establishment: RSA β€’ Authentication: RSA β€’ Confidentiality: AES128 bit w/ CBC β€’ Integrity: SHA-1 15
  • 16. akana Cipher Suite - Example β€’ AES256-GCM-SHA384 β€’ Key Establishment: RSA β€’ Authentication: RSA β€’ Confidentiality: AES 256 bits w/ GCM β€’ Integrity: SHA-2 384 bits
  • 17. akana Cipher Suite - Example β€’ ECDHE-ECDSA-AES256-GCM-SHA384 β€’ Key Establishment: ECDHE (Elliptic Curve DH Ephemeral) β€’ Authentication: ECDSA (Elliptic Curve DSA) β€’ Confidentiality: AES 256-bit w/ GCM β€’ Integrity: SHA-2 384 bit
  • 18. akana Downgrades β€’ For interoperability with legacy servers TLS client will intentionally reconnect with a downgraded protocol β€’ Downgrades are undesirable - may indicate an downgrade attack β€’ SCSV - Signaling Cipher Suite Value can be employed to prevent unintended protocol downgrades (MITM attacks/POODLE) β€’ TLS_FALLBACK_SCSV is a fake* Cipher Suite client sends during ClientHello β€’ Enable support TLS_FALLBACK_SCSV 18
  • 19. akana Tools/Resources β€’ Qualys SSL Lab (www.ssllabs.com) β€’ SSLScan (brew install sslscan) β€’ OWASP (www.owasp.org) β€’ CipherList (www.cipherli.st) β€’ Wikipedia (http://en.wikipedia.org/wiki/Transport_Layer_Security) 19
  • 22. akana SSLScanTesting SSL server api.stripe.com on port 443 Supported Server Cipher(s): Rejected N/A SSLv2 168 bits DES-CBC3-MD5 Rejected N/A SSLv2 56 bits DES-CBC-MD5 Rejected N/A SSLv2 40 bits EXP-RC2-CBC-MD5 Rejected N/A SSLv2 128 bits RC2-CBC-MD5 Rejected N/A SSLv2 40 bits EXP-RC4-MD5 Rejected N/A SSLv2 128 bits RC4-MD5 Rejected N/A SSLv3 128 bits ADH-SEED-SHA Rejected N/A SSLv3 128 bits DHE-RSA-SEED-SHA Rejected N/A SSLv3 128 bits DHE-DSS-SEED-SHA Rejected N/A SSLv3 128 bits SEED-SHA Rejected N/A SSLv3 256 bits ADH-AES256-SHA Accepted SSLv3 256 bits DHE-RSA-AES256-SHA Rejected N/A SSLv3 256 bits DHE-DSS-AES256-SHA Accepted SSLv3 256 bits AES256-SHA Rejected N/A SSLv3 128 bits ADH-AES128-SHA Accepted SSLv3 128 bits DHE-RSA-AES128-SHA Rejected N/A SSLv3 128 bits DHE-DSS-AES128-SHA Accepted SSLv3 128 bits AES128-SHA Rejected N/A SSLv3 168 bits ADH-DES-CBC3-SHA Rejected N/A SSLv3 56 bits ADH-DES-CBC-SHA Rejected N/A SSLv3 40 bits EXP-ADH-DES-CBC-SHA Rejected N/A SSLv3 128 bits ADH-RC4-MD5 Rejected N/A SSLv3 40 bits EXP-ADH-RC4-MD5 Rejected N/A SSLv3 168 bits EDH-RSA-DES-CBC3-SHA Rejected N/A SSLv3 56 bits EDH-RSA-DES-CBC-SHA Rejected N/A SSLv3 40 bits EXP-EDH-RSA-DES-CBC-SHA Rejected N/A SSLv3 168 bits EDH-DSS-DES-CBC3-SHA Rejected N/A SSLv3 56 bits EDH-DSS-DES-CBC-SHA Rejected N/A SSLv3 40 bits EXP-EDH-DSS-DES-CBC-SHA Accepted SSLv3 168 bits DES-CBC3-SHA Rejected N/A SSLv3 56 bits DES-CBC-SHA Rejected N/A SSLv3 40 bits EXP-DES-CBC-SHA Rejected N/A SSLv3 40 bits EXP-RC2-CBC-MD5 Accepted SSLv3 128 bits RC4-SHA Rejected N/A SSLv3 128 bits RC4-MD5 Rejected N/A SSLv3 40 bits EXP-RC4-MD5 Rejected N/A SSLv3 0 bits NULL-SHA Rejected N/A SSLv3 0 bits NULL-MD5 Rejected N/A TLSv1 128 bits ADH-SEED-SHA Rejected N/A TLSv1 128 bits DHE-RSA-SEED-SHA Rejected N/A TLSv1 128 bits DHE-DSS-SEED-SHA Rejected N/A TLSv1 128 bits SEED-SHA Rejected N/A TLSv1 256 bits ADH-AES256-SHA Accepted TLSv1 256 bits DHE-RSA-AES256-SHA Rejected N/A TLSv1 256 bits DHE-DSS-AES256-SHA Accepted TLSv1 256 bits AES256-SHA Rejected N/A TLSv1 128 bits ADH-AES128-SHA Accepted TLSv1 128 bits DHE-RSA-AES128-SHA Rejected N/A TLSv1 128 bits DHE-DSS-AES128-SHA Accepted TLSv1 128 bits AES128-SHA Rejected N/A TLSv1 168 bits ADH-DES-CBC3-SHA Rejected N/A TLSv1 56 bits ADH-DES-CBC-SHA Rejected N/A TLSv1 40 bits EXP-ADH-DES-CBC-SHA Rejected N/A TLSv1 128 bits ADH-RC4-MD5 Rejected N/A TLSv1 40 bits EXP-ADH-RC4-MD5 Rejected N/A TLSv1 168 bits EDH-RSA-DES-CBC3-SHA Rejected N/A TLSv1 56 bits EDH-RSA-DES-CBC-SHA Rejected N/A TLSv1 40 bits EXP-EDH-RSA-DES-CBC-SHA Rejected N/A TLSv1 168 bits EDH-DSS-DES-CBC3-SHA Rejected N/A TLSv1 56 bits EDH-DSS-DES-CBC-SHA Rejected N/A TLSv1 40 bits EXP-EDH-DSS-DES-CBC-SHA Accepted TLSv1 168 bits DES-CBC3-SHA Rejected N/A TLSv1 56 bits DES-CBC-SHA Rejected N/A TLSv1 40 bits EXP-DES-CBC-SHA Rejected N/A TLSv1 40 bits EXP-RC2-CBC-MD5 Accepted TLSv1 128 bits RC4-SHA Rejected N/A TLSv1 128 bits RC4-MD5 Rejected N/A TLSv1 40 bits EXP-RC4-MD5 Rejected N/A TLSv1 0 bits NULL-SHA Rejected N/A TLSv1 0 bits NULL-MD5 Prefered Server Cipher(s): SSLv3 128 bits DHE-RSA-AES128-SHA TLSv1 128 bits DHE-RSA-AES128-SHA 22
  • 23. akana Best Practices Recap β€’ Protocols β€’ Prefer use of TLS 1.2 over TLS 1.1 and TLS 1.0 β€’ Disable SSL 1.0, 2.0, 3.0 β€’ Prefer ECC over RSA Public-Private Key Pair in Certificates β€’ Prefer > 2048 bits when using RSA Public-Private Key Pair in Certificates β€’ Prefer Perfect Forward Secrecy β€’ Use DHE or ECDHE β€’ Prefer GCM over CBC Cipher Suites β€’ Disable RC4, NULL, eNULL & aNULL β€’ Disable EXPort-Level Ciphers* β€’ Prefer SHA2 over SHA1 for Digest β€’ Disable MD5 β€’ Enable TLS_FALLBACK_SCSV 23
  • 24. akana Summary β€’ Cryptography is hard to implement correctly β€’ Today’s Best Practices will be tomorrow’s NO-NO β€’ How do you keep up-to-date on latest vulnerabilities? β€’ And recommendations? β€’ Most of our customers rely on us up-to-date & tested policies 24
  • 25. akana β€’ Follow us at @AkanaInc β€’ Additional Conversation: #TLSWithAkana β€’ White-papers & Webinars: http://resource.akana.com

Editor's Notes

  • #2: Welcome to the webinar series brought you by Akana. Today we are going to discuss how to secure your APIs against the recent vulnerabilities in SSL & TLS.