Nghiên cứu, thử nghiệm phương pháp trao đổi khóa động cho định danh và xác thực trong mạng IOTNghiên cứu, thử nghiệm phương pháp trao đổi khóa động cho định danh và xác thực trong mạng IOTNghiên cứu, thử nghiệm phương pháp trao đổi khóa động cho định danh và xác thực trong mạng IOTNghiên cứu, thử nghiệm phương pháp trao đổi khóa động cho định danh và xác thực trong mạng IOTNghiên cứu, thử nghiệm phương pháp trao đổi khóa động cho định danh và xác thực trong mạng IOTNghiên cứu, thử nghiệm phương pháp trao đổi khóa động cho định danh và xác thực trong mạng IOTNghiên cứu, thử nghiệm phương pháp trao đổi khóa động cho định danh và xác thực trong mạng IOTNghiên cứu, thử nghiệm phương pháp trao đổi khóa động cho định danh và xác thực trong mạng IOTNghiên cứu, thử nghiệm phương pháp trao đổi khóa động cho định danh và xác thực trong mạng IOTNghiên cứu, thử nghiệm phương pháp trao đổi khóa động cho định danh và xác thực trong mạng IOTNghiên cứu, thử nghiệm phương pháp trao đổi khóa động cho định danh và xác thực trong mạng IOT
Trang 3LỜI CẢM ƠN Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành nhất đến thầy giáo, PGS TSKH Hoàng Đăng Hải Thầy đã tận tình chỉ bảo, huớng dẫn tôi trong suốt quá
trình nghiên cứu, tìm hiểu, hoàn thành luận văn
Tôi xin bày tỏ lời cảm ơn chân thành đến những thầy cô đã giảng dạy tôi trong thời gian học cao học, các thầy cô đã giúp tôi trang bị những kiến thức để phát triển trong tương lai
Tôi cũng xin cảm ơn đến những bạn bè, nguời thân trong gia đình tôi đã luôn ủng hộ, động viên và tạo điều kiện giúp tôi vuợt qua những khó khăn để hoàn thành luận văn này
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan những vấn đề được trình bày trong luận văn về Nghiên cứu, thử nghiệm phương thức trao đổi khóa động cho định danh và xác thực trong
mạng IoT là do sự tìm hiểu của cá nhân duới sự huớng dẫn của thầy giáo, PGS TSKH Hoàng Đăng Hải
Tất cả những tham khảo từ các nghiên cứu liên quan đều được trích dẫn, nêu
rõ nguồn gốc một cách rõ ràng từ danh mục tài liệu tham khảo trong luận văn Trong luận văn này, tôi cam doan không sao chép nguyên bản tài liệu, công trình nghiên cứu của nguời khác mà không chỉ rõ về tài liệu tham khảo
Hà Nội, ngày… tháng …… năm 2018
Tác giả luận văn
Nguyễn Văn Thắng
Trang 5MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v
DANH MỤC CÁC HÌNH VẼ vii
MỞ ĐẦU 1
CHƯƠNG 1 - TỔNG QUAN VỀ TRAO ĐỔI KHÓA TRONG MẠNG INTERNET OF THINGS 2
1.1 Khái quát về mạng IoT 2
1.1.1 Khái niệm 2
1.1.2 Kiến trúc an ninh trong mạng IoT 3
1.1.3 An toàn trong mạng IoT 4
1.1.4 Các nguy cơ tấn công trong mạng IoT 5
1.1.5 Vấn đề bảo mật trong IoT 7
1.2 Vấn đề trao đổi khóa và trao đổi khóa động trong mạng IoT 8
1.2.1 Vấn đề trao đổi khóa 8
1.2.2 Trao đổi khóa động trong mạng IoT 9
1.2.3 Yêu cầu chung về định danh, xác thực 9
1.2.4 Yêu cầu về trao đổi khóa động cho định danh và xác thực trong mạng Internet Of Things 10
1.3 Kết luận chương 12
CHƯƠNG 2 - PHƯƠNG THỨC TRAO ĐỔI KHÓA ĐỘNG PHỤC VỤ ĐỊNH DANH, XÁC THỰC 13
2.1 Cơ sở lý thuyết về định danh, xác thực, trao đổi khóa động 13
2.1.1 Vấn đề bảo mật thông tin với mật mã và khóa 13
2.1.2 Định danh và xác thực 14
2.1.3 Truyền tin bảo mật trong mạng IoT 16
Trang 62.1.4 Trao đổi khóa và trao đổi khóa động cho định danh, xác thực trong mạng
IoT 18
2.2 Khảo sát về việc áp dụng cơ chế trao đổi khóa động trong mạng IoT 19
2.3 Một số giải thuật, phương pháp trao đổi khóa 20
2.3.1 Phương pháp trao đổi khóa Diffie-Hellman 20
2.3.2 Phương pháp trao đổi khóa IKE 22
2.3.3 Phương pháp trao đổi khóa động RPL 24
2.4 Một số hạn chế của mạng IoT khi triển khai bảo mật 28
2.5 Kết luận chương 29
CHƯƠNG 3 - MÔ PHỎNG, THỬ NGHIỆM 30
3.1 Các công cụ mô phỏng trong IoT 30
3.1.1 Công cụ mô phỏng NS-2 30
3.1.2 Công cụ mô phỏng OPNET 31
3.1.3 Công cụ mô phỏng Contiki/Cooja 31
3.2 Bộ công cụ mô phỏng Contiki/Cooja 33
3.2.1 Cấu trúc hệ điều hành Contiki 33
3.2.2 Ứng dụng mô phỏng Cooja 34
3.3 Xây dựng mô hình trao đổi khóa động trong mạng IoT 35
3.3.1 Mô tả bài toán 35
3.3.2 Mô phỏng trên ứng dụng Cooja 37
3.3.3 Kết quả mô phỏng 45
3.4 Khả năng ứng dụng trong thực tiễn 45
3.4.1 Chữ ký điện tử 45
3.4.2 Giao thức thanh toán trực tuyến 47
3.5 Kết luận chương 48
KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 49
PHỤ LỤC 50
TÀI LIỆU THAM KHẢO 56
Trang 7DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Tên viết tắt Tên Tiếng Anh Tên Tiếng Việt
A Authentication Information Thông tin xác thực
AES Advanced Encryption Standard Chuẩn mã hóa cấp cao
ATM Automated teller machine Máy rút tiền tự động
C Complementary Information Thông tin bổ xung
DES Data Encryption Standard Chuẩn mã hóa dữ liệu
GCHQ Government Communications
IKE Internet Key Exchange Phương pháp trao đổi khóa
động
IPSec Internet Protocol Security Bảo mật giao thức IP
ISAKMP Internet Security Association and
Key Management Protocol
Hiệp hội bảo mật Internet và giao thức quản lý khóa
MD5 Message-Digest Algorithm 5 Giải thuật mã hóa 5
MIC Message Integrity Code Mã toàn vẹn thông điệp
NAT Network Address Translation Dịch địa chỉ mạng
PAT Port and Address Translation Dịch cổng và địa chỉ mạng PIN Personal Identification Number Mã số nhận dạng cá nhân
PKI Public Key Infrastructure Hạ tầng khóa công khai
Trang 8RPL Routing Protocol for Low power
and Lossy Network
Phương pháp trao đổi khóa động dành cho mạng yếu và công suất thấp
RSA Rivest-Shamir-Adleman Thuật toán mật mã khóa công
khai
SHA Secure Hash Algorithm Giải thuật băm an toàn
UDP User Datagram Protocol Giao thức sử dụng dữ liệu
WSN Wireless Sensor Network Mạng cảm biến không dây
Trang 9DANH MỤC CÁC HÌNH VẼ
Hình 1 1 Kiến trúc an ninh mạng IoT 3
Hình 2 1 Các thành phần của hệ thống xác thực 15
Hình 2 2 Mô hình thuật toán Diffie-Hellman 21
Hình 2 3 Ví dụ về mô hình DODAG 25
Hình 2 4 Kiến trúc giao thức định tuyến RPL 27
Hình 3 1 Lịch sử hệ điều hành Contiki 32
Hình 3 2 Trang chủ Contiki OS 33
Hình 3 3 Giao diện chương trình Cooja 35
Hình 3 4 Ma trận khóa trong mô hình mã hóa 36
Hình 3 5 Sơ đồ truyền tin bảo mật 37
Hình 3 6 Mô hình mô phỏng truyền tin giữa 2 nút mạng IoT 37
Hình 3 7 Mô phỏng thuật toán trao đổi khóa động 38
Hình 3 8 Node RSA-Sender.c 39
Hình 3 9 Node RSA-Receiver.c 40
Hình 3 10 Mô phỏng với 6 node 40
Hình 3 11 Mô phỏng với 8 node 41
Hình 3 12 Mô phỏng với 16 node 41
Hình 3 13 Mô phỏng với 32 node 42
Hình 3 14 Thiết lập kênh truyền giữa các node 42
Hình 3 15 Quá trình trao đổi khóa giữa các node 43
Hình 3 16 Quá trình mã hóa và giải mã bằng thuật toán RSA 43
Hình 3 17 Kết quả quá trình truyền tin giữa các node 44
Hình 3 18 Mô hình chung của chữ ký điện tử 46
Trang 10MỞ ĐẦU
Với sự phát triển vượt bậc về công nghệ cũng như về chi phí sử dụng của các dịch vụ viễn thông, Internet trong thời gian vừa qua đã hình thành một môi trường, một xã hội không chỉ kết nối con người với con người mà còn kết nối cả con người với các thiết bị và các thiết bị kết nối với nhau Từ đó, khái niệm Internet vạn vật (Internet of Things - IoT) dần được hình thành
An ninh bảo mật vẫn là mối lo ngại lớn nhất đối với mỗi người trong hệ sinh thái IoT Nếu bị chiếm quyền điều khiển hoặc đơn giản là hoạt động của chúng bị làm cho gián đoạn, ắt hẳn hậu quả sẽ không dễ xử lý chút nào
Trao đổi khóa là một trong những giao thức không thể thiếu trong môi trường IoT Giao thức trao đổi khóa đầu tiên được đưa ra bởi Diffie - Hellman vào năm 1976, nó được gọi là giao thức Diffie - Hellman nguyên thủy Về cơ bản, giao thức trao đổi khóa cho phép hai bên (người, thực thể giao tiếp) thiết lập một khóa bí mật chung để mã hóa dữ liệu sử dụng trên kênh truyền thông không an toàn mà không cần có sự thỏa thuận trước về khóa bí mật giữa hai bên Nhưng trên thực tế, vẫn còn nhiều hạn chế do không đảm bảo được tính xác thực và định danh giữa các thực thể
Phương thức trao đổi khóa động là một trong những kỹ thuật tiên tiến trong mật mã, các khóa động đóng vai trò rất quan trọng trong việc xác thực Bằng cách thực hiện một số thuật toán lựa chọn ngẫu nhiên, khóa động có thể được tạo ra Khóa động được tạo là khóa động được bảo mật hơn Việc tin tặc xâm nhập một hoặc nhiều khóa mã hóa trong chuỗi sẽ không ảnh hưởng đến toàn bộ chuỗi và do
đó bảo mật toàn bộ hệ thống Tuy nhiên thách thức đặt ra trong môi trường IoT là các hệ thống mật mã truyền thống đều không phù hợp vì sự giới hạn của tài nguyên thiết bị, năng lực xử lý và kết nối mạng
Từ những lý do trên, tôi lựa chọn đề tài “Nghiên cứu, thử nghiệm phương thức trao đổi khóa động cho định danh và xác thực trong mạng IoT” cho luận
văn Thạc sĩ của mình
Trang 11CHƯƠNG 1 - TỔNG QUAN VỀ TRAO ĐỔI KHÓA TRONG
MẠNG INTERNET OF THINGS 1.1 Khái quát về mạng IoT
1.1.1 Khái niệm
Internet of Things (IoT) được dịch là Mạng lưới vạn vật kết nối Internet là một liên mạng, đã có mặt ở nhiều lĩnh vực như quân sự, giao thông, y tế, môi trường, sức khỏe, công nông nghiệp trong đó các thiết bị có thể thu thập và truyền tải dữ liệu
Về cơ bản, Internet Vạn Vật cung cấp kết nối chuyên sâu cho các thiết bị, hệ thống và dịch vụ, kết nối này mang hiệu quả vượt trội so với kiểu truyền tải máy-máy (M2M), đồng thời hỗ trợ da dạng giao thức, miền (domain), và ứng dụng Kết nối các thiết bị nhúng này (luôn cả các vật dụng thông minh), được kỳ vọng sẽ mở
ra kỷ nguyên tự động hóa trong hầu hết các ngành, từ những ứng dụng chuyên sâu như điện lưới thông minh, mở rộng tới những lĩnh vực khác như thành phố thông minh
IoT là một kịch bản của thế giới, khi mà mỗi đồ vật, con người được cung cấp một định danh của riêng mình, và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa người với người, hay người với máy tính IoT đã phát triển từ sự hội tụ của công nghệ không dây, công nghệ vi cơ điện tử và Internet Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó
Rất nhiều các nhà sản xuất thiết bị IoT cho ra thị trường hàng loạt sản phẩm của mình nhưng hầu hết đều thiếu cơ chế bảo vệ cơ bản là xác thực, mã hóa và định danh người dùng Trên Thế giới hiện nay, vấn đề trao đổi khóa trong mạng IoT vẫn còn khá mới mẻ Khó khăn chính là vì các thiết bị bị hạn chế về tài nguyên, dung lượng, khả năng xử lý… nên không thể áp dụng cơ chế Internet truyền thống vào mạng IoT
Trang 121.1.2 Kiến trúc an ninh trong mạng IoT
Hình 1 1 Kiến trúc an ninh mạng IoT
Kiến trúc trong IoT được chia làm 4 lớp chính:
Lớp cảm biến: Thu thập tất cả các loại thông tin thông qua các thiết bị vật lý
(cảm biến, đầu đọc RFID, GPS…) và nhận diện thế giới vật chất Các thông tin thu thập bao gồm các thuộc tính đối tượng, điều kiện môi trường v.v Các phần quan trọng trong lớp này là cảm biến để capture và đại diện thế giới vật chất trong thế giới kỹ thuật số
Lớp mạng: Truyền tải thông tin từ lớp cảm quan, xử lý sơ bộ, phân loại và
trùng hợp thông tin Lớp này truyền tải thông tin được dựa trên một số mạng
cơ bản, đó là mạng Internet, mạng truyền thông di động, mạng lưới truyền hình vệ tinh, mạng không dây, cơ sở hạ tầng mạng và các giao thức truyền thông
Lớp hỗ trợ: Thiết lập một nền tảng hỗ trợ cho lớp ứng dụng Đóng vai trò
kết hợp lớp ứng dụng phía trên và lớp mạng phía dưới Quyền hạn sẽ được tổ chức thông qua mạng lưới điện và điện toán đám mây
Trang 13 Lớp ứng dụng: Cung cấp các dịch vụ cá nhân hoá theo nhu cầu của người
sử dụng (truy cập internet, truyền hình …) Người dùng có thể truy cập vào internet thông qua giao diện lớp ứng dụng sử dụng của truyền hình, máy tính
cá nhân hoặc thiết bị di động …
Yêu cầu về an ninh của từng lớp:
Lớp cảm biến: Chứng thực tại node đầu tiên rất cần thiết để ngăn chặn truy
cập bất hợp pháp vào node Sau đó là mã hóa để bảo mật khi truyền tải thông tin Cuối cùng là thỏa thuận khóa giữa các node
Lớp mạng: Chứng thực nhận dạng (Identity authentication) nhằm ngăn chặn
các node bất hợp pháp, là tiền đề cho các cơ chế an toàn, bảo mật Bên cạnh
đó cần có phương pháp chống tấn công DDOS (Anti-DDOS), mã hóa và an ninh trong truyền thông
Lớp hỗ trợ: Tầng này cần nhiều hệ thống ứng dụng bảo mật như an ninh
điện toán đám mây, điện toán đa nhóm (Secure multiparty computation)… gần như tất cả các thuật toán mã hóa mạnh và giao thức mã hóa, kỹ thuật bảo mật, diệt virus đều tập trung ở Layer này
Lớp ứng dụng: để giải quyết vấn đề an toàn ở tầng này, chúng ta cần quan
tâm 2 mặt: chứng thực – thỏa thuận khóa qua mạng không đồng nhất và bảo
vệ quyền riêng tư của người dùng Thêm vào đó, việc đào tạo và quản lý là rất quan trọng với bảo mật thông tin, đặc biệt là quản lý password
1.1.3 An toàn trong mạng IoT
Theo thống kê của Cục An toàn Thông tin, Bộ Thông tin và Truyền thông, trong tháng 4/2018 hàng loạt cuộc tấn công mạng ở nhiều quốc gia trên thế giới lợi dụng nhóm lỗ hổng trên các thiết bị router/switch đã gây ảnh hưởng tới khoảng 1.000 thiết bị ở Việt Nam
Việt Nam hiện có hơn 310.000 camera giám sát đang kết nối internet, nhưng gần một nửa số thiết bị này có lỗ hổng bảo mật, có thể bị tấn công, theo dõi và chiếm quyền điều khiển bất cứ lúc nào Riêng trong quý 1/2018, trên 9 triệu lượt địa chỉ IP của Việt Nam nằm trong các mạng máy tính ma, khoảng 1.400 cuộc tấn công
Trang 14mạng vào các hệ thống thông tin Tháng 12/2017, vụ lộ lọt dữ liệu liên quan đến các địa chỉ thư điện tử, trong đó có gần 1.100 địa chỉ thư điện tử có tên miền ".gov.vn"
và hơn 800 địa chỉ thư điện tử của các ngân hàng
Thị trường thiết bị IoT ở nước ta hiện nay đa phần là thiết bị nhập khẩu nước ngoài, nên cũng chưa có quy trình đảm bảo an ninh, an toàn cho các thiết bị này Khi mất an toàn thông tin, tức là tính bảo mật của hệ thống bị phá vỡ, thì bất cứ thiết bị kết nối Internet nào hoạt động trong hệ thống đều có thể trở thành thiết bị lây nhiễm mã độc, lây lan virus… Chưa kể, khi người sử dụng Internet có thể kết nối với hệ thống thông tin của cơ quan Nhà nước, tổ chức, doanh nghiệp… bằng các thiết bị ở ngoài mạng nội bộ, mối nguy hiểm lại càng tăng cao
"Yếu tố con người quyết định hơn 70% tính bảo mật, an toàn của hệ thống Nguy cơ thứ 2 là trong khi các thiết bị kết nối internet phát triển bùng nổ, thì việc kiểm định về an ninh, an toàn cho thiết bị hầu như còn để ngỏ Mỗi một thiết bị IoT
là một cửa ngõ rất tiềm năng cho hacker khai thác, tấn công, truy cập và kiểm soát toàn bộ hệ thống thông tin"
1.1.4 Các nguy cơ tấn công trong mạng IoT
Với IoT, nhiều thiết bị được kết nối với nhau và kết nối với mạng Internet Chính điều này tiềm ẩn những nguy cơ về an ninh, an toàn, chẳng hạn như bí mật thông tin bị tiết lộ, xác thực sai, dữ liệu bị thay đổi hoặc làm giả Do các thiết bị này đều có chủ sở hữu và người sử dụng nó, nên dữ liệu thu thập được từ các thiết bị có thể chứa thông tin cá nhân liên quan chủ sở hữu hoặc người sử dụng nó, chẳng hạn như thói quen, sở thích, hồ sơ sức khỏe… Vì thế, tiềm ẩn nguy cơ lộ những thông tin riêng tư trong quá trình truyền dữ liệu, tập hợp, lưu trữ, khai thác và xử lý thông tin của các thiết bị IoT
Các hình thức tấn công trong mạng IoT có thể kể đến như:
Social Engineering (kỹ thuật đánh lừa): Tấn công này với hai mục đích chính
là đùa cợt và trục lợi Kỹ thuật này phụ thuộc nhiều vào sơ hở của nhân viên, hacker có thể gọi điện thoại hoặc gửi e-mail giả danh người quản trị hệ thống từ đó lấy mật khẩu của nhân viên và tiến hành tấn công hệ thống Cách
Trang 15duy nhất để ngăn chặn nó là giáo dục khả năng nhận thức của nhân viên về cách đề phòng
Impersonation (mạo danh): là ăn cắp quyền truy cập của người sử dụng có thẩm quyền
Khai thác lỗ hổng hệ thống: liên quan đến việc khai thác lỗi trong phần mềm hoặc hệ điều hành
Data Attacks: Sử dụng các đoạn mã Script độc gửi vào hệ thống như troijan, worm, virus…
Tấn công từ chối dịch vụ: loại tấn công này chủ yếu tập trung lưu lương để làm ngưng trệ các dịch vụ của hệ thống mạng Hệ thống được chọn sẽ bị tấn công dồn dập bằng các gói tin với các địa chỉ IP giả mạo
Ngoài ra còn có các hình thức khác như: Điểm yếu về cơ sở hạ tầng, Active Wiretap: dữ liệu sẽ bị chặn lại trong quá trình truyền: một là gói tin sẽ bị thay đổi địa chỉ IP nguồn hoặc đích hoặc số thứ tự, hai là sẽ bị sao chép
IoT đang trở thành mục tiêu của các cuộc tấn công mạng vì những lý do sau:
Thứ nhất, người dùng và doanh nghiệp đang bắt đầu phụ thuộc vào các thiết
bị tiện ích này Minh chứng là việc sử dụng các thiết bị IoT đang gia tăng nhanh chóng và trở nên phổ biến hơn Tuy nhiên, mối quan tâm đến an toàn thông tin của các thiết bị này chưa được người sử dụng đặt lên hàng đầu
Thứ hai, hoàn toàn có thể bảo đảm an toàn cho các thiết bị IoT ngay từ khi
bắt đầu đưa ra thị trường Tuy nhiên, vẫn còn nhiều thiết bị đơn lẻ được kết nối mạng mà bỏ qua chưa vá lỗi
Thứ ba, một vấn đề khá quan trọng là nhiều công ty IoT nhỏ, đội ngũ nhân
viên ít, thậm chí không có các chuyên gia an toàn và họ có xu hướng sử dụng thiết bị điện tử của bên thứ ba, mà những thiết bị này có thể không có chứng nhận hoặc kiểm tra về an toàn thông tin Hơn nữa, thị trường IoT còn quá mới mẻ, vì thế mục tiêu chính hiện nay của các doanh nghiệp là đưa các tiện ích này ra thị trường một cách nhanh nhất có thể
Trang 16Mỗi thiết bị IoT là một “cửa ngõ” tiềm năng để tin tặc có thể khai thác mạng lưới, chúng không những truy nhập tới dữ liệu mà còn kiểm soát các hệ thống vật
lý, gây ra những thiệt hại nghiêm trọng cho người dùng doanh nghiệp
1.1.5 Vấn đề bảo mật trong IoT
Thực tế hiện nay có rất ít các giải pháp bảo mật nhằm phát hiện các hướng tấn công và lỗ hổng mới cho thiết bị IoT Thêm vào đó, người dùng có rất ít kiến thức về phần mềm mà những thiết bị này sử dụng Khảo sát của hãng HP cho biết,
có tới 70% các thiết bị IoT sử dụng phổ biến nhất hiện nay có lỗ hổng bảo mật nghiêm trọng Năm 2016, số vụ tấn công vào các thiết bị kết nối đám mây đã tăng 152% so với năm 2015
Các giải pháp an toàn thông tin luôn tiến hóa song song với sự phát triển của công nghệ mạng, từ các tường lửa lọc gói đầu tiên vào nửa sau thập niên 80 cho tới những tường lửa ứng dụng với các giao thức phức tạp hơn, các hệ thống phát hiện
và ngăn chặn xâm nhập (IDS/IPS) cho tới các giải pháp quản lý sự kiện và sự cố an toàn (SIEM) Các giải pháp này đều nhắm tới mục tiêu loại bỏ các hành vi độc hại khỏi mạng hoặc phát hiện ra các hành vi độc hại khi nó xảy ra Nếu các mã độc đi được qua tường lửa, các công nghệ Antivirus dựa trên đối sánh mẫu và danh sách đen (blacklist) sẽ được kích hoạt để xác định và giải quyết vấn đề này Sự kết hợp các giải pháp theo nhiều mức thành một giải pháp tổng thể như vậy gọi là các giải pháp bảo vệ nhiều lớp, cho phép bảo vệ hệ thống tốt nhất có thể
Gần đây hơn, mối quan tâm về tính xác thực của phần mềm và định danh người sử dụng đã đưa ra nhiều kỹ thuật xác minh và xác thực đáng tin cậy phần mềm khác nhau Cuối cùng, tính bảo mật của dữ liệu vẫn luôn luôn được coi là một mối quan tâm chính Giải pháp mã hóa chẳng hạn như RSA, SHA-256 hoặc Symmetric, đã và đang phát triển để đảm bảo tính bảo mật của dữ liệu trong quá trình truyền tải Hiện tại, mã hóa dữ liệu là một trong những phương pháp bảo mật
dữ liệu phổ biến và hiệu quả nhất, được nhiều tổ chức, cá nhân tin tưởng Thực chất việc mã hóa dữ liệu sẽ không thể nào ngăn việc dữ liệu có thể bị đánh cắp, nhưng
Trang 17nó sẽ ngăn việc người khác có thể đọc được nội dung của tập tin đó, vì nó đã bị biến sang thành một dạng ký tự khác, hay nội dung khác
Dựa vào các dịch vụ an toàn bảo mật mà thuật toán cung cấp và số lượng khóa sử dụng có các thuật toán sau:
- Thuật toán mã hóa khóa bí mật hay khóa đối xứng: Các thuật toán có thể kể đến là Caesa, DES, AES… sử dụng duy nhất một khóa cho cả việc mã hóa
và giải mã
- Thuật toán mã hóa khóa công khai hay khóa bất đối xứng: Khóa sử dụng cho thuật toán này gồm hai khóa là một khóa sử dụng để mã hõa và khóa kia sử dụng cho việc giải mã
- Các thuật toán tạo chữ ký điện tử: Thông thường sử dụng kỹ thuật mã hóa công khai với cách áp dụng khác nhau như RSA, EIGamma,…
- Các hàm băm: Là thuật toán mã hóa không khóa hoặc có khóa và thường sử dụng trong các hệ chữ ký điện tử hoặc các hệ mã khóa công khai
Dựa trên cách thức xử lý đầu vào của thuật toán, có thể phân thành các loại như sau:
- Các thuật toán mã hóa khối như DES, AES,…xử lý bản rõ dưới các đơn vị
cơ bản là khối có kích thước giống nhau
- Các thuật toán mã hóa dòng như RC4,… coi bản rõ là một luồng bit, byte liên tục
1.2 Vấn đề trao đổi khóa và trao đổi khóa động trong mạng IoT
1.2.1 Vấn đề trao đổi khóa
Do các thiết bị IoT được tối ưu hóa cho việc sử dụng năng lượng thấp và chi phí vận hành, vì thế tài nguyên sử dụng cho tính toán không nhiều Tin vui là có một số lựa chọn trong việc sử dụng các kỹ thuật mã hóa nhằm giúp cho các thiết bị IoT an toàn hơn
Trao đổi khóa là phương pháp cho phép hai bên (người, thực thể giao tiếp) thiết lập một khóa bí mật chung để mã hóa dữ liệu sử dụng trên kênh truyền thông không an toàn mà không cần có sự thỏa thuận trước về khóa bí mật giữa hai bên
Trang 18Khóa bí mật tạo ra sẽ được sử dụng để người dùng có thể chia sẻ thông tin với nhau Phương pháp này không cần có sự can thiệp của một cơ quan ủy thác nào khác làm nhiệm vụ điều hành và phân phối khóa
1.2.2 Trao đổi khóa động trong mạng IoT
Khóa động là khóa tự động thay đổi giá trị của nó mỗi lần Để cung cấp bảo mật cho bất kỳ hệ thống nào, khóa đóng vai trò rất quan trọng đối với việc xác thực Nếu khóa có một số giá trị cố định thì có thể rất dễ dàng để tin tặc tấn công các giá trị chính Để bảo mật hơn, các giá trị khóa có thể được thay đổi tự động mỗi lần Bằng cách thực hiện một số thuật toán lựa chọn ngẫu nhiên, khóa động có thể được tạo ra Khóa động được tạo là khóa động được bảo mật hơn Khóa năng động được bảo đảm này có thể được sử dụng để cung cấp bảo mật hơn cho hệ thống ATM vì khóa đang thay đổi mỗi lần và không thể hack khóa thay đổi này dễ dàng bởi tin tặc
và gian lận Do tính bảo mật kém hơn trong hệ thống ATM hiện tại, hệ thống được
đề xuất khắc phục được nhược điểm
1.2.3 Yêu cầu chung về định danh, xác thực
Xác thực là một hành động nhằm thiết lập hoặc chứng thực một cái gì đó (hoặc một người nào đó) đáng tin cậy Trong an ninh máy tính, xác thực là một quy trình nhằm cố gắng xác minh nhận dạng số của phần truyền gửi thông tin trong giao thông liên lạc chẳng hạn như một yêu cầu đăng nhập Phần gửi cần phải xác thực có thể là một người dùng sử dụng một máy tính, hay bản thân một máy tính hoặc một chương trình ứng dụng
Định danh là một tên xác thực một đối tượng duy nhất hay một lớp duy nhất của đối tượng, trong đó “đối tượng” hay lớp có thể là một ý tưởng, một đối tượng vật lý, hay vật chất vật lý Trong khoa học máy tính, định danh là các mã dùng để đặt tên cho các thực thể (ID) Định danh dược sử dụng rộng rãi trong hầu hết các hệ thống thông tin
Trang 191.2.4 Yêu cầu về trao đổi khóa động cho định danh và xác thực trong mạng Internet Of Things
Đặc điểm cơ bản của định danh và xác thực là khả năng tạo và so sánh các
mã được chia ra nhiều phân đoạn khác nhau (key segments) chưa bao giờ được truyền đi Cả máy chủ và điểm cuối đều có bản sao của khóa quản lý danh tính tài khoản máy chủ gửi yêu cầu đến điểm cuối cho mã thông báo nhận dạng có độ dài
cụ thể Chúng là liên tục và tự động so sánh mã thông báo để đảm bảo danh tính chính xác của người dùng mạng Mã thông báo là một đoạn ký tự được phân đoạn
có độ dài tùy ý Nó là ngẫu nhiên và có tính tương đương được mã hóa – mã này không thể đoán và chỉ được sử dụng một lần
Điểm cuối trả lời bằng cách gửi một mã thông báo bắt đầu từ lần cập nhật hợp lệ cuối cùng của nó Máy chủ xác thực người dùng hoặc thiết bị bằng cách so sánh bit - bit với mã thông báo được tạo tại máy chủ cho người dùng hoặc thiết bị này Nếu chúng giống hệt nhau thì máy chủ xác nhận bằng cách gửi ủy quyền Cả 2 máy chủ và điểm cuối đều cập nhật mã này vào trong cơ sở dữ liệu Hệ thống được đồng bộ hóa để truy vấn xác thực cho những lần tiếp theo Tài khoản sẽ tự động bị khóa nếu việc so sánh mã thông báo không thành công
Có 2 kiểu xác thực là: xác thực hai chiều và một chiều
Xác thực hai chiều có nghĩa là mỗi điểm cuối có thể yêu cầu và gửi các
phân đoạn dữ liệu Điều này có nghĩa là mỗi điểm cuối có khả năng tạo khóa
Xác thực một chiều có nghĩa là chỉ có một điểm cuối (server/site) có khả
năng tạo khóa Sau đó, máy chủ ghi lại các điểm cuối của các dữ liệu luồng khóa tiếp theo mà chưa được sử dụng (và phân phối dữ liệu này một cách an toàn hoặc cách khác) Trong phiên tiếp theo, máy chủ so sánh dữ liệu thực tế tại điểm cuối với dữ liệu mà chúng có thể tạo bằng cách sử dụng cấu trúc khóa của điểm cuối và cập nhật trong cơ sở dữ liệu
Với kiểu định danh và xác thực này, luồng chính được thăm dò trong suốt phiên để liên tục xác định và xác minh rằng người dùng chính xác là trên mạng Có
Trang 20thể kết hợp truyền các khóa phiên, sử dụng tem thời gian, sinh trắc học, v.v… để tăng tính bảo mật của truy cập mạng ban đầu
Khóa động (Dynamic Key) có khả năng phát hiện trạng thái Các độ lệch của các luồng chính phải được đồng bộ giữa điểm cuối và máy chủ Nếu một hacker muốn đánh cắp một khóa, hoặc truy cập mạng, sau đó các cập nhật giữa máy chủ, điểm cuối hợp pháp và trở nên không đồng bộ Chỉ có hai kết quả:
Một là: Chủ sở hữu hợp pháp sử dụng khóa/thẻ của mình trước tiên và phân
đoạn dữ liệu khóa ngẫu nhiên (hoặc cập nhật) được cập nhật trên thẻ hợp pháp Kẻ trộm sau đó sử dụng khóa/thẻ bị đánh cắp và nó sẽ không xử lý bởi
vì đoạn dữ liệu (hoặc cập nhật) không khớp giữa khóa/thẻ tín dụng bị đánh cắp và máy chủ Tài khoản ngay lập tức bị vô hiệu hóa
Hai là: Kẻ trộm sử dụng khóa/thẻ bị đánh cắp đầu tiên thành công Lần sau,
chủ thẻ sử dụng thẻ của họ giao dịch bị từ chối vì thẻ bị đánh cắp đã được cập nhật trên cơ sở dữ liệu của máy chủ Kẻ trộm sẽ được xác định Tài khoản ngay lập tức bị vô hiệu hóa
Trường hợp hành vi trộm cắp xảy ra được biết đến vì giao dịch trước đó Tài khoản/thẻ sẽ bị thu hồi tự động Sự xâm nhập sẽ được phát hiện chỉ đơn giản là tiếp tục theo dõi các cập nhật và các phân đoạn chính (mã thông báo) luôn được giữ nguyên Nếu không có bất kỳ sự can thiệp của con người, ngay lập tức những cập nhật đồng bộ được phát hiện sau đó tài khoản bị đóng băng và khóa đó bị từ chối truy cập mạng Nó không yêu cầu đi ra bên ngoài, danh sách thu hồi, v.v… Người quản trị hệ thống có thể khắc phục hoặc đối phó với bất kỳ tình huống nào mà không phải lo lắng về sự bất ổn liên tục hoặc giao dịch phi pháp nào khác
Nhược điểm của các thiết bị IoT chính là bộ nhớ nhỏ, năng lực xử lý bị hạn chế có thể khiến việc triển khai mã hóa, cũng như các cách bảo mật khác trở nên khó khăn Đó là lý do tại sao các phương pháp cũ không thể áp dụng trực tiếp Do vậy, cần nghiên cứu cơ chế bảo mật, trao đổi khóa, mã hóa gọn nhẹ mà vẫn bảo đảm được sự bảo mật giữa các thiết bị IoT
Trang 211.3 Kết luận chương
Bảo mật trong môi trường IoT vẫn đang là một thách thức lớn đối với các chuyên gia về bảo mật, nó quan trọng không kém gì vấn đề tối ưu năng lượng tiêu thụ, chi phí, cũng như khả năng kết nối không dây Đối với IoT, việc xác thực giúp đảm bảo rằng các thiết bị được kết nối tới các dịch vụ đám mây được ủy quyền và giúp hệ thống loại bỏ được các thiết bị IoT giả mạo Sử dụng phương pháp trao đổi khóa giúp cho việc định danh và xác thực được minh bạch hơn trong môi trường IoT, đảm bảo các kết nối không bị hacker xâm nhập Chương tiếp theo sẽ nói rõ hơn
về các phương pháp trao đổi khóa trong môi trường IoT
Trang 22CHƯƠNG 2 - PHƯƠNG THỨC TRAO ĐỔI KHÓA ĐỘNG
PHỤC VỤ ĐỊNH DANH, XÁC THỰC 2.1 Cơ sở lý thuyết về định danh, xác thực, trao đổi khóa động
2.1.1 Vấn đề bảo mật thông tin với mật mã và khóa
Mật mã hay mã hóa dữ liệu (cryptography), là một công cụ cơ bản thiết yếu của bảo mật thông tin Mật mã đáp ứng được các nhu cầu về tính bảo mật (confi-dentiality), tính chứng thực (authentication) tính toàn vẹn (integrity) và tính không
từ chối (non-repudiation) của một hệ truyền tin
Tính bảo mật: Bảo vệ thông tin, chống lại vấn đề xem trộm nội dung thông
tin Chỉ các đối tượng được cấp quyền mới được truy cập và đọc nội dung bên trong
Tính chứng thực: Xác minh được thông tin, nguồn gốc thông tin từ bên gửi,
đảm bảo thông tin không bị sửa đổi trong quá trình truyền tin nhằm ngăn chặn các hình thức tấn công sửa đổi tin, mạo danh và phát lại thông tin
Tính không từ chối: Các bên đã được xác thực không thể phủ nhận việc
tham gia vào một giao dịch hợp lệ
Tính toàn vẹn: Đảm bảo thông tin không bị sửa đổi trong qua trình truyền
thông tin qua mạng
Mã hóa đơn giản chỉ là quá trình biến đổi thông tin từ dạng này sang dạng khác để ngăn chặn những đối tượng không được phép có thể xem thông tin Mã hóa không ngăn chặn được việc đánh cắp thông tin mà chỉ làm biến đổi thông tin để kẻ đánh cắp có được thông tin nhưng không thể xem được Việc kết hợp mã hóa và khóa sẽ làm tăng tính bảo mật và giúp cho việc truyền tin giữa các nút trong mạng IoT được đảm bảo và không bị lấy trộm trên đường truyền
Trang 232.1.2 Định danh và xác thực
Xác thực:
Xác thực là cơ chế để chứng minh nếu một ai đó hoặc một thiết bị nào đó là thực Trong định nghĩa của Bishop 2003+: “Xác thực là ràng buộc nhận dạng một chủ đề” Các mạng IoT trong hầu hết các trường hợp đều yêu cầu người dùng được xác thực để đăng nhập vào mạng hoặc truy cập vào các dịch vụ Cách tiếp cận chính
để xác thực người dùng thông qua 3 loại chính:
Dựa trên tri thức: ví dụ: mật khẩu, mã PIN Nó dựa trên thông tin các nhân
Có 5 thành phần của hệ thống xác thực như trong Hình 2: Có 2 bộ thông tin
A và C để giữ thông tin xác thực và bổ xung Hàm S là hàm lựa chọn, chịu trách nhiệm tạo và thay đổi các tập thông tin Hàm F là hàm bổ xung, thu thập thông tin tương tứng với thông tin xác thực Hàm L là hàm có chức năng đưa ra kết quả đúng hay sai theo sự so sánh giữa thông tin bổ xung và thông tin xác thực
Trang 24(Complementary Functions) F Bổ xung thông tin
Chức năng xác thực
(Authentication Functions) L
Đưa ra kết quả dựa trên so sánh giữa thông tin bổ xung (C) và thông tin xác thực (A)
Số lượng thiết bị và độ phức tạp của các tương tác: Khối lượng giao tiếp xảy
ra giữa hàng tỷ thiết bị IoT sẽ chưa từng thấy Vì nó rất khác với bất kỳ thứ gì chúng ta đã thấy trước đây, nên rất khó lên kế hoạch trước Các chuyên gia trong ngành và các quan chức chính phủ đang xem xét các tác động an ninh tiềm ẩn và đang nỗ lực để đảm bảo rằng các thiết bị được an toàn nhất có thể Tuy nhiên, chúng ta sẽ thấy các tội phạm mạng nhắm mục tiêu và khai thác bất kỳ điểm yếu tiềm năng mới nào, điều này làm cho việc định danh trở nên thiết yếu
Bản chất của các thiết bị IoT: Các thiết bị IoT khác với điện thoại di động và hoàn toàn khác với các thiết bị truyền thống như máy tính để bàn, máy chủ và bộ
Trang 25định tuyến Đáng kể nhất, mỗi thiết bị IoT sẽ khác với thiết bị tiếp theo Các thiết bị phổ biến này có thể cung cấp cho chúng ta thông tin bảo mật có giá trị, chúng ta sẽ phải biết chính xác loại thiết bị nào đến từ đâu để thông tin có giá trị cho các chuyên gia bảo mật
2.1.3 Truyền tin bảo mật trong mạng IoT
Một hệ truyền tin bảo mật trong mạng IoT cần đảm bảo các tính chất sau:
Tính bảo mât: Bảo vệ thông tin, chống lại vấn đề xem trộm nội dung thông tin Chỉ các đối tượng được cấp quyền mới được truy cập và đọc nội dung bên trong
Tính chứng thực: Xác minh được thông tin, nguồn gốc thông tin từ bên gửi, đảm bảo thông tin không bị sửa đổi trong quá trình truyền tin nhằm ngăn chặn các hình thức tấn công sửa đổi tin, mạo danh và phát lại thông tin
Tính không từ chối: Các bên đã được xác thực không thể phủ nhận việc tham gia vào một giao dịch hợp lệ
Tính toàn vẹn: Đảm bảo thông tin không bị sửa đổi trong qua trình truyền thông tin qua mạng
Các yêu cầu về bảo mật được phân chia thành năm mục là: An ninh mạng (Network security), quản lý nhận dạng (Identity Management), quyền riêng tư (Privacy) , tin cậy (Trust) và khả năng phục hồi (Resilience)
An ninh mạng (Network security): các yêu cầu về bảo mật mạng bao gổm:
bí mật, toàn vẹn, xác thực nguồn gốc, tính tươi mới và tính khả dụng
Tính bí mật của thông điệp đảm bảo rằng nội dung của thông điệp không ai hiểu được ngoài những người nhận mong muốn
Tính toàn vẹn đảm bảo dữ liệu trong quá trình truyền qua mạng không bị sửa đổi
Xác thực nguồn gốc dữ liệu để đảm bảo rằng một thông điệp phát đi từ một thực thể nhất định
Tính tươi mới: ngăn chặn kẻ tấn công tiêm thông tin sai lệch bằng cách ghi lại thông điệp và phát lại
Trang 26 Tính khả dụng: Đảm bảo các thiết bị và dịch vụ có thể truy cập và vận hành bất cứ khi nào cần một cách kịp thời
Quản lý nhận dạng (Identity Management): Quản lý nhận dạng là một thử
thách lớn đối với hệ thống IoT bởi mối quan hệ phức tạp giữa các thực thể (Các thiết bị, các dịch vụ, các nhà cung cấp dịch vụ, người sở hữu và người sử dụng) Các yêu cầu đối với quản lý nhận dạng bao gồm: Xác thực, ủy quyền, thu hồi và trách nhiệm
Xác thực: Xác minh tính duy nhất và chính xác của các thiết bị truyền thông trong mạng IoT
Ủy quyền: Cho phép các thực thể đã xác thực thực hiện một số hoạt động trong hệ thống IoT
Thu hồi: Loại bỏ quyền thực hiện một hoạt động của một thực thể nhất định
Trách nhiệm: Đảm bảo rằng các hoạt động được ràng buộc rõ ràng cho các thực thể xác thực
Quyền riêng tư (Privacy): Các yêu cầu về quyền riêng tư bao gồm dữ liệu
riêng tư, ẩn danh, bút danh và không liên kết
Dữ liệu riêng tư: Quyển riêng tư là một trong những thử thách lớn đối với IoT bởi người dùng yêu cầu bảo vệ dữ liệu cá nhân của họ như thông tin về thói quen, tương tác và vị trí của họ
Ẩn danh: Một người nào đó không thể bị nhận diện như là nguồn dữ liệu hay hoạt động
Bút danh: Dùng để liên kết dữ liệu và các hoạt động thay vì một người nào
đó
Tin cậy (Trust): Tính tin cậy thể hiện ở tin cậy dữ liệu và tin cậy thực thể,
ngoài ra còn một số thước đo độ tin cậy khác như tin cậy xử lý, tin cậy kết nối, tin cậy hệ thống
Dữ liệu tin cậy: Dữ liệu có thể được thu thập từ nhiều nguồn khác nhau trong
đó có nguồn không thực sự tin cậy Dữ liệu đáng tin cậy có thể được thu
Trang 27được bằng cách áp dụng các thuật toán khác nhau như tổng hợp dữ liệu hay học máy
Tin cậy thực thể: Thể hiện ở hành vi của các thực thể như các thiết bị, dịch
vụ hay người dùng
Khả năng phục hồi (Resilience): Các hệ thống IoT lớn dễ bị tấn công và gặp
thất bại do sự phức tạp cùng nhiều loại phần cứng và phần mềm Vì thế việc phát hiện tấn công, ngăn chặn, dự phòng và khôi phục là yếu tố quan trọng để duy trì sự
đề chính trong quá trình giao tiếp của các nút IoT
Các sơ đồ bảo mật hiện tại cho các thiết bị IoT sử dụng mật mã khóa công khai, trong đó hai nút đồng ý với một số khóa nhất định và sử dụng khóa đó để trao đổi thông tin Tuy nhiên, nếu khóa này bị tấn công thì nó sẽ ảnh hưởng xấu đến tính bảo mật của hệ thống Để tránh điều này, chúng ta cần có khóa sẽ được tạo động và chia sẻ giữa các nút chỉ trong một khoảng thời gian nhất định được gọi là phiên Đối với mỗi phiên, khóa được tạo sẽ khác và duy nhất Các nút IoT sẵn sàng giao tiếp với nhau trước tiên phải xác thực bản thân với nhau để nhận dạng được nút Nút cha
và thiết bị đầu cuối phải được xác thực trước khi giao tiếp bắt đầu Bởi vì nếu không
có xác thực thích hợp thì kẻ tấn công có thể tấn công mạng để truy cập thông tin bí mật bất hợp pháp
Bảo mật sử dụng mã khóa động cung cấp một giao thức xác thực khóa an toàn dựa trên cơ chế trả lời yêu cầu Nó có các đặc điểm như "một lần một mật mã", hiệu năng thời gian thực đạt hiệu quả cao, chi phí tính toán thấp Nó có thể được sử dụng trong quá trình xác thực các công nghệ truyền tin cự ly ngắn khác
Trang 282.2 Khảo sát về việc áp dụng cơ chế trao đổi khóa động trong mạng IoT
Mạng cảm biến không dây (Wireless Sensor Networks - WSN) là một phân
hệ mạng điển hình trong mạng IoT Trong phần tiếp theo của bài, luận văn sẽ tập trung vào khảo sát các cơ chế trao đổi khóa động trong mạng WSN
Trong mạng WSN, bảo mật dữ liệu là rất quan trọng bởi vì nó đảm bảo rằng chỉ các nút được ủy quyền mới có thể truy cập dữ liệu Mục đích cơ bản của bảo mật là đảm bảo rằng dữ liệu được chuyển từ nút này sang nút khác không thể hiểu được từ bất kỳ nút trung gian hoặc bên trái phép nào Điều này được thực hiện bằng cách sử dụng cơ chế trao đổi khóa động Nút người gửi và nút người nhận sử dụng khóa bí mật được xác định trước hoặc thương lượng cho khóa bí mật được chia sẻ
Dữ liệu sau đó được mã hóa/giải mã bằng cách sử dụng khóa đó Hơn nữa khóa bí mật sẽ được thay đổi tự động sau mỗi lần kết nối
Điều quan trọng là trong WSN để đảm bảo rằng dữ liệu được bắt nguồn từ đúng nguồn, nói cách khác một kẻ xâm nhập không thể chèn các thông điệp hoặc dữ liệu sai vào mạng Khóa bí mật được tạo ra bởi một người gửi bằng cách sử dụng một số thông tin đặc biệt Để đạt được điều này, chữ ký của tài sản thông tin được chuẩn bị và sử dụng bởi người gửi Người nhận xác minh chữ ký và do đó xác nhận rằng dữ liệu được gửi từ nút được ủy quyền
Tính toàn vẹn của dữ liệu đảm bảo rằng dữ liệu không bị thay đổi bởi các bên trái phép trong quá trình truyền Nó có thể đạt được bằng cách sử dụng mã toàn vẹn thông điệp (MIC) hoặc một tổng kiểm tra được thêm vào mỗi gói MIC có thể phát hiện thông báo thay đổi do lỗi truyền dẫn ngẫu nhiên cũng như thay đổi độc hại Mặt khác, Checksum chỉ có thể phát hiện lỗi truyền ngẫu nhiên
Các thông báo được truyền không nên lặp lại khi nhận kết thúc, tương tự như vậy một nút không được nhận hai thông báo giống hệt nhau trong một khoảng thời gian nhất định Mục tiêu chính là đảm bảo rằng dữ liệu gần đây, mới mẻ và không được sử dụng bởi bất kỳ kẻ xâm nhập nào muốn tìm hiểu một số khóa đối xứng được sử dụng trong giao tiếp Có hai loại kỹ thuật làm mới Độ tươi yếu thường đạt được bằng cách sử dụng đặt hàng thông điệp một phần, nhưng không có thông tin
Trang 29chậm trễ Trong khi độ tươi mạnh đạt được bằng cách sử dụng ước lượng đặt hàng
và trì hoãn hoàn chỉnh
Toàn bộ hệ thống hoặc thậm chí một nút đơn trong WSN sẽ có sẵn và có khả năng cung cấp các dịch vụ của nó khi cần thiết Khi các sửa đổi được áp dụng cho WSN, thì nó có thể ảnh hưởng đến tính khả dụng của nút đến một mức độ lớn Có thể nói rằng khi các thuộc tính bảo mật được áp dụng cho WSN thì nó không chỉ ảnh hưởng đến hoạt động của mạng, nhưng điều quan trọng là sự sẵn có của toàn bộ mạng cũng cần được bảo toàn
2.3 Một số giải thuật, phương pháp trao đổi khóa
2.3.1 Phương pháp trao đổi khóa Diffie-Hellman
Trao đổi khóa Diffie–Hellman (D-H) là một phương pháp trao đổi khóa được phát minh sớm nhất trong mật mã học Phương pháp trao đổi khóa Diffie - Hellman cho phép hai bên (người, thực thể giao tiếp) thiết lập một khóa bí mật chung để mã hóa dữ liệu sử dụng trên kênh truyền thông không an toàn mà không cần có sự thỏa thuận trước về khóa bí mật giữa hai bên Khóa bí mật tạo ra sẽ được sử dụng để mã hóa dữ liệu với phương pháp mã hóa khóa đối xứng
Giao thức này được công bố đầu tiên bởi Whitfield Diffie và Martin Hellman vào năm 1976, dù rằng trước đó vài năm nó đã được phát minh một cách độc lập trong GCHQ - một cơ quan tình báo Anh, bởi James H Ellis, Clifford Cocks và Malcolm J Williamson nhưng được giữ bí mật Năm 2002, Hellman đề xuất thuật toán nên được gọi là trao đổi khóa Diffie–Hellman–Merkle để ghi nhận sự đóng góp của Ralph Merkle trong phát minh lĩnh vực mật mã hóa khóa công khai (Hellman, 2002)
Mặc dù giao thức trao đổi khóa Diffie–Hellman bản thân nó là giao thức trao đổi khóa ẩn danh (không xác thực), nó đã đưa ra một nền tảng cơ sở cho nhiều loại giao thức xác thực và được sử dụng để tạo nên bí mật chuyển tiếp hoàn hảo trong chế độ ngắn hạn của giao thức Transport Layer Security (EDH hoặc DHE tùy theo
bộ mã hóa)
Trang 30Ý tưởng của thuật toán này là thiết lập bí mật chung để sử dụng cho trao đổi
dữ liệu an toàn trên một kênh truyền thông công cộng Ví dụ sau sẽ mô tả rõ hơn về thuật toán:
Đầu tiên Alice và Bob trộn màu đã biết chung (màu vàng) với màu bí mật riêng của mỗi người
Sau đó, mỗi người chuyển hỗn hợp của mình tới người kia thông qua một kênh vận chuyển công cộng
Khi nhận được hỗn hợp của người kia, mỗi người sẽ trộn thêm với màu bí mật của riêng mình và nhận được hỗn hợp cuối cùng
Hỗn hợp sơn cuối cùng là hoàn toàn giống nhau cho cả hai người và chỉ có riêng hai người biết Mấu chốt ở đây là đối với một người ngoài sẽ rất khó (về mặt tính toán) cho họ để tìm ra được bí mật chung của hai người (nghĩa là hỗn hợp cuối cùng) Alice và Bob sẽ sử dụng bí mật chung này để mã hóa và giải mã dữ liệu truyền trên kênh công cộng Lưu ý, màu sơn đầu tiên (màu vàng) có thể tùy ý lựa chọn, nhưng được thỏa thuận trước giữa Alice và Bob Màu sơn này cũng có thể được giả sử là không bí mật đối với người thứ ba mà không làm lộ bí mật chung cuối cùng của Alice và Bob
Hình 2 2 Mô hình thuật toán Diffie-Hellman
Trang 31Giao thức Diffie-Hellman có ưu điểm về tốc độ và hiệu năng, khóa đối xứng được sử dụng rộng rãi trong việc mã hóa dữ liệu trao đổi giữa các thiết bị số hiện nay, đặc biệt là dữ liệu truyền trên kênh vô tuyến nhưng giao thức Diffie-Hellman cũng có nhược điểm yêu cầu năng lực tính toán cao để có thể tạo ra cặp khóa đủ an toàn (trên 256 bit) nên được đánh giá là không phù hợp với các thiết bị IoT
2.3.2 Phương pháp trao đổi khóa IKE
Trao đổi khóa IKE là một cơ chế trao đổi khóa tự động được sử dụng để tạo thuận lợi cho việc chuyển giao kết hợp bảo mật IPSec Cơ sở hạ tầng khóa công khai (PKI) được coi là một yếu tố quan trọng để cung cấp bảo mật cho các mạng và dịch vụ truyền thông phân tán mới
Giao thức IKE sử dụng để xác thực và tạo khoá:
ISAKMP: xác định các thủ tục về làm thế nào để thiết lập, thoả thuận, chỉnh sửa,
và xóa các SA Tất cả các tham số thoả thuận được xử lý thông qua ISAKMP, chẳng hạn như xác thực mào đầu và đóng gói tải trọng ISAKMP thực hiện xác thực ngang hàng, nhưng nó không liên quan đến trao đổi khóa
Oakley: Giao thức Oakley sử dụng thuật toán Diffie-Hellman để quản lý trao đổi
khoá thông qua các SA IPsec Diffie-Hellman là một giao thức mật mã (cryptographic protocol) cho phép hai điểm cuối trao đổi một khoá bí mật trên một kênh không an toàn
Giai đoạn hoạt động của IKE cũng được xem tương tự như là quá trình bắt tay trong TCP/IP Quá trình hoạt động của IKE được chia ra làm hai phase chính: Phase 1 và Phase 2, cả hai phase này nhằm thiết lập kênh truyền an toàn giữa hai điểm Ngoài phase 1 và phase 2 còn có phase 1,5 tùy chọn
IKE phase 1:
Đây là giai đoạn bắt buộc phải có Phase này thực hiện việc xác thực và thỏa thuận các thông số bảo mật, nhằm cung cấp một kênh truyền bảo mật giữa hai đầu cuối Các thông số sau khi đồng ý giữa hai bên gọi là SA, SA trong pha này gọi là
SA ISAKMP hay SA IKE Pha này sử dụng một trong hai mode để thiết lập SA:
Trang 32chế độ chính thức (main mode) và chế độ tích cực (aggressive mode) Các thông số bảo mật bắt buộc phải thỏa thuận trong phase 1 này là:
Thuật toán mã hóa: DES, 3DES, AES
Thuật toán hash: MD5, SHA
Phương pháp xác thực: Preshare-key, RSA
Nhóm khóa Diffie-Hellman (version của Diffie-Hellman)
Main mode: sử dụng 6 message để trao đổi thỏa thuận các thông số với nhau
Hai message đầu dùng để thỏa thuận các thông số của chính sách bảo mật
Hai message tiếp theo trao đổi khóa Diffie-Hellman
Hai message cuối cùng thực hiện xác thực giữa các thiết bị
Aggressive mode: sử dụng 3 message
Message đầu tiên gồm các thông số của chính sách bảo mật, khóa Hellman
Diffie- Message thứ hai sẽ phản hồi lại thông số của chính sách bảo mật được chấp nhận, khóa được chấp nhận và xác thực bên nhận
Message cuối cùng sẽ xác thực bên vừa gửi
IKE phase 1.5:
Là một giai đoạn IKE không bắt buộc Giai đoạn 1,5 cung cấp thêm một lớp xác thực, được gọi là Xauth hoặc xác thực Extended Xác thực IPsec được cung cấp trong phase 1 xác thực các thiết bị hoặc thiết bị đầu cuối sử dụng để thiết lập kết nối IPsec Xauth bắt người sử dụng phải xác thực trước khi sử dụng các kết nối Ipsec
IKE phase 2:
Đây là phase bắt buộc, đến phase này thì thiết bị đầu cuối đã có đầy đủ các thông số cần thiết cho kênh truyền an toàn Qúa trình thỏa thuận các thông số ở phase 2 là để thiết lập SA IPSec dựa trên những thông số của phase 1 Quick mode
là phương thức được sử dụng trong phase 2 Các thông số mà Quick mode thỏa thuận trong phase 2:
Giao thức IPSec: ESP hoặc AH
IPSec mode: Tunnel hoặc transport
Trang 33 IPSec SA lifetime: dùng để thỏa thuận lại SA IPSec sau một khoảng thời gian mặc định hoặc được chỉ định
Trao đổi khóa Diffie-Hellman
SA IPSec của phase 2 hoàn toàn khác với SA IKE ở phase 1, SA IKE chứa các thông số để tạo nên kênh truyền bảo mật, còn SA IPSec chứa các thông số để đóng gói dữ liệu theo ESP hay AH, hoạt động theo tunnel mode hay transport mode
Các chức năng khác của IKE giúp cho IKE hoạt động tối ưu hơn bao gồm:
Dead peer detection (DPD) và Cisco IOS keepalives là chức năng bộ đếm thời gian Nghĩa là sau khi hai thiết bị đã tạo được IPsec VPN với nhau rồi thì nó sẽ thường xuyên gửi cho nhau gói keepalives để kiểm tra tình trạng của đối tác Mục đích chính để phát hiện hỏng hóc của các thiết bị Thông thường các gói keepalives sẽ gửi mỗi 10s
Hỗ trợ chức năng NAT-Traversal: Chức năng này có ý nghĩa là nếu trên đường truyền từ A tới B nếu có những thiết bị NAT hay PAT đứng giữa thì lúc này IPSec nếu hoạt động ở chế độ tunel mode và enable chức năng NAT- Trasersal sẽ vẫn chuyển gói tin đi được bình thường Nguyên nhân tại sao phải hỗ trợ chức năng NAT-T thì các gói tin mới tiếp tục đi được? Khi thực hiện quá trình mã hóa bằng ESP thì lúc này các source IP và destination IP đều đã được mã hóa và nằm gọn trong ESP Header Như vậy khi tất cả các thông tin IP và Port bị mã hóa thì kênh truyền IPSec không thể diễn ra quá trình NAT
Do đó NAT-Traversal ra đời trong quá trình hoạt động của IKE nhằm phát hiện và hỗ trợ NAT cho Ipsec Các dữ liệu sẽ không bị đóng gói trực tiếp bởi giao thức IP mà nó sẽ đóng gói thông qua giao thức UDP Và lúc này các thông tin về IP
và Port sẽ nằm trong gói UDP này
2.3.3 Phương pháp trao đổi khóa động RPL
Routing Protocol for Low power and Lossy Networks (RPL) là một giao thức định tuyến vector khoảng cách, ở đây định tuyến dựa trên các đồ thị theo định hướng đích hoặc DODAG (Destination Oriented Direct Acyclic Graph) và là giao