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.
90 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2686 | Lượt tải: 4
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:
- Do an.pdf