Trang chủ Công nghệ & Ứng dụng Công nghệ & Ứng dụng Bộ tạo số ngẫu nhiên cho các thiết bị IoTs

Bộ tạo số ngẫu nhiên cho các thiết bị IoTs

Tóm tắt
Số ngẫu nhiên là nền tảng của mật mã và an toàn thông tin. Điểm mấu chốt của an toàn bảo mật IoTs là cần có một thiết bị tạo số ngẫu nhiên có tốc độ nhanh, nhỏ và rẻ để có thể dễ dàng tích hợp vào trong các thiết bị. Năm 2016, nhóm nghiên cứu SITP (Secure Internet of Things Project) thuộc Trường Đại học Standford, Mỹ đã công bố một mạch điện mới để tạo số ngẫu nhiên có tên là mạch Lampert (Lampert circuit). Được xây dựng trên các thành phần phần cứng đơn giản, hoạt động mạch Lampert của thiết bị này là trong suốt (transparant) và có thể kiểm tra (auditable). Bằng cách so sánh các đầu ra từ hai nguồn tạp âm thác, mạch này loại bỏ được các nhiễu loạn từ môi trường như các năng lượng tần số vô tuyến RF (Radio Frequency) hay sự không ổn định của nguồn điện. Phần cứng xây dựng được cho ra chuỗi bit có giá trị entropy lớn hơn 0.98 trong một mẫu với giá thành chỉ khoảng 1.5USD, kích thước cỡ 1.5cm2 và có thể tắt để tiết kiệm năng lượng khi không sử dụng.


1. Giới thiệu
Số ngẫu nhiên là nền tảng của mật mã và an toàn máy tính. Hầu như mọi ứng dụng mật mã (các hệ mật khóa đối xứng, khóa công khai, chữ ký số, chứng thực số) đều phụ thuộc vào các bit ngẫu nhiên. Bộ tạo số ngẫu nhiên kém có thể gây ra các nguy cơ bị tấn công cho các hệ thống và ứng dụng máy tính. 

Các hệ thống nhúng, bao gồm các mạng cảm biến và các thiết bị IoTs, ngày càng cần sự hỗ trợ của mật mã với các khóa ngẫu nhiên, được tạo từ các bộ tạo số ngẫu nghiên (RNG: Random Number Generator) được thay đổi định kỳ hoặc theo từng phiên. 

Các thiết bị RNG thường sử dụng một quy trình vật lý như nhiễu nhiệt (thermal noise) để tạo ra các bit ngẫu nhiên. Tuy nhiên, các RNG tích hợp sẵn gặp phải hai vấn đề về an toàn. Thứ nhất, trong hầu hết các trường hợp, không có mô tả cụ thể về hoạt động của chúng và do đó không có cách nào biết giá trị độ ngẫu nhiên của nó tạo ra là bao nhiêu và sử dụng chúng thế nào cho an toàn. Thứ hai, thậm chí trong trường hợp thiết kế mạch được mô tả (ví dụ Intel’s RDRAND và RDSEED) thì việc xác định con chip có sử dụng thiết kế này cũng đòi hỏi chi phí lớn. 

Để thay thế, người thiết kế hệ thống nhúng có thể chế tạo một mạch RNG riêng rẽ. Ưu điểm của phương pháp này là dễ triển khai và kiểm tra được. Hơn nữa, có nhiều mạch loại này để lựa chọn. Tuy nhiên, rất nhiều thiết kế loại này không đáp ứng được những ràng buộc đặc thù của các hệ thống nhúng về những vấn đề tiêu thụ năng lượng và sự ổn định trong một số môi trườngkhông bình thường.
2. Các sản phẩm liên quan

Có nhiều hoạt động nghiên cứu và công trình hàn lâm trong lĩnh vực RNG và được 4 loại chính: Các mạch tích hợp trên chip (SoCs), các thiết bị ngoại vi RNG thương mại, các thiết kế FPGA và các thiết kế rời rạc. Nhìn tổng quan, các mạch này đều trích xuất sự ngẫu nhiên từ một quá trình vật lý nền tảng như nhiễu (nhiễu nhiệt, nhiễu ngắn, nhiễu flicker,…) và các hiện tượng lượng tử (quantum phenomena), hiệu ứng quang điện hay quá trình phân rã phóng xạ. Các quá trình vật lý không xác định này sẽ được đo đạc và chuyển đổi thành các bit ngẫu nhiên. 

Một số bộ CPU được tích hợp sẵn mạch RNG điển hình như Intel’s Ivy Bridge. Một vài SoC, bao gồm Broadcom hay IT, cũng tích hợp các mạch này. Tuy nhiên, các mạch này đều không có tài liệu mô tả chi tiết và không thể đo kiểm đánh giá được độ ngẫu nhiên của chuỗi bit. 

Một số thiết bị được thương mại hóa nhưng chỉ có một số ít phù hợp với các hệ thống nhúng nhưng phần lớn lại chỉ sử dụng để tạo nguồn số ngẫu nhiên cho các máy chủ và máy tính cá nhân. Nhìn chung, hầu hết các mạch RNG thương mại đều được tối ưu cho các tốc độ bit rất cao. Ngoài ra, các thiết kế này khó triển khai và giám sát (do các thiết kế được che dấu như sở hữu trí tuệ), tiêu tốn nhiều năng lượng và có giá hàng chục hoặc hàng trăm USD. 

Một số công trình gần đây đã tập trung vào các thiết kế số thuần túy để dễ triển khai trên FPGA. Tuy nhiên, các mạch đều dễ bị ảnh hưởng bởi nhiễu nhiệt và vẫn rất khó đo kiểm và giám sát, mặc dù có thiết kế tường minh. 

Ngoài ra, các RNG có thiết kế rời rạc (discrete design) cũng đã được đề xuất dựa trên tạp âm đánh thủng (breakdown noise); bộ khuếch đại tạp âm;tạp âm RF. Tuy nhiên, các thiết kế này vẫn gặp phải các vấn đề về độ ổn định cũng như khả năng giám sát được. Dựa theo các yêu cầu đối với RNG của Viện Tiêu chuẩn và Kỹ thuật quốc gia Hoa Kỳ (NIST), mục tiêu thiết kế của mạch Lampert được tuyên bố là: 

- Đơn giản để dễ kiểm tra và giám sát: Người sử dụng mạch có thể kiểm tra trạng thái của từng thành phần trong mạch bao gồm đầu ra của nguồn tạp âm, các nguồn điện và tham chiếu.
- Mạch có thiết kế rời rạc (discrete): Mạch phải có thiết kế đơn giản và được xây dựng trên các phần tử riêng rẽ (không phải các IC).
- Chi phí thấp, kích thước nhỏ, tốc độ bit đầu ra đủ lớn, nguồn tạp âm mạnh và hiệu quả về sử dụng năng lượng Với các mục tiêu đó, các nhà thiết kế đã lựa chọn một giải pháp khá độc đáo như trình bày dưới đây.               

3. Thiết kế của mạch LAMPER

 Điểm đặc biệt của mạch Lampert là sử dụng đồng thời hai nguồn tạp âm thay vì chỉ một nguồn như các thiết kế trước đây (Hình 1). Chuỗi bit đầu ra sẽ được trích rút trên cơ sở so sánh sự khác biệt của hai tín hiệu tạp âm. Điều này để khắc phục sự phụ thuộc của nguồn tạp âm vào các yếu tố tác động từ môi trường, nhược điểm cố hữu của các thiết kế mạch rời rạc. 

 Trong Mạch Lampert, tạp âm thác (avalance noise) của đi-ốt thác (avalance diode) được sử dụng làm các nguồn tạp âm vì một số lý do:

- Được tạo ra từ bên trong linh kiện đi-ốt (không như tạp âm RF) và không thể can thiệp bởi kẻ tấn công.
- Linh kiện rẻ (so với tạp âm RF) và dễ tích hợp với các thiết kế khác nhau
- Tín hiệu khỏe, không cần khuyếch đại.
- Không nhạy cảm với nhiệt độ (không giống như nhiễu nhiệt và RF) và hoạt động được trong nhiều môi
trường. 

Mạch Lampert đầy đủ được mô tả trên hình Hình 2. Hai nguồn tạp âm thác được tạo ra bởi hai đi-ốt thác D2, D3 sẽ được bộ so sánh với đầu ra rất đơn giản, xác định giá trị tạp âm nào cao hơn. Hình 2: Sơ đồ đầy đủ của mạch Lampert Điểm khác biệt của mạch Lampert là sử dụng nguồn hoạt điện 12V trong khi các thiết bị nhúng chỉ là 1.8-3.3V. Đầu ra của mạch là một chuỗi 768 bit. Chuỗi này sẽ được băm bởi thuật toán SHA256 thành 256 bit. Tiếp đó, 256 bit này sẽ được sử dụng làm khóa cho PRNG (thực chất là hệ mật AES-256) và bộ đếm sẽ được reset về 0. Mỗi lần cần tạo ra một số ngẫu nhiên, hệ thống sẽ tạo một khóa 256 bít, sử dụng khóa này cho AES 256 để mã hóa giá trị của bộ đếm tại thời điểm đó. Giá trị đầu ra của AES-256 chính chuỗi bit ngẫu nhiên ngẫunhiên cần tạo.

4. Tích hợp với hệ thống nhúng

 

5. Kết quả thử nghiệm 

Thử nghiệm cho thấy mạch Lampert tiêu thụ rất ít năng lượng để cung cấp đầu chuỗi bit nhân với lượng entropy cao cho bộ PRNG và giá trị entropy này không nhạy cảm với nhiệt độ và ổn định trong thời gian dài. Với mạch Lampert chạy độc lập trong vòng 10 ngày, mỗi phút 1000 chu kỳ với đầu ra có độ dài 512 bit trong 1 chu kỳ, kết quả cho thấy giá trị entropy của chuỗi bit chỉ thay đổi khoảng 1% và luôn lớn hơn 0.9 như trên Hình 5.

Hình 6 cho thấy, với nhiệt độ của môi trường kiểm thử dao động từ -11oC đến 56oC, đầu ra có độ dài 512 bit trong 1000 chu kỳ, sự thay đổi về entropy của chuỗi bit ngẫu nhiên cũng chỉ khoảng 1% và luôn đạt giá trị cao hơn 0.99. 

Ngoài ra, các kết quả đo còn cho thấy, thời gian để mạch tạo ra 1024 bit (một chu kỳ) cần 25ms với năng lượng tiêu thụ chỉ vào khoảng 120mW. 

Chi tiết các linh kiện cấu thành một mạch Lampert và chi phí sơ bộ được mô tả trên Bảng 1. 

Bảng 1: chi phí linh kiện của rng

6. Kết luận
Thống kê cho thấy mạch Lampert đáp ứng đầy đủ các yêu cầu của NIST và chỉ sử dụng ít hơn 25 linh kiện với giá rẻ hơn 1,50 USD với kích thước 1.5cm2. Các chỉ số này vẫn có thể cải thiện trong tương lai. Với giải pháp này, trong tương lai, việc tích hợp các bộ phần cứng RNG sẽ rẻ và dễ dàng cho mọi hệ thống có tính năng bảo mật.

Cao Minh Thắng - Viện Công nghệ Thông tin và Truyền thông CDIT, Học viện Công nghệ Bưu chính Viễn thông.
Email: Địa chỉ email này đã được bảo vệ từ spam bots, bạn cần kích hoạt Javascript để xem nó. ' ); document.write( addy2810 ); document.write( '<\/a>' ); //--> Địa chỉ email này đã được bảo vệ từ spam bots, bạn cần kích hoạt Javascript để xem nó. ">

Tạp chí Tự động hóa ngày nay Số tháng 4/2017


Newer news items:
Older news items:

 

Mới cập nhật

Tìm kiếm

Quảng cáo&Liên kết