WaveMaker Docs

WaveMaker Docs

  • Get started
  • Widgets
  • How-to
  • Enterprise
  • Releases
  • Blog
  • Sign-in

›All Blog Posts

All Blog Posts

  • Understanding Scaling of WaveMaker Applications
  • Automatically Import your Website Branding Styles into a Theme
  • Certificate Pinning Case Study
  • Cordova 10.0.0 Upgrade
  • WaveMaker Releases 10.6 Version
  • Retain UI State in WaveMaker Apps
  • Theme builder is ready with a new update
  • PostgREST OpenAPI support in WaveMaker
  • Fully automated and scalable test execution using k8s
  • New file picker for mobile apps - Improvements in UI to select files in mobile
  • WaveMaker releases 10.5 version
  • Deliver faster applications with WaveMaker!
  • GraphQL in a Micro Services Architecture
  • Build Themes for WaveMaker Apps Without Any Coding
  • COVID-19 Visualization using WaveMaker - Part 2
  • COVID-19 Visualization using WaveMaker - Part 1
  • WaveMaker Integrates with DigitalOcean Kubernetes for App Deployments
  • Deployment Experience made better!
  • OpenAPI support in WaveMaker
  • WaveMaker platform is updated to use WKWebView.
  • Deliver WaveMaker Apps as Micro Frontend modules
  • All-new WaveMaker docs with a powerful Search
  • Welcome to the WaveMaker Developers Blog

Certificate Pinning Case Study

December 15, 2020

Radhakrishnan Asokan

A case study on Certificate Pinning.

Introduction

In HTTPS handshake, the server responds with a public certificate issued by Certificate Authority (CA) to establish a connection. If CA, or Root certificate was compromised and issues a certificate without the domain owner's consent, the client may face the Man-in-the-middle (MTM) attack. To protect users from this vulnerability, an app can employ SSL pinning.

MITM

Certificate Pinning is an additional layer of security that protects communication between client and server. The Standard HTTPS verifies whether the connection is secure but it cannot verify whether you are communicating with the actual server or an intercepted server.

What Certificate Pinning offers

Standard HTTPS establishes a secure connection and checks whether the server certificate was issued by a trusted CA. Certificate Pinning additionally forces the client app to validate the server certificate with a known copy of the certificate.

The client application contains the pinned certificates which are pre-defined "known" certificates. During the time of communication between the client and server, the client expects the server certificate to match with any one of the pinned certificates. If it does not match, the client will terminate the connection.

Certificate Pinning

Web Certificate Pinning

Web Certificate Pinning is dynamic pinning. Certificates are pinned during the initial connection establishment. It was introduced in 2015 but was deprecated in 2018 due problems it created than resolving the actual problem.

Mobile Certificate Pinning

Mobile Certificate Pinning is static pinning, in which the certificate is bundled with the app. This means new app has to be installed on the certificate expiry.

Advantages of Certificate Pinning

  • Certificate Pinning protects data tampering even if the user installs a malicious CA with or without knowing.
  • If a trusted certificate authority gets compromised due to security vulnerability, the application will not get affected.

Problem Associated with Certificate Pinning

A security researcher has warned the risk associated with using HTTP Certificate Pinning.

  • If the key was accidentally deleted, stolen, hacked, you may face serious application downtime issues.
  • Domain hijacking - on Domain-hijacking, you can lose control of certificates, and hijackers can mishandle your certificates.
warning

After carefully evaluating, very few sites and apps use Certificate Pinning. The developer should be very careful in evaluating and using this feature. However, at this point, we have not yet implemented support for Certificate Pinning for applications build using WaveMaker.

What next?

Certificate Transparency (CT) was introduced in 2018 after deprecation of Web Certificate Pinning. CT is an open-source framework for monitoring and auditing certificates. This standard creates a public logger that records all the certificates issued by the trusted CA. You can monitor these loggers to detect mistakenly-issued certificates, compromised CAs, and CAs dishonesty.

CT in OpenSSL, whenever a connection is initiated, SSL certificates' timestamp will be used to fetch the certificate from the CT log and compared to establish the connection.

Conclusion

Though CT is different from Certificate Pinning, it will effectively replace the Certificate Pinning without compromising the quality of service.

Have a great idea for what you'd like to see next? Let us know here.

Tweet
Recent Posts
  • What Certificate Pinning offers
    • Web Certificate Pinning
    • Mobile Certificate Pinning
  • Advantages of Certificate Pinning
  • Problem Associated with Certificate Pinning
  • What next?
  • Conclusion
WaveMaker
  • PRICING
  • PARTNERS
  • CUSTOMERS
  • ABOUT US
  • CONTACT US
Terms of Use | Copyright © 2013-2021 WaveMaker, Inc. All rights reserved.