METHOD AND SYSTEM FOR A REMOTE CONSOLE FOR SECURE KVM SWITCH

A computing system, a secure peripheral sharing device, a remote console subsystem and a method for operating a remote console over a secure peripheral sharing device is disclosed. The computing system comprising a plurality of hosts; a console comprising at least a keyboard, a mouse and a display; a secure peripheral sharing device; and a remote console subsystem comprising at least another keyboard, another mouse and another display. The secure peripheral sharing device is configured to be connected to the console and the plurality of hosts, the peripheral sharing device is configured to be coupled to the remote console subsystem that is located away from the peripheral sharing device, and the secure peripheral sharing device is configured to connect or couple between either the console or the remote console subsystem and an active host of the plurality of hosts. The peripheral sharing device is configured to switch any one of the plurality of hosts to become the active host. The method receiving requests for open new remote console sessions and upon such request open a remote console session in both the side of the secure peripheral sharing device and the remote console subsystem, and as long as the remote session is active the method performs continuously: receiving video stream from the active host and transferring the video stream to the second display; receiving a keyboard and mouse data from the second keyboard and the second mouse and transferring the keyboard and mouse data to the active host; and upon receiving active host switching commands from a user, switching the active host. The method is receiving requests for close remote console sessions and upon such request close the remote console session and resume working of active host with the console.

FIELD OF THE INVENTION

The present invention, in some embodiments thereof, relates to KVM switches, and more particularly, but not exclusively, to secure KVM switch supporting a remote console.

BACKGROUND OF THE INVENTION

During the corona pandemic many workers started to work from home. In many companies and organization that uses cloud computing and Saas (Software as a Service) the shift to work from home was easy, simply connecting from your home desktop or laptop to the company resources over the Internet. For these organizations who have some software/hardware that are needed to run from the host located in the company premises, a remote terminal software that operate the in-premises computer from remote location over the internet is also a feasible solution. However, workers in organization that need to handle classified data were left without a good solution. Usually, these workers have access from their office to two or more computers, one that is less classified, typically connected to the Internet, and one or more hosts that are connected only to internal, more classified, local area network of the organization. To work efficiently with the plurality of the host, these workers use a secure peripheral sharing device, e.g., KVM switch. Due to security restrictions, working remotely with a remote terminal software is not acceptable option. The objective of the invention is to allow these workers, or users, the ability to securely work from their homes.

SUMMARY OF THE INVENTION

According to aspects of some embodiments of the present invention, a securing method and computing system with remote console operation is provided.

According to an aspect of some embodiments of the present invention there is provided a computing system comprising: a plurality of hosts; a console comprising at least a first keyboard, a first mouse and a first display; a secure peripheral sharing device; and a remote console subsystem comprising at least a second keyboard, a second mouse and a second display, wherein the secure peripheral sharing device is configured to be connected to the console and the plurality of hosts, the peripheral sharing device is configured to be coupled to the remote console subsystem that is located away from the peripheral sharing device, and wherein the secure peripheral sharing device is configured to connect or couple between either the console or the remote console subsystem and an active host of the plurality of hosts, and wherein the peripheral sharing device is configured to switch any one of the plurality of host to become the active host, and wherein a video stream from the active host is transferred to either the first display or the second display, and a keyboard and mouse data is transferred to the active host from either the first keyboard and the first mouse or the second keyboard and the second mouse.

According to an aspect of some embodiments of the present invention there is provided a secure peripheral sharing device comprising: a plurality of ports to be configured to be connected to a plurality of hosts; and a port to be configured to be connected to a console comprising at least a first keyboard, a first mouse and a first display; and a remote console port configured to be coupled to a remote console subsystem comprising at least a second keyboard, a second mouse and a second display, wherein the remote console subsystem is located away from the peripheral sharing device, and wherein the peripheral sharing device is configured to connect or couple between either the console or the remote console subsystem and an active host of the plurality of hosts, and wherein the peripheral sharing device is configured to switch between any one of the plurality of hosts to become the active host.

According to an aspect of some embodiments of the present invention there is provided a remote console subsystem comprising: a port configured to be coupled to a secure peripheral sharing device; and a remote console, wherein, the secure peripheral sharing device is configured to be connected to a plurality of hosts, and to a console comprising at least a first keyboard, a first mouse and a first display, the remote console comprising at least a second keyboard, a second mouse and a second display, the remote console subsystem is located away from the peripheral sharing device, the peripheral sharing device is configured to connect or couple between either the console or the remote console and an active host of the plurality of hosts, and condition upon a switching command from the remote console subsystem, the peripheral sharing device is configured to switch any one of the plurality of hosts to become the active host.

According to some embodiments of the invention, the peripheral device is a secure KVM switch.

According to some embodiments of the invention, at least one peripheral device in the console or the remote console is shared using simultaneous use operation.

According to some embodiments of the invention, at least one peripheral device in the console or the remote console is at least on of or any combination of: a biometric sensor, an identification device, a printer, an audio device, a camera, an external mass storage device, a USB dongle, a phone, and a smartphone.

According to some embodiments of the invention, the connection between the secure peripheral sharing device and the console, and the connection between the remote console subsystem and the remote console is provided by peripheral devices communication protocols, and peripheral devices communication protocols comprises at least one of or any combination of: USB, SPI, I2C, SCSI, FC, IDE, ATA, Firewire, Ethernet, Thunderbolt, InfiniBand, VGA, DVI, HDMI, DisplayPort, Wi-Fi, Bluetooth, and Zigbee.

According to some embodiments of the invention, the coupling between the secure peripheral sharing device and the remote console subsystem is provided by remote console communication protocols, and the remote console communication protocols comprises at least one of or any combination of: Ethernet, SDH, SONET, OTN, FC, InfiniBand, USB, Firewire, Thunderbolt, GSM, CDMA, LTE, 3G, 4G, 5G, TCP/IP, UDP, FTP, HTTP, and SNMP.

According to some embodiments of the invention, the remote console communication protocol transfers video stream, the keyboard and mouse data, and active host selection commands.

According to some embodiments of the invention, the remote console communication protocol further transfers: additional video streams, session control and authentication data, and data of additional peripheral devices.

According to some embodiments of the invention, the communication between the remote console subsystem and the secure peripheral sharing device is encrypted.

According to some embodiments of the invention, the secure peripheral sharing device comprises a security unit that perform at least one or any combination of (a) encrypt data sent to the remote console subsystem, (b) decrypt data received from the remote console subsystem, and (c) authenticate the remote console subsystem.

According to some embodiments of the invention, an authentication procedure is performed between secure peripheral sharing device and remote console subsystem, and the authentication procedure comprises at least one of or any combination of: (a) Hardware ID authentication, (b) biometric authentication, (c) smart card authentication, (d) password authentication, (e) one time password authentication, and (f) multi-factor authentication.

According to some embodiments of the invention, the secure peripheral sharing device communicates with the remote console subsystem using at least one of: (a) Ethernet modem, (b) Wi-Fi modem, and (c) 5G cellular modem.

According to some embodiments of the invention, the paths between peripheral devices and hosts in the system comprises device emulators and host emulators.

According to some embodiments of the invention, the secure peripheral sharing device comprises device emulators and host emulator for peripheral devices.

According to some embodiments of the invention, the remote console subsystem comprises host emulators configured to communicate with device emulators for any one of the peripheral devices of the remote console subsystem.

According to some embodiments of the invention, the video processing between hosts and displays comprises at least one of or any combination of: (a) compression, (b) decompression, (c) packetizing, (d) video format conversion, and (e) display EDID emulation.

According to some embodiments of the invention, the remote console subsystem comprises at least one of: (a) a desktop computer, (b) a laptop computer, (c) a notebook computer, (d) a tablet, (e) a PDA, (f) a smartphone, and (g) a thick, a thin or a zero client.

According to some embodiments of the invention, the remote console subsystem comprises front panel or auxiliary front panel to receive active host selection commands from these panels.

According to some embodiments of the invention, the secure peripheral sharing device comprises of ordinary secure KVM switch and auxiliary remote console adapter.

According to some embodiments of the invention, the secure peripheral sharing device comprises of basic secure KVM switch and add-on adapter, wherein matching form-factor between basic secure KVM switch and add-on adapter is extension form-factor or bay form-factor.

According to some embodiments of the invention, the secure peripheral sharing device or the remote console subsystem comprises anti-tampering circuitries.

According to some embodiments of the invention, the secure peripheral sharing device is configured to receive enable remote console operation mode from control center.

According to some embodiments of the invention, the remote console subsystem comprises a smartphone and remote console accessory.

According to some embodiments of the invention, the secure peripheral sharing device comprises Ethernet switch to aggregate communication from first Ethernet port and remote console communication to a second Ethernet port.

According to an aspect of some embodiments of the present invention there is provided a method for providing a remote console capability to a secure peripheral sharing device using a remote console subsystem, the secure peripheral sharing device comprises: a plurality of ports to be configured to be connected to a plurality of hosts; a port to be configured to be connected to a console comprising at least a first keyboard, a first mouse and a first display; and a remote console port configured to be coupled to a remote console system, the remote console subsystem comprises: a port configured to be coupled to a secure peripheral sharing device; and a remote console comprising at least a second keyboard, a second mouse and a second display, the method comprises the step of: receiving requests for open new remote console sessions and upon such a request, open a remote console session in both the sides of the secure peripheral sharing device and the side of the remote console subsystem, as long as the remote session is active perform continuously in both the sides the steps of: receiving video stream from the active host and transferring the video stream to the second display; receiving a keyboard and mouse data from the second keyboard and the second mouse and transferring the keyboard and mouse data to the active host; and upon receiving active host switching commands from a user, switching the active host, receiving requests for close remote console sessions and upon such request, close the remote console session and resume working of active host with the console.

According to some embodiments of the invention, the secure peripheral sharing device is a secure KVM switch.

According to some embodiments of the invention, at least one peripheral device in the console or the remote console is shared using simultaneous use operation.

According to some embodiments of the invention, at least one peripheral device in the console or the remote console is at least on of or any combination of: a biometric sensor, an identification device, a printer, an audio device, a camera, an external mass storage device, a USB dongle, a phone, and a smartphone.

According to some embodiments of the invention, the connection between the secure peripheral sharing device and the console, and the connection between the remote console subsystem and the remote console is provided by peripheral devices communication protocols, and peripheral devices communication protocols comprises at least one of or any combination of: USB, SPI, I2C, SCSI, FC, IDE, ATA, Firewire, Ethernet, Thunderbolt, InfiniBand, VGA, DVI, HDMI, DisplayPort, Wi-Fi, Bluetooth, and Zigbee.

According to some embodiments of the invention, the coupling between the secure peripheral sharing device and the remote console subsystem is provided by remote console communication protocols, and the remote console communication protocols comprises at least one of or any combination of: Ethernet, SDH, SONET, OTN, FC, InfiniBand, USB, Firewire, Thunderbolt, GSM, CDMA, LTE, 3G, 4G, 5G, TCP/IP, UDP, FTP, HTTP, and SNMP.

According to some embodiments of the invention, the remote console communication protocol transfers video stream, the keyboard and mouse data, and active host selection commands.

According to some embodiments of the invention, the method is further comprising the steps of transferring additional video streams to additional displays in the remote console subsystem, transferring remote console session control data, transferring data from or to additional peripheral devices.

According to some embodiments of the invention, the method is further comprising the steps of encrypting of the communication between the remote console subsystem and the secure peripheral sharing device.

According to some embodiments of the invention, the method is further comprising the steps of authentication between secure peripheral sharing device and remote console subsystem.

According to some embodiments of the invention, the authentication step comprises at least one of or any combination of: (a) Hardware ID authentication, (b) biometric authentication, (c) smart card authentication, (d) password authentication, (e) one time password authentication, and (f) multi-factor authentication.

According to some embodiments of the invention, the steps of transferring data are using at least one of: (a) Ethernet modem, (b) Wi-Fi modem, and (c) 5G cellular modem.

According to some embodiments of the invention, the method is further comprising the steps of emulating host in front of peripheral devices and emulating peripheral devices in front of hosts.

According to some embodiments of the invention, the method is further comprising at least one of or any combination of the steps of: (a) video compression, (b) video decompression, (c) video packetizing, (d) video format conversion, and (e) display EDID emulation.

According to some embodiments of the invention, the remote console subsystem comprises at least one of: (a) a desktop computer, (b) a laptop computer, (c) a notebook computer, (d) a tablet, (e) a PDA, (f) a smartphone, and (g) a thick, a thin or a zero client.

According to some embodiments of the invention, the remote console subsystem comprises front panel or auxiliary front panel to receive active host selection commands from these panels.

According to some embodiments of the invention, the method is further comprising the step of enabling remote console operation mode from control center.

According to an aspect of some embodiment, a computing system having remote desktop capabilities comprising: one or more server-side hosts; one or more client-side hosts comprising a console, the console comprising at least a first keyboard, a first mouse and a first display; and one or more remote desktop isolators, wherein, each of the remote desktop isolator comprises: a client-side desktop isolator layer, an isolator layer, and a server-side desktop isolator layer, the client-side desktop isolator layer is connected to one of the one or more client-side hosts via communication link providing RDP communication services, the server-side desktop isolator layer is connected to the one of the one or more server-side hosts via communication link providing RDP communication services, at least one of the above communicating pairs of server-side host and client-side host that communicate using the RDP protocol with each other exclusively able to communicate using the RDP protocol through one of the one or more remote desktop isolators, and the isolation layer of each one of the one or more remote desktop isolators enforces a data flow of only a raw data information from or to client-side peripheral devices of the console of the client-side hosts in order to reduce the risks of cyber-attacks performed through the RDP protocol.

According to some embodiment of the invention, the computing system wherein the client-side desktop isolator layer comprises a client-side isolator processor runs a client-side remote desktop isolator software.

According to some embodiment of the invention, the computing system, wherein the client-side isolator processor is a host, a circuitry, an FPGA, or a computer which implement at least one of thin, thick, or zero client processing architecture.

According to some embodiment of the invention, wherein the client-side isolator processor is capable of running at least one of (1) Microsoft windows over X86 microprocessor architecture, and (2) Linux operating system over ARM based architecture.

According to some embodiment of the invention, wherein the client-side isolator processor is capable of running client-side remote desktop isolator software comprising at least one of (1) remote desktop server (RDS) from Microsoft (2) freeRDP, (3) rdesktop, (4) LogMeIn, (5) Anydesk, (6) Apple remote desktop, (7) GoToMyPC, (8) XenApp from Citrix, (9) PCanywhere, and (10) xrdb.

According to some embodiment of the invention, wherein the client-side isolator processor comprises a customized version of client-side remote desktop isolator software that is the sole executable software of client-side isolator processor and the software code is stored in a read-only memory whereby hacking the processor with malicious code is less possible.

According to some embodiment of the invention, wherein the client-side isolator layer receives keyboard and mouse (KM) data from client-side remote desktop software and transmit the KM data to server-side remote desktop software through the isolator layer of the remote desktop isolator, and wherein the isolator layer comprises KM unidirectional isolator that enforce unidirectional communication whereby only the KM data can be passed from the client side to the server side.

According to some embodiment of the invention, wherein the server-side isolator layer receives the video data from server-side remote desktop software, the isolator layer comprises video unidirectional isolator that enforce unidirectional transfer of a raw data video stream of the video data, transmit the raw data video stream to client-side remote desktop isolator software whereby only the video signals can be passed from the server side to the client side. According to some embodiment of the invention, wherein the raw data video stream is any one of (a) analog video, (b) VGA, (c) DVI, (d) HDMI, and (e) DisplayPort.

According to some embodiment of the invention, wherein the isolator layer comprises audio unidirectional isolator that enforce audio signals data transfer only from the client-side desktop isolator layer to server-side desktop isolator layer or only from the server-side desktop isolator layer to client-side desktop isolator layer.

According to some embodiment of the invention, wherein the isolator layer comprises video unidirectional isolator that enforce video signals data transfer only from the client-side desktop isolator layer to server-side desktop isolator layer or only from the server-side desktop isolator layer to client-side desktop isolator layer.

According to some embodiment of the invention, wherein the isolator layer comprises isolator elements that filter and enforce unidirectional transfer of only a raw data of the peripheral devices of the console of client-side host from at least one of (a) a microphone, (b) an audio device, (c) a camera, (d) a smart card reader, (e) a biometric sensor, (f) a printer, (g) an external mass storage device, (h) a USB dongle, and (i) a smartphone.

According to some embodiment of the invention, wherein the remote desktop isolator comprises server-side interface that communicate using RDP protocol with server-side host using at least one of (a) a local area network (LAN), (b) an Ethernet, (c) an optical link.

According to some embodiment of the invention, wherein the server-side desktop isolator layer comprises a server-side isolator processor runs a server-side remote desktop isolator software.

According to some embodiment of the invention, wherein the server-side isolator processor is a host, a circuitry, an FPGA, or a computer which implement at least one of thin, thick, or zero client processing architecture.

According to some embodiment of the invention, wherein the client-side isolator processor is capable of running at least one of (1) Microsoft windows over X86 microprocessor architecture, and (2) Linux operating system over ARM based architecture.

According to some embodiment of the invention, wherein the server-side isolator processor is capable of running client-side remote desktop isolator software comprising at least one of (1) remote desktop server (RDS) from Microsoft (2) freeRDP, (3) rdesktop, (4) LogMeIn, (5) Anydesk, (6) Apple remote desktop, (7) GoToMyPC, (8) XenApp from Citrix, (9) PCanywhere, and (10) xrdb.

According to some embodiment of the invention, wherein remote desktop isolator converts video formats between video formats transferred in RDP protocols and video formats transferred between host and displays which are used in the isolator layer.

According to some embodiment of the invention, wherein the server-side desktop isolator layer and the client-side desktop isolator layer are using different RDP protocol.

According to some embodiment of the invention, wherein the console of the client-side host comprises peripheral device for authentication, wherein an RDP session between the client-side host and the remote desktop isolator is not active before completing the authentication of a user by the remote desktop isolator or the server-side host.

According to some embodiment of the invention, wherein the communication between client-side host and the remote desktop isolator is encrypted.

According to some embodiment of the invention, wherein at least a plurality of the one or more remote desktop isolators are implemented by a remote desktop multi-session isolator and at least a plurality of the one or more server-side hosts is implemented by host virtualization machines/farm, and wherein the assignment of client-side host to remote desktop isolator and to server-side host is dynamically assigned or statically assigned.

According to some embodiment of the invention, wherein the remote desktop sessions and user authentication are monitored and managed by management subsystem, and wherein the monitoring and management are either automatic or manual or combined.

According to some embodiment of the invention, wherein at least one of the one or more server-side hosts resides on a private isolated network, the client-side desktop isolator layer is connected to the private isolated layer and the server-side desktop isolator layer is connected to the Internet.

According to some embodiment of the invention, wherein a firewall is deployed between the private isolated network and the Internet, and wherein the firewall blocks the access of remote desktop services so that remote desktop services are only available through the remote desktop isolator.

According to some embodiment of the invention, wherein at least one of the one or more server-side hosts resides on the Internet, the server-side desktop isolator layer is connected to the server-side host through a firewall that restrict the connection to the one or more server-side hosts and only RDP data, and the client-side desktop isolator layer is connected to a local network or the Internet.

Unless otherwise defined, all technical and/or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention pertains. Although methods and circuitries similar or equivalent to those described herein can be used in the practice or testing of embodiments of the invention, exemplary methods and/or circuitries are described below. In case of conflict, the patent specification, including definitions, will control. In addition, the circuitries, methods, and examples are illustrative only and are not intended to be necessarily limiting.

DETAILED DESCRIPTION OF THE INVENTION

Although embodiments of the invention are not limited in this regard, the terms “plurality” and “a plurality” as used herein may include, for example, “multiple” or “two or more”. The terms “plurality” or “a plurality” may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like. The term set when used herein may include one or more items. Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed simultaneously, at the same point in time, or concurrently.

The present invention, in some embodiments thereof, relates to KVM switches, and more particularly, but not exclusively, to secure KVM switch supporting remote console.

The trend of working from home becomes very popular during the coronavirus pandemic and cause difficulties in organizations that need to handle classified data. Typically, in these organizations, workers have two or more host computers at their office's desktop, one that is less classified, typically connected to the Internet, and one or more host computers that are connected to local or internal, more classified, local area networks (LANs) that deployed inside the organization. To work efficiently with the plurality of the host computers, the workers use a secure peripheral sharing device, e.g., secure KVM switch. In the following embodiment and examples, we present an apparatus and method to allow workers, or users, to work with their office's computers from home using a new, modified, upgraded or extended secure peripheral sharing device.

Reference is made first toFIG.1.FIG.1illustrates a typical configuration of a computing system. The system comprises a secure peripheral sharing device20, supports two hosts10and a console50. The secure peripheral sharing device20, in accordance with the invention, also supports a novel port, a remote console port22. The remote console port22is connected using remote console communication protocol35to a Wide Area Network (WAN)40, usually the Internet. The WAN40is connected to a remote console subsystem60. Remote console60resides away or outside the premises of the organization so several security issues need to be taken care for working with this remote console subsystem60, these issues will be discussed later on.

As used herein the term “console” means a collection (a set) of peripheral devices, such as keyboard30K, mouse30M, one or more displays30V and, optionally, other peripheral devices30. Console's50peripheral devices are used by a user to interact with hosts10. The peripheral devices30of console50typically reside on the user's desktop or in a close proximity to the user, e.g., in a single room, single office, or on or more adjacent desks. The console may include a display30V, or a plurality of displays30V. Console devices30may include printers, cameras, microphones, speakers, smart card readers, biometric sensors, identification devices, external mass storage devices, USB dongles, mobile terminals such as smartphones and the like. The console50devices are connected to host10using peripheral devices communication protocols25.

Peripheral devices communication protocols25may be parallel buses, serial buses, Universal Serial Bus (USB), and many other types of communication protocols, such as, SPI, I2C, CAN bus, SCSI, Fiber Channel (FC), IDE, ATA, PCI, PCI-x, IEEE 1394 (Firewire), Ethernet, Thunderbolt, InfiniBand and the like. In some cases, peripheral devices communication protocols25may be used to coupled host10to display30V. Video communication protocol, in this case may be VGA, DVI, HDMI, DisplayPort (DP) or the like. The video communication protocol may include data transfer for “plug and play” experience, e.g., Display Data Channel (DDC).

Peripheral devices communication protocols25may aggregate communication between host10to several peripheral devices30. For example, a single USB 3.0 communication protocol25may be used to connect host10to display30V, keyboard30K and mouse30M.

In an exemplary embodiment of the invention, peripheral devices communication protocols25may be wireless protocols such as Wi-Fi, Bluetooth, Zigbee and the like.

As used herein, the term “remote console subsystem” or alternatively in brief “remote console” means the subsystem that support the remote operation of a collection (a set) of peripheral devices, such as keyboard63K, mouse63M, one or more displays63V and, optionally, other peripheral devices63. Typically, the term “remote console subsystem” is more intended to describe various types of embodiments that include one or more devices that operate together in the remote console location and enable the remote console operation, while “remote console” is more intended to describe the peripheral devices63,63K,63V,63M themselves. However, in some embodiments, full separation between the two terms is not always possible so the terms are used interchangeably and it might be referred both to the peripheral devices as well as to the supporting subsystem around the peripheral devices.

In an exemplary embodiment of the invention, remote console communication protocol35may be Ethernet, optical communication protocols, such as, SDH, SONET, OTN, Fiber Channel (FC), InfiniBand, Universal Serial Bus (USB), IEEE 1394 (Firewire), Thunderbolt, cellular communication protocols, such as, GSM, 3G, 4G, 5G, and the like. Remote console communication protocol35may use network protocols, such as, IP, IPsec, and the like, transport layer protocols, such as TCP/IP, UDP and the like, and application layer protocols, such as, FTP, HTTP, SNMP, and the like. It should be noted that typically remote console communication protocol is multiplexed or running over, communication infrastructure that carry other communication use. For example, if Remote console communication protocol35is IP based, typically some of the packets in the link will be part of remote console communication protocol35while other packets will be part of other applications/protocols.

Peripheral device30may be shared between hosts10by two type of operations: (1) switching the connection to the active host, referred as switching operation, or (2) by simultaneous working with all hosts10, referred as simultaneous use operation. For example, a biometric sensor, such as fingerprint reader peripheral device may keep an authentication session with all hosts so when the active host is changed, i.e., switched, the authentication session is still active, i.e., alive, in all authenticated hosts. The same biometric sensor may be provided with switching operation as well, so that when the user switch to another active host, the authentication session with the previous active host is closed or disconnected, and a new authentication session is initiated or opened with the selected current active host.

Other examples for simultaneous use operations versus switching operations, are given herein for cameras, and speakers. For camera peripheral device, when the camera is open in simultaneous use operation, the camera video stream is split and transferred to all hosts. In switching operation, the video stream is routed, i.e., switched, only to the active host. Sharing may be done with data that are transmitted from the hosts too. For the speakers, simultaneous use operation may be performed by mixing the audio signals from all hosts so regardless of the active host the user can hear simultaneously the audio signals from all the hosts10. In switching operation, only the audio signals from the active host are played to the speakers in console50.

Remote console60, In similar way to console50, may be coupled to either host10through the secure KVM switch20. The sharing of hosts10may be performed by switching operation so that the coupling in any given moment is to the active host or by simultaneous use operation where the coupling is done to a plurality of hosts.

The remote console60comprises the same or similar peripheral devices, such as keyboard63K, mouse63M and one or more display63V. Similarly, remote console60may comprise additional peripheral devices63. The peripheral devices63may be processed by the secure peripheral sharing device20as devices that are shared using simultaneous use operation or shared by switching operation.

The three essential peripherals: keyboard,30K and63K, mouse,30M and63M and display,30V and63V, are usually operated in switching operation mode. The peripheral sharing device that provides the sharing for these three essential peripheral devices, i.e., the switching operation, is known as a KVM switch. For the sake of clarity and brevity this document focuses mainly to the support of a remote console to KVM switch20. Functions, block diagrams, operations, setup and processing of sharing devices and simultaneous use operations that may be supported by remote console version of a more general secure peripheral sharing device20are not in the scope of this document, however the additions and modification that are needed, are apparent to those skilled in the art.

As used herein, the term “peripheral sharing device” means a device that connect a console comprising a set of peripheral devices to a plurality of hosts. Sharing the peripheral device may be provided by switching operation wherein the peripheral devices are connected via a switch to a single active host in any given time, or by simultaneous use operation where the peripheral device works simultaneous with a plurality of hosts.

As used herein, the term “KVM switch” means a device that connect a console comprising a keyboard, a mouse and one or more displays to a plurality of hosts. KVM switch is a specific type of peripheral sharing device where the console comprises a keyboard, a mouse and one or more displays and the sharing of the peripheral device is provided by switching operation. In most cases, the peripheral sharing device comprises a core functionality of a KVM switch.

A secure version of a peripheral sharing device or a KVM switch is a version that provides, among other things, security measures to prevent malicious code reside in one of the hosts (more likely, in the less classified host that is typically connected to the internet) to propagate to the more classified host, and to prevent leakage of data from the more classified host to the less classified host. For example, typical technics that are used in a secure version of a peripheral sharing device or a KVM switch are (1) unidirectional data enforcing devices to allow data flow only in one desired direction that is essentially needed, e.g., keyboard and mouse may be restricted to send data only from the peripheral device to the host, (2) providing emulators that are connected to the peripheral device or the host to mimic the other side while keeping some security measures, and (3) the like.

As used herein, the terms “secure KVM switch” or “secure peripheral sharing device” means KVM switch or peripheral sharing device that uses security measures to protect from cyber-attacks as described hereinabove. For the sake of clarity these elements that are known in the art for KVM switch or peripheral sharing device are no shown or describe in details in the embodiment unless it is closely related to the invention.

From now on, unless specifically mentioned or implicitly derived, when a KVM switch or peripheral sharing device is mentioned, it is related to a secure version of the KVM switch or the peripheral sharing device.

As used herein, the term “connected” may be used to describe a direct connection, such as electrical, or mechanical connection between the things that are connected, without any intermediary components or devices or indirect connection in the same room or same building. In case of electrical connection, the term “connected” may also be used for a connection through cables, connectors, wires, PCB traces, pins, switches, devices or any other element used to establish electric signal connection between the things.

As used herein, the term “coupled” means indirect connection, between the things that are connected via indirect connection, through one or more intermediary cables, components, wireless link or devices and the things are away from each other typically reside in different buildings, or different residential areas.

As used herein, the term “circuitry” means one or more passive and/or active components that are arranged to cooperate with one another to provide a desired one or more functions.

In various embodiments, the mouse may be any type of pointing device, such as, a track ball, a touch pad or the like. In some embodiments, the display may also be referred as the computer monitor, may be any device presenting visual information to the user, including, but not limited to, cathode-ray tube CRT display, Plasma Display, Liquid Crystal Display (LCD), Light-Emitting Diode (LED) display and the like. The computer monitor may come in apparatus form-factor of computer monitor, TV set, head-mounted display, video projector and the like. In some embodiments, the host may also be referred as the host computer means a computer, a workstation, a set-top-box, a server, and the like.

In an exemplary embodiment of the invention, a computing system comprising a plurality of hosts; a console50comprising at least a first keyboard30K, a first mouse30M and a first display30V; a secure peripheral sharing device20; and a remote console subsystem comprising at least a second keyboard63K, a second mouse63M and a second display63V. The secure peripheral sharing device20is configured to be connected to the console50and the plurality of hosts10, the peripheral sharing device is configured to be coupled to the remote console subsystem60that is located away from the peripheral sharing device. The secure peripheral sharing device20is configured to connect or couple between either the console50or the remote console subsystem60and an active host of the plurality of hosts10. The secure peripheral sharing device20is configured to switch any one of the plurality of hosts10to become the active host. The video stream from the active host is transferred to either the first display30V or the second display63V, and a keyboard and mouse data is transferred to the active host from either the first keyboard30K and the first mouse30M or the second keyboard63K and the second mouse63M.

Reference is made now toFIG.2.FIG.2illustrates a more detailed view of the computing system with an internal block diagram of an exemplary embodiment of the secure peripheral sharing device, e.g., the secure KVM switch20. Secure KVM switch20is connected to two hosts10aand10band to a display30V, a keyboard30K and a mouse30M. In addition, secure KVM switch20is coupled to a remote console60, via Ethernet type remote console port226.

Display30V is connected via protocol25vto a video unit212. Video unit212may transmit video to display30V via connection214. The video stream may be originated from hosts10aand10band transferred using video protocol25v, e.g., HDMI. The two video sources from hosts10aand10bare received by video unit212via two video connections216. In addition, video unit212may transmit the video stream to display63V in remote console60via connection218. Connection218may use different video format and video protocols, and video unit212may convert the video to the desired video protocol. In an exemplary embodiment of the invention, connection218carries a compressed video stream protocol. The command to control which one of the video sources, either from hosts10aor from10b, and to which console,50or60to transmit the video stream, is provided from controller220using command lines234.

The keyboard30K and the mouse30M of console50are connected via connection lines203and204using USB peripheral device communication protocol25uto KM unit202. KM unit202aggregates keyboard and mouse data communication to a single composite USB device and sends the data via connection line206using USB peripheral device communication protocol25uto either host10aor host10b. In addition, keyboard and mouse data can be received by KM unit202from remote console60via line208. The command to control from which keyboard and mouse the keyboard and mouse data is transmitted, either console50or remote console60, and to which host, either host10aor host10b, the keyboard and mouse data, is provided from controller220using command lines232.

To support operating with remote console60, secure KVM switch20comprises a mux unit222. Mux unit222combines all data communication that need to be communicated between remote console60and secure KVM switch20to a single bidirectional data stream. The data stream contains at least the video stream from either one of the hosts10aor10b, the keyboard and mouse data from remote console60, and a host selection commands from remote console60. The host selection commands are transferred from mux222to controller220via lines236. Upon receiving the host selection commands, controller220set KM unit202and video unit212via lines232and234respectively. In addition, data, such as, data from other peripheral devices, such as biometric sensors, identification device in remote console60, printing data from an active host to a printer peripheral device in the remote console60, admirative data between remote console client60and secure KVM switch20, and the like, may be provided through the mux unit222.

Controller220communicate with user interface (UI)228via lines236. User interface may be push buttons to select the active host locally, active host indicators, key to enable remote console operation, as well as, other peripheral sharing device controlling, setting and indications that are controlled or monitored by the user.

Mux unit222is connected to security unit224. Security unit224is responsible of all issues, actions and functions that are needed to provide the security and cyber-security features that enable secure remote working with secure KVM switch20, and through the secure KVM switch20with the hosts, in general, and with the classified one or more hosts, in particular. To allow secure operation, security unit224comprises cryptographic unit. The cryptographic unit assure that the data over remote console communication protocol35will be encrypted with strong encryption that is excepted by the operating organization security policy. The encryption unit encrypts data transmitted to the remote console60and decrypts the data received from the remote console60. Security unit224may authenticate the remote console60to the secure KVM switch20.

In an exemplary embodiment of the invention, security unit224may, additionally or alternatively, authenticate the user himself using biometric means, temporarily password generation dongles, passwords, or the like. Additionally, or alternatively, authentication may be performed directly with the active host.

The bidirectional data stream of security unit224is connected to remote console protocol35. In this exemplary embodiment, the remote console port is Ethernet port226and the remote console protocol is Ethernet protocol. The Ethernet cable35eis connecting between Ethernet port226and Ethernet port72, which is located in on the office's wall70.

The Ethernet port72is connected to the organization's local network74, that in turn, connected to a firewall76, which is connected to the Internet40. On the remote location the user operates with the remote console subsystem60that is connected to the Internet40via another, independent, remote console communication protocol35.

Reference is now made toFIG.3.FIG.3is a simplified block diagram of KM unit202. KM unit202comprises two USB data stream switches2022and2023, host emulator2021, two unidirectional enforcing elements2024, and two device emulator2025. The communication with keyboard30K and mouse30M is performed by the host emulator which behave as a host in front of keyboard30K and mouse30M and send the relevant data, the combined keyboard and mouse data, to switch2022. When switch2022is passing through the host emulator2021data, this data will be targeted to the one of the two device emulators2025. The path of the keyboard and mouse data pass through the unidirectional data flow enforcing elements2024to ensure that no data can be leaked from the active host to other hosts or to the secure KVM switch elements. The device emulators2025acts as a keyboard and mouse in front of the host and ensure continuous and smooth operation of the keyboard and mouse even when the host is not the active host, i.e., switch2023pass the keyboard and mouse data to the other host. In addition, KM unit202may receive a keyboard and mouse data from remote console subsystem60through connection208. Conditioned upon proper command from the secure KVM switch controller220, shown inFIG.2and provided via connection232, this keyboard and mouse data is transferred to one of the two device emulators2025through switches2022,2023, and unidirectional data flow enforcing element2024.

Reference is now made toFIG.4.FIG.4is a simplified block diagram of video unit212. Video unit212comprises two video data stream switches2122and2123, two unidirectional data flow enforcing elements2124, and video processor2121. Switch2123transfers the video stream coming from the active host, either10aor10b, to switch2122. Switch2122determines the direction that the video stream will be routed, either to display30V in console50or to remote console subsystem60. Optionally, if the video is routed to the remote console subsystem60, the video may be converted to different video format by video processor2121. The video stream may also be compressed and/or packetized to be in suitable format for transmission over remote console communication protocol35.

The video stream data path passes through the unidirectional data flow enforcing element2124to ensure that no data can be leaked from the non-active host to other hosts or from the secure KVM switch elements. Conditioned upon proper command from the secure KVM switch controller220, shown inFIG.2and provided via connection234, the video stream from the active host is transferred to one of the two consoles, either50or60, through video stream switches2122,2123.

In an exemplary embodiment of the invention, video unit212further comprises secure circuitries to provide secure plug and play operation. These circuitries may include DDC or EDID data stored in non-volatile memories in front of hosts10and may initiate a preliminary stage of reading the DDC or EDID data from display30V and then storing the data to the non-volatile memories. Optionally, DDC or EDID data may be read from the display63V of remote console60at remote console session initiation and storing this data to the non-volatile memories. Alternatively, the video unit212set the DDC or EDID data in the non-volatile memories with default video format and video unit212or remote console subsystem60converts the video stream to a video stream format supported by display63V.

Focusing the attention now to the remote console side details. Reference is now made toFIG.5.FIG.5is a simplified block diagram of the remote console side in accordance to an exemplary embodiment of the present invention. The bidirectional data stream between the remote console60and the secure peripheral sharing device, e.g., the secure KVM switch20, is carried by remote console communication protocol35connected to a wide area network, e.g., the Internet40. The remote console communication protocol35is connected to a home router62. Home router62may provide communication services to other devices at the remote console location, e.g., a desktop home computer, by using wired remote console communication protocols65e, such as, Ethernet, and/or by using wireless remote console communication protocols65w, such as, Wi-Fi.

As used herein, the term “home router” means any apparatus that provides communication services to connects a home, or in general a location, to a wide area network (WAN), such as, the Internet. The home router may be referred also as, a modem, an access point, a router, a wireless router, a hub, a switch, a gateway, and the like, depend on the home router architecture, the communication protocol, and other (auxiliary) functions.

To enable the remote KVM console operation, the remote console subsystem60comprises a remote KVM console controller64. The remote KVM console controller64communicates with the secure KVM switch20in the KVM switch side through the home router62. Additionally or alternatively, remote KVM console controller64may have the ability to connect directly to the Internet. For example, remote KVM console controller64may comprise a cellular modem to connect the internet using a cellular network.

Remote KVM console controller64is connected to a client66using remote console communication protocols65u, e.g., USB. Client66may be a desktop or laptop computer used for local, i.e., not remote, uses, such as, reading or writing documents. Client66may be connected directly to home router62, for example, to browse the internet. Client66may also be a thin client or a zero client which are used only to connect to remote computing services. Client66may be integrated with remote KVM console controller64to become a single integrated device. Client66may be connected to a keyboard63K, mouse63M and display63V. In some embodiments, e.g., wherein client66is a laptop device, the keyboard, the pointing device, e.g., a mouse, and the display are integrated in the client66(the laptop). In general, client66may run software applications, and in specific, client66may run a software application that performs the functions needed to provide the user the remote console services and functionality.

This software application, refer also as the remote KVM console application, performs at least the functions of: receives the video stream from remote KVM console controller64and send it to display63V, receive the data from keyboard63K and mouse63M and send it to the remote KVM console controller64.

In this exemplary embodiment, remote KVM console controller64is also responsible for all types of security management and enforcement of the remote console subsystem60, including cryptography, authentication, and the like.

client66may perform many kinds of operations including controlling devices and interacting with the user as needed to provide the remote access to the active host running on the KVM switch side of the system. One such important operation is to select remotely the active host. This can be done by software user interface means, such as, presenting a menu on the display or by axillary device comprises push button keys to select the active host. Such a device is referred as Axiality Front Panel (AFP)630. The AFP630may be connected or integrated to client66. Optionally, AFP630may be connected to remote KVM console controller64.

A typical home environment with remote console subsystem60is illustrated next.

Reference is now made toFIG.6.FIG.6is an isometrical view of a user's desk comprising the remote console side of the system in accordance with an exemplary embodiment of the present invention. Client66is a typical desktop personal computer (PC) connected to a keyboard63K, a mouse63K and a display63V. The computing environment may have other peripheral devices, such as, speakers (shown in the figure), mic, cam, printer, and the like, (not shown in the figure). On the desk, there is also a home router62connected to the Internet. The home router62may provide access to the Internet for client66as well as other home devices, such as the user's cellular phone, using Wi-Fi. The home router62is also connected to remote KVM console controller64via protocols65w(e.g., Wi-Fi) or65e(e.g., Ethernet cable). Remote KVM console controller64is connected to client66via protocol65u, e.g., USB. Remote KVM console controller64is also connected to AFP630via protocol65s. Protocol65smay be USB, RS232, SPI or the like. AFP630may be located, as shown in the figure, on top of display63V, allowing the user of the remote console to easily access and switch the active host,10aor10b, by a single keypress on one of the buttons of AFP630. As mentioned before, this embodiment configuration is only one possible alternative and many variations of client66form-factor, and integration or separations between devices62,64,66and630are possible in accordance with the present invention.

Reference is now made toFIG.7.FIG.7is a simplified block diagram of another embodiment of remote console side. In this embodiment, remote KVM controller64, client66, and AFP630, where integrated into a single remote console client600apparatus, that provides a full solution for remote access to the secure peripheral sharing device, e.g., secure KVM switch20.

The remote console subsystem60comprises remote console client600, the remote console's peripheral devices63,63K,63V,63M, and, optionally, also the home router62. Cellular AP, shown as well in the figure, may be considered as part of the remote console subsystem60but preferably is considered part of the communication infrastructure between the remote console side and the KVM switch side.

Remote console client600may connect to the Internet40through, already deployed, home router62via wired65eor wireless65wcommunication protocol or directly via a cellular communication protocol65c, e.g., 3G, 4G or 5G cellular standard, using built-in cellular modem620. Cellular modem620may be connected to the Internet40through a cellular infrastructure, e.g., cellular access point (AP) or cellular base station (BS) deployed as a public infrastructure in proximity to the remote console location, e.g., on one of the rooftops of the buildings in the home's neighborhood. In the case where remote console client600is connected to the Internet40through home router62, the communication services are provided by build-in communication modem610. In any case, the data of remote console communication protocol35pass through the security/cryptographic unit640to provide the mandatory encryption/decryption and the optional authentication with the remote secure KVM switch20. Remote console client600comprises a remote console processor660to perform all necessary tasks to provide the user the ability to work remotely with the active host connected to the remote secure KVM switch20. Remote console client600may be a thin-client or a zero-client running over a low performance, reduced cost, micro-controller or even non-programmable hardware such as ASIC or FPGA. Alternatively, remote console client600may be a full capability computing device that can provide, in addition to remote console services to the KVM switch side, some local computing, data processing, gaming, and the like services. Remote console client600may be configured to be connected to a keyboard63K. Additionally or alternatively, remote console client600may have integrated text entry, i.e., keyboard, capabilities. For example, remote console client600may have built-in mechanical keyboard, like in a laptop computer, or touch screen keyboard in the case where remote console client600is provided by a tablet form-factor.

Remote console client600may be configured to be connected to a mouse63M or any other type of pointing device. Additionally or alternatively, remote console client600may have integrated pointing device. For example, remote console client600may have built-in touch pad for pointing, like in a laptop computer, or touch screen where the finger touch provides the pointing capabilities, in the case where remote console client600is provided by a tablet form-factor.

Remote console client600may be configured to be connected to a display63V. Additionally or alternatively, remote console client600may have integrated display. For example, remote console client600may have built-in display, like in a laptop computer, or touch screen display in the case remote console client600is provided by a tablet form-factor.

The remote console processor660receives the video stream from security/cryptographic unit640and send the video stream in the proper format to the display. Optionally, remote console processor660performs video processing on the video stream. The video processing may be decoding, decompression, format adaptation and the like. Remote console processor660may read the DDC or EDID of display63V and send it to the secure KVM switch.

Remote console processor660may receive the data from keyboard63K and mouse63M and send it to the security/cryptographic unit640. Optionally, remote console processor660may comprise host emulator to emulate a host in front of the peripheral devices such as keyboard, mouse, display or any other peripheral devices. Typically, such a host emulator communicates with a matching device emulator in front of the host in the KVM switch side.

Security/cryptographic unit640is responsible for of security functions of the remote console client600. Remote console client600may have anti-tampering unit650, optionally battery operated, so that any attempt to open the remote console client600enclosure will make the device600non-functioning as well as erase all sensitive data including the cryptographic keys, firmware, as well as any other sensitive data reside in remote console client600.

To provide trusted authentication, remote console client600may comprise biometric sensor670to authenticate not only the specific device600but also the user, i.e., the identity of the remote console operator. Biometric sensor670may be fingerprint reader, eye iris reader, face recognition sensor, or the like. Additionally or alternatively, instead of biometric sensor, other authentication means maybe used. For example, an identification card reader, e.g., CAC reader, smart card, smart dongle, one time password generator, and the like, may be used.

To select the active host, remote console client600may comprise front panel (FP)632. FP632may comprise push buttons on the front side of the enclosure of remote console client600. Additionally or alternatively, active host selection may be done by other means such as a menu over display63V, shortcuts assigned to the keyboard63K, mouse63M gestures, and the like.

Remote console client600may be configured to be connected to an auxiliary peripheral device63via any type of peripheral devices communication protocols25. Auxiliary peripheral device63may be a printer, a camera, a microphone, speakers, a smart card reader, a biometric sensor, an identification device, an external mass storage device, a USB dongle, a mobile terminal, such as, smartphone, and the like.

The auxiliary peripheral device63may be shared between hosts10by switching the connection to the active host, a.k.a., switching operation, or by simultaneous working with all hosts, a.k.a., simultaneous use operation. For example, smart cards, biometric sensors, cameras, microphones, printers and the like may be shared or switched. The setup and processing of simultaneous use operation is not in the focus of this document so the details on these embodiments are not provided herein, however the needed modifications are apparent to those skilled in the art.

The three essential peripherals: keyboard, mouse and display, are almost always operate in switching mode and the peripheral sharing device (or the KVM switch) that provides the switching operation for these essential peripherals, details are provided as a common baseline to be extended, as needed, with additional peripheral devices.

Reference is now made toFIG.8.FIG.8is a simplified block diagram to yet another embodiment of the remote console side in accordance with some embodiments of the invention. The remote console subsystem60of this embodiment is based on a smartphone662. Smartphone662is coupled with the KVM switch side via a cellular communication protocol65c, e.g., 3G, 4G or 5G cellular standard. The cellular network comprises cellular AP that communicate with smartphone662via cellular communication protocol65cand, in turn, via remote console communication protocol35over the Internet40to the secure KVM switch20.

Smartphone662is connected to cryptographic add-on device664. The cryptographic add-on device may be in the form of a jacket attached to smartphone662. In an exemplary embodiment of the invention, add-on device664further comprises a cellular modem to enable add-on device664communicate directly via cellular communication protocol65cinstead of via smartphone662. Such a configuration is considered more secure than the previous one but both options can be used depended on the security policy of the operating organization.

The video stream coming from the active host in the secure KVM switch side is processed (decompressed and decrypted) by Smartphone662and/or add-on device664and may be presented on the screen of Smartphone662. Mouse may be implemented by capturing finger touches on a screen of smartphone662. Keyboard may be implemented by virtual keyboard on the screen of smartphone662. The mouse and keyboard data encrypted by add-on device664and multiplexed to a multiplexed data carried by remote console communication protocol35. Active host selection may be provided by soft keys on the screen of smartphone662or hardware keys of the smartphone662, e.g., the remote console application may use the volume control keys of the smartphone662to switch the active host. In an exemplary embodiment of the invention, the smartphone is replaced by a tablet.

The above remote console subsystem60configuration enables the user to operate the active host in the secure KVM switch side on the go (i.e., at mobile condition), however, in many cases, such operation is less comfortable. To provide more comfortable operation with smartphone662, a remote console accessory666device may be provided. Remote console accessory666may be connected to smartphone662via remote console communication protocols65u, e.g., USB 3.X. Remote console accessory666is configured to be connected via standard peripheral devices communication protocols25to standard console devices such as display63V, mouse63M and keyboard63K. In an exemplary embodiment of the invention, display is connected via communication protocol25v, e.g., HDMI, and mouse and keyboard via communication protocol25u, e.g., USB.

In addition, remote console accessory666may comprise FP632to enable active host selection.

Remote console communication protocols65umultiplexed the video data stream, after decryption, decompression and, optionally, additional video processing by smartphone662and/or add-on device664, and keyboard, mouse and AFP data from remote console accessory666.

In an exemplary embodiment of the invention, the functions of remote console accessory666are integrated into add-on device664.

The attention is shifted back now to the secure KVM switch side. Reference is now made toFIG.9.FIG.9is a simplified block diagram of another embodiment of the KVM switch side with an ordinary secure KVM switch20aand auxiliary remote console adapter300.

The ordinary secure KVM switch20ais used alone when no remote console services are required. In order to add remote console function to the ordinary secure KVM switch20a, the auxiliary remote console adapter300should be added.

The ordinary secure KVM switch20amay be connected, in the regular fashion, directly to console50via peripheral devices communication protocols25. The connection is performed via one or more ports26. If remote console connection is desired, the auxiliary remote console adapter300is added to the system. In local mode, switch302connect console50to KVM switch20aso that an ordinary KVM switch operation is performed between console50and secure KVM switch20aand auxiliary remote console adapter300is a dumb transparent mediator between port26and console50. To enable remote console operation, a switch for remote console mode in UI304may set to enable this mode. Additionally or alternatively, enable command to the controller in adaptor processing unit306may be provided from dedicated port or organization's local network74. From security reason, in some embodiments this command may only be activated by equipment deployed directly on the internal network74of the organization. In an exemplary embodiment of the invention, there is a control office or control center that can enable and disable remote access for all or some of the peripheral sharing devices of the organization. For such a setting, the user may call the control center for identification, and the control center operator enables the remote connection, optionally, for a limited duration.

As soon as the remote KVM switch console mode is enabled, either the remote console side or the KVM switch side may initiate a remote console connection, referred also as a remote console session. Establishing a session may have several types of authentication steps.

One type of authentication step may involve the identity of hardware devices, referred herein as hardware ID authentication. In hardware ID authentication, a remote console session between only a specific pair of devices may be able to be established. For example, if an employee has auxiliary remote console adapter300with serial number #SN1 in his office, and in his home, a remote console client600with serial number #SN2, then one possible security policy may be to allow only connection between device with #SN1 and device with #SN2. Optionally, there is an IT level equipment or IT personal that can enable remote connection with all or some of the KVM switches in the organization. In an exemplary embodiment of the invention, other type of authentication scheme and other type of authentication may be used. For example, personal authentication with biometric sensor, smart card or any other means of personal authentication may be used.

In an exemplary embodiment of the invention, the authentication process may be two steps authentication or multi-factor authentication or any other type of authentication as defined by the security policy of the operating organization.

After the remote console session is established, adaptor processing unit306switches the connection from local console50to remote console60. This is done by changing switch302state to connect the console port26with adaptor processing unit306. The active host in this remote console mode is seamlessly get in contact with the remote console60. The video stream of the active host is processed by the video unit of adaptor processing unit306, encrypted by security/cryptographic unit308and sent out using one of three communication link options.

The first communication link option is communicating using wired modem312which is connected, for example similar to the configuration described inFIG.2, via Ethernet port72.

The second communication link option, is communicating using wireless modem314. Wireless modem314is connected to wireless access point78using wireless remote console communication protocols35w, such as, Wi-Fi. Wireless access point78is connected to organization's local network74that, in turn, connected to firewall76as in the embodiment described inFIG.2.

The third communication link option is communicating using cellular modem316. Cellular modem316is connected a cellular AP, also in some cellular system referred also as a cellular base station (BS), and from the cellular AP the video stream is carried over the cellular infrastructure to the Internet40.

It should be noted that in the same communication link, the remote console communication protocol35, all other data needed for establishing the remote console session is transported. Obviously, remote console communication protocol35is typically multiplexed with other types of data communication on the same communication infrastructure.

To provide the other facilities of the remote console operation the MUX in adaptor processing unit306takes care of the keyboard and mouse data that are send from remote console subsystem60and after decryption by security/cryptographic unit308, this data is adapted to the proper peripheral devices communication protocol25and is sent via the switch302to port26. Active host10seamlessly continue to work with the keyboard63K and the mouse63M of remote console60instead of with the local console50.

When an active host switching command is received from remote console60to auxiliary remote console adapter300via remote console communication protocol35, the command is detected, separated and interpreted by mux unit of adaptor processing unit306and the controller of adaptor processing unit306. The controller sends the selection command to the KVM switch20avia port28. Port28may be an existing AFP input port of KVM switch20a.

Optionally, since auxiliary remote console adapter300may comprise a military grade cryptographic unit, it is desired to have anti-tampering unit318that erase all keys and sensitive data from auxiliary remote console adapter300. In any attempt to open the auxiliary remote console adapter300enclosure, lines319activate the anti-tampering erase function in security/cryptographic unit308and adaptor processing unit306. Optionally, erase of any or all keys and sensitive data may be provided by user interface304. To eliminate the chance of accidental activation for this function, user interface operations like simultaneous press of several buttons, prolonged presses, sequence of presses, and the like may be used.

In an exemplary embodiment of the invention, user interface304may comprise a push button to restore auxiliary remote console adapter300to its default configuration.

In an exemplary embodiment of the invention, user interface304may comprise a push button to reset auxiliary remote console adapter300.

In an exemplary embodiment of the invention, user interface304may include indications that indicates that remote console mode is enabled, as well as an indication that the auxiliary remote console adapter300is in remote console session.

Reference is now made toFIG.10.FIG.10is a simplified block diagram of another embodiment for implementing the KVM switch side of the system. In the embodiment ofFIG.10the secured KVM switch20ofFIG.2is partitioned to a basic secure KVM switch20band add-on adapter20cthat extend the KVM switch capabilities to support a remote console60. The difference from previous embodiment ofFIG.9is that inFIG.9embodiment ordinary secure KVM switch20awas not designed or had any provisions to support remote console subsystem60while basic secure KVM switch20bwas designed to support remote console subsystem60with add-on adapter20c.

Add-on adapter20cand basic secure KVM switch20bare configured to match each other and have a proper interface, i.e., one or more connectors that match and provide all mechanic and electric connectivity properties that are needed to co-work together. The matching form-factor may be an enclosure extension form-factor of the basic secure KVM switch20bfrom one side of the basic secure KVM switch20benclosure or a bay form-factor, wherein add-on adapter20cfits inside the bay of basic secure KVM switch20b.

Console device30K,30M and30V as well as hosts10aand10bare connected directly to the secure KVM switch20bin similar to the way shown inFIG.2. The KM unit202, the video unit212, UI228, Ethernet type remote console port226, and controller220are also similar to the ones described in secure KVM switch20ofFIG.2and they are configured to have the capabilities needed to connect to a remote console60.

Similar to, mux222and security224of secure KVM switch20shown inFIG.2and to security/cryptographic unit308and adaptor processing unit306of auxiliary remote console adapter300shown inFIG.9, processing unit406of add-on adapter20cprovides all the remote console functions describe in the units specified hereinabove. Similarly, user interface404and anti-tampering418provide similar functions as user interface304and anti-tampering318inFIG.9.

In addition to the functions described hereinabove, Add-on adapter20ccomprises port432that is configured to enable tunnelling of additional information or to securely connect additional devices between the KVM switch side and the remote console side. Furthermore, add-on adapter20ccomprises port442for key management of cryptographic unit of processing unit406.

In a typical office of many organizations, the office wall70comprises only two Ethernet sockets, the first Ethernet socket is for an unclassified (black) network72, and the second Ethernet socket is for a classified (red) network73. Secure KVM switch20binFIG.10support two hosts:10aand10b. The classified host10ais connected directly to Ethernet socket for the classified (red) network73. If we connect host10bto the Ethernet sockets for the unclassified (black) network72, and want to have also a connection to the remote console60we would need another Ethernet socket in the office wall or need to deploy additional Ethernet router in the office. To avoid this additional infrastructure requirement, add-on adapter20ccomprises port422, e.g., Ethernet socket, that is connected to a built-in internal MUX424. MUX424may be Ethernet router, Ethernet switch, hub or any circuitry that aggregate the communication from processing unit406and port422to remote console port226. Remote console port226communicate with the non-classified network of the organization and, in turn, further connected to the Internet40and to remote console60. Having MUX424in Add-on adapter20cenables connecting host10bto port422as shown in the figure, so that host10bmay be connected to the internet while the KVM switch (20band20c) simultaneously may be connected to the remote console60through the same Ethernet communication protocol via the unclassified (black) network72.

Reference is now made toFIG.11.FIG.11is a conceptual simplified flow diagram of the method500implemented by the KVM switch side and remote console side devices. In the Figure, the steps performed in the remote console side are shown in the right side of the figure and the steps performed in the KVM switch side are shown in the left side of the figure. The method starts when in any of the sides a triggered to start remote console session is received. This can be by enabling the remote console mode to the KVM switch, i.e.,20,20a+300,20b+20c, or initiating a remote console session by the user in the console side devices, i.e.,60,64,66,600,660,662,664,666. If the trigger starts in the remote console side, step512triggers step510in the KVM switch side, and vice versa, if the trigger starts in the KVM switch side, step510triggers step512in the remote console side. When all security conditions are met, i.e., the KVM switch is allowed to enter remote console mode, the console side is active and request to work with the KVM switch and all authentication processes are accomplished, remote console session is imitated, the method500progress to steps520,530and540in the KVM switch side and to steps522,532and542in remote console side. Steps520,530and540are running concurrently and in infinite loop as indicated by the circular arrows in the figure. Similarly, steps522,532and542are running concurrently and in infinite loop as well. The execution of these steps is stopped when a request for closing the remote session is received in any of the sides. For example, a closing request may occur in the KVM switch side when the session duration is expired. A closing request may occur in the remote console side when the user of the remote console finish his work on the remote console. Many other events may trigger a session closing request, for example, if a monitoring subsystem suspect a malicious activity or if the console user do not use the console for a predefined period, a remote console session closing request may be triggered.

During active session, step520receives the video stream (or, in general, the one or more video streams, if more than a single display is supported) from the active host, e.g.,10aor10b, via peripheral devices communication protocols25, or in specific, peripheral devices communication protocols25v. For example, peripheral devices communication protocols25vmay be HDMI. To provide lower delay in the transport of the video stream, the video stream may be compressed, optionally sliced to packets, e.g., IP packets, and then encrypted and send to remote console via remote console communication protocol35. This video stream is received by step522and then decrypted, decompressed and adapted to the remote console display format, e.g., back to HDMI, or alternatively converted to DVI. The video stream output of step522is sent to display63V via peripheral devices communication protocols25, or in specific, peripheral devices communication protocols25v.

During active session, step532receives data from keyboard63K and mouse63M or any other text entry devices and pointing devices reside in the remote console side, encrypt this data and multiplexed and send this data via the remote console communication protocol35. In step530this data demultiplexed, decrypt and send in the proper format, e.g., as USB HID device over a USB bus, to the active host.

During active session, step542receives active host switching command initiated using AFP630, FP632or any other means used by the remote console devices, encrypt this data and multiplexed and send this data via the remote console communication protocol35. In step540this data demultiplexed, decrypt and processed by the proper controller in the KVM switch side and then switch the active host as commanded.

In an exemplary embodiment of the invention, method500for providing a remote console subsystem60to a secure peripheral sharing device20is disclosed. The secure peripheral sharing device comprises: a plurality of ports to be configured to be connected to a plurality of hosts10; a port to be configured to be connected to a console50comprising at least a first keyboard30K, a first mouse30M and a first display30V; and a remote console port22configured to be coupled to a remote console subsystem. The remote console subsystem60comprises: a port configured to be coupled to a secure peripheral sharing device20; and a remote console comprising at least a second keyboard63K, a second mouse63M and a second display63V.

The method500comprises the step of:receiving requests for open new remote console sessions and upon such request open a remote console session in both the side of the secure peripheral sharing device and the remote console subsystem (510,512),as long as the remote session is active, continuously perform the steps of:receiving video stream from the active host and transferring the video stream to the second display (520,522)receiving a keyboard and mouse data from the second keyboard and the second mouse and transferring the keyboard and mouse data to the active host (530,532), andupon receiving active host switching commands from a user, switching the active host (540,542),receiving requests for close remote console sessions and upon such request close the remote console session and resume working of active host with the console (550,552).

While this high-level flowchart describes the basic flow of the remote console operation, it would be apparent to those skilled in the art to how to make modifications and additional steps, such as, to support additional peripheral devices in the remote console, to provide additional means of security, to convert formats as needed, to accelerate system latencies, and the like.

The delay between user action on the console and the response might become an issue if the delay in remote console communication protocol35becomes higher than few hundreds of milliseconds. To reduce this latency, several measures may be taken: (a) reducing video bandwidth by lower the video quality, (b) reducing video bandwidth by higher rate of video compression, (c) reducing the latency of processing elements such as video compression, video decompression, encryption/decryption and the like, (d) reducing the latency of communication by reducing the number of communication device in the link, and (e) reducing the latency of communication by having higher quality communication links, higher quality of service (QOS) links, and low latency communication links, for example using 5G cellular network in both the remote console side and the KVM switch side.

In an exemplary embodiment of the invention, other means are used to improve the latency, for example, various technics of processing the mouse data such as to predict its future location, to manipulate click time and the like may be used. In addition, remote console software might be installed in the hosts to provide deeper understanding and processing of the video stream. For example, this software might give priority to the active window, priority to parts in the video frame that are updating text entry information, active area that are affected by mouse hover or mouse clicks, and the like. This software might communicate with a remote console side software via another side channel that is multiplexed on the keyboard and mouse USB connection.

While the above embodiments teach remote console using a KVM device reside in the organization premises, there are many organizations that are not using KVM at offices and their work from home solution is a software-based remote desktop solution that is illustrated inFIG.12.FIG.12is a simplified block diagram of a remote desktop system. System700comprises a plurality of users702working at home, or anywhere out of their offices, using client-side host710. Client host710may be desktop computer, laptop computer, notebook computer, tablet, PDA, smartphone, thick/thin/zero client or any other computing system with UI the user can use for accessing remote host. Client-side host710may have console720for interaction between the user and the host. A typical console for desktop computer may be a keyboard, a mouse (or any other pointing device) and display. In some embodiments, part of the console is integrated into the client-side host710, e.g., the keyboard in a laptop computer. In other examples, the full console is integrated in the client-side host710, e.g., a smartphone comprising a display, a keyboard and a pointing device where all these console devices are integrated into the smartphone and implemented over the touch screen display element. Many hybrid configurations of console720and host710may exist in practice. For example, a docking station may connect to typical desktop environment console devices, such as, a keyboard, a mouse and a desktop display to a smartphone that already comprises integrated console in order to improve the user interface productivity.

Client-side host710comprises client-side remote desktop software730. The client-side remote desktop software730captures the mouse and the keyboard (or in general, the user inputs) data from client-side host710and sends these inputs to a server-side host750. The server-side host750comprises server-side remote desktop software760that receive the user inputs data and use the user input data to control server-side host750as if it was controlled by a user which is operating a local console. The display (or in general the user output) of server-side host750are sent by server-side remote desktop software760, in turn, to the client side.

In an exemplary embodiment of the invention, user input may further comprise audio input (for example from a microphone), video stream (for example, from video camera-cam), other data from console input device (e.g., biometric authentication sensors), and the like

The communication between client-side remote desktop software730and server-side remote desktop software760is provided by a remote desktop protocol (RDP). Many versions of Remote Desktop Protocols exit and they may communicate over many types of communication links740. For example, one of the most prominent remote desktop solutions in the market is Microsoft solution wherein the client-side remote desktop software730is referred as “remote desktop connection” or “terminal services client”, the server-side remote desktop software760is referred as “remote desktop server (RDS)” and the communication protocol is referred as “Remote Desktop Protocol”. Note that the “Microsoft remote desktop protocol” is a specific type of the general term RDP for the protocol and unless specifically mentioned in the document the term remote desktop protocol (RDP) is referred to any protocol for remote desktop solution. For example, RDP may mean, (1) Apple Remote Desktop Protocol (ARD)—by Apple, (2) Independent Computing Architecture (ICA)—by Citrix Systems, (3) Appliance Link Protocol (ALP)—by Sun Microsystems, (4) HP Remote Graphics Software (RGS)—by Hewlett-Packard, (5) Remote Desktop Protocol (RDP)—by Microsoft, and the like.

The RDP protocol may communicate over many variants of communication links740, the most common is IP protocol over Ethernet. Microsoft's RDP is typically run over IP and the server-side remote desktop software760listens on TCP port3389and UDP port3389. Other communication links like optical and wireless communication links may be used as well.

Regarding the remote desktop software730and760, there is also many software available in the market such as freeRDP, rdesktop, LogMeIn, Anydesk, Apple remote desktop, GoToMyPC and XenApp from Citrix, PCanywhere, xrdb, and many more.

It should be mentioned that remote desktop solution provides a good way for cross platform operation so while the server-side remote desktop software760may run for example on Linux, the client-side remote desktop software730may run, for example, on Microsoft Windows. The above listed software may enable to run remotely (and sometimes also locally) software of almost any computing platform using any other computer platform.

Remote desktop solutions are also known as “desktop virtualization”. Remote desktop solutions are usually used in combination with another virtualization concept of virtual machines or hosts farms770. A plurality of virtual hosts780instances may reside inside virtualization machines/farms670sharing the same hardware to create a plurality of virtual host780. Each virtual host780can have a server-side remote desktop software760V that runs an instance of the server-side remote desktop software760.

User702of client-side remote desktop software730may access (and operate) a host750located remotely in his office using a data path that starts from the Internet40, through firewall76that communicate with organization network742(e.g., a local network) and ends in the server-side host750. Similarly, user702may access (and operate) a host located in a computing center on the cloud, i.e., host750that resides in cloud computing center and connected to the internet through cloud computing center network744. Furthermore, user702may access a virtual host instantiates780on a virtualization machines/farm770. Virtual host instantiates780may reside either on the organization network742or the cloud computing center network744.

While this remote desktop solution is very convenient and flexible, such remote desktop solutions are known to have cyber security vulnerabilities, while some can be addressed using software means (such as firewalls, authentication, DMZ zones, and other cyber security tools that may be customized for remote desktop software solution, software based cyber security measures are generally not secure enough to many organizations. Furthermore, in some cases the organization would like to give access to hosts that reside on isolated network, i.e., network that is not connected to the internet for workers at home or on-the-move. A solution for more secure access to such hosts, without using a KVM as disclosed above, is disclosed next.

FIG.13is a conceptual remote desktop solution system800using a remote desktop isolator810. As in previous case, user702may access (and operate) host750located in his office or elsewhere in the organization premises and connected to organization network742. In some embodiment, network742is isolated and not connected to the Internet40. Whenever the organization network is isolated network, i.e., not connected to the Internet40, there is no other way to support remote desktop solution other than using remote desktop isolator810. Remote desktop isolator810is a device that securely bridge between the internet40and organization network742for remote desktop access solution. Remote desktop isolator810is more cyber secure solution and the isolator mission is to allow cyber secure use of remote desktop access to host750.

In an exemplary embodiment of the invention, a firewall76is provided between internet40and organization network742, however, in this case, firewall76may block the access of remote desktop services and if remote desktop services are provided, they will be performed only through remote desktop isolator810. It should be noted that having a firewall reduce the cyber security of the organization and typically such solution would be selected for less classified networks.

Remote desktop isolator810comprises three major zones, or layers: client-side desktop isolator layer820, isolator layer830and server-side desktop isolator layer840. Client-side desktop isolator layer820is connected to the client-side host710via communication link that provide RDP communication services with the client-side remote desktop software. For example, client-side desktop isolator may comprise Ethernet port that is connected to Ethernet network that is connected to the Internet40. Client-side desktop isolator layer820may comprises processor and software (or firmware) that run server-side remote desktop software that act as a remote desktop server proxy for the client-side remote desktop software730that user702interacts with. In an exemplary embodiment of the invention, the RDP communication on the Internet40is protected by encrypted communication tunnels, e.g., a Virtual Private Network (VPN) using SSL, SSH or the like.

server-side desktop isolator layer840is connected to the server-side host750via communication link that provide RDP communication services with the client-side remote desktop software. For example, client-side desktop isolator comprises Ethernet port that is connected to Ethernet network that is part of the organization network742. Server-side desktop isolator layer840may comprise processor and software (or firmware) that run client-side remote desktop software that act as a remote desktop server proxy for the server-side remote desktop software760. In an exemplary embodiment of the invention, the RDP communication over the organization network is protected encrypted communication tunnels e.g., Virtual Private Network (VPN) by using SSL, SSH or the like.

Between client-side desktop isolator layer820and server-side desktop isolator layer840there is an isolation layer830that contains special hardware to enforce that only valid information flow will be transferred between client-side remote desktop software730and server-side remote desktop software760. A more detailed view of the isolator layers will be disclosed next.

In an exemplary embodiment of the invention, a computing system having remote desktop capabilities is disclosed. The system comprising: one or more server-side hosts; one or more client-side hosts comprising a console comprising at least a first keyboard, a first mouse and a first display; and one or more remote desktop isolators, wherein each of the remote desktop isolator comprises: client-side desktop isolator layer, isolator layer, and server-side desktop isolator layer, the client-side desktop isolator layer is connected to one of the one or more client-side hosts via communication link providing RDP communication services, the server-side desktop isolator layer is connected to the one of the one or more server-side hosts via communication link providing RDP communication services, at least one of the above communicating pairs of server-side host and client-side host that communicate using the RDP protocol with each other are exclusively able to communicate using the RDP protocol through one of the one or more remote desktop isolators, and the isolation layer of each one of the one or more remote desktop isolators enforces a data flow of only a raw data information from or to client-side peripheral devices of the console of the client-side hosts in order to reduce the risks of cyberattacks performed through the RDP protocol.

FIG.14is a conceptual block of the remote desktop isolator810. Remote desktop isolator810comprises client-side interface822that communicate RDP using communication link740C. The interface may be Ethernet, Optical link or any link that is used to connect devices and hosts to a network. The client-side interface822should be able to connect via the communication link740C to the client-side host710. Client-side interface822is internally connected to a client-side isolator processor824. The client-side isolator processor824may be any processor, host, circuitry, FPGA, or computer that is able to perform the function of a client-side remote desktop isolator software. In an exemplary embodiment of the invention, the client-side isolator processor824may be implemented by a standard X86 microprocessor architecture and running Microsoft windows operating system, or may be ARM based architecture running Linux operating system or the like. The processor architecture may be associated to thin/thick/zero client architectures. The client-side isolator processor824execute the client-side remote desktop isolator software826. The client-side remote desktop isolator software826may act as a proxy for server-side version of a remote desktop software. This software may be a special version of an off-the-shelf software, such as remote desktop server (RDS) from Microsoft, or any other server-side version of remote desktop software, from Apple, Citrix, HP, or the like. It should be noted that the client-side remote desktop software730should be compatible with the client-side remote desktop isolator software826. In an exemplary embodiment of the invention, a customized version of client-side remote desktop isolator software826and/or client-side remote desktop software730may be used. In an exemplary embodiment of the invention, the client-side remote desktop isolator software826is the sole executable software of client-side isolator processor824and the code is stored in read-only memory so that hacking the processor with malicious code is almost impossible.

client-side remote desktop isolator software826act as proxy (or emulator) for the server-side remote desktop software760, and as such it receives the keyboard and mouse (KM) data from client-side remote desktop software730than send the KM data to server-side remote desktop software760. Sending the KM data is performed through the client-side channels drivers828, and specifically the KM channel that is sending the data to the KM unidirectional isolator834that is part of the isolation layer830of remote desktop isolator810.

KM unidirectional isolator834enforce unidirectional communication so that only KM data can be passed from the client side to the server side. In an exemplary embodiment of the invention, additional monitoring processing is performed to check that no suspicious malicious KM data is transferred over the KM channel. The KM data is passed to server-side channels drivers848which pass the KM data to server-side remote desktop isolator software846that executes on server-side isolator processor844that reside on the server-side isolation layer840of remote desktop isolator810. It should be noted that the two processors824and844are completely independent and isolated from each other and other then passing RDP data between sides they cannot communicate or share any data.

In addition, remote desktop isolator810comprises server-side interface842that communicate RDP using communication link740S. The interface may be Ethernet, Optical link or any link that is used to connect devices and hosts to a network. The server-side interface842is able to connect via the communication link740S to the server-side host750. Server-side interface842is internally connected to a server-side isolator processor844. The server-side isolator processor844may be any processor, circuitry, FPGA, host or computer that is able to run a server-side remote desktop isolator software846. In an exemplary embodiment of the invention, the server-side isolator processor844may be implemented by a standard X86 microprocessor architecture and running Microsoft windows operating system, or may be ARM based architecture running Linux operating system or the like. The processor architecture may be associated to thin/thick/zero client architectures. The server-side isolator processor844may execute the server-side remote desktop isolator software846. The server-side remote desktop isolator software846may act as a proxy or emulator for client-side version of a remote desktop software730. This software may be a special version of an off-the-shelf software, such as remote desktop connection from Microsoft, or any other client-side version of remote desktop software, from Apple, Citrix, HP, or the like. It should be noted that the server-side remote desktop software760should be compatible with the server-side remote desktop isolator software846. In an exemplary embodiment of the invention, a customized server-side remote desktop software760and/or server-side remote desktop isolator software846may be used. In an exemplary embodiment of the invention, the client-side remote desktop isolator software846is the sole executable software of server-side isolator processor844and the code is stored in read-only memory so that hacking the processor with malicious code is almost impossible.

Server-side remote desktop isolator software846act as proxy (or emulator) for the client-side remote desktop software730, and as such it receives the display data from server-side remote desktop software760than send this data (may be just a video stream) to client-side remote desktop software730. Sending the display data is enabled using the server-side channels drivers848. The display data in remote desktop systems can be represented in two ways: (1) descriptive data of the desktop objects on the display, like, windows frames, icons, menu, etc., hereinafter a “native desktop data”, or (2) a video stream. When native desktop data is provided, the client-side remote desktop software730redraws the display in accordance with the native desktop data information and when a video stream version is provided the client-side remote desktop software730project the video stream on the display. While sending native desktop data may demand less bandwidth from the communication link and make in some cases the synchronization between KM data and display data easier, it is less secure and more complex to handle in the remote desktop isolator810. Both cases might be supported, and since, for example, a window in the desktop might contain a video stream any RDP solution can support using video stream for the full desktop, i.e., the display is represented as a video stream covering all desktop area. In an exemplary embodiment of the invention, the remote desktop isolator810may convert native desktop data to video stream and enforce the system to work in a more secure full screen video mode for the display data. In any of the cases, the display data is transferred from server-side remote desktop isolator software846to server-side channels drivers848. Server-side channels drivers848may convert the video stream format from IP video stream to more native unidirectional video format, such as, HDMI, DisplayPort, or the like, or even to analog video format in order to prevent any hidden data transfer between the server-side host750and client-side host710. Similarly, the video conversion may be done inside the isolator layer830of remote desktop isolator810.

The display data, in any of the possible formats, is transferred to display/video unidirectional isolator832and through the client-side channels drivers828to client-side remote desktop isolator software826. The display data may convert the video format back to original or to another format on the isolator layer, the channel driver or the software. From software826the display data is sent to the client-side remote desktop software730which take care to send it to user702display on console720.

display/video unidirectional isolator832enforce unidirectional communication so that only display data can be passed from the server side to the client side. In an exemplary embodiment of the invention, additional monitoring processing is performed to check that no malicious display data is getting over this channel. It should be noted that processor844are completely independent and isolated from processor824. Optionally, each of the processors communicates in different RDP protocol.

In addition to the KM data and the display data, in some of the remote desktop systems other input or output devices may be supported. For example, user702might have the ability to receive audio streams (mono or stereo) from server-side host750. In this case, audio unidirectional isolator836may transfer unidirectional digital or analog audio that originated from server-side remote desktop software760, pass through server-side desktop isolator layer840and then the isolator transfers the secured audio data to client-side desktop isolation layer820. Additionally or alternatively, the audio stream may be handled inside the display data video stream.

Other audio devices, like Microphone, may be supported as well by the system. Mic audio data direction and the unidirectional data flow enforcement is reversed in this case. Special MIC unidirectional isolator836may be provided for this service in isolator layer830.

The remote desktop isolator810may also support a video camera (i.e., a cam) in the client side, in this case the video stream is handled similarly by the remote desktop isolator810where the security and unidirectional enforcement is provided by cam unidirectional isolator836.

One important issue for cyber security in such remote desktop systems is the authentication of user702. Since the client-side host is not inside organization promises, it is important to authenticate the user. In an exemplary embodiment of the invention, a biometric sensor is used to authenticate user702. The authentication data is either forward to the remote desktop isolator810and the authentication is made there, preferably on the server-side desktop isolator layer840or the authentication data is transferred through the remote desktop isolator810to the server-side host750and user702is authenticated there. In any case, the RDP session is not active before there is full authentication of user702to the system.

Another important issue is the RDP data passing through the Internet40. To prevent any data eavesdropping, all RDP data passing through the communication links740are encrypted using virtual private network (VPN) solution or the like.

While the remote desktop isolator810ofFIG.13may be located in the office of the worker, where the client-side ethernet port of the isolator is connected to non-classified network (e.g., the internet40) port and the server-side ethernet port of the isolator connected to the classified (preferably isolated) network. Many other deployment options and system configuration of for the remote desktop isolator are possible.

For example, many remote desktop isolators810may be deployed in central location in the organization and they may be associated statically or dynamically with server-side hosts located in the offices of the workers. Alternatively, many virtual hosts780instances may be dynamically initiated over virtualization machines/farm770. These virtual hosts780are loaded with server-side remote desktop software760V that are dynamically assigned to desktop isolator810. The user702may connect or authenticate to one of the remote desktop isolators810and get access to one of the virtual hosts780.

FIG.15is a block diagram presenting several deployment options for remote desktop systems incorporating remote desktop isolators. On the left side of the figure there are two types of deployment for organization with isolated organization network742. In the bottom side of the figure, the client-side port822of remote desktop isolator810A is connected directly to the internet40. This can be through unclassified network with a router connected to the internet or even direct wireless connection through cellular network such as 5G network that provide low latency and sufficient data bandwidth. In an exemplary embodiment of the invention, the client-side host710may be connected to 5G cellular network as well. The server-side of remote desktop isolator810A is connected to server-side host750. Server-side host750is connected to the organization network742with one communication link, e.g., Ethernet, while with another separate communication link, host750is connected to server-side interface842of remote desktop isolator810A. This communication link might be another communication link type, such as USB or the like. In an exemplary embodiment of the invention, remote desktop isolator810A is small form-factor low-cost device designed to be deployed in proximity to a desktop computer (e.g., host750) in the office of the worker of the organization. The managing and control of remote desktop isolator810A may be done by software running on the near-by host750.

In the top left side of the figure, there is a central deployment of remote desktop system for organization with isolated organization network742. The organization have a central computing facility770with high performance host computer or computer farm that can instantiate and initiate a plurality of server-side hosts780each with server-side remote desktop software760V. The hosts780can access internal resources through organization network742. The server-side port of a remote desktop multi-session isolator810M is also connected to the organization network. The client-side port of the remote desktop multi-session isolator810M is connected to the Internet40. Remote desktop multi-session isolator810M may support simultaneously a plurality of RDP sessions with a plurality of instances of server-side hosts780. Remote desktop multi-session isolator810M may comprises multiple replicates of the remote desktop isolator810shown inFIG.14. Alternatively, remote desktop multi-session isolator810M may be designed to share some hardware, for example, processors824and844may run each multiple instances of client-side remote desktop isolator software826and server-side remote desktop isolator software846respectively. Remote desktop multi-session isolator810M may be managed and control from a single management software that may enable of disable each session, take care for association between server-side hosts780and isolators instances in remote desktop multi-session isolator810M as well as users702authentication. In an exemplary embodiment of the invention, this management software is operated and monitored by manually human operator to enhance the security of the system.

On the right side ofFIG.15there are two deployments of the remote desktop system over host infrastructure on a general cloud-based services. In the bottom side of the picture a single server-side host750is connected to the cloud computer center network744and to the server-side port842of remote desktop isolator810. Client-side port822of this isolator is connected to the cloud computer center network744. In this configuration user702have an option to open an RDP session through the isolator, however, in addition, without any restriction on the firewall76or the server-side host750a less secure direct RDP session to server-side host750may also be opened by user702. Note that since both ports of the remote desktop isolator are essentially connected to the same network the isolator may be exploit to the same cyber security attack from both the client-side port and the server-side port so that this configuration is inherently less secure.

The right top side show more realistic deployment of remote desktop system with isolator on the cloud. In this configuration the organization lease computing services from the cloud services provider that have a central computing facility770. The facility may instantiate server-side hosts780with server-side remote desktop software760V. The cloud computing service provider also deployed remote desktop multi-session isolator810M to enable RDP session from user702to the server-side remote desktop software760V. While the client-side remote desktop software730may be access the client-side port of remote desktop multi-session isolator810M from the cloud computing center network744through the general-purpose firewall76, the server-side remote desktop software760V may contact the server-side port of remote desktop multi-session isolator810M only through a second firewall976. Firewall976allow communication only between server-side remote desktop software760V and the remote desktop multi-session isolator810M as well as restrict the communication only for RDP data, hence create a more secure remote desktop solution then the one without the remote desktop isolator as presented inFIG.12. This configuration is somewhat less secure than the configuration of the organization isolated network presented on the top-left of the figure but still can be used for organization that do not have isolated networks.

It should be understood that other configurations of deploying the remote desktop isolator are possible as well as combining the isolators with other known in the art software security tools and/or hardware security tools is also covered by this invention.

It is to be understood that the invention is not necessarily limited in its application to the details of the exemplary cyber security configurations set forth in the following description and/or illustrated in the drawings is capable of embodied in other embodiments or of being practiced or carried out in various types of devices.

It is to be understood that the invention is not necessarily limited in its application to the details of the exemplary cyber security cable set forth in the following description and/or illustrated in the drawings is capable of embodied in other embodiments or of being practiced or carried out in various types of devices.

It is expected that during the life of a patent maturing from this application many relevant client types, peripheral devices, and communication protocols will be developed and the scope of the invention intended to include all such new technologies a priori.