Với kịch bản trên, cả hai cuộc tấn công này đều đƣợc phòng tránh. Chúng ta có thể xem lại các cuộc tấn công có thể xảy ra nhƣ thế nào cho các thuê bao. Khi kẻ tấn công có đƣợc các dữ liệu ban đầu mà một thuê bao gửi đến BS lần đầu tiên,
Message 1: SS BS: Cert (SS) (Auth Req message) | Capabilities | SSID | TS
Message 2: BS SS: KUSS (AK) | SeqNo | Lifetime | SAIDList | BSID | BS_Code
71 kẻ tấn công có thể có đƣợc một bản sao của nó và cố gắng để gửi dữ liệu đó đến BS nhiều lần. BS sau đó xem xét SS ban đầu nhƣ là một một SS giả mạo và từ chối dịch vụ. Tuy nhiên, trong kịch bản đề xuất này, những kẻ tấn công không thể gửi dữ liệu đó đến BS có sử dụng một dấu thời gian (time stamp). Vì sử dụng time stamp, các BS sẽ không cho phép bất kỳ dữ liệu không đƣợc mã hóa nào gửi đến nó. BS biết khóa công khai của SS, BS sẽ chấp nhận các dữ liệu đƣợc mã hóa từ SS đó.Và kẻ tấn công sẽ không dễ để giải quyết vấn đề dấu thời gian. Vì vậy, cuộc tấn công man in middle attack và từ chối dịch vụ có thể dễ dàng đƣợc phòng tránh.
72
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
Hiện nay, thế giới công nghệ nói chung, mạng máy tính có dây và mạng không dây nói riêng phát triển với tốc độ chóng mặt. Công nghệ mạng di động băng thông rộng còn khá mới mẻ đối với nƣớc ta, một đất nƣớc có nền công nghệ thông tin mới ở mức đang phát triển so với mặt bằng chung của thế giới trong thời điểm hiện tại. Nhƣng với tốc độ phát triển nhanh chóng của công nghệ mạng không dây, cũng nhƣ ngành học cần tới sự tiên phong tìm hiểu công nghệ mới, tôi đã lựa chọn tìm hiểu và làm luận văn tốt nghiệp về vấn đề tìm hiểu điểm yếu bảo mật và giải pháp đảm bảo an ninh cho mạng di động băng thông rộng này.
Đề tài đã đề cập đến những khái niệm cơ bản về mạng di động băng thông rộng, công nghệ WIMAX là công nghệ chủ yếu trong mạng này, cũng nhƣ đã nêu ra đƣợc một số nhƣợc điểm về bảo mật và đề xuất giải pháp khắc phục. Trong các giải pháp đó, đề tài cũng tìm hiểu, đánh giá và chọn kỹ thuật mã hóa RSA , cải tiến thuật toán để viết chƣơng trình mô phỏng minh họa.
Do sự công nghệ khá mới mẻ và đang đƣợc nghiên cứu và phát triển cùng với sự giới hạn về kiến thức nên luận văn còn nhiều thiếu sót. Tôi chƣa đề cập đƣợc đầy đủ các vấn đề cần nêu. Do đó rất mong thầy cô và các đồng nghiệp đánh giá, giúp đỡ cũng nhƣ tạo điều kiện cho tôi tìm hiểu thêm về đề tài này trong thời gian tới, nhằm phần nào giúp cho việc đảm bảo an ninh mạng di động băng thông rộng ngày một tốt hơn.
73
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1]. PHẠM HUY ĐIỀN, HÀ HUY KHOÁI, Mã hoá thông tin cơ sở toán học và ứng dụng, Viện toán học,2004.
[2]. NGUYỄN NAM HẢI, PHẠM NGỌC THUÝ, ĐÀO THỊ HỒNG
VÂN, Chứng thực trong thương mại điện tử, Nhà xuất bản khoa học và kỹ thuật, 2004.
[3]. PHAN ĐÌNH DIỆU, Giáo trình lý thuyết mật mã và an toàn thông tin, Nhà xuất bản Đại học Quốc Gia Hà nội, 1999.
[4] Trần Duy Lai, "Mã hóa dựa trên định danh", Tạp chí An toàn thông tin số 4/2009 - ISSN 1859-1256
Tiếng Anh
[5]. A.MENEZES, P.VAN OORSCHOT, AND S. VANSTONE, Handbook of Applied Cryptography, CRC Press, 1996. See www.cacr.math.uwaterloo.ca/hac
[6]. CAY S.HORSTMANN GARY CORNELL, Core Java2Volume II, Advanced Features, The Sun Microsystem press Java Series, 1996
[7]. DOUGLAS R.STINSON, Cryptography theory and practice Second Edition, It was published in March, 1995, by CRC Press, inc
[8]. Website: CHILKAT SOFTWARE INC., http://www.chilkatsoft.com/
[9]. Jeffrey G. Andrews, Arunabha Ghosh, Rias Muhamed, Fundamentals of
WIMAX, Prentice Hall Communications Engineering and Emerging Technologies Series,
2007.
[10] Mohammad Hossain, Analysis and Assessment the Security Issues of IEEE 802.16/WiMax Network. School of Electrical Engineering Blekinge Institute of Technology SE – 371 79 Karlskrona, Sweden, 2011.
74
PHỤ LỤC MÃ NGUỒN CỦA CHƢƠNG TRÌNH Mã nguồn của máy SS:
<!DOCTYPE html> <html>
<head>
<title><%= title %></title> <!--Import materialize.css-->
<link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection" />
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> </head>
<body> <nav>
<div class="nav-wrapper">
<a href="/" class="brand-logo">Lê Đức Huy</a>
<ul id="nav-mobile" class="right hide-on-med-and-down"> <li><a href="/client">SS</a></li>
<li><a href="/server">BS</a></li> <li><a href="/keytool">Giải mã</a></li> <li><a href="/generate">Tạo Key</a></li> </ul>
</div> </nav>
<div class="container"> <div class="row"></div>
75 <div class="row"> <h4>SS (<%- computerName %>)</h4> </div> <form class="col s12"> <div class="row">
<div class="input-field col s4">
<input id="username" type="text" name="username" value="admin"> <label for="username">Username</label>
</div> </div>
<div class="row">
<div class="input-field col s4">
<input id="password" type="password" name="password" value="admin"> <label for="password">Password</label>
</div> </div>
<div class="row">
<button class="btn waves-effect waves-light" type="submit"> Gửi đến BS <i class="material-icons"></i>
</button> </div> </form>
<div class="row" id="client-message"> <h5>Dữ liệu đi</h5>
<!-- <p class="flow-text truncate"></p> --> <div class="input-field col s12">
76
<label for="sent">Dữ liệu đi</label> </div>
</div> <hr/>
<div class="row" id="server-message"> <h5>Dữ liệu đến</h5>
<!-- <p class="flow-text truncate"></p> --> <div class="input-field col s12">
<textarea id="received" class="materialize-textarea"></textarea> <label for="received">Dữ liệu đến</label>
</div> </div>
<div class="row" id="decrypt"> <h5>Dữ liệu đến (giải mã)</h5> <p class="flow-text truncate"></p> </div>
</div>
<!-- Modal Structure -->
<div id="notify" class="modal">
<div class="modal-content center-align"> <h4></h4>
</div> </div>
<!--Import jQuery before materialize.js-->
<script type="text/javascript" src="js/jquery.js"></script>
77
<script src="/socket.io/socket.io.js"></script> <script type="text/javascript">
var socket = io();
jQuery('form').bind('submit', function(e) { e.preventDefault(); jQuery.ajax('/encrypt', { type: "POST", data: jQuery(this).serialize(), success: function(response) {
Materialize.toast('Message sent to server', 4000); jQuery('#client-message #sent').text(response.encrypt); socket.emit('client2server', response.encrypt); } }); return false; }); socket.on('client', function(data) { jQuery('#server-message #received').text(data.serverMessage); jQuery('#decrypt > p').text(data.decrypt); jQuery('#notify h4').text(data.message); jQuery('#notify').openModal(); }); </script> </body> </html>
78
Mã nguồn máy BS:
<!DOCTYPE html> <html>
<head>
<title><%= title %></title> <!--Import materialize.css-->
<link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection" />
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> </head>
<body> <nav>
<div class="nav-wrapper">
<a href="/" class="brand-logo">Lê Đức Huy</a>
<ul id="nav-mobile" class="right hide-on-med-and-down"> <li><a href="/client">SS</a></li>
<li><a href="/server">BS</a></li> <li><a href="/keytool">Giải mã</a></li> <li><a href="/generate">Tạo Key</a></li> </ul> </div> </nav> <div class="container"> <div class="row"></div> <div class="row"> <h4>BS</h4>
79
</div>
<form class="col s12"> <div class="row">
<div class="input-field col s4">
<input id="ip" type="text" name="ip" value="http://168.200.210.2"> <label for="ip">IP</label>
</div> </div>
<div class="row">
<div class="input-field col s4">
<input id="port" type="text" name="port" value="6550"> <label for="port">Port</label>
</div> </div>
<div class="row">
<div class="input-field col s4">
<input id="series" type="text" name="series" value="user is ok"> <label for="series">Series</label>
</div> </div>
<div class="row">
<button class="btn waves-effect waves-light" type="submit"> Gửi đến SS <i class="material-icons"></i>
</button> </div> </form>
80
<div class="row" id="client-message"> <h5>Dữ liệu đến</h5>
<!-- <p class="flow-text truncate"></p> --> <div class="input-field col s12">
<textarea id="received" class="materialize-textarea"></textarea> <label for="received">Dữ liệu đến</label>
</div> </div>
<div class="row" id="decrypt"> <h5>Dữ liệu đến (giải mã)</h5> <p class="flow-text truncate"></p> </div>
<hr/>
<div class="row" id="server-message"> <h5>Dữ liệu đi</h5>
<!-- <p class="flow-text truncate"></p> --> <div class="input-field col s12">
<textarea id="sent" class="materialize-textarea"></textarea> <label for="sent">Dữ liệu đi</label>
</div> </div> <table class="bordered"> <thead> <tr> <th data-field="id">Username</th> <th data-field="name">Password</th> </tr>
81 </thead> <tbody> <tr> <td>admin</td> <td>admin</td> </tr> </tbody> </table> </div> <!-- Modal Structure -->
<div id="notify" class="modal">
<div class="modal-content center-align"> <h4></h4>
</div> </div>
<!--Import jQuery before materialize.js-->
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/materialize.min.js"></script> <script src="/socket.io/socket.io.js"></script>
<script type="text/javascript"> var socket = io();
jQuery('form').bind('submit', function(e) { e.preventDefault();
jQuery.ajax('/encrypt', { type: "POST",