KR102643187B1 - Methods and devices for providing cybersecurity in time-aware end-to-end packet flow networks - Google Patents

Methods and devices for providing cybersecurity in time-aware end-to-end packet flow networks Download PDF

Info

Publication number
KR102643187B1
KR102643187B1 KR1020197029163A KR20197029163A KR102643187B1 KR 102643187 B1 KR102643187 B1 KR 102643187B1 KR 1020197029163 A KR1020197029163 A KR 1020197029163A KR 20197029163 A KR20197029163 A KR 20197029163A KR 102643187 B1 KR102643187 B1 KR 102643187B1
Authority
KR
South Korea
Prior art keywords
packet
engine
engines
cryptographic
cekm
Prior art date
Application number
KR1020197029163A
Other languages
Korean (ko)
Other versions
KR20190125413A (en
Inventor
볼프강 슈판
욘 두리 자로트
Original Assignee
히타치 에너지 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 히타치 에너지 리미티드 filed Critical 히타치 에너지 리미티드
Publication of KR20190125413A publication Critical patent/KR20190125413A/en
Application granted granted Critical
Publication of KR102643187B1 publication Critical patent/KR102643187B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • General Physics & Mathematics (AREA)
  • Cardiology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

패킷 처리를 수행하는 복수의 패킷 엔진 (61-64) 을 포함하는 시간 결정적 패킷 네트워크에서 엔드-투-엔드 데이터 경로 또는 엔드-투-엔드 경로의 세그먼트를 통한 보안 통신을 제공하기 위해, 암호 엔진 (71-74) 은 패킷 엔진과 별도로 제공된다. 암호 엔진 (71-74) 은 적어도 하나의 사이버 보안 기능을 수행하도록 동작한다. 암호 엔진 및 키 관리자 (44) 는 복수의 암호 엔진 (71-74) 에 대한 중앙 제어를 제공한다. 중앙 집중식 데이터 흐름 경로 관리자 (PFPM) (42) 는 엔드포인트 노드 및 패킷 네트워크의 엔드-투-엔드 데이터 경로의 중간 트랜짓 노드를 설정할 수도 있다.To provide secure communication over an end-to-end data path or a segment of an end-to-end path in a time-critical packet network comprising a plurality of packet engines 61-64 that perform packet processing, a cryptographic engine ( 71-74) is provided separately from the packet engine. Cryptographic engines 71-74 operate to perform at least one cybersecurity function. Cryptographic engine and key manager 44 provides central control over a plurality of cryptographic engines 71-74. A centralized data flow path manager (PFPM) 42 may establish endpoint nodes and intermediate transit nodes of the end-to-end data path of the packet network.

Description

시간 인식 엔드-투-엔드 패킷 흐름 네트워크들에 사이버 보안을 제공하기 위한 방법들 및 디바이스들Methods and devices for providing cybersecurity in time-aware end-to-end packet flow networks

본 발명은 패킷 네트워크에서의 데이터 송신에 관한 것이다. 본 발명은 특히 보호된 시간 인식 패킷 흐름 네트워크에서 데이터 트래픽의 엔드-투-엔드 및/또는 세그먼트 암호화 및/또는 인증을 위한 방법 및 디바이스에 관한 것이다.The present invention relates to data transmission in packet networks. The invention particularly relates to a method and device for end-to-end and/or segment encryption and/or authentication of data traffic in a protected time-aware packet flow network.

다른 산업 자동화 제어 시스템 (IACS) 의 고전압 라인 또는 네트워크의 모니터링과 같은 미션 크리티컬 시스템의 네트워크에서, 많은 애플리케이션들은 여전히 레거시 접속 지향 기술에 의존한다. 상위 계층의 애플리케이션 설계에서, 전송자와 수신자 간의 관계는 직접 유선 데이터 링크와 유사하게 간주될 수 있다. 고속 열차 조향, 항공 교통 제어 또는 고전압 라인 자동화와 같은 애플리케이션을 조사할 때, 액터와 리액터 간의 직접적인 결정론적 관계는 시스템 설계의 상위 계층을 실질적으로 단순화하고 오늘날의 높은 전체 시스템 신뢰도에 기여한다.In networks of mission-critical systems, such as monitoring of high-voltage lines or networks of other industrial automation control systems (IACS), many applications still rely on legacy connection-oriented technologies. In higher layer application design, the relationship between sender and receiver can be considered similar to a direct wired data link. When examining applications such as high-speed train steering, air traffic control, or high-voltage line automation, direct deterministic relationships between actors and reactors substantially simplify the upper layers of system design and contribute to today's high overall system reliability.

유연성 증가와 같은 다양한 이유로, 미션 크리티컬 네트워크에 대해서도 패킷 네트워크를 통해 데이터 송신을 수행하는 것이 요구될 수도 있다. 이 경우, 시분할 멀티플렉싱된 (TDM) 네트워크에 내재 된 데이터 무결성이 더 이상 존재하지 않을 수도 있다. 비-적대적인 환경에 대하여 어느 정도까지, MPLS-TP (Multipath Label Switching Transport Profile) 는 접속 지향 패러다임의 일부 장점이 활용되게 한다. 그럼에도 불구하고, 과부하 상황과 오작동 중에, 엔드-투-엔드 데이터 경로 또는 링크는 직접 유선 접속으로 보여질 수 없다. 패킷을 스트림에서 삭제, 스트림으로 복제 및 스트림으로 추가하는 것과 같은 패킷 네트워크의 강력한 조작 능력들은 사이버 공격과 관련하여 매우 중요한 위험을 제공한다.For various reasons, such as increased flexibility, it may be desirable to perform data transmission over a packet network even for mission-critical networks. In this case, the data integrity inherent in time division multiplexed (TDM) networks may no longer exist. To some extent for non-adversarial environments, Multipath Label Switching Transport Profile (MPLS-TP) allows some of the advantages of the connection-oriented paradigm to be exploited. Nevertheless, during overload situations and malfunctions, the end-to-end data path or link cannot be viewed as a direct wired connection. The powerful manipulation capabilities of packet networks, such as deleting packets from a stream, duplicating packets into a stream, and adding packets to a stream, present a very significant risk with respect to cyberattacks.

강화된 보안으로, MPLS-TP 와 같은 시간 결정적 패킷 네트워크를 통해 엔드-투-엔드 경로를 제공하는 것이 바람직할 것이다.With enhanced security, it would be desirable to provide an end-to-end path over a time-critical packet network such as MPLS-TP.

본 발명의 목적은 강화된 보안을 제공하는 패킷 네트워크에서 데이터 송신을 위한 개선된 방법, 디바이스, 및 시스템을 제공하는 것이다. 사이버 공격에 대해 높은 견고성을 제공하면서, 시간 결정적 패킷 네트워크에서 암호화 및/또는 인증된 데이터 송신을 제공하도록 동작하는 개선된 방법, 디바이스 및 시스템을 제공하는 것이 특히 목적이다.It is an object of the present invention to provide improved methods, devices, and systems for data transmission in packet networks that provide enhanced security. It is a particular object to provide improved methods, devices and systems that operate to provide encrypted and/or authenticated data transmission in time-critical packet networks, while providing high robustness against cyber-attacks.

예시적인 실시형태에 따르면, 복잡하고 메쉬형의 네트워크 토폴로지를 통해 암호화되고 인증된 데이터 패킷을 결정적으로 트랜짓하기 위한 방법 및 디바이스가 제공된다. MPLS-TP (Multipath Label Switching Transport Profile) 네트워크와 같은 그러한 네트워크의 경우, 보호된 엔드-투-엔드 경로와 각각의 사이버 보안 중복 데이터 링크 엔드포인트들의 코히어런트 연관이 제공된다.According to example embodiments, methods and devices are provided for deterministically transiting encrypted and authenticated data packets through complex, meshed network topologies. For such networks, such as Multipath Label Switching Transport Profile (MPLS-TP) networks, a protected end-to-end path and coherent association of each cybersecurity redundant data link endpoint is provided.

보안상의 이유로, 2 개의 서브시스템들 - 패킷 네트워크를 통한 경로를 담당하는 패킷 스위칭 서브시스템과 사이버 보안 (또는 암호화) 서브시스템 - 은 강하게 분리되어 있지만 동기화되지 않을 수도 있다. 동적 프로토콜은 사이버 보안 서브시스템으로부터 패킷 스위칭 서브시스템으로의 제한된 정보 교환을 지원하는데 사용될 수도 있다. 이를 통해 모든 표준 및 예외적인 네트워크 동작 상태 동안 2 개의 서브시스템을 동기화하여 유지되게 한다.For security reasons, the two subsystems - the packet switching subsystem, which is responsible for routing packets through the network, and the cybersecurity (or encryption) subsystem - are strongly separated but may not be synchronized. Dynamic protocols may be used to support limited information exchange from the cybersecurity subsystem to the packet switching subsystem. This ensures that the two subsystems remain synchronized during all standard and exceptional network operating conditions.

예시적인 실시형태에서, 패킷 추가가 필요하지 않으며, 암호화 단계 동안 모든 패킷에 대해 동일한 지연이 유지될 수 있다. 암호화/복호화 및/또는 인증을 수행하는 암호 엔진은 암호 엔진과 분리된 패킷 엔진에 의해 이전에 생성된 더미 패킷에 제어 정보를 추가할 수도 있다. 패킷 엔진은 또한, 패킷들을 암호화하기 위해 암호 엔진 암호화 정보 삽입 요구에 의해 야기될 수도 있는 임의의 방해를 회피하기 위해, 필요할 경우 패킷간 갭들을 확대할 수도 있다. 이를 통해 MPLS (Multipath Label Switching) 와 같은 프로토콜 또는 시간 결정적 패킷 전송을 위한 다른 프로토콜이 진정한 사이버 보안이 되도록 강화한다.In an exemplary embodiment, no packet additions are necessary, and the same delay can be maintained for all packets during the encryption step. A cryptographic engine performing encryption/decryption and/or authentication may add control information to dummy packets previously generated by a packet engine separate from the cryptographic engine. The packet engine may also widen inter-packet gaps if necessary to avoid any disruption that may be caused by the crypto engine requiring insertion of encryption information to encrypt the packets. This strengthens protocols such as Multipath Label Switching (MPLS) or other protocols for time-critical packet transmission to be truly cybersecurity.

예시적인 실시형태에서, 보호된 MPLS-TP 엔드-투-엔드 서비스 설정은 암호 엔진으로도 지칭되는 각각의 사이버 보안 중복 암호화 엔드포인트와 링크될 수도 있다. MPLS 와 사이버 보안 서브시스템 간의 정보 교환을 제한할 수도 있는, 하드웨어를 통한 사이버 보안 관리와 MPLS 경로 관리 및 설계된 제한의 명확한 분리는 클라이언트 노드에서 암호 엔진 또는 사이버 보안 서브시스템의 다른 컴포넌트로의 임의의 침입을 피할 수도 있다.In an example embodiment, a protected MPLS-TP end-to-end service setup may be linked with each cybersecurity redundant encryption endpoint, also referred to as a crypto engine. A clear separation of cybersecurity management and MPLS path management and designed restrictions through hardware, which may limit the exchange of information between MPLS and the cybersecurity subsystem, prevents arbitrary intrusion from the client node into the cryptographic engine or other components of the cybersecurity subsystem. can also be avoided.

본 발명의 일 양태에 따르면, 패킷 네트워크에서 엔드-투-엔드 데이터 경로 (MPLS 터널에 의해 제공될 수도 있음) 를 통한 보안 통신을 제공하는 방법이 제공된다. 패킷 네트워크는 패킷 처리를 수행하는 복수의 패킷 엔진을 포함하는 시간 결정적 패킷 네트워크이다. 이 방법은 복수의 암호 엔진에 의해, 적어도 하나의 사이버 보안 기능을 수행하는 단계를 포함하고, 복수의 암호 엔진의 각각의 암호 엔진은 복수의 패킷 엔진의 개별 패킷 엔진과 각각 연관되고 개별 패킷 엔진과 별도로 제공된다. 암호화 엔진들 중 적어도 일부는 각각, 패킷 네트워크의 엔드포인트 노드와 연관된 개별 패킷 엔진과 엔드포인트 노드의 네트워크 대면 포트 사이에서, 또는 엔드포인트 노드와 연관된 각각의 패킷 엔진과 엔드포인트 노드에 접속된 제 1 트랜짓 노드 사이에서 제공된다. 이 방법은 암호 엔진 및 키 관리자 (CEKM) 에 의해, 복수의 암호 엔진을 중앙 제어하는 단계를 더 포함한다.According to one aspect of the invention, a method is provided for providing secure communication over an end-to-end data path (which may be provided by an MPLS tunnel) in a packet network. A packet network is a time-critical packet network that includes multiple packet engines that perform packet processing. The method includes performing at least one cybersecurity function by a plurality of cryptographic engines, wherein each cryptographic engine of the plurality of cryptographic engines is each associated with a respective packet engine of the plurality of packet engines and Provided separately. At least some of the encryption engines are, respectively, between a respective packet engine associated with an endpoint node of the packet network and a network-facing port of the endpoint node, or between a respective packet engine associated with the endpoint node and a first connected to the endpoint node. Provided between transit nodes. The method further includes centrally controlling the plurality of cryptographic engines by a cryptographic engine and key manager (CEKM).

이 방법은 엔드-투-엔드 암호화 및/또는 인증을 수행하거나, 엔드-투-엔드 데이터 경로의 하나 또는 수 개의 세그먼트를 따라 암호화 및/또는 인증을 위해 사용될 수도 있다.This method may perform end-to-end encryption and/or authentication, or may be used for encryption and/or authentication along one or several segments of an end-to-end data path.

복수의 암호 엔진을 제어하는 것은 구성 정보를 복수의 암호 엔진들에 제공하는 것 및/또는 네트워크에서 복수의 암호 엔진에 의해 어떤 키들이 사용되는지를 조정하는 것을 포함할 수도 있다.Controlling the plurality of cryptographic engines may include providing configuration information to the plurality of cryptographic engines and/or coordinating which keys are used by the plurality of cryptographic engines in the network.

네트워크에서 모든 암호 엔진의 동작을 조정하기 위해 중앙 제어를 사용함으로써 및 패킷 엔진과 물리적으로 분리된 암호 엔진을 사용함으로써, 높은 보안을 얻을 수 있다.By using a central control to coordinate the operation of all crypto engines in the network, and by using crypto engines that are physically separate from the packet engines, high security can be achieved.

패킷 엔진 및 연관된 암호 엔진은 MPLS 네트워크의 LER (Label Edge Router) 또는 LSR (Label Switch Router) 에서 각각 제공될 수도 있다.The packet engine and associated crypto engine may be provided respectively by a Label Edge Router (LER) or Label Switch Router (LSR) of the MPLS network.

패킷 네트워크는 복수의 LER들을 포함할 수도 있다. 각각의 LER 은 적어도 2 개의 패킷 엔진 및 적어도 4 개의 암호 엔진을 포함할 수도 있다. 2 개의 패킷 엔진은 각각 MPLS 네트워크를 통한 상이한 경로일 수도 있는 작업 및 보호 경로를 위해 제공될 수도 있다. 2 개의 암호 엔진은 LER 의 제 1 패킷 엔진에 접속되어 작업 경로를 따라 2 개의 대향하는 전송 방향에 대해 MPLS 네트워크를 통한 작업 경로를 따라 엔드-투-엔드 또는 세그먼트 암호화 및/또는 인증을 제공할 수도 있다. 2 개의 추가의 암호 엔진은 LER 의 제 2 패킷 엔진에 접속되어 보호 경로를 따라 2 개의 대향하는 송신 방향에 대해, 보호 경로를 따라 엔드-투-엔드 또는 세그먼트 암호화 및/또는 인증을 제공할 수도 있다.A packet network may include multiple LERs. Each LER may include at least two packet engines and at least four crypto engines. Two packet engines may be provided for each work and protection path, which may be different paths through the MPLS network. Two cryptographic engines may be connected to the first packet engine of the LER to provide end-to-end or segment encryption and/or authentication along the working path over the MPLS network for two opposing transmission directions along the working path. there is. Two additional cryptographic engines may be connected to the second packet engine of the LER to provide end-to-end or segment encryption and/or authentication along the protection path, for two opposing transmission directions along the protection path. .

이 방법은 중앙 집중식 패킷 흐름 경로 관리자 (PFPM) 에 의해, 패킷 네트워크의 엔드-투-엔드 데이터 경로의 엔드포인트 노드 및 중간 트랜짓 노드를 설정하는 단계를 더 포함할 수도 있다.The method may further include establishing, by a centralized Packet Flow Path Manager (PFPM), endpoint nodes and intermediate transit nodes of the end-to-end data path of the packet network.

PFPM 은 MPLS 네트워크의 엔드포인트 노드에 대한 예들인 LER들에서 패킷 엔진을 설정할 수도 있다.PFPM can also configure packet engines in LERs, which are examples of endpoint nodes in an MPLS network.

PFPM 은 MPLS 네트워크의 중간 트랜짓 노드에 대한 예들인 LSR들에서 패킷 엔진을 설정할 수도 있다.PFPM can also configure packet engines in LSRs, for example intermediate transit nodes in an MPLS network.

PFPM 은 패킷 네트워크의 모든 엔드포인트 노드 (예를 들어, 모든 LER 의 패킷 엔진) 및 모든 중간 트랜짓 노드 (예를 들어, 모든 LSR 의 패킷 엔진) 에 통신 가능하게 접속될 수도 있다.The PFPM may be communicatively connected to all endpoint nodes (e.g., packet engines of every LER) and all intermediate transit nodes (e.g., packet engines of every LSR) of the packet network.

CEKM 은 제 1 서버에서 실행될 수도 있고, PFPM 은 제 1 서버와 상이한 제 2 서버에서 실행될 수도 있다. 경로 제어 및 사이버 보안을 위한 제어 시스템을 분리함으로써, 추가적인 보안 이점을 획득한다.CEKM may run on a first server, and PFPM may run on a second server that is different from the first server. By separating control systems for path control and cybersecurity, additional security benefits are achieved.

그 방법은 제 1 서버에 의해 제공되는 정보를 제 2 서버로 제한하는 단계를 더 포함할 수도 있다. 이에 의해 추가적인 보안 이점이 획득된다.The method may further include limiting information provided by the first server to the second server. Additional security advantages are thereby obtained.

그 방법은 CEKM 에 의해, 복수의 암호 엔진의 하드웨어 정의된 식별자를 발견하는 단계 및 CEKM 에 의해, 하드웨어 정의된 식별자를 PFPM 에 제공하는 단계를 더 포함할 수도 있다.The method may further include discovering, by the CEKM, hardware-defined identifiers of the plurality of cryptographic engines and providing, by the CEKM, the hardware-defined identifiers to the PFPM.

CEKM 은 오직 하드웨어 정의된 식별자 및 알람만을 PFPM 에 제공할 수도 있다. 알람은 비정상적인 동작 조건을 나타낼 수도 있다.CEKM may provide only hardware-defined identifiers and alarms to PFPM. Alarms may also indicate abnormal operating conditions.

CEKM 은 복수의 암호 엔진을 구성하기 위해 PFPM 으로부터 엔드-투-엔드 데이터 경로의 데이터 흐름 토폴로지에 관한 정보를 수신할 수도 있다. 정보는 터널 식별자, MPLS 라벨 또는 라벨 스택 및 유사한 정보를 포함할 수도 있다.CEKM may also receive information about the data flow topology of the end-to-end data path from PFPM to configure multiple cryptographic engines. The information may include tunnel identifiers, MPLS labels or label stacks, and similar information.

CEKM 및 PFPM 은 보안 채널을 통해 통신할 수도 있다.CEKM and PFPM can also communicate over a secure channel.

CEKM 은 복수의 암호 엔진들 각각에 통신가능하게 접속될 수도 있다.A CEKM may be communicatively connected to each of a plurality of cryptographic engines.

CEKM 은 암호 엔진을 구성하기 위해 및/또는 통지를 위해 보안 프로토콜을 통해 복수의 암호 엔진들의 각각과 통신할 수도 있다.The CEKM may communicate with each of a plurality of cryptographic engines via a secure protocol for notification and/or to configure the cryptographic engine.

방법은 복수의 암호 엔진들 중의 암호 엔진에 의해, 비트 윈도우를 사용하여 데이터 패킷으로부터 비트들을 선택하는 단계를 더 포함할 수도 있으며, 비트 윈도우는 프로그램가능하다. 프로그램가능한 비트 윈도우에 따라 선택된 비트는 암호 엔진에 의해 프로세싱될 데이터 패킷을 식별할 수도 있다.The method may further include selecting, by a cryptographic engine of the plurality of cryptographic engines, bits from the data packet using a bit window, where the bit window is programmable. Bits selected according to a programmable bit window may identify data packets to be processed by the cryptographic engine.

비트 윈도우는 엔드-투-엔드 데이터 경로의 진입 노드 및 진출 노드에서 상이할 수도 있다.The bit window may be different at the entry and exit nodes of the end-to-end data path.

CEKM 과 PFPM 간에 교환되는 정보는 비트 윈도우를 구성하기 위해 사용될 수도 있다.Information exchanged between CEKM and PFPM may be used to configure a bit window.

방법은 CEKM 에 의해, 각각 PFPM 으로부터의 정보에 기초하여, 엔드-투-엔드 터널의 제 1 엔드포인트 노드와 연관된 제 1 암호 엔진 및 제 1 엔드포인트 노드와 연관된 제 2 암호 엔진을 구성하는 단계를 더 포함할 수도 있다. 제 1 및 제 2 암호 엔진은 MPLS 네트워크를 통한 보호 터널의 작업 및 보호 경로를 위해, 암호화 또는 인증과 같은 사이버 보안 기능을 각각 수행할 수도 있다.The method includes configuring, by the CEKM, a first cryptographic engine associated with a first endpoint node of an end-to-end tunnel and a second cryptographic engine associated with the first endpoint node, respectively, based on information from the PFPM. It may include more. The first and second cryptographic engines may perform cybersecurity functions, such as encryption or authentication, respectively, for the protection path and operation of the protection tunnel through the MPLS network.

방법은 CEKM 에 의해, 엔드-투-엔드 터널 상의 역방향 송신 방향을 위해 제 1 엔드포인트 노드와 연관된 제 3 암호 엔진 및 제 1 엔드포인트 노드와 연관된 제 4 암호 엔진을 구성하는 단계를 더 포함할 수도 있다. 제 3 암호 엔진 및 제 4 암호 엔진은 각각 역 흐름 방향에 대해, MPLS 네트워크를 통한 작업 및 보호 경로에 대해 암호화 또는 인증과 같은 사이버 보안 기능을 각각 수행할 수도 있다.The method may further include configuring, by the CEKM, a third cryptographic engine associated with the first endpoint node and a fourth cryptographic engine associated with the first endpoint node for a reverse transmission direction on the end-to-end tunnel. there is. The third cryptographic engine and the fourth cryptographic engine may perform cybersecurity functions such as encryption or authentication for the reverse flow direction and the operation and protection path through the MPLS network, respectively.

패킷 네트워크는 복수의 LER (label edge router) 을 포함할 수도 있다. 라벨 에지 라우터는 MPLS (Multi Label Protocol Switching) 터널의 작업 경로를 위한 제 1 암호 엔진 및 보호된 터널에 대해 보호를 제공하는 보호 경로를 위한 제 2 암호 엔진을 포함할 수도 있다. A packet network may include multiple label edge routers (LERs). The label edge router may include a first crypto engine for the working path of the Multi Label Protocol Switching (MPLS) tunnel and a second crypto engine for the protection path to provide protection for protected tunnels.

LER 은 작업 경로상의 역 송신 방향을 위한 제 3 암호 엔진 및 보호 경로상의 역 송신 방향을 위한 제 4 암호 엔진을 포함할 수도 있다. The LER may include a third cryptographic engine for the reverse transmission direction on the working path and a fourth cryptographic engine for the reverse transmission direction on the protection path.

LER 은 적어도 2 개의 패킷 엔진을 포함할 수도 있다.LER may include at least two packet engines.

패킷 네트워크는 복수의 LSR (label switch router) 을 포함할 수도 있다. LSR 은 적어도 2 개의 패킷 엔진을 포함할 수도 있다. 각각의 LSR 은 적어도 2 개의 암호 엔진 또는 적어도 4 개의 암호 엔진을 포함할 수도 있다. 암호 엔진은 섹션 암호화에 필요할 수도 있으며 하나의 노드가 하이브리드 LER 및 LSR 모드에서 작업할 수 있기 때문이다. A packet network may include multiple label switch routers (LSRs). An LSR may include at least two packet engines. Each LSR may include at least two crypto engines or at least four crypto engines. A crypto engine may be required for section encryption and one node can work in hybrid LER and LSR mode.

그 방법은 패킷 엔진에 의해, 트래픽 흐름에서 데이터 패킷의 위치들이 변하지 않고 유지되고 모든 패킷이 암호 엔진을 통과할 시 동일한 지연을 경험하도록 보장하기 위해 암호 엔진에 진입하는 데이터 패킷의 흐름을 사전 성형하는 단계를 더 포함할 수도 있다.The method involves pre-shaping, by the packet engine, the flow of data packets entering the crypto engine to ensure that the positions of the data packets in the traffic flow remain unchanged and that all packets experience the same delay when passing through the crypto engine. Additional steps may be included.

데이터 패킷들의 흐름은 데이터 패킷들이 암호 엔진을 떠날 때 암호 엔진에 진입하는 데이터 패킷의 타임 스탬핑 정보가 여전히 유효하도록 사전 성형될 수도 있다.The flow of data packets may be pre-shaped so that the time stamping information of data packets entering the crypto engine is still valid when the data packets leave the crypto engine.

데이터 패킷들의 흐름을 사전 성형하는 단계는 패킷 엔진에 의해, 데이터 패킷의 흐름이 암호 엔진으로 진입하기 전에 패킷간 갭을 확대하는 단계를 포함할 수도 있다.Pre-shaping the flow of data packets may include widening, by the packet engine, gaps between packets before the flow of data packets enters the encryption engine.

데이터 패킷들의 흐름을 사전 성형하는 단계는 패킷 엔진에 의해, 데이터 패킷의 흐름이 암호 엔진으로 진입하기 전에 더미 패킷들을 데이터 패킷들의 흐름 내로 삽입하는 단계를 포함할 수도 있다. 암호 엔진은 제어 정보를 내부에 삽입하기 위해 더미 패킷을 사용할 수도 있다.Pre-shaping the flow of data packets may include inserting, by the packet engine, dummy packets into the flow of data packets before the flow of data packets enters the crypto engine. The crypto engine may also use dummy packets to insert control information inside.

복수의 패킷 엔진 및 복수의 암호 엔진은 공통의 글로벌 정보 엔티티를 사용하여 동일한 트래픽 흐름에 속하는 데이터 패킷의 글로벌 식별을 보장할 수도 있다.Multiple packet engines and multiple cryptographic engines may use common global information entities to ensure global identification of data packets belonging to the same traffic flow.

글로벌 정보 엔티티는 MPLS (Multiprotocol Label Switching) 경로를 나타낼 수도 있다.A global information entity may also represent a Multiprotocol Label Switching (MPLS) path.

데이터 패킷들은 연관된 패킷 엔진을 떠난 직후에 암호 엔진에 의해 암호화될 수도 있다. 데이터 패킷들은 연관된 패킷 엔진에 진입하기 직전에 암호 엔진에 의해 복호화될 수도 있다.Data packets may be encrypted by the crypto engine immediately after leaving the associated packet engine. Data packets may be decrypted by a crypto engine immediately before entering the associated packet engine.

데이터 패킷은 표준화된 프로토콜, 특히 AES, DES, 트리플-DES 로 구성된 그룹으로부터 선택된 표준화된 프로토콜, 또는 오픈 프로토콜, 특히 Blowfish, Twofish, MARS, RC6, Rijndael 및 Serpent 로 구성된 그룹으로부터 선택된 오픈 프로토콜을 사용하여 암호화 또는 복호화될 수도 있다.Data packets are transmitted using standardized protocols, particularly those selected from the group consisting of AES, DES, triple-DES, or open protocols, especially selected from the group consisting of Blowfish, Twofish, MARS, RC6, Rijndael, and Serpent. It may be encrypted or decrypted.

방법은 CEKM 에 의해, 데이터 패킷을 암호화 및 복호화하기 위한 키를 분배하는 단계를 더 포함할 수도 있다.The method may further include distributing, by CEKM, a key for encrypting and decrypting the data packet.

복수의 암호 엔진은 메시지 인증을 수행할 수도 있다.Multiple cryptographic engines may perform message authentication.

메시지 인증은 해시 함수에 기초하는 표준화된 프로토콜, 특히 MD5, SHA-1, SHA-2 및 SHA-3 으로 구성된 그룹으로부터 선택된 표준화된 프로토콜, 또는 오픈 소스 프로토콜을 사용하여 수행될 수도 있다.Message authentication may be performed using standardized protocols based on hash functions, particularly standardized protocols selected from the group consisting of MD5, SHA-1, SHA-2, and SHA-3, or open source protocols.

이 방법은 암호 엔진에 의해, 트래픽 전환을 트리거하기 위해 연관된 패킷 엔진의 인터페이스에 트래픽 손실 정보를 전파하는 단계를 더 포함할 수도 있다.The method may further include propagating, by the crypto engine, traffic loss information to an interface of an associated packet engine to trigger a traffic diversion.

트래픽 손실 정보를 전파하는 단계는 광역 네트워크 (WAN) 대면 라인 인터페이스에 의해 검출된 광학 데이터 접속의 실패에 의해 트리거될 수도 있다.The step of propagating traffic loss information may be triggered by a failure of an optical data connection detected by a wide area network (WAN) facing line interface.

방법은 데이터 흐름의 상태 (health) 를 모니터링하는 단계를 더 포함할 수도 있다.The method may further include monitoring the health of the data flow.

데이터 흐름의 상태를 모니터링하는 단계는 패킷 엔진에 의해 데이터 패킷들의 추가 스트림을 전송하는 것을 포함할 수도 있다.Monitoring the status of the data flow may include transmitting an additional stream of data packets by the packet engine.

데이터 패킷들의 추가의 스트림은 암호 엔진에 의해 암호화되는 패킷들, 및/또는 암호화되지 않고 남아있는 핑 및 추적 루트 메시지를 모니터링하는 것을 포함할 수도 있다.Additional streams of data packets may include monitoring packets that are encrypted by the encryption engine, and/or ping and trace route messages that remain unencrypted.

각각의 암호 엔진은 패킷 추가 없이 그리고 암호 엔진에 의해 수행된 패킷간 갭 확대 없이 암호화 및/또는 인증과 같은 사이버 보안 기능을 각각 수행할 수도 있다.Each cryptographic engine may each perform cybersecurity functions, such as encryption and/or authentication, without packet addition and without inter-packet gap widening performed by the cryptographic engine.

복수의 패킷 엔진은 예를 들어 패킷 엔진들의 포트에서 타임 스탬핑을 수행할 수도 있다. Multiple packet engines may perform time stamping, for example, on their ports.

복수의 패킷 엔진은 타임 스탬핑 컨텍스트 내부에서 동작할 수도 있고, 복수의 암호 엔진은 패킷 네트워크의 타임 스탬핑 컨텍스트 외부에서 동작할 수도 있다. 타임 스탬핑 프로토콜을 인식하지 않은 암호 엔진을 사용함으로써, 복잡성이 감소될 수 있다. The plurality of packet engines may operate within a time stamping context, and the plurality of crypto engines may operate outside the time stamping context of a packet network. By using a cryptographic engine that is not aware of the time stamping protocol, complexity can be reduced.

암호 엔진은 데이터 패킷의 타임 스탬핑과 독립적으로 동작할 수도 있다.The crypto engine may operate independently of the time stamping of data packets.

암호 엔진은 시간 인식되지 않고 토폴로지 인식되지 않은 암호 엔진일 수도 있다.The crypto engine may be a crypto engine that is neither time-aware nor topology-aware.

패킷 네트워크는 산업 자동화 제어 네트워크일 수도 있다.A packet network may also be an industrial automation control network.

패킷 네트워크는 고전압 라인의 자동화, 고속 열차 스티어링 또는 항공 교통 제어를 위한 패킷 네트워크일 수도 있다.A packet network may be a packet network for automation of high-voltage lines, high-speed train steering, or air traffic control.

CEKM 은 암호 엔진 및 키 관리 기능을 수행하는 제 1 서버일 수도 있다.CEKM may be a first server that performs cryptographic engine and key management functions.

PFPM 은 패킷 흐름 경로 관리 기능을 수행하는 제 2 서버일 수도 있다.PFPM may be a second server that performs packet flow path management functions.

본 발명의 다른 양태에 따르면, 패킷 처리를 수행하는 패킷 엔진을 갖는 시간 결정적 패킷 네트워크에서 엔드-투-엔드 데이터 경로를 통한 통신을 보안하기 위한 암호 엔진 및 키 관리자 (CEKM) 가 제공되며, 패킷 네트워크는 패킷 네트워크의 트래픽 흐름 노드를 구성하는 패킷 흐름 경로 관리자 (PFPM) 를 포함한다. CEKM 은 PFPM 으로부터 엔드-투-엔드 데이터 경로의 데이터 흐름 토폴로지에 관한 정보를 수신하기 위한 제 1 인터페이스, 개별 패킷 엔진과 각각 연관되고 별도로 제공되는 복수의 암호 엔진에 구성 정보를 제공하기 위한 제 2 인터페이스로서, 상기 복수의 암호 엔진들은 적어도 하나의 사이버 보안 기능을 수행하도록 구성되는, 상기 제 2 인터페이스, 및 데이터 흐름 토폴로지에 기초하여 구성 정보를 생성하도록 구성된 적어도 하나의 프로세서를 포함한다.According to another aspect of the invention, a cryptographic engine and key manager (CEKM) is provided for securing communications over an end-to-end data path in a time-critical packet network having a packet engine that performs packet processing, the packet network It includes the Packet Flow Path Manager (PFPM), which configures the traffic flow nodes of the packet network. The CEKM has a first interface for receiving information about the data flow topology of the end-to-end data path from the PFPM, and a second interface for providing configuration information to a plurality of separately provided crypto engines, each associated with an individual packet engine. wherein the plurality of cryptographic engines includes the second interface configured to perform at least one cybersecurity function, and at least one processor configured to generate configuration information based on a data flow topology.

CEKM 은 복수의 암호 엔진의 하드웨어 정의된 식별자를 발견하고, 하드웨어 정의된 식별자를 PFPM 에 제공하도록 구성될 수도 있다.CEKM may be configured to discover hardware-defined identifiers of multiple cryptographic engines and provide the hardware-defined identifiers to PFPM.

CEKM 은 하드웨어 정의된 식별자 및 알람 이외의 정보의 PFPM 으로의 송신을 차단하도록 구성될 수도 있다.CEKM may be configured to block transmission of information other than hardware-defined identifiers and alarms to the PFPM.

CEKM 은 PFPM 이 실행되는 제 2 서버와 상이한 제 1 서버에서 실행될 수도 있다.CEKM may run on a first server that is different from the second server on which PFPM runs.

CEKM 은 보안 채널을 통해 PFPM 과 통신하도록 동작할 수도 있다.CEKM may operate to communicate with PFPM over a secure channel.

CEKM 은 복수의 암호 엔진을 구성하기 위해 PFPM 으로부터 엔드-투-엔드 데이터 경로의 데이터 흐름 토폴로지에 관한 정보를 수신하도록 동작할 수도 있다.The CEKM may operate to receive information about the data flow topology of the end-to-end data path from the PFPM to configure multiple cryptographic engines.

CEKM 은 복수의 암호 엔진들 각각에 통신가능하게 접속될 수도 있다.A CEKM may be communicatively connected to each of a plurality of cryptographic engines.

CEKM 은 암호 엔진을 구성하기 위해 및/또는 통지를 위해 보안 프로토콜을 통해 복수의 암호 엔진 중 각각의 하나와 통신하도록 동작할 수도 있다.The CEKM may be operative to communicate with each one of a plurality of cryptographic engines via a secure protocol for notification and/or to configure the cryptographic engines.

CEKM 과 PFPM 간에 교환되는 정보는 비트 윈도우를 구성하기 위해 사용될 수도 있다.Information exchanged between CEKM and PFPM may be used to configure a bit window.

CEKM 은 각각의 암호 엔진에 대해 각각 비트 윈도우를 구성하도록 동작할 수도 있으며, 여기서 암호 엔진은 데이터 패킷이 암호 엔진에 의해 프로세싱될지 여부를 결정하기 위해 프로그램가능 비트 윈도우에 따라 데이터 패킷의 비트들을 선택한다.The CEKM may operate to configure a respective bit window for each crypto engine, where the crypto engine selects bits of a data packet according to a programmable bit window to determine whether the data packet will be processed by the crypto engine. .

CEKM 은 상이한 암호 엔진에 대해 상이하게 비트 윈도우를 구성하도록 동작할 수도 있다. 예시를 위해, 비트 윈도우는 암호화된 엔드-투-엔드 경로의 2 개의 엔드포인트에 대해 상이하게 구성될 수도 있다.CEKM may operate to configure bit windows differently for different cryptographic engines. For illustration purposes, the bit window may be configured differently for the two endpoints of an encrypted end-to-end path.

CEKM 은 각각 PFPM 으로부터 수신된 정보에 기초하여, 복수의 암호 엔진에 대한 비트 윈도우를 구성하도록 동작할 수도 있다.The CEKM may operate to configure bit windows for multiple cryptographic engines, respectively, based on information received from the PFPM.

CEKM 은 각각 PFPM 으로부터의 정보에 기초하여, 엔드-투-엔드 터널의 제 1 엔드포인트 노드와 연관된 제 1 암호 엔진 및 제 1 엔드포인트 노드와 연관된 제 2 암호 엔진을 구성하도록 동작할 수도 있다. 제 1 및 제 2 암호 엔진은 MPLS 네트워크를 통한 작업 및 보호 경로를 위해, 암호화 또는 인증과 같은 사이버 보안 기능을 각각 수행할 수도 있다.The CEKM may operate to configure a first cryptographic engine associated with the first endpoint node of the end-to-end tunnel and a second cryptographic engine associated with the first endpoint node, respectively, based on information from the PFPM. The first and second cryptographic engines may respectively perform cybersecurity functions, such as encryption or authentication, for operation and protection paths over the MPLS network.

CEKM 은 엔드-투-엔드 터널 상의 역 송신 방향을 위해 제 1 엔드포인트 노드와 연관된 제 3 암호 엔진 및 제 1 엔드포인트 노드와 연관된 제 4 암호 엔진을 구성하도록 동작할 수도 있다. 제 3 암호 엔진 및 제 4 암호 엔진은 각각 제 1 및 제 2 암호 엔진들보다 역 흐름 방향에 대해, MPLS 네트워크를 통한 작업 및 보호 경로에 대해 암호화 또는 인증과 같은 사이버 보안 기능을 각각 수행할 수도 있다.The CEKM may be operative to configure a third cryptographic engine associated with the first endpoint node and a fourth cryptographic engine associated with the first endpoint node for a reverse transmission direction on an end-to-end tunnel. The third cryptographic engine and the fourth cryptographic engine may respectively perform cybersecurity functions, such as encryption or authentication, for a reverse flow direction than the first and second cryptographic engines, respectively, for the operation and protection path through the MPLS network. .

CEKM 은 엔드-투-엔드 터널의 제 2 엔드포인트 노드와 연관된 2 개 또는 4 개의 암호 엔진을 구성하도록 동작할 수도 있다.CEKM may operate to configure two or four cryptographic engines associated with the second endpoint node of the end-to-end tunnel.

CEKM 은 데이터 패킷들을 암호화 및 복호화하기 위한 키를 복수의 암호 엔진에 분배하도록 동작할 수도 있다.CEKM may operate to distribute keys for encrypting and decrypting data packets to multiple cryptographic engines.

CEKM 은 암호 엔진 및 키 관리 기능을 수행하는 제 1 서버일 수도 있다.CEKM may be a first server that performs cryptographic engine and key management functions.

다른 실시형태에 따르면, 암호 엔진이 제공된다. 암호 엔진은 시간 결정적 패킷 네트워크에 대한 패킷 처리를 수행하는 패킷 엔진에 직접 접속되도록 구성된 제 1 인터페이스를 포함한다. 암호 엔진은 엔드포인트 노드의 네트워크 대면 포트 또는 엔드포인트 노드에 접속된 트랜짓 노드에 접속되도록 구성된 제 2 인터페이스를 포함한다. 암호 엔진은 암호 엔진 및 키 관리자 (CEKM) 로부터 구성 정보를 수신하도록 구성된 제 3 인터페이스를 포함한다. 암호 엔진은 트래픽 흐름에서 데이터 패킷의 순서를 변경하지 않고 암호 엔진을 통한 트래픽 흐름의 데이터 패킷에 암호화/복호화 및/또는 인증과 같은 사이버 보안 기능을 수행하도록 동작한다.According to another embodiment, a cryptographic engine is provided. The crypto engine includes a first interface configured to connect directly to a packet engine that performs packet processing for a time-critical packet network. The cryptographic engine includes a second interface configured to connect to a network-facing port of the endpoint node or a transit node connected to the endpoint node. The cryptographic engine includes a third interface configured to receive configuration information from a cryptographic engine and key manager (CEKM). The cryptographic engine operates to perform cybersecurity functions, such as encryption/decryption and/or authentication, on data packets of traffic flowing through the cryptographic engine without changing the order of the data packets in the traffic flow.

암호 엔진은 패킷 추가 없이 그리고 모든 패킷에 대해 동일한 지연을 유지함으로써 사이버 보안 기능을 수행하도록 동작할 수도 있다.The cryptographic engine may operate to perform cybersecurity functions without packet addition and by maintaining the same delay for all packets.

암호 엔진은 데이터 네트워크의 토폴로지에 관한 정보를 갖지 않고 (즉, 비-토폴로지-인식으로) 그리고 데이터 패킷의 타임 스탬핑 정보를 사용하지 않고 (즉, 비-시간-인식으로) 보안 기능을 수행하도록 동작할 수도 있다.The cryptographic engine operates to perform security functions without having any information about the topology of the data network (i.e., non-topology-aware) and without using time-stamping information of the data packets (i.e., non-time-aware). You may.

암호 엔진은 데이터 패킷이 연관된 패킷 엔진을 떠난 직후에 데이터 패킷을 암호화하거나 또는 연관된 패킷 엔진에 진입하기 직전에 데이터 패킷을 복호화하도록 동작할 수도 있다.The crypto engine may operate to encrypt the data packet immediately after the data packet leaves the associated packet engine or to decrypt the data packet immediately before entering the associated packet engine.

암호 엔진은 표준화된 프로토콜, 특히 AES, DES, 트리플-DES 로 구성된 그룹으로부터 선택된 표준화된 프로토콜, 또는 오픈 프로토콜, 특히 Blowfish, Twofish, MARS, RC6, Rijndael 및 Serpent 로 구성된 그룹으로부터 선택된 오픈 프로토콜을 사용하여 암호화 및/또는 복호화를 수행하도록 동작할 수도 있다.The crypto engine uses either standardized protocols, particularly those selected from the group consisting of AES, DES, and triple-DES, or open protocols, especially those selected from the group consisting of Blowfish, Twofish, MARS, RC6, Rijndael, and Serpent. It may operate to perform encryption and/or decryption.

암호 엔진은 메시지 인증을 수행하도록 동작할 수도 있다. 메시지 인증은 해시 함수에 기초하는 표준화된 프로토콜, 특히 MD5, SHA-1, SHA-2 및 SHA-3 으로 구성된 그룹으로부터 선택된 표준화된 프로토콜, 또는 오픈 소스 프로토콜을 사용하여 수행될 수도 있다.The cryptographic engine may operate to perform message authentication. Message authentication may be performed using standardized protocols based on hash functions, particularly standardized protocols selected from the group consisting of MD5, SHA-1, SHA-2, and SHA-3, or open source protocols.

암호 엔진은 트래픽 전환을 트리거하기 위해 연관된 암호 엔진의 인터페이스에 트래픽 손실 정보를 전파하도록 동작할 수도 있다.A crypto engine may be operative to propagate traffic loss information to an interface of an associated crypto engine to trigger a traffic diversion.

암호 엔진은 광역 네트워크 (WAN) 대면 라인 인터페이스에 의해 검출된 광학 데이터 접속의 실패에 응답하여 트래픽 손실 정보를 전파하도록 동작할 수도 있다.The cryptographic engine may operate to propagate traffic loss information in response to a failure of an optical data connection detected by a wide area network (WAN) facing line interface.

암호 엔진의 제 1 인터페이스는 적어도 하나의 광 케이블 또는 적어도 하나의 이더넷 케이블을 통해 패킷 엔진에 직접 접속될 수도 있다.The first interface of the crypto engine may be connected directly to the packet engine via at least one optical cable or at least one Ethernet cable.

본 발명의 일 양태에 따른 네트워크는 시간 결정적 패킷 네트워크에서 패킷 처리를 수행하는 복수의 패킷 엔진; 패킷 네트워크의 트래픽 흐름 노드에 구성 정보를 제공하도록 동작하는 패킷 흐름 경로 관리자 (PFPM); 일 실시형태에 따른 복수의 암호 엔진으로서, 상기 암호 엔진은 각각 연관된 패킷 엔진으로부터 트래픽 흐름의 데이터 패킷을 수신하거나 또는 연관된 패킷 엔진에 트래픽 흐름의 데이터 패킷을 제공하도록 동작하는, 상기 복수의 암호 엔진들; 및 PFPM 서버 및 복수의 암호 엔진에 커플링되는 일 실시형태에 따른 암호 엔진 및 키 관리자 (CEKM) 를 포함한다.A network according to an aspect of the present invention includes a plurality of packet engines that perform packet processing in a time-critical packet network; a packet flow path manager (PFPM) that operates to provide configuration information to traffic flow nodes in a packet network; A plurality of cryptographic engines according to an embodiment, wherein each cryptographic engine is operative to receive data packets of a traffic flow from an associated packet engine or to provide data packets of a traffic flow to an associated packet engine. ; and a cryptographic engine and key manager (CEKM) according to one embodiment coupled to a PFPM server and a plurality of cryptographic engines.

네트워크는 산업 자동화 제어 시스템 (IACS) 의 네트워크일 수도 있다.The network may be a network of industrial automation control systems (IACS).

PFPM 은 엔드포인트 노드 및 패킷 네트워크의 엔드-투-엔드 데이터 경로의 중간 트랜짓 노드를 설정하도록 동작할 수도 있다. PFPM may operate to establish endpoint nodes and intermediate transit nodes of the end-to-end data path of the packet network.

PFPM 은 MPLS 네트워크의 엔드포인트 노드에 대한 예들인 LER들에서 패킷 엔진을 설정하도록 동작할 수도 있다.PFPM may operate to configure packet engines in LERs, for example endpoint nodes in an MPLS network.

PFPM 은 MPLS 네트워크의 중간 트랜짓 노드에 대한 예들인 LSR들에서 패킷 엔진을 설정하도록 동작할 수도 있다.PFPM may operate to configure packet engines in LSRs, for example intermediate transit nodes in an MPLS network.

PFPM 은 패킷 네트워크의 모든 엔드포인트 노드 (예를 들어, 모든 LER 의 패킷 엔진) 및 모든 중간 트랜짓 노드 (예를 들어, 모든 LSR 의 패킷 엔진) 에 통신 가능하게 접속될 수도 있다.The PFPM may be communicatively connected to all endpoint nodes (e.g., packet engines of every LER) and all intermediate transit nodes (e.g., packet engines of every LSR) of the packet network.

PFPM 은 패킷 흐름 경로 관리 기능을 수행하는 제 2 서버일 수도 있다.PFPM may be a second server that performs packet flow path management functions.

CEKM 은 PFPM 에 제공되는 정보를 복수의 암호 엔진 및 알람의 하드웨어 식별자로 제한하도록 동작할 수도 있다.CEKM may operate to limit the information provided to PFPM to a plurality of crypto engines and hardware identifiers of alarms.

각각의 암호 엔진은 각각 비트 윈도우를 사용하여 데이터 패킷으로부터 비트를 선택하도록 동작할 수도 있으며, 여기서 프로그램가능한 비트 윈도우에 따라 선택된 비트는 암호 엔진에 의해 프로세싱될 데이터 패킷을 식별한다.Each cryptographic engine may operate to select a bit from a data packet using a respective bit window, where the bits selected according to the programmable bit window identify the data packet to be processed by the cryptographic engine.

CEKM 은 프로그램가능 비트 윈도우를 구성하도록 동작할 수도 있다.CEKM may operate to configure a programmable bit window.

프로그램가능 비트 윈도우는 엔드-투-엔드 데이터 경로의 진입 노드 및 진출 노드에서 상이할 수도 있다.The programmable bit window may be different at the entry and exit nodes of the end-to-end data path.

네트워크는 LER (label edge router) 을 포함할 수도 있다. 라벨 에지 라우터는 MPLS (Multi Label Protocol Switching) 터널의 작업 경로를 위한 제 1 암호 엔진 및 작업 경로에 대해 보호를 제공하는 보호 경로를 위한 제 2 암호 엔진을 포함할 수도 있다.The network may also include label edge routers (LERs). The label edge router may include a first crypto engine for the working path of the Multi Label Protocol Switching (MPLS) tunnel and a second crypto engine for the protection path to provide protection for the working path.

LER 은 작업 경로상의 역 송신 방향을 위한 제 3 암호 엔진 및 보호 경로상의 역 송신 방향을 위한 제 4 암호 엔진을 포함할 수도 있다.The LER may include a third cryptographic engine for the reverse transmission direction on the working path and a fourth cryptographic engine for the reverse transmission direction on the protection path.

LER 은 적어도 2 개의 패킷 엔진을 포함할 수도 있다.LER may include at least two packet engines.

패킷 네트워크는 복수의 LSR (label switch router) 을 포함할 수도 있다. LSR 은 적어도 2 개의 패킷 엔진 및 적어도 4 개의 암호 엔진을 포함할 수도 있다. A packet network may include multiple label switch routers (LSRs). An LSR may include at least two packet engines and at least four crypto engines.

복수의 패킷 엔진은 각각 트래픽 흐름에서 데이터 패킷의 위치들이 암호 엔진을 통과할 시 변화되지 않고 유지되도록 보장하기 위해 암호 엔진에 진입하는 데이터 패킷의 흐름을 사전 성형하도록 구성될 수도 있다.The plurality of packet engines may each be configured to pre-shape the flow of data packets entering the crypto engine to ensure that the positions of the data packets in the traffic flow remain unchanged as they pass through the crypto engine.

패킷 엔진은 데이터 패킷들이 암호 엔진을 떠날 때 암호 엔진에 진입하는 데이터 패킷의 타임 스탬핑 정보가 여전히 유효하도록 데이터 패킷들의 흐름을 사전 성형하도록 동작할 수도 있다.The packet engine may operate to pre-shape the flow of data packets such that time stamping information of data packets entering the crypto engine is still valid when the data packets leave the crypto engine.

패킷 엔진은 데이터 패킷의 흐름이 암호 엔진으로 진입하기 전에 패킷간 갭을 확대하도록 동작할 수도 있다.The packet engine may operate to widen the inter-packet gap before the flow of data packets enters the encryption engine.

패킷 엔진은 데이터 패킷의 흐름이 암호 엔진으로 진입하기 전에 더미 패킷들을 데이터 패킷들의 흐름으로 삽입하도록 동작할 수도 있다. The packet engine may operate to insert dummy packets into the flow of data packets before the flow of data packets enters the encryption engine.

암호 엔진은 제어 정보를 내부에 삽입하기 위해 더미 패킷을 사용하도록 동작할 수도 있다.The crypto engine may operate to use dummy packets to insert control information therein.

복수의 패킷 엔진 및 복수의 암호 엔진은 공통의 글로벌 정보 엔티티를 사용하여 동일한 트래픽 흐름에 속하는 데이터 패킷의 글로벌 식별을 보장하도록 동작할 수도 있다.The plurality of packet engines and the plurality of cryptographic engines may operate to ensure global identification of data packets belonging to the same traffic flow using common global information entities.

글로벌 정보는 MPLS (Multiprotocol Label Switching) 경로를 나타낼 수도 있다.Global information may also indicate Multiprotocol Label Switching (MPLS) paths.

네트워크는 데이터 흐름의 상태 모니터링을 수행하도록 동작할 수도 있다. 데이터 흐름의 상태를 모니터링하는 단계는 데이터 패킷들의 추가 스트림을 전송하는 단계를 포함할 수도 있다. 데이터 패킷들의 추가의 스트림은 암호 엔진에 의해 암호화되는 패킷들, 및/또는 암호화되지 않고 남아있는 핑 및 추적 루트 메시지를 모니터링하는 단계를 포함할 수도 있다.The network may operate to perform state monitoring of data flows. Monitoring the status of the data flow may include transmitting an additional stream of data packets. Additional streams of data packets may include monitoring packets that are encrypted by the encryption engine, and/or ping and trace route messages that remain unencrypted.

각각의 암호 엔진은 각각 패킷 추가 없이 그리고 암호 엔진에 의해 모든 패킷들에 대해 동일한 지연을 유지함으로써 암호화 및/또는 인증과 같은 사이버 보안 기능을 수행하도록 동작할 수도 있다.Each cryptographic engine may operate to perform cybersecurity functions, such as encryption and/or authentication, without each packet append and by maintaining the same delay for all packets by the cryptographic engine.

복수의 패킷 엔진은 각각 예를 들어 패킷 엔진들의 포트에서 타임 스탬핑을 수행하도록 동작할 수도 있다.The plurality of packet engines may each operate to perform time stamping, for example, on their ports.

복수의 패킷 엔진은 각각 타임 스탬핑 컨텍스트 내부에서 동작할 수도 있고, 복수의 암호 엔진은 패킷 네트워크의 타임 스탬핑 컨텍스트 외부에서 동작할 수도 있다. 타임 스탬핑 프로토콜을 인식하지 않은 암호 엔진을 사용함으로써, 복잡성이 감소될 수 있다.The plurality of packet engines may each operate within a time stamping context, and the plurality of crypto engines may operate outside the time stamping context of the packet network. By using a cryptographic engine that is not aware of the time stamping protocol, complexity can be reduced.

암호 엔진은 데이터 패킷의 타임 스탬핑과 독립적으로 동작할 수도 있다.The crypto engine may operate independently of the time stamping of data packets.

암호 엔진은 시간 비인식 및 토폴로지 비인식 암호 엔진일 수도 있다.The crypto engine may be a time-unaware and topology-unaware crypto engine.

패킷 네트워크는 IACS 의 네트워크일 수도 있다.The packet network may also be a network of IACS.

패킷 네트워크는 고전압 라인의 자동화, 고속 열차 스티어링 또는 항공 교통 제어를 위한 패킷 네트워크일 수도 있다.A packet network may be a packet network for automation of high-voltage lines, high-speed train steering, or air traffic control.

다른 실시형태에 따르면, 네트워크와 연관하여 설명된 바와 같이 동작하는 PFPM 이 제공된다.According to another embodiment, a PFPM is provided that operates as described in connection with a network.

복잡한 메쉬형 패킷 네트워크 토폴로지를 통해 암호화 및/또는 인증된 데이터의 송신을 위한 방법, 디바이스 및 시스템은 타이밍된 네트워크에 대한 강화된 보안을 제공한다.Methods, devices, and systems for transmission of encrypted and/or authenticated data over complex meshed packet network topologies provide enhanced security for timed networks.

본 발명의 실시형태는 이에 제한되지 않고, 고전압 라인의 자동화와 같은 미션 크리티컬 패킷 네트워크에 채용될 수도 있다.Embodiments of the present invention are not limited thereto, but may also be employed in mission-critical packet networks such as automation of high-voltage lines.

본 발명의 주제는 첨부 도면에 도시된 바람직한 예시적인 실시형태를 참조하여 보다 상세하게 설명될 것이다.
도 1 은 일 실시형태에 따른 패킷 엔진 및 암호 엔진을 포함하는 네트워크의 개략적 표현이다.
도 2 는 일 실시형태에 따른 패킷 엔진 및 암호 엔진을 포함하는 네트워크의 개략적 표현이다.
도 3 은 일 실시형태에 따른 네트워크의 컴포넌트들의 블록도이다.
도 4 는 암호화 동작 이전 및 이후의 데이터 패킷을 나타내는 도면이다.
도 5 는 암호화 및 인증 동작 이전 및 이후의 데이터 패킷을 나타내는 도면이다.
도 6 은 실시형태들에 따른 패킷 엔진 및 암호 엔진을 포함하는 LSR (label switch router) 의 블록도이다.
도 7 은 실시형태들에 따른 패킷 엔진 및 암호 엔진을 포함하는 LER (label edge router) 의 블록도이다.
도 8 은 데이터 패킷 또는 데이터 패킷의 흐름이 프로세싱될지 여부를 결정하는데 사용될 수도 있는 라벨 스택 인코딩을 나타내는 도면이다.
도 9 는 일 실시형태에 따른 패킷 엔진 및 암호 엔진을 포함하는 네트워크의 개략도이다.
도 10 은 일 실시형태에 따른 암호 엔진의 블록도이다.
도 11 은 일 실시형태에 따른 방법의 흐름도이다.
도 12 는 일 실시형태에 따른 방법의 흐름도이다.
The subject matter of the present invention will be explained in more detail with reference to preferred exemplary embodiments shown in the accompanying drawings.
1 is a schematic representation of a network including a packet engine and a crypto engine according to one embodiment.
Figure 2 is a schematic representation of a network including a packet engine and a crypto engine according to one embodiment.
3 is a block diagram of components of a network according to one embodiment.
4 is a diagram showing data packets before and after an encryption operation.
Figure 5 is a diagram showing data packets before and after encryption and authentication operations.
6 is a block diagram of a label switch router (LSR) including a packet engine and a crypto engine according to embodiments.
7 is a block diagram of a label edge router (LER) including a packet engine and a crypto engine according to embodiments.
Figure 8 is a diagram illustrating label stack encoding that may be used to determine whether a data packet or flow of data packets will be processed.
9 is a schematic diagram of a network including a packet engine and a crypto engine according to one embodiment.
Figure 10 is a block diagram of a cryptographic engine according to one embodiment.
11 is a flow diagram of a method according to one embodiment.
12 is a flow diagram of a method according to one embodiment.

본 발명의 예시적인 실시형태는 동일하거나 유사한 참조 부호가 동일하거나 유사한 요소를 나타내는 도면을 참조하여 설명될 것이다. 일부 실시형태는 MPLS (Multiprotocol Label Switching) 네트워크 또는 MPLS-TP (MPLS-Transport Profile) 네트워크와 같은 예시적인 네트워크와 관련하여 설명될 것이지만, 아래에서 상세히 설명되는 방법 및 디바이스는 일반적으로 메시형의 복잡한 패킷 네트워크 토폴로지를 통해 암호화된 및 인증된 데이터의 송신을 위해 사용될 수도 있다.Exemplary embodiments of the present invention will be described with reference to the drawings, wherein identical or similar reference numerals represent identical or similar elements. Although some embodiments will be described in the context of example networks, such as Multiprotocol Label Switching (MPLS) networks or MPLS-Transport Profile (MPLS-TP) networks, the methods and devices detailed below are generally used for meshed, complex packets. It may also be used for transmission of encrypted and authenticated data over a network topology.

엔드-투-엔드 암호화 및/또는 인증이 수행되는 실시형태들이 설명될 것이지만, 여기에 개시된 기술들은 또한, 엔드-투-엔드 경로의 세그먼트들을 따라 암호화 및/또는 인증을 위해 사용될 수도 있다.Although embodiments will be described in which end-to-end encryption and/or authentication is performed, the techniques disclosed herein may also be used for encryption and/or authentication along segments of an end-to-end path.

본원에 개시된 실시형태들에서, 양방향 보호 터널을 형성하기 위해, 작업 경로와 보호 경로 양자가 확립될 수도 있다. 본 명세서에서 사용되는 바와 같이, "MPLS-TP Rosetta Stone" (2013 년 12 월) 이라는 제목의 RFC 7087, 섹션 3.42.1 및 3.42.2 및 "MPLS-TP Survivability Framework" (2011 년 9 월) 이라는 제목의 RFC 6372 에 따라, "작업 경로" 라는 용어는 특히 정상 네트워크 동작 동안 트래픽을 운반하는 경로를 지칭할 수도 있고, "보호 경로" 라는 용어는 특히 작업 경로가 실패할 때 트래픽을 보호 및 전송하는데 사용되는 경로를 지칭할 수도 있다. 작업 경로를 따르는 패킷 또는 암호 엔진과 같은 엔티티는 "MPLS-TP Rosetta Stone" (2013 년 12 월) 이라는 제목의 RFC 7087, 섹션 3.42.1 에 따른 작업 엔티티들이다. 보호 경로를 따르는 패킷 또는 암호 엔진과 같은 엔티티는 "MPLS-TP Rosetta Stone" (2013 년 12 월) 이라는 제목의 RFC 7087, 섹션 3.42.2 에 따른 보호 엔티티들이다.In embodiments disclosed herein, both a working path and a protection path may be established to form a two-way protection tunnel. As used herein, RFC 7087, sections 3.42.1 and 3.42.2, entitled “MPLS-TP Rosetta Stone” (December 2013) and “MPLS-TP Survivability Framework” (September 2011). Per RFC 6372 entitled, the term "working path" may refer specifically to a path that carries traffic during normal network operation, and the term "protection path" may specifically refer to a path that carries traffic and protects it when the working path fails. It can also refer to the path being used. Entities such as packets or crypto engines along the work path are work entities according to RFC 7087, section 3.42.1, entitled "MPLS-TP Rosetta Stone" (December 2013). Entities such as packets or crypto engines along the protected path are protected entities according to RFC 7087, section 3.42.2, entitled "MPLS-TP Rosetta Stone" (December 2013).

본원에 사용되는 것과 같이, 용어 "패킷" 은 패킷화된 데이터 구조를 지칭한다. 본원에 사용되는 것과 같이, 용어 "패킷" 은 데이터 프레임을 포함할 수도 있다. 패킷은 데이터 프레임이거나 데이터 프레임을 포함할 수도 있다.As used herein, the term “packet” refers to a packetized data structure. As used herein, the term “packet” may include a data frame. A packet may be or contain a data frame.

본 명세서에 설명되는 것과 같이, "암호 엔진" 은 암호 엔진 인스턴스로서 구현될 수도 있다. 암호 엔진의 하나의 하드웨어 구현은 복수의 암호 엔진 인스턴스, 예를 들어 포트 및 방향당 인스턴스를 제공할 수도 있다. 그러나, 암호 엔진 하드웨어는 임의의 경우에 각각의 패킷 엔진과 분리될 수도 있다.As described herein, a “cryptographic engine” may be implemented as a cryptographic engine instance. One hardware implementation of a cryptographic engine may provide multiple cryptographic engine instances, for example, instances per port and direction. However, the crypto engine hardware may in some cases be separate from each packet engine.

달리 구체적으로 언급되지 않는 한, 실시형태의 특징은 서로 조합될 수도 있다.Unless specifically stated otherwise, features of the embodiments may be combined with each other.

도 1 은 네트워크 (10) 의 개략적 표현이다. 네트워크 (10) 는 시간 결정적 패킷 네트워크를 포함할 수도 있다. 패킷 네트워크는 복수의 노드 (11, 21, 31) 를 가질 수도 있다. 복수의 노드 (11, 21, 31) 는 각각 MPLS-TP 네트워크 (16, 17, 18) 를 통해 통신가능하게 커플링될 수도 있다. 복수의 노드 (11, 21, 31) 는 송신 경로의 엔드포인트 노드 및 중간 노드 (또는 홉) 를 포함할 수도 있다. MPLS-TP 네트워크의 경우, 엔드포인트 노드는 LER들 (label edge routers) 일 수도 있고 중간 노드는 LSR들 (label switch routers) 일 수도 있다. 패킷 네트워크는 타이밍 네트워크일 수도 있고, 타임 스탬핑은 노드 (11, 21, 31) 의 패킷 엔진에 의해 수행된다.1 is a schematic representation of network 10. Network 10 may include a time-critical packet network. A packet network may have a plurality of nodes (11, 21, 31). A plurality of nodes 11, 21, and 31 may be communicatively coupled via MPLS-TP networks 16, 17, and 18, respectively. The plurality of nodes 11, 21, 31 may include endpoint nodes and intermediate nodes (or hops) of the transmission path. For MPLS-TP networks, endpoint nodes may be label edge routers (LERs) and intermediate nodes may be label switch routers (LSRs). The packet network may be a timing network, with time stamping performed by the packet engine of nodes 11, 21, and 31.

노드들 (11, 21, 31) 은 각각 연관된 패킷 엔진 (12, 22, 32) 과 물리적으로 분리된 패킷 엔진 (12, 22, 32) 및 암호 엔진 (14, 24, 34) 을 포함할 수도 있다. 각각의 암호 엔진 (14, 24, 34) 은 예를 들어 이더넷 케이블 또는 광 케이블을 통해 연관된 패킷 엔진 (12, 22, 32) 에 직접 결합될 수도 있다. 이더넷 케이블 또는 광 케이블의 대향 단부들은 패킷 엔진 (12, 22, 32) 및 암호 엔진 (14, 24, 34) 에 직접 부착될 수도 있다. Nodes 11, 21, 31 may include associated packet engines 12, 22, 32 and physically separate packet engines 12, 22, 32 and crypto engines 14, 24, 34, respectively. . Each crypto engine 14, 24, 34 may be coupled directly to an associated packet engine 12, 22, 32, for example via an Ethernet cable or optical cable. Opposite ends of the Ethernet cable or optical cable may be attached directly to the packet engine 12, 22, 32 and the crypto engine 14, 24, 34.

본원에서 사용되는 것과 같이, 용어 "암호 엔진" 은 암호화/복호화 및/또는 인증 동작을 수행하도록 동작하는 디바이스를 지칭한다. 암호 엔진은 옵션적으로 암호화/복호화 및/또는 인증 동작을 수행하기 위한 물리적 난수 생성기와 같은 전용 컴포넌트를 가질 수도 있다.As used herein, the term “cryptographic engine” refers to a device that operates to perform encryption/decryption and/or authentication operations. The cryptographic engine may optionally have dedicated components such as a physical random number generator to perform encryption/decryption and/or authentication operations.

각각의 암호 엔진 하드웨어 (14, 24, 34) 는 상이한 포트 또는 개별 노드에서 상이한 포트 및 패킷 흐름 방향에 대응할 수도 있는, 복수의 암호 엔진 인스턴스를 가질 수도 있음이 인식될 것이다.It will be appreciated that each cryptographic engine hardware 14, 24, 34 may have multiple cryptographic engine instances, which may correspond to different ports and packet flow directions on different ports or individual nodes.

본원에서 사용되는 것과 같이, 용어 "패킷 엔진" 은 패킷 처리를 수행하도록 동작하는 디바이스를 지칭한다. 패킷 엔진은 패킷 스위치를 포함할 수도 있고, 더미 패킷을 데이터 패킷의 흐름에 삽입할 수도 있다. 패킷 엔진은 시간 인식되고, 패킷 엔진의 입구 포트 또는 출구 포트에서 타임 스탬핑을 수행하도록 동작할 수도 있다.As used herein, the term “packet engine” refers to a device that operates to perform packet processing. The packet engine may include a packet switch and may insert dummy packets into the flow of data packets. The packet engine is time aware and may operate to perform time stamping at the ingress or egress port of the packet engine.

본 명세서에 사용된 바와 같이, 엔티티가 2 개의 다른 엔티티들 (예를 들어, 패킷 엔진과 트랜짓 노드 사이에 배치된 암호 엔진) 사이에 배치된다는 진술은 데이터 흐름 경로를 따르는 배열, 즉 패킷이 엔티티를 통과하는 순서를 기술한다.As used herein, the statement that an entity is disposed between two other entities (e.g., a crypto engine placed between a packet engine and a transit node) refers to the arrangement along the data flow path, i.e., the packet is placed between the entities. Describe the order of passage.

각각의 패킷 엔진 (12, 22, 32) 은 복수의 포트들 (13, 23, 33) 을 각각 가질 수도 있다. 각각의 암호 엔진 (14, 24, 34) 은 복수의 포트들 (15, 25, 35) 을 각각 가질 수도 있다. 암호 엔진 (14, 24, 34) 의 입구 포트는 각각 연관된 패킷 엔진 (12, 22, 32) 의 출구 포트와 연결될 수도 있다. 암호 엔진 (14, 24, 34) 의 입구 포트는 각각 연관된 패킷 엔진 (12, 22, 32) 의 출구 포트와 연결될 수도 있다. 각각의 암호 엔진 (14, 24, 34) 은 암호화되지 않은 링크를 통해 연관된 패킷 엔진 (12, 22, 32) 에 커플링될 수도 있다. Each packet engine 12, 22, 32 may have a plurality of ports 13, 23, 33 respectively. Each crypto engine 14, 24, 34 may have a plurality of ports 15, 25, 35 respectively. The ingress port of the crypto engine 14, 24, 34 may be connected to the egress port of the associated packet engine 12, 22, 32, respectively. The ingress port of the crypto engine 14, 24, 34 may be connected to the egress port of the associated packet engine 12, 22, 32, respectively. Each cryptographic engine 14, 24, 34 may be coupled to an associated packet engine 12, 22, 32 via an unencrypted link.

상이한 암호 엔진 (14, 24, 34) 은 암호화된 경로를 통해, 예를 들어 MPLS-TP 네트워크를 통해 데이터 트래픽을 송신할 수도 있다.Different cryptographic engines 14, 24, 34 may transmit data traffic over an encrypted path, for example over an MPLS-TP network.

패킷 엔진 (12, 22, 32) 은 각각 패킷 처리를 담당한다. 패킷 엔진 (12, 22, 32) 은 패킷 포워딩, 개별 스위칭을 담당할 수도 있다. 모든 패킷 처리, 필터링 및 큐잉은 패킷 엔진 (12, 22, 32) 에서 실행된다.Packet engines 12, 22, and 32 are each responsible for packet processing. Packet engines 12, 22, and 32 may be responsible for packet forwarding and individual switching. All packet processing, filtering and queuing are performed in packet engines 12, 22 and 32.

암호 엔진 (14, 24, 34) 은 암호화 및/또는 인증 동작을 수행한다. 본 명세서에서 사용되는 것과 같은 용어 "암호화 동작" 은 일반적으로 암호화된 송신과 연관된 동작을 포함하고, 따라서 보안 엔드-투-엔드 경로의 수신 엔드포인트에서 복호화를 포함할 수도 있는 것이 이해될 것이다.Cryptographic engines 14, 24, 34 perform encryption and/or authentication operations. It will be understood that the term “encryption operations” as used herein generally includes operations associated with encrypted transmission, and therefore may also include decryption at the receiving endpoint of the secure end-to-end path.

암호 엔진 (14, 24, 34) 은 각각 암호화/복호화 및/또는 인증 동작을 수행하기 위한 물리적 난수 생성기와 같은 전용 컴포넌트를 가질 수도 있다.Cryptographic engines 14, 24, 34 may each have dedicated components, such as physical random number generators, to perform encryption/decryption and/or authentication operations.

아래에서 보다 상세히 설명되는 바와 같이, 패킷 엔진 (12, 22, 32) 및 암호 엔진 (14, 24, 34) 은 복잡한 메시형 패킷 네트워크 토폴로지를 통해 암호화된 및/또는 인증된 데이터를 송신하는 동시에, 엔드-투-엔드 또는 세그먼트 암호화 및/또는 인증을 제공하도록 동작한다.As described in more detail below, packet engines 12, 22, 32 and crypto engines 14, 24, 34 transmit encrypted and/or authenticated data over a complex meshed packet network topology while: Operates to provide end-to-end or segment encryption and/or authentication.

패킷 엔진 (12, 22, 32) 은 중앙 제어, 예를 들어 패킷 흐름 경로 관리자 (PFPM) (42) 의해 제어될 수도 있다. 암호 엔진 (14, 24, 34) 은 암호 엔진 및 키 관리자 (CEKM) (44) 에 의해 제어될 수도 있다. PFPM (42) 및 CEKM (44) 의 기능은 보안 강화를 위해 별도의 서버에서 수행될 수도 있다. PFPM (42) 는 MLPS 경로를 설정하기 위해 패킷 엔진을 구성할 수도 있다. CEKM (44) 은 PFPM (42) 에 의해 설정되는 경로에 대한 정보를 이용하여 암호 엔진을 구성할 수도 있다. 암호 엔진 (14, 24, 34) 은 네트워크를 통한 경로에 대한 엔드-투-엔드 또는 세그먼트 암호화 및/또는 인증을 각각 보장할 수도 있다. CEKM (44) 은 예를 들어 보안 채널을 통해, 모든 암호 엔진 (14, 24, 34) 에 통신 가능하게 커플링될 수도 있다. Packet engines 12, 22, 32 may be controlled by a central control, for example a packet flow path manager (PFPM) 42. Cryptographic engines 14, 24, 34 may be controlled by a cryptographic engine and key manager (CEKM) 44. The functions of PFPM (42) and CEKM (44) may be performed on separate servers to enhance security. PFPM 42 may configure the packet engine to establish MLPS paths. CEKM 44 may configure a cryptographic engine using information about the path set by PFPM 42. Cryptographic engines 14, 24, 34 may ensure end-to-end or segment encryption and/or authentication, respectively, for the path through the network. CEKM 44 may be communicatively coupled to all crypto engines 14, 24, 34, such as via a secure channel.

PFPM (42) 및 복수의 패킷 엔진 (12, 22, 32) 에 의해 형성된 제 1 서브시스템은, 예를 들어 흐름 경로를 설정함으로써 패킷 처리를 담당한다. CEKM (44) 및 복수의 암호 엔진 (14, 24, 34) 에 의해 형성된 제 2 서브시스템은 사이버 보안 기능을 담당한다. PFPM (42) 과 복수의 패킷 엔진 (12, 22, 32) 을 접속하는 제 1 서브시스템의 제 1 관리 네트워크는 CEKM (44) 및 복수의 암호 엔진 (14, 24, 34) 을 접속하는 제 2 서브시스템의 제 2 관리 네트워크와 분리 될 수도 있다.The first subsystem formed by PFPM 42 and a plurality of packet engines 12, 22, 32 is responsible for packet processing, for example by establishing flow paths. A second subsystem formed by the CEKM 44 and a plurality of cryptographic engines 14, 24, 34 is responsible for cybersecurity functions. The first management network of the first subsystem connecting the PFPM 42 and the plurality of packet engines 12, 22, 32 is the second management network connecting the CEKM 44 and the plurality of crypto engines 14, 24, 34. It may also be separate from the second management network of the subsystem.

네트워크 와이드를 사용함으로써, 네트워크, 엔드-투-엔드 또는 세그먼트 터널 페이로드 암호화 및/또는 인증에서 복수의 암호 엔진 (14, 24, 34) 의 중앙 조정이 실현될 수 있다.By using network wide, central coordination of multiple cryptographic engines 14, 24, 34 in the network, end-to-end or segment tunnel payload encryption and/or authentication can be realized.

각각의 연관된 패킷 엔진 (12, 22, 32) 과 별개의 디바이스로서 제공되는 암호 엔진 (14, 24, 34) 을 사용함으로써, 암호 엔진 (14, 24, 34) 은 타임 스탬핑 및 스위칭을 담당하는 디바이스와 별도로 제공된다. 암호 엔진 (14, 24, 34) 은 네트워크의 토폴로지 및/또는 그 안에 설정된 엔드-투-엔드 경로를 인식할 필요가 없다. 암호 엔진 (14, 24, 34) 은 임의의 타임 스탬핑 프로토콜을 인식할 필요가 없다. 하드웨어 수준에서 무허가 침입이 방지될 수도 있다.By using crypto engines 14, 24, 34 provided as separate devices from each associated packet engine 12, 22, 32, crypto engines 14, 24, 34 are the devices responsible for time stamping and switching. It is provided separately. The cryptographic engine 14, 24, 34 need not be aware of the topology of the network and/or the end-to-end paths established therein. Cryptographic engines 14, 24, 34 do not need to be aware of any time stamping protocol. Unauthorized intrusion can also be prevented at the hardware level.

PFPM (42) 와 CEKM (44) 는 별도의 서버에서 실행되고 별도의 관리 네트워크를 사용하므로, 보안이 강화될 수 있다.Because PFPM (42) and CEKM (44) run on separate servers and use separate management networks, security can be enhanced.

도 2 는 네트워크 (10) 의 블록도 표현이다. 네트워크 (10) 는 상이한 서버에서 실행될 수도 있는 PFPM (42) 및 CEKM (44) 을 포함한다. 2 is a block diagram representation of network 10. Network 10 includes PFPM 42 and CEKM 44, which may run on different servers.

패킷 네트워크는 데이터 네트워크 기술로서 MPLS-TP 를 사용할 수도 있다. 패킷 네트워크는 각각 클라이언트 노드 (51, 52) 에 접속된 LER들 (label edge routers) (53, 54) 을 포함할 수도 있다. LER들 (53, 54) 은 암호화된 엔드-투-엔드 터널의 엔드포인트들이다. 패킷 네트워크는 LSR들 (label switch routers) (55, 56, 57, 58) 을 포함할 수도 있다. LSR들 (55, 56) 을 통해 LER들 (53, 54) 사이에 작업 경로가 설정될 수도 있다. LSR들 (57, 58) 을 통해 LER들 (53, 54) 사이에 상이한 보호 경로가 설정될 수도 있다. 보호 경로는 예를 들어 "MPLS-TP Survivability Framework" (September 2011) 라는 제목의 RFC 6372 및 "MPLS-TP Rosetta Stone" (December 2013) 라는 제목의 RFC 7087, 섹션 3.42.1 및 3.42.2 에 자세히 설명된 바와 같이, 작업 경로를 보호하기 위해, 데이터 송신들에 대한 리던던시를 제공할 수도 있다.Packet networks may use MPLS-TP as a data network technology. The packet network may include label edge routers (LERs) 53, 54 connected to client nodes 51, 52, respectively. LERs 53, 54 are the endpoints of an encrypted end-to-end tunnel. The packet network may include label switch routers (LSRs) 55, 56, 57, 58. A working path may be established between LERs 53, 54 via LSRs 55, 56. Different protection paths may be established between LERs 53, 54 via LSRs 57, 58. Protection paths are detailed in, for example, RFC 6372, titled "MPLS-TP Survivability Framework" (September 2011), and RFC 7087, sections 3.42.1 and 3.42.2, titled "MPLS-TP Rosetta Stone" (December 2013). As described, redundancy for data transmissions may be provided to protect the working path.

보안될 엔드-투-엔드 경로의 엔드포인트 노드인 LER (53) 은 적어도 하나의 패킷 엔진 (PE) 및 적어도 하나의 암호 엔진 (CE) 을 포함한다. 설명된 것과 같이, LER (53) 은 적어도 2 개의 패킷 엔진들 (61, 62) 을 포함할 수도 있다. LER (53) 은 2 개의 암호 엔진 (71, 72) 또는 2 초과의 암호 엔진을 포함할 수도 있다. 도 2 에는 오직 2 개의 암호 엔진 (71, 72) 만이 도시되어 있지만, LER (53) 은 도 7 을 참조하여 보다 상세하게 설명되는 바와 같이 적어도 4 개의 암호 엔진을 포함할 수도 있다.LER 53, the endpoint node of the end-to-end path to be secured, includes at least one packet engine (PE) and at least one crypto engine (CE). As described, LER 53 may include at least two packet engines 61, 62. LER 53 may include two cryptographic engines 71, 72 or more than two cryptographic engines. Although only two cryptographic engines 71 and 72 are shown in FIG. 2, LER 53 may include at least four cryptographic engines as will be described in more detail with reference to FIG. 7.

보안될 엔드-투-엔드 경로의 다른 엔드포인트 노드인 LER (54) 은 적어도 하나의 패킷 엔진 (PE) 및 적어도 하나의 암호 엔진 (CE) 을 포함한다. 설명된 것과 같이, LER (54) 은 적어도 2 개의 패킷 엔진들 (63, 64) 을 포함할 수도 있다. LER (53) 은 2 개의 암호 엔진 (73, 74) 또는 2 초과의 암호 엔진을 포함할 수도 있다. 도 2 에는 오직 2 개의 암호 엔진 (73, 74) 만이 도시되지만, LER (54) 은 도 7 을 참조하여 보다 상세하게 설명되는 바와 같이, 적어도 4 개의 암호 엔진 (적어도 일부가 암호 엔진 인스턴스들일 수도 있음) 을 포함할 수도 있다.LER 54, another endpoint node in the end-to-end path to be secured, includes at least one packet engine (PE) and at least one crypto engine (CE). As described, LER 54 may include at least two packet engines 63, 64. LER 53 may include two cryptographic engines 73, 74 or more than two cryptographic engines. Although only two cryptographic engines 73 and 74 are shown in Figure 2, LER 54 can support at least four cryptographic engines (at least some of which may be cryptographic engine instances), as will be explained in more detail with reference to Figure 7. ) may also include.

각각의 LSR (55, 56, 57, 58) 은 적어도 하나의 패킷 엔진 및 적어도 하나의 암호 엔진을 각각 포함할 수도 있다. 각각의 LSR (55, 56, 57, 58) 은 도 6 을 참조하여 보다 상세히 설명되는 바와 같이, 적어도 2 개의 패킷 엔진 및 적어도 4 개의 암호 엔진을 포함할 수도 있다.Each LSR 55, 56, 57, 58 may each include at least one packet engine and at least one crypto engine. Each LSR 55, 56, 57, 58 may include at least two packet engines and at least four cryptographic engines, as described in more detail with reference to FIG. 6.

동작에서, PFPM (42) 은 패킷 네트워크의 엔드포인트 노드 및 중간 노드의 패킷 엔진을 설정할 수도 있다. 암호 엔진은 토폴로지를 인식할 필요가 없다. 오히려, CEKM (44) 은 모든 암호 엔진의 하드웨어 식별자를 검출하고 PFPM (42) 에 하드웨어 식별자를 제공할 수 있다. PFPM (42) 은 설정 경로와 관련된 정보를 CEKM (44) 에 제공할 수 있다. CEKM (44) 은 암호 엔진을 구성할 때 설정 경로에 대한 정보를 사용할 수 있다.In operation, PFPM 42 may configure the packet engines of the endpoint nodes and intermediate nodes of the packet network. The crypto engine does not need to be topology aware. Rather, CEKM 44 can detect the hardware identifiers of all cryptographic engines and provide the hardware identifiers to PFPM 42. PFPM (42) can provide information related to the configuration path to CEKM (44). CEKM (44) can use information about the configuration path when configuring the crypto engine.

엔드포인트 노드 (53) 의 암호 엔진 (71, 72) 은 각각의 패킷 엔진 (61, 62) 과 엔드포인트 노드 (53) 의 네트워크 대면 인터페이스 사이에서, 엔드포인트 노드 (53) 내부에 배치된다. 암호 엔진 (71, 72) 은 일반적으로 패킷 엔진 (61, 62) 과 제 1 중간 노드 (MPLS-TP 에 대한 제 1 홉이라고 함) (55, 57) 사이에 제공될 수도 있다. 유사하게, 엔드포인트 노드 (54) 의 암호 엔진 (73, 74) 은 각각의 패킷 엔진 (63, 64) 과 엔드포인트 노드 (54) 의 네트워크 대면 인터페이스 사이에서, 엔드포인트 노드 (54) 내부에 배치된다. 암호 엔진 (73, 74) 은 일반적으로 패킷 엔진 (63, 64) 과 제 1 중간 노드 (MPLS-TP 에 대한 제 1 홉이라고 함) (56, 58) 사이에 제공될 수도 있다. 제 1 중간 노드 또는 제 1 홉은 각각, 작업 경로 또는 보호 경로를 따라 엔드포인트 노드에 가장 가까운 노드이다.The cryptographic engines 71 and 72 of the endpoint node 53 are disposed within the endpoint node 53, between each packet engine 61 and 62 and the network-facing interface of the endpoint node 53. A crypto engine 71, 72 may generally be provided between the packet engine 61, 62 and a first intermediate node (referred to as the first hop for MPLS-TP) 55, 57. Similarly, the cryptographic engines 73, 74 of the endpoint node 54 are disposed within the endpoint node 54, between each packet engine 63, 64 and the network-facing interface of the endpoint node 54. do. A crypto engine 73, 74 may generally be provided between the packet engine 63, 64 and a first intermediate node (referred to as the first hop for MPLS-TP) 56, 58. The first intermediate node or first hop is the node closest to the endpoint node along the work path or protection path, respectively.

타임 스탬핑은 패킷 엔진 (61, 62, 63, 64) 에 의해 수행된다. 예시를 위해, 암호 엔진 (71, 72, 73, 74) 에 접속된 패킷 엔진 (61, 62, 63, 64) 의 포트는 PTP (Precision Time Protocol), IEEE 15888 에 따라 타임 스탬핑을 수행할 수도 있다.Time stamping is performed by packet engines 61, 62, 63, 64. For illustration, ports of packet engines 61, 62, 63, 64 connected to crypto engines 71, 72, 73, 74 may perform time stamping according to Precision Time Protocol (PTP), IEEE 15888. .

추가의 암호 엔진 (71, 72, 73, 74) 의 중앙 제어 및 네트워크 와이드 조정을 활용하는 것을 통해, 타이밍된 (예를 들어, PTP 를 활용함), 보호된 및 결정적 패킷 네트워크 (MPLS 와 같은) 는 엔드-투-엔드 트래픽 암호화 및/또는 패킷 인증과 같은 사이버 보안 기능을 통해 강화될 수 있다. 암호 엔진 (71, 72, 73, 74) 은 토폴로지 인식되지 않고 시간 인식되지 않을 수도 있으며, 패킷 엔진 (61, 62, 63, 64) 과 다음 홉 사이에서, 따라서 (MPSL, 예를 들어 LER (54) 에 대한) 패킷 흐름의 엔드포인트 노드와 (MPLS, 예를 들어 LSR (56, 58) 에 대한) 패킷 흐름의 제 1 트랜짓 노드 사이에서 타임 스탬핑 컨텍스트 외부에, 또는 패킷 엔진과 네트워크 대면 포트 사이에서 엔드포인트 노드 (53, 54) 내부에 위치될 수도 있다.Timed (e.g., utilizing PTP), protected, and deterministic packet networks (such as MPLS), through utilizing central control and network-wide coordination of additional cryptographic engines (71, 72, 73, 74). Can be enhanced through cybersecurity features such as end-to-end traffic encryption and/or packet authentication. The cipher engines (71, 72, 73, 74) may not be topology-aware and time-aware, and between packet engines (61, 62, 63, 64) and the next hop, thus (MPSL, e.g. LER (54) ) outside the timestamping context between the endpoint node of the packet flow (for MPLS, e.g. LSR 56, 58), or between the packet engine and the network-facing port. It may also be located inside the endpoint nodes (53, 54).

패킷 네트워크에서 데이터 송신의 무결성 및 인증을 확보하기 위해, 프레임 데이터는 암호 엔진 (71, 72, 73, 74) 에 의해 암호화 및/또는 인증된다. 결과적으로, 데이터 스트림에서 패킷의 주요 부분은 암호화 및/또는 인증된 대응물로 대체될 수도 있다. 암호화/인증은 패킷 엔진 (61, 62, 63, 64) 과 분리되어 패킷 포워딩, 각각의 스위칭을 담당하는 암호 엔진 (71, 72, 73, 74) 에서 수행된다. 모든 패킷 처리, 필터링 및 큐잉은 패킷 엔진 (61, 62, 63, 64) 에서 수행될 수도 있으며, 이는 또한 최종 결과로서 모든 노드에서 정확한 시간/클록을 확립하는 PTP 패킷의 타임 스탬핑을 수행할 수 있다. 암호 엔진 (71, 72, 73, 74) 은 각각 중앙 카드의 네트워크 대면 포트에 접속될 수도 있으며, 그 후 자체적으로 네트워크에 접속하고 있다.To ensure the integrity and authentication of data transmission in a packet network, frame data is encrypted and/or authenticated by a crypto engine 71, 72, 73, 74. As a result, major portions of packets in the data stream may be replaced with their encrypted and/or authenticated counterparts. Encryption/authentication is separate from the packet engine (61, 62, 63, 64) and is performed in the encryption engine (71, 72, 73, 74), which is responsible for packet forwarding and each switching. All packet processing, filtering and queuing may be performed in packet engines 61, 62, 63, 64, which may also perform time stamping of PTP packets establishing the correct time/clock on all nodes as the end result. . Cryptographic engines 71, 72, 73, and 74 may each be connected to a network-facing port on the central card and then connected to the network on their own.

보안을 최대화하기 위해, 사이버 보안 서브시스템 (44, 71, 72, 73, 74) 과 패킷 네트워크 서브시스템 (42, 61, 62, 63, 64) 간의 상호 작용이 감소될 수도 있다. 암호 엔진 (71, 72, 73, 74) 에 관한 패킷 네트워크 서브시스템 (42, 61, 62, 63, 64) 에 이용가능한 유일한 정보는 하드웨어 정의된 식별자와 같은 단위 재고 정보 및 옵션적으로 비정상 동작 상태를 나타내는 알람으로 제한될 수도 있다. 오직 MPLS 라벨, 터널 ID 및 암호화 프로파일-id 만이 PFPM 42 에 의해 엔진, 터널 및 보안 링크, 예컨대 보안 SSH 링크를 통한 방향으로 CEKM (44) 에 제공된다.To maximize security, interaction between the cybersecurity subsystem 44, 71, 72, 73, 74 and the packet network subsystem 42, 61, 62, 63, 64 may be reduced. The only information available to the packet network subsystems 42, 61, 62, 63, 64 regarding the cryptographic engines 71, 72, 73, 74 is unit inventory information such as hardware defined identifiers and optionally abnormal operating conditions. It may be limited to alarms that indicate . Only the MPLS label, tunnel ID and encryption profile-id are provided by the PFPM 42 to the CEKM 44 in the direction through the engine, tunnel and secure link, such as a secure SSH link.

동작시, 초기 MPLS 라벨은 LER (54) 에 의해 설정되며, 이는 또한 제공자 에지 라우터로 지칭될 수도 있다. 이 라벨링된 패킷은 포트를 하나의 암호 엔드포인트로서 기능하는 암호 엔진 (73, 74) 에 부착되게 할 수 있다. LSR 로부터 LSR 로의 후속 홉은 패킷을 포워딩한다.In operation, the initial MPLS label is set by the LER 54, which may also be referred to as the provider edge router. This labeled packet can cause the port to be attached to a cryptographic engine 73, 74 that functions as a cryptographic endpoint. Subsequent hops from LSR to LSR forward the packet.

중간 트랜짓 노드들, 즉 LSR들 (55, 56, 57, 58) 의 암호 엔진은 엔드-투-엔드 암호화가 수행될 때 LER (53, 54) 의 암호 엔진에 의해 출력된 암호화된 데이터 패킷의 복호화 또는 암호화를 수행하지 않도록 CEKM (44) 에 의해 구성된다. 예를 들어, 중간 홉들, 즉 LSR들 (55, 56, 57, 58) 의 암호 엔진은 암호화/복호화가 수행될 경로를 식별하는 룩업 테이블을 가질 수도 있다. 중간 홉의 룩업 테이블은 엔드-투-엔드 암호화가 제공될 때, 단지 LSR 을 통과하는 MPLS 엔드-투-엔드 터널의 경로가 복호화 또는 암호화를 트리거하지 않도록 CEKM (44) 에 의해 구성된다. The cryptographic engines of the intermediate transit nodes, i.e. LSRs 55, 56, 57, 58, decrypt the encrypted data packets output by the cryptographic engines of LERs 53, 54 when end-to-end encryption is performed. Alternatively, it is configured by CEKM (44) not to perform encryption. For example, the crypto engine of intermediate hops, or LSRs 55, 56, 57, 58, may have a lookup table that identifies the path along which encryption/decryption will be performed. The lookup table of the intermediate hops is constructed by CEKM 44 such that when end-to-end encryption is provided, the path of the MPLS end-to-end tunnel that only passes through the LSR does not trigger decryption or encryption.

아래에서 더 상세히 설명되는 바와 같이, 암호 엔진은 각각 데이터 패킷이 프로세싱될지 여부를 결정하기 위해 프로그램가능 비트 윈도우에 따라 데이터 패킷으로부터 비트를 선택할 수도 있다. 프로그램가능 비트 윈도우는 CEKM (42) 에 의해 구성될 수도 있다. 중간 홉, 즉 LSR들 (55, 56, 57, 58) 의 암호 엔진의 룩업 테이블은 최종 홉에 도달할 때까지 복호화 또는 암호화가 트리거되지 않도록 설정될 수도 있다.As described in more detail below, the crypto engine may select bits from a data packet according to a programmable bit window to determine whether each data packet will be processed. A programmable bit window may be configured by CEKM 42. The lookup table of the crypto engine of the intermediate hops, i.e. LSRs 55, 56, 57, 58, may be set so that no decryption or encryption is triggered until the final hop is reached.

오직 엔드-투-엔드 경로의 세그먼트들에 대해서만 암호화가 수행되는 경우, LSR들 (55, 56, 57, 58) 은 또한 세그먼트의 단부에서에서 복호화가 수행될 수 있도록 프로그래밍될 수도 있다.If encryption is to be performed only on segments of the end-to-end path, LSRs 55, 56, 57, 58 may also be programmed so that decryption can be performed at the end of the segment.

데이터 패킷이 최종 홉, 즉 LER (53, 54) 의 암호 엔진에 도달하면 복호화를 위한 검색은 성공적이다. 패킷은 복호화되어 LER 라우터의 패킷 엔진으로 전송된다. 암호 엔진 (71, 72) 이 특정 터널에 속하는 데이터 패킷을 복호화하게 하기 위해, CEKM (44) 은 암호 엔진 (71, 72) 이 엔드포인트 노드 (53) 에서 종료하는 각각의 터널의 데이터 패킷이 복호화되게 하는 룩업 테이블 정보를 갖도록 구성할 수도 있다.When the data packet reaches the final hop, that is, the encryption engine of LER (53, 54), the search for decryption is successful. The packet is decrypted and transmitted to the packet engine of the LER router. To allow cryptographic engines 71, 72 to decrypt data packets belonging to a particular tunnel, CEKM 44 causes cryptographic engines 71, 72 to decrypt the data packets of each tunnel terminating at endpoint node 53. It can also be configured to have lookup table information that allows

중간 노드, 즉 LSR들 (55, 56, 57, 58) 에서, 암호 엔진의 구성은 페이로드가 터치되지 않고 유지되도록 한다. L2-MAC 어드레스들, 다음 홉 MPLS 라벨, TTL 필드 및 FCS 필드는 도 4 및 도 5 를 참조하여 보다 상세하게 설명될 것이며, 변경되는 유일한 정보이다.At the intermediate nodes, namely LSRs 55, 56, 57, 58, the configuration of the cryptographic engine ensures that the payload remains untouched. L2-MAC addresses, next hop MPLS label, TTL field and FCS field will be explained in more detail with reference to Figures 4 and 5 and are the only information that changes.

작업 경로와 보호 경로가 있는 보호된 MPLS 터널은 2 개의 암호화된 접속들로서 처리된다. MPLS 터널 쌍마다, 보안 터널의 엔드포인트로서 역할을 하는 4 개의 암호 엔진이 존재한다. 4 개의 암호 엔진은 사이버 보안 서브시스템 (44, 71, 72, 73, 74) 과 패킷 네트워크 서브시스템 (42, 61, 62, 63, 64) 사이에서 식별되고 동기화된 상태를 유지한다.A protected MPLS tunnel with a working path and a protection path is handled as two encrypted connections. For each MPLS tunnel pair, there are four crypto engines that act as endpoints for the secure tunnel. Four cryptographic engines are identified and remain synchronized between the cybersecurity subsystem (44, 71, 72, 73, 74) and the packet network subsystem (42, 61, 62, 63, 64).

PFPM (42), CEKM (44), 패킷 엔진 및 암호 엔진의 동작은 도 3 내지 도 12 를 참조하여 보다 상세하게 설명될 것이다.The operations of PFPM 42, CEKM 44, packet engine, and crypto engine will be described in more detail with reference to FIGS. 3 to 12.

도 3 은 네트워크의 컴포넌트들의 개략적인 블록도이다. Figure 3 is a schematic block diagram of the components of the network.

PFPM (42) 은 MPLS 경로 관리자 (MPM) 일 수도 있다. PFPM (42) 은 제 2 서버에서 실행되는 소프트웨어 또는 다른 컴퓨터 판독가능 명령 코드에 의해 구현될 수도 있다. PFPM (42) 은 토폴로지, 경로 및 암호 프로파일 관리자 (45) 를 포함할 수도 있다. PFPM (42) 은 동작 및 유지보수 및 디바이스 모니터링 모듈 (46) 을 포함할 수도 있다.PFPM 42 may be an MPLS Path Manager (MPM). PFPM 42 may be implemented by software or other computer-readable instruction code executing on a second server. PFPM 42 may include a topology, path, and password profile manager 45. PFPM 42 may include operation and maintenance and device monitoring module 46.

중앙 집중식 PFPM (42) 는 중간 트랜짓 포인트들 (55, 56, 57, 58) 과 함께 데이터 트래픽 엔드포인트들 (53, 54) 을 설정한다. PFPM (42) 은 네트워크의 모든 노드를 제어하기위한 구성 및/또는 통지를 위해 접속될 수도 있다.The centralized PFPM 42 establishes data traffic endpoints 53, 54 along with intermediate transit points 55, 56, 57, 58. PFPM 42 may be connected for configuration and/or notification to control all nodes in the network.

패킷 포워딩을 처리하기 위해, PFPM (42) 은,To handle packet forwarding, PFPM 42:

- 부착 회로를 통한 MPLS 라벨 대 VLAN 태그 매핑, 네트워크 엔드-투-엔드 터널로의 내부/외부 라벨 설정/매핑, 서비스 클래스 식별자와 같은 데이터 포워딩 및 종료 파라미터들, 및- MPLS label to VLAN tag mapping via attachment circuitry, internal/external label setup/mapping to network end-to-end tunnels, data forwarding and termination parameters such as class of service identifier, and

- 터널들, 의사 와이어들, 가상 사설 네트워크들과 같은 개별 네트워크 토폴로지 정보- Individual network topology information such as tunnels, pseudo wires, virtual private networks

에 대한 정보 모델을 보유할 수도 있다.You may also have an information model for .

CEKM (44) 은 구성 및/또는 통지를 위한 보안 프로토콜을 통해 모든 암호 엔진과 통신할 수도 있다. 암호 엔진의 구성에 필요한 데이터 흐름 토폴로지에 관한 필요한 정보 (112) 는 PFPM (42) 에 의해 CEKM (44) 에 제공된다.CEKM 44 may communicate with any crypto engine via a secure protocol for configuration and/or notification. The necessary information 112 regarding the data flow topology required for the configuration of the cryptographic engine is provided to the CEKM 44 by the PFPM 42.

CEKM (44) 은 마스터 키 생성기 (47), 키 관리자 (48) 및 경로 엔드포인트 관리자 (49) 를 포함할 수도 있다. CEKM (44) 은 각각의 암호화 엔드포인트 정보를 보유 및 관리할 수도 있다: CEKM 44 may include a master key generator 47, a key manager 48, and a path endpoint manager 49. CEKM 44 may retain and manage each encryption endpoint information:

- 세션 키를 생성하는데 사용되는 마스터 키.- Master key used to generate session keys.

- 세션 키가 적용되어야 하는 패킷을 식별하는데 사용되는 라벨 정보.- Label information used to identify packets to which a session key should be applied.

- 엔진 id 는 위의 정보가 적용되어야 하는 엔진을 식별한다.- Engine id identifies the engine to which the above information should be applied.

정상적인 사용에서, 즉 네트워크가 설정되고 유지 보수 또는 테스트가 수행되지 않으면, 사용자는 CEKM (44) 에 액세스하지 않는다. PFPM (42) 에 액세스하는 사용자는 사이버 보안 서브시스템에서 임의의 보호된 정보에 액세스하지 않을 것이며, 솔루션의 전반적인 보안 및 견고성이 증가된다.In normal use, that is, when the network is set up and no maintenance or testing is performed, users do not access the CEKM 44. Users accessing PFPM 42 will not access any protected information in the cybersecurity subsystem, increasing the overall security and robustness of the solution.

LER 은 복수의 패킷 엔진들, 예를 들어, 작업 (w) 경로 (117) 를 위한 제 1 패킷 엔진 (63) 및 보호 (p) 경로 (118) 를 위한 제 2 패킷 엔진 (64) 을 포함할 수도 있다. 패킷 엔진 (63, 64) 은 각각 연관된 암호 엔진 (73, 74) 에 접속된 포트 (83, 87) 를 포함할 수도 있다. 포트 (83, 87) 는 타임 스탬핑을 수행하도록 동작할 수도 있다. 포트 (83, 87) 는 PTP 에 따라 타임 스탬핑을 수행하도록 인식된 IEEE 15888 일 수도 있다.The LER may include a plurality of packet engines, e.g., a first packet engine 63 for the working (w) path 117 and a second packet engine 64 for the protection (p) path 118. It may be possible. Packet engines 63, 64 may include ports 83, 87 connected to associated crypto engines 73, 74, respectively. Ports 83, 87 may be operable to perform time stamping. Ports 83, 87 may be IEEE 15888 recognized to perform time stamping according to PTP.

패킷 엔진 (63, 64) 은 각각 패킷 스위치 (82, 86) 를 포함할 수도 있다. 패킷 스위치 (82, 86) 는 데이터 패킷의 흐름의 사전 성형을 수행하도록 동작할 수도 있다. 사전 성형은 암호 엔진 (73, 74) 이 데이터 패킷을 패킷간 갭으로 성장시킬 수 있고 따라서 암호 엔진 (73, 74) 에 의한 패킷 순서의 변경 없이 모든 패킷에 대해 동일한 지연을 유지할 수 있도록 보장하기 위해 패킷간 갭을 확대하는 것을 포함할 수도 있다. 사전 성형은 암호 엔진 (73, 74) 으로 출력되는 데이터 패킷의 흐름에 삽입되는 더미 패킷을 생성하는 것을 포함할 수도 있다. 더미 패킷은 빈 섹션을 가질 수 있으며, 이것은 암호 엔진 (73, 74) 에 의해 제어 정보로 충진될 수도 있다. 이것은 암호 엔진 (73, 74) 에 의해 추가적인 패킷을 생성할 필요 없이 관리 채널 정보가 암호 엔진 (73, 74) 에 의해 송신되게 한다. Packet engines 63 and 64 may include packet switches 82 and 86, respectively. Packet switches 82, 86 may be operative to perform pre-shaping of the flow of data packets. Preshaping is to ensure that the crypto engine 73, 74 can grow data packets with inter-packet gaps and thus maintain the same delay for all packets without changing the packet order by the crypto engine 73, 74. This may include widening the gap between packets. Preshaping may include generating dummy packets that are inserted into the flow of data packets output to the crypto engine 73, 74. The dummy packet may have empty sections, which may be filled with control information by the crypto engine 73, 74. This allows management channel information to be transmitted by the cryptographic engines 73, 74 without the need to generate additional packets by the cryptographic engines 73, 74.

패킷 엔진의 중앙 프로세싱 유닛 (81) 은 더미 패킷 제어기 (DPC) 로서 동작할 뿐만 아니라, 소프트웨어 구성 관리 (SCM), 동작 및 유지보수 (OAM) 및 경로 제어기와 같은 추가 기능을 각각 수행할 수도 있다.The packet engine's central processing unit 81 not only operates as a dummy packet controller (DPC), but may also perform additional functions such as software configuration management (SCM), operations and maintenance (OAM), and path controller, respectively.

LER 의 중앙 제어 (60) 는 각각 PFPM (42) 으로부터 수신된 PE (packet engine) 구성 정보 (113) 에 기초하여, 복수의 패킷 엔진에 대한 제어 및/또는 관리 기능을 수행할 수도 있다. 중앙 제어 (60) 는 패킷 엔진 (PE) 통지 (114) 를 PFPM (42) 에 제공할 수도 있다. 중앙 제어 (60) 는 예를 들어, 경로 제어 및/또는 더미 패킷 생성에 사용하기 위해 PE 구성 정보 (113) 를 CPU (81, 85) 로 전달할 수도 있다.The central control 60 of the LER may perform control and/or management functions for a plurality of packet engines based on packet engine (PE) configuration information 113 received from each PFPM 42. Central control 60 may provide packet engine (PE) notifications 114 to PFPM 42. Central control 60 may pass PE configuration information 113 to CPUs 81, 85, for use in path control and/or dummy packet generation, for example.

작업 및 보호 경로를 위한 암호 엔진 (73, 74) 은 각각 패킷 엔진에 직접 연결된 포트 (94, 104) 및 네트워크 대면 포트 (97, 107) 를 포함할 수도 있다. 암호 엔진 (73, 74) 은 각각 암호화 (95, 105) 및/또는 복호화 (96, 106) 를 위한 컴포넌트 및/또는 인증을 위한 컴포넌트를 포함할 수도 있다. 암호 엔진 (73, 74) 은 양자 난수 생성기 (QRNG) 일 수도 있는 물리 난수 생성기 (91) 를 각각 포함할 수도 있다. 암호 엔진 (73, 74) 은 각각 키 저장 엘리먼트 (92) 를 포함할 수도 있다. 암호 엔진 (73, 74) 은 각각의 암호 엔진의, 네트워크에서 고유한 보드-id 와 같은 하드웨어 식별자를 저장하는 식별자 저장엘리먼트 (93) 를 각각 포함할 수도 있다.Cryptographic engines 73, 74 for the working and protection paths may include ports 94, 104 directly connected to the packet engine and network-facing ports 97, 107, respectively. Cryptographic engines 73, 74 may include components for encryption 95, 105 and/or decryption 96, 106 and/or components for authentication, respectively. Cryptographic engines 73, 74 may each include a physical random number generator 91, which may be a quantum random number generator (QRNG). Cryptographic engines 73, 74 may each include a key storage element 92. Cryptographic engines 73 and 74 may each include an identifier storage element 93 that stores a hardware identifier, such as a board-id, that is unique in the network for each cryptographic engine.

암호 엔진 (73, 74) 은 데이터 패킷으로부터 비트를 선택하는 프로그램가능 비트 윈도우를 사용할 수도 있다. 이 메커니즘은 암호 엔진에 의해 프로세싱될 트래픽 흐름으로부터 데이터 패킷들을 식별할 수 있다. 암호 엔진은 룩업 테이블을 사용하고, 선택된 비트를 룩업 테이블의 정보와 비교하여 데이터 패킷이 프로세싱될지 여부를 결정할 수도 있다.Cryptographic engines 73, 74 may use programmable bit windows to select bits from data packets. This mechanism can identify data packets from the traffic flow to be processed by the crypto engine. The crypto engine may use a lookup table and compare selected bits to information in the lookup table to determine whether a data packet will be processed.

네트워크 엔트리에서, 동일한 식별자를 갖는 패킷은 동일한 데이터 흐름에 속하도록 동일한 키 및/또는 프로세스를 통해 암호화/인증될 것이다. MPLS 에서, 이러한 데이터 흐름은 양방향 라벨 스위칭된 경로 쌍이라고 한다. 동일한 메커니즘을 기반으로 종료시, 트래픽이 복호화/식별될 것이다. 일반적으로, 흐름 식별자는 모든 홉마다 변경될 수 있다. MPLS 에서, MPLS 라벨들은 모든 홉마다 변경될 수 있다. 따라서, 비트 윈도우 및 윈도우 컨텐츠는 진입 또는 종료 시에 상이한 것으로 간주되어야 한다. PFPM (42) 및 CEKM (44) 는 CEKM (44) 기능에 적절한 출입 진입 및 종료 식별자들 및, 옵션적으로 보조 정보 (112) 를 공급하는 것을 통해 이를 보장한다.At network entry, packets with the same identifier will be encrypted/authenticated with the same key and/or process to belong to the same data flow. In MPLS, these data flows are called bidirectional label switched path pairs. Upon termination, traffic will be decrypted/identified based on the same mechanism. Typically, the flow identifier may change at every hop. In MPLS, MPLS labels can change at every hop. Therefore, the bit window and window content should be considered different upon entry or exit. PFPM 42 and CEKM 44 ensure this by supplying appropriate entry and exit identifiers and, optionally, auxiliary information 112 to the CEKM 44 function.

MPLS 패킷은 패킷 엔진 (63) 에서 발신된다. 데이터 패킷은 데이터 링크 (117) 를 통해 암호 엔진 (73) 으로 전송된다. 패킷의 미리 정의된 섹션을 관찰하고 로컬 룩업 테이블에서 패턴을 발견함으로써, 암호 엔진 (73) 은 암호화 및/또는 인증을 수행하기 위해 필요한 키 및 보조 정보를 획득한다. 룩업이 실패하는 경우에, 데이터 패킷은 터치되지 않고 남아있는다. 원거리 단부에서, (현재 복호화 모드에서) 암호 엔진은 데이터 패킷을 복호화하기 위한 개별 키를 획득하기 위해 룩업 테이블과의 비교시 패킷을 검사한다.MPLS packets are sent from the packet engine 63. Data packets are transmitted to crypto engine 73 via data link 117. By observing predefined sections of packets and finding patterns in a local lookup table, crypto engine 73 obtains the necessary keys and auxiliary information to perform encryption and/or authentication. If the lookup fails, the data packet remains untouched. At the remote end, the crypto engine (currently in decryption mode) checks the packet against a lookup table to obtain an individual key to decrypt the data packet.

동일한 엔진에서 동일한 비트 벡터를 갖는 데이터 패킷들 (예를 들어, 동일한 보드 식별자) 은 동일한 키를 사용하여 암호화되며, 따라서 동일한 데이터 흐름에 속한다. MPLS 에서, 이러한 데이터 흐름은 보호된 터널에 속할 수도 있는 양방향 라벨 스위칭된 경로라고 한다. 터널-식별자 (tunnel-id) 는 MPLS 터널과 암호화 접속을 전체적으로 식별한다. Data packets with the same bit vector (e.g., the same board identifier) in the same engine are encrypted using the same key and therefore belong to the same data flow. In MPLS, these data flows are called bidirectional label-switched paths that may belong to protected tunnels. The tunnel-identifier (tunnel-id) globally identifies the MPLS tunnel and encrypted connection.

암호화 검색을 위한 비트 패턴은 스택 상부 라벨 (경로 식별자) 및 추가 비트 (스택 상부 TTL 값, 스택 하부 라벨) 를 포함할 수도 있다. 이로 인해 중간 홉을 어드레싱하는 OAM 패킷들에 대한 매치를 방지할 수도 있다. 이러한 방식으로, 추적 루트와 같이 암호화되지 않아야 하는 OAM 패킷들은 중간 홉에서 암호화되지 않은 상태로 유지되는 것이 보장된다.The bit pattern for cryptographic search may include a top of the stack label (path identifier) and additional bits (top of stack TTL value, bottom of stack label). This may prevent matches for OAM packets addressing intermediate hops. In this way, OAM packets that should not be encrypted, such as trace routes, are guaranteed to remain unencrypted at intermediate hops.

복호화 검색을 위한 비트 패턴은 암호화되지 않은 OAM 패킷들, 예를 들어 추적 루트로부터 암호화된 패킷들을 구별하기 위해 스택 상부 라벨 (경로 식별자) 및 추가 비트 (스택 상부 S-비트, 스택 하부 라벨) 를 포함할 수도 있다.The bit pattern for decryption search includes a top-of-stack label (path identifier) and additional bits (top-of-stack S-bit, bottom-of-stack label) to distinguish encrypted packets from unencrypted OAM packets, e.g., traceroute. You may.

라벨 스택 인코딩에 대한 일 예가 이하 도 8 을 참조하여 보다 상세하게 설명될 것이다.An example of label stack encoding will be described in more detail with reference to FIG. 8 below.

CEKM (44) 및 PFPM (42) 은 보안 채널 (111, 112) 을 통해 정보를 교환한다. 정보는 컨텐츠 및 위치에서 비트 윈도우를 설정하는데 사용될 수도 있다. 하나의 보호된 터널에 대해, PFPM (42) 은 작업 및 보호 경로에 대해 각각, 진입/암호화 및 진출/복호화 엔진을 구성할 수도 있다. 이는 각 트래픽 방향에 대해 수행되어야 한다. 동일한 암호 엔진이 양자의 방향을 처리하는 경우, 각각의 양방향 터널 쌍에 대해 엔드포인트 노드에서 2 개의 암호 엔진을 구성해야 한다. 별도의 암호 엔진이 2 개의 방향에 대해 제공되는 경우, 각각의 양방향 터널 쌍에 대해 하나의 엔드포인트 노드에서 4 개의 암호 엔진을 구성해야 한다. 통지 인터페이스 (111) 는 CEKM (44) 로부터 PFPM (42) 으로 알람, 또는 고장, 및 재고 정보를 제공한다.CEKM (44) and PFPM (42) exchange information through secure channels (111, 112). The information may also be used to set bit windows in content and location. For one protected tunnel, PFPM 42 may configure entry/encryption and exit/decryption engines for the working and protection paths, respectively. This must be done for each traffic direction. If the same crypto engine handles both directions, two crypto engines must be configured on the endpoint node for each bidirectional tunnel pair. If separate crypto engines are provided for two directions, four crypto engines must be configured on one endpoint node for each bidirectional tunnel pair. Notification interface 111 provides alarm, or fault, and inventory information from CEKM 44 to PFPM 42.

PFPM (42) 및 CEKM (44) 에서의 2 개의 정보 모델은 구성 인터페이스 (112) 및 알람/통지 인터페이스 (111) 를 통해, 각각의 암호 엔진에 대하여 PFPM (42) 에서 CEKM (44) 으로 최소 구성 데이터를 전송함으로써 일관성을 유지한다. PFPM (42) 이 MPLS 경로 관리를 수행하는 경우에, MPLS-터널은 엔드포인트 노드 및/또는 중간 트랜짓 노드에 대해 모든 필요한 정보가 준비된다. 이는 엔드포인트를 지정할 때 최종 사용자가에 의해 트리거될 수도 있다. CEKM (44) 의 긍정 확인응답을 수신한 이후에만, PFPM (42) 은 패킷 엔진에서 경로를 적용한다. The two information models in PFPM (42) and CEKM (44) are minimally configured for each cryptographic engine, from PFPM (42) to CEKM (44), via configuration interface (112) and alarm/notification interface (111). Maintain consistency by transmitting data. When the PFPM 42 performs MPLS path management, the MPLS-tunnel is prepared with all necessary information for the endpoint nodes and/or intermediate transit nodes. This can also be triggered by the end user when specifying an endpoint. Only after receiving a positive acknowledgment from CEKM 44, PFPM 42 applies the route in the packet engine.

부착된 암호 엔진에서 코히어런트 동작을 설정하기 위해, PFPM (42) 은 다음 단계를 수행하여, 암호화된 엔드-투-엔드 경로를 설정하는 흐름을 제어할 수도 있다: To establish coherent operation in the attached cryptographic engine, PFPM 42 may perform the following steps to control the flow to establish an encrypted end-to-end path:

- 사용자가 엔드포인트를 선택하고 암호화 프로파일 및 중간 홉 제한을 지정하는 것을 통해 PFPM 에서 보호 터널을 설정하면, 시스템은 초기에 시뮬레이션된 작업 및 보호 경로를 중앙에서 자동 라우팅한다. 이에 의해, 엔드포인트들이 식별된다.- Once the user sets up a protection tunnel in PFPM by selecting an endpoint and specifying an encryption profile and intermediate hop limits, the system automatically routes the initially simulated tasks and protection paths centrally. Thereby, endpoints are identified.

- 보호된 터널에 대해, PFPM (42) 은 작업 및 보호 경로에 대해 진입/암호화 및 진출/복호화 엔진을 구성하기 위해 필요한 정보를 제공한다. 이는 각 트래픽 방향에 대해 수행되어야 한다. 각각의 엔드포인트 노드에서 4 개의 엔진이 2 개의 방향 각각에 대해 2 회 구성될 수도 있다. MPLS-TP 터널 내에서 데이터 흐름이 암호화되더라도, 암호화되지 않은 외부 라벨들은 모든 홉마다 변경된다. 터널-id 는 한편으로는 PFPM (42) 과 패킷 엔진에 의해 그리고 다른 한편으로는 CEKM (44) 과 암호 엔진에 의해 양자의 터널의 글로벌 식별자로서 사용될 수 있다.- For protected tunnels, PFPM 42 provides the necessary information to configure the entry/encryption and exit/decryption engines for the working and protection paths. This must be done for each traffic direction. On each endpoint node, four engines may be configured twice for each of the two directions. Even though the data flow is encrypted within the MPLS-TP tunnel, the unencrypted external labels change at every hop. The tunnel-id may be used as a global identifier of the tunnel both by the PFPM 42 and the packet engine on the one hand and the CEKM 44 and the crypto engine on the other.

다음 단계가 수행될 수도 있다:The following steps may be performed:

○ 단계 A: 보호된 터널의 하나의 경로에 대해 모든 암호 엔진을 구성하기 위해, PFPM (42) 와 CEKM (44) 간에 다음과 같은 튜플이 교환된다: 글로벌 엔진 어드레스 (즉, 암호 엔진의 하드웨어 정의된 식별자); 터널-id; MPLS 라벨; 방향; 및 프로파일-id. 프로파일-id 는 터치되지 않고 남아있어야 하는 트래픽 유형과 같은 일련의 보조 정보의 세트를 식별할 수도 있다.○ Step A: To configure all crypto engines for one path of the protected tunnel, the following tuples are exchanged between PFPM (42) and CEKM (44): Global engine address (i.e. hardware definition of the crypto engine) identifier); tunnel-id; MPLS label; direction; and profile-id. The profile-id may identify a set of auxiliary information, such as the type of traffic that should remain untouched.

○ 단계 B: 암호 엔진의 구성의 성공적인 적용을 검증한 경우, 패킷 흐름의 적절한 타이밍 및 순서를 보장하기 위해 사전 성형 파라미터 구성이 패킷 엔진에 적용될 수도 있다. ○ Step B: Upon verification of successful application of the configuration of the cryptographic engine, pre-shaping parameter configuration may be applied to the packet engine to ensure proper timing and sequencing of packet flows.

○ 단계 C: 상기 구성을 성공적으로 적용한다는 CEKM (44) 으로부터의 긍정적인 확인을 수신한 후에, PFPM (42) 은 그 구성을 패킷 엔진에 적용함으로써 경로를 설정하고; 긍정적인 확인이 수신되지 않으면, PFPM (42) 의 시뮬레이션이 롤백될 수도 있고, 구성이 적용되지 않는다.○ Step C: After receiving positive confirmation from CEKM 44 that the configuration is successfully applied, PFPM 42 sets up the route by applying the configuration to the packet engine; If a positive confirmation is not received, the simulation of PFPM 42 may be rolled back and the configuration will not be applied.

- 경로를 테이크 다운하는 것은 동일한 확인응답을 수반하며, 이제 경로는 단계 C 에서 단계 A 로 역순으로 테이크 다운될 것이다.- Taking down a path involves the same acknowledgment, now the path will be taken down in reverse order from step C to step A.

데이터 흐름이 엔드-투-엔드 컨텍스트 내에서 (MPLS-TP 이라 불리는 터널에서) 암호화됨에 따라 라벨은 모든 홉마다 변경된다. PFPM 과 이에 접속된 패킷 엔진 양자 및 CEKM 과 개별 암호 엔진과의 엔드-투-엔드 또는 세그먼트 암호화 또는 사이버 보안 접속을 위해 특수한 글로벌 정보 엔터티가 사용된다. MPLS 에서, 보안 도메인 및 동작/사용자 도메인 양자에 의해 사용될 수도 있는 글로벌 정보 엔티티는 터널을 식별할 수도 있다. 이것은 홉에 대한 글로벌 식별을 보장하며, 암호화 또는 사이버 보안 토폴로지 및 MPLS 토폴로지를 의미한다.As the data flow is encrypted within an end-to-end context (in a tunnel called MPLS-TP), the label changes at every hop. Special global information entities are used for end-to-end or segment encryption or cybersecurity connectivity with both the PFPM and its connected packet engines and the CEKM and individual cryptographic engines. In MPLS, a global information entity that may be used by both the security domain and the operational/user domain may identify a tunnel. This ensures global identification across hops, implies encryption or cybersecurity topology, and MPLS topology.

PFPM (42) 은 데이터 서비스, 의사 와이어 및 터널에 대한 정보를 라벨 스위칭된 경로와 함께 보유할 수도 있다. MPLS 서비스를 가산하거나 감산하여, 네트워크 정보 모델의 아이템이 변경될 수도 있으며, 패킷 엔진 및 암호 엔진과 일관성이 유지되어야 한다. 네트워크 정보 모델은 데이터 링크 (113) 를 통해 직접 패킷 엔진과 일관성이 유지될 수 있다. 네트워크 정보 모델은 CEKM (44) 을 통해 개별 암호 엔진과의 일관성이 유지될 수 있다.PFPM 42 may hold information about data services, pseudo wires and tunnels along with label switched paths. By adding or subtracting MPLS services, items in the network information model may change and must remain consistent with the packet engine and crypto engine. The network information model can be kept consistent with the packet engine directly via data link 113. The network information model can be kept consistent with individual cryptographic engines through CEKM (44).

예시를 위해, CEKM (44) 는 암호화/복호화를 위한 양자의 단부들에서 식별된 MPLS 양방향 터널에 적절한 키가 사용되는 것을 보장할 것이다. CEKM (44) 은 하드웨어 정의된 보드-id 를 통해 모든 엔진을 발견할 수도 있다. 이것은 PFPM (42) 와 CEKM (44) 양자에서 사용가능한 암호 엔진에 대한 유일한 정보이다. 보드-id 또는 다른 하드웨어 정의된 식별자는 네트워크에서 고유하며 개별 암호 엔진에서 네트워크 와이드를 식별한다. 엔드-투-엔드 양방향 터널을 설정하는 동안 확립되는 터널-id 는 사이버 보안 서브시스템 (CEKM 및 암호 엔진) 과 패킷 흐름 서브시스템 (PFPM 및 패킷 엔진) 양자에 대한 엔드-투-엔드 접속에 대한 식별자의 역할을 한다. 글로벌 엔진 어드레스 (보드-id) 및 터널-id, 방향당 MPLS 라벨을 CEKM (44) 에 제공함으로써, PFPM (42) 은 가능하게 하드웨어-정의된 식별자들 이외의 암호 엔진에 대한 임의의 지식 없이 및 간섭 없이, 암호화를 조종할 수도 있다. 사전 정의된 엔진 파라미터들의 세트 중 하나를 선택하는 프로파일 id 와 함께, 보드-id, 터널-id, MPLS 라벨 및 방향의 교환은 사이버 보안 서브시스템 (즉, CEKM 및 암호 엔진) 의 거동을 완전히 결정한다.For illustration purposes, CEKM 44 will ensure that the appropriate key is used for the identified MPLS bi-directional tunnel at both ends for encryption/decryption. CEKM (44) can also discover all engines via hardware-defined board-id. This is the only information about the cryptographic engines available in both PFPM (42) and CEKM (44). The board-id or other hardware defined identifier is unique on the network and identifies the network wide to the individual crypto engine. The tunnel-id, established during setup of an end-to-end bidirectional tunnel, is an identifier for the end-to-end connection to both the cybersecurity subsystem (CEKM and Crypto Engine) and the packet flow subsystem (PFPM and Packet Engine). plays the role of By providing the global engine address (board-id) and tunnel-id, and MPLS labels per direction to the CEKM 44, the PFPM 42 enables and Encryption can also be controlled without interference. The exchange of board-id, tunnel-id, MPLS label and direction, together with the profile-id selecting one of a set of predefined engine parameters, completely determines the behavior of the cybersecurity subsystem (i.e. CEKM and crypto engine) .

키 분배 및 다른 필요한 구성 정보 (115) 는 CEKM (44) 이 인터페이스 (112) 를 통해 경로 관리 기능으로부터 토폴로지 정보를 수신한 후에, 작업 또는 보호 경로를 위해 각각의 암호 엔진 (73, 74) 으로 CEKM (44) 에 의해 제공될 수도 있다.Key distribution and other necessary configuration information 115 is distributed to the CEKM 44 to each cryptographic engine 73, 74 for a working or protection path after CEKM 44 receives topology information from the path management function via interface 112. (44) may also be provided by.

이를 통해 MPLS-TP 및 암호 엔진 동작의 코히어런트 처리를 허용한다. CEKM 과 PFPM 은 각각 중앙 집중식으로 동작하지만, 암호 엔진의 관리는 패킷 엔진의 관리와 디커플링된다. This allows coherent processing of MPLS-TP and crypto engine operations. CEKM and PFPM each operate centrally, but the management of the crypto engine is decoupled from that of the packet engine.

고 가용성 요구를 고려하여, 2 개의 암호 엔진 (73, 74) 이 제공될 수도 있으며, 제 1 암호 엔진 (73) 은 작업 경로에 사용되고 제 2 암호 엔진 (74) 은 보호된 터널 쌍의 보호 경로에 사용된다. 2 개의 인터페이스는 각각의 중앙 카드에 접속할 수도 있고, 2 개의 인터페이스는 네트워크의 통합 계층에 접속할 수도 있다. 전용 논리 링크 (115, 116) 를 통해, 암호 엔진 (73, 74) 은 PFPM (42) 과 잠재적으로 나란히 CEKM (44) 에 접속한다. 또한 엔진 당 전면 인터페이스는 초기 소환 (bring up) 을 위해 수행될 수도 있다.Taking high availability requirements into account, two cryptographic engines 73, 74 may be provided, with the first cryptographic engine 73 used in the working path and the second cryptographic engine 74 used in the protection path of the protected tunnel pair. It is used. Two interfaces may connect to each central card, and two interfaces may connect to the aggregation layer of the network. Via dedicated logical links 115, 116, cryptographic engines 73, 74 connect to CEKM 44, potentially in tandem with PFPM 42. A front interface per engine can also be performed for initial bringing up.

패킷은 패킷 엔진 (63, 64) 을 떠난 직후에 암호 엔진 (73, 74) 에서 암호화되거나, 또는 패킷 엔진 (63, 64) 에 진입하기 직전에 암호 엔진 (73, 74) 에서 복호화된다. 암호화 및 복호화는 AES, DES 또는 Triple-DES 로서의 표준화된 암호화/복호화 프로토콜 또는 Blowfish, Twofish, MARS, RC6, Rijndael und Serpent 와 같은 오픈 프로토콜을 통해 수행될 수도 있다. 해시 기반 메시지 인증은 MD5, SHA-1, SHA-2, SHA-3 또는 오픈 소스 카운터 파트와 같은 해시 기능을 사용하는 표준화된 프로토콜을 사용하여 수행된다.Packets are either encrypted in the crypto engine 73, 74 immediately after leaving the packet engine 63, 64, or decrypted in the crypto engine 73, 74 just before entering the packet engine 63, 64. Encryption and decryption may be performed via standardized encryption/decryption protocols such as AES, DES or Triple-DES, or open protocols such as Blowfish, Twofish, MARS, RC6, Rijndael und Serpent. Hash-based message authentication is performed using standardized protocols that use hash functions such as MD5, SHA-1, SHA-2, SHA-3, or their open source counterparts.

와이어 속도 암호화된 데이터 경로를 구현하기 위해, 인입하는 패킷의 타이밍 또는 순서를 방해하지 않는 와이어 속도 암호 엔진 (73, 74) 은 예를 들어, 각각의 개별 데이터 패킷에 대한 AES 128/256 비트 암호화 및 복호화를 제공할 수도 있다.To implement a wire-speed encrypted data path, a wire-speed crypto engine 73, 74 that does not interfere with the timing or order of incoming packets may, for example, use AES 128/256-bit encryption for each individual data packet and Decryption may also be provided.

패킷 암호화/복호화를 수행하기 위해, 키는 CEKM (44) 에 의해 인터페이스 (115) 를 통해 암호 엔진 (73, 74) 으로 분배될 수도 있다. 재고, 알람 및 실패에 대한 통지는 암호 엔진으로부터 CEKM (44) 으로의 인터페이스 (116) 를 통해 수행될 수도 있다.To perform packet encryption/decryption, keys may be distributed by CEKM 44 to crypto engines 73, 74 via interface 115. Notification of inventory, alarms and failures may be performed via interface 116 from the crypto engine to CEKM 44.

CEKM (44) 은 관리되는 암호 엔진의 리스트를 유지할 수도 있다. CEKM (44) 은 구성가능한 인터벌로 마스터 키의 업데이트를 스케줄링할 수도 있다. 마스터 키는 CEKM (44) 에 의해 생성될 수도 있다. CEKM 44 may maintain a list of managed cryptographic engines. CEKM 44 may schedule updates of the master key at configurable intervals. The master key may be generated by CEKM 44.

CEKM (44) 에 의한 키의 생성 및/또는 키의 분배는 종래의 메커니즘을 사용하여 수행될 수도 있다.Generation of keys and/or distribution of keys by CEKM 44 may be performed using conventional mechanisms.

암호 엔진 활동, 알람 및 통지는 CEKM (44) 에 의해 수집될 수도 있고, PFPM (42) 로 포워딩될 수도 있다.Cryptographic engine activity, alarms and notifications may be collected by CEKM 44 and forwarded to PFPM 42.

작업 또는 보호 경로를 위해 암호 엔진의 WAN 대면 라인 인터페이스에 의해 검출된 광 데이터 접속의 실패는 각각의 노드 대면 인터페이스 (94, 104) 로 전파될 수도 있다. 이것은 트래픽 손실 정보를 패킷 엔진 (63, 64) 의 인터페이스 (83, 87) 로 전파한다. 패킷 엔진 (63, 64) 은 링크 손실 신호를 수신할 때 트래픽 전환을 트리거할 수도 있다.Failure of the optical data connection detected by the WAN facing line interface of the crypto engine for the working or protection path may be propagated to the respective node facing interfaces 94, 104. This propagates traffic loss information to interfaces 83 and 87 of packet engines 63 and 64. Packet engines 63, 64 may trigger traffic switching when receiving a link loss signal.

신호의 손실은 WAN 대면 라인 인터페이스를 구현하는 SFP (Small Form Pluggable) 디바이스에 의해 검출될 수도 있고, 물리적 입력 신호를 통해 암호 엔진 (73, 74) 으로 시그널링될 수도 있다. 패킷 엔진 (63, 64) 을 향한 매칭 경로 (117, 118) 가 식별될 수도 있고, 대응하는 SPF 디바이스는 전용 물리 신호를 통해 송신 신호를 스위치 오프하도록 지시될 수도 있다.Loss of signal may be detected by a Small Form Pluggable (SFP) device implementing a WAN-facing line interface, and may be signaled to the crypto engine 73, 74 via a physical input signal. Matching paths 117, 118 towards packet engines 63, 64 may be identified, and corresponding SPF devices may be instructed to switch off the transmit signal via a dedicated physical signal.

데이터 흐름의 상태를 모니터링하기 위해, 패킷의 추가 스트림이 전송될 수도 있다. 패킷의 추가 스트림은 데이터 트래픽과 나란히 전송될 수도 있다. 다음의 2 개의 옵션을 사용할 수 있다:To monitor the status of the data flow, additional streams of packets may be transmitted. Additional streams of packets may be transmitted alongside the data traffic. Two options are available:

- 엔드-투-엔드 모니터링 패킷은 다른 페이로드와 같이 암호화되므로 동일한 과정을 공유한다. 특히, 암호화된 이러한 모니터링 패킷은 규칙적인 데이터 패킷처럼 프로세싱될 수도 있다.- End-to-end monitoring packets are encrypted like other payloads and therefore share the same process. In particular, these encrypted monitoring packets may be processed like regular data packets.

- 다른 한편으로, 핑 및 추적 루트 메시지는 중간 홉에서 문제를 나타낼 수도 있으므로 암호화되지 않고 남아있는다.- On the other hand, ping and trace route messages are left unencrypted as intermediate hops may present problems.

위에서 설명한 2 가지 옵션은 앞서 설명한 것과 같이, 적절히 구성된 비트 윈도우 메커니즘을 사용하여 암호 엔진에 의해 식별될 수 있다. MPLS 의 경우에, 의사 와이어 id 가 식별될 수 있고, "TTL (time to live)" 바이트가 판독될 수 있다. 이 TTL 바이트의 사전 정의된 값 또는 범위는 2 개의 사용 옵션, 즉 암호화/복호화될 엔드-투-엔드 모니터링 패킷과 암호화되지 않고 남아있는 핑 및 추적 루트 메시지를 구별하는데 사용될 수도 있다.The two options described above can be identified by the cryptographic engine using a suitably configured bit window mechanism, as described previously. In the case of MPLS, the pseudo wire id can be identified and the “time to live” byte can be read. This predefined value or range of TTL bytes may be used to distinguish between two usage options: end-to-end monitoring packets to be encrypted/decrypted and ping and trace route messages to remain unencrypted.

MPLS-TP 에서, 연속성 점검을 수행하기 위해 OAM/양방향 포워딩 검출 (BFD) 모니터링 패킷의 추가 스트림이 규칙적인 인터벌로 전송될 수도 있다. 이들 패킷은 다른 페이로드와 같이 암호화되므로 동일한 과정을 공유한다. 핑 및 추적 루트 메시지와 같은 다른 OAM 패킷은 중간 노드의 장애에 대한 검출 메커니즘으로 기능하며 암호화되지 않고 남아있어서 중간 포인트가 가용성을 시그널링하게 한다.In MPLS-TP, additional streams of OAM/Bidirectional Forwarding Detection (BFD) monitoring packets may be sent at regular intervals to perform continuity checks. These packets are encrypted like any other payload and therefore share the same process. Other OAM packets, such as ping and trace route messages, serve as a detection mechanism for failure of intermediate nodes and remain unencrypted, allowing intermediate points to signal their availability.

OAM 메시지는 상술한 바와 같이 적절히 구성된 비트 윈도우 메커니즘을 갖는 암호 엔진 (73, 74) 에 의해 식별된다. 비트 윈도우 메커니즘은 라벨 (13) (스택 하부 라벨) 을 찾을 수도 있다. 특정 TTL 값 또는 범위를 설정함으로써, "연속성 점검" 의 모드들 개별 "디버깅 모드" 가 구별될 수 있고, 암호 엔진은 따라서 OAM 패킷이 암호화될지의 여부를 알 수 있다.OAM messages are identified by cryptographic engines 73, 74 with an appropriately configured bit window mechanism as described above. The bit window mechanism can also look for label (13) (bottom of the stack label). By setting a specific TTL value or range, individual "debugging modes" can be distinguished from the modes of "continuity checking", and the crypto engine can thus know whether the OAM packet will be encrypted or not.

암호 엔진 (73, 74) 은 토폴로지 인식되지 않고 시간 인식되지 않을 수도 있다. 암호 엔진 (73, 74) 은 설정되고 있는 경로에 대한 임의의 지식을 가질 필요가 없다. 암호 엔진 (73, 74) 은 타임 스탬핑 정보 및/또는 임의의 타임 스탬핑 프로토콜에 대한 임의의 지식을 가질 필요가 없다. 패킷 순서 및 상대적 타이밍이 암호 엔진 (73, 74) 에 의해 수행되는 사이버 보안 기능(들)의 영향을 받지 않도록 하기 위해, 트래픽은 패킷 엔진 (63, 64) 을 떠나 암호 엔진 (73, 74) 에 들어가기 전에 미리 성형될 수도 있다. 이에 의해, 암호 엔진에 들어가기 전에 패킷이 패킷의 위치와 비교하여 데이터 흐름의 위치에서 방해받지 않도록 할 수 있다. 이것은 포트 (83, 87) 에서의 패킷의 타임 스탬핑이 암호 엔진 (73, 74) 을 통과 할 때 여전히 유효하다는 것을 보장한다.Cryptographic engines 73, 74 may be neither topology aware nor time aware. The cryptographic engine 73, 74 does not need to have any knowledge of the path being established. Cryptographic engines 73, 74 do not need to have any knowledge of time stamping information and/or any time stamping protocol. To ensure that the packet order and relative timing are not affected by the cybersecurity function(s) performed by the crypto engine 73, 74, traffic leaves the packet engine 63, 64 and enters the crypto engine 73, 74. It may be pre-molded before entering. This allows packets to be uninterrupted in their position in the data flow compared to their position before entering the crypto engine. This ensures that the timestamping of the packet on ports (83, 87) is still valid when passing through the crypto engine (73, 74).

암호 엔진 (73, 74) 이 암호화를 수행할 때, 시퀀스 번호가 각각의 데이터 패킷에 추가되어, 도 4 를 참조하여 설명될 바와 같이 길이를 예를 들어 8 바이트만큼 증가시킨다. 암호 엔진 (73, 74) 이 인증을 수행할 때, 도 5 를 참조하여 설명되는 바와 같이, 메시지 인증 코드를 위한 추가의 16 바이트가 추가된다. 패킷 흐름에 변화가 없는 것을 보장하기 위해, 패킷 엔진 (63, 64) 은 패킷간 갭 내의 바이트 수를 충분히 크게 유지한다. 이것은 바이트가 암호 엔진 (73, 74) 에 의해 패킷에 추가될 때 필요한 패킷 길이의 증가를 보상한다. 사전 성형은 패킷 엔진 (63, 64) 에 의해 수행될 수도 있고, 이에 따라 패킷의 순서 및 상대적 타이밍이 시간 인식되지 않고 네트워크의 타임 스탬핑 컨텍스트의 외부에 배치되는 암호 엔진 (73, 74) 에 의해 변경되는 위험을 제거한다.When the crypto engine 73, 74 performs encryption, a sequence number is added to each data packet, increasing the length by, for example, 8 bytes, as will be explained with reference to Figure 4. When the cryptographic engines 73, 74 perform authentication, an additional 16 bytes for the message authentication code are added, as explained with reference to Figure 5. To ensure that there is no change in packet flow, packet engines 63, 64 keep the number of bytes in the inter-packet gap sufficiently large. This compensates for the increase in packet length required when bytes are added to the packet by the crypto engine 73, 74. Preshaping may be performed by the packet engine 63, 64, such that the order and relative timing of packets are changed by the crypto engine 73, 74, which is not time-aware and is placed outside of the timestamping context of the network. eliminate the risk of

도 4 및 도 5 는 패킷 엔진 (63, 64) 으로부터 수신된 데이터 패킷 (120) 에 암호화 및/또는 인증 동작을 수행할 때 암호 엔진 (73, 74) 의 동작을 도시한다. 패킷 엔진 (63, 64) 은 패킷간 갭 (129) 을 예를 들어 36 바이트의 값으로 확대하였다. 데이터 패킷 (120) 은 암호화되지 않은 MPSL 데이터 패킷일 수도 있다. 데이터 패킷 (120) 은 프리앰블 및 SFD (start frame delimiter) (121) 를 포함할 수도 있다. 데이터 패킷 (120) 은 목적지 어드레스 미디어 액세스 제어 (MAC) 어드레스 (122) 를 포함할 수도 있다. 데이터 패킷 (120) 은 소스 어드레스 미디어 액세스 제어 (MAC) 어드레스 (123) 를 포함할 수도 있다. 데이터 패킷 (120) 은 MPLS LSP (MPLS Label Switched Path) (124) 를 포함할 수도 있다. 데이터 패킷 (120) 은 MPLS PW (MPLS Pseudo-Wire) (125) 를 포함할 수도 있다. 데이터 패킷 (120) 은 암호화되지 않은 의사-와이어 페이로드 (126) 를 포함한다. 데이터 패킷 (120) 은 FCS (Frame Check Sequence) (127) 를 포함할 수도 있다. 4 and 5 illustrate the operation of the cryptographic engines 73 and 74 when performing encryption and/or authentication operations on data packets 120 received from the packet engines 63 and 64. The packet engines 63, 64 enlarge the inter-packet gap 129 to a value of, for example, 36 bytes. Data packet 120 may be an unencrypted MPSL data packet. Data packet 120 may include a preamble and a start frame delimiter (SFD) 121. Data packet 120 may include a destination media access control (MAC) address 122. Data packet 120 may include a source address media access control (MAC) address 123. Data packet 120 may include an MPLS Label Switched Path (MPLS LSP) 124. Data packet 120 may include an MPLS Pseudo-Wire (MPLS PW) 125. Data packet 120 includes an unencrypted pseudo-wire payload 126. Data packet 120 may include a Frame Check Sequence (FCS) 127.

도 4 는 암호화된 데이터 패킷 (130) 을 도시하며, 이는 데이터 패킷 (120) 에 적용될 때 암호 엔진 (73, 74) 의 암호화 동작으로부터 발생한다. 암호화된 데이터 패킷 (130) 에는 암호화 코드 (131) 가 추가될 수도 있다. 암호화된 데이터 패킷 (130) 은 MPLS PW (125) 및 PW 페이로드 (126) 로부터 생성될 수도 있는 암호화된 페이로드 (132) 를 포함한다. 암호화된 페이로드 (132) 는 암호화된 서비스 데이터를 정의할 수도 있다.4 shows an encrypted data packet 130, which results from the encryption operations of the cryptographic engines 73 and 74 when applied to the data packet 120. An encryption code 131 may be added to the encrypted data packet 130. Encrypted data packet 130 includes an encrypted payload 132 that may be generated from an MPLS PW 125 and a PW payload 126. Encrypted payload 132 may define encrypted service data.

암호화는 암호화된 데이터 패킷 (130) 이 그 암호화되지 않은 대응물 (120) 의 크기를 초과하는 크기를 갖도록 한다. 그러나, 패킷간 갭 (129) 은 암호화되지 않은 데이터 패킷 (120) 에 비해, 암호화된 데이터 패킷 (130) 의 크기 증가가 확대된 패킷간 갭 (129) 을 초과하지 않도록, 패킷 엔진 (63, 64) 에 의해 확대된다. 암호 엔진 (63, 64) 은 데이터 패킷을 확대된 패킷간 갭 (129) 내로 성장시키지만, 그를 넘어서는 안 된다. 연속적인 암호화된 데이터 패킷들 사이에 유한의 패킷간 갭 (138) 이 남아있을 수도 있다. 예시를 위해, 패킷간 갭 (138) 은 암호화 코드 (131) 가 8 바이트를 가질 때, 28 바이트를 가질 수도 있다.Encryption causes the encrypted data packet 130 to have a size that exceeds the size of its unencrypted counterpart 120. However, the inter-packet gap 129 is adjusted so that the increase in size of the encrypted data packet 130 relative to the unencrypted data packet 120 does not exceed the expanded inter-packet gap 129, and the packet engines 63, 64 ) is expanded by . Cryptographic engines 63, 64 grow data packets into the enlarged interpacket gap 129, but not beyond it. A finite interpacket gap 138 may remain between successive encrypted data packets. For illustration, interpacket gap 138 may have 28 bytes when encryption code 131 has 8 bytes.

도 5 는 인증과 함께 암호화된 데이터 패킷 (135) 을 도시하며, 이는 데이터 패킷 (120) 에 적용될 때 암호 엔진 (73, 74) 의 암호화 동작 및 인증 동작으로부터 발생한다. 암호화된 데이터 패킷 (135) 에는 인증 코드 (133) 가 포함될 수도 있다. 암호화된 페이로드 (132) 및 인증 코드 (133) 는 암호화된 서비스 데이터를 정의할 수도 있다.5 shows an encrypted data packet 135 with authentication, which results from the encryption and authentication operations of the cryptographic engines 73 and 74 when applied to the data packet 120. Encrypted data packet 135 may include an authentication code 133. Encrypted payload 132 and authentication code 133 may define encrypted service data.

암호화 및 인증은 인증과 함께 암호화된 데이터 패킷 (135) 이 그 암호화되지 않은 대응물 (120) 의 크기를 초과하는 크기를 갖도록 한다. 그러나, 패킷간 갭 (129) 은 암호화되지 않은 데이터 패킷 (120) 에 비해, 인증과 함께 암호화된 데이터 패킷 (135) 의 크기 증가가 확대된 패킷간 갭 (129) 을 초과하지 않도록, 패킷 엔진 (63, 64) 에 의해 확대된다. 암호 엔진 (63, 64) 은 데이터 패킷을 확대된 패킷간 갭 (129) 내로 성장시키지만, 그를 넘어서는 안 된다. 인증과 함께 연속적인 암호화된 데이터 패킷들 사이에 유한의 패킷간 갭 (139) 이 남아있을 수도 있다. 예시를 위해, 패킷간 갭 (139) 은 인증 코드 (133) 가 16 바이트를 가질 때, 12 바이트를 가질 수도 있다. Encryption and authentication, together with authentication, cause the encrypted data packet 135 to have a size that exceeds the size of its unencrypted counterpart 120. However, the inter-packet gap 129 is controlled by the packet engine ( 63, 64). Cryptographic engines 63, 64 grow data packets into the enlarged interpacket gap 129, but not beyond it. With authentication, a finite interpacket gap 139 may remain between successive encrypted data packets. For illustration purposes, interpacket gap 139 may have 12 bytes when authentication code 133 has 16 bytes.

패킷간 갭 크기를 증가시키는 것에 부가하여, 패킷 엔진 (63, 64) 은 더미 패킷을 생성할 수도 있고, 더미 패킷을 암호 엔진 (73, 74) 에 제공된 데이터 패킷의 흐름에 삽입할 수도 있다. 암호 엔진 (73, 74) 은 제어 정보를 내부에 삽입하기 위해 더미 패킷을 사용할 수도 있다. 이것은 새로운 패킷을 생성하여 트래픽에 삽입하는 암호 엔진 (73, 74) 에 대한 필요성을 제거한다. 오히려, 패킷 엔진 (63) 에 의해 생성된 기존 더미 패킷은 도 10 을 참조하여 설명될 바와 같이, 암호 엔진 (73, 74) 에 의해 제어 정보로 충진될 수도 있다.In addition to increasing the inter-packet gap size, packet engines 63, 64 may generate dummy packets and insert dummy packets into the flow of data packets provided to crypto engines 73, 74. The crypto engine 73, 74 may use dummy packets to insert control information therein. This eliminates the need for the crypto engine 73, 74 to create new packets and insert them into the traffic. Rather, existing dummy packets generated by packet engine 63 may be filled with control information by crypto engines 73 and 74, as will be described with reference to FIG. 10.

도 10 은 암호 엔진 (73) 의 블록도 표현이다. 연관된 패킷 엔진은 데이터 흐름 내로의 삽입을 위해 더미 패킷 (241) 을 생성할 수도 있다. 더미 패킷 (241) 은 페이로드 데이터를 포함하지 않고, 단지 예컨대, 암호 키 교환을 위해 제어 데이터를 내부에 삽입하기 위해 암호 엔진 (73) 에 의해 사용될 수 있는, 암호 엔진 (73) 에 의해 수신된 사전 성형된 데이터 트래픽에 포함된 패킷들을 제공하도록 생성될 수도 있다. 패킷 엔진 (63) 은 더미 패킷 (241) 을 데이터 흐름 (즉, 페이로드 데이터를 포함하는 데이터 패킷들의 시퀀스) 내로 삽입한다. 더미 패킷 (241) 은 SCC 패킷일 수도 있다.10 is a block diagram representation of crypto engine 73. The associated packet engine may generate dummy packets 241 for insertion into the data flow. Dummy packet 241 contains no payload data, but is merely received by crypto engine 73, which may be used by crypto engine 73 to insert control data therein, for example, for cryptographic key exchange. It may also be created to provide packets included in pre-shaped data traffic. Packet engine 63 inserts dummy packet 241 into the data flow (i.e., a sequence of data packets containing payload data). Dummy packet 241 may be an SCC packet.

스트림 내의 더미 패킷들 (241) 의 적어도 부분은 암호 엔진 (73) 에 의한 관리 채널 송신들을 위해 충진되고 사용될 수도 있다.At least a portion of the dummy packets 241 in the stream may be filled and used for management channel transmissions by crypto engine 73.

암호 엔진 (73) 은, 암호 엔진 (73) 이 암호 키 교환과 같은 관리 채널 송신을 위한 제어 패킷을 생성할 필요가 있을 때, 더미 패킷 (59) 을 제어기 (243) 또는 다른 집적 반도체 회로에 제공하기 위한 디바이스 (242) 를 포함할 수도 있다. 디바이스 (242) 는 인입하는 사전-성형 데이터 트래픽으로부터 더미 패킷을 선택할 수도 있다. 이를 위해, 암호 엔진 (73) 은 페이로드 데이터를 포함하는 규칙적인 데이터 트래픽으로부터 더미 패킷을 구별하기 위해 모든 패킷 헤더를 스캔할 수도 있다.Cryptographic engine 73 provides dummy packets 59 to controller 243 or other integrated semiconductor circuits when cryptographic engine 73 needs to generate control packets for management channel transmission, such as cryptographic key exchange. It may also include a device 242 for doing so. Device 242 may select dummy packets from incoming pre-shaped data traffic. To this end, crypto engine 73 may scan all packet headers to distinguish dummy packets from regular data traffic containing payload data.

관리 채널 송신에 필요하지 않은 더미 패킷 (241) 은 암호 엔진 (73) 에 의해 사전 성형된 데이터 트래픽으로부터 제거될 수도 있다.Dummy packets 241 that are not needed for management channel transmission may be removed from the pre-shaped data traffic by crypto engine 73.

제어기 (243) 는 더미 패킷 (241) 의 적어도 부분을 특히 암호화 및/또는 인증과 관련된 관리 채널 관련 제어 데이터로 충진할 수도 있다. 제어기 (63) 는 예를 들어, 암호화 키 교환을 위해 더미 패킷 (241) 중 적어도 일부를 사용할 수도 있다. 더미 패킷 (241) 의 적어도 부분을 보안 관련 관리 채널 제어 데이터로 충진함으로써, 제어 패킷 (244) 이 생성된다. 디바이스 (242) 는 더미 패킷 (241) 의 위치에서 사전 성형된 데이터 트래픽에 제어 패킷 (244) 을 재삽입할 수도 있다.Controller 243 may fill at least a portion of dummy packet 241 with management channel-related control data, particularly related to encryption and/or authentication. Controller 63 may use at least some of the dummy packets 241, for example, for encryption key exchange. Control packet 244 is created by filling at least a portion of dummy packet 241 with security-related management channel control data. Device 242 may reinsert control packet 244 into the pre-shaped data traffic in place of dummy packet 241 .

도 6 은 트랜짓 트래픽을 도시하는 LSR (160) 의 블록도이다. 네트워크 (10) 의 복수의 LSR들 (55, 56, 57, 58) 의 각각은 도 6 을 참조하여 설명된 바와 같은 구성을 가질 수도 있다. 데이터 패킷은 LSR 경우에 대한 LSP 경로에서 4 개의 암호 엔진 인스턴스를 트랜짓할 수도 있다. Figure 6 is a block diagram of LSR 160 illustrating transit traffic. Each of the plurality of LSRs 55, 56, 57, 58 of network 10 may have a configuration as described with reference to FIG. 6. A data packet may transit four crypto engine instances in the LSP path for the LSR case.

LSR (140) 은 제 1 패킷 엔진 (141) 및 제 2 패킷 엔진 (142) 을 포함할 수도 있다. LSR (140) 이 MPLS 경로의 중간 홉인 경우, 제 1 패킷 엔진 (141) 및 제 2 패킷 엔진 (142) 양자가 사용될 수도 있다. 그러나, 패킷 스위치 (도 3 의 패킷 스위치 (82, 86) 에 대해 설명된 바와 같이 일반적으로 구성되고 동작함) 는 스탠바이 동작일 수도 있고 오직 포트 포워더로서 기능할 수도 있다.LSR 140 may include a first packet engine 141 and a second packet engine 142. If LSR 140 is an intermediate hop in the MPLS path, both first packet engine 141 and second packet engine 142 may be used. However, a packet switch (generally configured and operating as described for packet switches 82, 86 of Figure 3) may be in standby operation and may function only as a port forwarder.

LSR (140) 은 복수의 암호 엔진 (162, 164, 165, 166) 을 포함할 수도 있다.LSR 140 may include multiple cryptographic engines 162, 164, 165, and 166.

제 1 패킷 엔진 (141) 은 포트 A (151) 및 포트 B (152) 를 가질 수도 있다. 제 2 패킷 엔진 (142) 은 포트 A (153) 및 포트 B (154) 를 가질 수도 있다. 암호 엔진 (143) 은 포트 A (155) 및 포트 B (156) 를 가질 수도 있다. 암호 엔진 (146) 은 포트 A (157) 및 포트 B (158) 를 가질 수도 있다.First packet engine 141 may have port A (151) and port B (152). Second packet engine 142 may have port A (153) and port B (154). Cryptographic engine 143 may have port A 155 and port B 156. Cryptographic engine 146 may have port A 157 and port B 158.

암호 엔진 (146) 의 포트 A (157) 에서 수신된 인터페이스 (109) 로부터의 트래픽은 암호 엔진 (146) 을 통해 암호 엔진 (146) 의 포트 B (158) 를 경유하여 제 2 패킷 엔진 (142) 의 포트 B (154) 로 흐를 수도 있다. 제 2 패킷 엔진 (142) 은 오직 데이터 패킷을 제 1 패킷 엔진 (141) 으로 포워딩하는 패킷 스위치를 가질 수도 있다. 제 1 패킷 엔진 (141) 은 포트 A (151) 를 통해 제 1 암호 엔진 (143) 의 포트 A (155) 로 데이터 트래픽을 출력할 수도 있다. 트래픽 흐름은 암호 엔진 (143) 의 포트 B (156) 를 통해 인터페이스 (108) 로 출력될 수도 있다. Traffic from interface 109 received on port A 157 of crypto engine 146 is transmitted via crypto engine 146 to second packet engine 142 via port B 158 of crypto engine 146. It may also flow to port B (154) of . Second packet engine 142 may have a packet switch that only forwards data packets to first packet engine 141. The first packet engine 141 may output data traffic through port A 151 to port A 155 of the first encryption engine 143. Traffic flow may be output to interface 108 via port B 156 of crypto engine 143.

하나의 노드가 하이브리드 LER 및 LSR 모드에서 작동할 수 있음이 인식될 것이다. 따라서, LSR 의 패킷 엔진 (141, 142) 및 암호 엔진 (143, 144, 145, 146) 과 LER 의 패킷 엔진 (141, 142) 및 암호 엔진 (143, 144, 145, 146) 사이에는 일대일 대응이 존재한다. 따라서, 암호 엔진 (144, 145) 은 예를 들어 노드가 LER 모드에서 동작될 때, 암호 엔진 (143, 146) 보다 역방향 흐름 방향에 대한 암호화/복호화 및/또는 인증 동작을 수행할 수도 있다.It will be appreciated that one node may operate in a hybrid LER and LSR mode. Therefore, there is a one-to-one correspondence between the packet engines (141, 142) and crypto engines (143, 144, 145, 146) of the LSR and the packet engines (141, 142) and crypto engines (143, 144, 145, 146) of the LER. exist. Accordingly, crypto engines 144 and 145 may perform encryption/decryption and/or authentication operations for a reverse flow direction than crypto engines 143 and 146, for example, when the node is operating in LER mode.

노드가 LSR 모드에서 동작할 때, 암호 엔진 (143, 146) 은 비트 윈도우 메커니즘을 사용하여 암호화된 데이터 패킷이 복호화될 것인지 여부를 결정할 수도 있다. 암호화된 엔드-투-엔드 경로의 경우, LSR (140) 은 암호 엔진 (143, 146) 이 양방향 데이터 경로의 중간 홉에서 암호화된 데이터 패킷을 복호화하지 않도록 설정된다. 복호화 검색을 위한 비트 패턴은 암호화되지 않은 OAM 패킷들, 예를 들어 추적 루트로부터 암호화된 패킷들을 구별하기 위해 스택 상부 라벨 (경로 식별자) 및 추가 비트 (스택 상부 S-비트, 스택 하부 라벨) 를 포함할 수도 있다. 핑 및 추적 루트 메시지와 같은 OAM 패킷은 중간 노드의 장애에 대한 검출 메커니즘으로 기능하며, 적절히 구성된 비트 윈도우에 의해 표시된 것과 같이, 암호화되지 않고 남아있는다.When a node operates in LSR mode, the crypto engine 143, 146 may use a bit window mechanism to determine whether an encrypted data packet will be decrypted. For an encrypted end-to-end path, LSR 140 is configured so that crypto engines 143, 146 do not decrypt encrypted data packets at intermediate hops in the bidirectional data path. The bit pattern for decryption search includes a top-of-stack label (path identifier) and additional bits (top-of-stack S-bit, bottom-of-stack label) to distinguish encrypted packets from unencrypted OAM packets, e.g., traceroute. You may. OAM packets, such as ping and trace route messages, serve as a detection mechanism for failure of intermediate nodes and remain unencrypted, as indicated by a properly configured bit window.

도 7 은 LER (160) 의 블록도이다. 네트워크 (10) 의 복수의 LER들 (53, 54) 의 각각은 도 7 을 참조하여 설명된 바와 같은 구성을 가질 수도 있다. MPLS 트래픽 및 암호화 세션 양자는 LER (160) 에서 시작할 수도 있다.Figure 7 is a block diagram of LER 160. Each of the plurality of LERs 53, 54 of network 10 may have a configuration as described with reference to FIG. 7. Both MPLS traffic and encryption sessions may originate at LER 160.

LER (160) 은 작업 (w) 경로를 위한 제 1 패킷 엔진 (PE) (161) 및 보호 (p) 경로를 위한 제 2 패킷 엔진 (162) 을 포함할 수도 있다. 제 1 패킷 엔진 (161) 에는 작업 경로를 위한 터널 시작 (181) 이 제공된다. 도 7 에 점선으로 표시된 보호 흐름 (182) 은 제 1 패킷 엔진 (161) 에서 시작될 수도 있다.LER 160 may include a first packet engine (PE) 161 for the working (w) path and a second packet engine (162) for the protection (p) path. The first packet engine 161 is provided with a tunnel start 181 for the working path. Protection flow 182, indicated by a dotted line in FIG. 7, may originate in first packet engine 161.

LER (160) 은 복수의 암호 엔진 (163, 164, 165, 166) 을 포함할 수도 있다.LER 160 may include multiple cryptographic engines 163, 164, 165, and 166.

LER (160) 은 라인 카드 (168) 를 포함할 수도 있다. 라인 카드 (168) 는 포트들 (169) 을 가질 수도 있다.LER 160 may include line card 168. Line card 168 may have ports 169.

제 1 패킷 엔진 (161) 은 포트 A (171) 및 포트 B (172) 를 가질 수도 있다. 제 2 패킷 엔진 (162) 은 포트 A (173) 및 포트 B (174) 를 가질 수도 있다. 암호 엔진 (163) 은 포트 A (175) 및 포트 B (176) 를 가질 수도 있다. 암호 엔진 (166) 은 포트 A (177) 및 포트 B (178) 를 가질 수도 있다. 암호 엔진 (163 및 166) 은 양방향 터널 쌍에서 제 1 방향에 대한 암호화 및/또는 인증을 수행한다. 암호 엔진 (163) 과 동일한 제 1 패킷 엔진 (161) 에 접속될 수도 있는 각각의 연관된 암호 엔진 (164), 및 암호 엔진 (166) 과 동일한 제 2 패킷 엔진 (162) 에 접속될 수도 있는 암호 엔진 (165) 은 제 1 방향과 반대 인 양방향 터널 쌍에 제 2 방향에 대한 복호화 및/또는 인증을 수행할 수도 있다.First packet engine 161 may have port A 171 and port B 172. Second packet engine 162 may have port A 173 and port B 174. Cryptographic engine 163 may have port A 175 and port B 176. Cryptographic engine 166 may have port A 177 and port B 178. Cryptographic engines 163 and 166 perform encryption and/or authentication for the first direction in the bi-directional tunnel pair. Each associated cryptographic engine 164 may be connected to a first packet engine 161 that is the same as the cryptographic engine 163, and a cryptographic engine that may be connected to a second packet engine 162 that is the same as the cryptographic engine 166. 165 may perform decryption and/or authentication for a second direction on a bidirectional tunnel pair opposite to the first direction.

라인 카드 (168) 로부터의 트래픽은 제 1 패킷 엔진 (161) 에 의해 포트 A (171) 를 통해 암호 엔진 (163) 의 포트 A (175) 로 제공될 수도 있다. 암호 엔진 (163) 은 암호화 및/또는 인증 동작을 수행할 수도 있다. 각각의 데이터 패킷의 중요 부분이 암호화된 대응물으로 대체된다. 암호화된 트래픽은 암호 엔진 (163) 의 포트 B (176) 를 통해 인터페이스 (108) 로 출력된다.Traffic from line card 168 may be provided by first packet engine 161 via port A 171 to port A 175 of crypto engine 163. Cryptographic engine 163 may perform encryption and/or authentication operations. Critical parts of each data packet are replaced with their encrypted counterparts. Encrypted traffic is output to interface 108 through port B 176 of crypto engine 163.

보호 경로는 제 2 패킷 엔진 (162) 을 통해 연장할 수도 있다. 트래픽은 패킷 엔진 (162) 의 포트 B (174) 를 통해 암호 엔진 (166) 의 포트 B (178) 로 출력될 수도 있다. 암호 엔진 (166) 은 암호화 및/또는 인증 동작을 수행할 수도 있다. 보호 경로의 트래픽은 암호 엔진 (166) 의 포트 B (156) 를 통해 인터페이스 (109) 로 출력될 수도 있다.The protection path may extend through the second packet engine 162. Traffic may be output to port B 178 of crypto engine 166 via port B 174 of packet engine 162. Cryptographic engine 166 may perform encryption and/or authentication operations. Traffic on the protection path may be output to interface 109 via port B 156 of crypto engine 166.

암호 엔진 (163, 166) 은 비트 윈도우 메커니즘을 사용하여 어떤 데이터 패킷이 암호화될 것인지를 결정할 수도 있다. 암호화 검색을 위한 비트 패턴은 스택 상부 라벨 (경로 식별자) 및 추가 비트 (스택 상부 TTL 값, 스택 하부 라벨) 를 포함할 수도 있다.Cryptographic engines 163, 166 may use a bit window mechanism to determine which data packets will be encrypted. The bit pattern for cryptographic search may include a top of the stack label (path identifier) and additional bits (top of stack TTL value, bottom of stack label).

암호 엔진 (164, 165) 은 비트 윈도우 메커니즘을 사용하여 어떤 데이터 패킷이 복호화될 것인지를 결정할 수도 있다. 복호화 검색을 위한 비트 패턴은 암호화되지 않은 OAM 패킷들, 예를 들어 추적 루트로부터 암호화된 패킷들을 구별하기 위해 스택 상부 라벨 (경로 식별자) 및 추가 비트 (스택 상부 S-비트, 스택 하부 라벨) 를 포함할 수도 있다.Cryptographic engines 164, 165 may use a bit window mechanism to determine which data packets will be decrypted. The bit pattern for decryption search includes a top-of-stack label (path identifier) and additional bits (top-of-stack S-bit, bottom-of-stack label) to distinguish encrypted packets from unencrypted OAM packets, e.g., traceroute. You may.

도 8 은 예를 들어, RFC 3032 에 따른 라벨 스택 인코딩을 나타내는 데이터 (190) 를 도시한다. 예시적인 데이터는 라벨 값, 스택 하부 비트 및 TTL (Time to Live) 을 포함한다. 암호 엔진은 프로그램 가능한 비트 윈도우를 사용하여 구성되어, 데이터 패킷이 각각의 암호 엔진에 의해 프로세싱될 것인지 여부 또는 데이터 패킷이 터치되지 않고 남아있을 것인지 여부를 결정할 수도 있다. 예시를 위해, 암호화 검색을 위한 비트 패턴은 스택 상부 라벨 (경로 식별자) 및 추가 비트 (스택 상부 TTL 값, 스택 하부 라벨) 를 포함할 수도 있다. 복호화 검색을 위한 비트 패턴은 암호화되지 않은 OAM 패킷들, 예를 들어 추적 루트로부터 암호화된 패킷들을 구별하기 위해 스택 상부 라벨 (경로 식별자) 및 추가 비트 (스택 상부 S-비트, 스택 하부 라벨) 를 포함할 수도 있다.8 shows data 190 representing label stack encoding, for example, according to RFC 3032. Exemplary data includes label values, stack bottom bits, and Time to Live (TTL). Cryptographic engines may be configured using programmable bit windows to determine whether a data packet will be processed by the respective cryptographic engine or whether a data packet will remain untouched. For illustration purposes, the bit pattern for cryptographic search may include a top of stack label (path identifier) and additional bits (top of stack TTL value, bottom of stack label). The bit pattern for decryption search includes a top-of-stack label (path identifier) and additional bits (top-of-stack S-bit, bottom-of-stack label) to distinguish encrypted packets from unencrypted OAM packets, e.g., traceroute. You may.

비트 윈도우 메커니즘을 사용하여 암호 엔진에 의해 트래픽 상태 모니터링을 수행하는 다양한 옵션을 식별 할 수 있다. 예시를 위해, 의사 와이어 id 가 식별될 수 있고, "TTL (time to live)" 바이트가 판독될 수 있다. 이 TTL 바이트의 사전 정의된 값 또는 범위는 각각 트래픽 상태 모니터링을 위해, 암호화/복호화될 엔드-투-엔드 모니터링 패킷과 암호화되지 않고 남아있는 핑 및 추적 루트 메시지 간을 구별하는데 사용될 수도 있다.Using the bit window mechanism, various options can be identified to perform traffic state monitoring by the crypto engine. For illustration purposes, a pseudo wire id can be identified and a “time to live” byte can be read. This predefined value or range of TTL bytes may be used to distinguish between end-to-end monitoring packets to be encrypted/decrypted and ping and trace route messages that remain unencrypted, respectively, for traffic status monitoring.

도 9 는 네트워크 (10) 에 대한 관리 기능들의 계위를 도시하는 블록도이다. PFPM (42) 는 패킷 흐름을 제어한다. CEKM (44) 은 암호화 경로, 즉 사이버 보안 경로의 엔드포인트 노드 및 중간 노드에서의 암호 엔진을 제어하고 각각의 키를 제공한다. 네트워크 (10) 는 각각 패킷 엔진 (211, 212, 213, 214) 및 암호 엔진 (221, 222, 223, 224) 을 포함하는, 복수의 LER들 (201, 202, 203, 204) 을 포함할 수도 있다. 오직 하나의 패킷 엔진 및 하나의 암호 엔진만이 도 9 에 도시되어 있지만, 각각의 LER 은 전술한 바와 같이 복수의 패킷 엔진 및 복수의 암호 엔진을 포함할 수도 있음이 인식될 것이다. 예시를 위해, 각각의 LER (201, 202, 203, 204) 은 각각 작업 및 보호 경로를 위한 2 개의 패킷 엔진, 및 작업 및 보호 경로 양자의 2 개의 방향에 사용되는 4 개의 암호 엔진을 포함할 수도 있다. 9 is a block diagram showing the hierarchy of management functions for network 10. PFPM 42 controls packet flow. CEKM 44 controls the cryptographic engines at the endpoint nodes and intermediate nodes of the encryption path, i.e. the cybersecurity path, and provides respective keys. Network 10 may include a plurality of LERs 201, 202, 203, 204, each including a packet engine 211, 212, 213, 214 and a crypto engine 221, 222, 223, 224. there is. Although only one packet engine and one crypto engine are shown in Figure 9, it will be appreciated that each LER may include multiple packet engines and multiple crypto engines as described above. For illustration purposes, each LER 201, 202, 203, 204 may include two packet engines for the working and protection paths, respectively, and four cryptographic engines for use in two directions of both the working and protection paths. there is.

CEKM (44) 은 암호 엔진으로부터 하드웨어 정의된 식별자 (233) 를 수신할 수도 있다. 하드웨어 정의된 식별자 (233) 는 예를 들어, 보드 식별자일 수도 있다. 각 암호 엔진에는 네트워크에서 고유한 하드웨어 정의된 식별자가 있을 수도 있다. 하드웨어 정의된 식별자는 인터페이스 (232) 를 통해 PFPM (42) 에 제공될 수도 있다.CEKM 44 may receive a hardware-defined identifier 233 from the cryptographic engine. Hardware defined identifier 233 may be a board identifier, for example. Each crypto engine may have a hardware-defined identifier that is unique on the network. A hardware defined identifier may be provided to PFPM 42 via interface 232.

다음 제어 단계가 수행될 수도 있다:The following control steps may be performed:

단계 A: CEKM (44) 및 PFPM (42) 은 각각의 경로에 대해 다음의 튜플 (231, 232) 을 각각 교환할 수도 있다:Step A: CEKM 44 and PFPM 42 may exchange the following tuples 231, 232 for each path, respectively:

ⅰ. 하드웨어 정의된 식별자 (즉, 글로벌 엔진 어드레스)ⅰ. Hardware-defined identifier (i.e. global engine address)

ⅱ. 터널-id, ⅱ. tunnel-id,

ⅲ. MPLS 라벨, ⅲ. MPLS labels,

ⅳ. 방향, iv. direction,

ⅴ. 프로필-id.v. profile-id.

프로파일-id 는 터치되지 않고 남아있어야 하는 트래픽 유형과 같은 보조 정보의 세트를 식별할 수도 있다.The profile-id may identify a set of auxiliary information, such as the type of traffic that should remain untouched.

단계 B: 암호 엔진 구성의 성공적인 적용을 검증한 경우, PFPM 은 패킷 흐름의 적절한 타이밍 및 순서를 보장하기 위해 사전 성형 파라미터 구성 (234) 을 적용한다. 사전 성형 파라미터 구성 (234) 은 패킷 엔진의 더미 패킷 제어기 (215, 216) 에 제공될 수도 있다.Step B: Upon verifying successful application of the crypto engine configuration, the PFPM applies pre-shaping parameter configuration 234 to ensure proper timing and sequencing of packet flows. Pre-shaping parameter configuration 234 may be provided to the packet engine's dummy packet controllers 215, 216.

단계 C: 사전 형성 파라미터 구성이 성공적으로 적용되었다는 긍정적 확인을 수신한 후, PFPM (42) 은 경로 구성 (235) 을 패킷 엔진에 적용한다. 사전 성형 파라미터 구성이 성공적이지 않은 경우, PFPM (42) 의 시뮬레이션이 롤백될 수도 있고 구성이 적용되지 않을 수도 있다.Step C: After receiving positive confirmation that the preformation parameter configuration has been successfully applied, PFPM 42 applies the path configuration 235 to the packet engine. If preforming parameter configuration is not successful, the simulation of PFPM 42 may be rolled back and the configuration may not be applied.

경로를 테이크다운하는 것은 동일한 확인응답을 수반한다. 경로는 단계 C 에서 단계 A 로 역순으로 테이크다운된다. Taking down a route involves the same acknowledgment. The path is taken down from stage C to stage A in reverse order.

도 11 는 일 실시형태에 따른 방법 (250) 의 흐름도이다. Figure 11 is a flow diagram of a method 250 according to one embodiment.

단계 (251) 에서, 각각의 패킷 엔진과 별도로 제공되는 복수의 암호 엔진은 중앙 CEKM 을 사용하여 제어될 수도 있다. 복수의 암호 엔진을 제어하는 것은 암호 엔진으로의 암호화를 위한 키를 제공하는 것을 포함할 수도 있다. 복수의 암호 엔진을 제어하는 것은 CEKM 에 의해, PFPM에 의해 설정된 경로에 의존하여 프로그램가능 비트 윈도우를 구성하는 것을 포함할 수도 있다.At step 251, multiple cryptographic engines provided separately from each packet engine may be controlled using a central CEKM. Controlling multiple cryptographic engines may include providing keys for encryption to the cryptographic engines. Controlling the plurality of cryptographic engines may include configuring programmable bit windows by the CEKM, depending on the path set by the PFPM.

단계 (252) 에서, 패킷 엔진과 별도로 제공된 암호 엔진은 적어도 하나의 사이버 보안 관련 기능을 수행할 수도 있다. 사이버 보안 관련 기능은 암호화/복호화를 포함할 수도 있다. 사이버 보안 관련 기능은 인증을 포함할 수도 있다.At step 252, a cryptographic engine provided separately from the packet engine may perform at least one cybersecurity-related function. Cybersecurity-related functions may also include encryption/decryption. Cybersecurity-related functions may also include authentication.

도 12 는 일 실시형태에 따른 방법 (260) 의 흐름도이다. 방법 (260) 은 일 실시형태에 따라 CEKM 에 의해 수행될 수도 있다.Figure 12 is a flow diagram of a method 260 according to one embodiment. Method 260 may be performed by CEKM according to one embodiment.

단계 (261) 에서, CEKM 은 암호 엔진의 하드웨어 식별자를 PFPM 에 제공할 수도 있다. CEKM 은 이 재고 정보 이외의 사이버 보안 시스템에 대한 정보를 PFPM 에 제공하지 않을 수도 있다.At step 261, the CEKM may provide the hardware identifier of the cryptographic engine to the PFPM. CEKM may not provide PFPM with information about its cybersecurity systems other than this inventory information.

단계 (262) 에서, CEKM 은 PFPM 으로부터, 경로에 관한 정보 또는 토폴로지 정보를 수신할 수도 있다. 경로에 관한 정보는 예를 들어, 터널-id, MPLS 라벨 또는 라벨 스택 및 방향을 포함할 수도 있다.At step 262, the CEKM may receive information about the route or topology information from the PFPM. Information about the route may include, for example, tunnel-id, MPLS label or label stack, and direction.

단계 (263) 에서, CEKM 은 암호 엔진을 구성하기 위한 보안 프로토콜을 통해 모든 암호 엔진과 통신할 수도 있다. 암호 엔진을 구성하는 것은 데이터 패킷이 사이버 보안 기능을 받을지 여부를 결정하기 위해 암호 엔진에 의해 사용되는 프로그램가능 비트 윈도우를 프로그래밍하는 것을 포함할 수도 있다.At step 263, the CEKM may communicate with all cryptographic engines via a secure protocol to configure the cryptographic engines. Configuring the cryptographic engine may include programming programmable bit windows used by the cryptographic engine to determine whether a data packet is eligible for a cybersecurity feature.

단계 (264) 에서, CEKM 은 네트워크의 동작 동안 암호 엔진으로부터 통지를 수신할 수도 있다. CEKM 은 PFPM 에 경보를 제공할 수도 있다.At step 264, the CEKM may receive notifications from the cryptographic engine during operation of the network. CEKM can also provide alerts to PFPM.

실시형태들에 따른 방법, 디바이스 및 시스템은 복잡한 메시형 네트워크를 통해 트랜짓하는 경우에도, 보안 통신 및 와이어 유사 결정을 제공한다.Methods, devices, and systems according to embodiments provide secure communications and wire-like decisions, even when transiting through complex meshed networks.

예시적인 실시형태가 도면을 참조하여 설명되었지만, 다른 실시형태에서 수정 및 변경이 구현될 수도 있다. 방법, 디바이스 및 시스템은 MPLS 네트워크에 사용될 수도 있지만, 이에 제한되지는 않는다.Although example embodiments have been described with reference to the drawings, modifications and variations may be implemented in other embodiments. The methods, devices, and systems may be used in, but are not limited to, MPLS networks.

실시형태들에 따른 방법들, 디바이스들 및 시스템들은 복잡하고 메시형의 네트워크 토폴로지들을 통해 암호화되고 인증된 데이터 패킷들을 결정적으로 트랜짓하기 위해 사용될 수도 있다. MPLS-TP 네트워크와 같은 이들 네트워크의 경우, 보호된 엔드-투-엔드 터널의 사이버 보안 중복 데이터 링크 엔드포인트들, 즉 암호 엔진과의 코히어런트 연관이 제공된다. 보안상의 이유로, 2 개의 서브시스템은 강력하게 분리되어 있지만 동기화될 수도 있다. 동적 프로토콜은 엄격하게 제한된 정보 교환을 지원하는 데 사용될 수도 있다. 이를 통해 모든 표준 및 예외적인 네트워크 동작 상태 동안 2 개의 중복 시스템을 서로 부합하여 유지되게 한다.Methods, devices and systems according to embodiments may be used to deterministically transit encrypted and authenticated data packets through complex, meshed network topologies. For these networks, such as MPLS-TP networks, coherent association with cybersecurity redundant data link endpoints in a protected end-to-end tunnel, i.e. a cryptographic engine, is provided. For security reasons, the two subsystems are strongly separated but can also be synchronized. Dynamic protocols can also be used to support strictly limited information exchange. This ensures that the two redundant systems remain aligned with each other during all standard and exceptional network operating conditions.

엔드-투-엔드 암호화 및/또는 인증이 수행되는 실시형태들이 설명될 것이지만, 여기에 개시된 기술들은 또한, 엔드-투-엔드 경로의 세그먼트들을 따라 암호화 및/또는 인증을 위해 사용될 수도 있다.Although embodiments will be described in which end-to-end encryption and/or authentication is performed, the techniques disclosed herein may also be used for encryption and/or authentication along segments of an end-to-end path.

방법, 디바이스 및 시스템은 패킷 추가를 필요로 하지 않으며, 암호화 단계 동안 모든 패킷에 대해 동일한 지연이 유지되게 한다. 패킷을 스트림에 추가하기 위한 암호 엔진의 잠재적 요구는 암호 엔진과 분리된 패킷 엔진에 의해 더미 패킷을 추가함으로써 회피된다. 결국 암호 엔진 제어 패킷 교환 요구로 인한 임의의 방해를 회피하기 위해, 필요할 때 패킷 엔진에서 패킷간 갭이 확대될 수 있다. The method, device, and system do not require packet addition and ensure that the same delay is maintained for all packets during the encryption phase. The crypto engine's potential need to add packets to the stream is avoided by adding dummy packets by a packet engine separate from the crypto engine. Ultimately, the inter-packet gap can be widened in the packet engine when necessary to avoid any disruption due to crypto engine control packet exchange requirements.

본 발명의 실시형태는 MPLS 와 같은 프로토콜을 진정한 사이버 보안으로 향상시킨다.Embodiments of the present invention enhance protocols such as MPLS to be truly cybersecurity.

당업자가 이해하는 바와 같이, 본 명세서에 개시된 실시 형태는 더 나은 이해를 위해 제공되며 단지 예시일 뿐이다. 청구범위에 의해 정의된 바와 같은 본 발명의 범위를 벗어나지 않으면서 당업자에게 다양한 수정 및 변경이 발생할 것이다.As those skilled in the art will understand, the embodiments disclosed herein are provided for better understanding and are by way of example only. Various modifications and changes will occur to those skilled in the art without departing from the scope of the invention as defined by the claims.

Claims (26)

패킷 네트워크에서 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법으로서,
상기 패킷 네트워크는 패킷 처리를 수행하는 복수의 패킷 엔진들 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) 을 포함하는 시간 결정적 패킷 네트워크이며,
상기 방법은,
복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 에 의해, 적어도 하나의 사이버 보안 기능을 수행하는 단계로서, 상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 의 각각의 암호 엔진은 각각 상기 복수의 패킷 엔진들 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) 의 개별 패킷 엔진과 연관되고 상기 개별 패킷 엔진과 별도로 제공되며, 상기 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 중 적어도 일부가 각각,
상기 패킷 네트워크의 엔드포인트 노드와 연관되는 개별 패킷 엔진 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) 과 상기 엔드포인트 노드의 네트워크 대면 포트 사이에서, 또는
상기 엔드포인트 노드와 연관되는 상기 개별 패킷 엔진 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) 과 상기 엔드포인트 노드에 접속된 제 1 트랜짓 노드 (55-58) 사이에서
제공되는, 상기 적어도 하나의 사이버 보안 기능을 수행하는 단계; 및
암호 엔진 및 키의 관리자 (CEKM) (44) 에 의해, 상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 을 중앙 제어하는 단계를 포함하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
A method of providing secure communication over end-to-end data paths in a packet network, comprising:
The packet network is a time-critical packet network including a plurality of packet engines (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) that perform packet processing,
The above method is,
performing at least one cybersecurity function by means of a plurality of cryptographic engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224), said plurality of cryptographic engines ( Each of the encryption engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224) includes the plurality of packet engines (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) associated with and provided separately from the individual packet engine, the cryptographic engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224) ) at least some of each,
Between an individual packet engine (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) associated with an endpoint node of the packet network and a network-facing port of the endpoint node, or
The individual packet engine (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) associated with the endpoint node and a first transit node (55-58) connected to the endpoint node ) between
provided, performing said at least one cybersecurity function; and
Centrally controlling the plurality of cryptographic engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224) by a cryptographic engine and key manager (CEKM) 44. A method of providing secure communication over end-to-end data paths, comprising:
제 1 항에 있어서,
중앙 집중식 패킷 흐름 경로 관리자 (PFPM) (42) 에 의해, 상기 패킷 네트워크의 상기 엔드-투-엔드 데이터 경로들의 엔드포인트 노드들 (140; 53, 54) 및 중간 트랜짓 노드들 (160; 55-58) 을 설정하는 단계를 더 포함하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
According to claim 1,
Endpoint nodes (140; 53, 54) and intermediate transit nodes (160; 55-58) of the end-to-end data paths of the packet network are managed by a centralized Packet Flow Path Manager (PFPM) (42). ), further comprising the step of establishing:
제 2 항에 있어서,
상기 PFPM (42) 은 상기 패킷 네트워크의 모든 엔드포인트 노드들 (140; 53, 54) 및 중간 트랜짓 노드들 (160; 55-58) 에 통신가능하게 접속되는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
According to claim 2,
The PFPM 42 is communicatively connected to all endpoint nodes 140; 53, 54 and intermediate transit nodes 160; 55-58 of the packet network via end-to-end data paths. How to provide secure communications.
제 2 항에 있어서,
상기 CEKM (44) 은 제 1 서버에서 실행되고, 상기 PFPM (42) 은 상기 제 1 서버와 상이한 제 2 서버에서 실행되는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
According to claim 2,
wherein the CEKM (44) runs on a first server and the PFPM (42) runs on a second server that is different from the first server.
제 2 항에 있어서,
상기 CEKM (44) 에 의해 제공된 정보를 상기 PFPM (42) 으로 제한하는 단계를 더 포함하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
According to claim 2,
A method for providing secure communication over end-to-end data paths, further comprising restricting information provided by the CEKM (44) to the PFPM (42).
제 4 항에 있어서,
상기 CEKM (44) 에 의해, 상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 의 하드웨어 정의된 식별자들을 발견하는 단계; 및
상기 CEKM (44) 에 의해, 상기 하드웨어 정의된 식별자들을 상기 PFPM (42) 에 제공하는 단계를 더 포함하며,
상기 CEKM (44) 은 오직 상기 하드웨어 정의된 식별자들 및 알람들만을 상기 PFPM (42) 에 제공하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
According to claim 4,
discovering, by the CEKM 44, hardware-defined identifiers of the plurality of cryptographic engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224); and
further comprising providing, by the CEKM 44, the hardware defined identifiers to the PFPM 42,
The CEKM (44) provides only the hardware defined identifiers and alarms to the PFPM (42).
제 2 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 CEKM (44) 은 상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 을 구성하기 위해 상기 PFPM (42) 으로부터 엔드-투-엔드 데이터 경로의 데이터 흐름 토폴로지에 관한 정보를 수신하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
The method according to any one of claims 2 to 6,
The CEKM 44 operates end-to-end from the PFPM 42 to configure the plurality of cryptographic engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224). A method of providing secure communication over end-to-end data paths, receiving information regarding the data flow topology of the data path.
제 7 항에 있어서,
상기 데이터 흐름 토폴로지에 관한 상기 정보는 터널 식별자, MPLS 라벨 및 방향을 포함하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
According to claim 7,
The method of claim 1, wherein the information regarding the data flow topology includes a tunnel identifier, MPLS label, and direction.
제 2 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 CEKM (44) 및 상기 PFPM (42) 은 보안 채널을 통해 통신하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
The method according to any one of claims 2 to 6,
The CEKM (44) and the PFPM (42) communicate over a secure channel.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 CEKM (44) 은 상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 의 각각에 통신가능하게 접속되고, 상기 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 을 구성하기 위해 및/또는 통지를 위해 보안 프로토콜을 통해 상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 의 각각과 통신하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
The method according to any one of claims 1 to 6,
The CEKM 44 is communicatively connected to each of the plurality of cryptographic engines 14, 24, 43; 71-74; 143-146; 163-166; 221-224, and the cryptographic engines 14 , 24, 43; 71-74; 143-146; 163-166; 221-224) via a security protocol for configuring and/or notifying the plurality of cryptographic engines 14, 24, 43; 71- 74; 143-146; 163-166; 221-224). A method of providing secure communication over end-to-end data paths, communicating with each of the following.
제 2 항에 있어서,
상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 의 암호 엔진에 의해, 비트 윈도우를 사용하여 데이터 패킷으로부터 비트들을 선택하는 단계를 더 포함하고, 상기 비트 윈도우는 프로그램가능하며,
프로그램가능한 상기 비트 윈도우에 따라 선택된 상기 비트들은 상기 암호 엔진에 의해 프로세싱될 데이터 패킷들을 식별하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
According to claim 2,
further comprising selecting bits from a data packet using a bit window by the crypto engine of the plurality of crypto engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224). wherein the bit window is programmable,
The bits selected according to the programmable bit window identify data packets to be processed by the cryptographic engine.
제 11 항에 있어서,
상기 비트 윈도우는 엔드-투-엔드 데이터 경로의 진입 노드 및 진출 노드에서 상이하고, 상기 비트 윈도우를 구성하기 위해 상기 CEKM (44) 과 상기 PFPM (42) 사이에서 교환되는 정보가 사용되는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
According to claim 11,
The bit window is different at the ingress and egress nodes of the end-to-end data path, and the information exchanged between the CEKM 44 and the PFPM 42 is used to configure the bit window. A method of providing secure communication over two-end data paths.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
패킷 엔진 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) 에 의해, 트래픽 흐름에서 데이터 패킷들의 위치들이 암호 엔진을 통과할 시 변화되지 않고 유지되도록 하기 위해 상기 암호 엔진에 진입하는 상기 데이터 패킷들을 사전 성형하는 단계를 더 포함하며, 상기 데이터 패킷들은 상기 암호 엔진에 진입하는 상기 데이터 패킷들의 타임 스탬핑 정보가 상기 데이터 패킷들이 상기 암호 엔진을 떠날 때 여전히 유효하도록 사전 성형되는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
The method according to any one of claims 1 to 6,
By the packet engines 12, 22, 32; 61-64; 141, 142; 161, 162; 211-214, the positions of data packets in the traffic flow are maintained unchanged when passing through the encryption engine. further comprising pre-shaping the data packets entering the crypto engine, wherein the data packets are pre-shaped such that time stamping information of the data packets entering the crypto engine is still valid when the data packets leave the crypto engine. A method of providing secure communication over shaped, end-to-end data paths.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 복수의 패킷 엔진들 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) 및 상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 은 공통의 글로벌 정보 아이덴티티를 사용하여 동일한 트래픽 흐름에 속하는 데이터 패킷들의 글로벌 식별을 보장하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
The method according to any one of claims 1 to 6,
The plurality of packet engines (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) and the plurality of crypto engines (14, 24, 43; 71-74; 143-146) ; 163-166; 221-224) is a method for providing secure communication over end-to-end data paths, ensuring global identification of data packets belonging to the same traffic flow using a common global information identity.
제 14 항에 있어서,
상기 글로벌 정보 아이덴티티는 멀티프로토콜 라벨 스위칭 (MPLS) 터널을 표시하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
According to claim 14,
The method of claim 1, wherein the global information identity indicates a multiprotocol label switching (MPLS) tunnel.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
데이터 패킷들은 연관된 패킷 엔진 (12, 22, 32; 61-64; 161, 162; 201, 204) 을 떠난 직후에 암호 엔진 (14, 24, 43; 71-74; 163-166; 221, 224) 에 의해 암호화되거나, 또는 상기 데이터 패킷들은 상기 연관된 패킷 엔진 (12, 22, 32; 61-64; 161, 162; 201, 204) 에 진입하기 직전에 상기 암호 엔진에 의해 복호화되는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
The method according to any one of claims 1 to 6,
Data packets are sent to the crypto engine (14, 24, 43; 71-74; 163-166; 221, 224) immediately after leaving the associated packet engine (12, 22, 32; 61-64; 161, 162; 201, 204). or the data packets are decrypted by the crypto engine immediately before entering the associated packet engine (12, 22, 32; 61-64; 161, 162; 201, 204). A method of providing secure communication over end data paths.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 은 메세지 인증을 수행하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
The method according to any one of claims 1 to 6,
The plurality of cryptographic engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224) perform message authentication and provide secure communication over end-to-end data paths. method.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
암호 엔진 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 에 의해, 트래픽 전환을 트리거하기 위해 연관된 패킷 엔진의 인터페이스에 트래픽 손실 정보를 전파하는 단계를 더 포함하며,
상기 트래픽 손실 정보를 전파하는 단계는 광역 네트워크 (WAN) 대면 라인 인터페이스에 의해 검출된 광학 데이터 접속의 실패에 의해 트리거되는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
The method according to any one of claims 1 to 6,
Further comprising propagating traffic loss information to the interfaces of the associated packet engines to trigger traffic switching, by the crypto engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224). And
Wherein the step of propagating traffic loss information is triggered by a failure of an optical data connection detected by a wide area network (WAN) facing line interface.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
데이터 패킷들의 추가 스트림을 전송하는 것을 포함하는, 데이터 흐름의 상태를 모니터링하는 단계를 더 포함하며,
상기 데이터 패킷들의 추가 스트림은,
상기 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 에 의해 암호화되는 엔드-투-엔드 모니터링 패킷들; 및/또는
암호화되지 않고 남아있는 핑 및 추적 루트 메시지를 포함하는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
The method according to any one of claims 1 to 6,
further comprising monitoring the status of the data flow, including transmitting an additional stream of data packets,
The additional stream of data packets is:
end-to-end monitoring packets encrypted by the cryptographic engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224); and/or
A method of providing secure communication over end-to-end data paths, including ping and trace route messages remaining unencrypted.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 패킷 엔진들 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) 은 타임 스탬핑을 수행하고, 상기 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 는 시간 인식되지 않고 토폴로지 인식되지 않는, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
The method according to any one of claims 1 to 6,
The packet engines (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) perform time stamping, and the crypto engines (14, 24, 43; 71-74; 143) -146; 163-166; 221-224) is a method for providing secure communication over time-unaware and topology-unaware, end-to-end data paths.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 패킷 네트워크는 고전압 라인들의 자동화를 위한 패킷 네트워크인, 엔드-투-엔드 데이터 경로들을 통한 보안 통신을 제공하는 방법.
The method according to any one of claims 1 to 6,
A method of providing secure communication over end-to-end data paths, wherein the packet network is a packet network for automation of high voltage lines.
패킷 처리를 수행하는 패킷 엔진들 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) 을 갖는 시간 결정적 패킷 네트워크에서 엔드-투-엔드 데이터 경로들을 통한 통신을 보안하기 위한 암호 엔진 및 키의 관리자 (CEKM) (44) 로서,
상기 패킷 네트워크는 상기 패킷 네트워크의 트래픽 흐름 노드들을 구성하는 패킷 흐름 경로 관리자 (PFPM) 를 포함하고,
상기 CEKM (44) 는,
상기 PFPM (42) 으로부터 엔드-투-엔드 데이터 경로의 데이터 흐름 토폴로지에 관한 정보를 수신하도록 동작하는 제 1 인터페이스;
개별 패킷 엔진과 각각 연관되고 별도로 제공되는 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 에 구성 정보를 제공하도록 동작하는 제 2 인터페이스로서, 상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 은 적어도 하나의 사이버 보안 기능을 수행하도록 구성되는, 상기 제 2 인터페이스; 및
상기 데이터 흐름 토폴로지에 기초하여 상기 구성 정보를 생성하도록 동작하는 적어도 하나의 프로세서를 포함하는, 암호 엔진 및 키의 관리자.
Securing communication over end-to-end data paths in a time-critical packet network with packet engines (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) performing packet processing. As a cryptographic engine and key manager (CEKM) (44) to
The packet network includes a packet flow path manager (PFPM) that configures traffic flow nodes of the packet network,
The CEKM (44) is,
a first interface operative to receive information regarding the data flow topology of an end-to-end data path from the PFPM 42;
As a second interface operative to provide configuration information to a plurality of separately provided crypto engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224), each associated with an individual packet engine, , the second interface wherein the plurality of cryptographic engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224) are configured to perform at least one cybersecurity function; and
A cryptographic engine and manager of keys, comprising at least one processor operative to generate the configuration information based on the data flow topology.
제 22 항에 있어서,
상기 CEKM (44) 은 상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 의 하드웨어 정의된 식별자들을 발견하고, 오직 상기 하드웨어 정의된 식별자들 및 알람들만을 상기 PFPM (42) 에 제공하도록 동작하는, 암호 엔진 및 키의 관리자.
According to claim 22,
The CEKM 44 discovers hardware-defined identifiers of the plurality of cryptographic engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224), and detects only the hardware-defined identifiers. A crypto engine and manager of keys operative to provide only messages and alarms to the PFPM 42.
암호 엔진으로서,
시간 결정적 패킷 네트워크에 대한 패킷 처리를 수행하는 패킷 엔진 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) 에 직접 접속되도록 동작하는 제 1 인터페이스;
엔드포인트 노드의 네트워크 대면 포트 또는 상기 엔드포인트 노드에 접속된 제 1 트랜짓 노드에 접속되도록 동작하는 제 2 인터페이스; 및
암호 엔진 및 키의 관리자 (CEKM) (44) 로부터 구성 정보를 수신하도록 동작하는 제 3 인터페이스를 포함하며,
상기 암호 엔진 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 은 상기 CEKM (44) 으로부터 수신된 상기 구성 정보에 기초하여 상기 암호 엔진 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 을 통한 트래픽 흐름의 데이터 패킷들에 사이버 보안 기능을 수행하도록 동작하는, 암호 엔진.
As a crypto engine,
a first interface operative to connect directly to a packet engine (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) that performs packet processing for a time critical packet network;
a second interface operative to connect to a network-facing port of an endpoint node or a first transit node connected to the endpoint node; and
a third interface operative to receive configuration information from a Crypto Engine and Key Manager (CEKM) 44;
The cryptographic engine (14, 24, 43; 71-74; 143-146; 163-166; 221-224) is configured to configure the cryptographic engine (14, 24, 43) based on the configuration information received from the CEKM (44). ; 71-74; 143-146; 163-166; 221-224) a cryptographic engine that operates to perform cybersecurity functions on data packets of traffic flowing through.
제 24 항에 있어서,
상기 암호 엔진 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 은 상기 보안 기능이 수행되는 엔드-투-엔드 경로의 토폴로지에 관한 정보를 갖지 않고 상기 데이터 패킷들의 타임 스탬핑 정보를 사용하지 않고 상기 보안 기능을 수행하도록 동작하는, 암호 엔진.
According to claim 24,
The cryptographic engine (14, 24, 43; 71-74; 143-146; 163-166; 221-224) does not have information about the topology of the end-to-end path on which the security function is performed and the data packet A cryptographic engine that operates to perform the security functions without using their time stamping information.
네트워크로서,
시간 결정적 패킷 네트워크에서 패킷 처리를 수행하도록 동작하는 복수의 패킷 엔진들 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214);
상기 패킷 네트워크의 트래픽 흐름 노드들에 구성 정보를 제공하도록 동작하는 패킷 흐름 경로 관리자 (PFPM) (42);
각각 연관된 패킷 엔진 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) 으로부터 트래픽 흐름의 데이터 패킷들을 수신하거나 또는 상기 연관된 패킷 엔진 (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) 에 상기 트래픽 흐름의 데이터 패킷들을 제공하도록 동작하는, 제 24 항 또는 제 25 항에 기재된 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224); 및
상기 PFPM (42) 및 상기 복수의 암호 엔진들 (14, 24, 43; 71-74; 143-146; 163-166; 221-224) 에 커플링된, 제 22 항 또는 제 23 항에 기재된 암호 엔진 및 키의 관리자 (CEKM) (44) 를 포함하는, 네트워크.
As a network,
a plurality of packet engines (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) operative to perform packet processing in a time-critical packet network;
a Packet Flow Path Manager (PFPM) 42 operative to provide configuration information to traffic flow nodes of the packet network;
Receiving data packets of a traffic flow from each associated packet engine (12, 22, 32; 61-64; 141, 142; 161, 162; 211-214) or from said associated packet engine (12, 22, 32; 61- Cryptographic engines (14, 24, 43; 71-74) according to claim 24 or 25, operative to provide data packets of the traffic flow to 143-146; 163-166; 221-224); and
Cipher according to claim 22 or 23, coupled to the PFPM (42) and the plurality of cryptographic engines (14, 24, 43; 71-74; 143-146; 163-166; 221-224) Network, including Engine and Key Manager (CEKM) 44.
KR1020197029163A 2017-03-08 2018-03-07 Methods and devices for providing cybersecurity in time-aware end-to-end packet flow networks KR102643187B1 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762468808P 2017-03-08 2017-03-08
US201762468845P 2017-03-08 2017-03-08
US62/468,808 2017-03-08
US62/468,845 2017-03-08
US201762610164P 2017-12-23 2017-12-23
US62/610,164 2017-12-23
PCT/EP2018/055628 WO2018162565A1 (en) 2017-03-08 2018-03-07 Methods and devices for providing cyber security for time aware end-to-end packet flow networks

Publications (2)

Publication Number Publication Date
KR20190125413A KR20190125413A (en) 2019-11-06
KR102643187B1 true KR102643187B1 (en) 2024-03-05

Family

ID=61617010

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197029162A KR102537654B1 (en) 2017-03-08 2018-03-07 Methods and devices for maintaining relative timing and order of data packets in a network
KR1020197029163A KR102643187B1 (en) 2017-03-08 2018-03-07 Methods and devices for providing cybersecurity in time-aware end-to-end packet flow networks

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020197029162A KR102537654B1 (en) 2017-03-08 2018-03-07 Methods and devices for maintaining relative timing and order of data packets in a network

Country Status (9)

Country Link
US (2) US11134066B2 (en)
EP (3) EP3883209B1 (en)
JP (2) JP7078633B2 (en)
KR (2) KR102537654B1 (en)
CN (2) CN110383280B (en)
AU (2) AU2018231407B2 (en)
FI (1) FI3883209T3 (en)
IL (2) IL269035B (en)
WO (2) WO2018162565A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7078633B2 (en) * 2017-03-08 2022-05-31 ヒタチ・エナジー・スウィツァーランド・アクチェンゲゼルシャフト Methods and devices for maintaining the relative timing and order of data packets in a network
CN111953553B (en) * 2019-05-16 2023-07-18 华为技术有限公司 Message detection method, device and system
US10805210B1 (en) * 2019-09-20 2020-10-13 Juniper Networks, Inc. GRE tunneling with reduced packet encryption at intermediate routers using loose source routing
US11108689B1 (en) * 2020-02-07 2021-08-31 Ciena Corporation Incorporating a generic associated channel (G-ACh) header and channel-type for connectivity fault management (CFM) packets over multi-protocol label switching (MPLS)
CN115242415A (en) * 2021-04-23 2022-10-25 伊姆西Ip控股有限责任公司 Data encryption method implemented at edge switch, electronic device, and program product
US20230362137A1 (en) * 2022-05-09 2023-11-09 Juniper Networks, Inc. Utilizing a removable quantum random number generator for a network device
US11882029B2 (en) * 2022-05-13 2024-01-23 Juniper Networks, Inc. Securing multiprotocol label switching (MPLS) payloads

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004312517A (en) 2003-04-09 2004-11-04 Nippon Telegr & Teleph Corp <Ntt> Path optimization system, method, and program
JP2012506170A (en) 2008-10-20 2012-03-08 アルカテル−ルーセント Network security method and apparatus

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914697A (en) * 1988-02-01 1990-04-03 Motorola, Inc. Cryptographic method and apparatus with electronically redefinable algorithm
US6708273B1 (en) * 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US6272117B1 (en) * 1998-02-20 2001-08-07 Gwcom, Inc. Digital sensing multi access protocol
US6226290B1 (en) * 1998-04-28 2001-05-01 Nortel Networks Limited Method and apparatus for adjusting an interpacket gap using a network device in a data communications network
JP2001057582A (en) * 1999-08-18 2001-02-27 Alpine Electronics Inc Data communication system
US20030156715A1 (en) * 2001-06-12 2003-08-21 Reeds James Alexander Apparatus, system and method for validating integrity of transmitted data
WO2003021447A1 (en) * 2001-08-31 2003-03-13 Adaptec, Inc. Methods and apparatus for partially reordering data packets
US20030110302A1 (en) * 2001-10-22 2003-06-12 Telemetric Corporation Apparatus and method for bridging network messages over wireless networks
US7215667B1 (en) * 2001-11-30 2007-05-08 Corrent Corporation System and method for communicating IPSec tunnel packets with compressed inner headers
US7246245B2 (en) * 2002-01-10 2007-07-17 Broadcom Corporation System on a chip for network storage devices
JP3925218B2 (en) * 2002-01-30 2007-06-06 ソニー株式会社 Streaming system and streaming method, streaming server and data distribution method, client terminal and data decoding method, program and recording medium
JP2003283539A (en) * 2002-03-20 2003-10-03 Canon Inc Communication network, terminal interface device, node device, transmission control method, storage medium, and program
US8335915B2 (en) * 2002-05-14 2012-12-18 Netapp, Inc. Encryption based security system for network storage
US7349871B2 (en) * 2002-08-08 2008-03-25 Fujitsu Limited Methods for purchasing of goods and services
US20080109889A1 (en) * 2003-07-01 2008-05-08 Andrew Bartels Methods, systems and devices for securing supervisory control and data acquisition (SCADA) communications
CA2513346C (en) * 2003-09-09 2010-11-16 Nippon Telegraph And Telephone Corporation Wireless packet communication method and wireless packet communication apparatus
EP1560368A1 (en) * 2004-01-30 2005-08-03 France Telecom Method and system for establishing a multimedia session between a calling equipment and a called equipment in a IP Multimedia Subsystem (IMS) type network
US7333612B2 (en) * 2004-03-19 2008-02-19 Cisco Technology, Inc. Methods and apparatus for confidentiality protection for Fibre Channel Common Transport
JP4490182B2 (en) * 2004-06-17 2010-06-23 三菱電機株式会社 Communication apparatus and packet communication method
US8631450B1 (en) * 2004-12-02 2014-01-14 Entropic Communications, Inc. Broadband local area network
US20060126827A1 (en) * 2004-12-14 2006-06-15 Dan P. Milleville Encryption methods and apparatus
NO322321B1 (en) * 2005-02-07 2006-09-18 Igor Aleksandrovich Semaev Encryption and decryption method
JP2006245733A (en) * 2005-03-01 2006-09-14 Matsushita Electric Ind Co Ltd Encryption communication method, transmitting terminal, and receiving terminal
CN1969475B (en) * 2005-03-25 2012-07-04 桥扬科技有限公司 Methods and apparatus for cellular broadcasting and communication system
US7764612B2 (en) * 2005-06-16 2010-07-27 Acme Packet, Inc. Controlling access to a host processor in a session border controller
US8514894B2 (en) * 2005-08-02 2013-08-20 Elliptic Technologies Inc. Method for inserting/removal padding from packets
US7725927B2 (en) * 2005-10-28 2010-05-25 Yahoo! Inc. Low code-footprint security solution
JP2007199890A (en) * 2006-01-25 2007-08-09 Sony Corp Content transmission system, apparatus, method and computer program
US20140122876A1 (en) * 2006-01-26 2014-05-01 Unisys Corporation System and method for providing a secure book device using cryptographically secure communications across secure networks
JP4547339B2 (en) * 2006-01-30 2010-09-22 アラクサラネットワークス株式会社 Packet relay device having transmission control function
US8667273B1 (en) * 2006-05-30 2014-03-04 Leif Olov Billstrom Intelligent file encryption and secure backup system
US8099605B1 (en) * 2006-06-05 2012-01-17 InventSec AB Intelligent storage device for backup system
CN1901509B (en) * 2006-07-26 2013-05-29 白杰 Synchronizing method of synchronous data between network nodes
US8010801B2 (en) * 2006-11-30 2011-08-30 Broadcom Corporation Multi-data rate security architecture for network security
US8744076B2 (en) * 2007-04-04 2014-06-03 Oracle International Corporation Method and apparatus for encrypting data to facilitate resource savings and tamper detection
DE102007041143B4 (en) 2007-08-30 2010-04-08 Siemens Enterprise Communications Gmbh & Co. Kg Method for analyzing concurrently transmitted, encrypted data streams in IP networks
US8781003B2 (en) * 2008-07-17 2014-07-15 Cisco Technology, Inc. Splicing of encrypted video/audio content
CN101567818B (en) * 2008-12-25 2011-04-20 中国人民解放军总参谋部第五十四研究所 Large-scale network routing simulation method based on hardware
US8595479B2 (en) * 2009-02-25 2013-11-26 Cisco Technology, Inc. Aggregation of cryptography engines
US8009682B2 (en) * 2009-05-05 2011-08-30 Citrix Systems, Inc. Systems and methods for packet steering in a multi-core architecture
JP5326815B2 (en) * 2009-05-26 2013-10-30 富士通株式会社 Packet transmitting / receiving apparatus and packet transmitting / receiving method
WO2010147473A1 (en) * 2009-06-16 2010-12-23 Ontime Networks As Method on a network element for the purpose of synchronization of clocks in a network
WO2012019114A1 (en) * 2010-08-06 2012-02-09 Citrix Systems, Inc. Systems and methods for a para-virtualized driver in a multi-core virtual packet engine device
US8918550B2 (en) * 2010-08-27 2014-12-23 Total Phase, Inc. Real-time USB class level decoding
US20120172050A1 (en) * 2010-12-29 2012-07-05 Nokia Corporation Method and apparatus for context based on spatial trails
JP6266982B2 (en) * 2011-01-04 2018-01-24 ナパテック アクティーゼルスカブ Apparatus and method for receiving and forwarding data
US20120237024A1 (en) * 2011-03-18 2012-09-20 Wei-Ti Liu Security System Using Physical Key for Cryptographic Processes
WO2013089725A1 (en) * 2011-12-15 2013-06-20 Intel Corporation Method and device for secure communications over a network using a hardware security engine
EP2829024B1 (en) * 2012-03-19 2020-07-08 Intel Corporation Techniques for packet management in an input/output virtualization system
US9130754B2 (en) * 2012-08-29 2015-09-08 Qualcomm Incorporated Systems and methods for securely transmitting and receiving discovery and paging messages
US8923122B2 (en) * 2012-12-19 2014-12-30 Telefonaktiebolaget L M Ericsson (Publ) Packet train generation for estimating available network bandwidth
US9106618B2 (en) * 2013-01-23 2015-08-11 Alcatel Lucent Control plane encryption in IP/MPLS networks
WO2014138883A1 (en) * 2013-03-13 2014-09-18 Jumpto Media Inc. Secure network communication
US9317718B1 (en) * 2013-03-29 2016-04-19 Secturion Systems, Inc. Security device with programmable systolic-matrix cryptographic module and programmable input/output interface
KR20150019931A (en) * 2013-08-16 2015-02-25 삼성전자주식회사 Display apparatus and control method thereof
US9667370B2 (en) * 2013-09-05 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Communication device with peer-to-peer assist to provide synchronization
GB2512502B (en) * 2014-02-25 2015-03-11 Cambridge Silicon Radio Ltd Device authentication
US9596075B2 (en) * 2014-06-03 2017-03-14 L3 Technologies, Inc. Transparent serial encryption
EP3160154B1 (en) * 2014-06-20 2019-05-01 Sony Corporation Information processing apparatus and information processing method
TWI535328B (en) * 2014-07-08 2016-05-21 國立臺灣大學 Grid gateway and transmission tower management system with multiple grid gateways
US10726162B2 (en) * 2014-12-19 2020-07-28 Intel Corporation Security plugin for a system-on-a-chip platform
US9674071B2 (en) * 2015-02-20 2017-06-06 Telefonaktiebolaget Lm Ericsson (Publ) High-precision packet train generation
US20160338120A1 (en) * 2015-05-14 2016-11-17 Smart Technologies, Ulc System And Method Of Communicating Between Interactive Systems
US9801059B2 (en) * 2015-07-09 2017-10-24 Google Inc. Security for wireless broadcasts
US10476798B1 (en) * 2015-09-22 2019-11-12 Amazon Technologies, Inc. Network switch with deterministic longest prefix match lookup
EP3270321B1 (en) * 2016-07-14 2020-02-19 Kontron Modular Computers SAS Technique for securely performing an operation in an iot environment
US10826876B1 (en) * 2016-12-22 2020-11-03 Amazon Technologies, Inc. Obscuring network traffic characteristics
US10542039B2 (en) * 2017-02-08 2020-01-21 Nicira, Inc. Security against side-channel attack in real-time virtualized networks
JP7078633B2 (en) * 2017-03-08 2022-05-31 ヒタチ・エナジー・スウィツァーランド・アクチェンゲゼルシャフト Methods and devices for maintaining the relative timing and order of data packets in a network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004312517A (en) 2003-04-09 2004-11-04 Nippon Telegr & Teleph Corp <Ntt> Path optimization system, method, and program
JP2012506170A (en) 2008-10-20 2012-03-08 アルカテル−ルーセント Network security method and apparatus

Also Published As

Publication number Publication date
AU2018231407B2 (en) 2023-02-16
JP7032420B2 (en) 2022-03-08
US11115398B2 (en) 2021-09-07
US20190394180A1 (en) 2019-12-26
US20200007517A1 (en) 2020-01-02
CN110352586B (en) 2021-12-07
AU2018231406A1 (en) 2019-10-10
CN110383280B (en) 2023-08-29
IL269035A (en) 2019-10-31
JP2020510339A (en) 2020-04-02
WO2018162565A1 (en) 2018-09-13
IL269033B2 (en) 2023-08-01
JP2020510337A (en) 2020-04-02
US11134066B2 (en) 2021-09-28
EP3883209B1 (en) 2023-06-28
EP3593509A1 (en) 2020-01-15
EP3593509B1 (en) 2021-05-05
EP3883209A1 (en) 2021-09-22
AU2018231406B2 (en) 2023-02-02
WO2018162564A1 (en) 2018-09-13
JP7078633B2 (en) 2022-05-31
AU2018231407A1 (en) 2019-10-10
KR20190125413A (en) 2019-11-06
FI3883209T3 (en) 2023-09-12
IL269033A (en) 2019-10-31
EP3593271A1 (en) 2020-01-15
IL269033B1 (en) 2023-04-01
IL269035B (en) 2022-09-01
KR102537654B1 (en) 2023-05-26
KR20190125412A (en) 2019-11-06
CN110383280A (en) 2019-10-25
CN110352586A (en) 2019-10-18

Similar Documents

Publication Publication Date Title
KR102643187B1 (en) Methods and devices for providing cybersecurity in time-aware end-to-end packet flow networks
US10721218B2 (en) Communication device for implementing selective encryption in a software defined network
JP5060081B2 (en) Relay device that encrypts and relays frames
JP2022550356A (en) Methods, systems, and computer-readable media for providing multi-tenant software-defined wide area network (SD-WAN) nodes
EP1427162B1 (en) Security processor mirroring
US9948621B2 (en) Policy based cryptographic key distribution for network group encryption
CN103026663B (en) Distributed connectivity verification protocol redundancy
CN104283701A (en) Method, system and device for issuing configuration information
US20110161657A1 (en) Method and system for providing traffic hashing and network level security
CN107135152B (en) Security reinforcing method for transmitting key information in packet transport network
US20060143701A1 (en) Techniques for authenticating network protocol control messages while changing authentication secrets
CN115473641B (en) Quantum encryption communication method and system capable of realizing automatic networking
US20180262473A1 (en) Encrypted data packet
CN117336001A (en) Method and related device for distributing encrypted information
CN118368342A (en) Parameter notification method, device, equipment and system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant