Abstract

We implement a cryptographic library using Web Assembly. Web Assembly is expected to show better performance than Javascript. The proposed library provides comprehensive algorithm sets including revised CHAM, Hash Message Authentication Code (HMAC), and ECDH using the NIST P-256 curve to provide confidentiality, data authentication, and key agreement functions. To optimize the performance of revised CHAM in the proposed library, we apply an existing method that is a four-round combining method and additionally propose the precomputation method to CHAM-64/128. The proposed revised CHAM showed an approximate 2.06 times (CHAM-64/128), approximate 2.13 times (CHAM-128/128), and approximate 2.63 times (CHAM-128/256) performance improvement in Web Assembly compared to JavaScript. In addition, CHAM-64/128 applying the precomputation method showed an improved performance by approximately 1.2 times more than the existing CHAM-64/128. For the ECDH using P-256 curve, the naive implementation of ECDH is vulnerable to side-channel attacks (SCA), e.g., simple power analysis (SPA), and timing analysis (TA). Thus, we apply an SPA and TA resistant scalar multiplication method, which is a core operation in ECDH. We present atomic block-based scalar multiplication by revising the previous work. Existing atomic blocks show a performance overhead of 55%, 23%, and 37%, but atomic blocks proposed to use only P=(X,Y,Z) show 18%, 6%, and 11% performance overhead. The proposed Web Assembly-based crypto library provides enhanced performance and resistance against SCA thus, it can be used in various web-based applications.

Highlights

  • Various types of Internet technology services, e.g., personal and business services, are provided to users via web-based applications due to the accessibility of the web

  • The atomic block method, which is an algorithm corresponding against simple power analysis (SPA) and timing analysis (TA), was applied

  • Each algorithm implemented in Web Assembly and JavaScript was measured in Chrome, Firefox, and Microsoft Edge

Read more

Summary

Introduction

Various types of Internet technology services, e.g., personal and business services, are provided to users via web-based applications due to the accessibility of the web. The proposed Web Assembly-based crypto library provides much improved performance compared to JavaScript-based implementations. When applying the existing atomic block and the proposed atomic block to wN AF, we check how much performance overhead appears than the original wN AF due to the increased number of operations, and how much the proposed atomic block is improved over the existing atomic block For this purpose, each algorithm implemented in Web Assembly and JavaScript was measured in Chrome, Firefox, and Microsoft Edge. The proposed crypto library includes the block cipher CHAM family, the message authentication code HMAC, and the key exchange algorithm ECDH. We propose a secure key exchange protocol that is applied by improving the previously studied atomic block to cope with TA and SPA, which are vulnerable to side channel analysis attacks in the web environment.

Overview of Web Environment
Overview of Web Assembly
Necessity of Crypto Library for Secure Web Application
Design Motivation and Library Architecture
Target Block Ciphers
Overview of HMAC
Overview of SHA-256
Target Key Agreement Algorithm
Providing Side Channel Resistance
CHAM Algorithm in JavaScript and Web Assembly
Crypto Implementations on Web Assembly Environment
Proposed Implementation of Revised CHAM
Proposed Implementation of ECDH with Side Channel Resistance
Proposed Implementation of HMAC
Performance Analysis
Findings
Conclusions

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.