SSH Reverse Tunneling for Firewall-Native Device Registration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions for communicating with devices protected by firewalls or Network Address Translation (NAT) require manual configuration, limiting network flexibility and scalability.

Innovation Solution

The system employs a phone-home client and server setup using Secure Shell (SSH) reverse tunnels to establish secure communications, with automatic port management and dynamic port allocation, allowing access to devices behind firewalls or routers without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual configuration is used for VPNs and SSH reverse tunneling, then secure communication with protected devices is achieved, but network flexibility and scalability are limited

Engineering Contradiction:
Improvenetwork flexibilityVSAvoidmanual configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system enables devices to automatically register themselves with the communication manager and establish reverse tunnels without manual configuration. The device autonomously initiates the connection, registers its services, and receives port allocations, eliminating the need for administrators to manually configure each device connection.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The communication manager pre-allocates ports and establishes the framework for reverse tunnels before devices need to communicate. Devices automatically connect to pre-configured endpoints and register with pre-established port mappings, eliminating the need for real-time manual configuration during deployment.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If manual configuration is used for VPNs and SSH reverse tunneling, then secure communication with protected devices is achieved, but scalability is limited

Engineering Contradiction:
ImprovescalabilityVSAvoidconfiguration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Each device automatically performs self-registration with the communication manager, providing its own service information and establishing connections without requiring administrator intervention. This automated self-service approach allows the system to scale to large numbers of devices without proportionally increasing configuration time.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The communication manager maintains pre-configured endpoint information and port allocation mechanisms ready in advance. When devices need to connect, they automatically utilize these pre-established resources, enabling rapid scaling without time-consuming manual setup for each new device.

Inventive Principle:
Principle #10Preliminary action

3Extent of automation

If automatic port management is implemented, then configuration automation is achieved, but port number determination complexity increases

Engineering Contradiction:
Improveconfiguration automationVSAvoidport management
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The communication manager acts as an intermediary between devices and the network, centrally managing port allocation and mapping. Instead of devices complexly managing their own ports, they simply communicate with the communication manager which automatically handles port number assignment, mapping, and coordination, simplifying the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The communication manager pre-establishes port allocation mechanisms and maintains available port pools in advance. When devices register, ports are automatically assigned from pre-prepared pools without requiring complex real-time negotiation or device-side port management logic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9369432B2System and method for secure network communications
Publication Date: 2016.06.14 CALIX INC
  • US9369432B2 patent drawing
  • US9369432B2 patent drawing
  • US9369432B2 patent drawing

AI summary

A system and method for establishing secure communication between a first device and a second device, wherein the first device is behind a firewall. A Secure Shell (SSH) connection is established between the first device and the second device, wherein establishing a connection includes establishing a secured communications tunnel from the first device to the second device via an SSH protocol. The first device is registered with the second device, wherein registering includes sending an SSH protocol REGISTER DEVICE message from the first device to the second device. The REGISTER DEVICE message is acknowledged by the second device, wherein acknowledging includes receiving the REGISTER DEVICE message, determining the client applications to register, determining a separate socket port number to be used as a remote port on the second device for each the registered client applications from the list of one or more client applications running on the first device, and transmitting a REGISTER DEVICE ACK message including the remote port number for each registered client application from the second device to the first device. A reverse port forwarding request is made based on the local port number and the remote port number received from in the REGISTER DEVICE ACK message.