HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
----------------------
Nguyễn Văn Thắng
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 IOT
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
HÀ NỘI – 2019
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
----------------------
Nguyễn Văn Thắng
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 IOT
Chuyên ngành: Hệ thống thông tin
Mã số: 8.48.01.04
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TSKH. Hoàng Đăng Hải.
HÀ NỘI – 2019
i
LỜ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.
ii
LỜ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
iii
MỤ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
iv
2.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
v
DANH 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
CA
Certificate Authorrity
Trung tâm chứng thực
DES
Data Encryption Standard
Chuẩn mã hóa dữ liệu
D-H
Diffie-Hellman
Thuật toán Diffie-Hellman
DPD
Dead peer detection
Bộ đếm thời gian chết
F
Complementary Functions
Hàm bổ xung
GCHQ
Government Communications
Headquarters
Cơ quan tình báo Anh
Phương pháp trao đổi khóa
IKE
Internet Key Exchange
IoT
Internet of things
Internet vạn vật
IPSec
Internet Protocol Security
Bảo mật giao thức IP
Internet Security Association and
Hiệp hội bảo mật Internet và
Key Management Protocol
giao thức quản lý khóa
L
Authentication Functions
Hàm xác thực
M2M
Machine to Machine
Máy với máy
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
ISAKMP
động
vi
RPL
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
Thuật toán mật mã khóa công
RSA
Rivest-Shamir-Adleman
S
Selection Functions
Hàm chọn
SA
System Analysis
Hệ thống phân tích
SHA
Secure Hash Algorithm
Giải thuật băm an toàn
TID
khai
Mã giao dịch
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
vii
DANH 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
1
MỞ ĐẦ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.
2
CHƯƠ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áymá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.
3
1.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.
4
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
5
mạ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
6
duy 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ể.
7
Mỗ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
8
nó 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.
9
Khó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.
10
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
Đặ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ó
11
thể 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.
- Xem thêm -