簡易檢索 / 詳目顯示

研究生: 謝佳燕
Chia-Yen Hsieh
論文名稱: 應用於網路安全硬體加速器之可擴充性架構
A Scalable Architecture for IP Security (IPsec) Hardware Accelerator
指導教授: 吳誠文
Cheng-Wen Wu
口試委員:
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2005
畢業學年度: 93
語文別: 英文
論文頁數: 79
中文關鍵詞: 網際網路安全協定可擴充性架構
外文關鍵詞: IPsec, Scalable Architecture
相關次數: 點閱:3下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著有線、無線通訊的發展,網路安全成為一個很重要的議題。網際網路安全性協定(IPsec)即為保護資料在網際網路流通時的私密性而發展出的一套協定,亦即將網路上的身分確認,資料完整性與資料私密性的基本安全要素,直接放到IP網路本身,從根本來解決網際網路的安全問題。另外,隨著網路速度的成長,以軟體來實現已經不足以應付網路上大量的傳輸資料。因此,本論文提出可擴充性的架構,以應付不斷成長的網路速度。
    針對IPsec的應用,我們提出三個可擴充性架構,並對每個架構做效能評估。其中包含了兩個Bus-Based架構,及一個Non-Bus-Based架構。此架構可以平行處理多個網路封包,根據效能評估結果,本架構可擴充至10個密碼學演算法(其中包含5個AES及5個HMAC)。對於需要超過10個密碼演算法的高速網路,本架構的擴充方式,即將整個IPsec Processor複製一套,以符合高速網路的需求。
    根據效能評估結果,我們做了一個實驗:包含2個AES及2個HMAC。在此例子中,總面積為266K Gates;系統最高的效能為1.1Gbps,此效能為處理1,400-byte的網路封包、使用AES-CBC Mode演算法、以及128-bit的金鑰(Key)所得到的實驗結果。另外,系統最低的平均效能為356Mbps,此效能是使用AES-CBC Mode、256-bit的金鑰,以及HMAC-SHA-1 Mode、使用256-bit金鑰所得之實驗結果。


    With the rapid growth of applications in Internet and wireless communication, the security for transmitting information on public network has become a fundamental issue. The Internet Protocol Security (IPsec) standard is developed by the Internet Engineering Task Force (IETF) to provide the security services at the IP layer. IPsec implemented by software is not sufficient to handle the enormous traffic generated by modern network applications.
    In this thesis, we propose three scalable architectures for IPsec which support the Encapsulating Security Payload (ESP) protocol in tunnel mode. Besides, an evaluation method is provided for the proposed architectures, including the AMBA-based and non-bus-based interconnection methods. The IPsec processor is implemented with core-based design methodology. The cryptographic algorithms supported in our design are AES-ECB, AES-CBC, HMAC-MD5 and HMAC-SHA-1. The proposed architecture is available for processing more than one packet in parallel using only one copy of protocol processing hardware with 10 crypto-engines (5 AES and 5 HMAC engines). If more than 10 crypto-engines are required for high-speed network, another copy of IPsec processor must be implemented. The proposed architecture is platform based and scalable, which provides tradeoff between performance and cost for a wide range of network applications.
    Broadcom BCM5841 is a scalable architecture for IPsec. The design details of BCM5841 are not revealed in their white paper. We apply our design to the architecture of BCM5841 and compare the cost and performance with that of the proposed architecture. The performance is the same for the two architectures, but the area of the proposed architecture is less than that of BCM5841. The usage of crypto-engines is flexible in the proposed architecture with AMBA-based interconnection method. Moreover, the utilization of crypto-engines in the proposed architecture is better when the IP traffic requires the entire security service of either encryption or authentication, but not both.
    Based on the analysis results, we give an example implemented with 2 AES and 2 HMAC engines. The total gate count is about 266 K gates. The maximum system throughput is 1.1 Gbps for 1,400-byte IP packets, with ESP processing using the AES-CBC mode and 128-bit key. For the worst case, the average system throughput is 356 Mbps, where the IP packets are processed using the AES-CBC mode with 256-bit key and HMAC-SHA-1 mode with 256-bit key.

    1 Introduction 1 1.1 Issues in Network Security and Performance . . . . . . . . . . . . . . . . . . . . . 1 1.2 Previous Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Proposed Scalable Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 IP Security (IPsec) 4 2.1 IP Security Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.1 Security Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Security Association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.1 Security Policy Database (SPD) . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.2 Security Association Database (SAD) . . . . . . . . . . . . . . . . . . . . 7 2.3 IPsec Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.1 Encapsulating Security Payload (ESP) . . . . . . . . . . . . . . . . . . . . 9 2.3.2 Transport Mode and Tunnel Mode . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Packet Processing Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4.1 Outbound Packet Processing . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4.2 Inbound Packet Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3 Proposed Scalable Architecture and Performance Analysis 16 3.1 Overall Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2 Performance Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2.1 Header Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2.2 Crypto-Engine Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2.3 Data Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.3.1 AMBA-Based Interconnection . . . . . . . . . . . . . . . . . . 20 3.2.3.2 Non-Bus-Based Interconnection . . . . . . . . . . . . . . . . . 25 3.2.3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4 Hardware Implementation 28 4.1 Overall Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.2 Packet Buffer Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2.1 Data Structure of Packet Buffer . . . . . . . . . . . . . . . . . . . . . . . 31 4.2.2 Input Packet Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2.3 Output Packet Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3 Header Processing Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3.1 Checksum Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3.2 Anti-Replay Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.3.3 SPD Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.3.4 SAD Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.4 Crypto-Engines (CEs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4.1 Address Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4.2 AES Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4.3 HMAC Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.5 Controller of IPsec Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.5.1 Flow Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.5.2 Resource Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.5.3 Main Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.5.4 Master Controller (Related to AHB Master Interface) . . . . . . . . . . . . 58 4.5.4.1 Programming Finite State Machine for AES . . . . . . . . . . . 58 4.5.4.2 Programming Finite State Machine for HMAC . . . . . . . . . . 62 5 Experimental Results 66 5.1 Design Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.2 Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.3 Simulation and Synthesis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3.1 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3.2 Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.4 Analysis and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.4.1 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.4.2 Deviation and Improvement . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.5 Comparison with Broadcom BCM5841 . . . . . . . . . . . . . . . . . . . . . . . 74 6 Conclusions and Future Work 76 6.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    [1] Broadcom Inc., “BCM5841”, http://www.broadcom.com, 2002.
    [2] M. R. Kastelino, “IPsec forwarding application level benchmark”, 2003.
    [3] Inc. ARM Components, AMBA Specification Rev2.0, May 1999.
    [4] Inc. Artisan Components, UMC 0.18um L180 Process 1.8-Volt Sage-XTM Standard Cell
    Library Databook, 2003.
    [5] A. D. Keromytis, “Implementing IPsec”, in Global Telecommunications Conference
    (GLOBECOM), 1997, pp. 1948–1952.
    [6] M. Han, J. Kim, and S. Sohn, “Network processor architecture for ipsec”, in The 6th International
    Conference, 2004, pp. 485–487.
    [7] C.-S. Ha, J.-H. Lee, D.-S. Leem, M.-S. Park, and B.-T. Choi, “ASIC design of ipsec hardware
    accelerator for network security”, in Proc. 4th IEEE Asia-Pacific Conf. Advanced System
    Integrated Circuits (AP-ASIC), Aug. 2004, pp. 168–171.
    [8] M. McLoone and J. V. McCanny, “A single-chip IPSEC cryptographic processor”, in Proc.
    IEEE Workshop on Singal Processing Systems (SIPS), San Diego, Oct. 2002, pp. 133–138.
    [9] C.-P. Su, C.-L. Horng, C.-T. Huang, and C.-W. Wu, “A configurable AES processor for
    enhanced security”, in Proc. Asia and South Pacific Design Automation Conf. (ASP-DAC),
    Shanghai, Jan. 2005, pp. 361–366.
    [10] M.-Y. Wang, C.-P. Su, C.-T. Huang, and C.-W. Wu, “An HMAC processor with integrated
    SHA-1 and MD5 algorithms”, in Proc. Asia and South Pacific Design Automation Conf.
    (ASP-DAC), Yokohama, Jan. 2004, pp. 456–458.
    [11] A. Nikologiannis G. Kornaros, I. Papaefstathiou and N. Zervos, “A fully-programmable
    memory management system optimizing queue handling at multi gigabit rates”, in Proc.
    IEEE/ACM Design Automation Conf. (DAC), 2003, pp. 54–59.
    [12] S. Kent and R. Atkinson, Security Architecture for the Internet Protocol, IETF Network
    Working Group, 1998, RFC 2401.
    [13] S. Kent and R. Atkinson, IP Authentication Header, IETF Network Working Group, 1998,
    RFC 2402.
    [14] S. Kent and R. Atkinson, IP Encapsulating Security Payload (ESP), IETF NetworkWorking
    Group, 1998, RFC 2406.
    [15] C. Madson and N. Doraswamy, “The ESP DES-CBC cipher algorithm with explicit IV”,
    1998, RFC 2405.
    [16] S. Frankel, R. Glenn, and S. Kelly, The AES-CBC Cipher Algorithm and Its Use with IPsec,
    IETF Network Working Group, 2003, RFC 3602.
    [17] C. Madson and R. Glenn, “The use of HMAC-MD5-96 within ESP and AH”, RFC 2403, the
    Internet Society, Nov. 1998.
    [18] C. Madson and R. Glenn, “The use of HMAC-SHA-1-96 within ESP and AH”, RFC 2404,
    the Internet Society, Nov. 1998.
    [19] J. Reynolds and J. Postel, “Assigned numbers”, 1994, RFC 1700.
    [20] C.-P. Su, Design and Test of an Advanced Cryptographic Processor, PhD dissertation, Dept.
    Electrical Engineering, National Tsing Hua University, Hsinchu, Taiwan, June 2004.
    [21] ARM Components, Inc., Multi-Layer AHB, 2001.
    [22] R. Braden and D. Borman, “Computing the internet checksum”, 1988, RFC 1071.
    [23] C.-L. Horng, “An AES cipher chip design using on-the-fly key scheduler”, Master Thesis,
    Dept. Electrical Engineering, National Tsing Hua University, Hsinchu, Taiwan, June 2004.

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE