English (United States)   Tiếng Việt (Việt Nam)
Chuyển bộ gõ
Thiết kế thuật toán KASUMI trên FPGA trong bảo mật thông tin di động
Cập nhật ngày: 01/10/10

Giải pháp sử dụng thuật toán bảo mật Kasumi trên công nghệ FPGA (Field-Programmable Gate Array) là phương pháp bảo mật thông tin được thiết kế trên phần cứng, nhằm bảo mật thông tin tốt hơn giải pháp bảo mật dựa trên phần mềm.

    Trần Hoàng Vũ
Giải pháp sử dụng thuật toán bảo mật Kasumi trên công nghệ FPGA (Field-Programmable Gate Array) là phương pháp bảo mật thông tin được thiết kế trên phần cứng, nhằm bảo mật thông tin tốt hơn giải pháp bảo mật dựa trên phần mềm.
Giải pháp thực hiện là nghiên cứu thuật toán Kasumi để thiết kế chương trình bảo mật thông tin di động (TTDĐ) trên cơ sở ứng dụng công nghệ FPGA. Việc thực nghiệm được tiến hành dùng ngôn ngữ lập trình phần cứng Verilog để viết chương trình thực hiện mã hóa Kasumi trong bảo mật TTDĐ. Sau đó dùng phần mềm ModelSIM để thực hiện mô phỏng thuật toán bảo mật Kasumi.
GIỚI THIỆU CÔNG NGHỆ FPGA
Nhóm các mạch tích hợp được biết đến với cái tên linh kiện logic lập trình được (PLD) hay Mảng các cổng lập trình được (FPGA) cho phép người thiết kế cấu hình cho nó chỉ trong vài giây, và mỗi FPGA có thể thiết kế để thực hiện các chức năng hoàn toàn khác nhau. Số lần cấu hình lại của FPGA là không giới hạn, do đó có thể nghiên cứu, phát triển và ứng dụng hệ thống ngay trên chính chip đó.
Linh kiện FPGA cho phép cấu hình lại để thay đổi chức năng logic trong khi vẫn đang nằm trong hệ thống. Khả năng này cho phép nhà thiết kế có thể dễ dàng thay đổi chức năng phần cứng giống như đang thực hiện trên phần mềm. Thậm chí FPGA còn có thể tự động cấu hình để thực hiện các chức năng khác nhau trong những khoảng thời gian khác nhau. Khả năng cho phép cấu hình lại chức năng logic có thể ứng dụng trong nhiều kiểu hệ thống để cài đặt hệ thống tự khắc phục lỗi, tạo hệ thống có thể được cấu hình cho nhiều môi trường hoạt động, hoặc cài đặt thành phần cứng đa mục đích cho các ứng dụng khác nhau. Hơn nữa, sử dụng FPGA làm cho dễ thiết kế và kiểm tra phần cứng cũng như khả năng nhanh chóng tung sản phẩm ra thị trường. Cho đến nay, nhiều nhà thiết kế đã sử dụng FPGA để cài đặt trên cùng một phần cứng cả thuật toán mã hoá khoá công khai dùng trong tạo và thay đổi khoá phiên và thuật toán khoá bí mật truyền thống dùng trong mã hoá dữ liệu người dùng [1] .
Bên cạnh thời gian để thiết kế và phát triển ngắn hơn, linh kiện FPGA còn cho phép khả năng chế tạo các bảng mạch mẫu cũng như các giải pháp giá rẻ. Thậm chí đối với cả các hệ thống đang có giá thành rất cao thì các nhà sản xuất FPGA cũng có thể cung cấp công cụ và khả năng xử lý để có thể chuyển thiết kế sang các linh kiện lập trình được này.


Hình 1. Cấu trúc cơ bản của FPGA
Đối với các nhà thiết kế chip bảo mật di động, FPGA cho phép thiết kế hệ thống một cách mềm dẻo nhất. Kiến trúc bảo mật có thể được thử nghiệm với mã hoá khối hoặc mã xoắn, với nhiều kiểu hàm băm, thay đổi giao diện với CPU chính để có thể phân tích và đánh giá hiệu năng của hệ thống. Ứng dụng thực tế được nạp trực tiếp vào FPGA và có thể thấy ngay các hoạt động của nó. Quyết định cuối cùng không còn là trên cơ sở cảm tính, hay chỉ là mô phỏng trên phần mềm mà hoàn toàn theo hiệu năng thực của các thành phần thích hợp.
Cấu trúc bên trong của FPGA bao gồm hàng ngàn khối logic đa năng, hay còn gọi là Khối logic cấu hình được (CLB) được thiết kế và sắp xếp một cách mềm dẻo với kiến trúc khả trình. Các CLB liên kết với nhau thông qua mạng các đường định hướng và toàn bộ kiến trúc logic này kết nối với thế giới bên ngoài qua các cổng vào/ra lập trình được. Trong các chip FPGA thế hệ mới nhất, ngoài các thành phần cơ bản như trên, còn được nhúng thêm rất nhiều khối chức năng tiến tiến khác, có thể kể đến như Khối RAM có dung lượng lớn, bộ Nhân chia cho các ứng dụng DSP, các bộ Vi xử lý nhúng 8 bit, 32 bit lõi mềm và thậm chí cả bộ Vi xử lý cứng cũng được nhúng trong FPGA. Hình 1 trình bày cấu trúc tổng quát các thành phần trong một FPGA còn Hình 2 trình bày cấu trúc chung của một CLB, mỗi CLB bao gồm bốn slice kết nối tới ma trận chuyển mạch. 
Dữ liệu cấu hình cho FPGA được nạp vào các ô nhớ đặc biệt bên trong chip để tuỳ chọn chức năng của nó. FPGA có thể đọc dữ liệu cấu hình của nó từ bộ nhớ PROM ngoài thông qua cổng nối tiếp hoặc song song (chế độ master), hoặc được nạp từ thiết bị khác bên ngoài (chế độ ngoại vi hay slave). Các nhà sản xuất linh kiện FPGA cũng cung cấp công cụ phần mềm mạnh, hỗ trợ nhiều cách thiết kế khác nhau, từ vẽ sơ đồ cho đến mô tả hoạt động, máy trạng thái, mô phỏng, đặt và liên kết các khối chức năng để tạo, nạp vào chip và đọc ngược trở lại luồng bit cấu hình cho chip.
Khi cấu hình lại chip, chức năng của các CLB và liên kết giữa chúng do đó cũng thay đổi theo, làm cho mạch có chức năng hoàn toàn mới. Mỗi CLB có thể cấu hình thành hai chế độ - logic hoặc làm bộ nhớ.


Hình 2. Cấu trúc slice trong FPGA
THUẬT TOÁN KASUMI
KASUMI (Hình 3b) là thuật toán mã hoá khối khoá đối xứng họ MISTY do tập đoàn Mitsubishi Electronic nghiên cứu và phát triển. Sau đó được ESTI phát triển thành tiêu chuẩn mã hoá quốc tế dùng cho hệ thống TTDĐ thế hệ Ba W-CDMA [6]. Mục đích cơ bản là nhằm thiết kế thuật toán có khả năng bảo mật chống lại các cuộc tấn công tuyến tính và cả phi tuyến, nhỏ gọn (sử dụng ít cổng logic cũng như công suất tiêu thụ ít), và dễ dàng cài đặt với hiệu năng cao cả trên phần cứng cũng như phần mềm [2].
Thuật toán KASUMI khác nhau theo vòng chẵn lẻ, trong các vòng lẻ hàm của vòng được tính bằng cách lấy kết quả tính được từ hàm FL (Hình 3a) đặt vào hàm FO (Hình 3c), còn trong các vòng chẳn thì ngược lại, kết quả trước hết được tính trong FO và sau đó được đưa tới FL. FL là hàm 32 bit chỉ bao gồm các cổng AND, OR, NOT cùng với chức năng quay trái. Hàm FO cũng là một hàm 32 bit nhưng phức tạp hơn, có cấu trúc Feistel ba vòng, mỗi vòng chứa một khối FI. FI (Hình 3d) là khối phi tuyến 16 bit, tự nó cũng có cấu trúc Feistel bốn vòng, FI bao gồm hai khối thay đổi (S-box) 9 bit và hai khối thay đổi 7 bit. Hình 3d chỉ ra rằng dữ liệu qua hàm FI theo hai đường khác nhau, đường ‘dày’ có 9 bit và đường mỏng có 7 bit. Chú ý là trong cấu trúc Feistel, như sử dụng trong thiết kế này, mỗi vòng có đầu ra đều được xoay chiều trước khi đưa tới đầu vào của vòng tiếp theo. Sau khi hoàn thành đủ tám vòng theo thuật toán KASUMI, đầu ra cuối cùng chính là khối dữ liệu đã mã hoá tương ứng với khối dữ liệu ở đầu vào [8].
 

Hình 3: Cấu trúc chung thuật toán KASUMI
GIẢI PHÁP THIẾT KẾ THUẬT TOÁN KASUMI
General Block

Hình 4. Sơ đồ khối thiết kế tổng thể khối Kasumi
Từ sơ đồ thiết kế tổng thể khối Kasumi (Hình 4) ta xây dựng sơ đồ chi tiết bằng ngôn ngữ mô tả phần cứng Verilog để thực hiện việc mã hóa dữ liệu phục vụ cho việc xây dựng thuật toán f9 đảm bảo tính toàn vẹn dữ liệu và thuật toán f8 đảm bảo tính tin cậy của thông tin [3].


Hình 5: Sơ đồ thiết kế chi tiết tổng thể khối Kasumi
CHƯƠNG TRÌNH MÔ PHỎNG THUẬT TOÁN KASUMI
Sử dụng chương trình mô phỏng ModelSIM kiểm tra hoạt động của mã hóa KASUMI
Nhập dữ liệu mã hóa 64 bit vào
# Data Input 0000000000000000000000000000000000000000000000000000000000111000
Nhập khóa k 128 bit vào
# Key Init 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010111
Kết quả sau khi đi qua khối mã hóa KASUMI
# Data decode from Core design 1010010111000011100011101101011110011100000111100001110010010010
 

Hình 6: Kết quả chạy mô phỏng mã Kasumi
 
TÀI LIỆU THAM KHẢO
 [1]. TS. Nguyễn Văn Cường (2005), Đề tài nghiên cứu khoa học cấp bộ “Nghiên cứu ứng dụng công nghệ ASIC”, Đại học Đà Nẵng
[2]. TS.Nguyễn Phạm Anh Dũng (2004), Thông tin di động thế hệ Ba, NXB Bưu điện
[3]. Tống Văn On (2007), Thiết kế mạch số với VHDL &Verilog, NXB Lao động xã hội
[4]. Randall K. Nichols, Panos C. Lekkas (2002), Wireless security, McGraw-Hill
[5]. Roger J. Sutton (2002), Secure Communications: Applications and Management
[6]. Keiji Tachikawa, John Wiley & Sons (2002), W-CDMA: Mobile Communications System
[7]. Flavio Muratore, John Wiley & Sons (2001), UMTS Mobile Communication for the Future
[8]. Tomás Balderas-Contreras René A. Cumplido-Parra (2004), Security Architecture in UMTS Third Generation Cellular Networks, National Institude of Optical and Electronic, Mexico
Bài viết do Công ty Viễn thông quốc tế VTI tài trợ


Ý kiến của bạn Gửi cho bạn bè In bài này Trở lại
Tin theo ngày Xem
FocusNews Các tin mới nhất

Bưu chính Đức ra mắt website điều hành bưu kiện mới

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 4/2012

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 3/2012

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 2/2012

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 1/2012

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 12/2011

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 11/2011

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 10/2011

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 9/2011

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 8/2011

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 7/2011

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 6/2011

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 5/2011

Intel giới thiệu công nghệ kết nối mới Thunderbolt

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 1/2011

Giới thiệu Tạp chí Kỳ 1 Tháng 12/2010

Giới thiệu Tạp chí Kỳ 1 Tháng 11/2010

Giới thiệu Tạp chí Kỳ 1 Tháng 10/2010

Giới thiệu Tạp chí Kỳ 1 tháng 9/2010

Giới thiệu Tạp chí Kỳ 1 Tháng 8/2010

Giới thiệu Tạp chí Kỳ 1 Tháng 7/2010

Giới thiệu Tạp chí Kỳ 1 Tháng 6/2010

Giới thiệu Tạp chí CNTT&TT Kỳ 1 tháng 5/2010

Giới thiệu Tạp chí CNTT&TT Kỳ 1 tháng 4/2010

Giới thiệu Tạp chí CNTT&TT Kỳ 1 tháng 2/2010

Giới thiệu Tạp chí CNTT&TT Kỳ 1 Tháng 1/2010

Giới thiệu Tạp chí CNTT&TT Kỳ 1 tháng 12/2009

Bạc Liêu: Quy hoạch phát triển báo chí in đến năm 2020

Internet vệ tinh đến vùng sâu vùng xa VN

MegaVNN: Tặng khách hàng đến 18 tháng cước sử dụng dịch vụ

Sở Thông tin và Truyền thông Gia Lai

Từ 1/9: VNPT giảm một loạt cước dịch vụ viễn thông

Trường “bốn nhất” đã khai trương

<a href="http://ict.aivietnam.net/news/paggingincategory/tabid/76/catid/17/language/vi-VN/Default.aspx">Các tin đọc nhiều nhất</a> Các tin đọc nhiều nhất
justhost.com
banner 1
EvaVN