이 포스트는 MACsec이 뭔지 알아보도록 한다. 아래 링크의 글을 번역했으므로 영어가 더 읽기 편하면 링크를 참조해도 좋다.
https://www.comcores.com/what-is-macsec/
What is MACsec? - Comcores
MACsec is designed to provide authentication, confidentiality and integrity for data transported on point-to-point links in the enterprise ...
www.comcores.com
What is MACsec?
MACsec은 IEEE에 의해 표준화된 L2 보안 프로토콜이며 이더넷 프레임에서 작동한다. 128비트 키 또는 256비트 키 버전의 AES GCM 암호화를 사용한다.
MACsec은 AES GCM 암호화 프로토콜을 사용하여 기업 LAN에서 P2P 링크에서 전송되는 데이터에 대해 인증, 기밀성 그리고 무결성을 제공하도록 설계되었다.

MACsec의 Key Agreement(MKA)는 네트워크의 호스트끼리 다중 인증을 제공하는 보조 프로토콜이며 connectivity association(CA)과 세션 키들을 생성한다.
MACsec은 각 이더넷 프레임에 보안 태그와 무결성 검증 값을 추가하여 모든 프레임에 무결성을 제공하고 사용자 데이터에 기밀성을 제공하도록 할 수 있다.(Optionally)
MacSec은 인증을 제공함으로써 LAN에서 승인된 노드들만 통신함을 보장한다. 또한, 데이터 암호화를 통해 오직 올바른 암호키를 가지고 있는 엔드포인트만 내용을 볼 수 있도록 한다.
무결성은 암호화 메커니즘을 통해 데이터가 전송 과정에서 위변조가 되지 않음을 보장하는 방식으로 제공된다.
MACsec은 2006년 IEEE 802.1AE 표준으로 소개되었다. 2011년과 2017년 사이에 여러 업데이트를 거치며 AES-GCM-256 지원하고 더 빠른 인터페이스와 MACsec에 의해 암호화된 프레임을 모니터링 및 관찰할 수 있는 기능이 지원됐다.
802.1AE-2018 표준은 지금까지의 업데이트를 통합해 MACsec으로 정의되었다.
How does MACsec work?
MACsec은 DL 레이어에서 MAC 레이어의 클라이언트 역할을 한다. IP 패킷에 16바이트 MACsec SecTag 헤더와 16바이트 무결성 검증 값을 꼬리에 붙여 캡슐화하고 0x88E5라는 특별한 EtherType을 사용한다.
MAC 레이어에서는 이더넷 프레임이 전송되기 전 preamble과 CRC가 추가된다.
이런 전송된 데이터의 보안을 위해 사용되는 무결성 검사와 암호화가 바로 MACsec의 인증, 기밀성과 무결성이 된다.

MACsec Authentication
이더넷 엔드포인트에서 LAN을 통해 MACsec 프레임이 전송되기 위해서는 반드시 인증되어야 한다.
같은 LAN에서 인증된 MACsec 피어들은 CA에 속하게 된다. 이것은 이 MACsec 피어들이 상대방과 연결되고 통신할 수 있는 허가를 받았음을 뜻한다.
CA의 멤버들은 Connectivity Association Key Name(CKN)에 대응하는 수명이 긴 Connectivity Association Key(CAK)으로 서로를 식별한다.
Confidentiality
MACsec 프레임은 virtual, unidirectional, point-to-multipoint 보안 채널을 통해 전송되며, 이는 Secure Associations(SAs)에 의해 지원된다.
SecY는 네트워크 포트에서 MACsec 프로토콜을 운영하는 엔티티로 802.1AE 표준에서 정의되었다.
각 물리적 포트에는 0개 이상의 SecY 객체가 있을 수 있지만, SecY 객체는 특정 가상 포트에 연관된다.
Integrity
MACsec은 암호화뿐만 아니라 Integrity Check Value(ICV)를 사용하여 무결성을 보장한다. ICV는 데이터와 Secure Association Key(SAK)에 의존하는 암호화 해시 함수인데, 공격자가 데이터 변조를 위해 키를 알아야 함을 강제한다.
MACsec 암호화가 선택사항(optional)으로 남아있을 동안, 무결성은 MACsec의 필수적인 부분으로 남아있다. ICV는 이더넷 프레임의 CRC 필드 이전에 적용되며, 프레임 변조를 감지할 수 있도록 한다.
패킷 넘버(PN)는 리시버가 패킷의 드랍, 리플레이 혹은 딜레이를 확인하는데 쓸 수 있다. 통상적으로, PN은 32비트 길이에 특정 SA와 SAK에 고유하다.
MACsec은 각 프레임을 송신할 때마다 PN을 증가시키며, 수신자는 마지막으로 수신한 프레임의 PN보다 1 증가한 값을 받을 것으로 예상한다. 하지만, 패킷의 도착 순서가 달라질 수 있기 때문에 MACsec에서 설정할 수 있다.
PN이 한도에 도달하기 직전, 새로운 SA가 새 SAK와 함께 협상된다. 이것은 모든 피어와의 조율이 요구된다. 매우 빠른 속도의 환경에서는 PN이 몇 초 이내로 소진되고 SAK 교환이 자주 일어난다.
예를 들어
- 25 Gpbs에서는 2분
- 100 Gpbs에서는 30초
- 800 Gpbs에서는 3~4초
간격으로 새 SAK가 생성된다.
IPSec
IPsec은 네트워크 레이어에서 보안을 제공하는 L3 VPN의 기반 기술이다.
IPsec은 인증 헤더(AH)와 캡슐화 보안 페이로드(ESP)를 사용한다. AH 프로토콜은 인증만 제공하며, ESP 프로콜은 암호화와 무결성을 제공한다.
IPsec은 2가지 모드로 사용될 수 있는데, 하나는 암호화된 패킷을 전송하는 Transport 모드이고, 다른 하나는 페이로드와 헤더를 암호화하는 Tunnel 모드이다.
TLS
TLS는 애플리케이션이 인터넷을 통해 보낸 데이터를 보호하는 데 쓰인다. TLS는 대칭과 비대칭 암호화의 조합을 사용한다.
대칭 암호화는 송신자와 수신자가 모두 알고 있는 키를 이용하여 데이터를 암호화 하는데, 이는 MACsec과 IPsec과 유사하다.
비대칭 암호화는 수신자의 공개키로 데이터를 암호화하고, 수신자는 자신의 개인키로 복호화를 하게 된다.
TLS는 비대칭키 암호화를 활용해 세션 키를 안전하게 생성 및 교환하며, 이후 데이터의 전송은 대칭키 암호화를 사용해 보호한다. 세션이 끝나면, 세션 키는 폐기된다.
Comparison between MACsec, IPsec and TLS
MACsec과 IPsec, 그리고 TLS를 비교해보자.
MACsec은 전용 FPGA나 ASIC 칩의 이더넷 포트 레벨에서 구현되는 것이 IPsec이나 TLS와의 차이점이다. 다른 프로토콜은 IPsec이나 TLS는 주로 라우터나 IP 패킷 포워딩을 위한 프로세싱 칩에서 실행되거나, 전용 보조 프로세서(co-processor)에서 처리되지만, 처리 성능이 제한적이다.
MACsec은 단일 이더넷 포트에서 다수의 IP 주소와 TCP 세션을 지원할 수 있으며, 프레임 단위로 실시간 보안을 제공한다. IPsec이나 TLS는 각 IP 패킷 또는 TCP 데이터그램을 개별적으로 암호화해야 하고, 수신된 IP 패킷과 TCP 데이터그램을 재조립 후에 복호화를 해야 한다.
이런 차이로 인해 MACsec은 다른 프로토콜에 비해 성능 저하 없이 운영될 수 있으며, Mbps부터 Tbps 정도의 속도까지 확장할 수 있다.
MACsec은 IPsec과 TLS와도 같이 사용될 수 있지만, 단독으로도 강력한 보안을 제공한다. 이런 장점으로 인해 네트워크 장비에 광범위하게 채택되고 있으며, 800 Gbps 및 Tbps 속도에서도 운영 가능한 MACsec 솔루션이 등장하고 있다.
MACsec은 초고속 데이터 센터뿐만 아니라 결정적 이더넷(Deterministic Ethernet) 애플리케이션에도 적합하다.
과거에는 중요한 통신 네트워크가 다양한 데이터 전송 프로토콜을 사용했지만, 현재는 Radio Unit(RU)부터 5G 코어까지 이더넷을 기반으로 전환되고 있다.
하지만, 결정적 애플리케이션은 네트워크 장애를 허용하지 않으므로 보안이 중요한 문제로 남아있다. 결정적 이더넷 네트워크는 주로 IoT 기기, 필드 장치들, 센서나 마이크로 셀 무선 유닛 등 소형 장치들도 구성된다.
이런 장치들은 저전력, 저비용을 목표로 설계되어 IPsec이나 TLS 같은 보안 솔루션은 비용이 높고 전력 소모가 심해 적합하지 않다.
반면, MACsec은 전력 소모가 적고 두 가지 방식으로 구현 가능해 소형 장치에 적합하다. 두 가지 방식은 각각 프로그래머블 방법과 Fixed Function 방식이다.
프로그래머블 방식은 별도의 CPU가 필요하다. Dynamic Key Exchange를 지원하고 기능 업데이트와 적응 가능성이 높은 장점을 가지고 있다. 단점은 추가적인 연산 파워를 필요로 한다는 점이다.
Fixed Function 방식은 가장 가벼운 구현 방식으로, 별도 CPU 없이 충분한 성능으로 정적 키 교환 방식을 지원하는 ARM 코어가 포함된 FPGA/SoC 또는 ASIC에서 구현될 수 있다. 필요한 기능만 구현하며, 설계의 변경이 불가능하다는 단점이 있다.
프로그래머블 구현에도 일부 프로세싱이 필요하지만, IPsec이나 TLS에 비해 요구되는 처리량이 적어 경량화된 솔루션을 제공할 수 있다.
MACsec의 최신 기능들은 고속 전송에 대한 요구를 충족하는 방향으로 발전하고 있지만, Time-Sensitive Networking(TSN) 엔드포인트 같은 소형 장치는 일반적으로 1G 이하의 이더넷을 사용한다.
또한, 5G RU는 eCPRI 지원을 위해 25G 이더넷 인터페이스가 필요하다.
이런 저속 환경에서는 eXtended Packet Number(XPN) 같은 기능이 필요하지 않아 효율적인 MACsec 솔루션을 구현할 수 있다.
즉, 고속 데이터 전송 시에도 강력한 보안을 유지하면서, 과도한 데이터 처리 없이 소형 장치에도 적용 가능한 MACsec 솔루션을 제공할 수 있다.
Comcores MACsec IP
대충 우리 회사 칩 좋다는 말. 자사 제품 홍보가 주된 파트라 넘겼다. 궁금하면 원문을 보도록 하자.
요약
MACsec은 데이터 링크 레이어에서 작동하는 보안 프로토콜
기업 LAN에서의 P2P 링크에서 전송되는 데이터의 인증, 기밀성, 무결성을 제공하기 위해 설계
사용 암호화 프로토콜은 AES GCM 128/256비트
이더넷 프레임을 실시간으로 암호화 및 무결성을 보증함
IPsec이나 TLS와는 달리 성능 저하가 적어 고속 네트워크나 IoT 같은 저전력 환경에서도 사용할 수 있음
FPGA나 ASIC 같은 고유 칩으로 설계하거나 프로그래머블 한 방법으로 구현
MACsec을 활용한 데이터 전송 과정
- 인증: MKA 프로토콜로 SAK를 교환하여 인증된 장치만 네트워크에 접속 가능
- 암호화, 전송: 송신 측에서 이더넷 프레임을 MACsec으로 암호화하고 각 프레임에 PN과 ICV를 포함함
- 수신 검증: 리시버에서 ICV를 통해 무결성 검증, PN을 통해 패킷 변조 확인하여 검증된 경우만 복호화 진행
후기
MACsec의 한국어 자료가 왜 이렇게 없나 했더니 분량이 상당히 빡세며 MACsec을 이해하는 데만 해도 알아야 할 지식이 많다.
번역을 해본 나도 완벽히 이해는 할 수 없었지만 작성한 글을 통해 두고두고 공부하면 좋을 것이다.
'정보보안' 카테고리의 다른 글
TLS(Transport Layer Security) (0) | 2025.03.01 |
---|---|
TEE(Trusted Execution Environment) (0) | 2025.02.28 |
AUTOSAR SecOC 알아보기 (0) | 2025.02.27 |