요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
=====================
NetLabel Introduction
=====================
Paul Moore, paul.moore@hp.com
August 2, 2006
Overview
========
NetLabel is a mechanism which can be used by kernel security modules to attach
security attributes to outgoing network packets generated from user space
applications and read security attributes from incoming network packets. It
is composed of three main components, the protocol engines, the communication
layer, and the kernel security module API.
Protocol Engines
================
The protocol engines are responsible for both applying and retrieving the
network packet's security attributes. If any translation between the network
security attributes and those on the host are required then the protocol
engine will handle those tasks as well. Other kernel subsystems should
refrain from calling the protocol engines directly, instead they should use
the NetLabel kernel security module API described below.
Detailed information about each NetLabel protocol engine can be found in this
directory.
Communication Layer
===================
The communication layer exists to allow NetLabel configuration and monitoring
from user space. The NetLabel communication layer uses a message based
protocol built on top of the Generic NETLINK transport mechanism. The exact
formatting of these NetLabel messages as well as the Generic NETLINK family
names can be found in the 'net/netlabel/' directory as comments in the
header files as well as in 'include/net/netlabel.h'.
Security Module API
===================
The purpose of the NetLabel security module API is to provide a protocol
independent interface to the underlying NetLabel protocol engines. In addition
to protocol independence, the security module API is designed to be completely
LSM independent which should allow multiple LSMs to leverage the same code
base.
Detailed information about the NetLabel security module API can be found in the
'include/net/netlabel.h' header file as well as the 'lsm_interface.txt' file
found in this directory.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
개요
1-16NetLabel 소개
Paul Moore, `paul.moore@hp.com`
2006년 8월 2일
개요
NetLabel은 커널 보안 모듈이 사용자 공간 애플리케이션에서 생성된 송신 네트워크 패킷에 보안 속성을 붙이고, 수신 네트워크 패킷에서 보안 속성을 읽을 수 있게 하는 메커니즘입니다. NetLabel은 프로토콜 엔진, 통신 계층, 커널 보안 모듈 API라는 세 가지 주요 구성 요소로 이루어집니다.
=====================
NetLabel Introduction
=====================
Paul Moore, paul.moore@hp.com
August 2, 2006
Overview
========
NetLabel is a mechanism which can be used by kernel security modules to attach
security attributes to outgoing network packets generated from user space
applications and read security attributes from incoming network packets. It
is composed of three main components, the protocol engines, the communication
layer, and the kernel security module API.
프로토콜 엔진
17-30프로토콜 엔진
프로토콜 엔진은 네트워크 패킷의 보안 속성을 적용하고 가져오는 일을 모두 담당합니다. 네트워크 보안 속성과 호스트의 보안 속성 사이에 변환이 필요하면 프로토콜 엔진이 그 작업도 처리합니다. 다른 커널 하위 시스템은 프로토콜 엔진을 직접 호출하지 말고 아래에서 설명하는 NetLabel 커널 보안 모듈 API를 사용해야 합니다.
각 NetLabel 프로토콜 엔진에 관한 자세한 정보는 이 디렉터리에서 찾을 수 있습니다.
Protocol Engines
================
The protocol engines are responsible for both applying and retrieving the
network packet's security attributes. If any translation between the network
security attributes and those on the host are required then the protocol
engine will handle those tasks as well. Other kernel subsystems should
refrain from calling the protocol engines directly, instead they should use
the NetLabel kernel security module API described below.
Detailed information about each NetLabel protocol engine can be found in this
directory.
통신 계층
31-41통신 계층
통신 계층은 사용자 공간에서 NetLabel을 구성하고 감시할 수 있도록 존재합니다. NetLabel 통신 계층은 Generic NETLINK 전송 메커니즘 위에 구축한 메시지 기반 프로토콜을 사용합니다. NetLabel 메시지의 정확한 형식과 Generic NETLINK family 이름은 `net/netlabel/` 디렉터리의 헤더 파일 주석 및 `include/net/netlabel.h`에서 찾을 수 있습니다.
Communication Layer
===================
The communication layer exists to allow NetLabel configuration and monitoring
from user space. The NetLabel communication layer uses a message based
protocol built on top of the Generic NETLINK transport mechanism. The exact
formatting of these NetLabel messages as well as the Generic NETLINK family
names can be found in the 'net/netlabel/' directory as comments in the
header files as well as in 'include/net/netlabel.h'.
Security Module API
보안 모듈 API
42-52보안 모듈 API
NetLabel 보안 모듈 API의 목적은 하위 NetLabel 프로토콜 엔진에 대해 프로토콜 독립적인 인터페이스를 제공하는 것입니다. 이 API는 프로토콜뿐 아니라 LSM에도 완전히 독립적으로 설계되어 여러 LSM이 같은 코드 기반을 활용할 수 있습니다.
NetLabel 보안 모듈 API에 관한 자세한 정보는 `include/net/netlabel.h` 헤더 파일과 이 디렉터리의 `lsm_interface.txt` 파일에서 찾을 수 있습니다.
===================
The purpose of the NetLabel security module API is to provide a protocol
independent interface to the underlying NetLabel protocol engines. In addition
to protocol independence, the security module API is designed to be completely
LSM independent which should allow multiple LSMs to leverage the same code
base.
Detailed information about the NetLabel security module API can be found in the
'include/net/netlabel.h' header file as well as the 'lsm_interface.txt' file
found in this directory.
요약·해설
introduction.rst:1-52NetLabel은 사용자 공간 애플리케이션의 네트워크 패킷과 커널 보안 모듈 사이에서 보안 속성을 전달합니다. 프로토콜 엔진은 실제 패킷 라벨을 다루고, Generic NETLINK 계층은 사용자 공간 구성·감시를 담당하며, 보안 모듈 API는 프로토콜과 LSM의 차이를 숨깁니다.
데이터 경로와 제어 경로가 공통 API와 프로토콜 엔진에서 만납니다.