Analysis of Vulnerabilities That Can Occur When Generating One-Time Password
Abstract
:Featured Application
Abstract
1. Introduction
2. Background
2.1. Random Number
2.1.1. Randomness
2.1.2. Unpredictability
2.1.3. Pseudo Random Number Generator (PRNG)
2.2. One-Time Password (OTP)
2.2.1. OTP Authentication Type
2.2.2. OTP Token
3. Related Works
3.1. Vulnerabilities of OTP on PC
3.2. Vulnerabilities of OTP in Internet Banking
3.3. NIST Standards for Cryptographic Random Numbers
SP800-90 (A, B, C)
4. Materials and Methods
4.1. OTP Mechanism
4.1.1. Association Information Generation
4.1.2. Generation Algorithm
4.1.3. Extraction Algorithm
5. Analysis of OTP Vulnerabilities
5.1. Vulnerability in OTP Generation Algorithm
5.2. Vulnerabilities in OTP Extraction
- Store the cipher text 160-bit in the array , which is 8-bit in size.
- For the integer , the lower 4-bits of are expressed as .
- If , then is used as the first extraction data.
- If , then is used as the second extraction data.
- If , then is used as the third extraction data.
- Use of static or dynamic algorithm: Rather than using an improved algorithm that can cause vulnerabilities, using a static or dynamic algorithm is suitable for information security by supplementing the randomness and unpredictability of OTP.
- Increases the number of LSB digits used as extraction information, and increases the length of the output bit string accordingly: Since 16 offsets can be selected using LSB 4-bit extraction information, the length of the output bit stream is used as 20-bytes . If this is used as LSB 5-bit or 6-bit, the offset that can be selected increases to 32 or 64, so the length of the output bit string is 36-bytes and 68-bytes . In this case, the probability of offset overlapping decreases by each time the bit is increased by one. (For example, [All extraction information is duplicated] for 5-bit = , for 6-bit = )
- Increase the amount of extraction to 4-byte: When the amount of extraction is increased from 3-byte to 4-byte, the range is [0, 16777215] (i.e., ) to [0, 4294967295] (i.e., , About 4 billion cases). Therefore, OTP can be used up to 7 and 8 digits instead of 6 digits. In this case, since and can be used, the predictable probability decreases by 1/10 each time by one digit increment.
6. Results and Discussion
6.1. Experiments
6.1.1. Experiment 1: Does This Extraction Vulnerability Really Happen?
6.1.2. Experiment 2: How Frequent Is This Extraction Vulnerability?
6.2. Results
6.3. Discussion
- Enhance the generation algorithm: When generating an OTP, a cryptographic algorithm that provides security strength suitable for the current era should be used. As shown in Table 2 above, there are methods to use hash functions such as SHA2 and SHA3 that provide 112-bit or higher security strength, or block ciphers such as AES-128,192,256. It is also okay to use standard cryptographic algorithms defined by the country that implements the OTP service;in Korea, LEA-128,192,256, ARIA-128, 192, 256, etc. can be used.
- Use of static or dynamic algorithm: We should not use the improved algorithm. Using this algorithm increases the probability of predicting the value of OTP. In cryptosystems, OTP is widely used because of its advantages; the value is valid only once, has randomness, and can not predict the next value. However, if the values can be easily predicted as in the results of Experiments 1 and 2, the meaning of using this will fade. Therefore, static and dynamic algorithms should be used instead of improved algorithms that eliminate these advantages.
- Increase the amount of extraction to 4-byte: Increase the OTP extraction range. This way, we can also use digits where the number change is not large, so that we can reduce the probability of prediction each time we increase one digit. When the amount of extraction is increased from 3-byte to 4-byte, the range is [0, 16777215] (i.e., ) to [0, 4294967295] (i.e., , About 4 billion cases). Therefore, OTP can be used up to 7 and 8 digits instead of 6 digits. In this case, since and can be used, the predictable probability decreases by 1/10 each time by one digit increment.
- Increases the number of LSB digits used as extraction information, and increases the length of the output bit string accordingly: Since 16 offsets can be selected using LSB 4-bit () extraction information, the length of the output bit stream is used as 20-bytes (=16 + 4). Here, adding 4 to the length to be extracted has this meaning. Suppose that when the dynamic algorithm is used, the maximum value that can be expressed in 4 bits is 15.At this time, if 3-byte data is extracted, it becomes , and if 4-byte is extracted, it becomes . If 4 is not added to the length, there is insufficient extraction data and a memory overflow occurs, or the data at the last offset used for extraction information is accessed again. That way, the data is not independent. When LSB is used as 5-bit or 6-bit, it is also appropriate to generate at least 4-byte additionally. In this case, the probability of offset overlapping decreases by each time the bit is increased by one.
7. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
Abbreviations
OTP | One Time Password |
PRNG | Pseudo-Random Number Generators |
CPRNG | Cryptographically Secure PRNG |
MITM | Man-in-the-Middle |
MITB | Man-in-the-Browser |
MITPC | Man-in-the-PC |
LSB | Least Significant Bit |
USIM | Universal Subscriber Identity Module |
TTA | Telecommunication Technology Association |
RFC | Request for Comments |
NIST | National Institute of Standards and Technology |
NIS | National Intelligence Service |
SP | Special Publication |
AES | Advanced Encryption Standard |
References
- Haller, N.M. The s/key One-Time Password System. Symposium on Network and Distributed System Security. 1994. Available online: https://tools.ietf.org/html/rfc1760 (accessed on 1 March 2020).
- Mohammadi, V.; Rahmani, A.M.; Darwesh, A.M.; Sahafi, A. Trust-based recommendation systems in Internet of Things: A systematic literature review. Hum.-Centric Comput. Inf. Sci. 2019, 9, 21. [Google Scholar] [CrossRef]
- Jeong, Y.S.; Park, J.H. Security, Privacy, and Efficiency of Sustainable Computing for Future Smart Cities. JIPS (J. Inf. Process. Syst.) 2020, 16, 1–5. [Google Scholar]
- Park, J.Y.; Huh, E.N. A Cost-Optimization Scheme Using Security Vulnerability Measurement for Efficient Security Enhancement. JIPS (J. Inf. Process. Syst.) 2020, 16, 61–82. [Google Scholar]
- Kang, J. Mobile payment in Fintech environment: Trends, security challenges, and services. Hum.-Centric Comput. Inf. Sci. 2018, 8, 1–16. [Google Scholar] [CrossRef] [Green Version]
- Kim, H.W.; Jeong, Y.S. Secure authentication-management human-centric scheme for trusting personal resource information on mobile cloud computing with blockchain. Hum.-Centric Comput. Inf. Sci. 2018, 8, 11. [Google Scholar] [CrossRef] [Green Version]
- Sun, H.; Sun, K.; Wang, Y.; Jing, J. TrustOTP: Transforming smartphones into secure one-time password tokens. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, Denver, CO, USA, 12–16 October 2015; pp. 976–988. [Google Scholar]
- Cheng, F. A secure mobile OTP Token. In International Conference on Mobile Wireless Middleware, Operating Systems, and Applications; Springer: Berlin/Heidelberg, Germany, 2010; pp. 3–16. [Google Scholar]
- Menezes, A.J.; Katz, J.; Van Oorschot, P.C.; Vanstone, S.A. Handbook of Applied Cryptography; CRC Press: Boca Raton, FL, USA, 1996. [Google Scholar]
- Stinson, D.R.; Paterson, M. Cryptography: Theory and Practice; CRC Press: Boca Raton, FL, USA, 2018. [Google Scholar]
- Barker, E.B.; Kelsey, J.M. Recommendation for Random Number Generation Using Deterministic Random Bit Generators (Revised); US Department of Commerce, Technology Administration, NIST: Gaithersburg, MD, USA, 2007.
- Barker, E.; Kelsey, J. Recommendation for Random Bit Generator (RBG) Constructions; Technical Report; National Institute of Standards and Technology: Gaithersburg, MD, USA, 2016.
- Kaur, N.; Devgan, M.; Bhushan, S. Robust login authentication using time-based OTP through secure tunnel. In Proceedings of the 2016 3rd International Conference on Computing for Sustainable Global Development (INDIACom), New Delhi, India, 16–18 March 2016; pp. 3222–3226. [Google Scholar]
- M’Raihi, D.; Machani, S.; Pei, M.; Rydell, J. Totp: Time-Based One-Time Password Algorithm. Internet Request for Comments. 2011. Available online: https://tools.ietf.org/html/rfc6238 (accessed on 1 March 2020).
- Jaehoon, N.; Gang, U. TTAK.KO-12.0120: Assurance Level of One-Time Password Authentication Service; TTA: Seongnam, Korea, 2009. [Google Scholar]
- An, J.W. A Study on Interactive Authentication Method Using Mobile One Time Password Interlocked Transaction for Secure Electronic Financial Transactions. Master’s Thesis, Kookmin University, Seoul, Korea, 2010. [Google Scholar]
- Hong, W.C.; Lee, K.W.; Kim, S.J.; Won, D.H. Vulnerabilities Analysis of the OTP Implemented on a PC. KIPS Trans. Part C 2010, 17, 361–370. [Google Scholar] [CrossRef]
- Yoo, C.; Kang, B.T.; Kim, H.K. Case study of the vulnerability of OTP implemented in internet banking systems of South Korea. Multimedia Tools Appl. 2015, 74, 3289–3303. [Google Scholar] [CrossRef]
- Barker, E.B.; Kelsey, J.M. Sp 800-90a. Recommendation for Random Number Generation Using Deterministic Random Bit Generators; Technical Report; National Institute of Standards and Technology: Gaithersburg, MD, USA, 2012.
- Turan, M.S.; Barker, E.; Kelsey, J.; McKay, K.A.; Baish, M.L.; Boyle, M. Sp800-90b. Recommendation for the entropy sources used for random bit generation. NIST Spec. Publ. 2018, 5–39. [Google Scholar]
- Gu, H. TTAK.KO-12.0193: Algorithm Profile for One-Time Password; TTA: Seongnam, Korea, 2012. [Google Scholar]
- Haller, N.; Metz, C.; Nesser, P.; Straw, M. A One-Time Password System. Network Working Group Request for Comments. 1998, Volume 2289. Available online: https://tools.ietf.org/html/rfc2289 (accessed on 1 March 2020).
- M’Raihi, D.; Bellare, M.; Hoornaert, F.; Naccache, D.; Ranen, O. HOTP: An HMAC-Based One-Time Password Algorithm; The Internet Society, Network Working Group, RFC4226, 2005. Available online: https://tools.ietf.org/html/rfc4226 (accessed on 1 March 2020).
- Huiwon, S.; Ujin Gang, S.S. TTAK.KO-12.0100: Security Requirements for OTP Key Management; TTA: Seongnam, Korea, 2009. [Google Scholar]
- Barker, E. NIST Special Publication 800-57 Part 1 Revision 4, Recommendation for Key Management Part 1: General; NIST: Gaithersburg, MD, USA, 2016.
- Heron, S. Advanced encryption standard (AES). Netw. Secur. 2009, 2009, 8–12. [Google Scholar] [CrossRef]
- Rukhin, A.; Soto, J.; Nechvatal, J.; Smid, M.; Barker, E.; Leigh, S.; Levenson, M.; Vangel, M.; Banks, D.; Heckert, A. NIST Special Publication 800-22 Revision 1a: A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications; NIST: Gaithersburg, MD, USA, 2010.
- Kwon, B.W.; Sharma, P.K.; Park, J.H. CCTV-Based Multi-Factor Authentication System. J. Inf. Process. Syst. 2019, 15, 904–919. [Google Scholar]
Classification | Standard Algorithms That Specified | |
---|---|---|
Hash based | DSA-PRNG-SHA1 | Hash-DRBG-SHA1 |
ECDSA-PRNG-SHA11 | KCDSA-PRNG-HAS1160 | |
HMAC-DRBG-SHA-256 | ||
Block cipher based | ANSI X9.31 triple DES | DSA-PRNG-ARIA |
ANSI X9.31 AES | DSA-PRNG-SEED | |
ANSI X9.17 PRNG-triple DES | ECDSA-PRNG-ARIA | |
CTR-DRBG-tiple-DES | ECDSA-PRNG-SEED | |
CTR-DRBG-tiple-AES-128,192,256 | ||
etc. | Micali Schnorr-DRBG |
Security Strength | Digital Signatures and Hash-Only Applications | HMAC, Key-Derivation Functions, Random Number Generation |
---|---|---|
≤80 | SHA-1 | |
112 | SHA-224, SHA-512/224, SHA3-224 | |
128 | SHA-256, SHA-512/256, SHA3-356 | SHA-1 |
192 | SHA-384, SHA3-384 | SHA-224, SHA-512/224 |
≥256 | SHA-512, SHA3-512 | SHA-256, SHA-512/256, SHA-384, |
SHA-512, SHA3-512 |
• Element: A decimal number obtained with each extraction algorithm(static, dynamic, improved) | |||||||||
• Experimental group: Improved algorithm data set | |||||||||
• Control groups: Static/dynamic algorithm data sets | |||||||||
• Sample: elements (1,048,576) | |||||||||
• Random variable X: Number of occurrences of each “element” in the range (frequency) | |||||||||
•: Expected value of X when each “element” in the range is uniformly occur. () | |||||||||
•: The number of ‘most frequent’ element(s) in the range | |||||||||
• Threshold H: Heuristic value that distinguishes each extraction method | |||||||||
• #: The number of elements whose random variable X exceeds the threshold | |||||||||
• Eccentricity e: Relative measure of how far from normal. () | |||||||||
Range | # | #() | |||||||
≈ | - | - | - | - | - | ||||
static | 10,714 | static | 2 | static | 98 | 1.001 | |||
≈ | dynamic | 10,679 | 10,700 | dynamic | 0 | dynamic | 100 | 0.998 | |
improved | 10,821 | improved | 10 | improved | 90 | 1.011 | |||
static | 1151 | static | 61 | static | 939 | 1.046 | |||
≈ | dynamic | 1154 | 1100 | dynamic | 59 | dynamic | 941 | 1.050 | |
improved | 744 | ||||||||
static | 148 | static | 0 | static | 10000 | 0.740 | |||
≈ | dynamic | 151 | 200 | dynamic | 0 | dynamic | 10000 | 0.755 | |
improved | 9744 | ||||||||
static | 33 | static | 0 | static | 100,000 | 0.33 | |||
≈ | dynamic | 29 | 100 | dynamic | 0 | dynamic | 100,000 | 0.29 | |
improved | 99744 | ||||||||
static | 9 | static | 0 | static | 1,000,000 | 0.257 | |||
≈ | dynamic | 8 | 35 | dynamic | 0 | dynamic | 1,000,000 | 0.229 | |
improved | 999744 |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Kim, H.; Han, J.; Park, C.; Yi, O. Analysis of Vulnerabilities That Can Occur When Generating One-Time Password. Appl. Sci. 2020, 10, 2961. https://doi.org/10.3390/app10082961
Kim H, Han J, Park C, Yi O. Analysis of Vulnerabilities That Can Occur When Generating One-Time Password. Applied Sciences. 2020; 10(8):2961. https://doi.org/10.3390/app10082961
Chicago/Turabian StyleKim, Hyunki, Juhong Han, Chanil Park, and Okyeon Yi. 2020. "Analysis of Vulnerabilities That Can Occur When Generating One-Time Password" Applied Sciences 10, no. 8: 2961. https://doi.org/10.3390/app10082961
APA StyleKim, H., Han, J., Park, C., & Yi, O. (2020). Analysis of Vulnerabilities That Can Occur When Generating One-Time Password. Applied Sciences, 10(8), 2961. https://doi.org/10.3390/app10082961