한국   대만   중국   일본 
크립토 API (리눅스) - 위키百科, 우리 모두의 百科事典 本文으로 移動

크립토 API (리눅스)

위키百科, 우리 모두의 百科事典.

크립토 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] 리눅스 커널에 統合되지는 않았다.

같이 보기 [ 編輯 ]

各州 [ 編輯 ]

  1. “Kernel development” . LWN.net. 2002 . 2013年 9月 29日에 確認함 .  
  2. Edge, Jake (2010年 10月 20日). “A netlink-based user-space crypto API” . LWN.net . 2011年 11月 29日에 確認함 .  
  3. Linux_2_6_38 changes
  4. 03c8efc [ 깨진 링크 ( 過去 內容 찾기 )] fe869cd [ 깨진 링크 ( 過去 內容 찾기 )] 8ff5909 [ 깨진 링크 ( 過去 內容 찾기 )]
  5. “#2554: Patch: AF_ALG dynamic engine for linux >= 2.6.38” . 《 OpenSSL 》. 2011年 7月 3日. 2016年 4月 9日에 原本 文書 에서 保存된 文書 . 2016年 4月 25日에 確認함 .  
  6. Ludvig, Michal. “CryptoDev for Linux” . 2011年 11月 29日에 確認함 .  
  7. Mavrogiannopoulos, Nikos. “cryptodev-linux” . 2012年 3月 20日에 原本 文書 에서 保存된 文書 . 2012年 1月 12日에 確認함 .  
  8. Edge, Jake (2010年 8月 25日). “An API for user-space access to kernel cryptography” . LWN.net . 2011年 12月 29日에 確認함 .