Wednesday, January 29, 2020

What SSL Is, and Which Certificate Type is Right for You

What SSL Is, and Which Certificate Type is Right for You

This article was created in partnership with GoGetSSL. Thank you for supporting the partners who make SitePoint possible.

Over the last decade, the rate of cyber crime has risen sharply. Already, many reputable business organizations and government agencies that haven't implemented sufficient online security have been caught with their pants down. Google has started taking a strong stand against websites that don’t use HTTPS. Website visitors will be notified if they’re about to submit any information over an unsecured connection.

In this article, you’ll learn how to protect your customers and your business from privacy invasion and data theft. You’ll learn how to use SSL technology to secure your websites and your applications from leaking sensitive data to eavesdroppers.

I won't be able to show you how to install SSL, as that's an advanced topic. You can find more information on the installation process here.

How SSL Works in Plain English

Imagine you're in your hotel room, on your laptop, connected to the hotel's WIFI. You're about to log in to your bank's online portal. Meanwhile, a nefarious hacker has cleverly booked a room next to yours and has set up a simple workstation that listens to all network traffic in the hotel building. All traffic using the HTTP protocol can be seen by the hacker in plain text.

Assuming the bank's website is using only HTTP, form details such as user name and password will be seen by the hacker as soon you press submit. So how do we protect this data? The answer is obviously encryption. Encryption of data involves converting plain text data to something that looks garbled — aka encrypted data. To encrypt plain text data, you need what's called an encryption algorithm and a cipher key.

Let's say you were to encrypt the following data:

Come on over for hot dogs and soda!

It will look something like this in encrypted form:

wUwDPglyJu9LOnkBAf4vxSpQgQZltcz7LWwEquhdm5kSQIkQlZtfxtSTsmaw
q6gVH8SimlC3W6TDOhhL2FdgvdIC7sDv7G1Z7pCNzFLp0lgB9ACm8r5RZOBi
N5ske9cBVjlVfgmQ9VpFzSwzLLODhCU7/2THg2iDrW3NGQZfz3SSWviwCe7G
mNIvp5jEkGPCGcla4Fgdp/xuyewPk6NDlBewftLtHJVf
=PAb3

Decrypting the above message without the cipher key can take more than a lifetime using current computing power. No one can read it unless they have the cipher key that was used to encrypt it. This type of encryption is known as symmetric encryption. Now that we've figured out how to protect data, we need a safe way to transmit the cipher key to the recipient of the message safely. We can do this by using an asymmetric encryption system known as public key cryptography.

Public Key Cryptography uses a pair of mathematically related cipher keys:

  • Public key: can be safely shared with anyone
  • Private key: must never be transmitted, stored in secret

When one key is used to encrypt, the other one is used to decrypt. The same key can't be used to decrypt what it encrypted. Below is a depiction of how it works:

public key algorithm

However, we can't trust any public key issued to us since they can be generated by anyone. To ensure authenticity of public keys, they need to be packaged in what's called an SSL certificate. This is a signed digital file that contains the following information:

  • Subject's name: individual, organization or machine name
  • Public Key
  • Digital Signature (certificate's fingerprint)
  • Issuer (the entity that signed the certificate)
  • Valid dates (start and expiry)

I've only listed the necessities. SSL certificates usually contain more information. Here's a real-world example:

SSL certificate example

As you can see, the above certificate has been signed (see thumbnail section). A digital signature is simply an encrypted hash of a file. Let's first explain what a hash is. Say you have a 100-word document, and you run it through a hashing program. You'll get the following hash:

46798b5cfca45c46a84b7419f8b74735

If you change anything in the document, even if it's adding single full stop, a completely new hash will be generated when you run the hashing function again:

bc527343c7ffc103111f3a694b004e2f

A mismatch in the hash between the hash sent and the one generated means that the file has been altered. This is the first line of defense for ensuring that an SSL certificate hasn’t been altered. However, we need to verify that sent hash was created by the issuer of the certificate. This is done by encrypting the hash using the issuer's private key. When we perform a local hash of the certificate, then decrypt the certificate's signature to obtain the sent hash, we can compare the two. If there’s a match, it means:

  • the certificate hasn’t been altered by someone else
  • we have proof the certificate came from the issuer, since we've successfully decrypted the signature using their public key
  • we can trust the authenticity of the public key attached in the SSL certificate.

signature verification

Now, you may be wondering where we get the issuer's public key and why we should trust it. Well, the issuer's public key already comes pre-installed inside our operating systems and browsers. An issuer is a trusted certificate authority (CA) that signs certificates in compliance with the official CA/Browser Forum guidelines and NIST recommendations. For example, here’s a list of trusted issuers/CAs that you’ll find on Microsoft's Operating System. Even smartphones and tablets have a similar list pre-installed on the OS and browser.

According to a survey conducted by W3Techs on May 2018, the following issuers account for about 90% of valid certificates signed globally:

  • IdenTrust
  • Comodo
  • DigiCert (acquired by Symantec)
  • GoDaddy
  • GlobalSign

Now that you have an understanding of encryption and SSL technology, it's best to go over how you can safely sign in to your bank's portal using HTTPS without the hacker next door reading your traffic.

  1. Your laptop's browser starts by requesting the bank's servers for its SSL certificate.
  2. The server sends it. Then the browser checks the certificate is authentic against a list of trusted CAs. It also checks that it hasn’t expired and hasn’t been revoked.
  3. If everything checks out, the browser generates a new cipher key (also known as the session key). Using the public key found on the SSL certificate, it’s encrypted and then sent to the server.
  4. The server decrypts the session key using its private key.
  5. From now on, all communication sent back and forth will be encrypted using the session key. Symmetric encryption is faster than asymmetric.

This means both form data going from the laptop, and HTML data coming from the server, will be encrypted using a cipher key that the hacker won't have access to. All that will be seen in the captured traffic logs will be garbled letters and numbers. Your information has now been protected and kept private from prying eyes.

Now that you understand how SSL in general works, let's move on to the next section an look at the different types of SSL certificates we can use.

The post What SSL Is, and Which Certificate Type is Right for You appeared first on SitePoint.


by Michael Wanyoike via SitePoint

The new Edge era brings about the end of Trident

#425 — January 29, 2020

Read on the Web

Frontend Focus

The Trident Era Ends — Edge moving over to using Chromium marked the true end of the Trident-Engine. This is a great and detailed post looking back at the IE era, its quirks, technologies, along with the ideas Microsoft put forward during it. Plenty of good discussion on this one over at Hacker News too.

Christian Schaefer

Four CSS Layouts Without Using Media Queries — You may have seen a tweet from Adam Argyle doing the rounds lately, showing how you can get “4 layouts for the price of 1” thanks to flexbox. This blog breaks it down, showing how it works - without the need for media queries.

Polypane

New: Our 'Most Loved' JavaScript Course ๐Ÿงก Gets Updated — Take your JavaScript to the next level. Gain an understanding of callbacks, higher order functions, closure, asynchronous and object-oriented JavaScript.

Frontend Masters sponsor

JavaScript Libraries Are Almost Never Updated Once Installed — An analysis, based on CDNJS data, of when and if JavaScript libraries are updated after being installed onto websites (the headline kinda gives this one away ๐Ÿ˜‰).

Zack Bloom (Cloudflare)

Understanding CSS Grid: Grid Lines — Breaking down the CSS Grid Layout specification, looking at how to use the grid lines to place items.

Rachel Andrew

Use and Reuse Everything in SVG… Even Animations — A clear guide on how to build and optimize your code when working with SVG and CSS (by way of the <use> element, CSS Variables and animations).

Mariana Beldi

๐Ÿ’ป Jobs

Find a Job Through Vettery — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers.

Vettery

Senior Frontend-Focused Engineer in Munich — Do you love working with React, TypeScript, GraphQL, and working in a user-centred team? Then you're in for a treat. ๐Ÿช Let's protect some businesses together. ๐Ÿ™Œ

Finanzchef24

๐Ÿ“™ News, Tutorials & Opinion

Microsoft Is Helping Google Improve Chrome’s Tab Management — A clear example of Microsoft and Google engineers working together.

Tom Warren

▶  'Humans Can't Read URLs. How Can We Fix It?' — Jake Archibald makes the case that URLs are impossible for humans to interpret, especially when it comes to security. Jake and Surma explore what browsers are doing today to overcome that, and asks if there may be a better way?

Google Chrome Developers

Cookie Consent Tools Are Being Used to Undermine EU Privacy Rules — A new study suggests that regional privacy laws are being flouted by ‘most’ cookie consent pop-ups.

Natasha Lomas

Introduction to Machine Learning with Tensorflow.js and IBM Watson — Learn about machine learning from the browser to the cloud in this free online workshop - RSVP now to save your spot.

IBM Developer sponsor

Intrinsic Sizing In CSS — An exploration of using intrinsic sizing values (such as width: max-content;), their benefits and how they work with grid and other CSS properties.

Ahmad Shadeed

Can You Make A Countdown Timer in Pure CSS? — The TL;DR here is yes, you can, but there’s a “much more straightforward” JavaScript solution.

Chen Hui Jing

An Accessible Digital BBC – 2019 in Review — Reviews the advances in accessibility that have been made across the British Broadcasting Corporation’s vast online presence.

Emma Pratt Richens

How to Create Procedural Clouds Using Three.js Sprites — The end result here is pretty convincing (makes use of React-Three-Fiber).

Robert Borghesi

Accessibility with The New Microsoft Edge — A walkthrough of the accessibility enhancements added to the new version of Edge.

Microsoft

Mozilla Has Banned Nearly 200 Malicious Firefox Add-ons Over The Last Two Weeks

Catalin Cimpanu

Simple Image Placeholders with SVG

Tyler Sticka

๐Ÿ”ง Code, Tools and Resources

Popper: Tooltip & Popover Positioning Engine — This popular tooltip and popover library just hit version 2.0. You can read the blog post detailing what’s changed and what’s new here.

Federico Zivolo

PurgeCSS 2.0: Removing Unused CSS — The second version of this popular CSS removal tool is now written in TypeScript, works asynchronously, and adds support for the removal of CSS variables.

Floriel Fedry

Mirage JS: An API Mocking Library for Frontend Developers — This hasn’t reached v1.0 just yet, but looks like a decent, quick way to build, test and demo your JavaScript app client-side without an API.

MirageJS

The Fastest Way to Get Great Bug Reports from the Non-Technical Folk

BugHerd sponsor

My Browser — Testing a site and need a quick way to share your browser details (or get someone elses)? This seems like a clean way to do just that.

Andy Bell

Screen: A Stylesheet for Desktops, Tablets, & Phones — A straightforward stylesheet with enough CSS to cover just the basics.

Georges Duverger

   ๐Ÿ—“ Upcoming Events

Flashback Conference, February 10-11 — Orlando, USA — Looks at cutting-edge web dev, browser APIs and tooling, but adds how they’ve evolved from the past to the web of today.

Frontend Developer Love, February 19-21 — Amsterdam, Netherlands — Three full days of talks from 35+ global JavaScript leaders from around the world.

ConveyUX, March 3-5 — Seattle, USA — This West Coast user experience conference features over 65 sessions across three days.

W3C Workshop on Web & Machine Learning, 24-25 March — Berlin, Germany — Hosted by Microsoft, this free event aims to “bring together providers of Machine Learning tools and frameworks with Web platform practitioners to enrich the Open Web Platform with better foundations for machine learning”.


by via Frontend Focus

New Study Explains Engineers Are Narrow Minded

Stereotyping in this generation is quite common, most people like to stereotype others on the basis of their caste, creed, ethnicity or race. With the help of stereotyping, it becomes easier to categorize or generalize people, which makes it simpler for everyone to understand that person....

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Aabroo Saeed via Digital Information World

The owner of viral-video app TikTok might be recruiting game developers for its new app and here’s what we know about it

It looks like the Chinese tech giant ByteDance is now taking a major step into mobile gaming by courting European game developers and tech providers. According to a recent report, the Chinese tech giant firm also sent a few of its executives to a Pocket Gamer Connects conference - an annual...

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by agha ali via Digital Information World

How to Analyze Your LinkedIn Profile Using the LinkedIn Dashboard

Looking for analytics to assess your LinkedIn profile’s performance? Are you looking at the LinkedIn dashboard for profiles? In this article, you’ll discover how to use the dashboard on your personal LinkedIn profile to analyze and improve your profile visibility, prospecting, and content strategy. What Is “Your Dashboard” on LinkedIn? Every LinkedIn profile has a […]

The post How to Analyze Your LinkedIn Profile Using the LinkedIn Dashboard appeared first on Social Media Marketing | Social Media Examiner.


by Luan Wise via Social Media Marketing | Social Media Examiner

Top 3 Formats for Your Resume in 2020

You just carefully crafted your dissertation or resignation letter, and now you have more grammar headaches, fonts, and sentences to wrestle with by creating a CV that will land you a dream job. Making a CV is notoriously tough because everyone seems to have an opinion on them, and to be honest,...

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Web Desk via Digital Information World

These Are The 6 Biggest Visual Trends of 2020 (infographic)

One of the world’s biggest stock photography marketplaces, Depositphotos has put together a report on the visual trends for the coming year. The insightful project showcases what’s trending in visual communication and how designers, artists, and anyone working in the field can use the research and...

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Web Desk via Digital Information World