Mạng riêng ảo và giao thức IPSec

Nội dung chính của đồ án này là tập trung nghiên cứu các kỹ thuật cơ bản, đồng thời đi sâu vào thiết kế thiết bị bảo mật dựa trên giao thức IPSec. Giải thuật chuẩn mã hoá dữ liệu (DES) và giải thuật băm bảo mật (SHA_1) được sử dụng cho việc mã hoá và chứng thực dữ liệu. Toàn bộ thiết kế được thực hiện trên chip FPGA để có được tốc độ xử lý cao và tính mềm dẻo trong thiết kế. Đồ án gồm có 3 chương. Nội dung chính của các chương đó là: Chương 1: Mạng riêng ảo và giao thức IPSec: Trong chương này sẽ trình bày những vấn đề cơ bản về mạng riêng ảo, giao thức TCP/IP, đặc biệt là các kỹ thuật trong việc sử dụng giao thức IPSec. Chương 2: Mã hoá và FPGAs: trong chương này sẽ trình bày tổng quan về mã hoá và công nghệ FPGA, các thuật toán sử dụng cho việc bảo mật và xác thực dữ liệu, đặc biệt đi sâu vào thuật toán DES và SHA_1. Chương 3: Thiết kế thiết bị bảo mật IP sử dụng công nghệ FPGA: trong chương này sẽ trình bày các bước thiết kế module truyền thông Ethernet dùng Spartan-3E Starter Kit và EDK 10.1; thiết kế module bảo mật, xác thực và các module cơ bản khác để xây dựng thiết bị IPsec sử dụng công nghệ FPGA.

pdf90 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2686 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Mạng riêng ảo và giao thức IPSec, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
g cấp một quy định chung để thoả thuận trao đổi sửa đổi v xo ỏ c c tổ hợp ảo vệ giữa c c hệ thống kh ng giống nhau iệc tập trung ho c ch quản l c c tổ hợp ảo vệ ằng l m giảm nhiều chức năng tr ng lặp trong m i giao thức ảo mật v giảm đ ng kể 32 thời gian thiết lập kết nối ởi v có thể thoả thuận một lần cho một tập c c dịch vụ iao thức có 4 th nh phần chức năng ch nh sau  c thực người đối thoại  hiết lập v quản l kho mật mã  ạo v quản l tổ hợp ảo vệ  iảm mối đe doạ iao thức t ch hợp c c cơ chế để chống lại c c nguy cơ như từ chối dịch vụ Denial of ervice chặn ắt ijacking v tấn c ng người đứng giữa an-in-the- iddle Dịch vụ quản l gửi trước một thẻ chống cản trở an ticlogging tocken cookie tới hệ thống y u cầu để thực hiện ất k một giao t c n o tốn nhiều c ng sức ếu người quản trị kh ng nhận được trả lời của thẻ n y nó coi y u cầu như l kh ng hợp lệ v ỏ y u cầu đi ặc d đ y kh ng l c ch ảo vệ chống cản trở tốt nhất nó đủ hiệu quả để chống lại phần lớn c c tấn c ng l m tắc nghẽn th ng thường ơ chế chống cản trở cũng rất có lợi để ph t hiện tấn c ng chuyển hướng nhiều thẻ được gửi đi trong qu tr nh thiết lập m i phi n n n ất cứ một cố gắng n o nhằm chuyển hướng d ng dữ liệu đến điểm cuối kh c sẽ ị ph t hiện iao thức li n kết qu tr nh x c thực v qu tr nh trao đổi kho v o một d ng dữ liệu duy nhất iều n y l m cho những tấn c ng dựa v o việc chặn ắt v thay đổi d ng dữ liệu như chặn ắt người đứng giữa ho n to n v t c dụng ọi sự can thiệp hay sửa đổi d ng dữ liệu sẽ ị ph t hiện ởi người quản trị v mọi xử l tiếp theo sẽ ị dừng cũng p dụng một m y trạng th i c i đặt sẵn để ph t hiện việc xo ỏ dữ liệu điều n y đảm ảo cho những dựa tr n những trao đổi một phần sẽ kh ng được thiết lập uối c ng để chống lại sự đe doạ định ra 33 việc ghi nhật k v c c y u cầu cảnh o đối với tất cả c c h nh động ất thường v giới hạn việc sử dụng th ng o l i tr n đường truyền hư một chuẩn ec nhanh chóng trở th nh phương ph p được đ nh gi cao để ảo mật th ng tin trong mạng ược thiết kế để h trợ nhiều lược đồ mã ho v x c thực v t nh tương giao giữa nhiều người n h ng ec có thể thay đổi để th ch hợp với y u cầu ảo mật của cả c c tổ chức lớn hay nhỏ rong chương n y đã tr nh y những kiến thức cơ ản về mạng ri ng ảo vấn đề ảo mật trong mạng ri ng ảo đặc iệt l giao thức ec hững kiến thức n y sẽ gi p ch cho việc thiết kế thiết ị ảo mật rong chương sau sẽ tr nh y những c c k thuật cơ ản về mã ho v c ng nghệ 34 hương MÃ HOÁ VÀ FPGAs 2.1 2.1 T ã ho l qu tr nh chuyển c c văn ản hay t i liệu gốc th nh c c văn ản dưới dạng mật mã để kh ng ai ngo i người gửi v người nhận có thể đọc được ã ho được dựa tr n hai th nh phần thuật to n v kho ột thuật to n mã ho l một chức năng to n học để tạo ra một văn ản hay c c th ng tin dễ hiểu với một chu i c c số được gọi l kho để tạo ra một văn ản mật mã khó hiểu ã ho tr n hệ thống kho cơ ản cung cấp hai ưu điểm quan trọng hứ nhất l ằng việc d ng một kho có thể sử dụng c ng một thuật to n để truyền th ng với nhiều người tất cả những g phải l m l sử dụng một kho kh c cho m i th nh vi n tương ứng hứ hai nếu như ản tin được mã ho ị ẻ gãy ch cần chuyển một kho mới để ắt đầu mã ho ản tin đó lại m kh ng cần phải đổi một kho mới để ắt đầu mã ho ản tin đó lại m kh ng cần phải đổi một thuật to n để thực hiện qu tr nh đó ố kho m thuật to n có thể cung cấp phụ thuộc v o số it trong kho ố kho c ng lớn th khả năng một ản tin đã được mã ho ị ẻ kho c ng thấp tức khả năng ảo mật cao hơn 2.1 2 ó hai phương thức mã ho phổ iến đó l mã ho mật v mã ho c ng cộng 2.1.2.1 P hương thức mã kho mật hay c n gọi l mã ho đối xứng ch sử dụng một ch a kho để mã ho v giải mã hi đó n gửi v n nhận cần phải thoả thuận trước kho mật n y 35 hương thức mã ho kho mật thực hiện qu tr nh mã ho một c ch đơn giản uy nhi n có nhược điểm l nếu kho chung gửi qua mạng th có khả năng ị đ nh cắp ặt kh c nếu như ta có nhiều sự trao đổi th ta phải giữ một số lượng lớn kho mật v nếu ch sử dụng một kho cho nhiều trao đổi th người nhận sẽ có khả năng đọc thư của người kh c c phương thức mã ho kho mật sử dụng thuật to n như D Triple DE lowfish … 2.1 2 2 ã ho kho c ng cộng được dựa tr n niệm của kho đ i ột phần của kho đ i l kho ri ng ch được iết đến ởi người thiết kế phần kh c l kho c ng cộng có thể được c ng ố một c ch rộng rãi nhưng vẫn được kết hợp với người sở hữu c kho đ i n y có đặc điểm l dữ liệu mã ho với một kho có thể được giải mã với một kho kh c trong c ng một cặp vậy y u cầu của phương ph p n y l phải đảm ảo kh ng thể hoặc rất khó để t m ra mã mật từ mã c ng khai i hững kho n y có thể được d ng để cung cấp ản tin một c ch tin cậy v chứng minh sự tin cậy của một ản tin gốc 36 u điểm của phương ph p n y l kho c ng cộng của kho đ i có thể ph n ph t một c ch sẵn s ng m kh ng sợ rằng điều n y l m ảnh hưởng đến việc sử dụng c c kho ri ng h ng cần phải gửi một ản sao ch p kho c ng cộng cho tất cả c c đ p ứng m ch ng ta có thể lấy từ một m y chủ hay từ nh cung cấp dịch vụ c phương thức mã ho c ng khai ao gồm c c k thuật như Diffie- ellman chnorr … 2.1.3 T 2.1 hi một người muốn gửi cho ai đó một văn ản quan trọng đ i hỏi văn ản phải được k x c nhận ch nh danh người gửi hi đó người gửi văn ản sẽ cần thực hiện một quy tr nh được gọi l k chữ k điện tử hữ k điện tử l k hiệu điện tử được gắn với văn ản điện tử kh c theo một nguy n tắc nhất định v được k văn ản đó p dụng để cung cấp dịch vụ x c thực cho người nhận ng nghệ chữ k điện tử đang được ph t triển v ứng dụng rộng rãi đặc iệt trong l nh vực thương mại điện tử như thư điện tử c c giao dịch t i ch nh… 2.1 2 H ới một ức th ng điệp lớn việc t nh to n chữ k điện tử tốn nhiều thời gian vậy người ta sử dụng h m ăm tóm tắt một th ng điệp d i ất k th nh th ng điệp có k ch thước cố định h ng điệp n y sẽ sử dụng để kiểm tra th ng điệp có to n v n hay kh ng iệc sử dụng h m ăm l m chữ k điện tử sẽ tăng cường khả năng thực thi v message digest nhỏ hơn rất nhiều so với to n ộ gói th ng điệp 37 : 2.2 T P 2.2 s l viết tắt của ield rogramma le ate rrays có ngh a l mảng cổng cho ph p lập tr nh được s l c c thiết ị phần cứng m có thể thay đổi chức năng ởi việc lập tr nh c c chip sau khi sản xuất u tr nh lập tr nh c c rất nhanh thường nhỏ hơn ph t do đó ch ng rất thuận tiện cho việc sử dụng như một nền tảng của việc có thể định lại cấu h nh c ao gồm rất nhiều khối logic s được ao quanh ởi c c khối input output m cung cấp một giao diện giữa c c khối logic có thể định lại cấu h nh v c c ch n dữ liệu v một mạng định tuyến t i nguy n được gọi l ma trận định tuyến chung m li n kết n trong c c khối logic ới họ ng y nay khả năng t ch hợp của nó đã vượt qu triệu cổng ới sự giới thiệu của họ partan hiện nay inlinx có thể cạnh tranh về ma trận cổng ở mọi kh a cạnh như gi cả số lượng cổng số lượng đầu v o ra cũng như hiệu quả về gi th nh dụ như họ partan- với ch n v o ra cho người d ng tự định ngh a đóng gói ch n kiểu hơn khối logic ó cho ph p thay thế c c sản phẩm ứng dụng theo chuẩn chuy n d ng có nhiều t nh năng đặc iệt ó có thể định lại cấu h nh có khả năng xử l song song n ng cấp dễ d ng như phần mềm go i ra nó có gi ph t triển thấp r t ngắn thời gian đưa ra thị trường 38 2.2.2 P 2.2.2 H V P ọ ilinx ertex l họ đầu ti n của m nó đưa ra một triệu cổng hệ thống v được giới thiệu v o năm D ng sản phẩm ertex về cơ ản được định ngh a lại tất cả c c đơn vị logic lập tr nh ởi việc mở rộng c c khả năng của truyền thống để có đặc t nh mạnh hơn nó được d ng cho c c thiết kế hệ thống thực thi cao 2.2.2 2 H S P ọ partan l tưởng d ng cho c c ứng dụng với số lượng lớn gi th nh thấp h ng được đưa ra c c thiết ị đ ch nhằm thay thế c c chip logic loại cố định v c c sản phẩm chuy n dụng chẳng hạn như chip giao tiếp us Dưới đ y m tả cấu tr c của partan-3 FPGA ơ đồ khối của 39 hối logic có thể định cấu h nh gồm hai phần i phần gồm 4 ảng tra cứu c c khối nhớ v điều khiển logic v hai thanh ghi ó hai ộ đệm a trạng th i được kết hợp với m i m có thể được truy cập ởi tất cả c c đầu ra của i th nh phần gồm có c c ộ phận sau  4 đầu v o - ột số h m logic 4 đầu v o - Hoặc đồng ộ 6 it x - oặc thanh ghi dịch 6-bit  hớ v điều khiển - hối logic số học nhanh - ộ nh n logic - ộ dồn k nh logic  hần tử lưu trữ - ạch lip-Flop - et v reset 40 - c đầu v o đảo mức hoặc kh ng - iều khiển đồng ộ hoặc kh ng đồng ộ ai phần của có thể được sử dụng độc lập hoặc c ng với nhau cho c c h m logic lớn hơn ũng trong m i phần v lip- lop có thể được sử dụng cho c c chức năng giống nhau hoặc c c chức năng độc lập UT: l c c phần tử chủ yếu để thực thi logic i ảng có thể thực hiện một h m ốn đầu v o ất k được iểu diễn dưới đ y h hi được định cấu h nh như ộ nhớ th nó có thể thực thi đồng ộ 6x ột có thể thực hiện như một đơn cổng 6x ai được sử dụng để thực hiện như cổng 6x c có thể được xếp tầng để cho ộ nhớ lớn hơn có thể được định cấu h nh như một thanh ghi dịch v o nối tiếp ra nối tiếp c c địa ch động có thể giữ chậm tới 6 chu k có thể lập tr nh theo dạng đường ống xếp chồng để có chu k giữ chậm lớn hơn sử dụng c c flip-flop của để tăng chiều s u 41 T : nhiều thanh ghi dịch để cho ph p mở rộng đường ống để tăng th ng lượng N i chứa định tuyến v logic ri ng iệt để tạo nhanh c c t n hiệu tổng v nhớ l m tăng hiệu quả v hiệu suất cho c c ộ cộng trừ cộng t ch lu so s nh v c c ộ đếm ogic nhớ kh ng phụ thuộc v o t i nguy n kết nối v logic cơ ản ử l nhớ hần lớn c c c ng cụ tổng hợp có thể thực hiện nhớ logic với c c h m số học ộng rừ D - B) o s nh if then… ếm count count hức năng của O - O đưa ra c c mạch gh p nối giữa c c ch n đóng gói với c c CLB. 42 - i O có thể l m việc như O một hoặc hai chiều - c đầu ra có thể được p l n mức trở kh ng cao - c đầu v o v ra có thể được đăng k - c đầu v o có thể ị giữ chậm T 43 2.2 Ứ được ứng dụng điển h nh trong c c l nh vực như xử l t n hiệu số xử l ảnh thị gi c m y nhận dạng giọng nói mã ho m phỏng… đặc iệt mạnh trong c c l nh vực hoặc ứng dụng m kiến tr c của nó y u cầu một lượng rất lớn xử l song song đặc iệt l mã ho v giải mã cũng được sử dụng trong ứng dụng cần thực thi c c thuật to n như nh n chập thay thế cho vi xử l 2.2 H P c thuật to n mã ho ho n to n có thể thực hiện được tr n phần mềm với độ linh hoạt cao gi th nh rẻ nhưng tốc độ xử l chậm đặc iệt với c c thuật to n phức tạp v dung lượng dữ liệu cần mã ho lớn Do đó để đạt được hiệu quả thực thi cao ta n n thực hiện c c thuật to n mã ho tr n phần cứng c chip logic khả tr nh như v kh ng ch xử l với tốc độ rất cao m c n thực sự mạnh trong l nh vực ảo mật như cấu tr c chip được đốt vật l ảo đảm t nh to n v n v chống tấn c ng th m thiết kế một số chip h trợ mã ho cấu h nh phần cứng… r n thực tế th sử dụng đạt hiệu quả cao hơn  Sử dụng các FPGA sẽ có nhiều ứng dụng mạng nhất đối với việc thay đổi các chuẩn mã mật. Với các FPGA có thể định lại cấu hình trên chip với các chuẩn mã hoá khác nhau.  Các FPGA với giá thành thấp hơn, công suất nhỏ, thời gian triển khai ngắn và trên công nghệ mạch tích hợp các ứng dụng đặc biệt thì thời gian đưa ra thị trường sẽ ngắn hơn.  Công nghệ và dung lượng của các FPGA liên tục được cải tiến. iện nay c ng nghệ đang được sản xuất v h trợ phần mềm ởi c c hãng như ilinx ltera ctel tmel… rong đó ilinx v ltera l hai hãng h ng đầu ilinx cung cấp phần mềm miễn ph tr n nền 44 Windows, Linux, trong khi Altera cung cấp những c ng cụ miễn ph tr n nền indows 11 ó hai loại cơ ản oại tatic andom ccess emory có thể lập tr nh lại nhiều lần v loại O One - Time Programmable lập tr nh một lần ai loại n y kh c nhau ở ch thực hiện của c c logic cell v k thuật tạo sự kết nối giữa ch ng trong thiết ị oại hay được d ng hơn cả l loại v nó có thể lập tr nh được nhiều lần hực tế th được nạp cấu h nh lại m i khi ật nguồn ởi v loại n y thực chất l một chip nhớ theo muốn 45 2.3 T 2.3 S Hình 2.12: S kh gi thu DES huật to n chuẩn mã ho dữ liệu đã D l một thuật to n mã ho kho mật phổ iến v được sử dụng trong nhiều c c ứng dụng thương mại v t i ch nh D l một mã khối xử l c c khối 64 it ản r th nh c c khối ản mật 64 it ó sử dụng kho mật mã có độ d i 64 it nhưng trong đó có 6 it kho c n it d ng để kiểm tra chẵn lẻ huật to n mã ho ao gồm giai đoạn 46 ới từ cần mã ho x có độ d i 64 it tạo ra từ 0x cũng có độ d i 64 it ằng c ch ho n vị c c it trong từ x theo một ho n vị cho trước nitial ermutation iểu diễn 0 0 0( )x IP x L R  , 0L gồm it n phải của 0x . 0L 0R 2.13 c định c c cặp từ it iL , iR với i  6 theo quy tắc sau 1i iL R  (2.1)  1 1,i i i iR L f R K   (2.2) ới  iểu diễn ph p to n O tr n hai dãy it 1 2 16, ,...,K K K l c c dãy 4 bit ph t sinh từ kho K cho trước r n thực tế m i kho được ph t sinh ằng c c ho n vị c c it trong kho K cho trước .14 i iL R 1 1i iL R  v iK p dụng ho n vị ngược 1IP đối với dãy it 16 16L R thu được từ y gồm 6 bit. hư vậy 1 16 16( )y IP R L  . 47 m f được sử dụng ở ước l Hình 2.15: S hàm f m f gồm tham số ham số thứ nhất l một dãy it tham số thứ hai J l một dãy 4 it ết quả của h m f l một dãy it c ước xử l của h m f(A,J như sau  ham số thứ nhất it được mở rộng th nh dãy 4 it ằng h m mở rộng ết quả của h m l một dãy 4 it được ph t sinh từ ằng c ch ho n vị theo một thứ tự nhất định it của trong đó có 6 it của được lặp lại lần trong 48  hực hiện ph p to n O cho dãy 4 it v J ta thu được một dãy 4 it iểu diễn th nh từng nhóm 6 it như sau 1 2 3 4 5 6 7 8B B B B B B B B B  ử dụng ma trận 1 2 8, ,...,S S S m i ma trận iS có k ch thước 4x 6 v m i d ng của ma trận nhận đủ 6 gi trị từ đến 1 2 3 4 5 6jB bb b b b b . ( )j jS B được x c định ằng c c gi trị của phần tử tại d ng r cột c của jS trong đó ch số d ng r có iểu diễn nhị ph n l 1 6b b ch số cột c có iểu diễn nhị ph n l 2 3 4 5b b b b ằng c ch n y ta x c định được c c dãy 4 it ( ),1 8j j jC S B j   .  ập hợp c c dãy 4 it jC lại ta có được dãy it 1 2 3 4 5 6 7 8C C C C C C C C C . Dãy it thu được ằng c ch ho n vị C theo một quy luật nhất định ch nh l kết quả của h m J S o n vị khởi tạo sẽ như sau IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 iều n y có ngh a l it thứ của x l it đầu ti n của x it thứ của x l it thứ của x … 49 o n vị ngược IP -1 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 m mở rộng được đặc tả như sau - ảng chọn it 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 m ma trận 1S 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 50 2S 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 3S 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 11 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 7 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 14 10 5 2 12 4S 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 5 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 10 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 0 2 14 5S 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 0 14 2 13 6 15 0 9 10 4 5 3 51 6S 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 7S 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 11 4 10 7 9 5 0 15 14 2 3 12 8S 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 13 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 o n vị P 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 52 l x u có độ d i 64 it trong đó có 6 it d ng l m kho v it d ng để kiểm tra sự ằng nhau để ph t hiện l i c it ở c c vị tr 6 … 64 được x c định sao cho m i yte chứa số lẻ c c số vậy từng l i có thể được ph t hiện trong m i it c it kiểm tra sự ằng nhau l lược ỏ qua khi t nh kho c ước khi t nh to n kho iK : ho kho 64 it loại ỏ c c it kiểm tra v ho n vị c c it c n lại của tương ứng với ho n vị cố định - a viết -1(K) = 0 0C D với 0C ao gồm it đầu ti n của - v 0D l it c n lại ới i nằm trong khoảng từ đến 6 ta t nh: 1( )i i iC LS C  (2.3) 1( )i i iD LS D  (2.4) 2( )i i iK PC C D  (2.5) rong đó iLS iểu diễn ph p chuyển chu tr nh cyclic shift sang tr i hoặc của một hoặc của hai vị tr tu thuộc v o gi trị của i đẩy một vị tr nếu i hoặc 6 v đẩy hai vị tr trong những trường hợp c n lại - l một ho n vị cố định kh c 53 iệc t nh lịch kho được minh hoạ như sau Hình 2.16: S tạ khoá c ho n vị - - d ng để t nh to n kho tr n như sau PC-1 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 34 60 52 44 36 63 55 7 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 54 PC-2 14 17 11 24 1 5 13 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 50 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 2.3 2 ột mã khối l một chức năng to n học m nh xạ c c khối ản r n it th nh c c khối ản mật n it ở đó n l k ch thước khối ể việc thực hiện giải mã ra duy nhất th chức mã ho l sự nh xạ - h p nh xạ đảo ngược được định ngh a như l chức năng giải mã rong hầu hết c c mã khối qu tr nh mã ho v giải mã giống nhau tới mức m ta có thể sử dụng chung phần cứng ã khối mã ho ản r v o trong c c khối có k ch thước n it uy nhi n nếu ản tin có k ch thước vượt qu n it th có thể sử dụng c c chế độ hoạt động kh c ó 4 chế độ hoạt động mã khối 1. hế độ s ch mã điện tử 2. hế độ li n kết khối mã (CBC) 3. hế độ phản hồi mã 4. hế độ phản hồi đầu ra O Thường d ng D kết hợp với để tăng t nh ảo mật 55 rong chế độ hoạt động mọi khối ản r được cộng module với khối ản mật trước đó đã ghi th nh mã ho v dụ khối ản r đầu ti n 1p được mã ho để tạo ra 1c trước khi nó được mã ho th nh 2c hối ản r tiếp theo 2p được cộng module với khối ản mật 1c u tr nh được lặp lại cho tới khi kết th c ản tin Ở chế độ r r ng mọi khối ản mật phụ thuộc v o c c khối ản mật trước đó Hình 2.17: S kh ch ộ CBC ới việc ghi mã đầu ti n kh ng có ản mật ph a trước i trị vectơ khởi điểm được đưa v o l m gi trị phản hồi an đầu i trị kh ng cần ảo mật ới c c chế độ nhận được c c khối ản mật giống nhau nếu c ng ản r được được ghi mã sử dụng c ng kho v gi trị khởi tạo ếu hoặc kho hoặc vectơ khởi tạo hoặc khối ản r ị thay đổi th sẽ nhận được một ản tin mật kh c ản mật jc phụ thuộc v o jp v tất cả 56 c c khối ản r có trước đó n n việc giải mã c c khối ản mật cần được duy tr kh ng ị gi n đoạn iệc giải mã sửa l i y u cầu tất cả c c khối ản mật có trước được giải mã một c ch ch nh x c có sự phụ thuộc dữ liệu của tất cả c c khối ản r v ản mật n n nếu một khối ản r jp ị thay đổi trong qu tr nh ghi mã th nó sẽ ảnh hưởng tới tất cả c c khối ản mật tiếp theo vậy nó kh ng thể ghi mã nhiều khối song song với nhau huật to n của chế độ được m tả như sau hi mã 0c IV với 1 j t  , 1( )j k j jc E p c   iải mã 0c IV với 1 j t  , 1 1 ( )j j k jp c E c    ho k it gi trị khởi tạo n it c c khối ản r n it ( 1,...., tp p l đầu v o v 1,..., tc c l c c khối ản mật n it đầu ra kE v 1 kE  có ngh a l c c qu tr nh ghi mã v giải mã với kho tương ứng Dưới đ y l sơ đồ khối thực thi thuật to n D trên FPGA: 8 iện nay kẻ tấn c ng đã có thể ph mã D việc mã ho ằng giải thuật D kh ng c n an to n nữa Do đó để tăng t nh ảo mật th ta phải sử dụng thuật to n kh c như D … ong do t nh đơn giản của giải thuật D ta có thể sử dụng nó ở những ch cần độ ảo mật kh ng cao 57 lắm ghi n cứu giải thuật D cũng l cơ sở nền tảng để ta tiếp tục nghi n cứu c c giải thuật phức tạp hơn 2.4 SH -1) 2.4 SH -1 c h m ăm ảo mật đóng vai tr quan trọng trong việc mã ho hiện đại như một c ng cụ để cung cấp t nh to n v n v x c thực h i niệm cơ ản của một h m ăm l sự n n chu i t n hiệu đầu v o có k ch thước ngẫu nhi n th nh chu i t n hiệu đầu ra có k ch thước cố định thường nhỏ hơn nhiều k ch thước chu i v o ởi c c đặc t nh đã được m tả của một h m ăm ảo mật n n chu i đầu ra phản nh ằng một h nh ảnh đại diện đã được n n m duy nhất có thể nhận dạng chu i đầu v o ột h m ăm mật mã mạnh được y u cầu l một chiều v chống lại sự va chạm ột h m ăm l một hướng hay kh ng thuận nghịch nếu nó có thể t nh to n để nhận được từ phần n o đó của ản tin gốc ởi sự quan s t từ kết quả h m ăm i trị ăm có thể thay đổi đ ng kể ởi một sự thay đổi nhỏ cũng ởi ch một it trong ản tin đầu v o iều n y được gọi l hiệu ứng th c ự chống lại xung đột y u cầu để nó có thể t nh to n để x c nhận hai ản tin với c ng gi trị h m ăm ột h m ăm có c c thuộc t nh n y có thể được sử dụng để kiểm tra xem ản tin có ị sửa đổi hay không. ự kiểm tra để c c ản tin thu được đến từ nguồn đã được khẳng định v kh ng ị sửa đổi thường ao gồm k thuật của c c h m ăm ảo mật ể cung cấp c c dịch vụ ảo đảm t nh to n v n v nhận thực th mã nhận thực ản tin cũng được iết đến như l thường được sử dụng hi được sử dụng c ng với một h m ăm ảo mật tương ứng với mã nhận thực ản tin đã được ăm phụ thuộc v o một kho mật để cung 58 cấp c c dịch vụ ảo mật ếu ch có nguồn v đ ch iết kho th điều n y cung cấp cả sự nhận thực dữ liệu gốc v t nh to n v n dữ liệu cho c c gói đã gửi giữa hai nhóm - x c định r thuật to n ăm ảo mật cho việc t nh to n một đại diện ngắn gọn của một ản tin hoặc một file dữ liệu hi một ản tin có k ch thước 64 it ở đầu v o th thuật to n - tạo ra một đầu ra 6 it được gọi l ản tin tóm lược huật to n - được sử dụng để t nh to n một ản tin tóm lược cho c c phi n ản của ản tin trong qu tr nh thay đổi kho ột thuật to n ăm ảo mật có thể được gọi l ảo mật nếu nó kh ng thể t nh to n để t m ra một ản tin m tương đương với ản tin tóm lược đã cho hoặc để t m ra hai ản tin kh c nhau m tạo ra c ng ản tin tóm lược ột h m ăm ảo mật cần thiết l một chiều v chống được sự tắc nghẽn ặc iệt hơn để một h m ăm l một chiều nếu nó kh ng thể t nh to n để t m ra v i đầu v o x v dụ như x h 2.4 2 T SH -1 huật to n - có thể được m tả ở a trạng th i preprocessing message schedule v message digest calculation reprocessing ao gồm một phần đệm của ản tin sự ph n t ch ản tin đệm v o trong c c khối it v sự thiết lập c c gi trị an đầu được sử dụng trong việc t nh to n c c gi trị ăm i khối đệm it sau đó được mở rộng để thực hiện việc sắp xếp ản tin ự n n logic của ản tin tóm lược sử dụng c c ảng c ng với c c h m hằng số v c c qu tr nh hoạt động để tạo lặp lại một chu i c c gi trị ăm i một ảng được th m v o giữa c c gi trị ăm hiện thời nơi m c c v c tơ x c định gi trị ăm an đầu i trị ăm cuối c ng 59 được tạo ra ởi sự t nh to n gi trị ăm được sử dụng để x c định ản tin tóm lược Pre-Processing rước khi t nh to n c c gi trị ăm th ản tin an đầu được độn th m ục đ ch của việc độn th m l để chắc chắn rằng ản tin l một khối có k ch thước l ội của it trước khi t nh to n ản tin tóm lược ho ản tin có độ d i l it qu tr nh độn th m được thực hiện theo c ch sau h m it “ ” v o cuối ản tin sau đó th m k it “ ” ở đó k l nghiệm kh ng m nhỏ nhất của phương tr nh l + 1 + k = 512 mod 448. Sau đó th m khối 64 it đại diện cho k ch thước ản tin ch thước của ản tin đã được độn y giờ l ội của it hi m i khối đã được ph n t ch có thể được iểu diễn ằng 6 từ it m i từ có thể được x c định ởi c c ch số sau 0 1,M M … 15M . Message Schedule essage schedule được mở đầu ằng việc mở rộng khối it dữ liệu th nh một chu i từ it i message schedule được n n li n tiếp ởi ản tin tóm lược để tạo th nh c c gi trị ăm trung gian essage schedule ắt nguồn từ khối it có thể được iểu diễn ởi c ng thức (2.6) dưới đ y: 0 15t  16 79t  (2.6) Message digest hức năng n n ản tin hoạt động tr n ảng ph n ố ản tin để tạo ra một h nh ảnh n n 6 it của m i khối dữ liệu essage digest được khởi tạo với từ it để thực hiện sự n n an đầu essage digest xử l lần lượt từng message schedule n dưới một tập hợp c c ph p to n n n m i t 1 t-3 t-8 t-14 t-16 w (w w w w ) tM ROTL       60 từ tạo c c gi trị ăm trung gian sau khi việc xử l m i khối it kết th c - sử dụng h ng loạt c c ph p to n để n n m i message schedule v gi trị ăm trung gian tức thời để tạo ra c c gi trị ăm 6 it trung gian  c ph p to n logic , , ,     h p cộng modul từ it  h p dịch tr i O x(n) c ph p to n logic được thực hiện ở ước phi tuyến phụ thuộc v o h m ( , , )tf B C D ước n y phụ thuộc v o c c h m được x c định trong ảng dưới đ y tf i ước sử dụng một hằng số cộng tK ằng số được sử dụng trong m i ước được cho trong ảng dưới đ y v được iểu diễn dưới dạng c c gi trị hexa 61 c ộ đệm lưu giữ c c gi trị ăm trung gian được khởi tạo với c c gi trị trong ảng dưới đ y ạ Message Digest Computation ản tin tóm lược sử dụng ảng ph n ố ản tin của từ it iến l m việc của m i từ it v một ộ đệm cho gi trị ăm của từ it ơ đồ t nh to n ản tin tóm lược được thấy trong h nh dưới đ y 62 Hình 2.19: S kh gi thu t SHA_1 hia ước của thuật to n th nh 4 chu tr nh i chu tr nh có cấu tr c giống nhau nhưng sử dụng c c h m phi tuyến kh c nhau iệc t nh to n của m i khối it được thực hiện trong ước rong m i ước iến l m việc D được t nh to n như sau 1) 5 1 t( ) ( , , ) wt t tA ROTL A f B C D E K      (2.7) 2) 1tB A  (2.8) 3) 30 1 ( )tC ROTL B  (2.9) 4) 1tD C  (2.10) 5) 1tE D  (2.11) 63 au khi c c khối dữ liệu đã được xử l đầu ra của ước thứ được cộng một c ch độc lập để tạo ra gi trị ăm trung gian mới h p cộng modulo từ it được iểu diễn như sau 1) 1 0 0 i iH A H   (2.12) 2) 1 1 1 i iH B H   (2.13) 3) 1 2 2 i iH C H   (2.14) 4) 1 3 3 i iH D H   (2.15) 5) 1 4 4 i iH E H   (2.16) au khi c c ước từ tới lặp lại lần số khối it của ản tin th kết quả tạo ra ản tin tóm lược 6 it của ản tin an đầu l ( ) ( ) ( ) ( ) ( ) 0 1 2 3 4 N N N N NH H H H H Dưới đ y l sơ đồ khối thuật to n thực hiện tr n 20 64 2 Trong chương n y đã tr nh y c c vấn đề cơ ản về mã ho tổng quan về c ng nghệ ặc iệt đi s u v o hai thuật to n D v cho việc mã ho v x c thực dữ liệu m sẽ được sử dụng trong việc thiết kế thiết ị ảo mật rong chương sẽ tr nh y c c ước thiết kế module truyền th ng thernet v module ảo mật 65 hương THIẾT Ế THIẾT Ị ẢO ẬT IP SỬ ỤN ÔN N HỆ P 3.1 3.1.1 P IS y l c ng cụ phần mềm cho ph p thiết kế v m phỏng v D dưới dạng ng n ngữ phần cứng D l một m i trường tổng hợp v thực thi một c ch to n diện cho c c chip logic khả tr nh của ilinx ới người thiết kế có thể lập tr nh g rối m phỏng dịch v nạp cấu h nh một c ch nhanh chóng dễ d ng Q * : ới t nh năng của c c sản phẩm đưa ra của ilinx phần mềm ntergrated software nvironment đã l m cho thiết kế dễ d ng hơn với logic lập tr nh được c thiết kế có thể được m tả một c ch dễ d ng v nhanh chóng ằng việc sử dụng ng n ngữ m tả DL, Verilog TM hoặc với một đóng gói từ sơ đồ nguy n l iệc lấy thiết kế từ sơ đồ nguy n l ch nh l phương ph p truyền thống m người thiết kế sử dụng để ấn định mảng c c cổng v c c thiết ị logic lập tr nh được ó l c ng cụ đồ hoạ v cho ph p ấn định ch nh x c c c cổng được y u cầu v c ch nối ch ng như thế n o Dưới đ y l 4 ước cơ ản của một thiết kế sử dụng từ sơ đồ nguy n l 1. au khi lựa chọn c ng cụ để tạo sơ đồ nguy n l v thư viện c c thiết ị ắt đầu x y dựng mạch ằng việc tải c c cổng mong muốn từ thư viện đã được chọn ó thể sử dụng ất k một tổ hợp cổng cần thiết n o c n y cần phải chọn một thư viện họ c c thiết ị ph n phối r r ng nhưng có thể kh ng cần phải thiết ị n o trong họ đó ề cơ 66 ản ch sử dụng với sự quan t m về đóng gói v tốc độ của ch ng l đủ 2. ối c c cổng lại với nhau ằng việc sử dụng c c mạng v d y nối o n tất việc điều khiển nối c c cổng theo ất cứ cấu h nh n o m cần cho ứng dụng 3. ưa th m v đặt t n cho c c ộ đệm đầu v o v đầu ra c c nhãn n y sẽ ch r c c ch n trong đóng gói v o ra của thiết ị 4. ạo danh s ch mạng c c đường nối của mạch 3.1.2 P D l c ng cụ phần mềm nh ng th ng thường được ứng dụng cho c c c ng cụ được y u cầu d ng để tạo soạn thảo dịch tải v g rối c c mã ng n ngữ ậc cao như ++ được d ng trong c c ộ m y xử l n o đó y l một c ng cụ h trợ việc x y dựng một hệ thống nh ng trong như vi xử l mềm icro laze cho tất cả họ v vi xử l cứng ower d nh ri ng cho họ irtex). D kh ng ch gi p người sử dụng dễ d ng tạo ra c c vi xử l nh ng m c n h trợ thiết kế giao tiếp với c c thiết ị một c ch dễ d ng với một thư viện ngoại vi đồ sộ hờ ộ thư viện n y D cho ph p vi xử l có thể thực thi ất cứ một nhiệm vụ n o m c c vi xử l th ng thường có thể thực hiện được như giao tiếp thernet c c ộ nhớ O c c ộ imer ounter giao tiếp c c cổng O … gười d ng cũng có thể tự x y dựng c c thư viện ngoại vi ri ng tu theo nhu cầu sử dụng 67 3.1.3 S -3E 1: Bo Spartan-3E S -3E Starter Kit - Xilinx XC3S500E Spartan-3E FPGA ch n v o ra cho người d ng tự định ngh a óng gói ch n kiểu ơn khối logic - ộ nhớ O ứng dụng c ng nghệ 4 it của ilinx có thể định cấu h nh - Xilinx 64-macrocell XC2C64A CoolRunnerTM CPLD - ộ nhớ DD D 64 yte x 6 data interface, 100+MHz - 6 yte ộ nhớ ứng dụng c ng nghệ O - 6 its ộ nhớ sử dụng giao tiếp - ổng cần thiết lập ở 68 - ai giắc cắm - ch n D v D - ổng để nạp chương tr nh v g rối. - O chuẩn giao tiếp d y nối tiếp có t ch hợp m dun ảo mật SHA_1. - go i ra c n có rất nhiều ngoại vi kh c 2 T T P IP P iến tr c của ộ giao thức được chia th nh 4 tầng cơ ản m i tầng giải quyết một tập c c vấn đề kh c nhau trong việc truyền th ng sử dụng  ầng ứng dụng h trợ c c ứng dụng cho giao thức tầng giao vận host - to - host ầng n y cung cấp một giao diện người d ng tr n m y t nh v thực thi c c ứng dụng như truy cập từ xa truyền file), HTTP (webserver, chat)...  ầng giao vận gồm giao thức ch nh l v D iao thức l giao thức kết nối hướng li n kết song c ng chịu tr ch nhiệm ảo đảm t nh ch nh x c v độ tin cậy cao iao thức D kh ng h trợ t nh năng kiểm so t l i nhưng nhanh hiệu quả hơn với mục ti u k ch thước nhỏ v y u cầu khắt khe về thời gian  ầng mạng ho ph p kết nối mềm dẻo v linh hoạt đến c c loại mạng vật l kh c c giao thức ch nh trong tầng n y l cung cấp địa ch logic cho giao diện vật l mạng v nh xạ giữa địa ch vật l v địa ch logic chuẩn đo n l i li n kết đến  ầng truy cập mạng ung cấp địa ch vật l c c giao thức truy nhập đường truyền cung cấp c c dịch vụ cho tầng mạng ph n đoạn th nh c c khung Dựa tr n kiến tr c n y việc thiết kế giao thức cần giải quyết vấn đề ch nh đó l thiết kế l i h trợ tầng truy cập mạng hardware 69 layer v l i h trợ giao thức c ng lớp ứng dụng tr n đó software layer rong đó tầng truy cập được h trợ ởi một chip điều khiển lớp vật l v c c l i ethernetlite tecmac ầng giao thức có thể thực hiện ằng c c l i mã nguồn mở v dụ như lw 3.2.1 T PHY ầng truy cập mạng được x y dựng từ th nh phần cơ ản l ộ truyền th ng lớp vật l v ộ điều khiển truy cập phương tiện (MAC). Bo partan- có sẵn chip thiết kế lớp vật l phục vụ giao tiếp thernet của tandard icrosystems v cổng J-45. ới phần điều khiển truy cập phương tiện được thực thi tr n bo mạch có thể tu chọn kết nối với chuẩn mạng thernet ể cung cấp xung clock cho chip ta d ng ộ dao động thạch anh tần số 25 MHz. 2 -45 70 3.2.2 T T P IP IP 3.2.2.1 T W IP wip l một mã nguồn mở h trợ thiết kế lớp cho c c driver phần cứng do iện khoa học m y t nh wedish nghi n cứu v ph t triển rọng t m của ứng dụng lwip l giảm việc sử dụng trong khi đó vẫn có đầy đủ t nh năng của tầng giao thức wip v a l một thư viện của D được x y dựng tr n thư viện mã nguồn mở lwip phi n ản wip v a tương th ch c c l i h trợ tốc độ v xps ll tecmac h trợ ồng thời l i n y có thể chạy tr n nền vi xử l icro laze hoặc ower 4 v 44 wip h trợ hai kiểu giao diện lập tr nh ứng dụng phụ thuộc v o y u cầu i to n thiết kế đó l  iao diện aw cho ph p tối ưu ho việc xử l  iao diện socket dễ d ng cho việc sử dụng 2 2 2 IP w h trợ c c chuẩn giao thức sau đ y:  c giao thức ở lớp - TCP (Transmission Control Protocol) - UDP (User Datagram Protocol)  c giao thức ở lớp - IP (Internet Protocol) - ICMP (Internet Control Message Protocol) - ARP (Address Resolution Protocol) - DHCP (Dynamic Host Configuration Protocol) 71 hư vậy lw h trợ tất cả c c giao thức cơ ản trong tầng c giao thức kh c cũng có thể x y dựng một c ch dễ d ng dựa tr n nền lwIP. . 3.2.3 T W S - S 3.2.3.1 e server l một tr nh ứng dụng thiết kế một trang e ột e server có thể được sử dụng trong việc điều khiển v gi m s t một hệ thống nh ng th ng qua tr nh duyệt e rowser “ hiết kế e server tr n partan- tarter it v D ” ao gồm c c ước sau đ y  ử dụng ase ystem uilder để thiết kế phần cứng  ổng hợp v nạp cấu h nh phần cứng v o  ạo mới dự n phần mềm  ạo inker- cript i n dịch thư viện v ứng dụng  ải ứng dụng v o ộ nhớ v chạy chương tr nh 3.2.3.2 T hiết kế phần cứng ằng ase ystem uilder au đ y l sơ đồ phần cứng cần thiết kế tr n partan-3E: 72 3 hạy ilinx platform tudio lựa chọn để tiếp tục hấp O rồi lựa chọn thư mục để lưu “project” h sản xuất ilinx oại o mạch partan-3E Starter board hi n ản của o D 64 DD ộ vi xử l icro laze ối với partan- lựa chọn duy nhất l ộ vi xử l mềm icro laze y l ộ vi xử l it có h trợ ngắt h ng ta có thể lựa chọn c c tu chọn cho ộ vi xử l như sau - ốc độ z mặc định - On-chip H/W debug module - Local memory cho lệnh v dữ liệu 6 sử dụng - No-cache : ựa chọn cấu h nh cho cổng D để kết nối m y t nh v D để kết nối thiết ị ngoại vi - ốc độ 6 ps it data no-parity - ử dụng - h ng sử dụng ngắt 73 Ds- it D witches 4 it v uttons 4 it sử dụng O kh ng sử dụng ngắt sử dụng DD D sử dụng thernet sử dụng sử dụng ngắt T : rong dự n n y t i th m v o thiết ị để tạo nhịp cho lw đ i hỏi ngắt ST IO ử dụng D l m cổng hiển thị chuẩn v o v ra chọn chương tr nh kiểm tra ộ nhớ thiết ị ộ nhớ được kiểm tra l DD D h ng tin về hệ thống được thiết lập như sau 74 75 Sinh Ne họn trong D Hardware  Generate Netlist Hardware  Generate Bitstream T P ết nối o mạch với m y t nh qua c p chuẩn ật nguồn của o au khi kết nối xong ta tải cấu h nh phần cứng v o trong ằng c ch chọn trong D Device Configuration  Dowload Bitstream ến đ y ta kết th c qu tr nh thiết kế phần cứng 3.2.3.3 T m hần n y ao gồm c c ước  ấu h nh m i trường ph t triển cho c c ứng dụng phần mềm  i n dịch thư viện  ạo dự n phần mềm  i n dịch phần mềm  hạy thử phần mềm 3.2.3.3.1 S iệc cấu h nh được thực hiện ằng c ch chọn trong “ oftware  oftware latform ettings” hần n y có 4 mục m i mục d ng để cấu h nh c c diện mạo cấu th nh Software Platform có c c lựa chọn  OS: standalone  Use Libraies: lwIP (3.0); xilmfs OS and Libraries cần ch định c c tham số sau  CONSOLE: RS232 DCE  lw chế độ l m việc của lw l 76  Xilmfs: Need_utils : TRUE Init_type : MFSINIT_IMAGE Base_address: 0x8c200000 Numbytes : 16480000 Drivers có c c phi n ản tu theo ộ phần mềm 3.2.3.3.2 h ng ta thực hiện việc i n dịch thư viện ằng c ch chọn trong Software  Generate Libraries and BSPs chạy i gen v tạo c ng với c c tr nh điều khiển thiết ị thư viện cấu h nh D DO v tr nh xử l ngắt tương ứng với thiết kế 3.2.3.4 P T h ng ta thực hiện việc tạo mới phần mềm ằng c ch chọn trong XPS: Software  Add Software Application Project hập t n của dự n we server sau khi nhấp O sẽ tạo ra dự n phần mềm ứng dụng T ần lượt nh y đ p v o phần ources v eaders của dự n “we server” được lưu trong thư mục “apps” c tệp thuộc dự n “apps” ao gồm  Sources: main c tệp gọi chương tr nh khởi tạo mạng we server c thiết lập connection web_utils.c một số h trợ cho we server http response c c c h m sinh esponde 77 platform c khởi tạo hệ thống ngắt … platform fs c khởi tạo platform gpio c khởi tạo O  Headers: webserver.h, platform.h, platform_fs.h, platform_gpio.h h ng ta thực hiện việc i n dịch ứng dụng của người d ng ằng c ch chọn trong Sofware  Build All User Applications hương tr nh “m -gcc” sẽ thực hiện việc i n dịch tất cả c c dự n phần mềm S ng dụng e server đ i hỏi phải có sẵn một số tệp nội dung th ng thường l c c tệp ảnh tệp … a chuẩn ị sẵn c c tệp n y v lưu v o trong emory file system theo c c ước sau đ y  rong chọn De ug  aunch D… rong cửa sổ % D thực hiện c c lệnh cd memfs t m đường dẫn rm ../image.mfs (rời file image mfs cũ đi mfsgen –cvbfs ../image.mfs 10240 index.html css js yui images tạo file image.mfs)  rong cửa sổ % D thực hiện lệnh tải image mfs v o ộ nhớ dow –data image.mfs 0x8c200000 - i trị 4 l số lock d nh cho i lock mặc định l byte. - i trị x c l địa ch ắt đầu của image mfs trong DD - D i trị n y tương ứng với khai o Driver xilmfs T 78 c chương tr nh có k ch thước nhỏ có thể tải v chạy trực tiếp trong ộ nhớ của c n c c chương tr nh có k ch thước lớn hơn phải tải v o ộ nhớ ngo i DD - D v chạy từ v ng ộ nhớ đó au đ y l c ch tải v chạy chương tr nh ứng dụng e server  rong chọn De ug  aunch D… rong cửa sổ % D thực hiện c c lệnh tải cd webserver dow executable.elf  hực hiện chạy ứng dụng con  Dừng ứng dụng stop  ho t khỏi D ằng lệnh Exit W rong m y trạm mở ứng dụng e rowser v g đến địa ch (gi trị n y mặc định do tệp nguồn “main c” quyết định rang e sẽ xuất hiện 79 5 80 3.3 T IP T P IP iao thức sec l một giao thức thuộc lớp tuy nhi n nó kh ng được lw h trợ vậy ta cần ổ sung giao thức n y dựa tr n nền có sẵn được thiết kế ởi lw 6: ộ ể nh ng sec v o trong giao thức ta cần ch n th m một tr nh điều khiển thiết ị Ipsecdev v o giữa driver lớp li n kết emaclite v driver lớp lw Driver n y nằm trong file ipsecdev.c v đảm nhận việc điều khiển v xử l to n ộ gói v o ra odule sec đặt trong file ipsecdev.c đảm nhận nhiệm vụ đóng gói dữ liệu theo chuẩn sec khi driver ipsecdev y u cầu odule n y sẽ gọi tới c c ảng D v D để x c định ch nh x c giao thức đóng gói dữ liệu hoặc u tr nh đóng gói dữ liệu được thực hiện trong module ah.c v esp.c c module n y thực hiện t ch phần dữ liệu v gọi thư viện 81 mã ho gồm c c file des.vhd, sha_1.vhd … để sử dụng dịch vụ ảo mật v x c thực sau đó đóng gói theo c c giao thức sec v gửi trở lại module ipsec. 3.3.1 T IP r nh điều khiển thiết ị sec ipsecdev được thiết kế như l một driver cho thiết ị ảo Driver n y được ch n v o giữa driver lớp vật l v driver để điều khiển phương thức hoạt động cho c c gói dữ liệu v o ra iải ph p n y sẽ tr nh việc phải ch nh sửa l i lw theo hướng xử l sec đồng thời cho ph p chương tr nh có thể tương th ch với ất k một l i n o kh c rong trường hợp sử dụng l i lw driver n y được th m v o ằng h m netif_add h m khởi tạo lớp mạng có sẵn trong thư viện lw 7 ạ ộ IPsec. hi driver lớp vật l emaclite nhận được dữ liệu từ thernet nó sẽ đưa gửi gói tin n y đến ipsecdev th ng qua h m ipsecdev_input u thuộc v o c c trường trong header của gói dữ liệu driver n y sẽ quyết định 82 gửi tới c c giao thức kh c nhau trong lớp ếu gói dữ liệu theo chuẩn giao thức sec nó sẽ chuyển tới module sec trong file ipsec.c th ng qua h m ipsec_input ại đ y gói dữ liệu mới v o cấu tr c ộ nhớ p uf của uối c ng gói dữ liệu n y được đưa tới lw th ng qua h m ip_input v xử l theo chuẩn th ng thường ối với gói dữ liệu đầu ra to n ộ gói dữ liệu đóng gói theo chuẩn giao thức sẽ đưa tới module ipsecdev th ng qua h m ipsecdev_output ại đ y dữ liệu sẽ được quyết định xem có cần ổ sung sec hay kh ng ếu dữ liệu cần theo chuẩn sec th nó sẽ được đưa tới module sec v đóng gói dựa v o tương ứng đã x c định trước từ trong ảng D uối c ng gói dữ liệu được đưa tới driver lớp vật l v gửi l n thernet 3.3.2 T sec sử dụng một ảng cơ sở dữ liệu ch nh s ch ảo mật (SPD) để lưu giữ c c ch nh s ch xử l với từng c c gói r nh điều khiển thiết ị ipsecdev sẽ tra ảng n y để kiểm tra xem gói tin v o ra có cần sử dụng giao thức sec hay kh ng ột ảng dữ liệu kh c được gọi l ảng cơ sở dữ liệu li n kết ảo mật (SAD) lưu giữ th ng tin li n quan tới cấu h nh của từng kết nối ảng n y được sử dụng để x c định c c th ng số như giao thức đóng gói thuật to n mã ho x c thực …cho gói tin khi ảng D x c định sử dụng IPsec. 3.3.2.1 X hi một gói tin đưa đến hệ thống có cấu h nh sec ước đầu ti n l tra ảng D để x c định xem xử l gói tin như thế n o ếu kh ng sử dụng sec th gói tin được đưa tới driver thiết ị hoặc trả về stack 83 kh ng l m ất cứ việc g rong trường hợp sử dụng sec gói tin phải xử l theo li n kết ảo mật được trả về từ ảng tra D ếu kh ng có n o được ph p chức năng sẽ được gọi rong trường hợp gi trị có trong D gói tin n y được đóng gói theo giao thức hoặc dựa tr n th ng số au khi gói tin đã xử l sec nó sẽ được gửi l n thernet đến địa ch cần nhận 8 3.3.3.2 X u tr nh xử l gói tin đầu v o có hơi kh c v gói dữ liệu đóng gói theo chuẩn sec nhận được sẽ k m theo gi trị cho ph p tra trực tiếp tới ảng D ảng tra D sẽ trực tiếp gửi trả lại nếu t m thấy ếu kh ng t m được th ch hợp th gói tin sẽ được hu ỏ ới gi trị hợp lệ ta có thể xử l gói tin theo chuẩn sec ói tin được mở gói trong giao thức hoặc x c thực trong giao thức au khi mở gói xong ta sẽ có văn ản gốc hoặc gói dữ liệu đã được x c thực ể đảm ảo gói tin sử dụng c c th ng số ch nh x c ta thực hiện tra 84 ảng D để kiểm tra xem có gi trị D n o hợp lệ cho kh ng ếu kh ng t m thấy gi trị hợp lệ hoặc trỏ tới gi trị kh c gói tin sẽ ị xo uối c ng gói tin được gửi tới lớp để xử l như gói th ng thường 9 85 3.3.4 T H iao thức cung cấp cho ta việc x c thực dữ liệu gốc cũng như t nh to n v n của gói đó c giải thuật x c thực thường d ng như D v Dưới đ y l ản đồ ph n v ng ộ nhớ cho gói sử dụng giao thức 10 ộ . uy tr nh đóng mở gói đặt trong module ah c thực thi hai nhiệm vụ cơ ản xử l gói dữ liệu đầu v o mở gói v xử l gói dữ liệu đầu ra đóng gói ai th nh phần n y được thực thi trong c c h m con sau  ipsec ah check h m kiểm tra t nh to n v n của gói dữ liệu ằng c ch sử dụng thuật to n h m ăm kết hợp kho c ng cộng để kiểm tra chống tấn c ng lặp lại  ipsec ah encapsulate thiết lập một giao thức v phần header mới đặt ở ph a tr n của gói tin v t nh to n h m ăm để đảm ảo kiểm tra t nh to n v n của dữ liệu 3.3.5 T SP iao thức cung cấp cả t nh năng ảo mật lẫn x c thực cho c c gói dữ liệu Dưới đ y l ản đồ ph n v ng ộ nhớ cho gói sử dụng giao thức 86 11 ộ uy tr nh xử l đặt trong module esp c cũng thực thi hai nhiệm vụ cơ ản xử l gói dữ liệu đầu v o v xử l gói dữ liệu đầu ra ai th nh phần n y được thực thi trong c c h m  ipsec_esp_check( h m kiểm tra nội dung của header tu chọn kiểm tra gi trị x c thực v chống tấn c ng lặp lại đồng thời thực hiện việc giải mã gói dữ liệu ằng kho mật  ipsec_esp_encapsulate( thiết lập một giao thức mới mã ho dữ liệu v tu chọn t nh to n gi trị trong trường hợp cần x c thực rong chương n y đã tr nh y c c ước thiết kế module truyền th ng thernet thiết kế c c module cơ ản cần thiết để thiết kế thiết ị ảo mật rong đó module truyền th ng thernet đã được thực tế ho th nh c ng tr n o mạch partan-3E. 87 ẾT UẬN rải qua hơn a th ng nghi n cứu miệt m i với a chương đồ n đã tr nh y được tổng quan về mạng ri ng ảo giao thức sec mã ho v c ng nghệ đặc iệt l thiết kế được module truyền thông Ethernet dùng FPGA Spartan-3E của Xilinx; thiết kế module bảo mật, xác thực và các module cơ bản khác để xây dựng thiết bị IPsec sử dụng công nghệ FPGA; thực tế hoá được module truyền thông Ethernet ừ đó hướng ph t triển của đồ n có thể l  o n thiện việc thiết kế thiết ị ảo mật cho mạng ri ng ảo  h t triển c c thuật to n mã ho nhằm đ p ứng nhiều i to n ảo mật  ưa thiết kế sec v o trong c c hệ điều h nh nh ng có khả năng ảo mật cao Do thời gian v khả năng c n hạn chế n n đồ n kh ng tr nh khỏi những thiếu sót ất mong được sự đóng góp của c c thầy c v c c đồng ch ột lần nữa em xin gửi lời cảm ơn ch n th nh tới c c thầy c v c c ạn đặc iệt l sự hướng dẫn tận t nh của thầy N T đã gi p em ho n th nh đồ n n y 88 TÀI IỆU TH HẢO 1. guyễn ăng ường i o tr nh ộ m n điều khiển tự động ọc viện năm 2. o ng ăn ảo ảo mật mạng d ng giao thức 3. Dương nh ức ã ho v ứng dụng hoa c ng nghệ th ng tin ại học quốc gia tp 4. Cheung Yu Hoi Ocean, Implementation of an FPGA Based Accelerator for Virtual Private Networks, The Chinese University of Hong Kong, 2002 5. Man Young Rhee, Internet Sercurity, 2003 6. Douglas L.Perry, VHDL, The McGraw- Hill Companies, 2002 7. Jen-Peter Kaps, High Speed FPGA Architecturetures for the Data Encryption Standard, 2001 8. Nazar A. Saqib, A Compact and Efficient FPGA Implemetation of the DES Algorithm, 2003 9. Roar Lien, FPGA implementations of SHA-1 sercure hash standard, 2003 10. Michael Weleschenbach, Crytography in C and C++, 2001 89 Ụ Ụ Ờ Ó Ầ .............................................................................................. 1 hương Ạ Ê ẢO À O ec ...................... 3 ổng quan về mạng ri ng ảo .............................................................. 3 c m h nh mạng ri ng ảo ......................................................... 3 1.1.2 ặc điểm của mạng ri ng ảo ........................................................ 5 ảo mật mạng ri ng ảo ....................................................................... 6 c giao thức sử dụng cho .................................................. 7 ổng quan về giao thức ........................................................... 8 ảo mật giao thức nternet ec ............................................ 18 hương MÃ HOÁ VÀ FPGAs .......................................................... 34 ã ho .............................................................................................. 34 ổng quan về mã ho .................................................................. 34 2.1.2 C c phương thức mã ho ............................................................. 34 huật to n sử dụng trong chứng thực dữ liệu ............................. 36 ổng quan về c ng nghệ ....................................................... 37 iới thiệu ..................................................................................... 37 c họ cơ ản của ............................................................ 38 2.2.3 ng dụng ..................................................................................... 43 4 iệu quả của trong l nh vực ảo mật .............................. 43 huật to n chuẩn mã ho dữ liệu ...................................................... 45 tả thuật to n D ................................................................. 45 c chế độ hoạt động mã khối ................................................... 54 4 iải thuật ăm ảo mật -1) ..................................................... 57 4 iới thiệu về giải thuật -1 .................................................. 57 4 huật to n -1 ...................................................................... 58 hương Ế Ế Ế Ị ẢO Ậ Ử DỤ .................. 65 Ô Ệ .................................................................................. 65 90 c c ng cụ được sử dụng trong thiết kế ........................................ 65 hần mềm .................................................................... 65 hần mềm D .................................................................. 66 iới thiệu về oart partan-3E ................................................... 67 hiết kế giao thức tr n .............................................. 68 hiết kế tầng truy cập mạng sử dụng l i thernet ............ 69 hiết kế tầng sử dụng l i lw ...................................... 70 hiết kế e server tr n partan- tarter it v D .. 71 hiết kế em edded sec tr n nền ....................................... 80 r nh điều khiển thiết ị sec ................................................... 81 hiết kế cơ sở dữ liệu ch nh s ch ảo mật v li n kết ảo mật . 82 4 hiết kế module đóng mở gói theo giao thức ..................... 85 hiết kế module đóng mở gói theo giao thức .................... 85 À Ệ ẢO ........................................................................... 88

Các file đính kèm theo tài liệu này:

  • pdfDo an.pdf
Luận văn liên quan