Thực hiện xác thực an toàn mà không cần phải là chuyên gia về mật mã

Cập nhật: ngày 4 tháng 2023 năm XNUMX

"Bảo mật kỹ thuật số là một trong những chủ đề nổi tiếng nhất trong điện tử thiết kế ngày nay. Mã hóa có lẽ là từ đầu tiên xuất hiện trong đầu khi các kỹ sư nghĩ về bảo mật và chỉ một số kỹ sư nghĩ đến xác thực. Tuy nhiên, xác thực là một chức năng thiết yếu của một thiết bị hoặc giao dịch an toàn.

"

Xác thực là quan trọng. Nhờ các giải pháp dựa trên silicon hiện có, chúng tôi có thể kích hoạt xác thực mà không cần phải là chuyên gia triển khai mật mã.

giới thiệu

Bảo mật kỹ thuật số là một trong những chủ đề nổi tiếng nhất trong thiết kế điện tử ngày nay. Mã hóa có lẽ là từ đầu tiên xuất hiện trong đầu khi các kỹ sư nghĩ về bảo mật và chỉ một số kỹ sư nghĩ đến xác thực. Tuy nhiên, xác thực là một chức năng thiết yếu của một thiết bị hoặc giao dịch an toàn.

Xem xét xác minh danh tính về ngân hàng tại nhà. Rõ ràng, bạn muốn mã hóa thông tin bí mật như số dư và số tài khoản. Điều này xảy ra khi trình duyệt internet của bạn hiển thị ổ khóa màu xanh lục với https://. Nghĩa là, điều đầu tiên mà trình duyệt internet kiểm tra khi thiết lập kết nối an toàn là trang web của ngân hàng có xác thực hay không; nói cách khác, nó xác thực trang web của ngân hàng. Nếu không có xác thực, bạn có thể gửi thông tin đăng nhập và mật khẩu đến các trang web mạo danh, điều này thực sự có thể rất có hại vì những thông tin đăng nhập đó có thể được sử dụng lại để thực hiện bất kỳ loại hoạt động trái phép nào thay mặt cho một giao dịch của chủ tài khoản ngân hàng không nghi ngờ. Duyệt internet an toàn thường đạt được thông qua giao thức TLS/SSL, giao thức này, ngoài mã hóa, đảm bảo tính xác thực và bảo mật.

Xác thực cũng rất quan trọng đối với các ứng dụng Internet of Things (IoT): các điểm cuối không đáng tin cậy có thể khiến toàn bộ cơ sở hạ tầng gặp rủi ro. Chúng ta hãy xem xét một đồng hồ thông minh được kết nối với hệ thống phân phối điện. Một cách dễ dàng để kẻ tấn công xâm phạm mạng lưới là tải vi-rút hoặc phần mềm độc hại vào đồng hồ thông minh. Sau đó, các công tơ bị nhiễm có thể gửi thông báo sai đến cơ sở hạ tầng phản ánh mức tiêu thụ điện khác biệt đáng kể so với mức tiêu thụ điện thực tế, do đó có thể khiến lưới điện trở nên mất cân bằng. Nếu lưới điện báo cáo quá mức, nó sẽ khiến nguồn điện dường như dư thừa được chuyển hướng đi nơi khác, nhưng nếu lưới điện báo cáo không đầy đủ, nó sẽ gây ra sự gia tăng điện năng; trong trường hợp xấu nhất, cuộc tấn công có thể gây mất điện toàn bộ bằng cách phá vỡ sự cân bằng của lưới điện. Để tránh điều này, cần xác minh rằng phần cứng và phần sụn của máy đo là chính hãng. Quá trình xác minh phần sụn được gọi là Khởi động an toàn.

Triển khai phương thức xác thực hợp lệ

Bây giờ chúng ta đã hiểu tầm quan trọng của nó, hãy thảo luận về cách triển khai xác thực. Phương pháp xác thực đơn giản nhất là sử dụng mật khẩu. Trong ví dụ về đồng hồ thông minh của chúng tôi, thiết bị có thể gửi mã đến hệ thống điều khiển lưới điện. Máy chủ sẽ xác minh mật khẩu và sau đó cho phép các giao dịch tiếp theo. Mặc dù cách tiếp cận này dễ hiểu, nhưng nó không phải là cách tốt nhất. Kẻ tấn công có thể dễ dàng theo dõi thông tin liên lạc, ghi lại mật khẩu và sử dụng lại nó để xác thực các thiết bị không chính hãng. Do đó, chúng tôi coi xác thực dựa trên mật khẩu là yếu.

Một cách tốt hơn để thực hiện xác thực trong thế giới kỹ thuật số là phương pháp thử thách-phản hồi. Hãy xem xét hai loại phương pháp thách thức-phản hồi: một loại dựa trên mật mã đối xứng và loại kia dựa trên mật mã bất đối xứng.

Xác thực mật khẩu đối xứng

Xác thực dựa trên mã hóa đối xứng dựa trên một bí mật được chia sẻ. Máy chủ và thiết bị được xác thực có cùng mã khóa. Máy chủ gửi một số ngẫu nhiên, thách thức, đến thiết bị. Thiết bị tính toán chữ ký số dưới dạng chức năng của khóa và thử thách rồi gửi lại cho máy chủ. Sau đó, máy chủ chạy phép tính tương tự và so sánh kết quả. Nếu hai phép tính khớp nhau, thiết bị được xác thực (Hình 1). Để đảm bảo rằng các kết quả không thể bị bắt chước, phải sử dụng các hàm có đủ các thuộc tính toán học. Ví dụ, bí mật không thể được truy xuất mà không buộc phải tính toán kết quả. Các hàm băm an toàn như SHA-256 hỗ trợ các yêu cầu này. Đối với phương pháp thử thách-phản hồi, thiết bị chứng minh rằng nó biết bí mật mà không tiết lộ bí mật. Ngay cả khi kẻ tấn công chặn liên lạc, kẻ tấn công vẫn không thể truy cập bí mật được chia sẻ.


Hình 1. Xác thực dựa trên mã hóa đối xứng dựa trên các số khóa được chia sẻ giữa máy chủ và thiết bị.

Xác thực mật mã bất đối xứng

Xác thực dựa trên mã hóa bất đối xứng dựa trên hai khóa: khóa riêng và khóa chung. Khóa riêng chỉ được biết bởi thiết bị được xác thực, trong khi khóa chung có thể được tiết lộ cho bất kỳ thực thể nào sẵn sàng xác thực thiết bị. Như với phương pháp đã thảo luận trước đó, máy chủ gửi một thử thách tới thiết bị. Thiết bị tính toán chữ ký dựa trên khóa thách thức và khóa riêng rồi gửi lại cho máy chủ (Hình 2). Nhưng ở đây, máy chủ sử dụng khóa chung để xác minh chữ ký. Điều quan trọng nữa là hàm được sử dụng để tính toán chữ ký có các thuộc tính toán học nhất định. Các chức năng được sử dụng phổ biến nhất cho sơ đồ bất đối xứng là RSA và ECDSA. Ở đây, thiết bị cũng chứng minh rằng nó biết một bí mật, khóa riêng tư, mà không tiết lộ nó.


Hình 2. Xác thực khóa bất đối xứng dựa trên khóa chung và khóa riêng.

Tại sao IC bảo mật lại tốt cho việc xác thực

Xác thực phản hồi thách thức luôn yêu cầu đối tượng được xác thực để giữ bí mật. Trong mã hóa đối xứng, đây là bí mật được chia sẻ giữa máy chủ và thiết bị. Đối với mã hóa bất đối xứng, đây là khóa riêng. Bất chấp điều đó, tính bảo mật do xác thực phản hồi thách thức mang lại sẽ bị phá vỡ khi bí mật bị rò rỉ. Đây là lúc các IC bảo mật có thể trợ giúp. Thuộc tính cơ bản của chứng khoán IC là cung cấp sự bảo vệ mạnh mẽ cho các khóa và bí mật.

Châm ngôn cung cấp ba dòng giải pháp hỗ trợ xác thực:

IC xác thực: Đây là những thiết bị có thể định cấu hình nhưng có chức năng cố định cung cấp cách hiệu quả nhất về chi phí để triển khai xác thực phản hồi thách thức, cùng với một tập hợp nhỏ gọn các hoạt động mã hóa.

Bộ vi điều khiển an toàn: Ngoài việc hỗ trợ xác thực phản hồi thách thức, các thiết bị này cung cấp một bộ đầy đủ các chức năng mã hóa, bao gồm cả mã hóa.

Bộ vi điều khiển công suất thấp: Mặc dù các sản phẩm này không nhắm mục tiêu bảo mật cụ thể, nhưng chúng có tất cả các khối xây dựng cần thiết để kích hoạt xác thực mạnh.

chứng nhận IC

Trong số các IC xác thực, các sản phẩm dựa trên SHA-256 hỗ trợ xác thực bằng bí mật dùng chung (Hình 3), trong khi các IC dựa trên ECDSA sử dụng các cặp khóa riêng tư/công khai (Hình 4). Ngoài công cụ mã hóa, các sản phẩm này còn có bộ nhớ EEPROM tích hợp. Bộ nhớ này có thể định cấu hình và có thể được sử dụng để lưu trữ dữ liệu người dùng đã xác thực, chẳng hạn như thông tin hiệu chuẩn cho các cảm biến.

Các sản phẩm dựa trên SHA-256 là giải pháp hiệu quả nhất về chi phí. Mặc dù chúng cho phép xác thực lẫn nhau, nhưng việc phân phối khóa dùng chung yêu cầu một số biện pháp phòng ngừa để khóa không bị lộ trong quá trình sản xuất và thiết lập thiết bị. Bí mật này có thể được lập trình tại nhà máy Maxim để khắc phục nhược điểm này.


Hình 3. Xác thực an toàn SHA-256 dựa trên bí mật được chia sẻ.

IC DS28E15/DS28E22/DS28E25 của Maxim dựa trên SHA-256 công nghệ và có kích thước bộ nhớ trong khác nhau. Vì cùng một khóa được lưu trữ ở phía máy chủ và phía thiết bị nên nên sử dụng bộ đồng xử lý như DS2465 ở phía máy chủ.

Các sản phẩm dựa trên mã hóa bất đối xứng (chẳng hạn như DS28C36 và DS28E35) cung cấp giải pháp linh hoạt hơn vì không cần bảo vệ khóa khỏi bị tiết lộ từ phía máy chủ. Tuy nhiên, để giảm tải toán khóa công khai và cung cấp các hoạt động bảo mật bổ sung, có thể sử dụng bộ đồng xử lý phía máy chủ như DS2476 (IC đồng hành với DS28C36) để đơn giản hóa quá trình phát triển giải pháp hệ thống.


Hình 4. Xác thực dựa trên ECDSA dựa trên các cặp khóa riêng tư/công khai.

Bộ vi điều khiển an toàn hỗ trợ mã hóa đối xứng và bất đối xứng

Maxim cung cấp các bộ vi điều khiển an toàn, từ bộ xử lý cấp ứng dụng MAX32590 (ARM9 hoạt động ở 384MHz) có thể chạy các hệ điều hành cấp cao như Linux, cho đến các bộ đồng xử lý có hệ số dạng nhỏ như MAX32555 hoặc MAXQ1061.

Các bộ vi điều khiển này hỗ trợ các thuật toán mật mã và mã hóa đối xứng và bất đối xứng cho chữ ký số và xác thực. Chúng có các bộ tăng tốc phần cứng cho SHA, RSA, ECDSA và AES, cũng như thư viện mật mã hoàn chỉnh, cung cấp API chìa khóa trao tay tuân thủ tiêu chuẩn. Chúng có tính năng khởi động an toàn tích hợp, vì vậy tính xác thực của phần sụn luôn được đảm bảo. Họ có thể xử lý một loạt các chương trình xác thực do tập hợp các tính năng mã hóa toàn diện của họ.

MAXQ1061 là bộ đồng xử lý không chỉ hỗ trợ xác thực mà còn xử lý các bước quan trọng nhất trong giao thức truyền thông bảo mật IP tiêu chuẩn TLS/SSL. Việc xử lý giao thức TLS trên chip làm tăng mức độ bảo mật và giảm tải cho bộ xử lý chính khỏi các tác vụ tính toán chuyên sâu. Điều này rất có giá trị đối với các hệ thống nhúng bị hạn chế về tài nguyên.

vi điều khiển công suất thấp

Các bộ vi điều khiển công suất thấp như MAX32626 được nhắm mục tiêu vào các thiết bị đeo được và do đó không phải là IC “tập trung vào an toàn”. Tuy nhiên, sản phẩm được thiết kế có tính đến những thách thức bảo mật trong tương lai khi các cuộc tấn công trở nên thường xuyên hơn. Do đó, MAX32626 có một đơn vị bảo vệ tin cậy phần cứng hỗ trợ xác thực cũng như AES phần cứng để mã hóa và khởi động an toàn tích hợp.