NDNOTA: NDN One-Time Authentication
Abstract
:1. Introduction
2. Related Work
3. The Proposed Authentication Framework
3.1. Authentication Message
- State Field: contains code, where each code represents a state: (1) Redirect state, (2) Handshake-Request state, (3) Handshake-Reply state, (4) Authentication-Request state, (5) Authentication-Reply state, (6) Auth-Token state, (7) Is-Consumer-Authenticated state, and (8) Authenticated state;
- Message Parameter Field: contains one or more (key, value) pairs. The key field is filled with one code from 1–5. Each key code represents a value that is described in Table 2.
3.2. NDNOTA Authentication Phases
3.2.1. Handshake Authentication Request Phase
3.2.2. Challenge Token Exchange Phase
3.2.3. Authentication Token Generation Phase
- Replace the CT value with the AT value;
- Replace the expiration time of the CT with the expiration time of the AT.
3.2.4. Consumer Verification Phase
Algorithm 1 NDNOTA Consumer Side |
1: Output 1: Handshake Authentication Request Interest (HAR) to AuthServ 2: Output 2: Authentication Request Interest (AR) to AuthServ 3: Output 3: Protected-Content Request Interest to Producer |
4: Content Request Interest to Producer 5: Data Packet ← Producer 6: if Data Packet type == 0 (Blob) then 7: do nothing 8: else if Data Packet type == 3 (NACK) && AuthMsg.Type = 1 then 9: Extract AuthServer list 10: if consumer has no AT of one of the AuthServ list then 11: AuthMsg ← 2 (Handshake-Request State), (2, Consumer public key) 12: ApplicationParameters ← AuthMsg 13: HAR Interest ← (AuthServer Name + ApplicationParameters) & Sign Interest with Consumer Signature 14: Issue HAR to AuthServ → Output 1 15: else 16: go to 26 17: end if 18: end if 19: Data Packet ← AuthServ 20: switch Received Data Packet do 21: case Handshake-Reply (3) State 22: Extract CT, AuthServ public key 18: D-CT ← Decrypt CT with Consumer private key 19: CT ← Encrypt D-CT with AuthServ public key 20: AuthMsg ← 4 (Authentication-Request State), (3, CT) 21: ApplicationParameters ← AuthMsg 22: AR Interest ← (AuthServer Name + ApplicationParameters) & Sign with Consumer Signature 23: Issue AR to AuthServ → Output 2 24: case Authentication-Reply (5) State 25: Extract & save AT 26: AuthMsg ← 6 (AuthToken State), (1, AuthServ), (4, AT) 27: ApplicationParameters ← AuthMsg 28: Content Request Interest ← (Producer Name + ApplicationParameters) & Sign with Consumer Signature 29: Issue Content Request Interest to Producer → Output 3 |
Algorithm 2 NDNOTA Producer Side |
1: Input 1: Content Request Interest from Consumer 2: Output 1: Is-Consumer-Authenticated Interest to AuthServ 3: Output 2: Data Packet to Consumer |
4: if ApplicationParameters = Empty && requested content!= protected then 5: Issue Data packet that carries requested content 6: else 7: if ApplicationParameters = Empty && requested content = protected then 8: AuthMsg ← 1 (Redirect State), (1, list of AuthServs) 9: Content ← AuthMsg 10: NACK Data Packet ← (Content) & Sign with Producer Signature 11: else if AuthMsg.Type = 6 && AuthMsg.Parameter[1].key = 4 then 12: Extract AT, consumer key-locator 13: if consumer key-locator is cached then 14: if received AT = cached AT && NOT expired then 15: go to 27 16: else 17: AuthMsg ← 7 (Is-Consumer-Authenticated State), (2, consumer key-locator), (4, AT) 18: ApplicationParameters ← AuthMsg 19: Is-Consumer-Authenticated Interest ← (AuthServer Name + ApplicationParameters) & Sign with Producer Signature 20: Issue Is-Consumer-Authenticated Interest to AuthServ → Output 1 21: end if 22: end if 23: end if 24: Data Packet ← AuthServ 25: if AuthMsg.Type = 8 && AuthMsg.Parameter[0].value = True then 26: Store consumer key-locator & AT 27: Data Packet ← (Protected Content) & Sign with Producer Signature 28: Issue Data Packet with protected content to Consumer → Output 2 29: else 30: Issue NACK Data Packet to Consumer → Output 2 31: end if |
Algorithm 3 NDNOTA AuthServ Side |
1: Input 1: Handshake Authentication Request Interest (HAR) from Consumer 2: Output 1: Handshake Reply (HR) Data Packet to Consumer 3: Output 2: Authentication Reply (AR) Data Packet to Consumer 4: Output 3: Authenticate Verification Data Packet to Producer |
5: if AuthMsg.Type = 2 then 6: Extract consumer public key, key-locator 7: CT ← Generate & encrypt a random token with consumer public key 8: entry ← Consumer key-locator, Plaintext CT, CT Expiry 9: AuthMsg ← 3 (Handshake-Reply State), (3, CT) 10: Content ← AuthMsg 11: HR Data Packet ← (Content) & Sign with AuthServ Signature 12: Issue HR Data Packet to Consumer → Output 1 13: end if 14: switch Received Interest Packet do 15: case Authentication-Request (4) State 16: Extract CT, consumer key-locator 17: D-CT ← Decrypt CT with AuthServ private key 18: if D-CT = entry (CT) then 19: AT ← Generate & encrypt a random token with AuthServ key 20: entry ← Consumer key-locator, AT, AT Expiry 21: AuthMsg ← 5 (Authentication-Reply State), (4, AT) 22: Content ← AuthMsg 23: AR Data Packet ← (Content) & Sign with AuthServ Signature 24: Issue AR Data Packet to Consumer → Output 2 25: else 26: Issue NACK Data Packet to Consumer 27: end if 28: case Is-Consumer-Authenticated (7) State 29: Extract AT, consumer key-locator 30: if AT = entry (AT) then 31: AuthMsg ← 8 (Authenticated State), (5, True) 32: Authenticate Confirmation Data Packet← (Content) & Sign with AuthServ Signature 33: Issue Authenticate Confirmation Data Packet to Producer → Output 3 34: else 35: AuthMsg ← 8 (Authenticated State), (5, False) 36: end if 37: Content ← AuthMsg 38: Authenticate Verification Data Packet← (Content) & Sign with AuthServ Signature 39: Issue Authenticate Confirmation Data Packet to Producer → Output 3 |
4. Security Analysis
- Man-in-the-middle (MITM) Attack: The unauthorized interception can take place either on the in-path routers or by a malicious man-in-the-middle attacker. To protect the exchanged messages between the consumer, the producer, and the authentication server our scheme uses asymmetric encryption by using Elliptic Curve Cryptography (ECC) to encrypt the exchanged tokens with the destinations’ ECC public key. Additionally, to protect exchanged messages from alteration, our scheme requires all messages (Interest/Data packets) to use ECDSA digital signatures over a SHA-256 digest to enforce integrity and provenance verification [30];
- Impersonation Attack: Instead of examining this attack through the lens of the consumer, the producer, and the AuthServ, impersonation could occur through the transmission of either an Interest or a Data packet from an unauthorized sender;
- Interest Packets Impersonation: In our solution, both the AuthServ and the producer define a consumer by either an attached public key or by the key location in the first Interest packet they receive from the user. A trusted key location will have higher priority over an attached public key to distinguish between a publicly known signature and another signature with the same NDN name. The public key—whether downloaded from the key location or the attached one—will be stored and will be used to validate any future Interest packets received from the same consumer. Since Interest packets are signed using a private key, an attacker cannot create a new Interest packet without having the private key. However, an attacker can passively store an Interest packet—for example, obtained through a MITM attack—and replay it as we will see in the replay attack;
- Data Packets Impersonation: Our scheme mandates setting MustBeFresh to true for Interest packets and setting FreshnessPeriod to zero for Data packets. This way the Interest packets cannot be satisfied from a content store and the Data packets are marked “non-fresh” after satisfying the Interest. This shall reduce the vulnerability to poisoned cached content. Moreover, the Data packet is verified at its final destination for the correctness and authenticity of its digital signature;
- Replay Attack: Since all Interest packets in our proposed solution are digitally signed, both the AuthServ and the producer will use the NDN built-in mechanism to verify and validate the signed Interest packets [32]. The mechanism mandates the use of a digest component and a published and verifiable signature. If the mechanism fails, the Interest packet will be treated as invalid. In-path routers can be optionally configured to verify signatures and drop invalid packets, and content providers will always drop invalid packets.
5. Experimental Setup and Result
5.1. Authentication Impact on NDNOTA Element
5.2. NDNOTA Operations Latency
6. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
AR | Authentication request |
AT | Authentication token |
AuthMsg | Authentication message |
AuthServ | Authentication server |
CT | Challenge token |
HAR | Handshake authentication request |
NDN | Named Data Networking |
NDNOTA | NDN One-Time Authentication |
SSO | Single sign-on |
References
- Singh, V.P.; Ujjwal, R.L. A walkthrough of name data networking: Architecture, functionalities, operations and open issues. Sustain. Comput. Inform. Syst. 2020, 28, 100419. [Google Scholar] [CrossRef]
- Tao, Y.; Zhu, Y. An interest-based access control scheme via edge verification in Named Data Networking. Int. J. Commun. Syst. 2022, 35, e5169. [Google Scholar] [CrossRef]
- Kumar, S.; Wollinger, T. Fundamentals of Symmetric Cryptography. In Embedded Security in Cars: Securing Current and Future Automotive IT Applications; Lemke, K., Paar, C., Wolf, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2006; pp. 125–143. [Google Scholar] [CrossRef]
- Ahmad, J.; Mohammad, C.W.; Sadiq, M. Generation of One-Time Password for the Authentication of Software Requirements Using Secure Hash Algorithms. In Proceedings of the International Conference on Recent Trends in Computing; Springer Nature: Singapore, 2022; pp. 627–640. [Google Scholar]
- Zhang, Z.; Liu, S.; King, R.; Zhang, L. NDN-MPS: Supporting multiparty authentication over named data networking. In Proceedings of the 8th ACM Conference on Information-Centric Networking, Paris, France, 22–24 September 2021; pp. 83–94. [Google Scholar]
- Trnka, M.; Cerny, T.; Stickney, N. Survey of Authentication and Authorization for the Internet of Things. Secur. Commun. Netw. 2018, 2018, 4351603. [Google Scholar] [CrossRef]
- Beltran, V.; Bertin, E.; Crespi, N. User Identity for WebRTC Services: A Matter of Trust. IEEE Internet Comput. 2014, 18, 18–25. [Google Scholar] [CrossRef]
- FORCEPOINT. End User Single Sign-On for Forcepoint Web Security Cloud. Available online: https://www.websense.com/content/support/library/web/hosted/sso_guide/how_sso_works.aspx (accessed on 24 October 2023).
- Aldaoud, M.; Al-Abri, D.; Awadalla, M.; Kausar, F. Data Structure and Management Protocol to Enhance Name Resolving in Named Data Networking. Future Internet 2024, 16, 118. [Google Scholar] [CrossRef]
- Aldaoud, M.; Al-Abri, D.; Awadalla, M.; Kausar, F. Towards a Scalable Named Data Border Gateway Protocol. In Proceedings of the 2022 International Conference on Electrical, Computer, Communications and Mechatronics Engineering (ICECCME), Maldives, 16–18 November 2022; pp. 1–5. [Google Scholar]
- Kumar, N.; Singh, A.K.; Aleem, A.; Srivastava, S. Security Attacks in Named Data Networking: A Review and Research Directions. J. Comput. Sci. Technol. 2019, 34, 1319–1350. [Google Scholar] [CrossRef]
- Chatterjee, T.; Ruj, S.; Bit, S.D. Security Issues in Named Data Networks. Computer 2018, 51, 66–75. [Google Scholar] [CrossRef]
- Shah, M.S.M.; Leau, Y.B.; Anbar, M.; Bin-Salem, A.A. Security and Integrity Attacks in Named Data Networking: A Survey. IEEE Access 2023, 11, 7984–8004. [Google Scholar] [CrossRef]
- Zhang, Z.; Yu, Y.; Zhang, H.; Newberry, E.; Mastorakis, S.; Li, Y.; Afanasyev, A.; Zhang, L. An Overview of Security Support in Named Data Networking. IEEE Commun. Mag. 2018, 56, 62–68. [Google Scholar] [CrossRef]
- Anjum, A.; Agbaje, P.; Mitra, A.; Oseghale, E.; Nwafor, E.; Olufowobi, H. Towards named data networking technology: Emerging applications, use cases, and challenges for secure data communication. Future Gener. Comput. Syst. 2024, 151, 12–31. [Google Scholar] [CrossRef]
- Kapetanidou, I.A.; Sarros, C.-A.; Tsaoussidis, V. Reputation-Based Trust Approaches in Named Data Networking. Future Internet 2019, 11, 241. [Google Scholar] [CrossRef]
- Benmoussa, A.; Kerrache, C.A.; Lagraa, N.; Mastorakis, S.; Lakas, A.; Tahari, A.E.K. Interest Flooding Attacks in Named Data Networking: Survey of Existing Solutions, Open Issues, Requirements, and Future Directions. ACM Comput. Surv. 2022, 55, 139. [Google Scholar] [CrossRef]
- Nour, B.; Khelifi, H.; Hussain, R.; Mastorakis, S.; Moungla, H. Access Control Mechanisms in Named Data Networks: A Comprehensive Survey. ACM Comput. Surv. 2021, 54, 61. [Google Scholar] [CrossRef]
- Chen, T.; Lei, K.; Xu, K. An encryption and probability based access control model for named data networking. In Proceedings of the 2014 IEEE 33rd International Performance Computing and Communications Conference (IPCCC), Austin, TX, USA, 5–7 December 2014; pp. 1–8. [Google Scholar]
- Hamdane, B.; Boussada, R.; Elhdhili, M.E.; Fatmi, S.G.E. Towards a Secure Access to Content in Named Data Networking. In Proceedings of the 2017 IEEE 26th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), Poznan, Poland, 21–23 June 2017; pp. 250–255. [Google Scholar]
- Backes, M.; Cachin, C.; Oprea, A. Lazy revocation in cryptographic file systems. In Proceedings of the Third IEEE International Security in Storage Workshop (SISW’05), San Francisco, CA, USA, 13–13 December 2005; p. 11. [Google Scholar]
- Shang, W.; Yu, Y.; Liang, T.; Zhang, B.; Zhang, L. NDN-ACE: Access Control for Constrained Environments over Named Data Networking. NDN Technical Report NDN-0036. 2015. Available online: https://named-data.net/wp-content/uploads/2015/12/ndn-0036-1-ndn-ace.pdf (accessed on 24 October 2023).
- Misra, S.; Tourani, R.; Natividad, F.; Mick, T.; Majd, N.E.; Huang, H. AccConF: An Access Control Framework for Leveraging In-Network Cached Data in the ICN-Enabled Wireless Edge. IEEE Trans. Dependable Secur. Comput. 2019, 16, 5–17. [Google Scholar] [CrossRef]
- Htet Hlaing, H.; Funamoto, Y.; Mambo, M. Secure Content Distribution with Access Control Enforcement in Named Data Networking. Sensors 2021, 21, 4477. [Google Scholar] [CrossRef] [PubMed]
- Li, Q.; Zhang, X.; Zheng, Q.; Sandhu, R.; Fu, X. LIVE: Lightweight Integrity Verification and Content Access Control for Named Data Networking. IEEE Trans. Inf. Forensics Secur. 2015, 10, 308–320. [Google Scholar] [CrossRef]
- Abdellah, A.; Saif, S.M.; ElDeeb, H.E.; Abd-Elrahman, E.; Taher, M. A Survey of Using Blockchain Aspects in Information Centric Networks. In Proceedings of the International Conference on Advanced Intelligent Systems and Informatics 2020; Springer International Publishing: Cham, Switzerland, 2021; pp. 292–301. [Google Scholar]
- Benmoussa, A.; Kerrache, C.A.; Calafate, C.T.; Lagraa, N. NDN-BDA: A Blockchain-Based Decentralized Data Authentication Mechanism for Vehicular Named Data Networking. Future Internet 2023, 15, 167. [Google Scholar] [CrossRef]
- Shi, J.; Zeng, X.; Han, R. A Blockchain-Based Decentralized Public Key Infrastructure for Information-Centric Networks. Information 2022, 13, 264. [Google Scholar] [CrossRef]
- Abdellah, A.S.; Saif, S.; ElDeeb, H.E.; Abd-Elrahman, E.; Taher, M. A Secured Blockchain-based Information-Centric Network. J. Comput. Sci. 2022, 18, 266280. [Google Scholar] [CrossRef]
- NDN-Team. Signature. Available online: https://docs.named-data.net/NDN-packet-spec/current/signature.html# (accessed on 30 October 2023).
- NDN-Team. Named-Data/Ndn-Cxx. Available online: https://github.com/named-data/ndn-cxx/tree/master (accessed on 10 February 2024).
- NDN-Team. Signed Interest. Available online: https://docs.named-data.net/NDN-packet-spec/current/signed-interest.html (accessed on 10 February 2024).
- Zhang, J.; Li, S.; Wang, C. A Secure Dynamic Content Delivery Scheme in Named Data Networking. Secur. Commun. Netw. 2022, 2022, 6304927. [Google Scholar] [CrossRef]
- Hevey, D. Network analysis: A brief overview and tutorial. Health Psychol. Behav. Med. 2018, 6, 301–328. [Google Scholar] [CrossRef] [PubMed]
- Crypto.Random Package: v3.19.0. Available online: https://pycryptodome.readthedocs.io/en/v3.19.0/src/random/random.html (accessed on 6 November 2023).
- Cryptodome.Cipher. Available online: https://pycryptodome.readthedocs.io/en/latest/src/api.html (accessed on 13 November 2023).
Approach | Objective | Limitation |
---|---|---|
Encrypting data using probabilistic methods [19] | Prevent unauthorized access | Employing Bloom filters results in higher memory usage and a greater occurrence of false positives |
Support fine-grained access control over the objects [20] | Objects’ confidentiality | Unable to conceal the popularity of objects and users’ preferences from potential attackers. |
Secure actuators in an NDN-IoT environment [22] by using generated symmetric keys | Prevent data leakage | Addresses the sending of commands, as demonstrated in the case of lighting control |
Implementing broadcast encryption for content stored in content stores [23] by using symmetric keys to encrypt content | Data confidentiality especially for mobile objects | Does not take into consideration dynamic changes that occur in content stores |
Lightweight integrity verification [25] by using three private and public tokens | Distinguish between authorized and unauthorized routers | Does not take into consideration token refreshment |
Using (IB-PRE) and symmetric encryption [24] | Improve access control for content sharing in NDN, aiming to safeguard content confidentiality | Key escrow problems |
NDNOTA is an authentication framework for NDN services, applications, and content | 1. One authentication for multiple services such as SSO 2. Uses asymmetric cryptography to generate tokens 3. Uses the original NDN signature for both Interest and Data packets. Accordingly, no modifications occur to NDN packets. | Token revocation must be considered in future work |
Key Code | Value |
---|---|
1 | One or more AuthServ names |
2 | Either the consumer public key when state field is 2, or consumer key locator, which is used as a consumer unique identifier (consumer ID), when the state field holds code 7 |
3 | Challenge token (CT) |
4 | Authentication token (AT) |
5 | The value is TRUE when the consumer is authenticated, and FALSE otherwise |
Interest Message Type | ) | ) | Processing Duration Description |
---|---|---|---|
Handshake Authentication Request (HAR) | 45.406 | 4738.321 | 1. Extract consumer’s public key and key locator 2. Generate and encrypt CT 3. Establish a session entry 4. Prepare AuthMsg state 3, CT 5. Prepare Data packet with the prepared AuthMsg |
Authentication Request (AR) | 38.720 | 4960.469 | 1. Extract CT and key locator 2. Decrypt CT 3. Compare CT with stored CT 4. Generate and encrypt AT 5. Modify the session entry 6. Prepare AuthMsg state 5, AT 7. Prepare Data packet with the prepared AuthMsg |
Is-Consumer-Authenticated | 51.885 | 1827.104 | 1. Extract AT and key locator 2. Compare AT with stored AT 3. Prepare AuthMsg state 8, True 4. Prepare Data packet with the prepared AuthMsg |
Scenario | Time (μs) | Number of Interest Packets | Interest Packets | Number of Data Packets | Data Packets | Total Packets |
---|---|---|---|---|---|---|
Baseline | 13,313.211 | 1 | Normal content request | 1 | Normal content | 2 |
Full NDNOTA | 83,609.248 | 5 | Private content request, HAR, AR, private content request with AT, Is-Consumer-Authenticated | 5 | Redirect, Handshake Reply, Authentication Reply, Is-Consumer-Authenticated, private content | 10 |
Consumer has AT but not cached in the producer | 32,627.304 | 2 | Private content request with AT, Is-Consumer-Authenticated | 2 | Is-Consumer-Authenticated, private content | 4 |
Cached AT in the producer | 13,631.168 | 1 | Private content request with AT | 1 | Private content | 2 |
Scenario | Number of Packets | |
---|---|---|
Baseline | 5070.941 | 1 (Public content in Data packet) |
Private content for first time | 24,524.307 | 2 (1 ‘Is-Consumer-Authenticated’ Interest packet 1 private content in Data packet) |
Private content when AT is cached | 5386.789 | 1 (private content in Data packet) |
Token Generation Duration (μs) | Token Encryption Duration (μs) | |
---|---|---|
2.315 | 2603.133 | 1720.810 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 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 (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Aldaoud, M.; Al-Abri, D.; Kausar, F.; Awadalla, M. NDNOTA: NDN One-Time Authentication. Information 2024, 15, 289. https://doi.org/10.3390/info15050289
Aldaoud M, Al-Abri D, Kausar F, Awadalla M. NDNOTA: NDN One-Time Authentication. Information. 2024; 15(5):289. https://doi.org/10.3390/info15050289
Chicago/Turabian StyleAldaoud, Manar, Dawood Al-Abri, Firdous Kausar, and Medhat Awadalla. 2024. "NDNOTA: NDN One-Time Authentication" Information 15, no. 5: 289. https://doi.org/10.3390/info15050289
APA StyleAldaoud, M., Al-Abri, D., Kausar, F., & Awadalla, M. (2024). NDNOTA: NDN One-Time Authentication. Information, 15(5), 289. https://doi.org/10.3390/info15050289