Tấn công kênh bên
Giới thiệu

Bảo mật từ lâu đã là một mối quan tâm lớn trong hệ thống máy tính và truyền thông, và đã có nhiều nghiên cứu quan trọng trong lĩnh vực này. Các thuật toán mã hóa, bao gồm cả mã hóa đối xứng, mật mã khóa công khai, và các hàm băm, tạo thành một tập các yếu tố được sử dụng để xây dựng cơ chế bảo mật đối với các đối tượng cụ thể.
Ví dụ như các giao thức bảo mật mạng, như SSH và TLS, kết hợp với những yếu tố này để cung cấp chứng thực giữa các đơn vị truyền thông, và đảm bảo được tính
bí mật, tính toàn vẹn khi truyền dữ liệu. Trong thực tế, các cơ chế bảo mật chỉ xác định những chức năng nào được thực hiện chứ không nêu các chức năng này được
thực hiện như thế nào. Ví dụ, đặc điểm kỹ thuật của một giao thức bảo mật thường độc lập cho dù thuật toán mã hóa được thực hiện trong phần mềm đang chạy trên 1
bộ xử lý hay đangsử dụng các đơn vị phần cứng tùy chỉnh, và bộ nhớ được sử dụng để lưu trữ dữ liệu trung gian của các phép tính trên cùng chip giống như đơn vị tính toán hoặc trên một  chip riêng biệt.
Tuy nhiên, trong thực tế, chỉ có các cơ chế bảo mật này thì chưa thể hoàn thành được các giải pháp bảo mật. Điều đó không thực tế khi giả thiết rằng người tấn công sẽ phải trực tiếp thực hiện các tính toán phức tạp khi cố gắng phá vỡ các nguyên tố mã hóa (cryptographic primitives) được nhúng trong các cơ chế bảo mật. Một sự tương đồng thú vị mà ta có thể thấy đó là giữa các thuật toán mã hóa mạnh với một khóa bảo mật cao trên cửa trước của một ngôi nhà. Kẻ trộm cố gắng đột nhập vào một ngôi nhà sẽ không cố gắng để thử tất cả các trường hợp cần thiết để chọn lấy một khóa, chúng có thể phá cửa sổ, phá cửa bản lề hoặc cướp chìa khóa của chủ nhà khi họ đang cố gắng vào nhà. Tương tự, hầu hết tất cả các cuộc tấn công bảo mật vào các hệ thống mật mã thường nhằm vào các điểm yếu trong quá trình thực hiện, triển khai các cơ chế và các thuật toán bảo mật của cơ chế. Những điểm yếu này cho phép người tấn công hoàn thành bằng cách vượt qua, hoặc làm suy yếu đáng kể sức mạnh lý thuyết của các giải pháp bảo mật.
Đối với một hệ thống mật mã, để duy trì an toàn bắt buộc phải có khóa bí mật, khóa bí mật được sử dụng để thực hiện các dịch vụ yêu cầu bảo mật, không được tiết lộ. Từ
các thuật toán mã hóa, chúng được nghiên cứu trong một thời gian dài bởi rất nhiều chuyên gia, hacker thường có xu hướng tấn công vào phần cứng và hệ thống có chứa các đơn vị bảo mật. Một dạng tấn công mới được phát triển trong vài năm qua bởi Kocher. Các cuộc tấn này dựa vào mối tương quan giữa các số đo vật lý được thực hiện giữa các điểm khác nhau trong suốt quá trình tính toán và trạng thái bên trong (internal) của thiết bị xử lý, mà có liên quan tới khóa bí mật.
Trên thực tế, các thuật toán mã hóa 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ý có tiếp xúc và bị ảnh hưởng bởi chúng. Những tương tác vật lý này có thể bị tác động và bị giám sát bởi các đối thủ, như Eve, và có thể có các thông tin có ích trong giải mã. Loại thông tin này được gọi là thông tin
kênh kề (side-channel information), và các cuộc 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). Ý tưởng cơ bản của
các cuộc tấn công SCA cho thấy cách mà các thuật toán mã hóa được thực hiện.
Các thông tin chính thức có liên quan tới ngày tấn công SCA xuất hiện vào năm 1965. P.Wright (một nhà khoa học với GCHQ tại thời điểm đó) đã báo cáo rằng trong
MI5, Cơ quan tình báo Anh (the British intelligence agency) đã cố gắng phá mật mã (cipher) được sử dụng bởi Đại sứ quan Ai Cập (the Egyptian Embassy) tại London, nhưng những cố gắng của họ đã bị cản trở bởi những giới hạn trong khả năng tính toán của họ. Wright đã đề nghị đặt một microphone gần cánh quạt (rotor) của thiết bị mật mã để do thám âm thanh phát ra từ thiết bị. Bằng cách lắng nghe các âm thanh của cánh quạt mà các chuyên viên mật mã thiết lập mỗi sáng, MI5 đã suy luận thành công vị trí cốt lõi của 2 hoặc 3 cánh quạt của máy. Thông tin thu được giúp cho việc tính toán để phá vỡ mật mã trở nên đơn giản hơn, và MI5 đã có thể do thám thông tin của đại sứ quán trong nhiều năm.
Các nguyên tắc chính của các cuộc tấn công SCA rất dễ nắm bắt. Các cuộc tấn công SCA làm việc dựa trên mối tương quan giữa các yếu tố vật lý trong suốt quá trình tính
toán (ví dụ: tiêu thụ điện năng, thời gian tính toán, bức xạ EMF…) và trạng thái bên trong  của thiết bị xử lý, có liên quan tới khóa bí mật. Đó là mối tương quan giữa các thông tin kênh kề và các hoạt động có liên quan tới khóa bí mật mà các tấn công SCA đang cố gắng tìm.
Các cuộc tấn công SCA đã chứng minh rằng chúng hiệu quả hơn so với các cuộc tấn công dựa trên các phân tích toán học thông thường và gắn với thực tế hơn. Trong lĩnh vực thiết kế giao thức hoặc xây dựng phần mềm, hoặc xây dựng phần mềm, có thể áp dụng các kỹ thuật để chống tấn công.
Một trong
những thuật ngữ phổ biến nhất của hệ thống an ninh ngày nay là Trusted Platform
Module (TPM). TPM thường có dạng là một modul mã hóa an toàn và là cốt lõi của
nền tảng tính toán tin cậy. Khóa là một thành phần quan trọng của module mã hóa,
nó phải được giữ và sử dụng một cách bí mật, tránh khỏi những nỗ lực muốn truy
cập bất hợp pháp của kẻ tấn công.
Các thiết
bị đơn chip, đặc biệt là thẻ thông minh (smart card) luôn bị kẻ xấu tấn công,
do sự phổ biến rộng rãi của thẻ thông minh trong các ứng dụng thương mại điện tử