try ai
Popular Science
Edit
Share
Feedback
  • X.509 Certificates

X.509 Certificates

SciencePediaSciencePedia
Key Takeaways
  • An X.509 certificate acts as a digital passport, cryptographically binding an identity to a public key, which is then validated by a trusted Certificate Authority (CA).
  • Trust is verified through a "chain of trust," a hierarchical path from an end-entity certificate up to a self-signed Root CA certificate pre-installed in a device's trust store.
  • The standard's versatility allows it to secure diverse applications, from authenticating medical devices and industrial sensors to managing ephemeral identities in cloud-native service meshes.
  • Certificate extensions like keyUsage and Name Constraints are crucial for enforcing the principle of least privilege and securely delegating issuance authority within large organizations.
  • Effective trust management requires handling the full certificate lifecycle, including time-sensitive validation, seamless rotation, and efficient revocation methods like OCSP Stapling.

Introduction

In a world where digital interactions between unknown machines are the norm—from IoT sensors communicating with the cloud to your browser connecting to a bank—how is trust established? How can a device be certain of the identity of another party in a vast, impersonal network? This fundamental problem of digital identity is solved by a robust framework centered on the X.509 certificate, the universally recognized standard for digital passports. This article demystifies the intricate world of Public Key Infrastructure (PKI) by exploring the foundational concepts that make digital trust possible.

The journey begins in the "Principles and Mechanisms" chapter, where we will dissect the anatomy of an X.509 certificate, from its core binding of a key to an identity to the crucial role of Certificate Authorities. We will explore the elegant "chain of trust" model, the practical implications of time uncertainty, and the mechanisms like name constraints and federation that allow trust to scale across massive, complex organizations. Subsequently, the "Applications and Interdisciplinary Connections" chapter will showcase how these principles are applied in the real world. We will see how X.509 certificates are the bedrock of security in critical domains like healthcare, industrial control systems, and cloud-native computing, and even look ahead to the challenges posed by a post-quantum future. By the end, you will understand not just the mechanics of X.509, but its profound role as the common language of trust in our connected society.

Principles and Mechanisms

In our digital world, interactions often happen between machines that have never met. A sensor in a factory needs to send data to a cloud server, a patient's health monitor to a hospital's information system, or your computer to your bank. How can one machine possibly trust another? How does your browser know it’s really talking to your bank and not an imposter? The answer lies in a beautiful and rigorous system of digital identity, with the ​​X.509 certificate​​ at its heart. Think of it as a digital passport, but one with layers of verifiable proof that are far more robust than any paper document.

The Anatomy of a Digital Identity

At its core, an X.509 certificate is a simple statement: it binds an identity (like a name, www.mybank.com) to a ​​public key​​. This public key is one half of a cryptographic key pair; the other half, the ​​private key​​, is kept secret by the owner. By performing a mathematical operation with the private key (creating a ​​digital signature​​), the owner can prove they possess it. Anyone with the public key can then verify this signature. The certificate, then, is the public declaration that says, "The entity with this name owns this public key."

But a declaration is only as good as the authority behind it. You wouldn't trust a driver's license I printed in my basement. You trust one from the DMV. Similarly, a certificate is signed by an ​​Issuer​​, which is a ​​Certificate Authority (CA)​​. This CA's digital signature acts like the hologram on an ID card, a verifiable seal that attests to the binding of the name to the key. This signature is the first link in what we will soon see is a chain of trust.

A good ID card, however, does more than just state your name. It sets boundaries. Your driver's license allows you to drive a car, but not to practice medicine. An X.509 certificate does the same through special fields called extensions. Two of the most important are keyUsage and extendedKeyUsage. These fields are the "fine print" that specifies exactly what the key is good for.

Imagine an embedded sensor in a power plant. It needs to do two things: securely connect to a gateway using Transport Layer Security (TLS) and verify the authenticity of firmware updates sent to it (a process called code signing). Both of these actions rely on digital signatures. Therefore, the sensor's certificate must have the digitalSignature bit set in its keyUsage extension. But crucially, it should not have bits set for actions it doesn't perform, like keyCertSign (the ability to issue other certificates). This is the ​​principle of least privilege​​ in action: grant only the permissions necessary to perform a function, and no more. The extendedKeyUsage extension gets even more specific, listing the exact application purposes, like id-kp-clientAuth for TLS authentication and id-kp-codeSigning for signing code. A well-designed certificate is a minimalist masterpiece, containing everything it needs and nothing it doesn't.

The Dimension of Time

Identities are not eternal, and neither are certificates. Every certificate has a limited lifespan, defined by a notBefore and notAfter timestamp. This is a crucial security feature. If a private key is ever stolen, the damage is at least contained to the validity period of the certificate. But this simple idea runs into a beautiful complication from the physical world: time is not absolute.

The clock on an embedded device is not a perfect atomic clock. It's a crystal oscillator with tiny imperfections. It drifts. When it syncs with a time server over the network (using a protocol like NTP), there are network delays and uncertainties. The time it holds is only an approximation of "true" time. So, what happens if a device's clock is 10 seconds fast and it receives a brand new certificate that is valid starting... now? The device might wrongly reject it as "not yet valid."

To solve this, secure systems must account for time uncertainty. They model the total possible error by summing the worst-case bounds from all sources: the initial synchronization uncertainty, the oscillator drift over time (ρτ\rho \tauρτ), and even the quantization error of the digital clock readout. This total error, let's call it EmaxE_{\mathrm{max}}Emax​, defines a window of uncertainty around the device's local time. To ensure a valid certificate is never wrongly rejected, a system will add a "grace period" or clock-skew tolerance, δ\deltaδ, to its validation logic. A certificate is accepted if the local time falls within [tnb−δ,tna+δ][t_{\mathrm{nb}} - \delta, t_{\mathrm{na}} + \delta][tnb​−δ,tna​+δ]. The minimal, safest value for δ\deltaδ is precisely EmaxE_{\mathrm{max}}Emax​. This is a wonderful example of where the physics of timekeeping and the logic of cryptography must meet to create a robust, real-world system.

The Chain of Trust

So, a certificate is trustworthy because it's signed by a CA. But this begs the question: who vouches for the CA? This is not a philosophical riddle; it has a concrete and elegant answer. The CA has its own certificate, which is in turn signed by a higher-level CA. This process repeats, forming a ​​chain of certificates​​.

This chain must end somewhere. It terminates at a ​​Root CA​​. A Root CA's certificate is special. It is "self-signed," which doesn't mean it trusts itself in a useless circular argument. It means it is an axiom of trust, a foundational belief of the system. We trust the Root CA because its certificate has been securely pre-installed in our device's operating system or browser in a special place called a ​​trust store​​.

Now we can see the full, beautiful dance of certificate path validation. Imagine a hospital system needs to verify a provenance record stating that "Nurse Alice" signed a medication order at a specific time, tmt_mtm​. To trust this, the system must perform a rigorous sequence of checks:

  1. ​​Signature Verification:​​ Does the signature on the medication order verify with Nurse Alice's public key? This binds the order to her key.
  2. ​​Chain Building:​​ The system follows the chain from Nurse Alice's certificate (the end-entity or EE certificate) to the CA that issued it (e.g., "Hospital Intermediate CA"), and from there to the Root CA ("Hospital Root CA").
  3. ​​Chain Signature Verification:​​ At each step, it verifies the signature. It uses the Intermediate CA's public key to verify the signature on Nurse Alice's certificate. It then uses the Root CA's public key to verify the signature on the Intermediate CA's certificate.
  4. ​​Trust Anchor Check:​​ Does the Root CA's certificate exist in the system's trusted store? If so, the chain is anchored in trust.
  5. ​​Temporal Check:​​ Were all certificates in this chain valid at the time the signature was made, tmt_mtm​? This means checking the notBefore and notAfter dates of every single certificate in the path.
  6. ​​Revocation Check:​​ Has any certificate in the chain been revoked? Keys can be compromised, and CAs must be able to announce that a previously valid certificate is no longer to be trusted. We'll see how this is done shortly.
  7. ​​Constraint Check:​​ Do all certificates in the chain satisfy the required usage and policy constraints? For example, does Nurse Alice's certificate permit digital signatures for provenance records?

Only if every single one of these checks passes does the system conclude that the digital signature is a valid, authentic, and trustworthy assertion from "Nurse Alice." A single failure anywhere in this chain breaks the entire link of trust.

Managing Trust at Scale

This chain of trust is a powerful concept, but how does it scale to systems with millions of devices, or to scenarios where different organizations need to trust each other? The X.509 framework provides elegant mechanisms for this.

Building Fences with Name Constraints

Imagine a large corporation with multiple plants. The corporate Root CA doesn't want to issue every single certificate itself. It wants to delegate this authority. It can issue an intermediate CA certificate to the administrators of "Plant A". But it needs to ensure the Plant A CA can't issue a certificate for a device in "Plant B".

This is accomplished with the ​​Name Constraints​​ extension. When the Root CA issues the certificate for the Plant A CA, it can include a constraint stating that any subsequent certificates issued by this CA must have a name within the OU=PlantA namespace. If the Plant A CA then tries to issue a certificate for a device with the name OU=PlantB, any client attempting to validate that certificate will see the constraint, compare it to the device's name, and reject the certificate. The validation fails because the name is outside the permitted subtree. This extension acts as an unforgeable "fence," allowing for safe delegation of authority within a large organization.

This concept is also crucial for designing robust identity systems for massive fleets of devices. To ensure every device has a unique name and avoid collisions, one can generate an identifier from a cryptographic hash of the device's public key. By choosing a hash with enough bits (e.g., 128 bits), the probability of two devices accidentally getting the same ID becomes negligible, a consequence of the "birthday problem" in probability theory. Name Constraints can then be used to ensure that different CAs only issue certificates for devices within specific, non-overlapping DNS domains (like .dev.domain-a.com), preventing naming conflicts across a global fleet.

Connecting Islands of Trust: Federation

The world is full of separate "islands of trust," each with its own Root CA. A manufacturing plant has its own PKI, and its cloud provider has another. How can a device in the plant securely talk to a service in the cloud? The two trust anchors, RplantR_{\text{plant}}Rplant​ and RcloudR_{\text{cloud}}Rcloud​, don't know each other.

One way is ​​cross-certification​​. The plant's root, RplantR_{\text{plant}}Rplant​, can issue a special certificate to the cloud's intermediate CA, IcloudI_{\text{cloud}}Icloud​. This certificate acts as a bridge. A device in the plant, trusting RplantR_{\text{plant}}Rplant​, can now build a valid path to a cloud service: Cloud Service -> IcloudI_{\text{cloud}}Icloud​ -> RplantR_{\text{plant}}Rplant​. But crucially, this bridge can be very narrow. The cross-certificate issued by RplantR_{\text{plant}}Rplant​ can contain a Name Constraints extension, permitting validation only for services in a specific part of the cloud's namespace, like api.dt.cps.example, and no other.

While direct cross-certification works for two domains, it becomes a nightmare for many. If nnn domains want to interoperate, it would require (n2)\binom{n}{2}(2n​) (which is O(n2)O(n^2)O(n2)) pairwise relationships—a "mesh" of trust that is difficult to manage. A more scalable architecture is the ​​Bridge CA​​. Here, all nnn domains establish a single, constrained trust relationship with a central Bridge CA. This creates a "hub-and-spoke" model with only O(n)O(n)O(n) relationships. The Bridge CA becomes the central point for enforcing policies and name constraints, providing a clean, scalable, and manageable way to federate many distinct islands of trust into a unified, secure ecosystem.

The Living System: A Certificate's Lifecycle

A certificate is not a "fire and forget" document. It is part of a living, dynamic system that must be managed throughout its life.

Revocation: When Trust is Broken

What happens if a device's private key is stolen? The corresponding certificate, though not yet expired, can now be used by an attacker to impersonate the legitimate device. The CA must have a way to publicly declare that this certificate is no longer valid. This is ​​revocation​​.

The classic way to do this was with Certificate Revocation Lists (CRLs), but these can be large and slow to update. The more modern approach is the Online Certificate Status Protocol (OCSP). But this introduces a new problem. If a client has to contact a CA's OCSP responder over the internet during a TLS handshake, the added latency can be disastrous for real-time systems, like an industrial control loop with an 8-millisecond deadline.

The solution is an elegant piece of engineering called ​​OCSP Stapling​​. Instead of the client making the query, the server does it asynchronously. The server periodically fetches a signed, timestamped OCSP response from the CA, proving its certificate is still valid. It then "staples" this response into the TLS handshake for the client to see. This gives the client timely revocation information without adding any network latency to the critical connection path, perfectly balancing the demands of integrity (checking revocation) and availability (meeting deadlines).

The Circle of Life: Rotation without Interruption

Finally, all keys and certificates should be periodically replaced, a process called ​​rotation​​. This limits the time an undiscovered compromise can be exploited. But how do you rotate the credentials for a fleet of 50,000 devices operating 24/7 without causing a massive service outage? A "flag day" where everyone switches at once is a recipe for disaster.

The solution is a carefully choreographed dance of engineering and protocol design:

  1. ​​Overlap:​​ Before the old certificate expires, the device generates a new key pair and obtains a new certificate. For a "grace period," the server is configured to accept both the old and the new certificate for that device.
  2. ​​Test-Before-Commit:​​ The device receives its new certificate and performs a test handshake with the server to ensure it works correctly. Only after a successful test does it switch to using the new credential as its primary one. The old one is gracefully retired.
  3. ​​Staggered Rollout:​​ The entire fleet is divided into small groups, or ​​cohorts​​. The rotation is rolled out to one cohort at a time, staggered over hours or days. This prevents the CA and backend servers from being overwhelmed by a sudden spike in requests.

This methodical process ensures that the vast, complex machinery of a global PKI can be maintained and updated with the precision of a watchmaker, ensuring trust is not just established, but preserved continuously over time. From a single cryptographic binding to a global, living system, X.509 provides the grammar and syntax for the language of digital trust.

Applications and Interdisciplinary Connections

We have journeyed through the intricate machinery of the X.509 standard, exploring the elegant dance of keys, signatures, and certificates that form a chain of trust. One might be tempted to view this as a niche corner of computer science, a complex but contained subject. Nothing could be further from the truth. The principles we have uncovered are not merely theoretical constructs; they are the very sinews that bind our modern digital world together, providing a common language of trust across a staggering diversity of fields.

Like a fundamental law of physics, the concept of a verifiable digital identity appears in the most unexpected places. Now that we understand the mechanism, let's explore its breathtaking applications. We will see how this single idea—binding an identity to a key—secures everything from the beating heart of a hospital to the vast, automated factories of the future, and even prepares us for the coming quantum age.

Securing Our Digital and Physical Health

There is no domain where trust is more critical than in healthcare. Here, a mistake is not merely a bug; it can have profound consequences for human life. It is here that we find some of the most robust and illuminating applications of X.509.

Imagine a modern hospital's imaging department. A CT scanner captures a life-saving image and must send it to the central archive, the Picture Archiving and Communication System (PACS). In the past, this might have occurred over a private, trusted network. Today, that is not enough. We must build security in layers, a "defense-in-depth," and X.509 certificates are central to this philosophy. A firewall might act as the building's main gate, only allowing traffic on the correct port. But once inside, how do we ensure the CT scanner is talking to the real PACS server and not an impostor? And how does the server know it's a legitimate scanner and not a rogue device trying to inject false data?

This is where mutual TLS authentication comes in. Both the scanner and the server present their X.509 certificates, their digital passports. They each verify the other's identity before a single byte of patient data is transmitted. This authenticates the machines. But the story doesn't end there. The certificate proves who the machine is, but not what it is allowed to do. A research workstation might also have a valid certificate to access the network, but it should not be allowed to write new clinical images into the main archive. This final layer of control—authorization—is handled by the application itself, which checks that the authenticated identity is on the list of approved devices for that specific action. This beautiful layering of network, machine, and application trust is a masterclass in security design, all resting on the foundation of a simple certificate.

This principle extends beyond machines to the very tools clinicians use. When a doctor accesses a patient's Electronic Health Record (EHR), we must trust not only the doctor but also the device they are using. Is the workstation secure? Is it running up-to-date antivirus software? Has it been compromised? In a modern zero-trust architecture, access is not granted based on identity alone, but on a holistic assessment of risk. An X.509 certificate, perhaps stored in a tamper-resistant hardware chip like a Trusted Platform Module (TPM), provides the workstation's core identity. But the system also demands a "posture assessment"—a fresh, signed report from the device itself attesting to its health. The EHR system will only grant access if the certificate is valid, the signature is correct, and the device's posture is deemed safe. Here, the X.509 certificate is the anchor point in a dynamic, real-time conversation about trustworthiness.

Building the Industrial Internet

Let us now turn our attention from hospitals to the sprawling world of industrial control systems (ICS) and cyber-physical systems (CPS)—the power grids, water treatment plants, and automated factories that form the backbone of modern civilization. For decades, these systems were isolated, speaking specialized protocols like Modbus or DNP3 that were designed for efficiency, not security. They operated in a world of implicit trust.

The Industrial Internet of Things has shattered that isolation. When a device is connected to a network, it must be prepared to prove who it is and protect what it says. Modern industrial protocols like OPC Unified Architecture (OPC UA) were built with this reality in mind. Unlike its predecessors, OPC UA has security baked into its very core, establishing a "SecureChannel" for all communication. And what is the key to this channel? You guessed it: X.509 certificates. They provide mutual authentication, ensuring a sensor is talking to the correct control system, as well as the cryptographic keys for encrypting the data (confidentiality) and signing it (integrity). X.509 provides the vocabulary for a secure conversation between machines that, for the first time, can no longer take trust for granted.

This concept blossoms in the world of Digital Twins. A digital twin is a living, breathing virtual replica of a physical asset, updated in real-time with data from its physical counterpart. For this to be meaningful, we must have an unshakeable guarantee that the data feeding the twin of "Pump-123" actually came from the real Pump-123. An X.509 certificate acts as a cryptographic birth certificate for the physical device. At the factory, a key pair is generated inside a secure hardware element, and a manufacturer certificate is issued, binding this public key to the device's unique serial number—its immutable identity.

This creates a chain of provenance. But what about attributes that change, like the device's location or function? It would be incredibly clumsy to issue a new identity certificate every time a pump is moved. Instead, the PKI ecosystem provides a more elegant solution: attribute certificates. These are separate, often short-lived certificates that bind authorizations or properties (like "location: Floor 3" or "role: critical-process") to the main identity certificate. This separation of a stable identity from dynamic attributes is a powerful design pattern, enabling flexible and scalable management of tens of thousands of devices in a complex system.

The Anatomy of Trust: From Silicon to Software

We have established trust in the machine's identity. But what about the software running on that machine? A device with a valid certificate could still be compromised by malware, sending malicious commands or false telemetry. To achieve true trustworthiness, we must bind the cryptographic identity of the device to the integrity of its software state. This is the domain of trusted computing.

The process, known as secure boot and remote attestation, is like a carefully choreographed launch sequence. When a device boots, its first piece of code—an immutable Root of Trust—wakes up. Before loading the next stage (say, the bootloader), it measures it by taking a cryptographic hash. It stores this measurement in a special, protected memory location inside a Trusted Platform Module (TPM). The bootloader then does the same for the operating system kernel, which in turn measures its drivers, and so on. This creates an unbroken chain of measurements, a unique fingerprint of the entire software stack.

Now, how does a remote system—like a digital twin orchestrator—verify this? The device can ask its TPM to produce a "quote": a signed statement containing the final measurement values from the PCR registers. Critically, this statement is signed using a special Attestation Key (KAKK_{\mathrm{AK}}KAK​) whose private part never leaves the TPM. The corresponding public key, KAKpubK_{\mathrm{AK}}^{\mathrm{pub}}KAKpub​, is certified by... an X.509 certificate!

This is the linchpin. The remote party verifies the attestation certificate chain, trusting the device's identity. It then uses the public key from that certificate to verify the quote. If the signature is valid, it has a cryptographic guarantee that a specific, identified device has a specific software fingerprint. By comparing this fingerprint to a list of known-good values, the orchestrator can decide whether to trust the device. This remarkable process creates an unbreakable bond from the silicon root of trust all the way to the cloud, with X.509 serving as the vital link between hardware identity and software integrity.

The Cloud-Native World: Identity on Demand

The physical world of devices has a certain permanence. But in the cloud, we enter a world of ephemeral, fleeting existence. Here, applications are built from hundreds of microservices—small, independent processes that are created, scaled, and destroyed in seconds. In such a dynamic environment, how can we possibly establish trust?

The answer is a paradigm shift known as zero-trust networking, enabled by a technology called a service mesh. The core principle is simple: trust nothing, authenticate everything. The network is assumed to be hostile. Every single time one microservice wants to talk to another, it must prove its identity. This would be an impossible burden to place on application developers. Instead, the service mesh automatically deploys a "sidecar proxy" alongside every microservice. This proxy acts as an invisible, hyper-vigilant bodyguard, intercepting all incoming and outgoing network traffic.

When service A wants to talk to service B, their bodyguards first perform a mutual TLS handshake. Each sidecar presents an X.509 certificate to the other, proving its workload's identity. Only if the authentication succeeds is the connection allowed to proceed. These are not the long-lived certificates of physical devices; they are incredibly short-lived, often valid for only a few hours or even minutes. They are minted on-demand by a specialized service identity authority like SPIRE (the SPIFFE Runtime Environment).

This architecture is brilliant for two reasons. First, it is completely transparent to the application developer. Second, it solves the problem of revocation in a dynamic world. With long-lived certificates, if a key is stolen, you must publish its serial number on a Certificate Revocation List (CRL), a process that is slow and cumbersome. With short-lived certificates, who cares? The stolen certificate will expire in a matter of minutes, and the window of exposure is automatically limited. This is a profound shift from a model of revocation to one of expiration. It's a security architecture built for the speed and scale of the modern cloud, and it is entirely powered by the automated issuance and verification of X.509 certificates.

A Spectrum of Trust: The Right Tool for the Job

While the X.509 identity certificate is a powerful and versatile tool, it is not a panacea. The broader PKI ecosystem has evolved a family of specialized instruments for conveying authorization, each suited to a different environment.

  • ​​The Identity Certificate​​: This remains the granite foundation, perfect for establishing a stable, long-lived, cryptographically verifiable identity for a person, device, or service.

  • ​​The Attribute Certificate​​: For high-assurance environments, like an air-gapped industrial plant that only connects to the outside world for monthly maintenance, short-lived tokens are not an option. Here, one can use X.509 Attribute Certificates. These are signed documents that bind specific permissions (e.g., "Operator role for furnace control") to an identity certificate. They can have long validity periods and can be verified entirely offline, relying on pre-distributed Certificate Revocation Lists (CRLs) for revocation.

  • ​​The JSON Web Token (JWT)​​: In the world of high-throughput web APIs, the overhead of PKI path validation is too high for per-request authorization. A JWT is a compact, signed JSON object containing claims about a user's permissions. It is a "bearer token"—possession of the token grants access. Its stateless nature is perfect for scalable cloud services.

  • ​​The CBOR Web Token (CWT)​​: For the most constrained environments, like tiny IoT sensors running on low-power wireless networks, every byte counts. A CWT is the binary, super-compact cousin of a JWT, designed to fit into payloads as small as a few dozen bytes, making it ideal for the extreme edge of the network.

Understanding this spectrum reveals a deeper truth: X.509 provides the anchor of identity, the unforgeable "who," while these other technologies often provide the ephemeral "what," the authorization to perform an action.

Peering into the Future: Trust in a Quantum World

Our journey ends by looking toward a coming revolution. The cryptographic algorithms that underpin today's X.509 certificates, RSA and ECC, are vulnerable to attack by large-scale quantum computers. When that day comes, our entire global trust infrastructure could crumble.

The scientific community is already preparing for this, developing Post-Quantum Cryptography (PQC). The principles of PKI and the structure of an X.509 certificate will likely remain. We will still have public keys, private keys, and signatures. However, the underlying mathematics will be entirely different, based on problems believed to be hard even for quantum computers.

This transition will not be without challenges. The new PQC algorithms, while secure, are a brute force tool compared to the elegant efficiency of ECC. PQC public keys and signatures are much, much larger. A typical post-quantum certificate might be four to eight times larger than its classical counterpart. In a TLS handshake, where a device might present a chain of two or three certificates, this size increase can easily exceed the latency budget of a time-sensitive control system.

This forces us to re-engineer our PKI architectures. We must design flatter hierarchies with shorter certificate chains. We must double down on eliminating online revocation checks like OCSP, as the added network round-trip becomes an unaffordable luxury. The shift to PQC is a stark reminder that security is a constant interplay between mathematical theory and engineering reality.

From the hospital room to the factory floor, from the silicon chip to the ephemeral cloud, and onward into the quantum future, the X.509 certificate has proven to be one of the most fundamental and versatile inventions in the history of computing. It is more than a standard; it is a universal primitive for trust, a simple and beautiful idea that brings order and security to an ever-more-connected world.