Ensuring Correct Cryptographic Algorithm and Provider Usage at Compile Time

被引:0
|
作者
Xing, Weitian [1 ]
Cheng, Yuanhui [1 ]
Dietl, Werner [1 ]
机构
[1] Univ Waterloo, Waterloo, ON, Canada
来源
PROCEEDINGS OF THE 23RD ACM INTERNATIONAL WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS (FTFJP '21) | 2021年
基金
加拿大自然科学与工程研究理事会;
关键词
!text type='Java']Java[!/text; cryptography; pluggable type system; static analysis;
D O I
10.1145/3464971.3468418
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Using cryptographic APIs to encrypt and decrypt data, calculate digital signatures, or compute hashes is error prone. Weak or unsupported cryptographic algorithms can cause information leakage and runtime exceptions, such as a NoSuchAlgorithmException in Java. Using the wrong cryptographic service provider can also lead to unsupported cryptographic algorithms. Moreover, for Android developers who want to store their key material in the Android Keystore, misused cryptographic algorithms and providers make the key material unsafe. We present the Crypto Checker, a pluggable type system that detects the use of forbidden algorithms and providers at compile time. For typechecked code, the Crypto Checker guarantees that only trusted algorithms and providers are used, and thereby ensures that the cryptographic APIs never cause runtime exceptions or use weak algorithms or providers. The Crypto Checker is easy-to-use: it allows developers to determine which algorithms and providers are permitted by writing specifications using type qualifiers. We implemented the Crypto Checker for Java and evaluated it with 32 open-source Java applications (over 2 million LOC). We found 2 issues that cause runtime exceptions and 62 violations of security recommendations and best practices. We also used the Crypto Checker to analyze 65 examples from a public benchmark of hard security issues and discuss the differences between our approach and a different static analysis in detail.
引用
收藏
页码:43 / 50
页数:8
相关论文
共 35 条
  • [21] An Efficient Hybrid Cryptographic Algorithm, Consuming Less Time for Exchanging Information in Wireless Sensor Networks
    Piyar Ali Jatoi
    Aftab A. Memon
    B. S. Chowdhry
    M. Ghazanfar Ullah
    Shiraz Latif
    Wireless Personal Communications, 2015, 85 : 449 - 462
  • [22] A multi-objectives scheduling algorithm based on cuckoo optimization for task allocation problem at compile time in heterogeneous systems
    Akbari, Mehdi
    Rashidi, Hassan
    EXPERT SYSTEMS WITH APPLICATIONS, 2016, 60 : 234 - 248
  • [23] An Efficient Hybrid Cryptographic Algorithm, Consuming Less Time for Exchanging Information in Wireless Sensor Networks
    Jatoi, Piyar Ali
    Memon, Aftab A.
    Chowdhry, B. S.
    Ullah, M. Ghazanfar
    Latif, Shiraz
    WIRELESS PERSONAL COMMUNICATIONS, 2015, 85 (02) : 449 - 462
  • [24] Optimal compile-time multiprocessor scheduling based on the 0-1 linear programming algorithm with the branch and bound technique
    Piriyakumar, DAL
    Murthy, CSR
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1996, 35 (02) : 199 - 204
  • [25] A Modified Endurance Time Analysis Algorithm to Correct Duration Effects for a Concrete Gravity Dam
    Xu, Qiang
    Xu, Shutong
    Chen, Jianyun
    Li, Jing
    INTERNATIONAL JOURNAL OF GEOMECHANICS, 2022, 22 (02)
  • [26] Exchanging information in Wireless Sensor Networks at very low time consumption rate in An Efficient Hybrid Cryptographic Algorithm
    Jatoi, Piyar Ali
    Memon, Aftab A.
    Chowdhry, B. S.
    Ullah, Muhammad Ghazanfar
    Latif, Shiraz
    2014 4TH INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATIONS, VEHICULAR TECHNOLOGY, INFORMATION THEORY AND AEROSPACE & ELECTRONIC SYSTEMS (VITAE), 2014,
  • [27] On the usage of a time-frequency switch mode algorithm to efficiently simulate RF circuits
    Oliveira, Jorge F.
    AEU-INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATIONS, 2020, 127
  • [28] An one-time pad cryptographic algorithm with Huffman Source Coding based energy aware sensor node design
    Saravanaselvan, A.
    Paramasivan, B.
    SUSTAINABLE COMPUTING-INFORMATICS & SYSTEMS, 2024, 44
  • [29] NP-miner: A real-time recommendation algorithm by using web usage mining
    Huang, Yueh-Min
    Kuo, Yen-Hung
    Chen, Juei-Nan
    Jeng, Yu-Lin
    KNOWLEDGE-BASED SYSTEMS, 2006, 19 (04) : 272 - 286
  • [30] BoxLock: Mobile-Based Serpent Cryptographic Algorithm and One-Time Password Mechanism Implementation for Dropbox Files Security
    Yulianto, Aditya
    Prasetiyowati, Maria Irmina
    2013 8TH INTERNATIONAL CONFERENCE FOR INTERNET TECHNOLOGY AND SECURED TRANSACTIONS (ICITST), 2013, : 357 - 362