Nghĩa và vai trũ của FPGA

Một phần của tài liệu Bảo mật mạng vô tuyến và ứng dụng của FPGA trong bảo mật mạng vô tuyến (Trang 66)

ASIC lập trỡnh được đó xuất hiện từ lõu dưới dạng PLD (Programmable Logic Device), nhưng vai trũ của cỏc dạng ASIC này là khụng nhiều vỡ số lượng cổng trờn Chip rất ớt dẫn tới chức năng của cỏc PLD này cũng nghốo nàn và thường chỉ sử dụng với những nhiệm vụ rất hạn chế trong toàn hệ thống.

Kể từ năm 1980,Cỏc cụng ty sản xuất PLD hàng đầu đó đẩy mạnh quỏ trỡnh nghiờn cứu về FPGA và nhanh chúng cho ra cỏc thế hệ FPGA với số lượng cổng và tốc độ ngày càng cao. Cỏc FPGA hiện nay cú số lượng cổng đủ lớn để cú thể thay thế cả một hệ thống bao gồm lừi CPU, Bộ điều khiển bộ nhớ (Memory Controller), cỏc ngoại vi như SPI,Timer, I2C, GPIO, PWM, Video/Audio Controller… (nghĩa là tương đương với cỏc SoC hiện đại).Tuy nhiờn, FPGA khụng thể nào so sỏnh được

với ASIC và SoC cả về kinh tế lẫn tốc độ hoạt động. Nhưng bự lại, với khả năng tỏi cấu hỡnh mạnh, FPGA đúng một vai trũ vụ cựng to lớn trong việc giảm giỏ thành và thời gian chế tạo ASIC bằng cỏch sử dụng FPGA trong quỏ trỡnh thiết kế luận lý trước khi đưa ra sản xuất cỏc ASIC mẫu. Quy trỡnh sản xuất Chip ASIC bằng cỏch này gọi là fabless rất phổ biến hiện nay trờn thế giới, giỳp cỏc cụng ty nhỏ và vừa và đặc biệt là cỏc nước yếu về cụng nghệ như Việt nam tham gia vào thế giới sản xuất IC. Để giải thớch cho sự quan trọng rất lớn của FPGA, sẽ cú một vớ dụ cụ thể sau: Trước đõy, khi muốn chế tạo ra một con chip “Vi xử lý”, người ta phải thiết kế chip ở mức logic sử dụng cỏc ngụn ngữ mụ tả phần cứng, để kiểm tra cụng đoạn này cần phải sử dụng những phần mềm mụ phỏng. Sau đú thiết kế phải được tổng hợp dựa trờn cỏc thư viện cấp thấp của hóng sản xuất con Chip sau này, sau đú là quỏ trỡnh kiểm tra timing (định thời) cho toàn bộ thiết kế để đảm bảo thiết kế đú sẽ hoạt động ở tần số yờu cầu. Tất cả cỏc cụng đoạn này đều chỉ cú thể kiểm tra bằng cỏc phần mềm mụ phỏng (Điều này dẫn tới nguy cơ xảy ra sai sút rất lớn khi chuyển thiết kế sang mụi trường Chip thực ).

Quy trỡnh tiếp theo là gửi thiết kế của mỡnh tới cụng ty sản xuất Chip và phú mặc cho số phận, một chip mẫu giỏ vài triệu đụ la sẽ được chuyển trả về, sau đú là bắt đầu quỏ trỡnh test chip trong mụi trường thực, nếu thất bại, khả năng lớn là chỳng ta sẽ phải thực hiện lại hoàn toàn qui trỡnh thiết kế như đó núi ở trờn, và cứ mỗi lần như vậy, phải thanh toỏn vài triệu đụ la cộng với khỏang thời gian nghiờn cứu rất lớn. Quy trỡnh này làm cho cỏc đất nước nghốo như Việt Nam khụng thể tham gia vào cỏc cuộc chơi của cỏc đất nước giàu cú trong thế giới của ASIC. Nhưng với FPGA,chỳng ta khụng những cú thể rỳt ngắn thời gian thực hiện ASIC mà cũn giảm chi phớ nghiờn cứu tối đa do quỏ trỡnh kiểm tra thiết kế khụng những được kiểm tra bằng cỏc phần mềm mụ phỏng mà giờ đõy cũn cú thể chạy trờn cỏc Chip thực trong mội trường cú thể núi là gần với mụi trường ASIC thực nhất. Khả năng tỏi cấu hỡnh cho phộp sửa bản thiết kế cho đến khi đạt yờu cầu mà khụng phải trả khoản chi phớ nào ngoài tiền điện tiờu thụ.

Sau đõy là biểu đồ thể hiện sự chờnh lệch về giỏ thành của FPGA và ASIC đối với số lượng sản xuất. Dựa vào biểu đồ này, khi muốn sản xuất với số lượng dự kiến, cỏc cụng ty sẽ tớnh toỏn để sử dụng cụng nghệ nào thỡ tối ưu và cú lợi hơn.

Hỡnh 4.3 Chờnh lệch giỏ thành của FPGA và ASIC * Kết luận khi so sỏnh FPGA với ASIC

- FPGAs cú tớnh mềm dẻo hơn vỡ cú khả năng tỏi cấu hỡnh

- FPGAs hiệu quả hơn về kinh tế nếu sản xuất với số lượng vừa và nhỏ. - ASICs cú mật độ ứng dụng nhiều hơn..

4.4 Tối ưu húa cỏc tham số hệ thống

Đối với tất cả cỏc kỹ sư thiết kế hệ thống cũng như cỏc thiết bị bảo mật vụ tuyến, cú 12 tham số cần phải nhớ trong đầu như là những giỏ trị để cõn nhắc trước khi quyết định đặt giỏ trị phự hợp nhất. Cỏc tham số này bao gồm :

- Tốc độ hoạt động thời gian thực - Cụng suất tiờu thụ - Khả năng nhỳng và tớch hợp - Kỹ thuật phỏt triển - Mềm dẻo và cú khả năng nõng cấp - Giỏ thành phỏt triển - Giỏ bỏn sản phẩm cho khỏch hàng

- Khả năng hoạt động độc lập trờn cỏc thành phần khỏc của hệ thống vụ tuyến - Bảo mật mức vật lý

- Độ mạnh của thuật toỏn mó húa - Nhận thực mạnh và song hướng

Cú thể núi rằng tối ưu húa nhằm nõng cao hiệu suất hoạt động của hệ thống, tuy nhiờn hiệu suất cũng cú thể định nghĩa theo nhiều cỏch khỏc nhau. Nếu hệ thống tớch hợp được xõy dựng trờn nền tảng SOC (system-on-chip) xung quanh một CPU hay lừi DSP chuẩn thỡ chức năng bảo mật được thực hiện như một phần mềm nhỳng, hoàn toàn chạy từ ROM bằng cỏch chiếm đoạt một vài chu kỳ của CPU hay bộ đồng xử lý DSP nhỳng. Ứng dụng này cú thể chia thành nhiều khối khỏc nhau, như bộ mó húa khối hay mó húa xoắn hoạt động ở chế độ X hay Y, kết hợp với khối tạo khoỏ.

4.5 So sỏnh hệ thống bảo mật vụ tuyến dựa trờn phần cứng và phần mềm

Tuỳ theo cỏc ứng dụng thực hiện cú yờu cầu độ bảo mật mà hệ thống thụng tin vụ tuyến cú thể phõn thành cỏc loại sau :

Hệ thống xử lý lưu lượng tải lớn, thụng thường trong cỏc hệ thống truyền thụng tốc độ cao, đặc biệt là khi truyền trong mụi trường khụng ổn định cú tớnh thời gian thực

Vớ dụ như cỏc cuộc hội thoại, hội nghị truyền hỡnh, õm thanh số hay truyền dẫn video mó hoỏ, thụng tin đo lường... Thường thỡ khụng nờn lóng phớ xử lý cỏc loại lưu lượng này bằng phần mềm, kể cả khi đú là dữ liệu đó nộn hay là dữ liệu tốc độ rất cao yờu cầu tớnh thời gian thực. Tài nguyờn phần cứng cho phộp lưu tạm một khối lượng lớn dữ liệu, tuy nhiờn để trỏnh tràn bộ đệm hệ thống thỡ yờu cầu phải cú kiến trỳc xử lý được hết dữ liệu trước khi cỏc dữ liệu khỏc được đưa tới

Hệ thống xử lý lưu lượng tải nhỏ trong cỏc mạng cú tốc độ vừa phải, truyền khụng ổn định và yờu cầu cú tớnh thời gian thực

Cỏc vớ dụ điển hỡnh của hệ thống kiểu này cú thể kể đến như cỏc giao dịch thương mại điện tử, truyền số thẻ thanh toỏn, chọn mua mặt hàng đặc biệt nào đú hay mua bằng chữ ký điện tử, thụng tin để rỳt tài khoản ngõn hàng, thực hiện một thanh toỏn điện tử hay cỏc trỡnh duyệt web nhỏ (kiểu WAP)...

Rừ ràng là sau khi thực hiện một ứng dụng, thường là bằng phần mềm chạy trờn CPU chớnh, sau đú cú thể biến đổi qua một vài bộ xử lý ARM hay MIPS trờn cỏc SOC của thiết bị di động thỡ một số thụng tin cần phải được mó hoỏ trước khi truyền đi. Sơ đồ mó hoỏ cú thể sử dụng 3DES và cú thể là cả AES Rijndael một cỏch chậm rói bằng phần mềm trờn cỏc bộ xử lý nhỳng. Mỗi ngày, chương trỡnh mó

hoỏ này chỉ được sử dụng với một tỷ lệ nhỏ thời gian và do đú, sử dụng phần mềm đó làm giảm tớnh kinh tế của toàn bộ thiết kế. Khụng chỉ cú vậy, rừ ràng là khả năng hoạt động của phần mềm cũn cú thể mất quỏ nhiều thời gian, làm ảnh hưởng tới tớnh thời gian thực của hệ thống kể cả khi đó sử dụng kiến trỳc pipeline cho cỏc bộ mó hoỏ mạnh như 3DES hay AES.

Thỏch thức thực sự với hệ thống là khi tốc độ luồng dữ liệu cần xử lý là rất cao, thời gian cho phộp thực hiện ngắn với khả năng tớnh toỏn cú hạn. Trong tỡnh huống này, rừ rang là phần mềm khú cú thể đỏp ứng được yờu cầu. Cỏch an toàn nhất để hoàn thành nhiệm vụ này là sử dụng kết hợp phần mềm chạy trờn CPU hay DSP với cỏc khối phần cứng chạy cỏc ứng dụng then chốt. Và cõu hỏi đặt ra là sẽ phải sử dụng loại phần cứng nào?

4.6 Phần cứng cú khả năng cấu hỡnh

Phần cứng cấu hỡnh được là 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). Cỏc linh kiện này 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 cũng 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ể thoải mỏi phỏt triển, 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.

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 4.4 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.

Hỡnh 4.6 Cấu trỳc slice trong FPGA

Vậy thỡ cấu trỳc bờn trong của FPGA như thế nào mà nú lại cú thể mềm dẻo như thế ? 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, cũng 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 4.4 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 4.5 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. Hỡnh 4.6 và hỡnh 4.7 trỡnh bày cấu trỳc của một slice. Chi tiết về cổng vào ra khả trỡnh được mụ tả như trong hỡnh 4.9.

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ả 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 4.6 trỡnh bày cấu trỳc chi tiết của khối logic, bao gồm bảng tra chức năng (LUT) và hai thanh ghi một bit. Khi cấu hỡnh thành bộ nhớ phõn tỏn, phần logic được thay bằng bộ nhớ 16 bit ( hỡnh 4.7).

Hỡnh 4.7 Cấu trỳc chi tiết một slice

Hỡnh 4.9 Cấu trỳc cơ bản của khối vào / ra IOB

4.7 Thiết kế thuật toỏn KASUMI trờn FPGA

KASUMI là thuật toỏn mó hoỏ khối khoỏ đối xứng họ MISTY do tập đoàn Mitsubishi Electronic nhiờ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 thụng tin di động thế hệ Ba, trờn cơ sở cụng nghệ W-CDMA. 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.

4.7.1 Nhận xột chung

Cài đặt MISTY1 trờn phần mềm viết bằng ngụn ngữ assembly và cho chạy trờn bộ vi xử lý Intel Pentium III (800MHz), chương trỡnh mó hoỏ này cú thể hoạt động được với tốc độ đầu vào tối đa là 230 Mbps.Sử dụng bộ xử lý CMOS 350 nm của Mitsubishi và kiến trỳc pipeline của thuật toỏn, sử dụng 50 000 cổng, cú thể tăng tốc thuật toỏn lờn đến 800 Mbps. Cũn khi yờu cầu tối thiểu hoỏ thuật toỏn, cú thể sử dụng phiờn bản nhỏ gọn chỉ sử dụng hết 7600 cổng (với cựng cụng nghệ bỏn dẫn CMOS) cú thể mó hoỏ dữ liệu đạt tới tốc độ 72 Mbps. Yờu cầu chớnh của thuật toỏn mó hoỏ để cú thể là đặc tả kỹ thuật của ETSI mó hoỏ cho W-CDMA là phải cú khả năng cài đặt trờn phần cứng với dưới 10 000 cổng.

Như trỡnh bày trong hỡnh 4.10, 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 đặt vào hàm FO, cũn trong cỏc vũng lẻ 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 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 4.10c 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

Một phần của tài liệu Bảo mật mạng vô tuyến và ứng dụng của FPGA trong bảo mật mạng vô tuyến (Trang 66)

Tải bản đầy đủ (DOC)

(84 trang)
w