KR20170011826A - 이더넷 기반의 네트워크를 위한 보안 방법 - Google Patents

이더넷 기반의 네트워크를 위한 보안 방법 Download PDF

Info

Publication number
KR20170011826A
KR20170011826A KR1020150105155A KR20150105155A KR20170011826A KR 20170011826 A KR20170011826 A KR 20170011826A KR 1020150105155 A KR1020150105155 A KR 1020150105155A KR 20150105155 A KR20150105155 A KR 20150105155A KR 20170011826 A KR20170011826 A KR 20170011826A
Authority
KR
South Korea
Prior art keywords
message
communication node
address
end node
identification information
Prior art date
Application number
KR1020150105155A
Other languages
English (en)
Other versions
KR102234210B1 (ko
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 현대자동차주식회사
Priority to KR1020150105155A priority Critical patent/KR102234210B1/ko
Publication of KR20170011826A publication Critical patent/KR20170011826A/ko
Application granted granted Critical
Publication of KR102234210B1 publication Critical patent/KR102234210B1/ko

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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

이더넷 기반의 네트워크를 위한 보안 방법이 개시된다. 제1 통신 노드 동작 방법은, 제1 통신 노드와 연결된 적어도 하나의 통신 노드와 인증 절차를 수행하는 단계, 인증된 통신 노드의 식별 정보를 포함하는 테이블을 생성하는 단계, 및 식별 정보를 인증된 통신 노드에 전송하는 단계를 포함할 수 있다. 따라서, 차량 네트워크의 성능이 향상될 수 있다.

Description

이더넷 기반의 네트워크를 위한 보안 방법{SECURITY METHOD FOR ETHERNET BASED NETWORK}
본 발명은 네트워크 보안 기술에 관한 것으로, 더욱 상세하게는 이더넷 기반의 네트워크를 위한 보안 방법에 관한 것이다.
차량용 부품의 전자화가 급속도로 진행됨에 따라 차량에 탑재되는 전자 장치의 종류와 수가 크게 증가되고 있다. 전자 장치는 크게 파워트레인(power train) 제어 시스템, 바디(body) 제어 시스템, 새시(chassis) 제어 시스템, 차량 네트워크(network), 멀티미디어(multimedia) 시스템 등에서 사용될 수 있다. 파워트레인 제어 시스템은 엔진 제어 시스템, 자동 변속 제어 시스템 등을 의미할 수 있다. 바디 제어 시스템은 바디 전장품 제어 시스템, 편의 장치 제어 시스템, 램프(lamp) 제어 시스템 등을 의미할 수 있다. 새시 제어 시스템은 조향 장치 제어 시스템, 브레이크(brake) 제어 시스템, 서스팬션(suspension) 제어 시스템 등을 의미할 수 있다. 차량 네트워크는 CAN(controller area network), 플렉스레이(FlexRay) 기반의 네트워크, MOST(media oriented system transport) 기반의 네트워크 등을 의미할 수 있다. 멀티미디어 시스템은 항법 장치 시스템, 텔레메틱스(telematics) 시스템, 인포테이먼트(infortainment) 시스템 등을 의미할 수 있다.
이러한 시스템들 및 시스템들 각각을 구성하는 전자 장치들은 차량 네트워크를 통해 연결되어 있으며, 전자 장치들 각각의 기능을 지원하기 위한 차량 네트워크가 요구되고 있다. CAN은 최대 1Mbps의 전송 속도를 지원할 수 있으며, 충돌된 메시지의 자동 재전송, CRC(cycle redundancy interface) 기반의 오류 검출 등을 지원할 수 있다. 플렉스레이 기반의 네트워크는 최대 10Mbps의 전송 속도를 지원할 수 있으며, 2채널을 통한 데이터의 동시 전송, 동기 방식의 데이터 전송 등을 지원할 수 있다. MOST 기반의 네트워크는 고품질의 멀티미디어를 위한 통신 네트워크로, 최대 150Mbps의 전송 속도를 지원할 수 있다.
한편, 차량의 텔레메틱스 시스템, 인포테이먼트 시스템, 향상된 안전 시스템 등은 높은 전송 속도, 시스템 확장성 등을 요구하며, CAN, 플렉스레이 기반의 네트워크 등은 이를 충분히 지원하지 못한다. MOST 기반의 네트워크는 CAN 및 플렉스레이 기반의 네트워크에 비해 높은 전송 속도를 지원할 수 있으나, 차량의 모든 네트워크에 MOST 기반의 네트워크가 적용되기 위해서는 많은 비용이 소모된다. 이러한 문제들에 의해, 차량 네트워크로 이더넷(ethernet) 기반의 네트워크가 고려될 수 있다. 이더넷 기반의 네트워크는 한 쌍의 권선을 통한 양방향 통신을 지원할 수 있으며, 최대 10Gbps의 전송 속도를 지원할 수 있다.
이더넷 기반의 차량 네트워크는 고정(fixed) 네트워크이며, 이러한 특성에 기초한 네트워크 보안 방법이 필요하다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 이더넷 기반의 네트워크를 위한 보안 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 이더넷 기반의 네트워크를 위한 보안 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 네트워크를 구성하는 제1 통신 노드 동작 방법은, 상기 제1 통신 노드와 연결된 적어도 하나의 통신 노드와 인증 절차를 수행하는 단계, 인증된 통신 노드의 식별 정보를 포함하는 테이블을 생성하는 단계, 및 상기 식별 정보를 상기 인증된 통신 노드에 전송하는 단계를 포함할 수 있다.
여기서, 상기 제1 통신 노드는 스위치 또는 브릿지이고, 상기 제1 통신 노드에 연결된 상기 적어도 하나의 통신 노드는 엔드 노드일 수 있다.
여기서, 상기 인증된 통신 노드의 식별 정보는 MAC 주소, IP 주소 및 포트 번호 중 적어도 하나를 포함할 수 있다.
여기서, 상기 MAC 주소는 상기 인증 절차를 통해 획득될 수 있다.
여기서, 상기 제1 통신 노드의 동작 방법은 상기 제1 통신 노드에 연결된 제2 통신 노드로부터 메시지를 수신하는 단계, 및 상기 메시지에 포함된 출발지 주소가 상기 테이블에 존재하는 경우, 상기 메시지에 포함된 목적지 주소에 의해 지시되는 제3 통신 노드로 상기 메시지를 전송하는 단계를 더 포함할 수 있다.
여기서, 상기 제1 통신 노드의 동작 방법은, 상기 메시지에 포함된 출발지 주소가 상기 테이블에 존재하지 않으면, 상기 메시지를 폐기하는 단계를 더 포함할 수 있다.
여기서, 상기 제1 통신 노드의 동작 방법은 상기 제1 통신 노드에 연결된 제2 통신 노드로부터 메시지를 수신하는 단계, 및 상기 메시지에 포함된 출발지 주소 및 상기 출발지 주소에 대응하는 포트 번호가 상기 테이블에 존재하는 경우, 상기 메시지에 포함된 목적지 주소에 의해 지시되는 제3 통신 노드로 상기 메시지를 전송하는 단계를 더 포함할 수 있다.
여기서, 상기 제1 통신 노드의 동작 방법은 상기 출발지 주소 및 상기 출발지 주소에 대응하는 상기 포트 번호가 상기 테이블에 존재하지 않으면, 상기 메시지를 폐기하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 네트워크를 구성하는 제1 통신 노드의 동작 방법은, 상기 제1 통신 노드와 연결된 제2 통신 노드와 인증 절차를 수행하는 단계, 상기 제2 통신 노드로부터 인증된 통신 노드의 식별 정보를 수신하는 단계, 상기 식별 정보에 의해 지시되는 적어도 하나의 통신 노드와 IP 주소 획득 절차를 수행하는 단계, 및 상기 식별 정보 및 획득된 IP 주소를 포함하는 테이블(table)을 생성하는 단계를 포함할 수 있다.
여기서, 상기 제2 통신 노드는 스위치 또는 브릿지이고, 상기 제1 통신 노드 및 상기 적어도 하나의 통신 노드는 상기 제2 통신 노드에 연결된 엔드 노드일 수 있다.
여기서, 상기 인증된 통신 노드의 식별 정보는 MAC 주소 및 포트 번호 중 적어도 하나를 포함할 수 있다.
여기서, 상기 IP 주소 획득 절차는 ARP에 기초하여 수행될 수 있다.
여기서, 상기 제1 통신 노드의 동작 방법은 상기 제2 통신 노드로부터 메시지를 수신하는 단계, 및 상기 메시지에 포함된 출발지 주소가 상기 테이블에 존재하는 경우, 상기 메시지에 포함된 데이터를 디코딩하는 단계를 더 포함할 수 있다.
여기서, 상기 제1 통신 노드의 동작 방법은 상기 메시지에 포함된 출발지 주소가 상기 테이블에 존재하지 않으면, 상기 메시지를 폐기하는 단계를 더 포함할 수 있다.
여기서, 상기 제1 통신 노드의 동작 방법은 상기 제2 통신 노드로부터 메시지를 수신하는 단계, 및 상기 메시지에 포함된 출발지 주소 및 상기 출발지 주소에 대응하는 IP 주소가 상기 테이블에 존재하는 경우, 상기 메시지에 포함된 데이터를 디코딩하는 단계를 더 포함할 수 있다.
여기서, 상기 제1 통신 노드의 동작 방법은 상기 메시지에 포함된 출발지 주소(SA) 및 상기 출발지 주소(SA)에 대응하는 상기 IP 주소가 상기 테이블에 존재하지 않으면, 상기 메시지를 폐기하는 단계를 더 포함할 수 있다.
본 발명에 의하면, 차량 네트워크에 존재할 수 없는 통신 노드에 의해 발생되는 트래픽(traffic)은 차단될 수 있으므로, 차량 네트워크에서 보안이 향상될 수 있다. 따라서, 차량 네트워크의 성능이 향상될 수 있다.
도 1은 차량 네트워크의 토폴로지에 대한 일 실시예를 도시한 블록도이다.
도 2는 차량 네트워크를 구성하는 통신 노드의 일 실시예를 도시한 블록도이다.
도 3은 네트워크 보안 방법을 설명하기 위한 네트워크 토폴로지의 일 실시예를 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 인증된 통신 노드의 식별 정보를 포함하는 테이블을 생성하는 방법을 도시한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 네트워크의 보안 방법을 도시한 흐름도이다.
도 6은 본 발명의 다른 실시예에 따른 네트워크의 보안 방법을 도시한 흐름도이다.
도 7은 이더넷 기반의 네트워크에서 사용되는 프레임의 일 실시예를 도시한 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 차량 네트워크의 토폴로지(topology)에 대한 일 실시예를 도시한 블록도이다.
도 1을 참조하면, 차량 네트워크를 구성하는 통신 노드(communication node)는 게이트웨이(gateway), 스위치(switch)(또는, 브릿지(bridge)) 또는 엔드 노드(end node) 등을 의미할 수 있다. 게이트웨이(100)는 적어도 하나의 스위치(110, 110-1, 110-2, 120, 130)와 연결될 수 있으며, 서로 다른 네트워크를 연결할 수 있다. 예를 들어, 게이트웨이(100)는 CAN(controller area network)(또는, 플렉스레이(FlexRay), MOST(media oriented system transport), LIN(local interconnect network) 등) 프로토콜을 지원하는 스위치와 이더넷(ethernet) 프로토콜을 지원하는 스위치 간을 연결할 수 있다. 스위치들(110, 110-1, 110-2, 120, 130) 각각은 적어도 하나의 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)와 연결될 수 있다. 스위치들(110, 110-1, 110-2, 120, 130) 각각은 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)를 상호 연결할 수 있고, 자신과 연결된 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)를 제어할 수 있다.
엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)는 차량에 포함된 각종 장치를 제어하는 ECU(electronic control unit)를 의미할 수 있다. 예를 들어, 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)는 인포테인먼트(infortainment) 장치(예를 들어, 디스플레이(display) 장치, 내비게이션(navigation) 장치, 어라운드 뷰 모니터링(around view monitoring) 장치) 등을 구성하는 ECU를 의미할 수 있다.
한편, 차량 네트워크를 구성하는 통신 노드들(즉, 게이트웨이, 스위치, 엔드 노드 등)은 스타(star) 토폴로지, 버스(bus) 토폴로지, 링(ring) 토폴로지, 트리(tree) 토폴로지, 메쉬(mesh) 토폴로지 등으로 연결될 수 있다. 또한, 차량 네트워크를 구성하는 통신 노드들 각각은 CAN 프로토콜, 플렉스레이 프로토콜, MOST 프로토콜, LIN 프로토콜, 이더넷 프로토콜 등을 지원할 수 있다. 본 발명에 따른 실시예들은 앞서 설명된 네트워크 토폴로지에 적용될 수 있으며, 본 발명에 따른 실시예들이 적용되는 네트워크 토폴로지는 이에 한정되지 않고 다양하게 구성될 수 있다.
도 2는 차량 네트워크를 구성하는 통신 노드의 일 실시예를 도시한 블록도이다.
도 2를 참조하면, 네트워크를 구성하는 통신 노드(200)는 PHY 계층 블록(210) 및 컨트롤러(220)를 포함할 수 있다. 이때, 컨트롤러(220)는 MAC(medium access control) 계층을 포함하여 구현될 수 있다. PHY 계층 블록(210)은 다른 통신 노드로부터 신호를 수신할 수 있거나, 다른 통신 노드로 신호를 전송할 수 있다. 컨트롤러(220)는 PHY 계층 블록(210)을 제어할 수 있고, 다양한 기능들(예를 들어, 인포테인먼트 기능 등)을 수행할 수 있다. PHY 계층 블록(210)과 컨트롤러(220)는 하나의 SoC(System on Chip)로 구현될 수도 있고, 별도의 칩으로 구성될 수도 있다.
PHY 계층 블록(210)과 컨트롤러(220)는 매체 독립 인터페이스(media independent interface, MII)(230)를 통해 연결될 수 있다. MII(230)는 IEEE 802.3에 규정된 인터페이스를 의미할 수 있으며, PHY 계층 블록(210)과 컨트롤러(220) 간의 데이터 인터페이스 및 관리 인터페이스로 구성될 수 있다. MII(230) 대신에 RMII(reduced MII), GMII(gigabit MII), RGMII(reduced GMII), SGMII(serial GMII), XGMII(10 GMII) 중 하나의 인터페이스가 사용될 수 있다. 데이터 인터페이스는 전송 채널(channel) 및 수신 채널을 포함할 수 있으며, 채널들 각각은 독립적인 클럭(clock), 데이터 및 제어 신호를 가질 수 있다. 관리 인터페이스는 2-신호 인터페이스로 구성될 수 있으며, 하나는 클럭을 위한 신호이고 다른 하나는 데이터를 위한 신호일 수 있다.
PHY 계층 블록(210)은 PHY 계층 인터페이스부(211), PHY 계층 프로세서(212) 및 PHY 계층 버퍼(213) 등을 포함할 수 있다. PHY 계층 블록(210)의 구성은 이에 한정되지 않으며, PHY 계층 블록(210)은 다양하게 구성될 수 있다. PHY 계층 인터페이스부(211)는 컨트롤러(220)로부터 수신된 신호를 PHY 계층 프로세서(212)로 전송할 수 있고, PHY 계층 프로세서(212)로부터 수신된 신호를 컨트롤러(220)에 전송할 수 있다. PHY 계층 프로세서(212)는 PHY 계층 인터페이스부(211) 및 PHY 계층 버퍼(213) 각각의 동작을 제어할 수 있다. PHY 계층 프로세서(212)는 전송할 신호의 변조 또는 수신된 신호의 복조를 수행할 수 있다. PHY 계층 프로세서(212)는 신호를 입력 또는 출력하도록 PHY 계층 버퍼(213)를 제어할 수 있다. PHY 계층 버퍼(213)는 수신된 신호를 저장할 수 있고, PHY 계층 프로세서(212)의 요청에 따라 저장된 신호를 출력할 수 있다.
컨트롤러(220)는 MII(230)를 통해 PHY 계층 블록(210)에 대한 모니터링 및 제어를 수행할 수 있다. 컨트롤러(220)는 컨트롤러 인터페이스부(221), 코어(222), 주 메모리(memory)(223) 및 보조 메모리(224) 등을 포함할 수 있다. 컨트롤러(220)의 구성은 이에 한정되지 않으며, 컨트롤러(220)는 다양하게 구성될 수 있다. 컨트롤러 인터페이스부(221)는 PHY 계층 블록(210)(즉, PHY 계층 인터페이스부(211)) 또는 상위 계층(미도시)으로부터 신호를 수신할 수 있고, 수신된 신호를 코어(222)에 전송할 수 있고, 코어(222)로부터 수신된 신호를 PHY 계층 블록(210) 또는 상위 계층에 전송할 수 있다. 코어(222)는 컨트롤러 인터페이스부(221), 주 메모리(223) 및 보조 메모리(224)를 제어하기 위한 독립된 메모리 컨트롤 로직(control logic) 또는 통합 메모리 컨트롤 로직을 더 포함할 수 있다. 메모리 컨트롤 로직은 주 메모리(223) 및 보조 메모리(224)에 포함되어 구현될 수도 있으며, 또는 코어(222)에 포함되어 구현될 수도 있다.
주 메모리(223) 및 보조 메모리(224) 각각은 코어(222)에 의해 처리된 신호를 저장할 수 있고, 코어(222)의 요청에 따라 저장된 신호를 출력할 수 있다. 주 메모리(223)는 코어(222)의 동작을 위해 필요한 데이터를 일시 저장하는 휘발성 메모리(예를 들어, RAM(random access memory) 등)를 의미할 수 있다. 보조 메모리(224)는 운영체제 코드(operating system code)(예를 들어, 커널(kernel) 및 디바이스 드라이버(device driver))와 컨트롤러(220)의 기능을 수행하기 위한 응용 프로그램(application program) 코드 등이 저장되는 비휘발성 메모리를 의미할 수 있다. 비휘발성 메모리로 빠른 처리 속도를 가지는 플래쉬 메모리(flash memory)가 사용될 수 있고, 또는 대용량의 데이터 저장을 위한 하드 디스크 드라이브(hard disc drive, HDD), CD-ROM(compact disc-read only memory) 등이 사용될 수 있다. 코어(222)는 통상적으로 적어도 하나의 프로세싱 코어를 포함하는 로직 회로로 구성될 수 있다. 코어(222)로 ARM(Advanced RISC Machines Ltd.) 계열의 코어, 아톰(atom) 계열의 코어 등이 사용될 수 있다.
아래에서는, 차량 네트워크에 속하는 통신 노드와 이에 대응하는 상대(counterpart) 통신 노드에서 수행되는 방법이 설명될 것이다. 이하에서, 제1 통신 노드에서 수행되는 방법(예를 들어, 신호의 전송 또는 수신)이 설명되는 경우에도 이에 대응하는 제2 통신 노드는 제1 통신 노드에서 수행되는 방법과 상응하는 방법(예를 들어, 신호의 수신 또는 전송)을 수행할 수 있다. 즉, 제1 통신 노드의 동작이 설명된 경우에 이에 대응하는 제2 통신 노드는 제1 통신 노드의 동작과 상응하는 동작을 수행할 수 있다. 반대로, 제2 통신 노드의 동작이 설명된 경우에 이에 대응하는 제1 통신 노드는 스위치의 동작과 상응하는 동작을 수행할 수 있다.
도 3은 네트워크 보안 방법을 설명하기 위한 네트워크 토폴로지의 일 실시예를 도시한 블록도이다.
도 3을 참조하면, 스위치들(310, 320, 330) 및 엔드 노드들(311, 312, 313, 321, 322, 323, 331, 332, 333)은 도 1을 참조하여 설명된 차량 네트워크를 구성할 수 있고, 이더넷 프로토콜을 지원할 수 있다. 스위치들(310, 320, 330) 및 엔드 노드들(311, 312, 313, 321, 322, 323, 331, 332, 333) 각각은 도 2를 참조하여 설명된 통신 노드(200)를 의미할 수 있다. 스위치 1(310)은 포트 1을 통해 엔드 노드 1(311)과 연결될 수 있고, 포트 2를 통해 엔드 노드 2(312)와 연결될 수 있고, 포트 3을 통해 엔드 노드 3(313)과 연결될 수 있고, 포트 4를 통해 스위치 2(320)와 연결될 수 있다. 여기서, 엔드 노드 3(313)은 차량 네트워크에 불법적으로 침입한 노드를 의미할 수 있으며, 엔드 노드 3(313)에 의해 차량 네트워크에 불필요한 트래픽(traffic)이 발생될 수 있다.
스위치 2(320)는 포트 1을 통해 스위치 1(310)과 연결될 수 있고, 포트 2를 통해 엔드 노드 4(321)와 연결될 수 있고, 포트 3을 통해 엔드 노드 5(322)와 연결될 수 있고, 포트 4를 통해 엔드 노드 6(323)과 연결될 수 있고, 포트 5를 통해 스위치 3(330)과 연결될 수 있다. 스위치 3(330)은 포트 1을 통해 스위치 2(320)와 연결될 수 있고, 포트 2를 통해 엔드 노드 7(331)과 연결될 수 있고, 포트 3을 통해 엔드 노드 8(332)과 연결될 수 있고, 포트 4를 통해 엔드 노드 9(333)와 연결될 수 있다.
스위치들(310, 320, 330) 및 엔드 노드들(311, 312, 321, 322, 323, 331, 332, 333) 각각은 차량 네트워크의 토폴로지 정보를 가질 수 있다. 예를 들어, 스위치들(310, 320, 330) 및 엔드 노드들(311, 312, 321, 322, 323, 331, 332, 333) 각각은 차량 네트워크에 전원이 인가되는 경우(예를 들어, 차량에 배터리(battery)가 장착되는 경우) 상위 통신 노드(예를 들어, 스위치, 게이트웨이 등)로부터 차량 네트워크의 토폴로지 정보를 포함한 메시지를 수신할 수 있고, 수신된 메시지를 통해 차량 네트워크의 토폴로지를 확인할 수 있다. 또는, 스위치들(310, 320, 330) 및 엔드 노드들(311, 312, 321, 322, 323, 331, 332, 333) 각각에 차량 네트워크의 토폴로지 정보가 미리 저장될 수 있으며, 차량 네트워크에 전원이 인가되는 경우 스위치들(310, 320, 330) 및 엔드 노드들(311, 312, 321, 322, 323, 331, 332, 333) 각각은 저장된 정보를 기초로 차량 네트워크의 토폴로지를 확인할 수 있다.
엔드 노드들(311, 312, 321, 322, 323, 331, 332, 333) 각각은 고유의 IP(internet protocol) 주소를 가질 수 있다. 차량 네트워크에 전원이 인가되는 경우(예를 들어, 차량에 배터리가 장착되는 경우), 엔드 노드들(311, 312, 321, 322, 323, 331, 332, 333) 각각에 IP 주소가 설정될 수 있다. 예를 들어, 엔드 노드들(311, 312, 321, 322, 323, 331, 332, 333) 각각은 상위 통신 노드(예를 들어, 스위치, 게이트웨이 등)로부터 IP 주소를 포함한 메시지를 수신할 수 있고, 수신된 메시지에 포함된 IP 주소를 자신의 IP 주소로 설정할 수 있다. 또는, 엔드 노드들(311, 312, 321, 322, 323, 331, 332, 333) 각각에 IP 주소가 미리 저장될 수 있으며, 차량 네트워크에 전원이 인가되는 경우 엔드 노드들(311, 312, 321, 322, 323, 331, 332, 333) 각각은 저장된 IP 주소를 자신의 IP 주소로 설정할 수 있다. IP 주소는 "10.xxx.yyy.zz" 형태를 가질 수 있다. 엔드 노드들(311, 312, 321, 322, 323, 331, 332, 333) 각각은 서로 다른 IP 주소를 가질 수 있다. 예를 들어, 엔드 노드들(311, 312, 321, 322, 323, 331, 332, 333) 각각의 IP 주소는 다음의 표 1과 같이 설정될 수 있다.
Figure pat00001
차량 네트워크를 구성하는 통신 노드의 IP 주소의 설정 방식은 앞서 설명된 내용에 한정되지 않으며, 통신 노드의 IP 주소는 다양한 방식을 통해 설정될 수 있다.
도 4는 본 발명의 일 실시예에 따른 인증된 통신 노드의 식별 정보를 포함하는 테이블(table)을 생성하는 방법을 도시한 순서도이고, 도 5는 본 발명의 일 실시예에 따른 네트워크의 보안 방법을 도시한 흐름도이고, 도 6은 본 발명의 다른 실시예에 따른 네트워크의 보안 방법을 도시한 흐름도이다.
도 4 내지 도 6을 참조하면, 스위치 1(310) 및 엔드 노드들(311, 312, 313)는 도 3을 참조하여 설명된 차량 네트워크를 구성할 수 있다. 즉, 스위치 1(310) 및 엔드 노드들(311, 312, 313) 각각은 도 3에 도시된 차량 네트워크 중에서 동일한 부호를 가지는 구성과 대응할 수 있다. 스위치 1(310) 및 엔드 노드들(311, 312) 각각은 차량 네트워크의 토폴로지 정보를 가지고 있을 수 있다. 여기서, 엔드 노드 3(313)은 차량 네트워크에 불법적으로 침입한 노드를 의미할 수 있으며, 엔드 노드 3(313)에 의해 불필요한 트래픽이 발생될 수 있다.
본 발명의 실시예들에 따른 테이블 생성 방법 및 네트워크의 보안 방법들이 적용되는 네트워크는 도 3에 도시된 차량 네트워크에 한정되지 않으며, 본 발명의 실시예들에 따른 테이블 생성 방법 및 네트워크의 보안 방법들은 다양한 네트워크에 적용될 수 있다. 또한, 아래에서는 스위치 1(310) 및 스위치 1(310)에 연결된 엔드 노드들(311, 312)을 기준으로 본 발명의 실시예들에 따른 테이블 생성 방법 및 네트워크의 보안 방법들이 설명될 것이나, 아래에서 설명되는 방법들과 유사 또는 동일하게 스위치 2(320) 및 스위치 2(320)에 연결된 엔드 노드들(321, 322, 323)(또는, 스위치 3(330) 및 스위치 3(330)에 연결된 엔드 노드들(331, 332, 333)) 각각은 본 발명의 실시예들에 따른 테이블 생성 방법 및 네트워크의 보안 방법들을 수행할 수 있다.
도 5에 도시된 네트워크 보안 방법 및 도 6에 도시된 네트워크 보안 방법 각각은 도 4에 도시된 테이블을 생성하는 방법에 의해 생성된 테이블을 기초로 수행될 수 있다. 도 5에 도시된 네트워크 보안 방법은 스위치 1(310)에 의해 수행될 수 있다. 도 6에 도시된 네트워크 보안 방법은 엔드 노드들(311, 312) 각각에 의해 수행될 수 있다. 한편, 본 발명의 실시예들에서 사용되는 메시지(예를 들어, 인증 절차의 수행을 위해 사용되는 메시지, 인증된 통신 노드의 식별 정보를 전송하기 위해 사용되는 메시지, IP 주소 획득 절차의 수행을 위해 사용되는 메시지 등)는 이더넷 프로토콜에 기초하여 생성된 메시지를 의미할 수 있다. 이더넷 프로토콜에 기초하여 생성된 메시지는 다음과 같을 수 있다.
도 7은 이더넷 기반의 차량 네트워크에서 사용되는 메시지의 일 실시예를 도시한 블록도이다.
도 7을 참조하면, 이더넷 프로토콜 기반의 메시지(700)는 PHY(physical) 헤더(header), MAC 프레임(frame) 및 FCS(frame check sequence) 필드(field)(708)를 포함할 수 있다. MAC 프레임은 통신 노드(200)의 컨트롤러(220)에 의해 생성될 수 있다. PHY 헤더는 프리앰블(preamble)(701) 및 SFD(start frame delimiter) 필드(702)를 포함할 수 있다. 프리앰블(701)은 7옥텟(octets)의 크기를 가질 수 있으며, 타이밍(timing) 동기를 위해 사용될 수 있다. SFD 필드(702)는 "10101011" 시퀀스(sequence)를 가질 수 있다.
MAC 프레임은 SFD 필드(702) 뒤에 위치할 수 있다. MAC 프레임은 MAC 헤더만 포함할 수 있고, 또는 MAC 헤더 및 LLC(logic link control) 프레임을 포함할 수 있다. MAC 헤더는 DA(destination address) 필드(703), SA(source address) 필드(704) 및 길이/타입(length/type) 필드(705)를 포함할 수 있다. DA 필드(703)는 6옥텟의 크기를 가질 수 있으며, 해당 MAC 프레임을 수신하는 통신 노드의 식별 정보(예를 들어, MAC 주소)를 포함할 수 있다. SA 필드(704)는 6옥텟의 크기를 가질 수 있으며, 해당 MAC 프레임을 전송하는 통신 노드의 식별 정보(예를 들어, MAC 주소)를 포함할 수 있다.
길이/타입 필드(705)는 2옥텟의 크기를 가질 수 있으며, 데이터 필드(706)의 길이 또는 해당 프로토콜 기반의 이더넷 프레임(700)을 전송한 통신 노드가 지원하는 이더넷 타입을 지시할 수 있다. 예를 들어, 길이/타입 필드(705)에 포함된 첫 번째 옥텟의 값이 십진수 1500 이하인 경우, 해당 길이/타입 필드(705)는 데이터 필드(706)의 길이를 지시할 수 있다. 길이/타입 필드(705)에 포함된 첫 번째 옥텟의 값이 십진수 1536 이상인 경우, 해당 길이/타입 필드(705)는 이더넷 타입을 지시할 수 있다. LLC 프레임은 데이터 필드(706)를 포함할 수 있고, 필요에 따라(예를 들어, 최소 MAC 프레임의 크기를 충족시키기 위해) 패드(pad) 필드(707)를 더 포함할 수 있다. 이때, 패드 필드(707)는 데이터 필드(706) 뒤에 추가될 수 있다.
다시 도 4 내지 도 6을 참조하면, 스위치 1(310)은 인증된 엔드 노드의 식별 정보를 포함하는 테이블(table)의 생성이 필요한지 판단할 수 있다. 예를 들어, 스위치 1(310)은 차량에 배터리가 장착(예를 들어, 차량 생산 공장에서 배터리가 차량에 최초로 장착되는 경우) 또는 재장착(예를 들어, 차량의 부품 교체 후에 배터리가 차량에 재장착되는 경우)되는 경우 인증된 엔드 노드의 식별 정보를 포함하는 테이블의 생성이 필요한 것으로 판단할 수 있다. 스위치 1(310)은 인증된 엔드 노드의 식별 정보를 포함하는 테이블의 생성이 필요한 것으로 판단된 경우 자신과 연결된 엔드 노드들(311, 312, 313) 각각과 인증 절차(authentication procedure)를 수행할 수 있다(S400, S410, S420). 스위치 1(310)은 IEEE 802.1X 표준에 규정된 인증 절차를 사용하여 엔드 노드들(311, 312, 313) 각각에 대한 인증을 수행할 수 있다. 예를 들어, 스위치 1(310)은 오픈 시스템 알고리즘(open system algorithm)을 기반으로 엔드 노드들(311, 312, 313) 각각과 메시지를 교환함으로써 인증을 수행할 수 있다. 또는, 스위치 1(310)은 공유 키(shared key) 알고리즘을 기반으로 엔드 노드들(311, 312, 313) 각각과 공유 키가 포함된 메시지를 교환함으로써 인증을 수행할 수 있다. 여기서, 인증 절차는 앞서 설명된 내용에 한정되지 않으며, 스위치 1(310)은 다양한 인증 절차를 사용하여 엔드 노드들(311, 312, 313) 각각과 인증을 수행할 수 있다.
엔드 노드 1(311) 및 엔드 노드 2(312)은 차량 네트워크에 존재하는 정상적인 통신 노드이므로, 스위치 1(310)은 엔드 노드 1(311) 및 엔드 노드 2(312) 각각에 대한 인증을 성공적으로 완료할 수 있다. 반면, 엔드 노드 3(313)은 차량 네트워크에 불법적으로 침입한 통신 노드이므로, 스위치 1(310)은 엔드 노드 3(313)에 대한 인증을 실패할 수 있다.
한편, 인증 절차를 위해 송수신 되는 메시지는 해당 메시지의 출발지 주소(SA) 및 목적지 주소(DA)를 포함할 수 있다. 따라서, 스위치 1(310)은 인증 절차에 참여하는 엔드 노드들(311, 312, 313) 각각의 식별 정보(예를 들어, MAC 주소 등)를 획득할 수 있다. 스위치 1(310)은 인증 절차를 통해 획득된 식별 정보 중에서 인증된 엔드 노드들(즉, 엔드 노드 1(311) 및 엔드 노드 2(312))의 식별 정보를 포함하는 테이블을 생성할 수 있다(S403). 즉, 인증 절차에 의해 인증 절차에 참여한 모든 엔드 노드들(311, 312, 313) 각각의 식별 정보를 포함한 테이블이 생성될 수 있다. 이 경우, 스위치 1(310)은 인증된 엔드 노드들(311, 312)만의 식별 정보를 포함하도록 테이블을 재구성할 수 있다. 테이블은 인증된 엔드 노드(311, 312)의 MAC 주소 및 인증된 엔드 노드(311, 312)가 연결된 포트 번호를 포함할 수 있다. 예를 들어, 스위치 1(310)은 엔드 노드 1(311)의 MAC 주소를 엔드 노드 1(311)의 포트 번호(즉, 포트 1)에 매핑(mapping)시킬 수 있고, 매핑된 "엔드 노드 1(311)의 MAC 주소 - 포트 1"을 포함하는 테이블을 생성할 수 있다. 또한, 스위치 1(310)은 엔드 노드 2(312)의 MAC 주소를 엔드 노드 2(312)의 포트 번호(즉, 포트 2)에 매핑시킬 수 있고, 매핑된 "엔드 노드 2(312)의 MAC 주소 - 포트 2"를 포함하는 테이블을 생성할 수 있다. 스위치 1(310)은 생성된 테이블을 비휘발성 메모리(예를 들어, 보조 메모리(224))에 저장할 수 있고, 인증된 엔드 노드가 변경되는 경우 비휘발성 메모리에 저장된 테이블을 갱신할 수 있다. 이와 같은 절차를 통해 생성된 테이블은 아래 표 2와 같을 수 있다. 여기서, 테이블에 포함된 식별 정보의 종류는 이에 한정되지 않으며, 식별 정보는 다양하게 구성될 수 있다.
Figure pat00002
한편, 스위치 2(320) 및 스위치 3(330) 각각은 위와 같이 자신과 연결된 엔드 노드들(321, 322, 323, 331, 332, 333)에 대한 인증 절차를 수행함으로써 인증된 엔드 노드들의 식별 정보를 포함하는 테이블을 생성할 수 있다. 스위치 2(320)는 테이블에 포함된 식별 정보를 포함하는 메시지를 생성할 수 있고, 생성된 메시지를 스위치 1(310), 스위치 3(330) 및 연결된 엔드 노드들(321, 322, 323)에 전송할 수 있다. 또한, 스위치 3(330)은 테이블에 포함된 식별 정보를 포함하는 메시지를 생성할 수 있고, 생성된 메시지를 스위치 1(310), 스위치 2(320) 및 연결된 엔드 노드들(331, 332, 333)에 전송할 수 있다. 여기서, 식별 정보는 메시지의 MAC 헤더 또는 데이터 필드 중 적어도 하나에 포함될 수 있다. 스위치 1(310)은 스위치 2(320) 및 스위치 3(330) 각각으로부터 식별 정보를 수신한 경우 표 2에 기재된 테이블에 스위치 2(320)로부터 수신된 식별 정보 및 스위치 3(330)으로부터 수신된 식별 정보를 추가할 수 있다.
스위치 1(310)은 테이블에 포함된 식별 정보(즉, "엔드 노드 1(311)의 MAC 주소 - 포트 1" 및 "엔드 노드 2(312)의 MAC 주소 - 포트 2")를 포함하는 메시지를 생성할 수 있다. 또는, 스위치 1(310)은 스위치 2(320) 및 스위치 3(330) 각각으로부터 식별 정보를 수신한 경우, 표 2에 기재된 식별 정보 및 스위치 2(320) 및 스위치 3(330) 각각으로부터 수신된 식별 정보를 포함하는 메시지를 생성할 수 있다. 스위치 1(310)은 자신과 연결된 엔드 노드들(311, 312, 313) 중에서 인증된 엔드 노드들(311, 312)에 식별 정보를 포함하는 메시지를 전송할 수 있다(S404, S405). 여기서, 식별 정보는 메시지의 MAC 헤더 및 데이터 필드 중에서 적어도 하나에 포함될 수 있다.
엔드 노드 1(311)은 스위치 1(310)로부터 메시지를 수신할 수 있고, 메시지를 디코딩함으로써 인증된 엔드 노드들의 식별 정보를 확인할 수 있다. 엔드 노드 1(311)은 인증된 엔드 노드(즉, 엔드 노드 2(312))의 IP 주소를 획득할 수 있다(S406). 예를 들어, 엔드 노드 1(311)은 ARP(address resolution protocol)를 기반으로 엔드 노드 2(312)와 메시지를 교환함으로써 엔드 노드 2(312)의 IP 주소를 획득할 수 있다. 여기서, IP 주소를 획득하는 절차는 ARP 기반의 절차에 한정되지 않으며, IP 주소는 다양한 방식을 통해 획득될 수 있다. 또한, 엔드 노드 2(312)는 스위치 1(310)로부터 메시지를 수신할 수 있고, 메시지를 디코딩함으로써 인증된 엔드 노드(즉, 엔드 노드 1(311))의 식별 정보를 확인할 수 있다. 엔드 노드 2(312)는 엔드 노드 1(311)과 IP 주소 획득 절차(예를 들어, ARP 기반의 절차)를 수행함으로써 엔드 노드 1(311)의 IP 주소를 획득할 수 있다(S407). 여기서, 엔드 노드 1(311)에서 IP 주소 획득 절차(S406)가 엔드 노드 2(312)에서 IP 주소 획득 절차(S407)보다 먼저 수행되는 것으로 설명되었으나, IP 주소 획득 절차의 수행 순서는 이에 한정되지 않는다. 예를 들어, 엔드 노드 2(312)에서 IP 주소 획득 절차(S407)는 엔드 노드 1(311)에서 IP 주소 획득 절차(S406)보다 먼저 수행되거나 동시에 수행될 수 있다.
엔드 노드 1(311)은 인증된 엔드 노드의 IP 주소를 획득한 경우 인증된 엔드 노드의 식별정보를 포함하는 테이블을 생성할 수 있다(S408). 예를 들어, 테이블은 인증된 엔드 노드의 MAC 주소, 포트 번호 및 IP 주소를 포함할 수 있고, 또는 인증된 엔드 노드의 MAC 주소 및 IP 주소를 포함할 수 있다. 예를 들어, 엔드 노드 1(311)은 엔드 노드 2(312)의 IP 주소를 엔드 노드 2(312)의 "MAC 주소 - 포트 2" 또는 "MAC 주소"에 매핑시킬 수 있고, 매핑된 "MAC 주소 - 포트 2 - IP 주소" 또는 "MAC 주소 - IP 주소"를 포함하는 테이블을 생성할 수 있다. 엔드 노드 1(311)은 생성된 테이블을 비휘발성 메모리(예를 들어, 보조 메모리(224))에 저장할 수 있고, 인증된 엔드 노드가 변경되는 경우 비휘발성 메모리에 저장된 테이블을 갱신할 수 있다. 이와 같은 절차를 통해 생성된 테이블은 아래 표 3 또는 표 4와 같을 수 있다. 여기서, 테이블에 포함된 식별 정보의 종류는 이에 한정되지 않으며, 식별 정보는 다양하게 구성될 수 있다.
Figure pat00003
Figure pat00004
또한, 엔드 노드 2(312)는 인증된 엔드 노드의 IP 주소를 획득한 경우 인증된 엔드 노드의 식별정보를 포함하는 테이블을 생성할 수 있다(S409). 예를 들어, 테이블은 인증된 엔드 노드의 MAC 주소, 포트 번호 및 IP 주소를 포함할 수 있고, 또는 인증된 엔드 노드의 MAC 주소 및 IP 주소를 포함할 수 있다. 예를 들어, 엔드 노드 2(312)는 엔드 노드 1(311)의 IP 주소를 엔드 노드 1(311)의 "MAC 주소 - 포트 1" 또는 "MAC 주소"에 매핑시킬 수 있고, 매핑된 "MAC 주소 - 포트 1 - IP 주소" 또는 "MAC 주소 - IP 주소"를 포함하는 테이블을 생성할 수 있다. 엔드 노드 2(312)는 생성된 테이블을 비휘발성 메모리(예를 들어, 보조 메모리(224))에 저장할 수 있고, 인증된 엔드 노드가 변경되는 경우 비휘발성 메모리에 저장된 테이블을 갱신할 수 있다. 여기서, 엔드 노드 1(311)에서 테이블 생성 단계(S408)가 엔드 노드 2(312)에서 테이블 생성 단계(S409)보다 먼저 수행되는 것으로 설명되었으나, 테이블 생성 단계의 수행 순서는 이에 한정되지 않는다. 예를 들어, 엔드 노드 2(312)에서 테이블 생성 단계(S409)는 엔드 노드 1(311)에서 테이블 생성 단계(S408)보다 먼저 수행되거나 동시에 수행될 수 있다.
다음으로, 스위치에서 수행되는 네트워크 보안 방법이 설명될 것이다. 네트워크 보안 방법은 앞서 생성된 인증된 엔드 노드의 식별 정보를 포함하는 테이블을 기반으로 수행될 수 있다. 스위치 1(310)은 임의의 엔드 노드로부터 메시지를 수신할 수 있고(S500), 메시지의 MAC 헤더에 포함된 SA 필드를 확인함으로써 해당 메시지를 전송한 엔드 노드를 확인할 수 있다. 스위치 1(310)은 메시지를 전송한 엔드 노드의 MAC 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는지 판단할 수 있다(S501).
예를 들어, 스위치 1(310)은 메시지를 전송한 엔드 노드의 MAC 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는 경우 다음 단계로 단계 S502를 수행할 수 있다. 또는, 스위치 1(310)은 단계 S502을 생략하고 다음 단계로 단계 S503을 수행할 수 있다. 즉, 스위치 1(310)은 메시지의 MAC 헤더에 포함된 DA 주소에 의해 지시되는 엔드 노드에 해당 메시지를 전송할 수 있다. 반면, 스위치 1(310)은 메시지를 전송한 엔드 노드의 MAC 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하지 않으면 해당 메시지를 폐기(discard)할 수 있다(S504). 즉, 스위치 1(310)은 메시지가 인증되지 않은 엔드 노드 3(313)으로부터 전송된 경우 해당 메시지를 폐기할 수 있다.
스위치 1(310)은 메시지를 전송한 엔드 노드의 MAC 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는 경우 메시지를 전송한 엔드 노드의 포트 번호가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는지 판단할 수 있다(S502). 예를 들어, 스위치 1(310)은 메시지를 전송한 엔드 노드의 포트 번호가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는 경우 메시지의 MAC 헤더에 포함된 DA 주소에 의해 지시되는 엔드 노드에 해당 메시지를 전송할 수 있다(S503). 반면, 스위치 1(310)은 메시지를 전송한 엔드 노드의 포트 번호가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하지 않으면 해당 메시지를 폐기할 수 있다(S504). 즉, 스위치 1(310)은 메시지가 인증되지 않은 엔드 노드 3(313)으로부터 전송된 경우 해당 메시지를 폐기할 수 있다.
한편, 본 발명에서 단계 S501이 수행된 후에 단계 S502가 수행되는 것으로 설명되었으나, 단계 S501보다 단계 S502가 먼저 수행될 수 있다. 이 경우, 스위치 1(310)은 메시지를 전송한 엔드 노드의 포트 번호가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는지 먼저 판단하고, 그 결과에 따라 메시지를 전송한 엔드 노드의 MAC 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는지 판단할 수 있다.
다음으로, 엔드 노드에서 수행되는 네트워크 보안 방법이 설명될 것이다. 네트워크 보안 방법은 앞서 생성된 인증된 엔드 노드의 식별 정보를 포함하는 테이블을 기반으로 수행될 수 있다. 엔드 노드 1(311)은 임의의 엔드 노드로부터 메시지를 수신할 수 있고(S600), 메시지의 MAC 헤더에 포함된 SA 필드를 확인함으로써 해당 메시지를 전송한 엔드 노드를 확인할 수 있다. 엔드 노드 1(311)은 메시지를 전송한 엔드 노드의 MAC 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는지 판단할 수 있다(S601).
예를 들어, 엔드 노드 1(311)은 메시지를 전송한 엔드 노드의 MAC 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는 경우 다음 단계로 단계 S602를 수행할 수 있다. 또는, 엔드 노드 1(311)은 단계 S602을 생략하고 다음 단계로 단계 S603을 수행할 수 있다. 즉, 엔드 노드 1(311)은 메시지의 MAC 헤더에 포함된 DA 주소가 자신을 지시하는 경우 해당 메시지(예를 들어, 메시지에 포함된 데이터 필드 등)를 디코딩할 수 있다(S603). 반면, 엔드 노드 1(311)은 메시지를 전송한 엔드 노드의 MAC 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하지 않으면 해당 메시지를 폐기할 수 있다(S604). 즉, 엔드 노드 1(311)은 메시지가 인증되지 않은 엔드 노드 3(313)으로부터 전송된 경우 해당 메시지를 폐기할 수 있다.
엔드 노드 1(311)은 메시지를 전송한 엔드 노드의 MAC 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는 경우 메시지를 전송한 엔드 노드의 IP 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는지 판단할 수 있다(S602). 예를 들어, 엔드 노드 1(311)은 메시지를 전송한 엔드 노드의 IP 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는 경우 해당 메시지(즉, 메시지에 포함된 데이터 필드 등)를 디코딩할 수 있다(S603). 반면, 엔드 노드 1(311)은 메시지를 전송한 엔드 노드의 IP 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하지 않으면 해당 메시지를 폐기할 수 있다(S604). 즉, 엔드 노드 1(310)은 메시지가 인증되지 않은 엔드 노드 3(313)으로부터 전송된 경우 해당 메시지를 폐기할 수 있다.
한편, 본 발명에서 단계 S601이 수행된 후에 단계 S602가 수행되는 것으로 설명되었으나, 단계 S6501보다 단계 S602가 먼저 수행될 수 있다. 이 경우, 엔드 노드 1(311)은 메시지를 전송한 엔드 노드의 IP 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는지 먼저 판단하고, 그 결과에 따라 메시지를 전송한 엔드 노드의 MAC 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는지 판단할 수 있다. 한편, 본 발명에서 단계 S601은 생략될 수 있다. 즉, 단계 S600 후에 단계 S602가 수행될 수 있다. 이 경우, 엔드 노드 1(311)은 메시지를 전송한 엔드 노드의 MAC 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는지 판단하지 않고, 메시지를 전송한 엔드 노드의 MAC 주소에 대응하는 IP 주소가 인증된 엔드 노드의 식별 정보를 포함하는 테이블에 존재하는 경우 해당 메시지를 디코딩할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (16)

  1. 네트워크(network)를 구성하는 제1 통신 노드(communication node)의 동작 방법으로서,
    상기 제1 통신 노드와 연결된 적어도 하나의 통신 노드와 인증 절차(authentication procedure)를 수행하는 단계;
    인증된 통신 노드의 식별 정보를 포함하는 테이블(table)을 생성하는 단계; 및
    상기 식별 정보를 상기 인증된 통신 노드에 전송하는 단계를 포함하는, 제1 통신 노드의 동작 방법.
  2. 청구항 1에 있어서,
    상기 제1 통신 노드는 스위치(switch) 또는 브릿지(bridge)이고, 상기 제1 통신 노드에 연결된 상기 적어도 하나의 통신 노드는 엔드 노드(end node)인, 제1 통신 노드의 동작 방법.
  3. 청구항 1에 있어서,
    상기 인증된 통신 노드의 식별 정보는 MAC(medium access control) 주소, IP(internet protocol) 주소 및 포트(port) 번호 중 적어도 하나를 포함하는, 제1 통신 노드의 동작 방법.
  4. 청구항 3에 있어서,
    상기 MAC 주소는 상기 인증 절차를 통해 획득되는, 제1 통신 노드의 동작 방법.
  5. 청구항 1에 있어서,
    상기 제1 통신 노드의 동작 방법은,
    상기 제1 통신 노드에 연결된 제2 통신 노드로부터 메시지(message)를 수신하는 단계; 및
    상기 메시지에 포함된 출발지 주소(source address, SA)가 상기 테이블에 존재하는 경우, 상기 메시지에 포함된 목적지 주소(destination address, DA)에 의해 지시되는 제3 통신 노드로 상기 메시지를 전송하는 단계를 더 포함하는, 제1 통신 노드의 동작 방법.
  6. 청구항 5에 있어서,
    상기 제1 통신 노드의 동작 방법은,
    상기 메시지에 포함된 출발지 주소(SA)가 상기 테이블에 존재하지 않으면, 상기 메시지를 폐기(discard)하는 단계를 더 포함하는, 제1 통신 노드의 동작 방법.
  7. 청구항 1에 있어서,
    상기 제1 통신 노드의 동작 방법은,
    상기 제1 통신 노드에 연결된 제2 통신 노드로부터 메시지를 수신하는 단계; 및
    상기 메시지에 포함된 출발지 주소(SA) 및 상기 출발지 주소(SA)에 대응하는 포트 번호가 상기 테이블에 존재하는 경우, 상기 메시지에 포함된 목적지 주소(DA)에 의해 지시되는 제3 통신 노드로 상기 메시지를 전송하는 단계를 더 포함하는, 제1 통신 노드의 동작 방법.
  8. 청구항 7에 있어서,
    상기 제1 통신 노드의 동작 방법은,
    상기 출발지 주소 및 상기 출발지 주소에 대응하는 상기 포트 번호가 상기 테이블에 존재하지 않으면, 상기 메시지를 폐기하는 단계를 더 포함하는, 제1 통신 노드의 동작 방법.
  9. 네트워크(network)를 구성하는 제1 통신 노드(communication node)의 동작 방법으로서,
    상기 제1 통신 노드와 연결된 제2 통신 노드와 인증 절차(authentication procedure)를 수행하는 단계;
    상기 제2 통신 노드로부터 인증된 통신 노드의 식별 정보를 수신하는 단계;
    상기 식별 정보에 의해 지시되는 적어도 하나의 통신 노드와 IP(internet protocol) 주소 획득 절차를 수행하는 단계; 및
    상기 식별 정보 및 획득된 IP 주소를 포함하는 테이블(table)을 생성하는 단계를 포함하는, 제1 통신 노드의 동작 방법.
  10. 청구항 9에 있어서,
    상기 제2 통신 노드는 스위치(switch) 또는 브릿지(bridge)이고, 상기 제1 통신 노드 및 상기 적어도 하나의 통신 노드는 상기 제2 통신 노드에 연결된 엔드 노드(end node)인, 제1 통신 노드의 동작 방법.
  11. 청구항 9에 있어서,
    상기 인증된 통신 노드의 식별 정보는 MAC(medium access control) 주소 및 포트(port) 번호 중 적어도 하나를 포함하는, 제1 통신 노드의 동작 방법.
  12. 청구항 9에 있어서,
    상기 IP 주소 획득 절차는 ARP(address resolution protocol)에 기초하여 수행되는, 제1 통신 노드의 동작 방법.
  13. 청구항 9에 있어서,
    상기 제1 통신 노드의 동작 방법은,
    상기 제2 통신 노드로부터 메시지를 수신하는 단계; 및
    상기 메시지에 포함된 출발지 주소(source address, SA)가 상기 테이블에 존재하는 경우, 상기 메시지에 포함된 데이터(data)를 디코딩(decoding)하는 단계를 더 포함하는, 제1 통신 노드의 동작 방법.
  14. 청구항 13에 있어서,
    상기 제1 통신 노드의 동작 방법은,
    상기 메시지에 포함된 출발지 주소(SA)가 상기 테이블에 존재하지 않으면, 상기 메시지를 폐기(discard)하는 단계를 더 포함하는, 제1 통신 노드의 동작 방법.
  15. 청구항 9에 있어서,
    상기 제1 통신 노드의 동작 방법은,
    상기 제2 통신 노드로부터 메시지를 수신하는 단계; 및
    상기 메시지에 포함된 출발지 주소(SA) 및 상기 출발지 주소(SA)에 대응하는 IP 주소가 상기 테이블에 존재하는 경우, 상기 메시지에 포함된 데이터를 디코딩하는 단계를 더 포함하는, 제1 통신 노드의 동작 방법.
  16. 청구항 15에 있어서,
    상기 제1 통신 노드의 동작 방법은,
    상기 메시지에 포함된 출발지 주소(SA) 및 상기 출발지 주소(SA)에 대응하는 상기 IP 주소가 상기 테이블에 존재하지 않으면, 상기 메시지를 폐기하는 단계를 더 포함하는, 제1 통신 노드의 동작 방법.
KR1020150105155A 2015-07-24 2015-07-24 이더넷 기반의 네트워크를 위한 보안 방법 KR102234210B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150105155A KR102234210B1 (ko) 2015-07-24 2015-07-24 이더넷 기반의 네트워크를 위한 보안 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150105155A KR102234210B1 (ko) 2015-07-24 2015-07-24 이더넷 기반의 네트워크를 위한 보안 방법

Publications (2)

Publication Number Publication Date
KR20170011826A true KR20170011826A (ko) 2017-02-02
KR102234210B1 KR102234210B1 (ko) 2021-03-30

Family

ID=58154078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150105155A KR102234210B1 (ko) 2015-07-24 2015-07-24 이더넷 기반의 네트워크를 위한 보안 방법

Country Status (1)

Country Link
KR (1) KR102234210B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102075514B1 (ko) 2018-11-23 2020-02-10 (주)티에이치엔 차량용 네트워크 보안장치
KR20200082485A (ko) * 2018-12-28 2020-07-08 주식회사 경신 이더넷 스위치 연결 제어 장치 및 방법
KR20200139058A (ko) * 2019-06-03 2020-12-11 현대자동차주식회사 이더넷 스위치 및 그 제어 방법
KR102202902B1 (ko) * 2020-09-02 2021-01-15 (주)티에이치엔 차량용 통신 제어 장치의 보안 방법 및 그 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230097374A (ko) 2021-12-24 2023-07-03 케이지모빌리티 주식회사 차량 내 통신 네트워크 보안방법
KR102472413B1 (ko) 2022-01-25 2022-11-30 쌍용자동차 주식회사 차랑 내 통신 네트워크 보안방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007312289A (ja) * 2006-05-22 2007-11-29 Hitachi Communication Technologies Ltd パケット転送装置、パケット転送システムおよびパケット転送方法
JP2013118668A (ja) * 2004-06-29 2013-06-13 Damaka Inc ピアツーピアハイブリッド通信のためのシステムおよび方法
JP2015050496A (ja) * 2013-08-30 2015-03-16 アラクサラネットワークス株式会社 通信システム及び認証スイッチ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013118668A (ja) * 2004-06-29 2013-06-13 Damaka Inc ピアツーピアハイブリッド通信のためのシステムおよび方法
JP2007312289A (ja) * 2006-05-22 2007-11-29 Hitachi Communication Technologies Ltd パケット転送装置、パケット転送システムおよびパケット転送方法
JP2015050496A (ja) * 2013-08-30 2015-03-16 アラクサラネットワークス株式会社 通信システム及び認証スイッチ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102075514B1 (ko) 2018-11-23 2020-02-10 (주)티에이치엔 차량용 네트워크 보안장치
KR20200082485A (ko) * 2018-12-28 2020-07-08 주식회사 경신 이더넷 스위치 연결 제어 장치 및 방법
KR20200139058A (ko) * 2019-06-03 2020-12-11 현대자동차주식회사 이더넷 스위치 및 그 제어 방법
KR102202902B1 (ko) * 2020-09-02 2021-01-15 (주)티에이치엔 차량용 통신 제어 장치의 보안 방법 및 그 장치

Also Published As

Publication number Publication date
KR102234210B1 (ko) 2021-03-30

Similar Documents

Publication Publication Date Title
CN107819736B (zh) 基于车辆网络中的汽车安全完整性等级的通信方法及设备
KR102234210B1 (ko) 이더넷 기반의 네트워크를 위한 보안 방법
KR102337548B1 (ko) 네트워크의 진단 방법 및 장치
KR102294634B1 (ko) 네트워크에서 통신 노드의 동작 방법
CN105388858B (zh) 网络中通信节点的操作方法
KR102400730B1 (ko) 네트워크에서 통신 노드들 간의 시간 동기화 방법
KR102352527B1 (ko) 차량 네트워크에서 asil에 기초한 통신 방법 및 장치
KR20170101046A (ko) 분할된 차량 네트워크에서 통신 방법
KR20170087602A (ko) 네트워크에서 동작 모드의 전환 방법
KR20170117634A (ko) 네트워크에서 전력 공급 방법 및 장치
KR102452615B1 (ko) 네트워크에서 우선순위에 기초한 데이터의 전송 방법
KR102293037B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102300764B1 (ko) 차량 네트워크에서 진단 방법 및 장치
KR102390481B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102446092B1 (ko) 네트워크에서 링크 상태의 진단 방법
KR102352504B1 (ko) 이더넷 스위치 정보에 기초한 미등록 장치 검증 시스템 및 방법
KR102362611B1 (ko) 차량 네트워크에서 데이터의 송수신 방법 및 장치
KR20180038970A (ko) 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법
KR102342000B1 (ko) 차량 네트워크에서 프레젠테이션 타임에 기초한 콘텐츠의 재생 방법 및 장치
KR102228331B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102250450B1 (ko) 네트워크에서 오류 검출을 위한 통신 노드의 동작 방법
KR20180038957A (ko) 차량 네트워크에서 미러링을 위한 통신 노드의 동작 방법
EP4254880A1 (en) Hardware ethernet header verification
KR102233213B1 (ko) 네트워크에서 스트림의 통신 경로 설정 방법

Legal Events

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