Tải bản đầy đủ (.docx) (30 trang)

QUẢN LÝ KHÓA CHO HỆ THỐNG NHÚNG Key Management for Embedded systems

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (259.38 KB, 30 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA ĐIỆN TỬ - VIỄN THƠNG
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

BÁO CÁO MƠN HỌC
AN TỒN HỆ THỐNG NHÚNG

QUẢN LÝ KHĨA CHO HỆ THỐNG NHÚNG
(Key Management for Embedded systems)

Hà Nội, 2022


MỤC LỤC

2


DANH MỤC HÌNH VẼ

3


LỜI NÓI ĐẦU
Số lượng hệ thống nhúng tiếp tục phát triển. Một cuộc khảo sát năm 2018
do Barr Group thực hiện với hơn 1.700 người tham gia đã kết luận rằng
"Khoảng 1 trong 6 nhà thiết kế các hệ thống nhúng kết nối Internet có khả năng
bị tấn cơng đang hoàn toàn phớt lờ các phương án bảo mật cho hệ thống. Tình
trạng này càng trở nên trầm trọng hơn do sự xuất hiện của phần mềm độc hại
như Mirai được phát hiện lần đầu vào giữa năm 2016, sau này đã xâm nhập hàng
nghìn hệ thống vì các quy trình bảo mật cơ bản đã bị bỏ qua. Các thiết bị bị


nhiễm trở thành nạn nhân của hơn 62 tổ hợp tên người dùng và mật khẩu mặc
định. Thậm chí một năm sau đó, khơng chỉ Mirai vẫn lây nhiễm trên các thiết bị
IoT mà cịn có một lượng lớn các loại virut tương tự đã xuất hiện, thậm chí cịn
lây nhiễm vào nhiều hệ thống hơn. Ví dụ này và các cuộc tấn công tương nêu
bật tầm quan trọng của CNTT/OT - Bảo mật trong IoT.
Mục tiêu của bài báo cáo này là trình bày một cách có cấu trúc để hỗ trợ
quá trình ra quyết định chọn một phương pháp quản lý khóa phù hợp trong q
trình phát triển ban đầu của một thiết bị nhúng (IoT) hệ thống. Thách thức đối
với những người ra quyết định nằm ở sự không đồng nhất của các thiết bị nhúng,
các ràng buộc riêng lẻ của chúng cũng như số lượng lớn các thành phần quản lý
khóa có thể có và những lợi thế và hạn chế dẫn đến cho hệ thống cuối cùng.
Nhiều yếu tố phải được tính đến như kiến trúc của các hệ thống nhúng, các yêu
cầu bảo mật của chúng và các mối đe dọa đặc biệt. Hơn nữa, chi phí sản xuất,
vận hành và bảo trì cũng như bí quyết sản xuất và cơ sở hạ tầng hiện có cần phải
được xem xét.
Chúng em xin chân thành cảm ơn!!!
NHÓM SINH VIÊN THỰC HIỆN ĐỀ TÀI

4


PHẦN 1. TỔNG QUAN VỀ HỆ THỐNG NHÚNG
1.1. Khái niệm
Hệ thống nhúng (Embedded system) là một thuật ngữ để chỉ một hệ thống
có khả năng tự trị được nhúng vào trong một mơi trường hay một hệ thống mẹ.
Đó là các hệ thống tích hợp cả phần cứng và phần phềm để thực hiện một hoặc
một nhóm chức năng chuyên biệt cụ thể .
Hệ thống nhúng (HTN) thường được thiết kế để thực hiện một chức năng
chuyên biệt nào đó. Khác với các máy tính đa chức năng, chẳng hạn như máy
tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng

nhất định, thường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị
máy móc và phần cứng chuyên dụng mà ta khơng tìm thấy trong một máy tính
đa năng nói chung. Vì hệ thống chỉ được xây dựng cho một số nhiệm vụ nhất
định nên các nhà thiết kế có thể tối ưu hóa nó nhằm giảm thiểu kích thước và chi
phí sản xuất. Các hệ thống nhúng thường được sản xuất hàng loạt với số lượng
lớn. HTN rất đa dạng, phong phú về chủng loại. Đó có thể là những thiết bị cầm
tay nhỏ gọn như đồng hồ kĩ thuật số và máy chơi nhạc MP3, hoặc những sản
phẩm lớn như đèn giao thơng, bộ kiểm sốt trong nhà máy hoặc hệ thống kiểm
soát các máy năng lượng hạt nhân. Xét về độ phức tạp, hệ thống nhúng có thể
rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết
bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớn.
1.2. Các đặc điểm của hệ thống nhúng
Hệ thống nhúng thường có một số đặc điểm chung như sau:
• Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chun
dụng chứ khơng phải đóng vai trị là các hệ thống máy tính đa chức năng.
Một số hệ thống địi hỏi ràng buộc về tính hoạt động thời gian thực để
đảm bảo độ an toàn và tính ứng dụng. Một số hệ thống khơng địi hỏi
hoặc ràng buộc chặt chẽ, cho phép đơn giản hóa hệ thống phần cứng để
giảm thiểu chi phí sản xuất.
5


• Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một
hệ thống phức tạp nằm trong thiết bị mà nó điều khiển.
• Phần mềm được viết cho các hệ thống nhúng được gọi là firmware và
được lưu trữ trong các chip bộ nhớ chỉ đọc (ROM - Read Only Memory)
hoặc bộ nhớ flash chứ không phải là trong một ổ đĩa. Phần mềm thường
chạy với số tài ngun phần cứng hạn chế: khơng có bàn phím, màn hình
hoặc có nhưng với kích thước nhỏ, bộ nhớ hạn chế.
1.2.1. Giao diện

Các hệ thống nhúng có thể khơng có giao diện (đối với những hệ thống
đơn nhiệm) hoặc có đầy đủ giao diện giao tiếp với người dùng tương tự như các
hệ điều hành trong các thiết bị để bàn. Đối với các hệ thống đơn giản, thiết bị
nhúng sử dụng nút bấm, đèn LED và hiển thị chữ cỡ nhỏ hoặc chỉ hiển thị số,
thường đi kèm với một hệ thống menu đơn giản.
1.2.2. Kiến trúc CPU
Các bộ xử lý trong hệ thống nhúng có thể được chia thành hai loại: Vi xử
lý và vi điều khiển. Các vi điều khiển thường có các thiết bị ngoại vi được tích
hợp trên chip nhằm giảm kích thước của hệ thống. Có rất nhiều loại kiến trúc
CPU được sử dụng trong thiết kế hệ nhúng như ARM, MIPS, Coldfire/68k,
PowerPC, x86, PIC, 8051, Atmel AVR… Điều này trái ngược với các loại máy
tính để bàn, thường bị hạn chế với một vài kiến trúc máy tính nhất định. Các hệ
thống nhúng có kích thước nhỏ và được thiết kế để hoạt động trong môi trường
công nghiệp thường lựa chọn PC/104 và PC/104++ làm nền tảng. Những hệ
thống này thường sử dụng DOS, Linux hoặc các hệ điều hành nhúng thời gian
thực như QNX hay VxWorks. Còn các hệ thống nhúng có kích thước rất lớn
thường sử dụng một cấu hình thơng dụng là hệ thống on chip (System on a chip
– SoC), một bảng mạch tích hợp cho một ứng dụng cụ thể (An Application
Specific Integrated Circuit – ASIC). Sau đó nhân CPU thêm vào như một phần
của thiết kế chip. Một chiến lược tương tự là sử dụng FPGA (field-

6


programmable gate array) và lập trình cho nó với những thành phần nguyên lý
thiết kế bao gồm cả CPU.
1.2.3. Thiết bị ngoại vi
Hệ thống nhúng giao tiếp với bên ngoài thơng qua các thiết bị ngoại vi, ví dụ
như:







Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485.
Universal Serial Bus (USB).
Networks: Controller Area Network, LonWorks.
Bộ định thời: PLL(s), Capture/Compare và Time Processing Units.
Discrete IO: General Purpose Input/Output (GPIO).

1.2.4. Công cụ phát triển
Tương tự như các sản phẩm phần mềm khác, phần mềm hệ thống nhúng
cũng được phát triển nhờ việc sử dụng các trình biên dịch (compilers), chương
trình dịch hợp ngữ (assembler) hoặc các công cụ gỡ rối (debuggers). Tuy nhiên,
các nhà thiết kế hệ thống nhúng có thể sử dụng một số cơng cụ chun dụng
như:
• Bộ gỡ rối mạch hoặc các chương trình mơ phỏng (emulator).
• Tiện ích để thêm các giá trị checksum hoặc CRC vào chương trình, giúp
hệ thống nhúng có thể kiểm tra tính hợp lệ của chương trình đó.
• Đối với các hệ thống xử lý tín hiệu số, người phát triển hệ thống có thể sử
dụng phần mềm workbench như MathCad hoặc Mathematica để mô
phỏng các phép tốn.
• Các trình biên dịch và trình liên kết (linker) chuyên dụng được sử dụng để
tối ưu hóa một thiết bị phần cứng.
• Một hệ thống nhúng có thể có ngơn ngữ lập trình và cơng cụ thiết kế riêng
của nó hoặc sử dụng và cải tiến từ một ngơn ngữ đã có sẵn.
1.2.5. Độ tin cậy
Các hệ thống nhúng thường nằm trong các cỗ máy được kỳ vọng là sẽ
chạy hàng năm trời liên tục mà không bị lỗi hoặc có thể khơi phục hệ thống khi

gặp lỗi. Vì thế, các phần mềm hệ thống nhúng được phát triển và kiểm thử một
cách cẩn thận hơn là phần mềm cho máy tính cá nhân. Ngồi ra, các thiết bị rời
7


không đáng tin cậy như ổ đĩa, công tắc hoặc nút bấm thường bị hạn chế sử dụng.
Việc khôi phục hệ thống khi gặp lỗi có thể được thực hiện bằng cách sử dụng
các kỹ thuật như watchdog timer – nếu phần mềm khơng đều đặn nhận được các
tín hiệu watchdog định kì thì hệ thống sẽ bị khởi động lại.
Một số vấn đề cụ thể về độ tin cậy như:
• Hệ thống khơng thể ngừng để sửa chữa một cách an tồn, ví dụ như ở các
hệ thống khơng gian, hệ thống dây cáp dưới đáy biển, các đèn hiệu dẫn
đường… Giải pháp đưa ra là chuyển sang sử dụng các hệ thống con dự trữ
hoặc các phần mềm cung cấp một phần chức năng.
• Hệ thống phải được chạy liên tục vì tính an tồn, ví dụ như các thiết bị
dẫn đường máy bay, thiết bị kiểm soát độ an tồn trong các nhà máy hóa
chất… Giải pháp đưa ra là lựa chọn backup hệ thống.
• Nếu hệ thống ngừng hoạt động sẽ gây tổn thất rất nhiều tiền của ví dụ như
các dịch vụ bn bán tự động, hệ thống chuyển tiền, hệ thống kiểm soát
trong các nhà máy …
1.3. Các thành phần cơ bản trong kiến trúc phần cứng hệ thống nhúng

Hình 1.1. Đơn vị xử lý trung tâm CPU
1.3.1. Đơn vị xử lý trung tâm CPU
Người ta vẫn biết tới phần lõi xử lý của các bộ vi xử lý (VXL) là đơn vị
xử lý trung tâm CPU (Central Processing Unit) đóng vai trị như bộ não chịu
trách nhiệm thực thi các phép tính và thực hiện các lệnh. Phần chính của CPU
8



đảm nhận chức năng này là đơn vị logic toán học (ALU - Arthimetic Logic
Unit). Ngoài ra để hỗ trợ hoạt động cho ALU còn thêm một số thành phần khác
như bộ giải mã (decoder), bộ tuần tự (Sequencer) và các thanh ghi.
Bộ giải mã chuyển đổi (thông dịch) các lệnh lưu trữ ở trong bộ mã
chương trình thành các mã mà ALU có thể hiểu được và thực thi. Bộ tuần tự có
nhiệm vụ quản lý dịng dữ liệu trao đổi qua bus dữ liệu của VXL. Các thanh ghi
được sử dụng để CPU lưu trữ tạm thời các dữ liệu chính cho việc thực thi các
lệnh và chúng có thể thay đổi nội dung trong q trình hoạt động của ALU. Hầu
hết các thanh ghi của VXL đều là các bộ nhớ được tham chiếu (mapped) và hội
nhập với khu vực bộ nhớ và có thể được sử dụng như bất kỳ khu vực nhớ khác.
Các thanh ghi có chức năng lưu trữ trạng thái của CPU. Nếu các nội dung
của bộ nhớ VXL và các nội dung của các thanh ghi tại một thời điểm nào đó
được lữu giữ đầy đủ thì hồn tồn có thể tạm dừng thực hiện phần chương trình
hiện tại trong một khoảng thời gian bất kỳ và có thể trở lại trạng thái của CPU
trước đó. Thực tế số lượng các thanh ghi và tên gọi của chúng cũng khác nhau
trong các họ VXL/VĐK và thường do chính các nhà chế tạo qui định, nhưng về
cơ bản chúng đều có chung các chức năng như đã nêu.
Khi thứ tự byte trong bộ nhớ đã được xác định thì người thiết kế phần
cứng phải thực hiện một số quyết định xem CPU sẽ lưu dữ liệu đó như thế nào.
Cơ chế này cũng khác nhau tuỳ theo kiến trúc tập lệnh được áp dụng. Có ba loại
hình cơ bản:
• Kiến trúc ngăn xếp.
• Kiến trúc bộ tích luỹ.
• Kiến trúc thanh ghi mục đích chung.
1.3.2. Xung nhịp và trạng thái tín hiệu
Trong VXL và các vi mạch số nói chung, hoạt động của hệ thống được
thực hiện đồng bộ hoặc dị bộ theo các xung nhịp chuẩn. Các nhịp đó được lấy
trực tiếp hoặc gián tiếp từ một nguồn xung chuẩn thường là các mạch tạo xung.
Để mô tả hoạt động của hệ thống, các tín hiệu dữ liệu và điều khiển thường được
9



mô tả trạng thái theo giản đồ thời gian và mức tín hiệu như được chỉ ra trong
Hình 2.3.

Hình 1.2. Mơ tả và trạng thái tín hiệu hoạt động trong VXL
Một số đặc trưng về thời gian của các trạng thái hoạt động cơ bản của các
tín hiệu hệ thống gồm có như sau:







Thời gian tăng hoặc giảm.
Thời gian trễ lan truyền tín hiệu.
Thời gian thiết lập và lưu giữ.
Trễ cấm hoạt động và trạng thái treo (Tri-State).
Độ rộng xung.
Tần số nhịp xung hoạt động.

1.3.3. Bus địa chỉ, dữ liệu và điều khiển
1.3.3.1. Bus địa chỉ
Bus địa chỉ là các đường dẫn tín hiệu logic một chiều để truyền địa chỉ
tham chiếu tới các khu vực bộ nhớ và chỉ ra dữ liệu được lưu giữ ở đâu trong
không gian bộ nhớ. Trong qúa trình hoạt động CPU sẽ điều khiển bus địa chỉ để
truyền dữ liệu giữa các khu vực bộ nhớ và CPU. Các địa chỉ thông thường tham
chiếu tới các khu vực bộ nhớ hoặc các khu vực vào ra, hoặc ngoại vi. Dữ liệu
được lưu ở các khu vực đó thường là 8bit (1 byte), 16bit, hoặc 32bit tùy thuộc

vào cấu trúc từng loại vi xử lý/vi điều khiển. Hầu hết các vi điều khiển thường
đánh địa chỉ dữ liệu theo khối 8bit. Các loại vi xử lý 8bit, 16bit và
Chúng ta vẫn thường được biết tới khái niệm địa chỉ truy nhập trực tiếp,
đó là khả năng CPU có thể tham chiếu và truy nhập tới trong một chu kỳ bus.
Nếu vi xử lý có N bit địa chỉ tức là nó có thể đánh địa chỉ được 2N khu vực mà
CPU có thể tham chiếu trực tiếp tới. Qui ước các khu vực được đánh địa chỉ bắt
10


đầu từ địa chỉ 0 và tăng dần đến 2N-1. Hiện nay các vi xử lý và vi điều khiển nói
chung chủ yếu vẫn sử dụng phổ biến các bus dữ liệu có độ rộng là 16, 20, 24,
hoặc 32bit. Nếu đánh địa chỉ theo byte thì một vi xử lý 16bit có thể đánh địa chỉ
được 216 khu vực bộ nhớ tức là 65,536 byte = 64Kbyte. Tuy nhiên có một số
khu vực bộ nhớ mà CPU khơng thể truy nhập trực tiếp tới tức là phải sử dụng
nhiều nhịp bus để truy nhập, thông thường phải kết hợp với việc điều khiển phần
mềm. Kỹ thuật này chủ yếu được sử dụng để mở rộng bộ nhớ và thường được
biết tới với khái niệm đánh địa chỉ trang nhớ khi nhu cầu đánh địa chỉ khu vực
nhớ vượt quá phạm vi có thể đánh địa chỉ truy nhập trực tiếp.
1.3.3.2. Bus dữ liệu
Bus dữ liệu là các kênh truyền tải thông tin theo hai chiều giữa CPU và bộ
nhớ hoặc các thiết bị ngoại vi vào ra. Bus dữ liệu được điều khiển bởi CPU để
đọc hoặc viết các dữ liệu hoặc mã lệnh thực thi trong quá trình hoạt động của
CPU. Độ rộng của bus dữ liệu nói chung sẽ xác định được lượng dữ liệu có thể
truyền và trao đổi trên bus. Tốc độ truyền hay trao đổi dữ liệu thường được tính
theo đơn vị là [byte/s]. Số lượng đường bit dữ liệu sẽ cho phép xác định được số
lượng bit có thể lưu trữ trong mỗi khu vực tham chiếu trực tiếp. Nếu một bus dữ
liệu có khả năng thực hiện một lần truyền trong 1 μs, thì bus dữ liệu 8bit sẽ có
băng thơng là 1Mbyte/s, bus 16bit sẽ có băng thơng là 2Mbyte/ s và bus 32bit sẽ
có băng thơng là 4Mbyte/s. Trong trường hợp bus dữ liệu 8bit với chu kỳ bus là
T=1μs (tức là sẽ truyền được 1byte/1chu kỳ) thì sẽ truyền được 1 Mbyte trong

1s hay 2Mbyte trong 2s.
1.3.3.3. Bus điều khiển
Bus điều khiển phục vụ truyền tải các thông tin dữ liệu để điều khiển hoạt
động của hệ thống. Thông thường các dữ liệu điều khiển bao gồm các tín hiệu
chu kỳ để đồng bộ các nhịp chuyển động và hoạt động của hệ thống. Bus điều
khiển thường được điều khiển bởi CPU để đồng bộ hóa nhịp hoạt động và dữ
liệu trao đổi trên các bus. Trong trường hợp vi xử lý sử dụng dồn kênh bus dữ
liệu và bus địa chỉ tức là một phần hoặc toàn bộ bus dữ liệu sẽ được sử dụng
11


chung chia sẻ với bus địa chỉ thì cần một tín hiệu điều khiển để phân nhịp truy
nhập cho phép chốt lưu trữ thông tin địa chỉ mỗi khi bắt đầu một chu kỳ truyền.
Một ví dụ về các chu kỳ bus và sự đồng bộ của chúng trong hoạt động của hệ
thống bus địa chỉ và dữ liệu dồn kênh được chỉ ra trong Hình 2.10: Đây là hoạt
động điển hình trong họ vi điều khiển 8051 và nhiều loại tương tự.
1.3.4. Bộ nhớ
1.3.4.1. Kiến trúc bộ nhớ
Kiến trúc bộ nhớ được chia ra làm hai loại chính và được áp dụng rộng rãi
trong hầu hết các Chip xử lý nhúng hiện nay là kiến trúc bộ nhớ von Neumann
và Havard. Trong kiến trúc von Neumann không phân biệt vùng chứa dữ liệu và
mã chương trình. Cả chương trình và dữ liệu đều được truy nhập theo cùng một
đường. Điều này cho phép đưa dữ liệu vào vùng mã chương trình ROM, và cũng
có thể lưu mã chương trình vào vùng dữ liệu RAM và thực hiện từ đó.

Hình 1.3. Kiến trúc bộ nhớ von Neumann và Havard
1.3.4.2. Bộ nhớ chương trình – PROM (Programmable Read Only Memory)
Vùng để lưu mã chương trình. Có ba loại bộ nhớ PROM thông dụng được
sử dụng cho hệ nhúng và sẽ được giới thiệu lần lượt sau đây:
EPROM :Bao gồm một mảng các transistor khả trình. Mã chương trình sẽ

được ghi trực tiếp và vi xử lý có thể đọc ra để thực hiện. EPROM có thể xố
được bằng tia cực tím và có thể được lập trình lại.
Bộ nhớ Flash: Cũng giống như EPROM được cấu tạo bởi một mảng
transistor khả trình nhưng có thể xố được bằng điện và chính vì vậy có thể nạp
lại chương trình mà khơng cần tách ra khỏi nền phần cứng VXL. Ưu điểm của
12


bộ nhớ flash là có thể lập trình trực tiếp trên mạch cứng mà nó đang thực thi trên
đó.
Bộ nhớ dữ liệu – RAM: Vùng để lưu hoặc trao đổi dữ liệu trung gian trong
quá trình thực hiện chương trình.
1.3.5. Ngoại vi - Bộ định thời/Bộ đếm
Hầu hết các chip vi điều khiển ngày nay đều có ít nhất một bộ định thời
gian/bộ đếm có thể cấu hình hoạt động linh hoạt theo các mode phục vụ nhiều
mục đích trong các ứng dụng xử lý, điều khiển. Các bộ định thời gian cho phép
tạo ra các chuỗi xung và ngắt thời gian hoặc đếm theo các khoảng thời gian có
thể lập trình. Chúng thường được ứng dụng phổ biến trong các nhiệm vụ đếm
xung, đo khoảng thời gian các sự kiện, hoặc định chu kỳ thời gian thực thi các
tác vụ. Một trong những ứng dụng quan trọng của bộ định thời gian là tạo nhịp
từ bộ tạo xung thạch anh cho bộ truyền thông dị bộ đa năng hoạt động. Thực
chất đó là ứng dụng để thực hiện phép chia tần số. Để đạt được độ chính xác, tần
số thạch anh thường được chọn sao cho các phép chia số nguyên được thực hiện
chính xác đảm bảo cho tốc độ truyền thơng dữ liệu được tạo ra chính xác. Chính
vì vậy họ vi điều khiển 80C51 thường hay sử dụng thạch anh có tần số dao động
là 11.059 thay vì 12MHz để tạo ra nhịp hoạt động truyền thơng tốc độ chuẩn
9600.

13



PHẦN 2. QUẢN LÝ KHÓA CHO HỆ THỐNG NHÚNG
2.1. Khái niệm về quản lý khóa
Thiết bị nhúng có mặt khắp nơi trong thế giới ngày nay. Chúng được sử
dụng nhiều trong một số ngành công nghiệp, chẳng hạn như ô tơ, thiết bị, cấy
ghép y tế, tự động hóa cơng nghiệp và tự động hóa gia đình. Các thiết bị nhúng
đang được kết nối với Internet of Things, khiến chúng phải đối mặt với vơ số
các cuộc tấn cơng có thể được thực hiện bởi các tin tặc độc hại, gây ra tổn thất
lớn về tài chính và tổn hại đến danh tiếng của các ngành công nghiệp này.
Độ an toàn của bất kỳ hệ thống mật mã nào cũng đều phụ thuộc vào độ an
tồn của khóa. Vì lý do đó, khóa ln được bảo vệ ở mức cao nhất. Tuy nhiên,
trong quá trình thực thi, các thao tác mật mã ln tiềm ẩn nguy cơ mất an tồn
đối với khóa. Ví dụ, nếu chúng ta sử dụng cùng một khóa để mã hóa nhiều thơng
điệp trong một thời gian dài thì kẻ tấn cơng có thể thu thập được một số lượng
bản mã nhất định, sau đó nhờ vào việc khai thác thông tin liên quan đến những
thông điệp đã dùng mà kẻ tấn cơng có thể khám phá ra tất cả hoặc một phần của
khóa. Nếu một khóa bị lộ vì lý do nào đó thì sẽ gây ra sự nguy hiểm tiềm ẩn cho
những thành phần cịn sử dụng khóa. Do đó, vấn đề quan trọng là quản lý các
khố mã. Quản lý khóa (key management) chính là thuật ngữ dùng để nói đến
tồn bộ hoạt động liên quan đến một vịng đời (life-cycle) của khóa như việc
sinh khóa, phân phối, sử dụng, lưu trữ và hủy bỏ khóa.
Trên cơ sở mục tiêu của quản lý khóa là quản trị và sử dụng an tồn các
dịch vụ khóa, cần duy trì các quan hệ về khóa và dữ liệu khóa trong mơi trường
tiềm ẩn các nguy cơ bị tấn cơng. Bởi vậy Quản lý khóa được xem là tập hợp các
kỹ thuật và thủ tục hỗ trợ cho việc thiết lập và duy trì các mối quan hệ về khóa
giữa các bên có thẩm quyền.
Phân phối khố là một q trình đặc biệt quan trọng trong quản lý khóa,
bởi trong khi q trình tạo khóa và tích luỹ khóa thường được tập trung tại một
trung tâm và được bảo vệ chặt chẽ thì quá trình phân phối khóa là lúc có thể xảy
ra các sơ hở để những đối tượng khơng có thẩm quyền tấn cơng nhằm sở hữu

14


trái phép khóa mã. Mặt khác, một hệ thống thơng tin mật có được vận hành hồn
hảo hay khơng phụ thuộc chủ yếu vào q trình phân phối khóa. Vì vậy, phân
phối khóa cần đảm bảo tính chính xác, linh hoạt và các khóa cần được bảo vệ
một cách an tồn nhất.
Quản lý khóa đóng một vai trị hết sức quan trọng trong mật mã, nó là cơ
sở an tồn cho các kỹ thuật mật mã được sử dụng nhằm cung cấp tính bí mật,
xác thực thực thể, xác thực nguồn gốc dữ liệu, toàn vẹn dữ liệu và chữ ký số.
Các thủ tục quản lý khóa phụ thuộc vào các cơ chế mật mã được dùng đến, ý
định sử dụng khóa và chính sách an tồn được áp dụng. Quản lý khóa cũng bao
gồm cả các chức năng được thi hành trong một thiết bị mật mã.
Theo xu thế phát triển, quản lý khóa dần được tiêu chuẩn hóa nhằm đưa
đến các cơ chế sử dụng thống nhất đáp ứng vấn đề tương thích giữa các hệ thống
sử dụng kỹ thuật mật mã. Các tiêu chuẩn về quản lý khóa đã được đưa ra nhằm
giúp người dùng có được các cơ chế thỏa thuận và trao đổi khóa dựa trên các
nghiên cứu mang tính khoa học.
2.2. Phân loại quản lý khóa
Quản lý khóa thơng thường được phân loại theo mật mã cơ sở cơ bản
được sử dụng thành đối xứng và bất đối xứng hoặc bởi kiến trúc kết quả thành
tập trung, phân cấp và phân phối. Các tiêu chí phân nhóm ít phổ biến hơn là
phân tách theo loại hình tổ chức (tự tổ chức, TTP), các mẫu giao tiếp được sử
dụng (ngang hàng, nhóm, hỗn hợp), phương pháp tiếp cận thiết lập chính (xác
suất, xác định), bao gồm dữ liệu sinh trắc học (sinh trắc học, phi sinh trắc học),
cấu trúc liên kết mạng (phân cấp, phẳng), độ tin cậy của mạng (phụ thuộc vào
mạng, độc lập với mạng) v.v ... Có thể tìm thấy tổng quan trong Hình 1.
Các phân loại này có thể được sử dụng để mơ tả các cách tiếp cận cụ thể.
Ví dụ, cách tiếp cận trong có thể được phác thảo là cách tiếp cận kết hợp, phi tập
trung, độc lập với mạng, tự tổ chức và phi sinh trắc học. Bản thân mỗi lớp đều

có ưu và nhược điểm tùy thuộc vào từng trường hợp sử dụng. Phần này giới

15


thiệu và phân tích các lớp đó, đồng thời nêu bật các lợi ích và hạn chế khi sử
dụng với các hệ thống nhúng.
2.2.1. Mật mã cơ sở
Các phương pháp tiếp cận có thể được phân biệt bằng các mật mã gốc đã
sử dụng. Chúng có thể dựa trên mật mã đối xứng hoặc bất đối xứng hoặc sử
dụng cả hai mã gốc, trong trường hợp đó chúng được gọi là mã hỗn hợp. Trong
bối cảnh của công việc này, các phương pháp kết hợp là những phương pháp kết
hợp việc quản lý các khóa đối xứng và bất đối xứng. Một cách tiếp cận phi tập
trung được thực hiện bằng cách sử dụng các cụm. Trong mỗi cụm, các phím đối
xứng được sử dụng. Giao tiếp giữa các cụm được bảo mật bằng cách sử dụng
các khóa khơng đối xứng.
Khơng tính các phương pháp tiếp cận kết hợp là những phương pháp sử
dụng các khóa đối xứng độc quyền ở cấp độ giao thức. Các phương pháp tiếp
cận bất đối xứng thường sử dụng các giao thức sử dụng mật mã khơng đối xứng
để thiết lập khóa phiên đối xứng an tồn với đối tác truyền thơng. Lưu lượng
truy cập sau đó được mã hóa bằng các thuật tốn đối xứng để tăng cường tính
tốn và hiệu quả năng lượng. Một cách hiệu quả phổ biến để thiết lập các khóa
phiên đối xứng là giao thức ECDH. Khóa được sử dụng riêng cho một hoặc một
phần của phiên và chỉ được lưu trên bộ nhớ dễ bay hơi.
Để đảm bảo cùng một mức độ bảo mật, các phương pháp tiếp cận bất đối
xứng cần các khóa dài hơn so với các phương pháp đối xứng. Khóa AES-128
đối xứng có độ dài 128 bit trong khi khóa RSA khơng đối xứng có độ bền bảo
mật tương đương cần 3072 bit. Do đó, cần nhiều khả năng tính tốn và lưu trữ
hơn. Hiệu ứng này có thể được giảm bớt khi sử dụng thuật toán ECC. Để đạt
được sức mạnh bảo mật tương tự như AES-128, thuật tốn ECDSA khơng đối

xứng cần khoảng 283 bit, chỉ bằng một phần nhỏ của RSA.

16


Hình 2.4. Phân loại các phương pháp tiếp cận quản lý khóa
Các phương pháp tiếp cận khơng đối xứng hoạt động tốt hơn trong giao
tiếp điểm - điểm với nhiều thực thể riêng lẻ. Nếu một khóa đối xứng duy nhất
được sử dụng cho mọi kết nối, (n - 1) khóa phải được lưu trữ theo cách an tồn
trên mỗi nút hoặc tổng số (n (n-1) / 2) khóa trên tồn hệ. Vì mã hóa bất đối xứng
sử dụng khóa cơng khai của đối tác truyền thơng có thể được xuất bản tự do,
trong một thiết lập tối thiểu, chỉ khóa riêng tư của riêng bạn cần được bảo vệ.
Khóa cơng khai của các đối tác liên lạc có thể được xác minh bằng TTP.
Các phương pháp tiếp cận khác nhau tồn tại để giảm thiểu các khóa đối
xứng cần thiết, như các phương pháp dựa trên ma trận hoặc các phương pháp
dựa trên nhóm chính. Hơn nữa, các giao thức khơng đối xứng có thể được điều
chỉnh để phù hợp với các hạn chế của hệ thống nhúng.
17


Khóa bí mật khơng đối xứng được sử dụng để xác thực có thể được tạo
trực tiếp trên các thiết bị nhúng, mặc dù tùy thuộc vào mơ hình tin cậy được sử
dụng, chúng vẫn có thể cần được bên thứ ba đáng tin cậy chứng nhận. Điều này
đảm bảo rằng miễn là khóa khơng bị xâm phạm thì có thể đảm bảo tính khơng
thối thác mạnh mẽ. Các khóa đối xứng ln được chia sẻ giữa ít nhất hai thực
thể, khơng cung cấp tính năng khơng thối thác. Điều này cũng ảnh hưởng đến
việc lưu trữ khóa, vì các khóa khơng đối xứng chỉ cần được bảo vệ trên một thiết
bị, trong khi các khóa đối xứng phải được bảo vệ trên tất cả các đối tác giao tiếp.
Một ưu điểm khác của khóa bất đối xứng là khi được tạo trực tiếp trên
thiết bị, khóa riêng khơng bao giờ cần phải được chuyển sang thiết bị khác. Các

khóa đối xứng ln phải được truyền đi, điều này có thể ảnh hưởng đến tính bảo
mật và tính tồn vẹn của khóa.
2.2.2. Kiến trúc
Trong các phương pháp tiếp cận tập trung, tồn tại một thực thể được chỉ
định chịu trách nhiệm độc quyền cho các nhiệm vụ cụ thể, ví dụ: tạo và phân
phối khóa. Ví dụ cho một thực thể được chỉ định là trưởng nhóm của cách tiếp
cận theo nhóm, KDC (Key Distribution Center: Trung tâm phân phối khóa) theo
cách tiếp cận đối xứng hoặc CA theo cách tiếp cận không đối xứng. Khi một tập
hợp thiết bị cần một khóa chung để mã hóa an tồn thơng tin liên lạc giữa nhau,
chỉ một thực thể chịu trách nhiệm phân phối khóa nhóm đó.
Các phương pháp tiếp cận phi tập trung chia sẻ trách nhiệm giữa nhiều
thực thể. Ví dụ, trong các phương pháp tiếp cận dựa trên cụm, tồn tại một thiết
bị được chỉ định trong mỗi nhóm con, được gọi là LC, chịu trách nhiệm xử lý
các nhiệm vụ quản lý khóa nhất định. Thiết bị này thường ít bị hạn chế hơn so
với các thành viên khác của cụm. Khi tuân theo ví dụ được sử dụng trước đây,
mỗi trưởng nhóm sẽ chịu trách nhiệm phân phối khóa nhóm cho các thành viên
trong nhóm của mình. Hệ thống kết quả sẽ được phân cấp nhưng mỗi nhóm cho
chính nó sẽ được tập trung.

18


Trong các phương pháp tiếp cận phân tán, các thành viên nhóm hợp tác để
hồn thành các mục tiêu quản lý khóa nhất định. Khơng có thực thể chịu trách
nhiệm độc quyền nào tồn tại. Để bám sát ví dụ trước, trong các phương pháp
tiếp cận phân tán, các thiết bị làm việc cùng nhau để thống nhất một khóa nhóm.
Các phương pháp tiếp cận tập trung được sử dụng và nghiên cứu rộng rãi
nhất. Ưu điểm chính của chúng là hiệu quả trong cả truyền tải và tính tốn. Các
vấn đề phổ biến trong các phương pháp tiếp cận tập trung là chúng gây ra một
điểm thất bại duy nhất và có thể là điểm nghẽn trong các mạng lớn. Các phương

pháp tiếp cận tập trung hoàn toàn yêu cầu sự tin tưởng vào thực thể tạo và phân
phối khóa bí mật. Các phương pháp tiếp cận tập trung khơng thực thi TTP lẫn
nhau. Đây có thể là một lợi thế nếu các thành viên của một nhóm muốn giao tiếp
một cách an tồn và khơng thể tin tưởng vào nhà cung cấp khóa tập trung, ví dụ:
trong một cuộc trò chuyện trên internet. Trong một nỗ lực như vậy, một thực thể
tập trung có thể thiết lập khóa cho kết nối an toàn giữa những người tham gia
nhưng khơng tham gia vào việc thiết lập khóa nhóm khác. Một thuộc tính và hạn
chế có thể xảy ra là đơn vị chuyên cung cấp dịch vụ (ví dụ: phân phối khóa) chỉ
có thể được sử dụng bởi các thiết bị nếu dịch vụ có thể truy cập được. Ví dụ,
điều này có thể trở thành một vấn đề nếu một hệ thống ngoại tuyến khác dựa vào
KDC đám mây. Các phương pháp tiếp cận tập trung dễ gặp lỗi về cơ sở hạ tầng
và “có thể bị kém sẵn sàng và khả năng mở rộng kém do độ tin cậy thấp và kết
nối kém của mạng”.
Để giảm chi phí quản lý khóa của các mạng tập trung quy mơ lớn, các
phương pháp tiếp cận phi tập trung có thể được sử dụng. Chi phí được chia sẻ
giữa LC. Nếu một bộ điều khiển bị lỗi, điều này sẽ không ảnh hưởng đến các
nhóm / cụm khác, làm giảm tác động của vấn đề lỗi một. Giao tiếp giữa các
nhóm có thể dẫn đến sự chậm trễ, vì dữ liệu cần được truyền qua LC. Vì khơng
có khóa nhóm tồn cầu, nên yêu cầu nhiều hoạt động mã hóa và giải mã. Đây có
thể là một nút thắt cổ chai của hệ thống và làm tăng khối lượng công việc của
CPU và tiêu thụ năng lượng sau đó.
19


Các phương pháp tiếp cận phân tán giải quyết vấn đề điểm thất bại đơn lẻ.
Chúng cải thiện độ tin cậy của hệ thống tổng thể, giảm tắc nghẽn trong các
mạng và dễ chịu hơn đối với sự cố cơ sở hạ tầng. Những thách thức tồn tại liên
quan đến quyền riêng tư , chi phí lưu trữ và giao tiếp. Điều này có thể ảnh
hưởng đến tuổi thọ của pin cũng như thời gian truyền tải.
Việc phân loại thành tập trung, phi tập trung và phân tán được sử dụng

phổ biến nhất trong giao tiếp nhóm.
2.2.3. Loại hình tổ chức
Các phương pháp tiếp cận được tự tổ chức nếu các thiết bị “không phải
dựa vào TTP tập trung trực tuyến để cung cấp các dịch vụ quản lý khóa trong
quá trình triển khai mạng”. Chuỗi chứng chỉ hoặc quản lý khóa dựa trên tự
chứng nhận có thể được lấy làm ví dụ. Những cách tiếp cận đó dựa trên TTP
được phân phối một phần. Ưu điểm là họ có thể xử lý ủy quyền ngoại tuyến.
Nhược điểm là các nút có thể hành động ích kỷ nếu các nút TTP rời khỏi nhóm,
do chi phí nếu được chọn làm TTP mới. Các cách tiếp cận khác như vậy dựa vào
tiếp xúc vật lý để “khởi tạo sự tin cậy và phân phối khóa”.
Khi sử dụng các phương pháp tiếp cận có tổ chức TTP, các tùy chọn khác
nhau tồn tại với số lượng bao nhiêu và bên thứ ba cần thực hiện những nhiệm vụ
nào. Trong ví dụ hệ thống mã hóa dựa trên danh tính, các phương pháp tiếp cận
khóa cơng khai như vậy được thay thế bằng một hoặc một tập hợp các thông số
nhận dạng công khai (ID) duy nhất. Để tạo khóa riêng tư, các thiết bị truyền ID
công khai của chúng tới một TTP được gọi là PKG. Để mã hóa thơng báo cho
một thiết bị cụ thể D, cần có khóa cơng khai của PKG và các tham số nhận dạng
công khai của D. TTP chỉ cần thiết cho việc tạo khóa ban đầu. Sau đó, hệ thống
có thể hoạt động ở chế độ phi tập trung. Tương tự như các phương pháp tiếp cận
tập trung khác, PKG biết tất cả các khóa có thể vi phạm tài sản bảo mật và
quyền riêng tư (vấn đề ký quỹ khóa). Để giảm thiểu sự cố này, PKG có thể được
sử dụng ngoại tuyến ngay sau khi thiết lập hệ thống hoàn tất. Một lợi thế của
phương pháp tiếp cận dựa trên danh tính, đồng thời và vấn đề mở là việc thu hồi
20


các khóa. Ưu điểm là khơng cần CRL. Nếu một thực thể khơng cịn trong hệ
thống hoặc khơng thể truy cập được, thì danh tính của nó khơng thể được sử
dụng để mã hóa tin nhắn. Vấn đề nằm ở các khóa cá nhân bị xâm phạm. Trong
trường hợp này có thể thao tác các tin nhắn đi và đến. Một giải pháp là thêm dấu

thời gian vào mã định danh công khai để rút ngắn chu kỳ mật mã. Điều này làm
tăng thời gian PKG cần thiết vì các khóa riêng phải được cấp thường xuyên hơn.
Một phương pháp khác là thêm TTP thứ hai được gọi là Máy chủ thu hồi danh
tính (IRS). Trước khi giao tiếp, mỗi thực thể u cầu trạng thái thu hồi cho chính
nó và được ký. Sau đó, các thực thể có thể gửi và nhận các tin nhắn được mã
hóa. Cách tiếp cận này để giải quyết vấn đề thu hồi chìa khóa đưa ra nhu cầu về
một TTP có thể tiếp cận được.
2.2.4. Mơ hình giao tiếp
Các phương pháp quản lý khóa có thể khác nhau tùy theo loại thơng tin
liên lạc an toàn cần thiết trong các hệ thống được quản lý. Giao tiếp có thể xảy
ra theo kiểu ngang hàng (còn được gọi là unicast hoặc point-to-point (ISO,
2018)) với các nút khác hoặc TTP, trong các nhóm( cịn được gọi là multicast)
hoặc sự kết hợp của những thứ đó. Quản lý chủ chốt phải đối mặt với những
thách thức khác nhau tùy thuộc vào các mơ hình giao tiếp được sử dụng.
Giao tiếp Unicast (Point-To-Point) cần các khóa duy nhất giữa hai thực
thể, thường được gọi là khóa theo cặp. Tin nhắn chỉ có thể được đọc bởi hai thực
thể này. Chúng phải được thống nhất trong mỗi phiên làm việc và chỉ được sử
dụng một lần. Những thách thức là trong việc thiết lập sự tin cậy đầu tiên cũng
như xác thực giữa các nút. Hơn nữa, việc lưu trữ khóa có thể trở thành một vấn
đề khi cần nhiều kết nối điểm-điểm. Giao tiếp Unicast có khả năng mở rộng và
tính linh hoạt kém. Có nhiều cách tiếp cận khác nhau để giảm thiểu những hạn
chế này.
Trong giao tiếp nhóm, một tập hợp các thực thể giao tiếp với nhau. Tồn
bộ nhóm đều có thể đọc được các tin nhắn đã trao đổi. Một khóa chung phải
được biết riêng bởi các thành viên hiện tại. Các thách thức nằm trong quá trình
21


thiết lập khóa của nhóm và thay đổi nếu một thực thể rời khỏi hoặc gia nhập
nhóm. Các thực thể rời nhóm sẽ khơng thể đọc các tin nhắn trong tương lai (bí

mật chuyển tiếp) và các thành viên mới sẽ khơng thể giải mã các tin nhắn cũ (bí
mật lùi). Một thách thức khác là giao tiếp giữa các nhóm vì cần có các khóa
riêng biệt. Hơn nữa, việc tham gia nhóm, rời nhóm và thỏa hiệp của một thành
viên trong nhóm làm tăng thêm sự phức tạp.
Các giải pháp hiện tại vẫn có vấn đề về tính khơng đồng nhất của các hệ
thống nhúng. Ngồi ra, các thơng số tương tự được sử dụng độc lập với dữ liệu
đã gửi và tải không được cân bằng công bằng giữa các nút mạnh và nút yếu.
Tất cả các mẫu giao tiếp đều dễ bị tấn công bởi các cuộc tấn cơng chiếm
nút được gọi. Càng ít thơng tin liên lạc có thể được giải mã nếu một nút bị xâm
phạm thì nút này càng chống lại sự bắt giữ bền vững hơn. Để tối đa hóa khả
năng phục hồi, cần có một khóa riêng biệt cho mỗi cặp thiết bị. Như đã mô tả
trong phần 3.2, điều này sẽ có những tác động tiêu cực đến các hệ thống nhúng.
2.2.5. Cách tiếp cận thiết lập khóa
Sự phân loại này tập trung vào các phương pháp thiết lập chính và chia
chúng thành các phương pháp xác định và xác suất. Phương pháp tiếp cận theo
xác suất lần đầu tiên được đề xuất bởi Eschenauer và Gligor. Trong các cách tiếp
cận như vậy đối với mỗi thành viên của mạng, một bộ khóa được chọn, theo
cách ngẫu nhiên hoặc bán ngẫu nhiên. Nhóm khóa có thể được tạo bởi một máy
chủ bên ngoài hoặc trực tiếp trên các thiết bị. Sau khi mỗi thực thể được trang bị
một bộ khóa, thường được gọi là vịng khóa, hai nút trong mạng chia sẻ cùng
một khóa với xác suất được xác định trước. Xác suất này phụ thuộc vào phương
pháp được sử dụng. Nếu hai nút chia sẻ bất kỳ khóa chung nào, chúng có thể
thiết lập kết nối an tồn giữa nhau. Nếu khơng, họ có thể cố gắng thiết lập kết
nối bằng cách sử dụng các thiết bị khác làm proxy. Trong trường hợp xấu nhất
hai nút không thể thiết lập kết nối giữa nhau.

22


Ngược lại, trong các phương pháp tiếp cận xác định, các nút có xác suất là

1 (sự kiện chắc chắn) để chia sẻ một khóa chung với tất cả các nút. Họ có ít chi
phí giao tiếp hơn vì họ không cần định tuyến giao tiếp qua các thiết bị khác.
Các phương pháp tiếp cận theo xác suất cố gắng cải thiện hiệu quả và bảo
mật bằng cách giảm thiểu các khóa được lưu trên mỗi thiết bị. Điều này có ảnh
hưởng tích cực đến khả năng lưu trữ và cải thiện khả năng phục hồi chống lại
các cuộc tấn công chiếm nút. Tuy nhiên Xu et al. lập luận rằng những lợi thế này
khơng có tác động lớn như giả định và phải đối lập với sự phức tạp ngày càng
tăng và khả năng kết nối mạng thấp.
Nếu số lượng nút trong hệ thống tăng lên, dung lượng lưu trữ có thể trở
thành nút cổ chai cho các thiết bị bị ràng buộc. Phương pháp tiếp cận xác suất có
thể giảm bớt gánh nặng nhưng có tác động đến hiệu suất giao tiếp.
2.2.6. Dữ liệu sinh trắc học
Phương pháp tiếp cận sinh trắc học trích xuất các đặc điểm sinh trắc học
khác nhau để tạo ra các khóa sinh trắc học. Dữ liệu sinh trắc học có thể là sinh lý
học hoặc hành vi. Trước đây là các phép đo của cơ thể con người, ví dụ: vân tay,
mống mắt, võng mạc, hình dạng bàn tay hoặc khn mặt và sau đó là các phép
đo dựa trên hành động của con người, ví dụ: chữ ký, tổ hợp phím hoặc giọng
nói. Vì các phương pháp tiếp cận như vậy cần sự hiện diện vật lý, nên cơ sở sử
dụng của chúng bị hạn chế vì chúng cần ít nhất một cảm biến trích xuất một số
tính năng sinh trắc học. WBAN là một lĩnh vực có thể sử dụng dữ liệu sinh trắc
học miễn phí vì các cảm biến của họ hầu hết đã trích xuất chúng.
Các khóa được tạo bằng sinh trắc học không thể được sử dụng cho các
lược đồ mật mã thơng thường vì các khóa theo thiết kế không chịu được ngay cả
một lỗi bit đơn. Thách thức trong các cách tiếp cận như vậy là tạo ra các khóa
khơng đổi và có thể lặp lại từ các mẫu sinh trắc học biến thể. Một phương pháp
để giải quyết vấn đề này là chia số nhận dạng sinh trắc học thành một tập hợp
các phần tử riêng biệt. Khi tính tốn lại khóa, khơng phải tất cả các phép đo đều
phải chính xác để có thể lấy khóa thành cơng. Hơn nữa, dữ liệu sinh trắc học đi
23



kèm với những lo ngại về quyền riêng tư và bảo mật. Lưu trữ và sử dụng sai
mục đích để giám sát, lập hồ sơ, v.v. vẫn còn là một vấn đề.
Ưu điểm là các phương pháp tiếp cận sinh trắc học có thể tạo ra khóa từ
dữ liệu cảm biến. Các phương pháp tiếp cận tồn tại cần các mẫu sinh trắc học
trực tiếp để xác minh và thông qua đó ngăn chặn các cuộc tấn cơng từ điển và
bạo lực.
Nếu các đặc điểm bên ngồi như khn mặt, vân tay hoặc võng mạc được
sử dụng, chúng có thể bị đánh cắp và bị bỏ qua, ví dụ: chụp ảnh khuôn mặt nạn
nhân hoặc khai thác trực tiếp các dấu vân tay tiềm ẩn còn lại trên thiết bị đọc
dấu vân tay trên điện thoại thông minh (cuộc tấn cơng phế liệu).
2.2.7. Cấu trúc mạng
Các hệ thống có thể được phân loại thành phẳng và phân cấp. Trong hệ
thống phẳng, tất cả các nút đều có các khả năng giống nhau về sức mạnh tính
tốn, tuổi thọ pin, dung lượng lưu trữ, kích thước bộ nhớ, v.v. Điều này khác
nhau trong các hệ thống phân cấp. Trong các hệ thống này, một số thiết bị có thể
bị hạn chế nhiều hơn so với những thiết bị khác. Thực tế này có thể được sử
dụng bởi các phương pháp quản lý khóa để tăng hiệu suất bằng cách phân phối
các tác vụ tùy thuộc vào khả năng của thiết bị. Những cách tiếp cận đó được gọi
là cách tiếp cận phân cấp. Ví dụ, trong các hệ thống dựa trên cụm, nó có thể có
lợi nếu LC (xem phần 3.2) ít bị ràng buộc hơn. Điều đó cho phép nó đảm nhận
các tác vụ nặng về tính tốn. Điều này có thể cải thiện hiệu quả tổng thể của hệ
thống.
2.2.8. Độ tin cậy của mạng
Để hoạt động hiệu quả, các phương pháp tiếp cận phụ thuộc vào mạng
dựa vào các tính năng của cơ sở hạ tầng mạng cơ bản. Ngược lại, các phương
pháp tiếp cận độc lập với mạng có thể được sử dụng trong các thiết lập kiến trúc
khác nhau.

24



2.3. Trung tâm Phân phối khóa (KDC)
2.3.1. Khái niệm KDC
Trong mật mã học, Trung tâm phân phối khóa (KDC: Key Distribution
Center) là một phần của một hệ thống mật mã có mục đích giảm thiểu những
hiểm họa khi trao đổi khóa mã giữa các đối tác. KDC thường được tổ chức
thành hệ thống, trong đó một số người dùng có thể được phép sử dụng một vài
dịch vụ chỉ trong một khoảng thời gian nào đó.
2.3.2. Mơ tả hoạt động
Hoạt động điển hình của các KDC gồm trước hết là việc tiếp nhận một
yêu cầu của người dùng đối với một dịch vụ nào đấy. KDC dùng kỹ thuật mã
hóa để nhận tính xác thực của dạng người dùng, tiếp đó kiểm tra xem người
dùng đó có thuộc danh sách người được quyền sử dụng dịch vụ mà họ yêu cầu
khơng. Nếu xác thực và kiểm tra đúng thì KDC có thể cấp thẻ chứng nhận truy
cập. KDC thường hoạt động với các mã khóa đối xứng. Trong phần lớn các
trường hợp KDC chia sẻ một khóa mã với mỗi đối tác. KDC tạo một thẻ chứng
nhận dựa trên một khóa mã hóa máy chủ (server key). Người dùng nhận khóa
mã đó và xuất trình cho máy chủ tương ứng kiểm tra, nếu phù hợp thì sẽ cấp
quyền truy cập sử dụng dịch vụ.
2.4. Trao đổi khóa DIFIE (D-H)
2.4.1. Khái niệm (D-H)
Trao đổi khóa D–H (Diffie–Hellman) là phương thức sử dụng một sơ đồ
đặc biệt dùng để trao đổi khóa mã giữa các đối tác một cách an toàn. Phương
thức Diffie–Hellman cho phép hai đối tác khơng biết gì với nhau từ trước có thể
thỏa thuận với nhau để sử dụng chung một khóa mã bí mật thơng qua một mơi
trường giao dịch khơng an tồn. Khóa bí mật đó (thường là một khóa đối xứng
có tốc độ lập mã, giải mã nhanh chóng) về sau sẽ được hai hoặc nhiều đối tác sử
dụng cho những thông điệp giao dịch nội bộ của mình.
Sơ đồ trao đổi khóa này được Whitfield Diffie và Martin Hellman công bố

lần đầu tiên vào năm 1976 trong một cơng trình hợp tác nghiên cứu về phương
25


×