Hình 2.: Vết SPA từ hai phép tính trên thẻ thông minh chỉ xuất hiện ở vòng thứ
2.6.4. Biện pháp đối phó
Các biện pháp đối phó có thể được sử dụng để bảo vệ bộ vi xử lý từ các cuộc tấn công lỗi dựa trên các phương pháp trước đây cho các mục đích toàn vẹn. Tuy nhiên, biện pháp đối phó chỉ cần được áp dụng trong quá trình mà một kẻ tấn công có thể có lợi từ tiêm lỗi, mặc dù một phân tích cẩn thận của một ứng dụng nhất định là cần thiết để xác định nơi biện pháp đối phó được yêu cầu. Điều này đã được chứng minh là đúng ngay cả nơi các thuật toán được dựa trên con số ngẫu nhiên, vì nó đã được chứng minh rằng các thao tác của các số ngẫu nhiên có thể thỏa hiệp sự an toàn của một thuật toán mã hóa Danh sách các biện pháp đối phó được đưa ra dưới đây:
• Tổng kiểm tra: được thực hiện trong phần mềm hoặc phần cứng, điều này ngăn cản dữ liệu (chẳng hạn như giá trị quan trọng) được sửa đổi bởi một lỗi, là lỗi có thể được phát hiện tiếp theo đưa ra hành động thích hợp.
• Làm trễ ngẫu nhiên: có thể được sử dụng để thay đổi thứ tự mà trong đó hoạt động trong một thuật toán được thực hiện từ một thực hiện khác, làm cho nó khó khăn để dự đoán những gì máy đang làm tại bất kỳ chu kỳ nhất định. Đối với hầu hết các cuộc tấn công lỗi biện pháp đối phó này sẽ chỉ làm chậm một kẻ tấn công xác định. Tuy nhiên, điều này sẽ ngăn chặn các cuộc tấn công đòi hỏi phải có lỗi trong địa điểm hoặc theo một thứ tự cụ thể.
• Trì hoãn ngẫu nhiên: được sử dụng để tăng thời gian cần thiết để tấn công. Như với thực hiện ngẫu nhiên một kẻ tấn công được xác định có thể cố gắng để tiêm một lỗi cho đến khithời điểm này lỗi được tiêm trùng với mục tiêu. Tuy nhiên, điều này có thể mất nhiều thời gian hơn đáng kể nếu không sẽ được yêu cầu, đặc biệt là nếu một kẻ tấn công có thể xác định một mục tiêu thông qua một kênh bên.
• Thực hiện dự phòng: là lặp đi lặp lại của các thuật toán và so sánh kết quả để xác minh rằng các kết quả chính xác được tạo ra. Điều này là hữu hiệu nhất khi lần thứ hai phép tính là khác với lần đầu tiên, ví dụ chức năng nghịch đảo để ngăn chặn kẻ tấn công cố gắng bơm một lỗi giống nhau trong mỗi lần thực hiện
• Dự phòng biến số: là việc tái tạo một biến trong bộ nhớ. Khi một biến được kiểm tra hoặc sửa đổi các bản sao dự phòng cũng được kiểm tra hoặc sửa đổi. Điều này là phần lớn hiệu quả khi các bản sao được lưu trữ trong một hình thức khác nhau với bản gốc, ví dụ như các phép toán bổ sung, để tránh một lỗi được áp dụng cho mỗi biến trong cùng một cách.
• Bộ đếm và mồi quét: được bao gồm để ngăn chặn kẻ tấn công hoàn tất thành công một cuộc tấn công lỗi bằng cách làm cho một bộ vi xử lý không hoạt động lần một tấn công lỗi được phát hiện. Mồi là đoạn mã nhỏ (<10 byte) mà thực hiện việc vận hành và kiểm tra nó là kết quả. Viết một mồi điển hình, đọc và so sánh dữ liệu, thực hiện XORs, bổ sung, các phép nhân và các hoạt động khác mà kết quả có thể dễ dàng kiểm tra. Khi một mồi phát hiện một lỗi nó tăng một truy cập trong bộ nhớ không dễ thay đổi, và khi truy cập này vượt quá giới hạn dung sai (thường là ba) bộ vi xử lý ngừng hoạt động.
2.7. Kết luận chương 2
Trong chương 2 em đã tìm hiểu và nghiên cứu về những thuật toán mật mã của thẻ thông minh như mã hóa đối xứng, mã hóa công khai, những tính năng bảo mật, các giao thức xác thực, bảo toàn và bảo mật dữ liệu, thiết lập khóa, hệ điều hành, các tập tin… của thẻ thông minh.
Và phải kể đến đó là những tấn công nhằm vào thẻ thông minh như: tấn công kênh bên: theo thời gian, theo phân tích nguồn điện cung cấp, theo phương pháp phân tích bức xạ điện từ. Tấn công dựa trên phân tích lỗi: lỗi trong RSA tạo chữ ký, lỗi trong DES, các cơ chế gây lỗi và các biện pháp phòng ngừa, đối phó tấn công.
Để hiểu hơn về những ứng dụng trong thực tế của thẻ thông minh và khả năng bảo vệ an toàn, các tiện ích những tính năng vượt trội cho mỗi lĩnh vực mà thẻ thông minh ứng dụng riêng, chương 3 sẽ tìm hiểu việc ứng dụng của thẻ thông minh trong thông tin di động một trong lĩnh ứng dụng lớn nhất của thẻ thông minh.