Chương 1 của đồ án đã trình bày tổng quan về Smart Card và thuật toán mã hoá AES-128. Smart Card là một thiết bị mật mã đang ngày càng được sử dụng rộng rãi tuy nhiên nó cũng có những ưu, nhược điểm nhất định. Các nội dung đã nghiên cứu ở chương này sẽ làm tiền đề để tìm hiểu các giải pháp bảo đảm an toàn cho Smart Card cài đặt thuật toán AES ở chương sau. 16 Chương 2 BẢO ĐẢM AN TOÀN CHO SMART CARD CÀI ĐẶT THUẬT TOÁN AES Các loại thiết bị mật mã đang đứng trước rất nhiều nguy cơ tấn công như: Tấn công bản mã, tấn công bản rõ, tấn công toán học.
Các loại tấn công này tốn kém nhiều về chi phí, nguồn lực và mất rất nhiều thời gian nhưng kết quả và mức độ thành công còn nhiều hạn chế. Trên thực tế, các thuật toán mật mã luôn được thực hiện trong phần mềm hoặc phần cứng của các thiết bị vật lý. Những tương tác vật lý có thể đem lại thông tin có ích cho phân tích mã. Loại thông tin này được gọi là thông tin kênh kề (side-channel information), loại tấn công khai thác thông tin kênh kề được gọi là tấn công kênh kề (side-channel attacks).
Những dạng tấn công kênh kề điển hình có thể kể là tấn công phân tích timing, tấn công phân tích lỗi, tấn công phân tích năng lượng tiêu thụ,… Chương 2 của đồ án sẽ tìm hiểu về tấn công phân tích năng lượng tiêu thụ. Tấn công phân tích năng lượng tiêu thụ bao gồm: tấn công phân tích năng lượng tiêu thụ đơn giản (SPA) và tấn công phân tích năng lượng vi sai (DPA). Tấn công DPA được trình bày ở chương này là DPA nói chung, không cụ thể là DPA bậc nhất (FO DPA) hay DPA bậc cao (HO DPA). Vấn đề an ninh, an toàn của Smart Card Để đáp ứng yêu cầu nhiệm vụ ngày một đa dạng của công tác Cơ yếu, một số thiết bị mật mã nhỏ gọn, linh hoạt như Smart Card ngày càng được sử dụng phổ biến.
Smart Card cũng có cả điểm mạnh và điểm yếu. Với kích thước chip chỉ 9mm2 thì bộ xử lý và bộ nhớ của Smart Card yếu hơn của PC nhiều và hoàn toàn không thích hợp nếu cần xử lý lượng lớn dữ liệu hay các tác vụ đòi hỏi nghiêm ngặt về thời gian. Ưu điểm chính của Smart Card gồm an toàn chống truy cập trái phép, sự chuẩn hoá chính xác và làm việc chắc chắn tin cậy. Bên cạnh đó, Smart Card cũng có những điểm yếu, đó là: - Smart Card dễ bị mất, dễ hư hỏng: Kích thước Smart Card nhỏ, nhẹ nên dễ bị mất nếu người sử dụng không cẩn thận.
Thẻ nhựa chứa chip vi xử lý khá dẻo, dễ uốn nên do đó chip càng lớn thì càng dễ bị hỏng. 17 - Thẻ không phải thiết bị độc lập mà phải dựa vào hệ thống khác. Smart Card không có nguồn pin bên trong, không có giao diện trực tiếp với người dùng mà nó phụ thuộc vào bộ đọc thẻ bên ngoài, điều này sẽ dễ dàng cho kẻ tấn công đo mức điện năng tiêu thụ với một bộ đọc giả. Đây chính là điểm yếu để kẻ tấn công thực hiện tấn công phân tích năng lượng tiêu thụ.
- Smart Card không đặt một clock bên trong nó, nhịp clock cũng được cung cấp từ bên ngoài. Điều này cho phép kẻ tấn công đo thời gian hoạt động của thẻ với độ chính xác cao. - Smart Card còn có nguy cơ chịu tấn công mạch điện (đây là dạng tấn công probing): Giả thiết người tấn công bằng cách nào đó có được thiết bị mật mã, và họ muốn khai thác thiết bị đó để lấy được các thuật toán mật mã trong các con chip của thiết bị đó. Smart Card cung cấp các dịch vụ bảo mật bên trong thẻ bằng nhiều loại thuật toán mã hóa được sử dụng rộng rãi như DES, 3DES, RSA, AES, ECC,.
Một trong những cách phổ biến nhất để giảm các nguy cơ tấn công Smart Card đó là sử dụng các giao thức mã hoá mạnh. Smart Card hiện nay thường được cài đặt AES bởi AES là một thuật toán mã hoá mạnh, thiết kế đơn giản nhưng vẫn đảm bảo an toàn, phù hợp với thiết bị nhỏ gọn như Smart Card. Tấn công lên thuật toán AES-128 trên Smart Card 2. Tổng quan về tấn công lên Smart Card 2.
Tấn công dựa vào kiểm soát quá trình tính toán Dựa vào kiểm soát quá trình tính toán có thể chia ra: tấn công chủ động và tấn công bị động. Tấn công chủ động: Là can thiệp trực tiếp thay đổi cấu trúc thiết bị mật mã, các đầu vào, nhằm mục đích làm các thiết bị này làm việc không bình thường qua đó khám phá ra khóa bí mật. Trong khi thực hiện tấn công, kẻ tấn công có thể gây ra một số ảnh hưởng tới hệ thống đích. Mã thám có thể thu thập được thông tin cần thiết từ sự thay đổi trong hoạt động của hệ thống do tác động bởi tấn công.
Điển hình của loại tấn công này là: tấn công vi thăm, tấn công đảo ngược thiết kế,… 18 Tấn công bị động: Là khi kẻ tấn công không tác động trực tiếp lên thiết bị mật mã cũng như môi trường làm việc, các đường vào ra mà chỉ quan sát các thuộc tính vật lý (thời gian thực hiện, năng lượng tiêu thụ,…) để khám phá ra khóa. Tấn công bị động không làm ảnh hưởng tới hoạt động của hệ thống chịu tấn công, kẻ tấn công thu thông tin từ các hoạt động của hệ thống đích, nhưng hệ thống đích vẫn hoạt động chính xác như không có tấn công xảy ra. Tấn công dựa vào phương pháp phân tích Tùy vào phương pháp được sử dụng trong quá trình phân tích mẫu dữ liệu mà có thể được chia thành tấn công đơn giản hoặc tấn công vi sai. Tấn công đơn giản: Tiến hành khai thác đầu ra chủ yếu phụ thuộc và các hoạt động được thực hiện.
Thông thường, kẻ tấn công chỉ sử dụng một vết để phân tích, thu thập thông tin. Loại tấn công này khai thác mối quan hệ giữa quá trình thực hiện và đầu ra của thiết bị mật mã. Tấn công đơn giản sẽ khó thực hiện khi có nhiều nhiễu trong các phép đo, để thực thiện được các tấn công trong môi trường có nhiều nhiễu ta sử dụng tấn công vi sai. Tấn công vi sai: Kẻ tấn công khai thác mối tương quan giữa dữ liệu giả định và các thông tin rò rỉ của thiết bị mật mã, sử dụng phương pháp thống kê để so sánh, đánh giá qua đó tìm ra các thông tin quan trọng (như khóa bí mật,…) của thiết bị.
Tấn công dựa vào cách truy cập modul Khi truy cập vào modul của một modul phần cứng mật mã, có thể phân loại thành: tấn công xâm lấn (invasive attacks), tấn công bán xâm lấn (semiinvasive attacks) và tấn công không xâm lấn (non – invasive attacks). - Tấn công xâm lấn: Là tấn công truy cập trực tiếp đến các thành phần bên trong của modul hoặc các thiết bị mật mã. Có thể thấy tấn công này chỉ xảy ra nếu máy mã rơi vào tay đối phương. Thực hiện tấn công này cần các thiết bị đắt tiền như máy cắt laser, trạm thăm dò, máy hội tụ tia ion.
- Tấn công bán xâm lấn: Loại tấn công này liên quan đến việc truy cập vào thiết bị, kẻ tấn công tìm cách làm tổn thương tính an toàn của vi xử lý mà không trực tiếp can thiệp vào thiết bị. 19 - Tấn công không xâm lấn: Ở tấn công này người tấn công chỉ khai thác những giao diện được phép xâm nhập, không mở vỏ, không tác động gì lên máy mã do đó không để lại dấu vết. Tấn công không xâm lấn có thể chia thành tấn công tích cực và tấn công thụ động: + Tấn công không xâm lấn tích cực là gây lỗi làm cho clock chạy không đúng, làm nguồn nuôi bất ổn, thay đổi nhiệt độ môi trường,… + Tấn công không xâm lấn thụ động là bằng cách đo thời gian thực hiện, năng lượng tiêu thụ hay trường điện từ để khám phá khóa mã. Tấn công kiểu này còn được gọi là tấn công kênh kề (side - channel attrack).
Loại tấn công này có đặc điểm quan trọng là không thể bị phát hiện. Mặt khác, so với tấn công xâm lấn thì tấn công không xâm lấn thường có chi phí thấp có thể triển khai đồng bộ trên quy mô lớn. Các loại tấn công kênh kề nguy hiểm có thể kể đến là: Tấn công phân tích thời gian, tấn công gây lỗi, tấn công phân tích năng lượng và tấn công phân tích điện - từ trường. Tấn công phân tích điện năng tiêu thụ đơn giản (Simple Power Analysis – SPA) 2.
Tổng quan Tấn công phân tích điện năng tiêu thụ đơn giản (SPA) là kỹ thuật đo trực tiếp điện năng tiêu thụ của thiết bị mật mã trong quá trình hoạt động mật mã. Mục tiêu của SPA là có được khóa từ một (hoặc rất ít) vết điện năng thu được [5]. Để thực hiện SPA đòi hỏi phải hiểu biết chi tiết về thuật toán mật mã được xử lý bởi thiết bị chịu tấn công. Do chỉ dựa vào một vết điện năng thu được, nên phải sử dụng các phương pháp thống kê phức tạp để trích xuất được tín hiệu.
Trong trường hợp đặc biệt nhất, kẻ tấn công cố gắng tiết lộ khóa dựa trên một dấu vết điện năng duy nhất. Để phân biệt giữa giả định SPA đặc biệt và bình thường, ta phân biệt giữa cuộc tấn công SPA một lần và cuộc tấn công SPA nhiều lần. Trong các cuộc tấn công SPA một lần, chỉ có thể ghi lại một vết điện năng. Trong các cuộc tấn công SPA nhiều lần, nhiều dấu vết điện năng có thể được ghi lại.
Ưu điểm của việc có một số dấu vết cho một bản rõ là chúng ta có thể sử dụng chúng để giảm nhiễu bằng cách tính giá trị trung bình của các dấu vết. 20 Mặc dù có sự khác biệt trong việc thực hiện một phép đo hoặc thực hiện nhiều phép đo, nguyên lý tấn công của SPA luôn giống nhau. Đó là kẻ tấn công cần có khả năng theo dõi được điện năng tiêu thụ của thiết bị mật mã bị tấn công. Trong thiết bị mật mã, khóa phải có tác động (trực tiếp hay gián tiếp) đáng kể lên điện năng tiêu thụ.
Kiểm tra bằng việc quan sát các vết điện năng Mọi thuật toán khi chạy trên một thiết bị mật mã được thực hiện theo một trình tự nhất định. Hoạt động được xác định khi thiết bị thực hiện thuật toán. Với thuật toán AES-128 gồm 10 vòng, mỗi vòng bao gồm 4 bước biến đổi là AddRoundKey, SubBytes, ShiftRows, và MixColumns.