SlideShare a Scribd company logo
1 of 49
Download to read offline
© AKAMAI - EDGE 2016
ACME – Let’s Encrypt Your Origin
Stephen Ludin – Chief Architect, Akamai – BoD, ISRG
© AKAMAI - EDGE 2016
A PKI Primer
© AKAMAI - EDGE 2016
Our cast of characters
Alice Bob Eve
© AKAMAI - EDGE 2016
A little ditty about Alice and Bob
All Alice and Bob want
to do is peacefully
pass notes in class
without interference
from Eve.
© AKAMAI - EDGE 2016
U R
Sweet
e1bf4
190ce
U R
Sweet
e1bf4
190ce
???
© AKAMAI - EDGE 2016
U R
Sweet
692ha
1ac43
U R
Sweet
e1bf4
190ce
U
Smell
© AKAMAI - EDGE 2016
We have not solved ANYTHING!
© AKAMAI - EDGE 2016
How does Bob know this really
IS Alice’s public key?
© AKAMAI - EDGE 2016
Enter, Carol Carol’s job is simple:
• Get Alice’s public key
• Verify that it really is Alice
• Sign Alice’s public key saying
“This really is Alice”
• Give her (Carol’s) public key to
Bob
© AKAMAI - EDGE 2016
X
© AKAMAI - EDGE 2016
© AKAMAI - EDGE 2016
Free
Automatic
Secure
Transparent
Open
Cooperative
© AKAMAI - EDGE 2016
TLS Everywhere
© AKAMAI - EDGE 2016
Over 10,000,000 active certificates
Over 13,500,000 active domains
© AKAMAI - EDGE 2016
© AKAMAI - EDGE 2016
© AKAMAI - EDGE 2016
Demo
© AKAMAI - EDGE 2016
Yes, It’s that easy
(mostly)
© AKAMAI - EDGE 2016
Create
Key Pair
Create
Signed
CSR
Send
CSR
To CA
Validate
CA
Creates/
Signs
Cert
Install
Cert
© AKAMAI - EDGE 2016
For many of us…
certbot
© AKAMAI - EDGE 2016
Where certbot excels
A small infrastructure
• Single webserver for example
Can run certbot on the machine that needs the key
Are running a supported webserver
Designed to be fully automated with little knowledge required
© AKAMAI - EDGE 2016
“But, that’s not me!”
© AKAMAI - EDGE 2016
(and that’s why you are here)
© AKAMAI - EDGE 2016
The Voodoo Behind
Let’s Encrypt
© AKAMAI - EDGE 2016
ACME
Automated Certificate
Management Environment
© AKAMAI - EDGE 2016
“…a protocol for automating the
management of domain-validation
certificates, based on a simple JSON-
over-HTTPS interface.”
© AKAMAI - EDGE 2016
REST
© AKAMAI - EDGE 2016
Something for Everyone
45 Clients
14 Libraries
10 Languages
© AKAMAI - EDGE 2016
Protocol::ACME
© AKAMAI - EDGE 2016
© AKAMAI - EDGE 2016
A few notes…
© AKAMAI - EDGE 2016
Staging versus Production
acme-staging.api.letsencrypt.org
acme-v01.api.letsencrypt.org
No Rate Limits
“Fake” Root
Rate Limits
True Root
© AKAMAI - EDGE 2016
JWS / Nonce
Everything is Protected with JWS and Nonces:
"header": { "alg":"RS256", "jwk": { "e":"AQAB", "kty":"RSA", "n":"<n> } },
"payload" : <payload>,
"protected": <protected_header>,
"signature": <sig>
© AKAMAI - EDGE 2016
Account Key – Your ID
$ openssl genrsa –out account_key.pem 2048
© AKAMAI - EDGE 2016
Let’s Code
© AKAMAI - EDGE 2016
Getting Started
perl
my $acme = Protocol::ACME->new( host => $le_host,
account_key => $key,
mailto => $email );
REST
© AKAMAI - EDGE 2016
directory - Get a list of REST end points
perl
$acme->directory();
REST
GET: https://<host>/directory
© AKAMAI - EDGE 2016
reg / new-reg – Lookup or register account key
perl
$acme->register();
REST
POST: https://<host>/acme/new-reg
JWS( mailto: <your email> )
© AKAMAI - EDGE 2016
Accept Terms of Service
perl
$acme->accept_tos();
REST
POST: https://<host>/acme/reg/ID
JWS ( “agreement”: “<TOS URL>” )
© AKAMAI - EDGE 2016
authz – Request a validation challenge
perl
$acme->authz( $domain );
REST
POST: https://<host>/acme/reg/ID
JWS ( identifier: { type => DNS, value = <domain> } )
© AKAMAI - EDGE 2016
Challenges
dns-01: Add a specific TXT record to DNS
tls-sni-01: Provision a specific certificate at the domain
http-01: Place a specific object a the domain
© AKAMAI - EDGE 2016
Challenges
Protocol::ACME helps with Challenge automation:
• Protocol::ACME::Challenge::SimpleSSH
• Protocol::ACME::Challenge::LocalFile
• Protocol::ACME::Challenge::Manual
my $challenge =
Protocol::ACME::Challenge::SimpleSSH->new(
{ ssh_host => <my_host>, www_root => ”/opt/local/www/htdocs” } )
© AKAMAI - EDGE 2016
Handle Challenges
perl
$acme->handle_challenge( $challenge );
REST
Follow instructions to do it by hand
© AKAMAI - EDGE 2016
Check challenges
perl
$acme->check_challenge();
REST
POST https://<host>/<challenge_id>
JWS( keyAuthorization: token + fingerprint )
© AKAMAI - EDGE 2016
new-cert: Submit the CSR and get the certificate
perl
my $cert = $acme->sign( $csr );
REST
POST https://<host>/new-cert
JWS( csr: <DER encoded CSR> )
© AKAMAI - EDGE 2016
The whole thing…
my $acme = Protocol::ACME->new( host => $le_host,
account_key => $key,
mailto => $email );
$acme->directory();
$acme->register();
$acme->accept_tos();
$acme->authz( $domain );
$acme->handle_challenge( $challenge );
$acme->check_challenge();
my $cert = $acme->sign( $csr );
© AKAMAI - EDGE 2016
Install your Certificate
© AKAMAI - EDGE 2016
Renew
© AKAMAI - EDGE 2016
Questions?

More Related Content

What's hot

Edge 2016 solving everyday problems with next generation mapping
Edge 2016 solving everyday problems with next generation mappingEdge 2016 solving everyday problems with next generation mapping
Edge 2016 solving everyday problems with next generation mappingakamaidevrel
 
Edge 2016 what slows you down - your network or your device
Edge 2016 what slows you down - your network or your deviceEdge 2016 what slows you down - your network or your device
Edge 2016 what slows you down - your network or your deviceakamaidevrel
 
Edge 2016 your hero images need you
Edge 2016 your hero images need youEdge 2016 your hero images need you
Edge 2016 your hero images need youakamaidevrel
 
Edge 2016 can webpagetest be trusted
Edge 2016 can webpagetest be trustedEdge 2016 can webpagetest be trusted
Edge 2016 can webpagetest be trustedakamaidevrel
 
Advanced Caching Concepts @ Velocity NY 2015
Advanced Caching Concepts @ Velocity NY 2015Advanced Caching Concepts @ Velocity NY 2015
Advanced Caching Concepts @ Velocity NY 2015Rakesh Chaudhary
 
Agoda open stack in a large scale deployment
Agoda open stack in a large scale deploymentAgoda open stack in a large scale deployment
Agoda open stack in a large scale deploymentSharkrit JOBBO
 
Scaling Marketplace to 10,000 Add-Ons - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons  - Arun BhallaScaling Marketplace to 10,000 Add-Ons  - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons - Arun BhallaAtlassian
 
Securing your web infrastructure
Securing your web infrastructureSecuring your web infrastructure
Securing your web infrastructureWP Engine
 
Hans Nipshagen (Akamai) | TU - Hack & Attacks
Hans Nipshagen (Akamai) | TU - Hack & AttacksHans Nipshagen (Akamai) | TU - Hack & Attacks
Hans Nipshagen (Akamai) | TU - Hack & AttacksMedia Perspectives
 
Flawless Application Delivery with NGINX Plus
Flawless Application Delivery with NGINX PlusFlawless Application Delivery with NGINX Plus
Flawless Application Delivery with NGINX PlusPeter Guagenti
 
Inside election night at The New York Times | Altitude NYC
Inside election night at The New York Times | Altitude NYCInside election night at The New York Times | Altitude NYC
Inside election night at The New York Times | Altitude NYCFastly
 
What is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress HostingWhat is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress HostingWPSFO Meetup Group
 
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014Amazon Web Services
 
CIRCUIT 2015 - Akamai: Caching and Beyond
CIRCUIT 2015 - Akamai:  Caching and BeyondCIRCUIT 2015 - Akamai:  Caching and Beyond
CIRCUIT 2015 - Akamai: Caching and BeyondICF CIRCUIT
 
Rails security: above and beyond the defaults
Rails security: above and beyond the defaultsRails security: above and beyond the defaults
Rails security: above and beyond the defaultsMatias Korhonen
 
Web frameworks don't matter
Web frameworks don't matterWeb frameworks don't matter
Web frameworks don't matterTomas Doran
 
Load Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINXLoad Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINXNGINX, Inc.
 
Fluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realFluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realAkamai Developers & Admins
 
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Akamai Developers & Admins
 

What's hot (20)

Edge 2016 solving everyday problems with next generation mapping
Edge 2016 solving everyday problems with next generation mappingEdge 2016 solving everyday problems with next generation mapping
Edge 2016 solving everyday problems with next generation mapping
 
Edge 2016 what slows you down - your network or your device
Edge 2016 what slows you down - your network or your deviceEdge 2016 what slows you down - your network or your device
Edge 2016 what slows you down - your network or your device
 
Edge 2016 your hero images need you
Edge 2016 your hero images need youEdge 2016 your hero images need you
Edge 2016 your hero images need you
 
Edge 2016 can webpagetest be trusted
Edge 2016 can webpagetest be trustedEdge 2016 can webpagetest be trusted
Edge 2016 can webpagetest be trusted
 
Advanced Caching Concepts @ Velocity NY 2015
Advanced Caching Concepts @ Velocity NY 2015Advanced Caching Concepts @ Velocity NY 2015
Advanced Caching Concepts @ Velocity NY 2015
 
Agoda open stack in a large scale deployment
Agoda open stack in a large scale deploymentAgoda open stack in a large scale deployment
Agoda open stack in a large scale deployment
 
Scaling Marketplace to 10,000 Add-Ons - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons  - Arun BhallaScaling Marketplace to 10,000 Add-Ons  - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons - Arun Bhalla
 
Securing your web infrastructure
Securing your web infrastructureSecuring your web infrastructure
Securing your web infrastructure
 
Hans Nipshagen (Akamai) | TU - Hack & Attacks
Hans Nipshagen (Akamai) | TU - Hack & AttacksHans Nipshagen (Akamai) | TU - Hack & Attacks
Hans Nipshagen (Akamai) | TU - Hack & Attacks
 
Flawless Application Delivery with NGINX Plus
Flawless Application Delivery with NGINX PlusFlawless Application Delivery with NGINX Plus
Flawless Application Delivery with NGINX Plus
 
Inside election night at The New York Times | Altitude NYC
Inside election night at The New York Times | Altitude NYCInside election night at The New York Times | Altitude NYC
Inside election night at The New York Times | Altitude NYC
 
What is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress HostingWhat is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress Hosting
 
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014
 
CIRCUIT 2015 - Akamai: Caching and Beyond
CIRCUIT 2015 - Akamai:  Caching and BeyondCIRCUIT 2015 - Akamai:  Caching and Beyond
CIRCUIT 2015 - Akamai: Caching and Beyond
 
Rails security: above and beyond the defaults
Rails security: above and beyond the defaultsRails security: above and beyond the defaults
Rails security: above and beyond the defaults
 
Web frameworks don't matter
Web frameworks don't matterWeb frameworks don't matter
Web frameworks don't matter
 
Csp and http headers
Csp and http headersCsp and http headers
Csp and http headers
 
Load Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINXLoad Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINX
 
Fluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realFluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting real
 
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
 

Viewers also liked

Artistflyer 120206172717-phpapp02
Artistflyer 120206172717-phpapp02Artistflyer 120206172717-phpapp02
Artistflyer 120206172717-phpapp02DeShawn A. Larkin
 
Conversatorio MVP: Carrera, Código y Tecnología
Conversatorio MVP: Carrera, Código y TecnologíaConversatorio MVP: Carrera, Código y Tecnología
Conversatorio MVP: Carrera, Código y TecnologíaPeter Concha
 
Resume Antemann 080916
Resume Antemann 080916Resume Antemann 080916
Resume Antemann 080916Mark Antemann
 
Powerician Portable Mobile Solar Charger
Powerician Portable Mobile Solar ChargerPowerician Portable Mobile Solar Charger
Powerician Portable Mobile Solar ChargerRoman Chen
 
Designer + Programmer = Masterpiece
Designer + Programmer = MasterpieceDesigner + Programmer = Masterpiece
Designer + Programmer = Masterpiecelambrite
 
Microsoft Azure: Desarrollando en la Nube con PHP y Control de Código Fuente ...
Microsoft Azure: Desarrollando en la Nube con PHP y Control de Código Fuente ...Microsoft Azure: Desarrollando en la Nube con PHP y Control de Código Fuente ...
Microsoft Azure: Desarrollando en la Nube con PHP y Control de Código Fuente ...Peter Concha
 
Giá trị của cà phê
Giá trị của cà phêGiá trị của cà phê
Giá trị của cà phêhuycuong894
 
verslag werkatelier Schiedam
verslag werkatelier Schiedamverslag werkatelier Schiedam
verslag werkatelier SchiedamEdwin Broekman
 
Проект по теме«Тропинки природы»
Проект по теме«Тропинки природы»Проект по теме«Тропинки природы»
Проект по теме«Тропинки природы»vospitatelisadika
 
C++ Programming Club-Lecture 2
C++ Programming Club-Lecture 2C++ Programming Club-Lecture 2
C++ Programming Club-Lecture 2Ammara Javed
 
Internet infrastructure in the South East Asia region
Internet infrastructure in the South East Asia regionInternet infrastructure in the South East Asia region
Internet infrastructure in the South East Asia regionAPNIC
 
OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석Yongyoon Shin
 
41 - IDNOG03 - Ian Chu (Netflix) - Netflix Open Connect Delivery Architecture
41 - IDNOG03  - Ian Chu (Netflix) - Netflix Open Connect Delivery Architecture41 - IDNOG03  - Ian Chu (Netflix) - Netflix Open Connect Delivery Architecture
41 - IDNOG03 - Ian Chu (Netflix) - Netflix Open Connect Delivery ArchitectureIndonesia Network Operators Group
 

Viewers also liked (18)

Artistflyer 120206172717-phpapp02
Artistflyer 120206172717-phpapp02Artistflyer 120206172717-phpapp02
Artistflyer 120206172717-phpapp02
 
ERL2014
ERL2014ERL2014
ERL2014
 
Conversatorio MVP: Carrera, Código y Tecnología
Conversatorio MVP: Carrera, Código y TecnologíaConversatorio MVP: Carrera, Código y Tecnología
Conversatorio MVP: Carrera, Código y Tecnología
 
mcts
mctsmcts
mcts
 
Resume Antemann 080916
Resume Antemann 080916Resume Antemann 080916
Resume Antemann 080916
 
Powerician Portable Mobile Solar Charger
Powerician Portable Mobile Solar ChargerPowerician Portable Mobile Solar Charger
Powerician Portable Mobile Solar Charger
 
Designer + Programmer = Masterpiece
Designer + Programmer = MasterpieceDesigner + Programmer = Masterpiece
Designer + Programmer = Masterpiece
 
Microsoft Azure: Desarrollando en la Nube con PHP y Control de Código Fuente ...
Microsoft Azure: Desarrollando en la Nube con PHP y Control de Código Fuente ...Microsoft Azure: Desarrollando en la Nube con PHP y Control de Código Fuente ...
Microsoft Azure: Desarrollando en la Nube con PHP y Control de Código Fuente ...
 
Giá trị của cà phê
Giá trị của cà phêGiá trị của cà phê
Giá trị của cà phê
 
Manejo de informacion
Manejo de informacionManejo de informacion
Manejo de informacion
 
verslag werkatelier Schiedam
verslag werkatelier Schiedamverslag werkatelier Schiedam
verslag werkatelier Schiedam
 
Untitled haiku deck
Untitled haiku deckUntitled haiku deck
Untitled haiku deck
 
ICT Infrastructure in Lao PDR
ICT Infrastructure in Lao PDRICT Infrastructure in Lao PDR
ICT Infrastructure in Lao PDR
 
Проект по теме«Тропинки природы»
Проект по теме«Тропинки природы»Проект по теме«Тропинки природы»
Проект по теме«Тропинки природы»
 
C++ Programming Club-Lecture 2
C++ Programming Club-Lecture 2C++ Programming Club-Lecture 2
C++ Programming Club-Lecture 2
 
Internet infrastructure in the South East Asia region
Internet infrastructure in the South East Asia regionInternet infrastructure in the South East Asia region
Internet infrastructure in the South East Asia region
 
OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석
 
41 - IDNOG03 - Ian Chu (Netflix) - Netflix Open Connect Delivery Architecture
41 - IDNOG03  - Ian Chu (Netflix) - Netflix Open Connect Delivery Architecture41 - IDNOG03  - Ian Chu (Netflix) - Netflix Open Connect Delivery Architecture
41 - IDNOG03 - Ian Chu (Netflix) - Netflix Open Connect Delivery Architecture
 

Similar to Edge 2016 acme - lets encrypt your origin

[DevDay2018] Introduction to Cloud Computing and AWS platform - By: Bach Huy...
[DevDay2018] Introduction to Cloud Computing and AWS platform  - By: Bach Huy...[DevDay2018] Introduction to Cloud Computing and AWS platform  - By: Bach Huy...
[DevDay2018] Introduction to Cloud Computing and AWS platform - By: Bach Huy...DevDay.org
 
Cloud Delivery: The Path from Simple to Sophisticated
Cloud Delivery: The Path from Simple to SophisticatedCloud Delivery: The Path from Simple to Sophisticated
Cloud Delivery: The Path from Simple to SophisticatedAkamai Developers & Admins
 
App-solute Testing: Making App Testing with Akamai Easy
App-solute Testing: Making App Testing with Akamai EasyApp-solute Testing: Making App Testing with Akamai Easy
App-solute Testing: Making App Testing with Akamai EasyAkamai Developers & Admins
 
Python in the Serverless Era (PyCon IL 2016)
Python in the Serverless Era (PyCon IL 2016)Python in the Serverless Era (PyCon IL 2016)
Python in the Serverless Era (PyCon IL 2016)Benny Bauer
 
Experiences of SOACS
Experiences of SOACSExperiences of SOACS
Experiences of SOACSSimon Haslam
 
Chicago Tech Day Jan 2015: Foundry - HTTP2
Chicago Tech Day Jan 2015: Foundry - HTTP2Chicago Tech Day Jan 2015: Foundry - HTTP2
Chicago Tech Day Jan 2015: Foundry - HTTP2Akamai Technologies
 
Luna and Third Party Tools for Troubleshooting Web Application Issues
Luna and Third Party Tools for Troubleshooting Web Application IssuesLuna and Third Party Tools for Troubleshooting Web Application Issues
Luna and Third Party Tools for Troubleshooting Web Application IssuesAkamai Developers & Admins
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep DiveAmazon Web Services
 
Adding the Sec to Your DevOps Pipelines (SEC332-R1) - AWS re:Invent 2018
Adding the Sec to Your DevOps Pipelines (SEC332-R1) - AWS re:Invent 2018Adding the Sec to Your DevOps Pipelines (SEC332-R1) - AWS re:Invent 2018
Adding the Sec to Your DevOps Pipelines (SEC332-R1) - AWS re:Invent 2018Amazon Web Services
 
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018Amazon Web Services
 
PrivateLink for Partners: Connectivity, Scale, Security (GPSTEC306) - AWS re:...
PrivateLink for Partners: Connectivity, Scale, Security (GPSTEC306) - AWS re:...PrivateLink for Partners: Connectivity, Scale, Security (GPSTEC306) - AWS re:...
PrivateLink for Partners: Connectivity, Scale, Security (GPSTEC306) - AWS re:...Amazon Web Services
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Amazon Web Services
 
Apache Solr Changes the Way You Build Sites
Apache Solr Changes the Way You Build SitesApache Solr Changes the Way You Build Sites
Apache Solr Changes the Way You Build SitesPeter
 
State of Authenticating RESTful APIs
State of Authenticating RESTful APIsState of Authenticating RESTful APIs
State of Authenticating RESTful APIsrobwinch
 
Leveraging Akamai to Make Your Cloud Transformation Initiatives Successful
Leveraging Akamai to Make Your Cloud Transformation Initiatives SuccessfulLeveraging Akamai to Make Your Cloud Transformation Initiatives Successful
Leveraging Akamai to Make Your Cloud Transformation Initiatives SuccessfulAkamai Developers & Admins
 

Similar to Edge 2016 acme - lets encrypt your origin (20)

Akamai-as-Code with The Washington Post
Akamai-as-Code with The Washington PostAkamai-as-Code with The Washington Post
Akamai-as-Code with The Washington Post
 
[DevDay2018] Introduction to Cloud Computing and AWS platform - By: Bach Huy...
[DevDay2018] Introduction to Cloud Computing and AWS platform  - By: Bach Huy...[DevDay2018] Introduction to Cloud Computing and AWS platform  - By: Bach Huy...
[DevDay2018] Introduction to Cloud Computing and AWS platform - By: Bach Huy...
 
Cloud Delivery: The Path from Simple to Sophisticated
Cloud Delivery: The Path from Simple to SophisticatedCloud Delivery: The Path from Simple to Sophisticated
Cloud Delivery: The Path from Simple to Sophisticated
 
Akamai as Code
Akamai as CodeAkamai as Code
Akamai as Code
 
App-solute Testing: Making App Testing with Akamai Easy
App-solute Testing: Making App Testing with Akamai EasyApp-solute Testing: Making App Testing with Akamai Easy
App-solute Testing: Making App Testing with Akamai Easy
 
DNS hijacking - null Singapore
DNS hijacking - null SingaporeDNS hijacking - null Singapore
DNS hijacking - null Singapore
 
Python in the Serverless Era (PyCon IL 2016)
Python in the Serverless Era (PyCon IL 2016)Python in the Serverless Era (PyCon IL 2016)
Python in the Serverless Era (PyCon IL 2016)
 
Experiences of SOACS
Experiences of SOACSExperiences of SOACS
Experiences of SOACS
 
Algo Builder
Algo BuilderAlgo Builder
Algo Builder
 
Chicago Tech Day Jan 2015: Foundry - HTTP2
Chicago Tech Day Jan 2015: Foundry - HTTP2Chicago Tech Day Jan 2015: Foundry - HTTP2
Chicago Tech Day Jan 2015: Foundry - HTTP2
 
Luna and Third Party Tools for Troubleshooting Web Application Issues
Luna and Third Party Tools for Troubleshooting Web Application IssuesLuna and Third Party Tools for Troubleshooting Web Application Issues
Luna and Third Party Tools for Troubleshooting Web Application Issues
 
Self-Serviceability- Taking it Up a Notch!
Self-Serviceability- Taking it Up a Notch!Self-Serviceability- Taking it Up a Notch!
Self-Serviceability- Taking it Up a Notch!
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
 
Adding the Sec to Your DevOps Pipelines (SEC332-R1) - AWS re:Invent 2018
Adding the Sec to Your DevOps Pipelines (SEC332-R1) - AWS re:Invent 2018Adding the Sec to Your DevOps Pipelines (SEC332-R1) - AWS re:Invent 2018
Adding the Sec to Your DevOps Pipelines (SEC332-R1) - AWS re:Invent 2018
 
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
 
PrivateLink for Partners: Connectivity, Scale, Security (GPSTEC306) - AWS re:...
PrivateLink for Partners: Connectivity, Scale, Security (GPSTEC306) - AWS re:...PrivateLink for Partners: Connectivity, Scale, Security (GPSTEC306) - AWS re:...
PrivateLink for Partners: Connectivity, Scale, Security (GPSTEC306) - AWS re:...
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
 
Apache Solr Changes the Way You Build Sites
Apache Solr Changes the Way You Build SitesApache Solr Changes the Way You Build Sites
Apache Solr Changes the Way You Build Sites
 
State of Authenticating RESTful APIs
State of Authenticating RESTful APIsState of Authenticating RESTful APIs
State of Authenticating RESTful APIs
 
Leveraging Akamai to Make Your Cloud Transformation Initiatives Successful
Leveraging Akamai to Make Your Cloud Transformation Initiatives SuccessfulLeveraging Akamai to Make Your Cloud Transformation Initiatives Successful
Leveraging Akamai to Make Your Cloud Transformation Initiatives Successful
 

Recently uploaded

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Edge 2016 acme - lets encrypt your origin

  • 1. © AKAMAI - EDGE 2016 ACME – Let’s Encrypt Your Origin Stephen Ludin – Chief Architect, Akamai – BoD, ISRG
  • 2. © AKAMAI - EDGE 2016 A PKI Primer
  • 3. © AKAMAI - EDGE 2016 Our cast of characters Alice Bob Eve
  • 4. © AKAMAI - EDGE 2016 A little ditty about Alice and Bob All Alice and Bob want to do is peacefully pass notes in class without interference from Eve.
  • 5. © AKAMAI - EDGE 2016 U R Sweet e1bf4 190ce U R Sweet e1bf4 190ce ???
  • 6. © AKAMAI - EDGE 2016 U R Sweet 692ha 1ac43 U R Sweet e1bf4 190ce U Smell
  • 7. © AKAMAI - EDGE 2016 We have not solved ANYTHING!
  • 8. © AKAMAI - EDGE 2016 How does Bob know this really IS Alice’s public key?
  • 9. © AKAMAI - EDGE 2016 Enter, Carol Carol’s job is simple: • Get Alice’s public key • Verify that it really is Alice • Sign Alice’s public key saying “This really is Alice” • Give her (Carol’s) public key to Bob
  • 10. © AKAMAI - EDGE 2016 X
  • 11. © AKAMAI - EDGE 2016
  • 12. © AKAMAI - EDGE 2016 Free Automatic Secure Transparent Open Cooperative
  • 13. © AKAMAI - EDGE 2016 TLS Everywhere
  • 14. © AKAMAI - EDGE 2016 Over 10,000,000 active certificates Over 13,500,000 active domains
  • 15. © AKAMAI - EDGE 2016
  • 16. © AKAMAI - EDGE 2016
  • 17. © AKAMAI - EDGE 2016 Demo
  • 18. © AKAMAI - EDGE 2016 Yes, It’s that easy (mostly)
  • 19. © AKAMAI - EDGE 2016 Create Key Pair Create Signed CSR Send CSR To CA Validate CA Creates/ Signs Cert Install Cert
  • 20. © AKAMAI - EDGE 2016 For many of us… certbot
  • 21. © AKAMAI - EDGE 2016 Where certbot excels A small infrastructure • Single webserver for example Can run certbot on the machine that needs the key Are running a supported webserver Designed to be fully automated with little knowledge required
  • 22. © AKAMAI - EDGE 2016 “But, that’s not me!”
  • 23. © AKAMAI - EDGE 2016 (and that’s why you are here)
  • 24. © AKAMAI - EDGE 2016 The Voodoo Behind Let’s Encrypt
  • 25. © AKAMAI - EDGE 2016 ACME Automated Certificate Management Environment
  • 26. © AKAMAI - EDGE 2016 “…a protocol for automating the management of domain-validation certificates, based on a simple JSON- over-HTTPS interface.”
  • 27. © AKAMAI - EDGE 2016 REST
  • 28. © AKAMAI - EDGE 2016 Something for Everyone 45 Clients 14 Libraries 10 Languages
  • 29. © AKAMAI - EDGE 2016 Protocol::ACME
  • 30. © AKAMAI - EDGE 2016
  • 31. © AKAMAI - EDGE 2016 A few notes…
  • 32. © AKAMAI - EDGE 2016 Staging versus Production acme-staging.api.letsencrypt.org acme-v01.api.letsencrypt.org No Rate Limits “Fake” Root Rate Limits True Root
  • 33. © AKAMAI - EDGE 2016 JWS / Nonce Everything is Protected with JWS and Nonces: "header": { "alg":"RS256", "jwk": { "e":"AQAB", "kty":"RSA", "n":"<n> } }, "payload" : <payload>, "protected": <protected_header>, "signature": <sig>
  • 34. © AKAMAI - EDGE 2016 Account Key – Your ID $ openssl genrsa –out account_key.pem 2048
  • 35. © AKAMAI - EDGE 2016 Let’s Code
  • 36. © AKAMAI - EDGE 2016 Getting Started perl my $acme = Protocol::ACME->new( host => $le_host, account_key => $key, mailto => $email ); REST
  • 37. © AKAMAI - EDGE 2016 directory - Get a list of REST end points perl $acme->directory(); REST GET: https://<host>/directory
  • 38. © AKAMAI - EDGE 2016 reg / new-reg – Lookup or register account key perl $acme->register(); REST POST: https://<host>/acme/new-reg JWS( mailto: <your email> )
  • 39. © AKAMAI - EDGE 2016 Accept Terms of Service perl $acme->accept_tos(); REST POST: https://<host>/acme/reg/ID JWS ( “agreement”: “<TOS URL>” )
  • 40. © AKAMAI - EDGE 2016 authz – Request a validation challenge perl $acme->authz( $domain ); REST POST: https://<host>/acme/reg/ID JWS ( identifier: { type => DNS, value = <domain> } )
  • 41. © AKAMAI - EDGE 2016 Challenges dns-01: Add a specific TXT record to DNS tls-sni-01: Provision a specific certificate at the domain http-01: Place a specific object a the domain
  • 42. © AKAMAI - EDGE 2016 Challenges Protocol::ACME helps with Challenge automation: • Protocol::ACME::Challenge::SimpleSSH • Protocol::ACME::Challenge::LocalFile • Protocol::ACME::Challenge::Manual my $challenge = Protocol::ACME::Challenge::SimpleSSH->new( { ssh_host => <my_host>, www_root => ”/opt/local/www/htdocs” } )
  • 43. © AKAMAI - EDGE 2016 Handle Challenges perl $acme->handle_challenge( $challenge ); REST Follow instructions to do it by hand
  • 44. © AKAMAI - EDGE 2016 Check challenges perl $acme->check_challenge(); REST POST https://<host>/<challenge_id> JWS( keyAuthorization: token + fingerprint )
  • 45. © AKAMAI - EDGE 2016 new-cert: Submit the CSR and get the certificate perl my $cert = $acme->sign( $csr ); REST POST https://<host>/new-cert JWS( csr: <DER encoded CSR> )
  • 46. © AKAMAI - EDGE 2016 The whole thing… my $acme = Protocol::ACME->new( host => $le_host, account_key => $key, mailto => $email ); $acme->directory(); $acme->register(); $acme->accept_tos(); $acme->authz( $domain ); $acme->handle_challenge( $challenge ); $acme->check_challenge(); my $cert = $acme->sign( $csr );
  • 47. © AKAMAI - EDGE 2016 Install your Certificate
  • 48. © AKAMAI - EDGE 2016 Renew
  • 49. © AKAMAI - EDGE 2016 Questions?