Zero-Trust Architecture in Java Microservices

Abstract

Securing inter-service communication and data access has become crucial as microservices become the architectural standard in enterprise software development. In dynamic, cloud-native systems, traditional perimeter-based security solutions are no longer adequate. The Zero-Trust Architecture (ZTA) in Java-based microservices is thoroughly examined in this study. We go over the fundamentals of ZTA, look at how it applies to microservices, and offer thorough methods for implementing zero-trust policies with industry-standard frameworks and tools like OAuth 2.0, Istio, and Spring Security. Additionally, a case study showing how ZTA is implemented in a distributed Java microservices application is provided.

International journal of networks and security
Source type: Journals
Years of coverage from 2025
inLibrary
Google Scholar
CC BY f
202-214
27

Downloads

Download data is not yet available.
To share
Sagar Kesarpu. (2025). Zero-Trust Architecture in Java Microservices. International Journal of Networks and Security, 5(01), 202–214. Retrieved from https://www.inlibrary.uz/index.php/ijns/article/view/110609
Crossref
Сrossref
Scopus
Scopus

Abstract

Securing inter-service communication and data access has become crucial as microservices become the architectural standard in enterprise software development. In dynamic, cloud-native systems, traditional perimeter-based security solutions are no longer adequate. The Zero-Trust Architecture (ZTA) in Java-based microservices is thoroughly examined in this study. We go over the fundamentals of ZTA, look at how it applies to microservices, and offer thorough methods for implementing zero-trust policies with industry-standard frameworks and tools like OAuth 2.0, Istio, and Spring Security. Additionally, a case study showing how ZTA is implemented in a distributed Java microservices application is provided.


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

202

INTERNATIONAL JOURNAL OF NETWORKS AND SECURITY (ISSN: 2693-387X)

Volume 05, Issue 01, 2025, pages 202-214

Published Date: - 18-06-2025

Doi: -

https://doi.org/10.55640/ijns-05-01-12


Zero-Trust Architecture in Java Microservices

Sagar Kesarpu

Expert Application Engineer Leading Financial Tech Company Herndon, Virginia

ABSTRACT

Securing inter-service communication and data access has become crucial as microservices become the
architectural standard in enterprise software development. In dynamic, cloud-native systems, traditional
perimeter-based security solutions are no longer adequate. The Zero-Trust Architecture (ZTA) in Java-based
microservices is thoroughly examined in this study. We go over the fundamentals of ZTA, look at how it applies to
microservices, and offer thorough methods for implementing zero-trust policies with industry-standard frameworks
and tools like OAuth 2.0, Istio, and Spring Security. Additionally, a case study showing how ZTA is implemented in a
distributed Java microservices application is provided.

KEYWORDS

Zero-Trust Architecture, Java Microservices, Spring Security, OAuth 2.0, Service Mesh, Istio, Cloud Security, Identity
and Access Management

.

1. INTRODUCTION

Microservices architecture enables enterprises to construct scalable, modular, and independently deployable
components that collaborate to provide intricate business capabilities. This architecture markedly diverges from
conventional monolithic systems, providing multiple advantages like continuous supply, independent scalability,
and fault isolation. This architectural progress presents new security challenges.

In contrast to monoliths, where internal components function within a secure zone, microservices frequently
operate in distributed and dynamic settings, like Kubernetes, cloud platforms, or hybrid infrastructures. This
presents intricate danger avenues, including service impersonation, lateral movement by adversaries, and
unauthorized access to APIs or sensitive information. Conventional perimeter-based security approaches that
depend on firewalls and VPNs are inadequate in this situation, as they presuppose confidence once a user or service
is within the network boundary [1].


Zero-Trust Architecture (ZTA) mitigates these restrictions by embracing a "never trust, always verify" principle [2].
In Zero Trust Architecture (ZTA), trust is not predicated on network location; rather, each request

irrespective of

its source

is rigorously validated, permitted, and encrypted. The fundamental concept is to regard all

communications as potentially adversarial and to implement stringent security protocols at every boundary, both
external and internal.

ZTA can be effectively deployed in Java-based microservices utilizing established libraries and frameworks like


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

203


Spring Security [3], OAuth 2.0 [5], and OpenID Connect [6]. Moreover, the implementation of service meshes such
as Istio [4] facilitates sophisticated traffic management and secure communication between services. This article
examines the systematic use of ZTA principles in Java microservices settings, offering architectural insights and
implementation specifics. We illustrate quantifiable advantages regarding security posture, compliance, and
operational resilience through a real-world case study.

2. Principles of Zero-Trust Architecture

The core principles that govern Zero-Trust Architecture are structured with the intention of removing any implicit
trust that may exist inside the digital systems of an organization. It is imperative that these principles be
meticulously applied throughout all layers of an application, as they serve as the foundation for any ZTA
implementation there may be:

Verify without a doubt: Before granting access to resources, each and every user, device, and application must first
be authenticated and permitted. Not only does this involve confirming the credentials of the user, but it also
involves evaluating contextual attributes like device compliance, geolocation, and access time. This approach is
typically enabled by a number of different methods, including multi-factor authentication (MFA), continuous
session monitoring, and risk-based access decisions.

Consider Using Least Privilege Access: The notion of least necessary rights ought to be followed when it comes to
access control. Only the permissions that are absolutely necessary for users and services to carry out their
responsibilities or functions should be granted to them. RBAC, which stands for role-based access control, ABAC,
which stands for attribute-based access control, and time-limited access tokens are all essential tools for ensuring
that privileges are minimized. The implementation of this can be accomplished in Java microservices by utilizing
either configuration-based rules or Spring Security annotations.

This principle states that systems should be constructed with the presumption that a breach will occur or has
already occurred. It is also known as the "assume breach" principle. This kind of thinking encourages the
compartmentalization of resources, the establishment of stringent access barriers, the maintenance of constant
monitoring, and the quick response mechanisms to incidents. The explosion radius can be minimized and speedy
containment can be achieved by the utilization of techniques such as service segmentation, encryption both while
the data is at rest and while it is in transit, and automated anomaly detection.

Within the context of these fundamental principles, Zero Trust encourages the utilization of analytics and visibility
as the basis for decision-making. The architecture is based on the assumption that dynamic environments exist, in
which workloads, identities, and network topologies are continually shifting. This calls for policy enforcement that
is both adaptable and automated.

For Java microservices in particular, the implementation of these principles necessitates the incorporation of
application-level authentication, fine-grained authorization, encrypted service communication, and observability
tooling in order to detect and respond to threats in a proactive manner. These principles not only protect against
threats from the outside, but they also reduce the risks posed by insiders and configuration drift, both of which
have the potential to jeopardize the integrity of the security system.

3. Java Microservices Landscape

As a result of its resilience, robust ecosystem, and seamless support for DevOps approaches, Java microservices
have successfully emerged as the architecture of choice for modern enterprise systems. In addition to providing
elasticity, fault tolerance, and speedier development cycles, they are perfectly suited for cloud-native development.


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

204

3.1 Frameworks and Runtimes

Spring Boot: This component that has gained widespread use for the purpose of constructing production-grade
microservices that are freestanding and include embedded servers, auto-configuration, and tight integration with
Spring Cloud components.

Micronaut: This framework is renowned for its quick startup time and low memory footprint, making it a perfect
choice for serverless deployments and microservices.

Quarkus: This is a container image optimization tool that supports reactive programming and was developed
specifically for Kubernetes-native Java applications.

3.2 Standard Components in Java Microservices Architecture

API Layer: REST and GraphQL interfaces built with Spring Web, JAX-RS, or GraphQL Java.

Service Registry and Discovery: Eureka or Consul are viable options for dynamic microservice discovery when it
comes to service registry and discovery.

Configuration Management: Centralized configuration may be accomplished through the use of Spring Cloud Config
or HashiCorp Consul for configuration management.

Security Integration: Spring Security is used to facilitate the flow of OAuth 2.0 operations, and Keycloak is integrated
for the management of identity and access.

Service Communication: To communicate with the service, you can use either REST over HTTP or asynchronous
messaging through Kafka or RabbitMQ.

Service Mesh Integration: Istio and Envoy are integrated into the Service Mesh for the purpose of traffic
management, mutual TLS, and measurements.

3.3 DevOps and Observability Stack

CI/CD Pipelines: Jenkins, GitHub Actions, or GitLab CI are examples of continuous integration and continuous
delivery pipelines that may be used to automate builds, tests, and deploys.

Monitoring and Tracing: Micrometers that are integrated with Prometheus and Grafana, Zipkin, or Jaeger for
distributed tracing are used for monitoring and tracing capabilities.

Containerization and Orchestration: Docker is used for packaging, and Kubernetes is used for orchestration, scaling,
and fault tolerance. Containerization and orchestration are two tools that are used.

3.4 Architectural Diagram

The diagram Fig1. that follows is an illustration of a typical Java microservices architecture that includes components
such as service discovery, gateway, centralized security, observability, and service mesh:


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

205


Fig 1. Architectural Schematic Diagram

3.5 Advantages and Security Considerations

Java microservices offer several benefits, including modularity and agility, but they also increase the attack surface.
There is a possibility that every microservice will disclose its own API, settings, and secrets. It is necessary for this
decentralized nature to:


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

206

1. Fine grained access control using JWT and OAuth scopes

2. Secure Service Communication using HTTPS and mTLS

3. API Rate Limiting and throttling

4. Secret Management through vault or sealed Kubernetes secrets

The Java microservices environment is mature and well-supported, which enables enterprises to embrace Zero-
Trust concepts by leveraging established frameworks, infrastructure, and tools. In general, the Java microservices
ecosystem is highly developed.

4. Implementing ZTA in Java Microservices

Implementing Zero-Trust Architecture in Java microservices necessitates a stratified approach that integrates
identity management, secure communications, granular authorization, and observability at various system
touchpoints [1][3][4]. The same is shown in the Fig 2. below

Fig 2. Implementing ZTA

4.1 Identity and Access Management (IAM)

Identity and Access Management (IAM) underpins Zero Trust Architecture (ZTA) by guaranteeing that only
authenticated users and services can access application resources.

- OAuth 2.0 and OpenID Connect (OIDC) offer a standardized framework for the management of authentication
and authorization tokens [5][6].

- Identity providers such as Keycloak, Auth0, or Okta can facilitate the issuance, validation, and introspection of


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

207


access tokens.

- Java microservices, especially those developed with Spring Boot, can utilize Spring Security OAuth2 for token
decoding, user session management, and authorization enforcement.

- Tokens can be scoped to establish role-based or attribute-based access control, enabling services to confer
minimal permissions.

4.2 Authentication and Authorization

Authentication and access control techniques verify the identities of services and users, ensuring they possess the
authorization to execute specific actions.

- Spring Security offers an extensive security framework, enabling method-level protection using annotations like
@PreAuthorize, @Secured, and expression-based regulations.

- Token validation is conducted via filters within the Spring Security chain, which decode JWT tokens and verify
them against anticipated claims (roles, audience, issuer, etc.).

- Dynamic policies can be implemented with OPA (Open Policy Agent) for precise authorization determinations.

4.3 Network-Level Security with Service Mesh

All inter-service communication must be encrypted and authenticated.

- Istio and Linkerd are prevalent service meshes that offer seamless security using sidecar proxies, such as Envoy
[4][7].

- Mutual TLS (mTLS) guarantees the authentication of both the client and the server while ensuring that data is
secured during transmission.

- Services are segregated using namespace policies, with AuthorizationPolicy and PeerAuthentication
implemented at the mesh level.

4.4 Ensuring the Security of APIs and Gateways

- Gateways such as Spring Cloud Gateway or Kong are positioned at the forefront of the system, implementing
authentication and rate restriction policies.

- These gateways can interface with IAM systems for token validation and facilitate regulations including CORS, IP
whitelisting, and abuse mitigation.

- APIs are secured via HTTPS, and sensitive endpoints may be additionally safeguarded by CAPTCHA, multi-factor
authentication (MFA), or access keys.

4.5 Configuration and Secrets Management

- Utilize Spring Cloud Config, HashiCorp Vault, or Kubernetes Secrets to securely store sensitive information (API
keys, database passwords) in an encrypted way [10].


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

208

- Secrets must be safely mounted throughout runtime and rotated at regular intervals.

- Services must not depend solely on environment variables for secret injection; instead, utilize sidecar
containers or volumes with RBAC limitations.

4.6 Observability and Surveillance

Ongoing insight into service interactions is crucial for Zero Trust Architecture (ZTA).

- Micrometer, in conjunction with Prometheus, monitors application-level metrics.

- Jaeger or Zipkin facilitate the tracing of requests between services, allowing for forensic study of security
incidents.

- Logs are aggregated centrally using ELK Stack or Fluentd, with notifications for anomalous activities (e.g., access
denial, token replay).

4.7 Deployment Pipelines and Compliance Protocols


- CI/CD pipelines must incorporate contract testing and can-I-deploy verifications.

- Implement static and dynamic code analysis to identify security issues.

- Utilize policy-as-code instruments to implement regulations on infrastructure, including Terraform policies or
Kubernetes admission controllers.

In summary, the implementation of Zero Trust Architecture in Java microservices necessitates synchronization
across application code, infrastructure, and automation. Organizations may establish a safe, agile, and auditable
microservices environment aligned with Zero-Trust principles by integrating established Java frameworks,
container-native capabilities, and declarative policy enforcement.

5. Case Study: Implementing ZTA in a Retail Platform

This section gives a case study of a mid-sized retail organization implementing Zero-Trust Architecture while
moving from a monolithic system to a microservices-based architecture. The objective was to enhance
deployment agility and customer experience while meeting escalating security and compliance mandates,
specifically with PCI-DSS.

5.1 Context and Challenges

The organization managed a unified Java program that oversaw product catalog, orders, payments, inventories,
and user management. As business requirements escalated, the monolith had protracted release cycles,
constrained scalability, and considerable downtime during updates. Furthermore, the absence of service
segmentation presented security vulnerabilities

any breach may jeopardize the entire application.


Principal challenges encompassed:

- Insufficient granular access control throughout application modules.

- Lack of insight into internal communication dynamics.

- Insufficient auditing and traceability for compliance assessments.


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

209



- Significant blast radius in the occurrence of a security breach.

5.2 Microservices Transformation Strategy

The monolith was restructured into the subsequent microservices based on Spring Boot:

- Catalog Service: Oversees product information management.

- Order Service: Manages order placing and modifications.

- Inventory Service: Monitors product inventory levels.

- Payment Service: Integrates with external payment gateways.

- User Service: Oversees identity and roles management.

Every service was encapsulated using Docker and deployed on a Kubernetes cluster. Services communicated using
REST and asynchronous messaging utilizing Kafka.

5.3 Implementation of Zero-Trust Architecture

Identity and Access Management:


- Implemented Keycloak for centralized authentication and authorization.

- Users authenticated by OIDC; access tokens with role claims were issued.

- Microservices authenticated JWT tokens with Spring Security and constrained endpoints utilizing
@PreAuthorize.

Inter-Service Trust Utilizing Istio:


- Implemented Istio as a service mesh within Kubernetes.

- Activated mutual TLS (mTLS) for all internal service interactions.

- Established detailed AuthorizationPolicy rules in Istio to regulate permitted traffic for each service.

Access to Secure Gateway:


- Configured Spring Cloud Gateway to function as the API ingress.

- Implemented validation of OAuth2 bearer tokens and enforced rate limits.

- Only the gateway had external access; all other services were contained within the mesh.

Observability and Audit:


- Centralized logging with the ELK Stack and Fluent Bit.

- Utilized Prometheus and Grafana to monitor latency, error rates, and token failures.


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

210


- Deployed Jaeger for the distributed tracing of inter-service requests.

Secrets Management:


- Confidential information (e.g., database passwords, JWT signing keys) preserved in HashiCorp Vault.

- Services retrieved secrets upon startup via init containers and Kubernetes RBAC.

Continuous Integration/Continuous Deployment with Policy Enforcement:


- GitLab CI pipelines executed static security scans (SonarQube), contract testing (Pact), and can-i-deploy
verifications.

- Deployment policies formalized using OPA Gatekeeper.

5.4 Quantifiable Impact


- Enhanced security posture: All service traffic is encrypted and authenticated.

- Compliance preparedness: PCI-DSS documentation derived from logs and traces.

- Operational agility: Weekly deployments without any downtime.

- Minimized attack surface: Services segregated by role, function, and policy.

- Identification of anomalies: Immediate notification of token usage and policy infringements.

5.5 Architectural Diagram

The architecture for a retail platform is shown in Fig 3. below

Fig 3. ZTA in Retail Platform


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

211


This case study illustrates the advantages of implementing Zero-Trust Architecture principles in Java
microservices, resulting in enhanced security, compliance, and agility. The retail platform established a robust and
secure cloud-native architecture, adeptly meeting contemporary company requirements, through centralized
IAM, service mesh, API gateways, and observability tools.

6. Challenges and Recommendations

6.1 Prevailing Challenges

Token Overhead and Latency:


- Validating JWT tokens and introspecting tokens among microservices may cause latency.

- Services frequently need to engage external identity providers or store introspection findings to prevent
recurrent delays.

- Improperly implemented caching techniques may result in outdated or insecure authorization statuses.

Intricate Configuration Management:


- Service mesh arrangements, such as Istio's rules, are potent yet intricate to manage.

- Inaccurate mTLS configurations or excessively lenient traffic regulations might disrupt applications or
compromise security.

- Centralized secret management necessitates meticulous design to prevent exposure, particularly during
bootstrapping phases.

Significant Learning Curve for Developers and Operators:


- Teams must acquire knowledge of new ideas, tools, and debugging methodologies pertaining to identity,
policies, observability, and service mesh.

- The implementation of zero-trust necessitates comprehensive documentation, onboarding, and assistance for
developers.

Disjointed Tools and Integration Burden:


- Integrating IAM, observability, service mesh, API gateways, and CI/CD pipelines necessitates considerable initial
investment.

- Interoperability challenges may occur, particularly across diverse language runtimes or external services.

Cultural Resistance and Ambiguity of Ownership:


- Security might be perceived as an impediment to efficiency, particularly in firms unaccustomed to DevSecOps
practices.

- Ambiguous ownership of policies, secrets, and IAM settings may result in enforcement deficiencies or duplicative


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

212

efforts.

6.2 Recommendations for Effective Implementation

Initiate a Pilot Project:


- Implement Zero Trust Architecture principles gradually within a confined scope (e.g., a new service or business
area).

- Confirm observability, token flow, policy enforcement, and secret rotation prior to complete deployment.

Utilize Platform Teams and Blueprints:


- Employ platform engineering to standardize security protocols (e.g., sidecar injection, policy templates).

- Develop reusable CI/CD designs that integrate contract testing, security scanning, and deployment feasibility
assessments.

- Execute Fine-Grained Role-Based Access Control (RBAC) and Attribute-Based Access Control (ABAC):

- Avoid too wide roles; create roles with limited scope and token assertions.

- Employ ABAC rules predicated on contextual metadata (time, IP address, request origin) to mitigate exposure.

Automate Policy Examination and Verification:


- Utilize tools such as OPA Conftest or Rego unit tests to ascertain the accuracy of policies.

- Incorporate policy evaluation into continuous integration checks to avert misconfigurations from being deployed
to production.

Preserve Documentation and Training Initiatives:


- Furnish developers and operations teams with explicit directives regarding token architecture, observability
instruments, and debugging methodologies.

- Preserve architectural schematics, policy frameworks, and usage patterns within an internal knowledge
repository.

Strategy for Continuous Oversight and Evaluation:


- Employ centralized logging and dashboards to oversee denied requests, token failures, and anomalous access
trends.

- Conduct regular security assessments and incident simulations.

6.3 Maturity Model for ZTA in Microservices

Level

Description

Key Characteristics


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

213


0 - Ad Hoc

No structured zero-trust practices

Hardcoded secrets, perimeter-based access, manual
deployment

1 - Basic

Isolated identity and access
controls

JWT in some services, basic HTTPS, minimal logging

2 -
Intermediate

Partial zero-trust policies and
automation

IAM integration, service mesh adopted, some audit logging

3 - Advanced

Comprehensive zero-trust
enforcement

mTLS across services, dynamic policy enforcement,
automated CI/CD gates

4 - Optimized

Zero-trust by design and fully
automated

Context-aware ABAC, real-time threat detection,
continuous compliance

Summary:

The installation of Zero-Trust Architecture in contemporary Java microservices necessitates a

comprehensive and methodical approach, despite its critical protective benefits. By mitigating operational
complexity, providing developer support, and automating policy validation, businesses may surmount these hurdles
and establish a safe, scalable, and reliable application environment.

7. CONCLUSION

Zero-Trust Architecture offers a robust security model for modern Java microservices. Zero-Trust Architecture (ZTA)
signifies a substantial advancement in the security of contemporary Java microservices. It contests traditional
concepts of implicit trust and fixed boundaries, substituting them with dynamic verification, stringent access
constraints, and comprehensive observability. In the age of cloud-native applications, API-driven communication,
and advanced cyber threats, Zero Trust Architecture (ZTA) provides a proactive and comprehensive framework for
risk mitigation and resilience enhancement [1][2].

This study has examined ZTA from a practical perspective, analyzing its concepts, implementation methodologies,
tools, and real-world results. We illustrated the smooth integration of zero-trust principles in Java microservices
utilizing technologies such as Spring Security [3], OAuth 2.0 [5], Istio [4], Keycloak [8], and observability frameworks.
Each element, from identity enforcement and service mesh encryption to gateway-level restrictions and CI/CD
validation, plays a role in establishing an architecture that is inherently secure.

The case study of a retail platform demonstrated that the installation of Zero Trust Architecture (ZTA) resulted in
quantifiable enhancements in operational agility, compliance posture, and breach containment. Furthermore, the
maturity model and checklist function as practical tools for enterprises evaluating their present condition and
strategizing their Zero Trust Architecture (ZTA) progression.

However, implementing Zero Trust Architecture is not a singular endeavor. It necessitates continuous work, cultural
change, and interdisciplinary cooperation. Security must be integrated into the development process, enhanced
through automation, and regulated by ongoing monitoring [6][7].

Ultimately, ZTA facilitates a transition for companies from reactive protection to proactive assurance. By adopting
zero trust, development teams achieve autonomy while maintaining control, security teams obtain visibility without
hindering innovation, and companies acquire the assurance to scale securely in a digital-centric environment.


background image

AMERICAN ACADEMIC PUBLISHER

https://www.academicpublishers.org/journals/index.php/ijns

214


Future research and development may investigate the expansion of ZTA into edge computing, AI-driven policy
orchestration, and the facilitation of asynchronous protocols such as gRPC and Kafka

ensuring the architecture

adapts to the environment it safeguards [9][10].

REFERENCES

1.

NIST Special Publication 800-207, "Zero Trust Architecture," National Institute of Standards and Technology,
2020.

2.

R. Chandramouli, “Zero Trust Architecture Design Principles,” NIST.

3.

Spring Security Reference, https://docs.spring.io/spring-security/

4.

Istio Security Guide, https://istio.io/latest/docs/concepts/security/

5.

OAuth 2.0 Framework, https://datatracker.ietf.org/doc/html/rfc6749

6.

OpenID Connect Core 1.0, https://openid.net/specs/openid-connect-core-1_0.html

7.

“Securing Microservices with Istio and Mutual TLS,” CNCF, 2021.

8.

Keycloak Documentation, https://www.keycloak.org/documentation

9.

GitHub - Java JWT Libraries,

https://github.com/jwtk/jjwt

10.

“Zero Trust Security for Microservices,” InfoQ, https://www.infoq.com/articles/zero

-trust-microservices/

References

NIST Special Publication 800-207, "Zero Trust Architecture," National Institute of Standards and Technology, 2020.

R. Chandramouli, “Zero Trust Architecture Design Principles,” NIST.

Spring Security Reference, https://docs.spring.io/spring-security/

Istio Security Guide, https://istio.io/latest/docs/concepts/security/

OAuth 2.0 Framework, https://datatracker.ietf.org/doc/html/rfc6749

OpenID Connect Core 1.0, https://openid.net/specs/openid-connect-core-1_0.html

“Securing Microservices with Istio and Mutual TLS,” CNCF, 2021.

Keycloak Documentation, https://www.keycloak.org/documentation

GitHub - Java JWT Libraries, https://github.com/jwtk/jjwt

“Zero Trust Security for Microservices,” InfoQ, https://www.infoq.com/articles/zero-trust-microservices/