크립토 API
(Crypto API)는
리눅스 커널
에서 使用하는 暗號 프레임워크이며,
IPsec
과 dm-crypt와 같은 暗號化된 데이터를 다루는 部分에서 使用한다. 리눅스 커널 버전 2.5.45에서 最初로 導入되었으며
[1]
자주 使用되는
블록 暗號
와
해시 函數
를 包含하기 위해 擴張되고 있다.
使用者 空間 인터페이스
[
編輯
]
暗號化 函數 및 해시 函數를 提供하는 플랫폼은 크게 두 가지 方式으로 나눌 수 있다.
命令語 集合 救助
自體에 暗號化 및 해시 函數를 包含시켜서
커널 空間
이나
使用者 空間
에 있는 모든 프로그램에서 使用할 수 있도록 한 方式과, 프로세서 內部의 裝置를 통해서 接近하며 OpenSSL, GnuTLS 等 使用者 空間에서는 커널 드라이버를 통해 接近해야 하는 方式이다. 命令語 集合 自體에 暗號化 및 해시 函數가 包含되어 있는 프로세서는 인텔과 AMD의
AES-NI
이며, 커널 드라이버를 使用하는 프로세서는 마벨 Kirkwood 및
AMD 지오드
프로세서이다.
크립토 API에서 提供하는 使用者 空間 인터페이스는 다음과 같다.
- AF_ALG
- 네트워크 소켓과 類似한 인터페이스로 接近할 수 있으며, 커널 內部 暗號化 엔진에 接近하기 위한
AF_ALG
住所 形式을 支援한다.
[2]
리눅스 커널 버전 2.6.38에 統合되었다.
[3]
[4]
OpenSSL에서 AF_ALG를 支援하기 위한 플러그인이 存在하며, OpenSSL에 統合되기 위해서 버그 트래커에 올라왔으나 2016年에 拒絶되었다.
[5]
- cryptodev
- OpenBSD 暗號化 프레임워크 인터페이스인 /dev/crypto를 리눅스로 移植한 코드가 있지만
[6]
[7]
[8]
리눅스 커널에 統合되지는 않았다.
같이 보기
[
編輯
]
各州
[
編輯
]