Skip to main content

Automated and Secure Integration of the OpenID Connect iGov Profile in Mobile Native Applications

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 12515))

Abstract

Electronic identification schemes have been built to simplify citizens access to online public administration services and reduce password fatigue via a single sign-on experience. To provide a precise specification for government and public service domains on how to protect the user’s identity information and activity from unintentional exposure, the OAuth working group together with the OpenID Connect foundation have published the International Government Assurance Profile (iGov) document. As the specification contains high-level concepts and brings together a lot of insights from already published documents to increase the baseline security and structure deployments, it may be unclear or misleading for mobile application developers. This is mainly due to the fact that firstly, they are not usually security experts and secondly, the aforementioned documents are not mostly designed for the native applications that can affect the implementation security based on the differences between the native and web environment. The aforementioned source of uncertainty for inexperienced developers can lead to various threats that can expose user’s resources. To avoid these problems, we demystify the iGov profile for non-security experts by extracting the wealth information from the iGov specifications, and we apply the best current practices for native applications within the iGov profile to conceptualize the flow for native applications. Furthermore, we provide a wizard-based approach to automatically integrate the secure code for the iGov profile in Android native applications.

Partially supported by the innovation activity 19184 “API Assistant” of the Digital Infrastructure action line of the EIT Digital, and by the joint laboratory “DigiMat Lab” between FBK and the Italian National Mint and Printing House (IPZS).

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    In the case of publicly accessible DCR endpoint, requests may be constrained through various techniques (e.g., rate limited) to prevent DoS attacks.

  2. 2.

    https://www.jetbrains.com/idea/.

  3. 3.

    https://github.com/openid/AppAuth-Android.

  4. 4.

    The client authentication method following dynamic client registration is a work in progress.

  5. 5.

    https://github.com/stfbk/mIDAssistant_iGov.

  6. 6.

    The internal review was not published by Google, this information was obtained from a conversation with the main developer of AppAuth SDK.

  7. 7.

    https://github.com/SUPERAndroidAnalyzer/super.

  8. 8.

    https://github.com/MobSF/Mobile-Security-Framework-MobSF.

  9. 9.

    https://www.talos-sec.com.

References

  1. AGID: Linee Guida OpenID connect in SPID (2019). https://docs.italia.it/AgID/documenti-in-consultazione/lg-openidconnect-spid-docs/it/bozza/

  2. AGID: Sistema Pubblico di Identità Digitale (2019). https://www.spid.gov.it/

  3. Cantor, S.: SAML version 2.0 Errata 05, March 18, 2015 (2012)

    Google Scholar 

  4. Denniss, W., Bradley, J.: OAuth 2.0 for Native Apps (RFC8252). Internet Engineering Task Force (IETF) (2017)

    Google Scholar 

  5. Geonovum: Dutch government assurance profile for OAuth 2.0 (2020). https://geonovum.github.io/KP-APIs-OAuthNL/

  6. Google: Android Lint (2016). https://developer.android.com/studio/write/lint

  7. Google: App Link Assistant tool (2017). https://developer.android.com/studio/write/app-link-indexing

  8. Hardt, D.: The OAuth 2.0 Authorization Framework (RFC6749). Internet Engineering Task Force (IETF) (2012)

    Google Scholar 

  9. Internet-Draft: International Government Assurance Profile (iGov) for OAuth 2.0 (2018)

    Google Scholar 

  10. Internet-Draft: International Government Assurance Profile (iGov) for OpenID Connect 1.0 (2018)

    Google Scholar 

  11. Jones, M., Bradley, J., Machulak, M., Hunt, P.: OAuth 2.0 Dynamic Client Registration Protocol (RFC7591). Internet Engineering Task Force (IETF) (2015)

    Google Scholar 

  12. Jones, M.: JSON Web Key (RFC7517). Internet Engineering Task Force (IETF) (2015)

    Google Scholar 

  13. Jones, M., Bradley, J., Sakimura, N.: Json Web Token (RFC7519). Internet Engineering Task Force (IETF) (2015)

    Google Scholar 

  14. Lewis, K.D., Lewis, J.E.: Web single sign-on authentication using SAML. Int. J. Comput. Sci. Issues 2, 41–48 (2009)

    Google Scholar 

  15. Liu, F., Wang, C., Pico, A., Yao, D., Wang, G.: Measuring the insecurity of mobile deep links of Android. In: 26th USENIX Security Symposium (USENIX Security 2017), Vancouver, BC, Canada, August 16–18, 2017, pp. 953–969 (2017)

    Google Scholar 

  16. Liu, X., Liu, J., Wang, W., Zhu, S.: Android single sign-on security: issues, taxonomy and directions. Future Gener. Comput. Syst. 89, 402–420 (2018). https://doi.org/10.1016/j.future.2018.06.049

    Article  Google Scholar 

  17. Lodderstedt, T., Bradley, J., Labunets, A., Fett, D.: OAuth 2.0 security best current practice (draft-ietf-OAuth-security-topics-16). Internet Engineering Task Force (IETF) (2020)

    Google Scholar 

  18. Lodderstedt, T., McGloin, M., Hunt, P.: OAuth 2.0 threat model and security considerations (RFC6819). Internet Engineering Task Force (IETF) (2013)

    Google Scholar 

  19. Lu, L., Li, Z., Wu, Z., Lee, W., Jiang, G.: Chex: statically vetting android apps for component hijacking vulnerabilities. In: Proceedings of the ACM SIGSAG Conference on Computer and Communications Security, CCS 2012, Raleigh, NC, USA, October 16–18, 2012, pp. 229–240 (2012). https://doi.org/10.1145/2382196.2382223

  20. Nguyen, D.C., Wermke, D., Acar, Y., Backes, M., Weir, C., Fahl, S.: A stitch in time: supporting Android developers in writing secure code. In: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security, CCS 2017, Dallas, TX, USA, October 30–November 3, 2017, pp. 1065–1077 (2017). https://doi.org/10.1145/3133956.3133977

  21. NHS: United Kingdom national health service login (2020). https://www.nhs.uk/using-the-nhs/nhs-services/nhs-login/

  22. OIDF: AppAuth Mobile Client SDK (2016). https://github.com/openid/AppAuth-Android

  23. Sakimura, N., Bradley, J., Agarwal, N.: Proof key for code exchange by OAuth public clients (RFC7636). Internet Engineering Task Force (IETF) (2015)

    Google Scholar 

  24. Sakimura, N., Bradley, J., Jones, M., De Medeiros, B., Mortimore, C.: OpenID Connect Core 1.0 incorporating errata set 1. The OpenID Foundation, Specification 335 (2014)

    Google Scholar 

  25. Sharif, A., Carbone, R., Ranise, S., Sciarretta, G.: A wizard-based approach for secure code generation of single sign-on and access delegation solutions for mobile native apps. In: Proceedings of the 16th International Joint Conference on e-Business and Telecommunications, ICETE 2019 - Volume 2: SECRYPT, Prague, Czech Republic, July 26–28, 2019, pp. 268–275 (2019). https://doi.org/10.5220/0007930502680275

  26. Son, S., McKinley, K.S., Shmatikov, V.: RoleCast: finding missing security checks when you do not know what checks are. In: Proceedings of the 26th ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2011, Portland, OR, USA, October 2011, vol. 46, pp. 1069–1084 (2011). https://doi.org/10.1145/2048066.2048146

  27. US General Service Administration: Login.gov (2020). https://login.gov

  28. Wang, H., et al.: Vulnerability assessment of OAuth implementations in Android applications. In: Proceedings of the 31st Annual Computer Security Applications Conference, ACSAC 2015, Los Angles, CA, USA, December 7–11, 2015, pp. 61–70 (2015). https://doi.org/10.1145/2818000.2818024

  29. Westman, R., et al.: Enterprise mission tailored OpenID connect (OIDC) profile. Tech. rep., MITRE (2020)

    Google Scholar 

  30. Xamarin: Xamarin tools for cross platform app development (2015). https://releases.xamarin.com

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amir Sharif .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Sharif, A., Carbone, R., Sciarretta, G., Ranise, S. (2020). Automated and Secure Integration of the OpenID Connect iGov Profile in Mobile Native Applications. In: Saracino, A., Mori, P. (eds) Emerging Technologies for Authorization and Authentication. ETAA 2020. Lecture Notes in Computer Science(), vol 12515. Springer, Cham. https://doi.org/10.1007/978-3-030-64455-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-64455-0_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-64454-3

  • Online ISBN: 978-3-030-64455-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics