The present invention relates to data communications, and more specifically to secure data communications over optical channels.
The volume of data processed in a data center (DC) is sharply on the rise. As the use of DCs grows, so does the demand placed on individual data centers. To address this concern, multi-site data centers have become more prominent. Growth in inter-site DC traffic is increasing. Security of inter-site DC traffic has become a vulnerability. Various security methods have been developed to prevent unauthorized access to sensitive information transmitted between DC sites. DC operators can suggest that all tenants enable encryption for all communications. This may increase the security of any encrypted message, but it is difficult if not impossible for the DC operator to ensure that the tenants are in fact using encryption. The DC operator can route inter-site traffic through secure tunnels so that all traffic is sent through the tunnel is encrypted. One drawback to the use of secure tunnels is that the encryption and decryption applied at either end of the tunnel increase the operational expense of inter-site traffic. As the length of the encryption keys increase, so too does the increase in the operational expense. A general drawback of the use of encryption (either bulk encryption of the channel or the encryption of the different messages) is that any party that is able to intercept the traffic can store a copy of the transmitted data to enable an offline attack on the encryption. It should be understood that encryption is performed on the data in the digital domain, and is thus subject to storage and conventional attacks on digitally encrypted data. Similar problems have been identified in other networking scenarios including in metro-wide networks.
A secure mechanism to transmit data over an optical channel that is more resistant to decoding attempts by third parties may address some of the above described security needs.
The following presents a summary of some aspects or embodiments of the disclosure in order to provide a basic understanding of the disclosure. This summary is not an extensive overview of the disclosure. It is not intended to identify key or critical elements of the disclosure or to delineate the scope of the disclosure. Its sole purpose is to present some embodiments of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
In a first aspect of the present invention, there is provided a transmitter for secure transmission of data over an optical channel. The transmitter comprises a mask and a controller. The mask allows for the transmission of a spatial symbol into the optical channel. The controller is configured to encode incoming data as a spatial symbol in accordance with a first codebook, and control the mask based on the spatial symbol to transmit the spatial symbol through the optical channel.
In embodiments of the first aspect of the present invention the mask is disposed between a light source and the optical channel. In another embodiment, the controller comprises a region controller configured to control each of a plurality of regions of the mask based on the symbol. In a further embodiment, each region in the plurality is operable as one of a polarizer, an attenuator, a phase shifter, a dispersive element and combinations thereof. In another embodiment, the transmitter is configured to change the codebook. In a further embodiment, the transmitter is configured to change the codebook in response to one of a message received from a controller; a message received from a receiver of the spatial symbol; a timer internal to the transmitter; and detection of an event, and optionally the transmitter is further configured to notify at least one of the receiver and the controller of a change of the codebook. In another embodiment, the transmitter is configured to generate a second codebook different from the first codebook; and use the second codebook in a subsequent encoding. In a further embodiment, transmitter is configured to receive a new codebook from a controller or a receiver. In yet another embodiment, the controller comprises a spatial encoder configured to map the incoming data to the spatial symbol in accordance with the codebook.
In a second embodiment of the present invention, there is provided a method for secure data transmission over an optical channel. The method comprises encoding incoming data as a spatial symbol in accordance with a codebook; and transmitting the spatial symbol through the optical channel.
In an embodiment of the second aspect, the method further comprises controlling the configuration of a mask to transmit light into the optical channel in accordance with a shape of the spatial symbol. In a further embodiment, transmitting includes transmitting a light through the mask. In another embodiment, controlling the mask comprises controlling each of a plurality of regions of the mask based on the symbol. In another embodiment, the method further comprises changing the codebook after transmitting the spatial symbol, and optionally instructing a receiver to change a codebook for data decoding in the receiver.
In a third aspect of the present invention, there is provided a receiver for secure data communication over an optical channel. The receiver comprises a mask and a controller. The mask receives a spatially encoded symbol over the optical channel, and based on the detection of the spatially encoded symbol generates a signal representative of the signal. The controller is configured to identify the received symbol in accordance with the generated signal; and decode the spatial symbol into a data value in accordance with a codebook.
In an embodiment of the third aspect, the controller is further configured to identify the received symbol in accordance with the generated signal and the codebook. In another embodiment, the receiver is configured to change the codebook. In a further embodiment, the receiver is configured to change the codebook in response to one of: a message received from a controller; a message received from a transmitter of the detected spatially encoded symbol; a timer internal to the receiver; and detection of an event, and is further optionally configured to instruct a transmitter communicatively coupled to the receiver to change a codebook for data encoding in the transmitter.
In a fourth aspect of the present invention, there is provided a method for decoding spatially encoded data received over an optical channel. The method comprises generating a signal based on spatially encoded data received over the optical channel; identifying a spatial symbol from the signal; and decoding the spatial symbol into a data value in accordance with a codebook.
In an embodiment of the fourth aspect, identifying the spatial symbol includes identifying the spatial symbol in accordance with the codebook. In another embodiment the method includes changing the codebook after decoding the spatial symbol. In another embodiment, the method includes instructing a transmitter to change a codebook for data encoding in the transmitter.
In a fifth aspect of the present invention, there is provided a method for secure data communications over an optical link. The method comprises encoding a first block of data into a first symbol for transmission using a first codebook associating a spatial symbol with a block of data; transmitting the first symbol over the optical link; encoding a second block of data into a second symbol for transmission using a second codebook, different from the first codebook; and transmitting the second symbol over the optical link.
In an embodiment of the fifth aspect, the second codebook includes a symbol different from the symbols within the first codebook. In another embodiment the number of symbols forming the second codebook is different from the number of symbols forming the first codebook. In another embodiment, each symbol is mapped to a block of data, and wherein the first codebook defines a first symbol to data block mapping, and the second codebook defines a second symbol to data block mapping different from the first symbol to data block mapping. In another embodiment, the method includes generating a dynamic look up table to switch between the first codebook and the second codebook. In another embodiment, the first codebook and the second codebook are defined by using a cryptographically secure pseudorandom sequence. In a further embodiment, each of the first symbol and the second symbol is transmitted by using a mask disposed between a light source and the optical channel. In a further embodiment, the mask is operable as a polarizer, an attenuator, a phase shifter or combinations thereof In a further embodiment, the method includes controlling the mask based on the first symbol to transmit the first symbol, and controlling the mask based on the second symbol to transmit the second symbol. In another embodiment, the method includes transmitting a trigger to a receiver to instruct the receiver to change codebooks for data decoding, and optionally trigger is transmitted over an out-of-band channel in the optical link. In a further embodiment, the method includes receiving a trigger to switch from the first codebook to the second codebook, and optionally the trigger is received over an out-of-band channel in the optical link. In a further embodiment, the method includes forming each block of data by extracting a portion from each of a plurality of data streams.
In a sixth aspect of the present invention, there is provided a method for secure data communications over an optical link. The method comprises receiving a first symbol over the optical link; decoding the first symbol into a first block of data using a first codebook associating a geometric symbol with a block of data; receiving a second symbol over the optical link; and decoding the second symbol into a second block of data using a second codebook, different from the first codebook.
In an embodiment of the sixth aspect of the present invention, the second symbol includes a symbol different from the first symbol. In another embodiment, the number of symbols forming the second symbol is different from that of the first symbol. In a further embodiment, symbol is mapped to a data block, and wherein the first codebook defines a first symbol to data block mapping, and the second codebook defines a second symbol to data block mapping different from the first. In another embodiment, the method further includes generating a dynamic look up table to switch between the first codebook and the second codebook. In another embodiment the method includes receiving a trigger transmitter to switch from the codebook to the second codebook, and optionally the trigger can be received over an out-of-band channel in the optical link. In a further embodiment, the method includes detecting a predefined symbol to switch from the first codebook to the second codebook. In another embodiment, the method includes transmitting a trigger to a transmitter to instruct the transmitter to change codebooks for data encoding, where optionally the trigger is transmitted over an out-of-band channel in the optical link. In another embodiment, the method comprises the steps of constructing a first data stream by combining a portion from the first block of data and a portion from the second block of data.
In further aspects of the present invention, there are provided computing platforms having inputs and output interfaces, a memory and a processor. The memory can store instructions that when executed by the processor cause the computing platform to carry out the methods of above aspects of the present invention.
For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description.
Systems and methods for secure traffic in optical links are described below, by way of example only, with reference to
The term “mask” described herein may generally refer to a physical element, and may be designed to correspond to an entire cross sectional area of a media available for carrying optical signals. The mask may be composed of a plurality of regions. Each region may be set in one of different states.
The term “system” described herein may generally refer to a computer based system and may include multiple (computer) components or installations operably connected to each other, each of which may include one or more programmable processors, one or more memories, components for network communications, and one or more hardware and/or software based user interfaces.
Various operations may be described herein using multiple actions in turn, by way of example only. The operations/actions described herein may be implemented in a different order, and the present disclosure is not limited to those specific examples.
In one embodiment, to allow spatial encoding of information, a transmitter makes use of a constant light source (e.g. a laser or a LED light source) that is directed towards the optical channel. Between the light source and the optical channel is a mask.
It will be understood by those skilled in the art that the symbols in symbol set 200 are geometric symbols created by controlling regions in mask 100. The geometric symbols can be used to spatially encode data for transmission in the optical channel. If a cross-section of the channel is taken, symbols can be seen as areas of the cross-section that carry the data. Thus, light is propagated through a channel, and by controlling where in the channel the light is carried, the transmitter can make use of spatial encoding to transmit data. A party that is able to tap the channel would first need to know that the data is being spatially encoded. Without this knowledge, it would not be feasible to decode the message. With knowledge that the channel is carrying spatially encoded data, an intercepting party would need to know the manner in which the mask is partitioned into regions, then use that information to assemble a list of the symbols used, and then decipher what each symbol means. Additional enhancements to the security will be provided below.
As shown in
Those skilled in the art of communications will appreciate that when communicating over a channel, a codebook is formed to associate valid symbols in the code (also referred to as codewords) to data values. Thus, a codebook maps the symbols, such as the symbols in the symbol set 200 to data values. For example, the symbols in set 400 (or 200 of
It will be well understood by those skilled in the art that the symbol sets 200 and 400 are intended to be exemplary. In
As noted above, some of the security provided by the disclosed transmission scheme is provided by the difficulty of determining that the data is being spatially encoded, and then determining how the data is encoded. The question of how the data is encoded using the symbols is a matter of determining the codebook used in transmission. It will be understood that both the transmitter and receiver need to know the codebook being used. For a third party that intercepts the message in transmission, a certain quantity of symbols needs to be recorded to allow for an attack that would allow the third party to identify the codebook in use. The difficulty of such an attack is increased because in an optical channel, buffering the symbols to facilitate the attack is not feasible. To further increase the security, it is possible for a transmitter and receiver to undertake coordinated changes in the codebook used. In one such embodiment, a transmitter will spatially encode data for transmission over an optical channel to a receiver. The transmitter and receiver can perform coordinated changes in the codebook used to spatially encode the data (and to decode the spatial symbols to data). By increasing the frequency with which the codebooks are changed, the difficulty for a third party to decode the symbols increases.
Those skilled in the art will appreciate that when connected together, the transmitter 500 and receiver 600 can communicate with each other over optical channel 550. The synchronization controllers 512 and 612 can either communicate with each other or with the common control function. The communication can allow for synchronization of the changes in the codebook. One skilled in the art will appreciate that any number of different mechanisms can be used to change the codebook at the transmitter 500 and receiver 600. In one embodiment, a new codebook is generated and transmitted from one of the nodes to the other (or to both of the nodes if a common control is used). In another embodiment, both the transmitter 500 and receiver 600 are provided with a set of indexed codebooks in advance. The synchronization controllers 512 and 612 can communicate with each other so that one or both of the nodes can initiate a change in the codebook. The node that initiates a change simply has to specify which of the codebooks is to be used. As noted above, this could be driven by either of the transmitter or the receiver, or it could be driven by another entity, such as a Software Defined Networking (SDN) Controller.
The system 700 uses Spatial Domain Encoding for data communications over the optical channel 550. A data stream 504 is received by transmitter 500, which uses codebook1 702 to encode the data. Codebook1 702 is used to perform two-bit encoding, so that two bits of data are encoded into a single symbol. The first two bits of data stream 504 are “11” which is encoded as symbol D 208. The next two bits of data stream 504 are “10” which are encoded as symbol C 206, followed by “01” which are encoded as symbol B 204 and finally “00” which is encoded as symbol A 202. Thus, transmitter 500 will transmit the symbols D 208, C 206, B 204 and A 202 in sequence over the data channel 706. These symbols are transmitted in the first time period t1. At the receiver 600, the symbols are received and decoded, resulting in the recovery of the first part of data stream 610.
The transmitter 500 and receiver 600 are configured to change various aspects of the spatial encoding and decoding scheme as a function of time. The transmitter 500 and the receiver 600 can communicate with each other over control channel 708 so that they can synchronize the change in codebooks. In this example, transmitter 500 and receiver 600 can store both a set of codebooks, and an ordered list so that a control signal 710 can be used to indicate a change to the next codebook in the ordered list.
As illustrated, when a transition is made to codebook2 704, the encoding changes from a 2-bit encoding to a 3-bit encoding. Eight symbols 704A-704I are used. The next set of three bits in data stream 504 is “101” which maps to 704F, followed by “111” which maps to 704H. These symbols are transmitted over data channel 706 in optical channel 550, and are received by receiver 600. Receiver 600 then decodes the received symbols using codebook2 704. By coordinating the change in codebooks, the transmitter 500 and receiver 600 are able to communicate with each other which allows for recovery of data stream 610. As noted above, an intercepting party would first be required to determine that the data is being spatially encoded, then would need to determine the codebook in use. By changing the codebook in a coordinated fashion, the transmitter 500 and receiver 600 can protect against any brute force attack (e.g. a statistical analysis attack) on the secure transmission.
The changing of codebooks makes it more difficult for any party, other than the receiver, to be able to decode the message. Optical buffering is not a practical option, so the optically transmitted symbols have to be decoded in real time. As has been described above, a third party would first need to determine that spatial symbols are being used, and would then need to be able to observe the signals in transmission for a period of time before a brute force decoding attempt would be successful. By changing codebooks the process becomes more difficult. The change of the codebook in use should be coordinated at the transmitter and receiver. As shown in
When codebooks are changed, the symbols used in the codebook may not change, but in such a scenario the data bits assigned to each symbol would change. The changes in the codebook can include any of changing the symbols in the codebook, changing the data value mapped to the symbols, changing the number of symbols in the codebook changing an effective resolution of the mask (e.g. dynamically changing the boundaries between regions on a mask so that the mask could change from a 3×3 grid to a 4×4 grid) and other such codebook changes. It will be understood, that in some codebooks a large number of symbols can be used for a low bit value per symbol encoding. For example, 32 symbols could be used for 2-bit encoding. This may result in a plurality of symbols each being mapped to the same bit value. The transmitter, upon receiving “00” would select one of the plurality of symbols that map to “00” and transmit the selected symbol. At the receiver, receipt of any symbol allows for a simple decoding operation.
In some embodiments, the security of the transmission method is further buttressed by changing the codebook used for encoding. In step 808, shown as an optional step in dashed lines, a determination of whether the codebook should be changed is made. If the codebook is not to be changed, the method returns to step 802. If the codebook is to be changed, the method continues to step 810. As discussed above, there can be a number of different triggers to initiate the change in the codebook, including changing after a fixed time interval, changing after a fixed number of symbols is transmitted, changing upon receipt of an indication to change etc. In step 810, a new codebook is selected. The selection of a codebook can be performed in accordance with a received indication, in accordance with a preset selection criteria or it can be selected by the transmitter in accordance with any other parameters, or even randomly selected. The selection process can include selecting a codebook from a set of predefined codebooks, or it can include creating a new codebook that maps spatial symbols to data values. In step 812, the transmitter can, if necessary, transmit an indication of the selected codebook to the receiver. This may include the simple transmission of an index value that the receiver can use to select the codebook from an indexed set of codebooks, it could be the transmission of the new codebook, or it could be something in between the two.
The transmitter may utilize a dynamic look up table to switch among a plurality of codebooks. The codebooks may be generated by using a cryptographically secure pseudorandom sequence. Codebooks contain a reversible mapping between data sequences and symbols. The symbols can be spatial patterns represented by geometric patterns created on the mask. By having each codeword map to a data sequence, an incoming data sequence can be represented by a set of symbols that can be mapped back to a data sequence at the receiver.
It will be understood that the step 800 of receiving data for transmission, may in many systems include receiving data for transmission from a single source. In other embodiments, data from a plurality of data sources is aggregated to create a single data stream. In some such embodiments of aggregation, bits from a plurality of different sources can be combined in a manner that is predefined at both the transmitter and receiver. For example, if there are four sources that are transmitting synchronously, one bit from each of the sources can be taken in a defined order, and the four bits are then encoded and transmitted. After decoding the symbols at a receiver, a demultiplexer would be able to separate the data coming from each source.
In step 906, shown in dashed lines to indicate that it is optional, a determination is made as to whether the codebook used to decode the spatially encoded symbols should be changed. If no change in codebook is required, then the process returns to step 902. If the codebook is to be changed, the process proceeds to step 908 where the new codebook is selected. The determination in step 906 can be made in accordance with any of the number of symbols received since the last codebook change, with the time elapsed since the last codebook change, in accordance with an indication received from the transmitter or a third party, in accordance with a determination made at the receiver, or other mechanisms that will be apparent to those skilled in the art. The selection of the codebook can be performed in accordance with a received indication (including an indication that the codebook should be changed), in accordance with a preset selection criteria or it can be selected by the receiver in accordance with any other parameters. If the receiver selects the codebook in step 908, it can also transmit an indication of the new codebook towards the transmitter.
In the above discussion, reference has been made to the transmissions being carried in an optical channel. Those skilled in the art will appreciate that any number of different optical channels can be used, so long as the channel will support the transmission of spatial symbols. In one embodiment, a free space optical channel is used. In another embodiment, an optical fiber is employed as the optical channel. While conventional single mode optical fiber directs the energy of the signal into the core of the fiber, other types of fiber, including Optical Angular Momentum (OAM) fibers, multimode fiber, multicore fiber and hollow core fiber can be employed to more easily allow for spatial encoding. A hollow core fiber can be thought of as a free space optical channel that is contained within a fiber, thus allowing for the channel itself to be bent (within the curvature constraints of the fiber) which removes the conventional free space optics restriction of a line of sight channel. An OAM fiber allows propagation of the signal through OAM modes. These modes at typically spatially separated from each other. In some existing uses, OAM fibers are used to increase the capacity of the channel by allowing transmission of signals through different regions of the fiber (each region corresponding to an OAM mode). The transmission methods disclosed above make use of the excitation of different OAM modes to form the symbol itself.
Multicore fibers have a plurality of transmission cores within a single cladding.
It will be well understood that an optical channel can be used with a plurality of different wavelengths. The above described method of transmission may include transmitting another signal in the regions of the channel that are not being used to transmit the encoded data stream. These other signal may be noise, or they may be legitimate signals which may or may not be securely encoded. The other signal may be transmitted on a different wavelength, making it more difficult for an intercepting party to discern a pattern. By including a specified wavelength in the codebook, the receiver will not have the same problems.
Any discussion of processing in the above description may be implemented by causing a processor, digital signal processors (DSP), application-specific integrated circuit (ASIC), or components of a processor in the systems shown in
While one or more embodiments have been provided in the present disclosure, it may be understood that the disclosed systems and methods may be embodied in many other specific forms without departing from the scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented. A number of variations and modifications can be made without departing from the scope of the invention as defined in the claims.