Tấn công kênh bên

Tấn công kênh bên hay còn gọi là Tấn công kênh kề là loại tấn công dễ thực hiện trong các loại tấn công mạnh chống lại quá trình triển khai mã hóa, và mục tiêu của loại tấn công này là phân tích các nguyên tố, các giao thức, modul, và các thiết bị trong mỗi hệ thống. Các cuộc tấn công này gây ra mối đe dọa nghiêm trọng  tới các modul mật mã. Việc triển khai thực hiện mã hóa được đánh giá thông qua khả năng chống lại các cuộc tấn công và khả năng kết hợp các biện pháp khác nhau. Bài báo này khảo sát các phương pháp và các kỹ thuật được sử dụng trong tấn công kênh kề (Side-channel attack), những ảnh hưởng tiêu cực của loại tấn công này, các biện pháp chống lại những cuộc tấn công này và đánh giá tính khả thi và khả năng ứng dụng của chúng. Cuối cùng, sự cần thiết và tính khả thi trong việc áp dụng vào kiểm tra an ninh vật lý và đánh giá sự phát triển của tiêu chuẩn FIPS 140-3 đã được nghiên cứu.[1]

Giới thiệu sửa

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ínhbí 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 đượcthự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 1bộ 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 tinkê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ủacá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 trongMI5, 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ínhtoá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 trongnhững thuật ngữ phổ biến nhất của hệ thống an ninh ngày nay là Trusted PlatformModule (TPM). TPM thường có dạng là một modul mã hóa an toàn và là cốt lõi củanề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 truycập bất hợp pháp của kẻ tấn công.

Các thiếtbị đơ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ử

Các mô hình tấn công kênh kề sửa

Mật mã có thể được xét theo hai quan điểm:quan điểm thứ nhất, nó có thể được xem như một đối tượng toán học trừu tượng (cóthể chuyển đổi, tham số hóa bằng khóa (key), chuyển một số đầu vào thành đầu ra);quan điểm thứ hai, có thể triển khai tốt trong một chương trình chạy trên một bộxử lý nhất định, trong một môi trường nhất định, và có các đặc trưng riêng. Quanđiểm thứ nhất là mật mã cơ bản (classical cryptanalysis), quan điểm thứ hai làmật mã kênh kề (Side-channel cryptanalysis). Mật mã kênh kề có ưu điểm là dựavào những đặc điểm cài đặt nổi bật để khám phá ra các tham số bí mật ẩn chứatrong phép tính

Trong giải mã truyền thống, khi đánh giá mứcđộ an toàn của giao thức mã hóa, người ta thường giả định rằng kẻ tấn công có đượcmô tả đầy đủ của giao thức, và khóa công khai, chỉ chưa biết khóa bí mật. Ngoàira, kẻ tấn công có thể chặn một số dữ liệu được trao đổi giữa những người truycập hợp pháp, và có thể có một số quyền kiểm soát dữ liệu (ví dụ như có thể lựachọn đoạn thông báo để tấn công trong toàn bộ sơ đồ ký, hoặc có thể lựa chọn bảnmã trong quá trình tấn công bản mã với một sơ đồ khóa công khai). Sau đó kẻ tấncông cố gắng phá vỡ các giao thức bằng cách khai thác các lỗ hổng khi thiết kếgiao thức.

Lúc đó, ta sử dụng toán học trừu tượng đểphân tích, nghiên cứu mật mã. Các thuật toán mã hóa thường được đánh giá độ antoàn bằng cách xem chúng như một hàm toán học được sử dụng trong các trường hợptương tự như mô tả trong hình 1.

Các thuật toán mã hóa cung cấp khả năng bảomật, an toàn chống lại kẻ tấn công, là kẻ có hộp đen (black-box) truy cập tớicác thông tin mật của hai bên truy cập hợp pháp. Tuy nhiên, khả năng bảo mật củathuật toán hoàn toàn có thể chống lại các cuộc tấn công, cố gắng tìm ra khóa bímật. 

Các cuộc tấn công được xem xét trong môhình bảo mật truyền thống này khai thác các thông số toán học của giao thức.trong những năm gần đây, các nhà nghiên cứu ngày càng nhận ra sức ảnh hưởng củacác cuộc tấn công bằng cách khai thác các thuộc tính cụ thể của quá trình triểnkhai và môi trường hoạt động.

Các cuộc tấn công SCA sử dụng thông tin bịrò rỉ thu được trong quá trình thực hiện giao thức và không được xem xét trongmô hình này. Ví dụ, kẻ tấn công có thể giám sát năng lượng tiêu thụ hoặc bức xạđiện từ phát ra từ một thẻ thông minh trong khi nó thực hiện các hoạt động bí mậtnhư giải mã và tạo chữ ký. Kẻ tấn công cũng có thể đo thời gian cần để thực hiệnquá trình mã hóa, hoặc phân tích một thiết bị mật mã khi xuất hiện lỗi. Thôngtin kênh kề có thể dễ dàng được thu thập trong thực tế, và là điều thiết yếu đểxác định được mối đe dọa từ các cuộc tấn công SCA khi đánh giá độ an toàn tổngthể của một hệ thống, minh họa tại hình 2:

Side Channels (Kênh kề) được định nghĩa làcác kênh đầu ra không mong muốn từ một hệ thống. Paul Kocher đã xuất bản bàibáo "Tấn công thời gian trong triển khai Diffie-Hellman, RSA, DSS, và các hệ thốngkhác" năm 1996 cho thấy thời gian hoạt động không liên tục trong quá trình mãhóa có thể làm rò rỉ thông tin khóa.

Phân loại tấn công kênh kề sửa

Tấn công kênh kề thường được phân loại thành ba loại như sau:

  1. Phân loại dựa vào sự kiểm soát trong quá trình tính toán.
  2. Phân loại dựa trên cách truy cập vào module.
  3. Phân loại dựa vào phương pháp được sử dụng trong quá trình phân tích.

Kiểm soát quá trình tính toán sửa

Tùy thuộcvào khả năng kiểm soát quá trình tính toán của tấn công, các cuộc tấn công SCAcó thể được phân thành hai loại chính: tấn công thụ động (passive attacks) và tấncông chủ động (active attacks).  Các cuộctấn công thụ động không làm ảnh hưởng tới hoạt động của hệ thống đích, kẻ tấncông thu được một số 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ó cuộc tấn công xảy ra. Trong khi đó, tấncông chủ động, kẻ tấn công có thể gây ra một số ảnh hưởng tới hệ thống đích. Khihệ thống bị tấn công chưa chắc đã phát hiện ra sự khác biệt, thì quan sát từbên ngoài có thể nhận thấy sự khác biệt trong hoạt động của hệ thống.

Các cách truy cập vào module sửa

Khi phântích khả năng bảo mật của một modul phần cứng mã hóa, Anderson và các cộng sựđã phân loại các cuộc tấn công thành các loại sau đây: các cuộc tấn công xâm lấn(invasive attacks), các cuộc tấn công bán xâm lấn (semi- invasive attacks) vàcác cuộc tấn công không xâm lấn (non-non-invasive attacks).

Tấn công xâm lấn sửa

Tấn công xâm lấn truy cập trực tiếp đến các thành phần bên trong của module hoặc các thiết bị mã hóa. Phá vỡ tính năng cảnh báo, cơ chế phản ứng khi phát hiện xâm lấn thường được thực hiện trong phần cứng để các cuộc tấn công xâm lấn có hiệu quả.

Tấn công bán xâm lấn sửa

Loại tấn công này liên quan đến việc truy cập vào thiết bị, nhưng không làm ảnh hưởng đến lớp thụ động hóa hoặc sinh ra các mối quan hệ điện tử khác với các quy định chophép.

Tấn công không xâm lấn sửa

Tấn công không xâm lấn là sự quan sát kĩ lưỡng các thao tác hoạt động của thiết bị. Loại tấn công này chỉ khai thác các thông tin có sẵn từ bên ngoài do bị rò rỉ. Mộtví dụ điển hình là tấn công phân tích thời gian.

Một đặc điểm quan trọng của loại tấn công này là không thể bị phát hiện. Mặt khác, so với vác cuộc tấn công xâm lấn có yêu cầu xử lý cá nhân cho mỗi thiết bị tấn công nên chi phí lớn, tấn công không xâm lấn thường có chi phí thấp để triển khai trên quy mô lớn.

Phương pháp xử lý phân tích sửa

Tùy vàophương pháp được sử dụng trong quá trình phân tích mẫu dữ liệu mà tấn công kênhkề SCA có thể được chia thành tấn công kênh kề đơn giản (simple side channelattack - SSCA) hoặc tấn công kênh kề vi sai (differential side channel attackDSCA).

TrongSSCA, việc khai thác đầu ra kênh kề chủ yếu phụ thuộc và các hoạt động được thựchiện. Thông thường, một trace duy nhất được sử dụng trong phân tích SSCA và dođó khóa bí mật có thể được đọc trực tiếp từ các trace kênh kề. SSCA khai thác mốiquan hệ giữa quá trình thực hiện và đầu ra kênh kề.

SSCA khôngkhả thi do có quá nhiều tiếng ồn trong các phép đo, DSCA sử dụng phương pháp thốngkê, khai thác mối tương quan giữa dữ liệu được xử lý với đầu ra kênh kề. Phươngpháp thống kê được sử dụng để suy luận ra khóa bí mật. Tấn công DSCA mạnh hơnSSCA.

Tấn côngkênh kề vi sai khai thác mối tương quan giữa dữ liệu và các thông tin rò rỉ củathiết bị mã hóa. Mối tương quan này thường rất nhỏ, phải sử dụng phương pháp thốngkê để khai thác một cách hiệu quả. Trong DSCA, người tấn công sử dụng mô hình giả địnhthiết bị tấn công, chất lượng của mô hình này phụ thuộc vào khả năng củangười tấn công. Mô hình giả định được sử dụng để dự đoán đầu ra kênh kề của thiết bị.

Các phương pháp tấn công kênh kề sửa

Phần này sẽ xem xét các phương pháp và kỹ thuật được sử dụng trong tấn công SCA, ảnh hưởng của các cuộc tấn công này, các biện pháp đối phó được đề xuất để chống lại các cuộc tấn công và đánh giá tính khả thi và ứng dụng của chúng.

Các cuộc tấn công SCA chống lại các module mã hóa bằng cách khai thác thông tin đặc trưng thu được từ quá trình thực hiện các giao thức và các hàm mã hóa. Thông tin đặc trưng có thể thu được như thời gian, điện năng tiêu thụ hoặc bức xạ điện từ. Các thông tin kênh kề có thể là kết quả của phần mềm hoặc phần cứng lỗi.

Tấn công thời gian sửa

Quá trình triển khai các thuật toán mã hóathường thực hiện tính toán trong khoảng thời gian không đổi, để tối ưu hóa hiệusuất. Nếu hoạt động đó liên quan đến các thông số bí mật, từ các biến thời giancó thể rò rỉ một số thông tin và cung cấp thông tin về quá trình triển khai, mộtphân tích thống kê cụ thể có thể thu được các thông số bí mật.

Về cơ bản, tấn công thời gian là một hìnhthức lấy thông tin cá nhân của người dùng bằng cách đo thời gian khi người đóthực hiện mã hóa. Nguyên tắc của tấn công này rất đơn giản: phải khai thác đúngthời điểm đang thực hiện.

Tấn công dựa vào lỗi sửa

Hầu hết các thiết bị thực hiện các quátrình mã hóa khác nhau thường đáng tin cậy hơn. Lỗi phần cứng và các lỗi xảy ratrong quá trình triển khai của modul mã hóa trên thực tế đã chứng minh những ảnhhưởng nghiêm trọng của nó đến bảo mật. Những hành vi hoặc đầu ra bị lỗi có thểtrở thành các kênh kề quan trọng, đôi khi sẽ là nguyên nhân làm tăng các lỗ hổngbảo mật trong mã hóa.

Có hai loại tấn công kênh kề dựa vào lỗi.Loại thứ nhất là các kênh sinh ra từ các lỗi tính toán trong quá trình tínhtoán mã hóa trong một modul bị tấn công. Những lỗi này có thể là ngẫu nhiên haycố ý, gây ra.

Loại thứ hai của tấn công kênh kề dựa trênlỗi, bằng cách  cố ý gửi các dữ liệu đầuvào bị lỗi đến modul bị tấn công. Modul sẽ gửi một thông báo lỗi đến người sử dụng,quá trình tính toán sẽ bị ngừng lại.

Tóm lại, các cuộc tấn công dựa vào lỗi thựchiện qua hai bước: chèn lỗi (fault injection) và khai thác lỗi. Hai bước này đượcminh họa trong Hình 4.

Bước đầu tiên bao gồm chèn một lỗi tại mộtthời điểm thích hợp trong quá trình xử lý. Việc chèn lỗi phụ thuộc vào phần cứngthiết bị. Lỗi có thể được phát sinh trong thẻ thông minh bằng các tác động vàomôi trường của nó và đặt nó trong điều kiện bình thường. Một số lỗi là bất thườngvà điện áp cao hoặc thấp bất thường, đồng hồ, nhiệt độ, bức xạ, ánh sáng.

Bước thứ hai bao gồm khai thác các kết quảsai hoặc các hành vi bất thường. Việc khai thác lỗi phụ thuộc vào quá trình triểnkhai và thiết kế phần mềm. Trong trường hợp là một thuật toán thì nó sẽ phụ thuộcvào đặc điểm kỹ thuật của thuật toán đó.

Tùy thuộc vào loại phân tích được áp dụng,việc chèn lỗi phải được thực hiện ngay lập tức hoặc trong một khoảng thời giannhất định.

Tấn công phân tích năng lượng sửa

Ngoài thời gian hoạt động và lỗi, năng lượngtiêu thụ của một thiết bị mật mã có thể cung cấp nhiều thông tin về các hoạt độngvà các thông số của hệ thống. Tấn công phân tích năng lượng chỉ có thể áp dụngvào triển khai phần cứng của hệ thống mật mã. Loại tấn công này thực sự hiệu quảvà đã được chứng minh khi tấn công thành công thẻ thông minh hoặc các hệ thống chuyêndụng lưu trữ khóa bí mật.

Về cơ bản, tấn công phân tích năng lượngcó thể chia thành Tấn công phân tích năng lượng đơn giản (Simple Power AnalysisSPA) và Tấn công phân tích năng lượng vi sai (Differential Power Analysis DPA).Trong tấn công SPA, dựa vào các dấu vết về năng lượng tiêu thụ để đoán thờigian thực thi dữ liệu, giá trị của đầu vào, đầu ra. Tấn công DPA sử dụng phươngpháp thống kê trong quá trình xử lý.

Tấn công phân tích điện từ sửa

Như các thiết bị điện, các thành phần của1 máy tính thường tạo ra các bức xạ điện từ, kẻ tấn công sẽ quan sát những bứcxạ điện từ phát ra và có thể hiểu được mối quan hệ giữa quá trình tính toán vàdữ liệu, từ đó có thể suy ra thông tin về tính toán và dữ liệu.

Tấn công phân tích điện từ (ElectroMagneticAnalysis EMA) được phân thành hai loại chính: Phân tích điện từ đơn giản (Simple ElectroMagneticAnalysis SEMA) và Phân tích điện từ vi sai (Differential ElectroMagneticAnalysis DEMA).

Có 2 phương pháp chống lại các cuộc tấncông phân tích điện từ (EM attack): giảm cường độ tín hiệu và giảm thông tintín hiệu. Kỹ thuật giảm cường độ tín hiệu bao gồm thiết kế lại mạch để giảm nhữngphát sinh ngoài ý muốn và  thiết lập vùngbảo mật để giảm

Tham khảo sửa

  1. ^ Kocher, Paul (1996). “Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems” (PDF). Advances in Cryptology—CRYPTO’96. Lecture Notes in Computer Science. 1109: 104–113. doi:10.1007/3-540-68697-5_9. Truy cập ngày 14 tháng 4 năm 2014.

Đọc thêm sửa

🔥 Top keywords: 2112: Doraemon ra đời300 (phim)Anh hùng xạ điêu (phim truyền hình 2003)Bùng phát virus Zika 2015–2016Chuyên gia trang điểmCristiano RonaldoCá đuối quỷDanh sách Tổng thống Hoa KỳDanh sách câu thần chú trong Harry PotterDanh sách tài khoản Instagram có nhiều lượt theo dõi nhấtGiải Oscar cho phim ngắn hay nhấtHoan Ngu Ảnh ThịHầu tướcHọc thuyết tế bàoJason Miller (communications strategist)Lễ hội Chọi trâu Đồ SơnLộc Đỉnh ký (phim 1998)Natapohn TameeruksNinh (họ)Phim truyền hình Đài LoanRobloxThanh thiếu niênThần tượng teenThổ thần tập sựTrang ChínhTập hợp rỗngTỉnh của Thổ Nhĩ KỳVõ Thần Triệu Tử LongXXX (loạt phim)Âu Dương Chấn HoaĐào Trọng ThiĐại học Công giáo ParisĐệ Tứ Cộng hòa PhápĐổng Tiểu UyểnĐài Truyền hình Kỹ thuật số VTCThích Minh TuệTrang ChínhĐặc biệt:Tìm kiếmLê Anh Tú (sinh 1981)Lương Tam QuangHoliBộ trưởng Bộ Công an (Việt Nam)Thích Chân QuangQuốc kỳ Việt Nam Cộng hòaĐài Truyền hình Việt NamCleopatra VIIViệt NamTô LâmThích-ca Mâu-niChung kết UEFA Champions League 2024Thích Quảng ĐứcDanh sách phim điện ảnh DoraemonHentaiTrần Quốc TỏThượng mã phongThảo luận:Thích Minh TuệLGBTMinecraftViệt Nam Cộng hòaBộ Công an (Việt Nam)Đặc biệt:Thay đổi gần đâyHồ Chí MinhDanh sách trận chung kết Cúp C1 châu Âu và UEFA Champions LeagueDoraemon: Nobita và bản giao hưởng Địa CầuCổng thông tin:Phật giáoGoogle DịchThích Nhất HạnhNgày Thiếu nhiGiải vô địch bóng đá châu Âu 2024Nguyễn Phú TrọngLương CườngDanh sách phim điện ảnh Thám tử lừng danh ConanVasco da Gama