Globus Connect Server Administration Guides
  • Quickstart Guide
  • Installation Guide
  • Data Access Admin Guide
  • Domain Guide
  • Domain Migration to gaccess.io
  • Streaming Application Tools
  • Streaming Connection Authentication
  • Streaming Guide
  • HTTPS Access to Collections
  • Identity Mapping Admin Guide
  • Globus OIDC Installation Guide
  • Troubleshooting Guide
  • Command-Line Reference
    • Command summary
    • Audit
      • Load
      • Query
      • Dump
    • Endpoint
      • Setup
      • Show
      • Update
      • Reset Advertised Owner String
      • Set Advertised Owner String
      • Set Owner
      • Set Subscription ID
      • Cleanup
      • Key Convert
      • Domain
      • Role
      • Upgrade
    • OIDC
      • Create
      • Delete
      • Register
      • Show
      • Update
    • Node
      • Create
      • Disable
      • Enable
      • New Secret
      • Setup
      • List
      • Show
      • Update
      • Cleanup
      • Delete
    • Login
    • Session
      • Consent
      • Show
      • Update
    • Whoami
    • Logout
    • Storage Gateway
      • Create
      • List
      • Show
      • Update
      • Delete
    • Stream Gateway
      • Create
      • List
      • Show
      • Update
      • Delete
    • Collection
      • Create
      • List
      • Show
      • Batch Delete
      • Reset Advertised Owner String
      • Set Advertised Owner String
      • Set Owner
      • Set Subscription Admin Verified Collection Property
      • Update
      • Delete
      • Domain
      • Check
      • Role
    • Auth Policy
      • Create
      • List
      • Show
      • Update
      • Delete
    • Sharing Policy
      • Create
      • List
      • Show
      • Delete
    • User Credentials
      • Activescale Create
      • OAuth Create
      • Delete
      • List
      • S3 Create
      • S3 Keys Add
      • S3 Keys Delete
      • S3 Keys Update
    • Self Diagnostic
  • Globus Connect Server Manager API
    • Authorization
    • Versioning
    • Endpoint
    • Roles
    • Nodes
    • Storage Gateways
    • Stream Gateways
    • Collections
    • Lan Secrets
    • User Credentials
    • Domains
    • Sharing Policies
  • API Access for Portals
  • Automated Endpoint Deployment
  • Admin Guide for Sensitive Data
  • Data Access Application Guide
  • Application Migration Guide
  • Change Log
Skip to main content
Globus Docs
  • Getting Started
    Getting Started

    Getting Started and Tutorial docs cover how to perform some activity or provide an introduction to a feature. They are not comprehensive, but help you get started with Globus or with new Globus features.

    • Users
    • Admins
    • Developers
  • Reference
    Reference
    • Service
      • Auth
      • Groups
      • Transfer
      • Timers
      • Flows
      • Compute
      • Search
    • Agents
      • Globus Connect Server
      • GCS CLI
      • Globus Connect Personal
      • Globus Compute
    • SDK
      • Python
      • JS
    • Clients
      • CLI
    • Security and Compliance
      • Product Security
      • Privacy
      • Solutions for Sensitive Data
      • FAQs
  • Solutions & Guides
    Solutions & Guides

    Find practical approaches for leveraging Globus in research environments, integrating with platforms, and building science gateways. Access hands-on guides, integration instructions, and real-world scenarios for advanced usage.

    • Portals/Science Gateways
    • Guides
  • Support
    Support

    Find answers to frequently asked questions, connect with the community by joining our mailing lists, or reach out directly to Globus support.

    • FAQs
    • Mailing Lists
    • Contact Us
    • Check Support Tickets
  • Site Search
  1. Home
  2. Globus Connect Server
  3. v5.4
  4. Streaming Connection Authentication

Globus Streams Authentication

Table of Contents
  • 1. Globus Stream Connections
    • 1.1. WAN Authentication
    • 1.2. LAN Authentication
    • 1.3. Challenge Based Protocol
    • 1.4. LAN Secret Management
  • 2. Additional Reading

1. Globus Stream Connections

When using Globus data streaming, a tunnel is formed from one stream gateway to another. Through that tunnel users open up connections over which data can stream. A connection is presented to the user as a single bidirectional, reliable ordered stream. However under the hood that connection breaks down to 3 underlying TCP connections.

data streaming points 001

The three underlying TCP connections are shown in the diagram with arrows. The connections between the applications and the Globus Connect Server are formed over a LAN. The connection between the two stream access points through the tunnel is formed over wide-area and often the general internet. Each underlying TCP connection leg is authenticated, however encryption is left up to the application.

1.1. WAN Authentication

The arrow through the tunnel (2) in the above diagram represents a single TCP connection that is authenticated using TLS. It uses the same authentication mechanism as Globus file transfer. The TCP connection uses a null cipher and thus is left unencrypted.

1.2. LAN Authentication

In the above diagram arrows connecting applications and Globus Connect (1 and 3) are LAN connections. These are the connections that go directly from the user’s application into the Globus data streaming network overlay. A key design goal of Globus data streaming is to integrate with user applications as seamlessly as possible. Therefore, we want to keep this connection as close to TCP as possible. It is recommended that administrators of a Globus Stream Gateway enable authentication. When enabled on the gateway, all LAN connections are authenticated via a challenge based protocol when the connection is established. However, remember that ultimately it is the responsibility of any application to secure its own connections end-to-end whether using a Globus tunnel to stream data or not.

1.3. Challenge Based Protocol

The authentication protocol is based on a shared secret between the ends of a LAN connection (i.e., between the user’s application and the GCS server). When a connection is formed, the accepting side of the connection generates a random string that it sends across the wire to the connecting side. The connecting side concatenates that string with the secret and calculates the SHA256 of the resulting combined string as an answer to the challenge. The connecting side then generates its own random challenge string. Both the SHA256 answer and the new challenge are then sent to the accepting side. The accepting side validates the answer to its challenge by performing the same string concatenation and SHA256 checksum. If the answer from the connector matches its expected value, then the protocol continues. If not, the acceptor rejects the connection. Now the acceptor must prove to the connector that it too knows the secret, so it responds to the connector’s challenge string with a SHA256 answer as described. The connector validates that answer. If it does not match its expected value, it closes the connection. If it does match, the connection is ready for use by the user and no further protocol is added over this part of the TCP connection.

1.4. LAN Secret Management

LAN secrets are generated by the GCS server. There is one secret per tunnel, and it is only valid for the lifetime of the tunnel.

When a user initializes their environment an API call is made to the GCS server telling it to generate a secret for the specific tunnel ID. The GCS server does so and associates the newly generated secret with the provided tunnel ID. When a connection comes in through a tunnel with that ID, the GCS server knows to use it in the authentication protocol. That secret is then returned to the initialization application and written to a secure file. User applications that use the Globus data streaming tooling will open this file at connection time and read the secret.

2. Additional Reading

Streaming Application Tools

A look under the hood at how our application tools can be used to integrate with your application.

Streaming Guide

An overview of Globus data streaming.

  • Quickstart Guide
  • Installation Guide
  • Data Access Admin Guide
  • Domain Guide
  • Domain Migration to gaccess.io
  • Streaming Application Tools
  • Streaming Connection Authentication
  • Streaming Guide
  • HTTPS Access to Collections
  • Identity Mapping Admin Guide
  • Globus OIDC Installation Guide
  • Troubleshooting Guide
  • Command-Line Reference
    • Command summary
    • Audit
      • Load
      • Query
      • Dump
    • Endpoint
      • Setup
      • Show
      • Update
      • Reset Advertised Owner String
      • Set Advertised Owner String
      • Set Owner
      • Set Subscription ID
      • Cleanup
      • Key Convert
      • Domain
      • Role
      • Upgrade
    • OIDC
      • Create
      • Delete
      • Register
      • Show
      • Update
    • Node
      • Create
      • Disable
      • Enable
      • New Secret
      • Setup
      • List
      • Show
      • Update
      • Cleanup
      • Delete
    • Login
    • Session
      • Consent
      • Show
      • Update
    • Whoami
    • Logout
    • Storage Gateway
      • Create
      • List
      • Show
      • Update
      • Delete
    • Stream Gateway
      • Create
      • List
      • Show
      • Update
      • Delete
    • Collection
      • Create
      • List
      • Show
      • Batch Delete
      • Reset Advertised Owner String
      • Set Advertised Owner String
      • Set Owner
      • Set Subscription Admin Verified Collection Property
      • Update
      • Delete
      • Domain
      • Check
      • Role
    • Auth Policy
      • Create
      • List
      • Show
      • Update
      • Delete
    • Sharing Policy
      • Create
      • List
      • Show
      • Delete
    • User Credentials
      • Activescale Create
      • OAuth Create
      • Delete
      • List
      • S3 Create
      • S3 Keys Add
      • S3 Keys Delete
      • S3 Keys Update
    • Self Diagnostic
  • Globus Connect Server Manager API
    • Authorization
    • Versioning
    • Endpoint
    • Roles
    • Nodes
    • Storage Gateways
    • Stream Gateways
    • Collections
    • Lan Secrets
    • User Credentials
    • Domains
    • Sharing Policies
  • API Access for Portals
  • Automated Endpoint Deployment
  • Admin Guide for Sensitive Data
  • Data Access Application Guide
  • Application Migration Guide
  • Change Log
© 2010- The University of Chicago Legal Privacy Accessibility