Làm chủ công nghệ thiết kế vi mạch SoC FPGA cho ứng dụng IoT cần bảo mật cao
19-11-2021Vi mạch SoC FPGA là nền tảng để phát triển Gateway cho các ứng dụng xử lý tốc độ cao có kết hợp với mã hóa và giải mã với các IP phần cứng.
Sự phát triển công nghệ nhanh chóng trong lĩnh vực thiết kế vi mạch và nhu cầu đa dạng trong việc phát triển các dạng vi mạch dùng cho IoT (Internet of Things) đã tạo thúc đẩy mạnh mẽ các phương pháp thiết kế vi mạch theo hướng tích hợp MCU (thường là ARM) và FPGA vào trong cùng một chip gọi là SoC FPGA. Bởi lẽ, SoC FPGA sở hữu nhiều ưu điểm như dễ dàng đáp ứng các yêu cầu ứng dụng IoT về thời gian thiết kế ra sản phẩm nhanh, linh hoạt cả phần cứng và phần mềm, đáp ứng nhu cầu phát triển đa dạng các Gateway IoT thông qua việc thực hiện các chức năng chuyển mạch linh hoạt và bảo mật với khả năng cho phép thay đổi cấu hình từ xa. Hơn thế nữa, dựa vào việc tích hợp các bộ mã hóa và giải mã mật mã thực hiện trên FPGA với thế mạnh phần mềm vốn có của các lõi ARM, các hệ thống SoC FPGA có thể thực hiện các chức năng mã hóa dữ liệu ở tốc độ cao bằng phần cứng tích hợp với bộ xử lý ARM.
Thực tế, nhu cầu thiết kế một nền tảng IoT (IoT platform) đủ mạnh có thể hỗ trợ cho việc thử nghiệm và phát triển các thành phần trong lĩnh vực thiết kế vi mạch trong IoT là cần thiết. Ở thời điểm hiện tại, việc nghiên cứu và sử dụng SoC FPGA trong các ứng dụng IoT phát triển khá mạnh, điển hình là hai công ty dẫn đầu về lĩnh vực này là Intel và Xilinx đã tạo ra đa dạng các SoC FPGA cho các ứng dụng khác nhau trong lĩnh vực IoT. Tuy nhiên, việc sử dụng SoC FPGA để thiết kế vi mạch có hiệu suất cao dùng cho các ứng dụng IoT có thể hỗ trợ trên diện rộng các chuẩn giao tiếp (có tăng cường tính năng bảo mật thông tin) vẫn chưa được nghiên cứu nhiều do hướng tiếp cận này còn khá mới.
Hơn thế, an toàn và bảo mật thông tin trong IoT là một nhu cầu vô cùng cấp thiết, nhất là về các kỹ thuật mã hóa, giải mã mật mã trên phần cứng.
Làm chủ công nghệ thiết kế SoC FPGA
Nhóm các nhà nghiên cứu thuộc Đại học Khoa học Tự nhiên (ĐHQG TP.HCM) do TS. Huỳnh Hữu Thuận làm chủ nhiệm đã thực hiện nhiệm vụ khoa học và công nghệ “Thiết kế vi mạch dùng SoC FPGA cho các ứng dụng IoT có tính bảo mật cao”. Vi mạch đã được hiện thực hóa để kiểm chứng bằng sản phẩm mẫu là IoT platform (dùng cho hệ thống báo cháy) sử dụng SoC FPGA hỗ trợ mã hóa/giải mã mật mã với các chuẩn giao tiếp IoT (gồm Lora, Wi-Fi, BLE) và các giao tiếp ngoại vi (SPI, I2C, UART, GPIO).
Cụ thể, nhóm đã xây dựng quy trình thiết kế vi mạch dùng SoC FPGA, biên dịch, thực hiện quá trình truyền dữ liệu giữa SoC ARM và FPGA; nghiên cứu thực hiện các lõi mã hóa/giải mã dữ liệu chạy trên SoC FPGA ở tốc độ 150-300 Mbps. Vi mạch kết hợp lõi ARM bên trong FPGA và kỹ thuật DMA cho phép các khối phần cứng mã hóa/giải mã mật mã và các IP giao tiếp chạy ở tốc độ cao. Tốc độ này cho phép hệ thống được thiết kế có thể dùng cho nhiều ứng dụng khác nhau trong lĩnh vực an ninh thông tin và hoàn toàn phù hợp cho các ứng dụng xử lý tín hiệu theo thời gian thực.
Hệ thống đầy đủ của SoC FPGA
Hệ thống đầy đủ của SoC FPGA bao gồm 3 IP: AES-128, SHA-2 256 RSA-1024 bit, và các IP giao tiếp với ngoại vi như SPI, I2C, UART và USB Dongle WiFi.
Ứng dụng sản phẩm mẫu IoT platform trong hệ thống báo cháy tự động
Hệ thống báo cháy được triển khai dựa trên công nghệ BLE Mesh, nên các thiết bị trong hệ thống cũng hoạt động cơ bản dựa trên kiến trúc mạng của công nghệ này. Tuy nhiên, nhóm đã tối ưu các Node để phục vụ riêng cho việc báo cháy, hỗ trợ giám sát bằng ứng dụng Fire Alarm (báo cháy) trên điện thoại thông minh chạy hệ điều hành Android.
Kiến trúc mạng của hệ thống báo cháy được triển khai theo kiến trúc phân tầng thiết bị, bao gồm 2 tầng chính gồm: tầng Gateway – Friend (chịu trách nhiệm chính trong việc xử lý dữ liệu, đưa ra thông báo tới người dùng) và tầng Friend - Low Power (chịu trách nhiệm chính trong việc thu thập dữ liệu cũng như phát hiện các dấu hiệu của sự cố).
Kiến trúc mạng của hệ thống báo cháy
Với kiến trúc mạng này, dữ liệu từ LPN (Low Power Node) chỉ được gửi trực tiếp tới Friend Node và chỉ Friend Node mới gửi dữ liệu đến Gateway Node mà thôi, giúp người dùng có thể dễ dàng quản lý hoạt động cũng như sửa chữa hay nâng cấp hệ thống. Có thể hình dung đơn giản, mỗi tầng của một toà nhà sẽ bao gồm một Friend Node và nhiều LPN, các tầng này liên kết với nhau nhờ hoạt động của các Friend Node và Gateway Node. Khi một thiết bị LPN bị hư hỏng, người dùng chỉ việc đơn giản thay thế chúng mà không cần quan tâm việc ảnh hưởng đến hoạt động của các Node còn lại trong mạng. Điều này giúp hệ thống trở nên linh động hơn, mang nhiều ý nghĩa phục vụ cho việc mở rộng cũng như nâng cấp thêm chức năng mới về sau.
Mạch PCB cho radio board kết nối với sensor báo cháy
Khi LPN phát hiện dấu hiệu xảy ra đám cháy, sẽ ngay lập tức gửi gói tin đến Friend Node được đặt ở vị trí lân cận. Sau đó, Friend Node sẽ gửi trực tiếp hoặc thông qua cơ chế Relay và chuyển tiếp gói tin này đến Gateway. Gói tin này được gửi đến smartphone, giúp người dùng có thể nhận biết và đưa ra biện pháp xử lý kịp thời. Thời gian truyền gói tin đến Gateway Node xấp xỉ 2 giây. Khoảng cách truyền tín hiệu tốt nhất giữa 2 thiết bị trong mạng là 50m, có thể mở rộng lên đến 120m, tuy nhiên ở khoảng cách này, tín hiệu truyền đi sẽ không tốt, hay bị chập chờn dẫn đến mất gói tin. Với khoảng cách thực tế như trên, hệ thống báo cháy hoàn toàn phù hợp để triển khai ở các tòa nhà cao tầng (chiều cao mỗi tầng thường không quá 10m).
Gói tín được bảo mã hóa 2 lớp với 2 khóa là AppSKey và NwkSKey, trong đó AppSKey dùng để mã hóa phần dữ liệu cần truyền, còn NwkSkey dùng để tính 4-byte MIC của gói tín để nâng cao bảo mật trên đường mạng. Gói tin được kiểm tra phần mã hóa mạng trước bằng cách tính lại giá trị 4-byte MIC và so sánh với 4-byte MIC nhận được, nếu quá trình so sánh đúng thì phần mã hóa dữ liệu sử dụng khóa AppSKey sẽ thực thi. Dữ liệu sau khi được nhận và xử lý bởi Gateway sẽ được cập nhật lên cloud.
Việc thiết kế thành công vi mạch SoC FPGA với các thuật toán mã hóa/giải mã mật mã (nhằm đảm bảo sự an toàn trong truyền thông tin) có kết hợp với các thành phần ngoại vi khác để thực hiện thành một platform ứng dụng trong lĩnh vực IoT sẽ có vai trò rất quan trọng trong lĩnh vực dân sự lẫn quân sự. Hiện nay, các vi mạch liên quan đến lĩnh vực này đều được phát triển ở nước ngoài. Do đó, việc nghiên cứu và thiết kế vi mạch thâm nhập đến các lĩnh vực này là một bước khởi đầu quan trọng trong việc tiếp cận tiến đến làm chủ lĩnh vực công nghệ cao.
Hệ thống thiết bị ngoại vi trên vi mạch
Theo TS. Huỳnh Hữu Thuận, vi mạch SoC FPGA sẽ là nền tảng để phát triển Gateway cho các ứng dụng xử lý tốc độ cao có kết hợp với mã hóa và giải mã mật mã với các IP phần cứng của các ứng dụng được phát triển thêm vào, tồn tại song song với các IP hiện có trong SoC FPGA. Các doanh nghiệp tiếp nhận chuyển giao công nghệ cũng có thể thay thế lõi ARM bên trong SoC FPGA bằng lõi RISC V để tạo ra một hệ thống hoàn chỉnh.
Thông tin liên hệ: Khoa Điện tử - Viễn thông, Trường Đại học Khoa học Tự nhiên TPHCM Điện thoại: (028) 38356464 |