SlideShare a Scribd company logo
1 of 48
Creating Secure Web Apps:
What Every Developer Needs to Know
About HTTPS Today
Josh Aas, Executive Director, Internet Security Research Group
Brett Goulder, Product Manager, Heroku
Chris Castle, Developer Advocate, Heroku
Wednesday, June 14, 2017
Josh Aas,
Executive Director,
Internet Security
Research Group
@0xjosh
Brett Goulder,
Product Manager,
Heroku
@brettgoulder
Chris Castle,
Developer Advocate,
Heroku
@crc
Some Logistics…
• 20 minutes at the end for Q&A
• Submit questions throughout webinar in “Questions” box
• Audio / video problems? Click raise hand button or use “Help” menu
What are Let’s Encrypt and
Heroku Doing to Promote Web
Security?
Initial Idea
•Summer 2012
•Need 100% HTTPS
•Not pay-to-play
•HTTPS must be easy
Vision
Automated
Free
Transparent/Open
Global
Wildcard Certificate
Automated Certificate Management
Source: https://vimeo.com/208872579
Why This Webinar?
Source: https://letsencrypt.org/stats
Google Chrome Telemetry
Source: https://www.google.com/transparencyreport/https/metrics/
Why This Webinar?
Reduce complexity
Image: Hans Eiskonen, https://unsplash.com/@eiskonen
Why This Webinar?
Educate others
Image: Štefan Štefančík, https://unsplash.com/@cikstefan
What Are The Risks?
Data Privacy
• Financial Information
• Health Information
• Passwords
Meta Data Privacy
Data Integrity
Sender Authenticity
Image: James Sutton, https://unsplash.com/@jamessutton_photography
Who am I talking to?
How Does HTTPS Address These?
Data Privacy
Source: https://https.cio.gov/faq/#what-information-does-https-protect%3f
Data Integrity
Source: https://en.wikipedia.org/wiki/Message_authentication_code
Data Authenticity
So what does that mean in practice?
1. No one can view data in-transit
2. No one can modify data in-transit
3. Data is coming from domain in URL bar
Caveats!
Source: https://letsencrypt.org/stats
Some Carrots and Some Sticks
HTTP Deprecation: Firefox
HTTP Deprecation: Chrome
HTTPS Preferred In Search Ranking
Browser Features Requiring HTTPS
Browser Features Requiring HTTPS
HTTPS Tips For Developers
Google Transparency Report
Source: https://www.google.com/transparencyreport/https/grid/
✔ Works on HTTPS
✔
✔
Modern TLS Config
Default HTTPS
Start With HTTPS
❌ ✔Images: LoboStudio Hamburg, https://unsplash.com/@lobostudiohamburg
All Resources Use HTTPS
Use Modern TLS
RSA
DH
ECDH
RSA
DSA
ECDSA
AES
3DES
CAMELLIA
SHA
MD5
Check what your browser supports at https://www.ssllabs.com/ssltest/viewMyClient.html
Redirect All HTTP to HTTPS
Use HTTP Strict Transport Security (HSTS)
Use Content Security Policy
Resources
• SSL Labs SSL Server Test
https://www.ssllabs.com/ssltest/
• Mozilla Observatory
https://observatory.mozilla.org/
• See What Incorrect SSL Configuration Looks Like in Browser
https://badssl.com/
• Mozilla Web Security Guidelines
https://wiki.mozilla.org/Security/Guidelines/Web_Security
• Google Web Fundamentals – Security and Identity
https://developers.google.com/web/fundamentals/security/
• High Performance Browser Networking, TLS Chapter
https://hpbn.co/transport-layer-security-tls/
• Discussion of TLS speed concerns
https://istlsfastyet.com/
In Summary
Source: https://www.w3.org/2001/tag/doc/web-https
…the Web’s trustworthiness has become critical to its success. If a
person cannot trust that they are communicating with the party
they intend, they can’t use the Web to shop safely; if they cannot
be assured that Web-delivered news isn’t modified in transit, they
won’t trust it as much. If someone cannot be assured that they’re
talking only to the intended recipients, they might avoid social
networking.
Source: https://www.w3.org/2001/tag/doc/web-https
This leads us to a conclusion that server authentication and
integrity are baseline requirements for the continued success of
the Web…
Source: https://www.w3.org/2001/tag/doc/web-https
Summary
• We’re only half-way there
• Use these tips today
• Share with others
Thank you
Q&A
Josh Aas,
Executive Director,
Internet Security
Research Group
@0xjosh
Brett Goulder,
Product Manager,
Heroku
@brettgoulder
Chris Castle,
Developer Advocate,
Heroku
@crc

More Related Content

What's hot

Error detection and correction
Error detection and correctionError detection and correction
Error detection and correctionSisir Ghosh
 
Temporal difference learning
Temporal difference learningTemporal difference learning
Temporal difference learningJie-Han Chen
 
Active browser web page
Active browser web pageActive browser web page
Active browser web pageZee1481
 
Error Detection and Correction presentation
Error Detection and Correction presentation Error Detection and Correction presentation
Error Detection and Correction presentation Badrul Alam
 
SHA 1 Algorithm.ppt
SHA 1 Algorithm.pptSHA 1 Algorithm.ppt
SHA 1 Algorithm.pptRajapriya82
 
Introduction to WebSockets Presentation
Introduction to WebSockets PresentationIntroduction to WebSockets Presentation
Introduction to WebSockets PresentationJulien LaPointe
 
Library management System
Library management SystemLibrary management System
Library management Systemsaradateja
 
Database security
Database securityDatabase security
Database securityCAS
 
Problem Formulation in Artificial Inteligence Projects
Problem Formulation in Artificial Inteligence ProjectsProblem Formulation in Artificial Inteligence Projects
Problem Formulation in Artificial Inteligence ProjectsDr. C.V. Suresh Babu
 
Pharmacy management system project report
Pharmacy management system project reportPharmacy management system project report
Pharmacy management system project reportDipta Roy
 
Transaction states and properties
Transaction states and propertiesTransaction states and properties
Transaction states and propertiesChetan Mahawar
 
Modern Block Cipher- Modern Symmetric-Key Cipher
Modern Block Cipher- Modern Symmetric-Key CipherModern Block Cipher- Modern Symmetric-Key Cipher
Modern Block Cipher- Modern Symmetric-Key CipherMahbubur Rahman
 
First order logic in knowledge representation
First order logic in knowledge representationFirst order logic in knowledge representation
First order logic in knowledge representationSabaragamuwa University
 
Answers computer networks 159334 assignment_2_2010
Answers computer networks 159334 assignment_2_2010Answers computer networks 159334 assignment_2_2010
Answers computer networks 159334 assignment_2_2010Lakshmi Gupta
 
What is Socket Programming in Python | Edureka
What is Socket Programming in Python | EdurekaWhat is Socket Programming in Python | Edureka
What is Socket Programming in Python | EdurekaEdureka!
 
Reinforcement learning, Q-Learning
Reinforcement learning, Q-LearningReinforcement learning, Q-Learning
Reinforcement learning, Q-LearningKuppusamy P
 
Web servers – features, installation and configuration
Web servers – features, installation and configurationWeb servers – features, installation and configuration
Web servers – features, installation and configurationwebhostingguy
 

What's hot (20)

Error detection and correction
Error detection and correctionError detection and correction
Error detection and correction
 
Temporal difference learning
Temporal difference learningTemporal difference learning
Temporal difference learning
 
Active browser web page
Active browser web pageActive browser web page
Active browser web page
 
Error Detection and Correction presentation
Error Detection and Correction presentation Error Detection and Correction presentation
Error Detection and Correction presentation
 
SHA 1 Algorithm.ppt
SHA 1 Algorithm.pptSHA 1 Algorithm.ppt
SHA 1 Algorithm.ppt
 
Introduction to WebSockets Presentation
Introduction to WebSockets PresentationIntroduction to WebSockets Presentation
Introduction to WebSockets Presentation
 
Library management System
Library management SystemLibrary management System
Library management System
 
Database security
Database securityDatabase security
Database security
 
Problem Formulation in Artificial Inteligence Projects
Problem Formulation in Artificial Inteligence ProjectsProblem Formulation in Artificial Inteligence Projects
Problem Formulation in Artificial Inteligence Projects
 
Pharmacy management system project report
Pharmacy management system project reportPharmacy management system project report
Pharmacy management system project report
 
Transaction states and properties
Transaction states and propertiesTransaction states and properties
Transaction states and properties
 
Modern Block Cipher- Modern Symmetric-Key Cipher
Modern Block Cipher- Modern Symmetric-Key CipherModern Block Cipher- Modern Symmetric-Key Cipher
Modern Block Cipher- Modern Symmetric-Key Cipher
 
First order logic in knowledge representation
First order logic in knowledge representationFirst order logic in knowledge representation
First order logic in knowledge representation
 
Answers computer networks 159334 assignment_2_2010
Answers computer networks 159334 assignment_2_2010Answers computer networks 159334 assignment_2_2010
Answers computer networks 159334 assignment_2_2010
 
What is Socket Programming in Python | Edureka
What is Socket Programming in Python | EdurekaWhat is Socket Programming in Python | Edureka
What is Socket Programming in Python | Edureka
 
Reinforcement learning, Q-Learning
Reinforcement learning, Q-LearningReinforcement learning, Q-Learning
Reinforcement learning, Q-Learning
 
Intro to WebSockets
Intro to WebSocketsIntro to WebSockets
Intro to WebSockets
 
Chapter 4 (final)
Chapter 4 (final)Chapter 4 (final)
Chapter 4 (final)
 
Web servers – features, installation and configuration
Web servers – features, installation and configurationWeb servers – features, installation and configuration
Web servers – features, installation and configuration
 
Online shopping
Online shoppingOnline shopping
Online shopping
 

Similar to Everything Developers Need to Know About HTTPS Today

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
 
HTTP cookie hijacking in the wild: security and privacy implications
HTTP cookie hijacking in the wild: security and privacy implicationsHTTP cookie hijacking in the wild: security and privacy implications
HTTP cookie hijacking in the wild: security and privacy implicationsPriyanka Aash
 
How to be trusted in 2017
How to be trusted in 2017How to be trusted in 2017
How to be trusted in 2017Zeev Shetach
 
Why Traditional Web Security Technologies no Longer Suffice to Keep You Safe
Why Traditional Web Security Technologies no Longer Suffice to Keep You SafeWhy Traditional Web Security Technologies no Longer Suffice to Keep You Safe
Why Traditional Web Security Technologies no Longer Suffice to Keep You SafePhilippe De Ryck
 
Let's go HTTPS-only! - More Than Buying a Certificate
Let's go HTTPS-only! - More Than Buying a CertificateLet's go HTTPS-only! - More Than Buying a Certificate
Let's go HTTPS-only! - More Than Buying a CertificateSteffen Gebert
 
20190516 web security-basic
20190516 web security-basic20190516 web security-basic
20190516 web security-basicMksYi
 
Building a (Really) Secure Cloud Product
Building a (Really) Secure Cloud ProductBuilding a (Really) Secure Cloud Product
Building a (Really) Secure Cloud ProductGuy K. Kloss
 
Csp and http headers
Csp and http headersCsp and http headers
Csp and http headersdevObjective
 
Smart Browsers and HTML5 Web Apps for the Chrome Web Store
Smart Browsers and HTML5 Web Apps for the Chrome Web StoreSmart Browsers and HTML5 Web Apps for the Chrome Web Store
Smart Browsers and HTML5 Web Apps for the Chrome Web StoreSeth Ladd
 
Drawing the Line with Browser Compatibility
Drawing the Line with Browser CompatibilityDrawing the Line with Browser Compatibility
Drawing the Line with Browser Compatibilityjsmith92
 
HTTPS: What, Why and How (SmashingConf Freiburg, Sep 2015)
HTTPS: What, Why and How (SmashingConf Freiburg, Sep 2015)HTTPS: What, Why and How (SmashingConf Freiburg, Sep 2015)
HTTPS: What, Why and How (SmashingConf Freiburg, Sep 2015)Guy Podjarny
 
Cm2 secure code_training_1day_data_protection
Cm2 secure code_training_1day_data_protectionCm2 secure code_training_1day_data_protection
Cm2 secure code_training_1day_data_protectiondcervigni
 
Responsive Videos, mehr oder weniger
Responsive Videos, mehr oder wenigerResponsive Videos, mehr oder weniger
Responsive Videos, mehr oder wenigerWalter Ebert
 
6 - Web Application Security.pptx
6 - Web Application Security.pptx6 - Web Application Security.pptx
6 - Web Application Security.pptxAlmaOraevi
 
Developer's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web CryptographyDeveloper's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web CryptographyKevin Hakanson
 
The Future of https in Search
The Future of https in SearchThe Future of https in Search
The Future of https in Searchsemrush_webinars
 
Frontend development of the (current) future
Frontend development of the (current) futureFrontend development of the (current) future
Frontend development of the (current) futureFilip Bruun Bech-Larsen
 

Similar to Everything Developers Need to Know About HTTPS Today (20)

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
 
HTTP cookie hijacking in the wild: security and privacy implications
HTTP cookie hijacking in the wild: security and privacy implicationsHTTP cookie hijacking in the wild: security and privacy implications
HTTP cookie hijacking in the wild: security and privacy implications
 
How to be trusted in 2017
How to be trusted in 2017How to be trusted in 2017
How to be trusted in 2017
 
Why Traditional Web Security Technologies no Longer Suffice to Keep You Safe
Why Traditional Web Security Technologies no Longer Suffice to Keep You SafeWhy Traditional Web Security Technologies no Longer Suffice to Keep You Safe
Why Traditional Web Security Technologies no Longer Suffice to Keep You Safe
 
Let's go HTTPS-only! - More Than Buying a Certificate
Let's go HTTPS-only! - More Than Buying a CertificateLet's go HTTPS-only! - More Than Buying a Certificate
Let's go HTTPS-only! - More Than Buying a Certificate
 
20190516 web security-basic
20190516 web security-basic20190516 web security-basic
20190516 web security-basic
 
Building a (Really) Secure Cloud Product
Building a (Really) Secure Cloud ProductBuilding a (Really) Secure Cloud Product
Building a (Really) Secure Cloud Product
 
HTTP Security Headers
HTTP Security HeadersHTTP Security Headers
HTTP Security Headers
 
Csp and http headers
Csp and http headersCsp and http headers
Csp and http headers
 
Csp and http headers
Csp and http headersCsp and http headers
Csp and http headers
 
Smart Browsers and HTML5 Web Apps for the Chrome Web Store
Smart Browsers and HTML5 Web Apps for the Chrome Web StoreSmart Browsers and HTML5 Web Apps for the Chrome Web Store
Smart Browsers and HTML5 Web Apps for the Chrome Web Store
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
 
Drawing the Line with Browser Compatibility
Drawing the Line with Browser CompatibilityDrawing the Line with Browser Compatibility
Drawing the Line with Browser Compatibility
 
HTTPS: What, Why and How (SmashingConf Freiburg, Sep 2015)
HTTPS: What, Why and How (SmashingConf Freiburg, Sep 2015)HTTPS: What, Why and How (SmashingConf Freiburg, Sep 2015)
HTTPS: What, Why and How (SmashingConf Freiburg, Sep 2015)
 
Cm2 secure code_training_1day_data_protection
Cm2 secure code_training_1day_data_protectionCm2 secure code_training_1day_data_protection
Cm2 secure code_training_1day_data_protection
 
Responsive Videos, mehr oder weniger
Responsive Videos, mehr oder wenigerResponsive Videos, mehr oder weniger
Responsive Videos, mehr oder weniger
 
6 - Web Application Security.pptx
6 - Web Application Security.pptx6 - Web Application Security.pptx
6 - Web Application Security.pptx
 
Developer's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web CryptographyDeveloper's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web Cryptography
 
The Future of https in Search
The Future of https in SearchThe Future of https in Search
The Future of https in Search
 
Frontend development of the (current) future
Frontend development of the (current) futureFrontend development of the (current) future
Frontend development of the (current) future
 

Recently uploaded

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Recently uploaded (20)

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

Everything Developers Need to Know About HTTPS Today

Editor's Notes

  1. Hello everyone. Welcome and thanks for joining us! We’re going to talk about Creating Secure Web Apps today. Hope you’re excited for an educational, developer-focused talk about the importance of web security and what you can do to help advance it.
  2. But who is “we”? That would be Josh, Brett, and me, Chris. Josh, can you introduce yourself? Hi I’m Josh Aas, Executive Director of the Internet Security Research Group and Founder of Let’s Encrypt. Great, Brett? Hi, I’m Brett Goulder, Product Manager at Heroku. Great, and again, I’m Chris Castle, and I’m a Developer Advocate at Heroku.
  3. Some logistics before we start up.
  4. Change this to be more of an intro section describing a little more about Let’s Encrypt and Heroku? Vik had thoughts here…
  5. [JOSH] Let’s Encrypt was born from…
  6. Our vision was…
  7. [CHRIS] For several years Heroku has provided free HTTPS for all applications with a *.herokuapp.com subdomain. This means every application deployed to Heroku automatically gets HTTPS. But many people want to customize their domain.
  8. In March, we released Automated Certificate Management to make it easier to use a custom domain with HTTPS. In fact, it’s not just easier, there are no extra steps. You specify your custom domain and we automatically setup your certificate. Check this out. SHOW VIDEO AND NARRATE WHAT’S HAPPENING https://vimeo.com/208872579 Heroku automatically acquires and manages renewal of a certificate for custom domains on paid Heroku apps. And this wouldn’t have been possible without Let’s Encrypt.
  9. [JOSH] So first let’s set some context: why are we doing this webinar?
  10. …well there are still a lot of websites not using HTTPS. Here’s browser telemetry data from Firefox. During the 24 hours of June 7th, just one week ago, only 57% of the web pages loaded by Firefox using HTTPS. You can see that’s the best day since November 2015. And you can also see the slope is not very steep. Over this time range, it’s going up at only 7.4 percentage points per year. At that rate it will take over 5 years to get to 100%. It should be 100% now. In fact, it should have been 100% years ago.
  11. Chrome data confirms that adoption rate and growth. So if developers think HTTPS is simple, why aren’t more pages using it? Maybe implementing it is more complicated than we think. Well, what can we do about that? This webinar is one thing we’re trying.
  12. [CHRIS] We’re doing this webinar because we want to educate developers and help them cut through the complexity.
  13. We also want to help you educate others about web security. We aren’t going to get to 100% with the couple hundred people on this webinar! Answer your colleagues’ questions and encourage them to use HTTPS by default.
  14. [JOSH] So we’ve explained why we’re doing this webinar: we want the web to be at 100% HTTPS, But why is that? What are the risks with unencrypted HTTP? Well, they can be described by 3 categories:
  15. First: data privacy. Privacy of sensitive data like your financial information, health information, and the passwords that protect these. Most developers know this Many non-developers know this (i.e. if I’m going to do something with private data on the web, I look for the padlock icon) Many people think this is the only purpose of HTTPS.
  16. But privacy of your other web activity is also important: news articles you read, products you buy, topics you research, videos you watch. This data aggregated provides a very detailed, personal, and accurate profile of you. Some may be ok with that, but it should be a choice. With unencrypted HTTP, you have no choice. Nor do you know who may be creating a profile of you. Change title to "meta data privacy"
  17. Second is data integrity. Did you know that on public wifi, it’s very easy for any HTTP web page to be manipulated before it gets to your browser? How easy you might ask? On public wifi, something like what’s shown in this screenshot can be done easily with a small device like a Raspberry Pi. And in fact, it doesn’t even matter if you’re on public wifi. Any page delivered using HTTP can be modified inconspicuously before it gets to your browser.
  18. Third: data authenticity Authenticity – unencrypted HTTP provides no guarantees that the page you’re viewing is in fact coming from the domain in the URL bar. Telephone metaphor.
  19. [CHRIS] So how does HTTPS address these three issues?
  20. For data privacy, the body of all requests and responses is encrypted. I think most developers know this. But what about HTTP information – the meta data included in each HTTP request and response like the domain, path, querystring, user agent, etc. What exactly is encrypted? Is the URL encrypted? Query string parameters? Other headers? Here is an example HTTP request. And here is what is hidden by HTTPS.
  21. Data integrity is also guaranteed by HTTPS. A ”message authentication code” is calculated and sent along with the message. It is calculated using the message and a secret key as inputs. Only the sender and receiver know the secret key used to calculate the code. If the code calculated by the receiver doesn’t match the code received from the sender, an error occurs.
  22. Finally, data authenticity is guaranteed. If the certificate is valid and the certificate domain matches the request domain, then you can be sure the page is coming from that domain.
  23. If you know HTTPS well, those three sentences might have made you a little uncomfortable. Like most things related to encryption, the devil is in the details. Unfortunately, it is not as simple as pushing a button to get those three guarantees.
  24. If it were simple, we’d be much closer to 100% adoption by now.
  25. [JOSH] So we have these incentives, some “carrots”, some “sticks”, to encourage more website developers to use HTTPS.
  26. More than 2 years ago, Mozilla stated their intent to “phase out” non-secure HTTP Focusing new development efforts on the secure web only. And even stating that they will remove capabilities from the non-secure web.
  27. Chrome’s HTTP deprecation has taken the form of marking HTTP pages with password or credit card fields as not secure. And Google has said Chrome will mark all HTTP pages as Not Secure in the future.
  28. Google has adjusted it’s indexing system to look for more HTTPS pages and prefer them over equivalent HTTP pages.
  29. Some sensitive browser features, such as the geolocation API now require HTTPS in Chrome and Safari.
  30. Using the computer’s camera or microphone (getUserMedia) is another example that requires HTTPS.
  31. [CHRIS] So, given the importance of HTTPS and the changes browsers are making to encourage HTTPS, what can you do? Here are some recommendations you can apply to both new sites or sites you currently work on.
  32. First, a good resource to see what sites are doing it well is the Google Transparency report. It lists the HTTPS status of the top 100 non-Google sites.
  33. It qualifies secure websites with three checks: Does the site work on HTTPS? And does it work without any browser warnings? Does it use a modern TLS configuration. This means the site offers TLS 1.2 and a cipher suite that uses an AEAD mode of operation. Does it default to HTTPS. Defaulting to HTTPS means redirecting all HTTP requests to HTTPS.
  34. Design your application to use HTTPS from the start
  35. All resources (e.g. images, JS, CSS) a page loads should use HTTPS — whether external or not
  36. Use modern TLS (and what is the difference between SSL and TLS?) SSL is deprecated TLS has gone through several revisions. Currently TLS 1.2, 1.3 being drafted. ”Cipher suite” means different things in TLS 1.3 and TLS < 1.3 https://en.wikipedia.org/wiki/Cipher_suite
  37. Redirect all HTTP requests to HTTPS
  38. HSTS is a response header you set on the server It instructs the browser that all future connections to this site should only be HTTPS If the browser goes to this site in the future and it’s unencrypted HTTP, it’s likely something is trying to intercept the connection HSTS can be implemented in report-only mode before being fully turned on You can specify a time after which the browser will forget this instruction (think of this like a DNS record TTL) You can also specify whether to include subdomains and whether to use a preload list maintained by the browser vendor
  39. Content Security Policy is another response header that helps to prevent cross-site-scripting, click jacking, and other code injection attacks It does this by allowing the website owner to specify approved origins of content to load on a page. There are two policies that help with upgrading sites from HTTP to HTTPS One is upgrade-insecure-requests. This tells the browser to automatically rewrite any HTTP URLs in the page to HTTPS The other is block-all-mixed-content. This prevents any HTTP resource URLs from being loaded on a page delivered over HTTPS
  40. Here are some great resources for you to use and share. SSL Labs SSL Server Test and Mozilla Observatory will help you grade your website on the path to proper HTTPS configuration. The rest are great resources to learn more… to answer a specific question or dig in deeper on a topic you want to know more about.
  41. In early 2015, the W3C technical advisory group released a document about securing the web using cryptography. It’s intended audience was W3C participants – the people working to define web standards. Reading this document now, more than two years later, it’s clear that its message is important for all developers to understand. I encourage to read it, but I wanted to highlight two paragraphs here.
  42. [READ QUOTE]
  43. [READ QUOTE]