Secure VNC Connection via SASL and VeNCrypt Negotiation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Virtual Network Computing (VNC) lacks built-in security mechanisms, such as data encryption, making data streams transmitted over untrusted networks vulnerable to snooping and packet capture.

Innovation Solution

Implementing a method and system for establishing a secure VNC connection through negotiation of encryption schemes and authentication mechanisms using Simple Authentication and Security Layer (SASL) and VeNCrypt, which includes a handshake process for user authentication and encryption, ensuring strong encryption and preventing brute force attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional VNC protocol is used for remote desktop sharing, then ease of operation is improved, but security is worsened due to lack of encryption and authentication mechanisms

Engineering Contradiction:
Improveease of operationVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces SASL (Simple Authentication and Security Layer) as an intermediary mechanism between the VNC client and server. This intermediary layer provides authentication and encryption services without changing the core VNC protocol, thereby maintaining ease of operation while significantly improving security through standardized authentication mechanisms and encrypted data transmission.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If encryption schemes are added to VNC connection, then security is improved, but device complexity is worsened due to additional authentication mechanisms

Engineering Contradiction:
ImprovesecurityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent employs SASL as a universal authentication framework that can handle multiple authentication mechanisms (such as GSSAPI, DIGEST-MD5, PLAIN) through a single standardized interface. This multi-functional approach allows the VNC system to support various security protocols without requiring separate implementation for each mechanism, thereby improving security while minimizing the increase in device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If multiple authentication mechanisms are provided, then adaptability is improved, but device complexity is worsened due to larger mechanism sets

Engineering Contradiction:
ImproveadaptabilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic authentication mechanism selection where the VNC server and client can negotiate and choose from multiple available authentication mechanisms based on their capabilities and security requirements. The system dynamically adapts the authentication process during connection establishment, allowing flexibility in selecting appropriate mechanisms (GSSAPI, DIGEST-MD5, PLAIN) without requiring all mechanisms to be simultaneously active, thus improving adaptability while managing device complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8589683B2Authentication of a secure virtual network computing (VNC) connection
Publication Date: 2013.11.19 RED HAT INC
  • US8589683B2 patent drawing
  • US8589683B2 patent drawing
  • US8589683B2 patent drawing

AI summary

A secure Virtual Network Computing (VNC) connection between a server and a client is authenticated using a series of message exchanges. A server receives a request from a client to establish a VNC connection. If the request indicates that the client supports an encryption scheme, the server provides a first set of mechanisms for a subsequent authentication process. If the request indicates that the client does not support the encryption scheme, the server provides the client a second set of mechanisms for the subsequent authentication process. The second set contains fewer mechanisms than the first set. The client chooses an authentication mechanism from the first set or the second set provided by the server. The server and the client then perform the subsequent authentication process, using the authentication mechanism chosen by the client, with a series of message exchanges.