Chức năng vật lý chống sao chép trong Internet vạn vật - An toàn cơ sở dữ liệu - Học Viện Kỹ Thuật Mật Mã
Chức năng chống sao chép vật lý trong Internet vạn vật: Thực trạng và Thách thức. Tóm tắt: Những cuộc tấn công các thiết bị trên Internet vạn vật đang tăng lên. Chức năng chống sao chép vật lý (Physical Unclonable Functions) được xem là giải pháp mạnh và tốn ít tài nguyên để bảo vệ các thiết bị IoT. Tài liệu giúp bạn tham khảo và đạt kết quả tốt. Mời bạn đọc đón xem!
Preview text:
lOMoARcPSD|16072870
Chức năng chống sao chép vật lý trong Internet
vạn vật: Thực trạng và Thách thức
Tóm tắt: Những cuộc tấn công các thiết bị trên Internet vạn vật đang tăng
lên. Chức năng chống sao chép vật lý (Physical Unclonable Functions)
được xem là giải pháp mạnh và tốn ít tài nguyên để bảo vệ các thiết bị
IoT. Lợi ích chính của PUFs so với giải pháp mật mã cổ điển hiện nay là
nó tương thích với các thiết bị IoT với nguồn tài nguyên tính toán có
giới hạn. Trong bài này chúng tôi sẽ kiểm tra tính đúng đắn của công
nghệ này và những thách thức tới PUF và tận dụng nó trong IoT. 1. Mở đầu
Bảo mật đang là một trong những thách thức chính của Internet vạn vật bởi
vì IoT đã bắt đầu được ứng dụng nhiều hơn vào cuộc sống của chúng ta và các hệ
thống công nghiệp ( Nền công nghiệp 4.0 ). Các thiết bị IoT phải đối mặt với một
vài thách thức chính như là: Thiết bị phải tiêu thụ ít năng lượng, thiết bị chưa đáp
ứng được yêu cầu phần cứng cũng như sự cần thiết về việc bảo vệ thiết bị khỏi các
cuộc tấn công mạng. Đáng tiếc, những lo ngại về lượng dấu chân năng lượng cùng
với sự khan hiếm của tài nguyên tính toán hạn chế các phương pháp mật mã học có
thể được triển khai trên các thiết bị này. Điều này làm cho việc triển khai các cơ
chế bảo mật truyền thống như một bước bắt tay không đối xứng, yêu cầu sử dụng
các hàm băm và mật mã học không đối xứng trở nên khó khăn. Những cuộc tấn
công sớm cho thấy rằng các nhà cung cấp thường không nhận ra được việc tấn
công sản phẩm của họ dễ dàng như thế nào, ví dụ như cho phép cập nhật từ xa trên
một cổng Telnet không được bảo vệ. Đồng thời, các thiết bị IoT thường phải có giá
thành thấp, làm tăng thách thức trong việc triển khai các chức năng bảo mật cho chúng.
Xác thực, ủy quyền và quyền riêng tư là ba mặt của tam giác bảo mật trong
IoT. Xác thực là rào cản đầu tiên trước các cuộc tấn công mạng. Chức năng vật lý
không thể sao chép (PUF) đã được đề xuất là một giải pháp nhẹ, hiệu quả về chi
phí và phổ biến. Quan trọng đối với các nhà phát triển IoT, PUF hứa hẹn đạt được lOMoARcPSD|16072870
xác thực an toàn hoàn hảo mà không cần bất kỳ tài sản mật mã hóa nào trên thiết
bị, điều này làm cho chúng đặc biệt thu hút đối với các thiết bị IoT có tài nguyên
khan hiếm .Tuy nhiên, nghiên cứu mới đây cho thấy rằng PUF có thể không thể
đáp ứng tất cả các hứa hẹn ban đầu, và cần nỗ lực hơn nữa để thực hiện các giải
pháp thực sự an toàn với chúng.
Trong bài báo này, chúng tôi cung cấp một cái nhìn tổng quan về tình trạng
hiện tại của PUF trong các hệ thống IoT, đặc biệt là cho xác thực. Đóng góp chính
của chúng tôi là một cuộc thảo luận phê phán về mức độ hiệu quả của kiến trúc
PUF hiện tại và các giao thức dựa trên PUF để thực hiện lời hứa ban đầu, tức là
thực hiện bảo mật mà không cần sử dụng các tài sản mật mã hóa, tức là với tài
nguyên chi phí thấp. Chúng tôi phân tích các yêu cầu bảo mật cụ thể cho lĩnh vực
IoT và cách sử dụng PUF để đáp ứng chúng. Trọng tâm của chúng tôi là các
phương pháp được thành lập và được hiểu rõ về ưu điểm và nhược điểm của
chúng. Chúng tôi đề cập đến các phương pháp khác một cách ngắn gọn nếu chúng
tôi cảm thấy rằng chúng có tiềm năng trở thành quan trọng cho IoT trong tương lai.
Một PUF có thể được thực hiện trong các sản phẩm IoT bằng cách tích hợp một
mạch PUF đặc biệt, ví dụ như một ASIC độc lập hoặc là một phần của một hệ
thống trên chip. Tùy chọn khác là thực hiện một mạch PUF trên một phần cứng có
thể định cấu hình lại như một FPGA. Phương pháp thứ hai này cho phép các nhà
phát triển IoT có nhiều linh hoạt hơn về kiến trúc PUF được sử dụng và cho phép
họ điều chỉnh hệ thống gần hơn với nhu cầu ứng dụng cụ thể của họ. Do đó, trong
bài báo này, chúng tôi tập trung chủ yếu vào PUF được thực hiện trên FPGA và chỉ
ngắn gọn đề cập đến PUF được thực hiện dưới dạng PUFs.
Bài báo được tổ chức như sau. Sau khi thảo luận sơ lược về cơ bản về PUF
trong (Phần 2), chúng tôi phân tích các mối đe dọa dựa trên PUF đối với các thiết
bị IoT (Phần 3). Sau đó, trong (Phần 4), chúng tôi thảo luận về các chiến lược
phòng thủ có thể và giới thiệu kiến trúc PUF hiện có (Phần 5), cũng như các giao
thức xác thực sử dụng PUF hiện có (Phần 6). Trong (Phần 7), chúng tôi đánh giá
mức độ chúng ta đã đạt được trong việc thực hiện hứa hẹn của PUF trong IoT và
kết luận bài báo trong (Phần 8).
2. Định nghĩa ban đầu về PUF
Giống như con người, mỗi vi mạch cũng có vân tay riêng của nó, được tạo ra
trong quá trình sản xuất. Đặc điểm nội tại này có thể được trích xuất bằng cách lOMoARcPSD|16072870
thêm một kiến trúc mạch cụ thể, được gọi là mạch PUF, vào vi mạch (xem Hình 1).
Mạch PUF nhận một chuỗi bit (gọi là thử thách) làm đầu vào và tạo ra một chuỗi
bit (gọi là phản hồi) làm đầu ra. Không có hai vi mạch nào tạo ra phản hồi giống
nhau cho một thử thách cụ thể. Sự kết hợp giữa một thử thách và phản hồi tương
ứng được gọi là cặp Thử Thách - Phản Hồi (CRP).
Hình 1. Hai mạch chức năng vật lý không thể sao chép (PUFs) giống nhau trên hai
vi mạch khác nhau tạo ra các phản hồi khác nhau.
Mạch PUF được thực hiện bằng cách sử dụng các công nghệ CMOS khác
nhau, phổ biến nhất trên chip bộ nhớ, dưới dạng một Mạch tích hợp Cụ thể Ứng
dụng (ASIC) hoặc trên một FPGA. Có hai loại mạch PUF, đó là PUF yếu và PUF
mạnh. Đối với PUF mạnh, việc tăng kích thước của mạch PUF dẫn đến sự tăng
trưởng mũi tên của số lượng CRP. Đối với PUF yếu, nó sẽ tăng tuyến tính.
PUFs thường được sử dụng cho xác thực và truyền thông an toàn. Vì xác
thực dựa trên PUF không yêu cầu tài sản mật mã học cổ điển, nó phù hợp với các
yêu cầu tài nguyên của các thiết bị IoT. Giao thức xác thực dựa trên PUF có hai
pha: pha đăng ký và pha xác thực. Giao thức xác thực dựa trên PUF đầu tiên được
đề xuất hoạt động như sau: Trong giai đoạn đăng ký (xem Hình 2a), chip chứa
mạch PUF được kết nối trực tiếp với máy chủ. Máy chủ gửi các thử thách và mạch
PUF gửi lại các phản hồi. Máy chủ lưu trữ tất cả CRP trong một bảng. Sau đó, chip
sẽ được lắp đặt vào thiết bị IoT. Trong giai đoạn xác thực (xem Hình 2b), nếu thiết
bị cần được xác thực bởi máy chủ, máy chủ sẽ gửi một thử thách PUF tùy ý đến
thiết bị. Thiết bị đo đạc PUF và gửi lại các bit phản hồi được tạo ra. Nếu phản hồi
đo được khớp với phản hồi được lưu trữ trong cơ sở dữ liệu của máy chủ, thì thiết
bị được xác thực. Một ứng dụng truyền thống khác của PUF là trích xuất một khóa
từ phản hồi PUF để thiết lập một truyền thông được mã hóa .Điều này nằm ngoài
phạm vi của bài báo này. lOMoARcPSD|16072870
Hình 2. Chế độ xác thực
3. PUF – Mối đe dọa cơ bản cho các thiết bị IoT
Trong phần này, chúng tôi xem xét các mối đe dọa có thể xảy ra đối với các
thiết bị IoT sử dụng PUF để xác thực. Các thiết bị IoT có thể được lắp đặt trong
các khu vực không được bảo vệ. Kết quả là chúng tiếp xúc với nhiều mối đe dọa,
từ các cuộc tấn công vật lý trực tiếp (ví dụ, dùng búa đập) đến phá vỡ giao tiếp và
chi phối các điều kiện vận hành của thiết bị vật lý. Các cuộc tấn công truyền thống
hơn như cố gắng đọc ra các khóa bí mật từ bộ nhớ và các cuộc tấn công truyền
thông cũng có thể xảy ra.
Từ quan điểm của một hệ thống bảo mật dựa trên PUF, mối đe dọa chính
mới là kẻ tấn công có khả năng cung cấp phản hồi chính xác cho một thử thách cụ
thể. Điều này có thể được thực hiện bằng cách xây dựng một bản sao vật lý của
PUF hoặc dự đoán các CRP bằng một cuộc tấn công mô hình hóa. Chúng tôi sẽ
thảo luận về cả hai phương pháp này chi tiết hơn sau. Chúng tôi xem xét hai mô
hình tấn công khác nhau. Trong mô hình đầu tiên, kẻ tấn công có khả năng chặn lại
thông tin giao tiếp của các thiết bị. Trong mô hình thứ hai, một đối thủ có quyền
truy cập vật lý vào thiết bị.
3.1. Man in the Middle Attack
Trong loại tấn công này, kẻ tấn công có thể nghe trộm kênh truyền thông
giữa một máy chủ và một thiết bị, sau đó chặn và lưu trữ các CRP trao đổi. CRP
sau đó có thể được sử dụng trực tiếp để thực hiện các cuộc tấn công phát lại, hoặc
gián tiếp bằng cách đưa chúng vào một thuật toán học máy và học một mô hình
của PUF có thể dự đoán các CRP khác.
Các cuộc tấn công người giữa có thể được thực hiện với sự nỗ lực tương đối
ít trong IoT vì các thiết bị thường kết nối động đến các thiết bị trước đây không
được biết đến. Kẻ tấn công có thể đặt một máy tính giá rẻ như Raspberry Pi ở gần
thiết bị bị tấn công và cho phép nó tham gia cùng một mạng không dây (có thể lOMoARcPSD|16072870
được mã hóa). Do đó, rủi ro cho một cuộc tấn công như vậy diễn ra là tương đối
cao, và cần sử dụng các cơ chế phòng thủ thích hợp.
3.2. Side Channel Attack
Trong loại tấn công này, kẻ tấn công có quyền truy cập vật lý vào thiết bị.
Các cuộc tấn công kênh phụ trên PUF có thể được phân loại dựa trên hai trục
vuông góc nhau. Trên trục đầu tiên, chúng ta có thể phân biệt giữa các cuộc tấn
công xâm nhập, bán xâm nhập và không xâm nhập. Trên trục thứ hai, các cuộc tấn
công có thể là hoạt động hoặc bị động.
3.2.1. Tấn công xâm nhập, bán xâm nhập và không xâm nhập.
Các cuộc tấn công xâm nhập có thể được thực hiện bằng cách phá hoại các
vi mạch và truy cập trực tiếp vào các thành phần bên trong. Giả định ban đầu là
PUF bất khả xâm phạm đối với các cuộc tấn công như vậy vì chúng sẽ gây hỏng
cấu trúc của PUF, khiến nó không hoạt động được. Không có khóa bí mật được lưu
trữ trên vi mạch, mà kẻ tấn công có thể trích xuất .Tuy nhiên, có các báo cáo chứng
tỏ rằng PUF thực sự có thể bị tấn công xâm nhập, bao gồm việc tạo một bản sao
vật lý đầy đủ của PUF .Các cuộc tấn công xâm nhập phức tạp và tốn kém hơn
nhiều. Thường thì kẻ tấn công phải di chuyển thiết bị IoT bị tấn công vào một
phòng thí nghiệm chuyên dụng, nơi có sẵn thiết bị phòng thí nghiệm đắt tiền. Điều
này làm cho loại tấn công này ít hấp dẫn đối với các thiết bị IoT, đặc biệt là khi các
thiết bị được đặt ở những nơi công cộng và không thể mang chúng đến phòng thí nghiệm.
Đối với các cuộc tấn công bán xâm nhập, kẻ tấn công cần truy cập vào bề
mặt vi mạch; tuy nhiên, cuộc tấn công sẽ không làm hỏng lớp passivation của vi
mạch .Các cuộc tấn công PUF bán xâm nhập được báo cáo bao gồm phát xạ quang
học và xâm nhập điện từ. Mặc dù các cuộc tấn công bán xâm nhập sử dụng các kỹ
thuật đơn giản hơn so với các cuộc tấn công xâm nhập, chúng vẫn đòi hỏi thiết bị
đặc biệt trong một phòng thí nghiệm.
Các cuộc tấn công không xâm nhập cố gắng trích xuất thông tin bí mật bằng
cách khai thác dữ liệu (ví dụ: tiêu thụ điện năng, thời gian trì hoãn) mà không có
truy cập trực tiếp vào các thành phần bên trong. Thiết bị cần thiết cho các cuộc tấn
công này khá nhỏ và rẻ tiền và thậm chí có thể được vận chuyển và cài đặt gần các
thiết bị IoT bị tấn công. Các cuộc tấn công không xâm nhập sử dụng các thuật toán
học máy như một công cụ phân tích và có thể nhân bản CRP với một mức độ chính xác rất cao.
3.2.2. Chủ động và thụ động lOMoARcPSD|16072870
Các cuộc tấn công chủ động can thiệp vào hệ thống một cách tích cực, ví dụ
như bằng cách sửa đổi điện áp cấp Vcc hoặc nhiệt độ hoạt động để thực hiện tấn
công vào PUF. Ngược lại, các cuộc tấn công bị động quan sát dữ liệu, ví dụ như
nhiệt độ hoặc tiêu thụ năng lượng của PUF để tấn công nó. Cả hai loại tấn công
đều yêu cầu truy cập vật lý vào thiết bị và đã được chứng minh là có thể áp dụng để tấn công PUF.
4. Chiến lược phòng thủ
Trong phần trước, chúng ta đã miêu tả các cuộc tấn công vào các thiết bị IoT
dựa trên PUF. Mỗi ngày lại xuất hiện một cuộc tấn công mới. Bây giờ, chúng ta sẽ
thảo luận về các chiến lược phòng thủ có thể áp dụng cho các loại tấn công khác
nhau. Chúng ta bắt đầu với các tấn công kênh bên. Các cuộc tấn công bán xâm
nhập và không xâm nhập yêu cầu truy cập trực tiếp vào PUF. Nếu kẻ tấn công có
thể đưa thiết bị đến một phòng thí nghiệm, hắn có thể sử dụng các thiết bị phức tạp
để tấn công vào hệ thống. Các cơ chế bảo vệ vật lý đủ đáp ứng cho các thiết bị IoT
(ví dụ như keo epoxy hoặc dính PCB) và phát hiện bất thường (ví dụ như phát hiện
sự di động của thiết bị bất thường thông qua các cảm biến giá rẻ) có thể giảm thiểu
mức độ mối đe dọa, nhưng không thể cung cấp bảo vệ hoàn hảo chống lại các cuộc
tấn công phương tiện bên kênh xâm nhập và bán xâm nhập. Tuy nhiên, các giải
pháp này cũng có thể làm tăng chi phí và độ phức tạp của thiết bị, đặc biệt là đối
với các hệ thống IoT có chi phí thấp. Do đó, một sự cân bằng cẩn thận giữa chi phí
và độ an toàn là cần thiết khi thiết kế các thiết bị IoT. Các cuộc tấn công phi xâm
nhập, ngược lại, có thể hoạt động với thiết bị tương đối đơn giản bên ngoài phòng
thí nghiệm và không cần tấn công vào bảo vệ vật lý của thiết bị. Các cuộc tấn công
phi xâm nhập chủ động áp dụng một loạt các thách thức cho PUF và theo dõi các
yếu tố bên ngoài như tiêu thụ năng lượng để tạo ra một mô hình dựa trên học máy
của PUF. Các cuộc tấn công phi xâm nhập, ngược lại, có thể hoạt động với thiết bị
tương đối đơn giản bên ngoài phòng thí nghiệm và không cần tấn công vào bảo vệ
vật lý của thiết bị. Các cuộc tấn công phi xâm nhập chủ động áp dụng một loạt các
thách thức cho PUF và theo dõi các yếu tố bên ngoài như tiêu thụ năng lượng để
tạo ra một mô hình dựa trên học máy của PUF. Để làm như vậy, một số lượng lớn
các thách thức là cần thiết, từ hàng ngàn đến cả hàng trăm nghìn. Để đối phó với
điều này, PUF có thể được xây dựng sao cho nó chỉ chấp nhận các thách thức rất
cụ thể, làm cho việc thu thập đủ số lượng chúng trở nên rất khó khăn, hoặc chỉ
chấp nhận một số thách thức nhỏ mỗi giây, làm chậm tấn công đi một vài bậc độ.
Các cuộc tấn công phi xâm nhập chủ động còn khai thác thêm việc PUF có
thể hoạt động khác nhau dưới các điều kiện hoạt động khác nhau. Bằng cách điều
khiển các điều kiện này, chúng có thể giảm số lượng CRP có thể sử dụng và làm
cho các cuộc tấn công mô hình hóa dễ dàng hơn. Mặc dù bảo vệ chống lại cuộc tấn
công mô hình hóa chính nó, một chiến lược phòng thủ thích hợp là làm cho PUF lOMoARcPSD|16072870
trở nên bền vững hơn đối với các điều kiện bên ngoài, về cơ bản là giảm sự khác
biệt giữa các cuộc tấn công chủ động và các cuộc tấn công chủ động. Đối với các
cuộc tấn công trung gian, tránh sử dụng lại các CRP là một giải pháp đã được biết
đến để chống lại các cuộc tấn công phát lại. Có hai lựa chọn: đầu tiên, các CRP có
thể được giữ bí mật bằng cách mã hóa chúng. Điều này đặc biệt thích hợp nếu số
lượng CRP rất hạn chế, ví dụ như trong PUF yếu, nhưng đòi hỏi tài nguyên tính
toán phụ phát sinh, làm giảm lý do ban đầu của chúng ta để sử dụng PUF trong
IoT. Một phương án khác là chúng ta có thể chọn một thiết kế PUF (mạnh) với một
số lượng CRP đủ lớn để không bao giờ tái sử dụng một CRP nào. Chiến thuật cổ
điển để có một số lượng lớn CRP là chiếm thêm tài nguyên tính toán trên chip .Tuy
nhiên, vì tài nguyên tính toán là khan hiếm trong các thiết bị IoT, phương pháp này
có thể không phù hợp một cách thích đáng. Gần đây, một phương pháp sử dụng
PUF có khả năng cấu hình lại không gian đã được giới thiệu như một giải pháp để
tăng số lượng CRP mà không tăng kích thước của mạch PUF trên chip. Lưu ý rằng
chúng ta có thể kết hợp PUF mạnh với việc mã hóa CRP để bảo vệ thêm. Tuy
nhiên, điều này sẽ gây thêm chi phí tính toán phụ.
Trong các cuộc tấn công trung gian tiên tiến hơn, kẻ tấn công lại sử dụng
học máy để thực hiện tấn công mô hình và dự đoán CRP, lần này sử dụng các CRP
đã bị chặn trước đó làm đầu vào cho thuật toán học máy. Một lần nữa, hàng ngàn
CRP cần thiết để thực hiện các cuộc tấn công thành công. Một phương pháp để giải
quyết các cuộc tấn công này là tăng tính ổn định của kiến trúc PUF bằng cách tăng
độ phi tuyến cho kiến trúc. Thật không may, chiến lược này cuối cùng đã không
thành công. Một phương pháp khác là sử dụng các phương pháp mật mã để xử lý
các cuộc tấn công mô hình thông qua học máy. Phương pháp này đã đạt được
nhiều thành công hơn, nhưng đã bỏ qua kiến trúc PUF, mở ra khu vực cho các cuộc tấn công kênh phụ.
Chúng tôi cho rằng để phát triển một hệ thống IoT dựa trên PUF an toàn, cả
tấn công kênh phụ và tấn công trung gian phải được giải quyết đồng thời. Như đã
thảo luận trước đó, bảo vệ vật lý nên được sử dụng để chống lại các cuộc tấn công
kênh phụ xâm lược và bán xâm lược. Ngoài ra, tấn công kênh phụ không xâm lược
quan trọng nhất đối với các thiết bị IoT là thay đổi các thông số môi trường, ví dụ
như tăng tỷ lệ lỗi PUF và do đó giảm số lượng CRP có thể sử dụng được. Tính ổn
định cao hơn có thể được đạt được bằng cách làm cho kiến trúc PUF chống lại
những biến động môi trường như vậy, và kiến trúc của PUF được sử dụng sẽ giảm
thiểu nguy cơ cho các cuộc tấn công kênh phụ không xâm lược. Do đó, việc lựa
chọn một kiến trúc PUF phù hợp là rất quan trọng. Cuối cùng, để chống lại các
cuộc tấn công man in the middle, PUF phải được kết hợp với một giao thức xác
thực phù hợp để thực hiện một phương pháp tích hợp. lOMoARcPSD|16072870
Trong các phần tiếp theo, chúng tôi điều tra các kiến trúc PUF và các giao
thức xác thực hiện có sẵn cho các thiết bị IoT và phân tích tính ổn định của chúng
đối với các cuộc tấn công.
5. Lựa chọn Kiến trúc Chức năng Không thể Sao Chép Vật Lý (PUF) cho IoT
Chọn một kiến trúc PUF phù hợp cho các ứng dụng IoT không đơn giản.
Tiêu chí chính cho việc lựa chọn này bao gồm: 1.
Sự chống chọi tấn công hiệu quả. 2.
Tính thống kê tốt là các tính năng quan trọng trong các ứng dụng mật mã (sự
độc nhất và đồng đều của CRPs). 3.
Số lượng CRP so với diện tích chiếm đất (PUF mạnh: tăng mũ đơn điệu
trong số lượng CRP khi tăng tài nguyên tính toán được sử dụng so với PUF yếu:
tăng tuyến tính trong số lượng CRP khi tăng tài nguyên tính toán được sử dụng). 4.
Quá trình triển khai đơn giản trên FPGA (giúp cho việc thích nghi với PUF
sau khi triển khai các thiết bị IoT và cập nhật cho chống lại các cuộc tấn công mới).
Trong phần này, chúng tôi sẽ thảo luận về kiến trúc PUF đề xuất cho các ứng
dụng IoT và xem xét các ưu điểm và nhược điểm của mỗi kiến trúc. lOMoARcPSD|16072870
Hình 3. Bảng Tóm tắt Kiến trúc PUF. CRP, Cặp thử thách phản hồi; TERO, DAO
Hiệu ứng Tạm thời; LRR-DPUF, PUF số kỹ thuật số chống đào tạo và đáng tin cậy. 5.1 Arbiter PUF
Arbiter PUF như được thể hiện trong Hình 4 hoạt động bằng cách so sánh
hai đường trễ của cùng độ dài và tạo ra một "0" hoặc "1" là kết quả của sự so sánh
này. Mặc dù hai đường này nên có cùng độ trễ, nhưng do những biến động vi mô,
một trong số chúng thực sự nhanh hơn đường kia. Thử thách được sử dụng để xác
định hai đường được sử dụng động. Để làm điều này, các bit riêng lẻ của thử thách
được sử dụng làm đầu vào vào một loạt các bộ chuyển mạch được kết nối với
nhau. Tùy thuộc vào đầu vào, mỗi bộ chuyển mạch quyết định bộ chuyển mạch
tiếp theo để chuyển đổi đầu ra của nó. Điều này tạo ra nhiều kết hợp đường dẫn có thể có.
Hình 4. Kiến trúc Arbiter PUF. Được thích ứng từ .
Arbiter PUF là PUF mạnh (Tiêu chí 3), và các tác giả của đã đề xuất một
Arbiter PUF cho các ứng dụng IoT. Chúng khá nhạy cảm đối với các đường trễ,
tức là tất cả các đường trễ nên có độ dài chính xác giống nhau để đạt được tính chất
thống kê tốt (Tiêu chí 2). Mặc dù có thể triển khai loại PUF này trên một FPGA
,triển khai một Arbiter PUF rườm rà (Tiêu chí 4) và phù hợp hơn cho ASIC. Hơn
nữa, các cuộc tấn công kênh phụ hoạt động và chủ động lên arbiter PUF đã được
báo cáo (Tiêu chí 1). Một XOR arbiter PUF là một sửa đổi để cung cấp tính ổn
định chống lại học máy; tuy nhiên, các thí nghiệm tiếp theo đã cho thấy rằng một lOMoARcPSD|16072870
XOR arbiter PUF độc lập không thể có tính khả năng phục hồi đầy đủ chống lại học máy.
5.2. PUF Dao động vòng (Ring Oscillator PUF)
Một PUF Ring Oscillator (RO) được xây dựng từ một số bộ dao động vòng
tương tự nhau (xem Hình 5). Giả sử có 2 * m ROs, và mỗi bộ dao động sẽ dao
động với tần số riêng của nó từ fa (cho RO đầu tiên) đến f2m (cho Ros cuối cùng).
Bằng cách so sánh tần số của hai RO, sẽ được tạo ra một trong hai giá trị "0" hoặc
"1". Mỗi thử thách đầu vào sẽ xác định cặp RO được sử dụng. Lý thuyết, tất cả các
tần số dao động của ROs’ nên là giống nhau; tuy nhiên, sự khác biệt nhỏ trong quá
trình sản xuất gây ra sự khác biệt nhỏ trong thuật ngữ này. Lưu ý rằng RO PUF sử
dụng các so sánh RO không độc quyền này có thể dẫn đến các phản hồi thiên vị.
Một giải pháp cho vấn đề này được thảo luận trong.
Hình 5. Kiến trúc dao động vòng. Được thích ứng từ [7].
RO PUFs là PUF mạnh (tiêu chí 3), và lý do chính để sử dụng chúng cho các
IoT dựa trên FPGA là sự dễ dàng trong việc triển khai trên FPGA (tiêu chí 4).
Chúng có tính chất thống kê tốt (tiêu chí 2). Một trong những hạn chế của RO PUF
là tính nhạy cảm đối với điều kiện môi trường. Ví dụ, một lỗi phản hồi có thể xảy
ra do sự thay đổi nhiệt độ nếu các cặp RO có các tần số liền kề (xem Hình 6). Điều
này khiến RO PUF trở thành một ứng viên tốt cho các cuộc tấn công kênh phía trên
(tiêu chí 1). Mặc dù đã đề xuất một giải pháp cho vấn đề này, nhưng nó chỉ áp dụng được cho ASICs. lOMoARcPSD|16072870
Hình 6. Lỗi phản hồi do biến thiên nhiệt độ trong các cặp không ổn định. Được thích ứng từ . 5.3. SRAM PUF
Một trong những PUF quan trọng nhất về tính chất thống kê (tiêu chí 2) và
độ tin cậy là SRAM PUF (xem Hình 7). Kiến trúc này đã được phát triển thương
mại và dựa trên trạng thái khởi động của các khối SRAM. Khi một SRAM PUF
được cấp nguồn, giá trị ban đầu của mỗi ô nhớ SRAM có thể là "0" hoặc "1".
Trạng thái khởi động này sẽ khác với trạng thái của bất kỳ thiết bị nào khác khi
được cấp nguồn. Do đó, thách thức có thể được sử dụng như là địa chỉ của một ô
nhớ SRAM, và giá trị ban đầu của nó có thể được sử dụng như là phản hồi của
SRAM PUF. Cũng có thể triển khai SRAM PUF trên các vi điều khiển nhưng triển
khai chúng trên FPGA không đơn giản (tiêu chí 4). Điều này khiến cho SRAM
PUF trở thành một lựa chọn không phổ biến cho PUF trên FPGA cho IoT. Một
SRAM PUF là một PUF yếu (Tiêu chí 3) với một số lượng hạn chế của các CRP.
Do đó, nó cần các giao diện đã được ẩn, có giá thành lớn hơn cho các lớp bảo mật
bổ sung, nếu không nó sẽ bị tổn thương bởi tất cả các cuộc tấn công có thể (Tiêu chí 1). lOMoARcPSD|16072870
Hình 7. SRAM PUF architecture.
5.4. Kiến trúc PUF mới hơn
Có các kiến trúc PUF khác đã được giới thiệu gần đây như một giải pháp
thay thế cho các thiết bị IoT. Transient Effect Ring Oscillator (TERO) PUF (xem
hình 8) là một sự lựa chọn thay thế cho RO PUF. Kết quả ban đầu cho thấy kiến
trúc này không dễ bị sao chép bằng phân tích điện từ hoặc các phương pháp inject
điện từ. Cấu trúc của TERO PUF tương tự như RO PUF, nhưng được xây dựng từ
các ô TERO có hai trạng thái: trạng thái dao động ngắn hạn và trạng thái ổn định.
Cấu trúc cơ bản của một TERO PUF là một RS flip flop. Bằng cách đặt tín hiệu
init là một, mạch bắt đầu dao động trong một khoảng thời gian ngắn
Hình 8. TERO PUF architectures
Các kiến trúc PUF khác như Hybrid ring oscillator arbiter PUFs và Public
PUFs (PPUFs) là những kiến trúc PUF đã được đề xuất gần đây để sử dụng trong lOMoARcPSD|16072870
IoT. Hybrid ring oscillator arbiter PUFs kết hợp RO PUFs với arbiter PUFs. Chúng
được báo cáo có tiêu thụ điện năng rất thấp, làm cho chúng trở thành ứng cử viên
tốt cho các thiết bị IoT hoạt động bằng pin. Public PUFs (PPUFs) là một sự tiến
hóa khác của arbiter PUFs, sử dụng XOR thay vì bộ chuyển mạch. PPUFs có thể
được sử dụng để thực hiện các giao thức khóa công khai trong IoT và được báo cáo
là chống lại các cuộc tấn công kênh phụ, có hiệu quả diện tích tốt và tiêu thụ điện năng thấp.
Cũng có những thiết kế và giải pháp PUF khác mà chúng tôi không đề cập
trong bài báo này, mặc dù chúng có vẻ hứa hẹn và có tính ổn định và độ bền cao
hơn so với các sản phẩm tiền nhiệm. Điểm hạn chế chính của tất cả các kiến trúc
PUF đề xuất này là chúng tương đối mới, và các ưu điểm và nhược điểm của
chúng vẫn chưa được hiểu rõ. Các kiến trúc PUF mới này, theo các tiêu chí được
trình bày trước đó trong phần này, cần làm rõ liệu chúng có phù hợp với các thiết
bị IoT dựa trên FPGA hay có phù hợp hơn với các giải pháp ASIC. Ngoài ra,
những bước tiếp theo được khuyến nghị là: 1.
Kết hợp các PUF mới này với các giao thức xác thực để đáp ứng các kịch
bản xác thực IoT yêu cầu (xem Phần 7). 2.
Tích hợp giải pháp trên các FPGA có số lượng tài nguyên tính toán ít, ví dụ
như Artix 7 hoặc gia đình Spartan của Xilinx. 3.
Đánh giá về thuật ngữ "giải pháp nhẹ cho quá trình xác thực" sau khi có báo
cáo rõ ràng về các tài nguyên tính toán cần thiết. 4.
Hợp tác với bên thứ ba để đánh giá lại kết quả đã đạt được.
Do đó, cần tiến hành thêm nghiên cứu trước khi sử dụng các kiến trúc PUF
mới này trong các hệ thống IoT thực tế.
6. Các giao thức PUF cho IoT
Các giao thức xác thực khác nhau sử dụng PUF đã được đề xuất. Trong phần
tiếp theo, chúng tôi sẽ đưa ra một cái nhìn tổng quan về các giao thức hiện có, dựa
trên các tính năng khác nhau mà chúng hỗ trợ. Chúng tôi chủ yếu tập trung vào các
giao thức đã được đề xuất đặc biệt cho IoT, nhưng cũng xem xét các giao thức
cung cấp tính năng mà chúng tôi cho là quan trọng cho IoT và có thể được áp dụng
cho nó. Một bản tóm tắt ngắn được đưa ra trong hình 9.
Các giao thức thường không độc lập với loại PUF (yếu hay mạnh) mà chúng
sử dụng. Các giao thức dựa trên PUF yếu thường yêu cầu các phương pháp mật mã
(ví dụ như băm, mã hóa, v.v.) để bù đắp cho sự khan hiếm của CRP. Điều này hầu lOMoARcPSD|16072870
hết làm mất đi lợi thế của việc sử dụng PUF trong IoT. Do đó, chúng tôi tập trung
vào các giao thức sử dụng PUF mạnh trong bài báo này.
Giao thức xác thực đầu tiên sử dụng PUF (mạnh) (như được mô tả trong
Phần 2) được dựa trên giả định ban đầu về một PUF hoàn hảo không bao giờ bị sao
chép hoặc mô hình hóa. Như các nghiên cứu tiếp theo đã cho thấy (xem phần 3),
giả định này đã chứng tỏ là không chính xác. Đặc biệt là khi đối mặt với phân tích
học máy của CRP, PUF đã cho thấy mình rất dễ bị tổn thương. Do đó, nhiệm vụ
quan trọng nhất của một giao thức xác thực PUF là phải chống lại các cuộc tấn công học máy.
Hình 9. Các giao thức PUF.
Một tính năng quan trọng khác của các giao thức PUF là khả năng đối phó
với các PUF không ổn định (một phần). Không giống như những định nghĩa ban
đầu của PUF, các phản hồi thường không ổn định đến 100%, và các giao thức
thông thường cần các phương pháp sửa lỗi để đối phó với điều này .
Cuối cùng, việc hỗ trợ xác thực song phương là đặc biệt quan trọng đối
với các hệ thống IoT. Cả hai đối tác giao tiếp cần được xác thực lẫn nhau. Nếu
không, các cảm biến IoT có thể, ví dụ, gửi dữ liệu cá nhân về người dùng cho các lOMoARcPSD|16072870
máy chủ không đáng tin cậy (không được xác thực), và các máy chủ có thể chấp
nhận các đo lường giả mạo từ các kẻ tấn công (không được xác thực). Vì các thiết
bị IoT thường giao tiếp trực tiếp, lý tưởng là nên cung cấp xác thực song phương,
không chỉ giữa một thiết bị và một máy chủ, mà còn giữa hai thiết bị.
6.1. Các giao thức sớm đầu tiên.
Năm 2015, Delvaux và đồng nghiệp đã xuất bản một cuộc khảo sát về các
giao thức xác thực sử dụng PUF mạnh . Nghiên cứu của chúng tôi dựa trên cuộc
khảo sát này. Trong phần sau, chúng tôi tóm tắt các kết quả của họ, tập trung vào
độ bền chống lại các cuộc tấn công học máy. Khi các cuộc tấn công học máy trở
nên phổ biến, một số tác giả đã phát triển các phương pháp để chống lại chúng.
Mặc dù chi tiết chính xác của chúng khác nhau, tất cả các giao thức này đều tuân
theo quá trình tương tự: sau khi thiết bị nhận được một thử thách và tạo ra một
phản hồi, các giao thức sử dụng nguyên lý mật mã như các thuật toán băm hoặc mã
hóa để xử lý phản hồi và gửi nó trở lại cho máy chủ. Một số giao thức sử dụng Bộ
nhớ Không Chỉ Đọc (Nonvolatile Memory-NVM) trong quá trình này. Tuy nhiên,
việc triển khai một thuật toán mật mã đơn giản cũng đòi hỏi chi phí cho phần cứng
và NVM trái ngược với một trong những động lực ban đầu cho việc sử dụng PUF,
đó là không lưu trữ bất kỳ bí mật nào trên thiết bị. Điều này đặc biệt gây vấn đề
cho các hệ thống IoT, vì như đã thảo luận trước đó, chúng có rất ít tài nguyên và dễ
bị tấn công vật lý. Không có giao thức nào trong số các giao thức sớm đó được
thiết kế đặc biệt để sử dụng trong IoT.
Kể từ khi khảo sát ban đầu được thực hiện, một số giao thức mới hơn đã
được đề xuất, giải quyết một số vấn đề còn mở của các giao thức cũ. Chúng tôi sẽ
thảo luận về những giao thức có triển vọng nhất trong phần tiếp theo.
6.2. Giao thức xác thực lẫn nhau
Aman và cộng sự đề xuất một giao thức xác thực dựa trên PUF cung cấp
xác thực song phương giữa các thiết bị trong IoT. Giao thức bao gồm hai kịch bản
xác thực: xác thực đối với thiết bị-máy chủ và xác thực đối với thiết bị-thiết bị.
Kịch bản xác thực đối với thiết bị-máy chủ như sau: mỗi thiết bị IoT có một ID.
Đầu tiên, thiết bị gửi ID của nó (giả sử là IDA) cùng với một số ngẫu nhiên N1 đến
máy chủ. Máy chủ chọn một CRP (Ci, Ri) và một số ngẫu nhiên Rs. Sau đó, máy
chủ tạo ra một thông điệp được mã hóa MA=(IDA, N1, Rs)Ri. Sau đó, máy chủ gửi
thông điệp MA này cùng với thử thách Ci và một mã xác thực thông điệp
MACA=(MA| Ri| Rs) đến thiết bị IoT. Thiết bị IoT áp dụng Ci vào PUF cục bộ của
nó để tái tạo lại Ri, giải mã thông điệp MA với nó và xác minh tính xác thực, tính
toàn vẹn và tính mới của thông điệp với MAC được cung cấp. Trong bước tiếp lOMoARcPSD|16072870
theo, thiết bị IoT tạo ra một CRP mới (Ci+1, Ri+1) bằng cách sử dụng thử thách mới
(Ci+1=H(Rs| NA) với H là hàm khoảng cách Hamming và NA là một số ngẫu nhiên
được tạo ra khác. Một lần nữa, thiết bị tạo ra một thông điệp được mã hóa
Ms=(IDA, NA, Ri+1)Ri. Sau đó, thiết bị gửi Ms cùng với các MAC của nó đến máy
chủ. Máy chủ xác minh tính mới của thông điệp với MAC, tái tạo Ci+1 và kiểm tra
tính chính xác của Ri+1 được cung cấp. Giao thức xác thực đối với thiết bị-thiết bị
tương tự như phương pháp này và sử dụng máy chủ để xác thực hai thiết bị với
nhau. Vì quá trình kết quả tương tự như với xác thực đối với thiết bị-máy chủ,
chúng tôi không bàn luận lại về nó.
Ưu điểm chính của giao thức này là tính năng xác thực đối xứng và khả năng
xác thực thiết bị-thiết bị, rất hữu ích cho nhiều ứng dụng IoT. Nhược điểm chính
của giao thức này là tác giả vẫn giả định một PUF hoàn hảo, và không rõ liệu nó có
khả năng chống lại các cuộc tấn công học máy hay không. Các PUF không hoàn
toàn ổn định không được xem xét. Ngoài ra, giống như các phương pháp trước đó,
giao thức sử dụng các nguyên tố mật mã, vi phạm động lực ban đầu của một PUF.
Bên cạnh đó, chi phí triển khai phần cứng chưa được báo cáo.
6.3. Giao thức Phản hồi Thử thách che giấu
Khác với phương pháp trước đó, giao thức phản hồi thử thách che giấu
không yêu cầu mã hóa hoặc các nguyên tố mật mã khác và kháng lại các cuộc tấn
công học máy. Tuy nhiên, nó không cung cấp xác thực đối xứng và chỉ giới hạn
trong việc thiết bị IoT xác thực với một máy chủ. Các PUF không hoàn toàn ổn
định lại không được xem xét.
Ý tưởng chính của giao thức là che giấu mối quan hệ trực tiếp giữa thử
thách và phản hồi bằng cách chỉ chuyển một phần của thử thách đến một loại PUF
được gọi là PUF che giấu (OB-PUF). Như được thể hiện trong Hình 10, một OB-
PUF bao gồm một bộ sinh số ngẫu nhiên, một khối điều khiển thử thách và một
PUF tiêu chuẩn, trong ví dụ này là một PUF trọng tài. lOMoARcPSD|16072870
Hình 10. Cấu trúc PUF che giấu.
Khi một thử thách bộ phận COB được áp dụng cho OB-PUF, khối điều khiển
thử thách yêu cầu bộ sinh số ngẫu nhiên cung cấp một số ngẫu nhiên và kết hợp nó
với COB để tạo ra một thử thách đầy đủ C. Thử thách này sau đó được áp dụng cho
PUF, và phản hồi được trả lại. Quá trình xác thực đầy đủ hoạt động như sau:
1. Đầu tiên, trong giai đoạn đăng ký, máy chủ lưu trữ CRPs cho các thử thách
bộ phận kết hợp với tất cả các số ngẫu nhiên có thể. Do đó, đối với mỗi thử thách
bộ phận, n phản hồi có thể được lưu trữ.
2. Để xác thực, máy chủ gửi một thử thách bộ phận COB1 cho thiết bị. Thiết bị áp
dụng nó vào OB-PUF của nó và gửi lại phản hồi được tạo ra R.
3. Khi máy chủ nhận được R, nó so sánh nó với tất cả các phản hồi có thể
Rem1. .RemK mà có COB1 là một phần của thử thách đầy đủ của chúng. Nếu RemN = R,
N = 1. .K, xác thực thành công, nếu không xác thực sẽ bị từ chối.
Bởi vì kẻ tấn công không nhìn thấy toàn bộ CRP và không bao giờ biết số ngẫu
nhiên nào được thêm vào một thử thách một phần để tạo ra một phản hồi cụ thể,
nên lược đồ này làm cho việc tấn công máy học để tạo ra một mô hình hoạt động của PUF khó hơn nhiều. 6.4. Lockdown Protocol lOMoARcPSD|16072870
Tương tự với giao thức trước đó, giao thức lockdown tập trung vào cung cấp
tính kháng lại tấn công học máy mà không cần các nguyên lý mật mã. Nó cung cấp
xác thực đối xứng, tuy nhiên chỉ giữa thiết bị và máy chủ, không giữa các thiết bị
với nhau. Khác với các phương pháp trước đó, lockdown có thể xử lý được PUF
không ổn định. Các tác giả đề xuất các biến thể cho PUF mạnh và yếu, nhưng
chúng tôi giới hạn bản thân vào phiên bản PUF mạnh.
Giao thức sử dụng một kiến trúc PUF XOR mạnh mẽ, mà đã được chứng
minh là một trong những kiến trúc PUF kháng lại các cuộc tấn công học máy (như
đã thảo luận trong Mục 5.1). Một lần nữa, giao thức này có hai giai đoạn (xem
Hình 11). Trong giai đoạn đăng ký, máy chủ áp dụng tất cả các thách thức có thể
đến PUF bằng cách đặt PUF trong chế độ bỏ qua XOR đặc biệt. Tuy nhiên, thay vì
lưu trữ các phản hồi trực tiếp như trong các phương pháp khác, máy chủ sử dụng
học máy để tạo ra một mô hình xác thực xác thực , mô phỏng PUF. Mô hình này
sẽ được sử dụng cho các quy trình xác thực tiếp theo. Kết thúc giai đoạn đăng ký,
PUF được khóa thông qua một phần tử nhiệt hoặc lưu trữ chống cản để đảm bảo
rằng bỏ qua XOR không còn khả dụng.
Trong giai đoạn xác thực, thiết bị trước tiên gửi ID và thách thức CD của nó
đến máy chủ. Máy chủ chọn một thách thức thứ hai CS và áp dụng CS | CD vào một
bộ tạo số ngẫu nhiên giả, tạo ra một thách thức mới . CS về cơ bản đóng vai trò
như một bộ đếm và được tăng lên mỗi khi một xác thực được thực hiện. Điều này
làm cho việc thu thập đủ dữ liệu để đào tạo các mô hình trở nên khó khăn đối với
kẻ tấn công. Sau đó, máy chủ áp dụng vào và nhận được một phản hồi r, mà
nó chia thành hai phần r1 và r2, sao cho r = r1 | r2. Sau đó, máy chủ gửi CS và r1 đến
thiết bị. Sử dụng CS đã nhận được, thiết bị tái tạo và áp dụng nó vào PUF của
nó. Kết quả là = | . Sau đó, thiết bị tính toán khoảng cách Hamming phân số giữa
r1 và . Nếu khoảng cách này vượt quá ngưỡng cho phép, thì xác thực bị hủy bỏ.
Nếu không, thiết bị gửi đến máy chủ. Cuối cùng, máy chủ tính toán khoảng cách
Hamming phân số giữa r2 và . Một lần nữa, nếu chúng khác nhau quá nhiều, máy
chủ sẽ hủy bỏ xác thực. Nếu không, xác thực kết thúc thành công. lOMoARcPSD|16072870
Hình 11. Giao thức Lockdown.
7. Hiện tại chúng ta đang ở đâu với các PUF trong IoT
Các kiến trúc PUF cổ điển như RO PUF đã hứa hẹn cung cấp các dấu vân
tay không thể sao chép, nhưng lại dễ bị tấn công học máy và thuộc tính được điều
khiển của môi trường vật lý. Các kiến trúc mới hơn đã đạt được tiến bộ rõ rệt trong
việc giải quyết những vấn đề này. Tuy nhiên, chúng vẫn chưa được hiểu đầy đủ và
cần được kiểm tra từ nhiều góc độ khác nhau để đánh giá những ưu và nhược điểm
của chúng. Đối với các giao thức PUF, lời hứa của PUF là cung cấp xác thực an
toàn và nhẹ cho các thiết bị IoT mà không cần mã hóa hoặc bộ nhớ an toàn. Tuy lOMoARcPSD|16072870
nhiên, hầu hết các giao thức được đề xuất đều sử dụng ít nhất một trong hai kỹ
thuật này. Các phương pháp gần đây như có vẻ hứa hẹn. Tuy nhiên, vẫn còn một số
vấn đề mở sẽ được thảo luận sau đây.
Xác thực thường được xử lý giữa một máy chủ và một thiết bị IoT. Một số
phương pháp cung cấp xác thực tương, và hầu hết chỉ hỗ trợ các thiết bị xác thực
với máy chủ. Trong IoT, việc xác thực giữa các thiết bị và ngay cả giữa người dùng
và các thiết bị cũng rất quan trọng. Hình 12 cho thấy tất cả các quy trình xác thực
có thể có trong IoT. Việc PUF có thể giúp đỡ ở đây hay không là một câu hỏi phần
lớn vẫn chưa có câu trả lời. Việc xác thực mà không cần máy chủ sẽ rất khó khăn
hoặc thậm chí là không thể. Lưu ý rằng giao thức duy nhất hỗ trợ xác thực thiết bị
đến thiết bị (giao thức xác thực tương) làm như vậy bằng cách sử dụng máy chủ
làm trung gian được tín nhiệm tương. Không phải tất cả các quy trình xác thực
khác nhau này sẽ được yêu cầu trong tất cả các kịch bản IoT, và một số trong số
chúng có thể bị bỏ qua hoặc được kết nối (ví dụ: người dùng-máy chủ thông qua thiết bị IoT).
Hình 12. Các quy trình xác thực có thể có cho các thiết bị IoT