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

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
 
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
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
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
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

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
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
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
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 

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?