Mở đầu về mật mã nhẹ

Mở đầu về mật mã nhẹ

Cơ sở khoa học và thực tiễn:

Ngày nay, chúng ta có thể dễ dàng bắt gặp thuật ngữ IoT ở bất cứ nơi nào. Thuật ngữ này là viết tắt của cụm từ “Internet of Things”, để chỉ những vật được kết nối internet và có khả năng trao đổi dữ liệu. IoT trong những năm gần đây rất phổ biến, trong năm 2017 nó đã được thêm vào từ điển Oxford [11] dưới dạng một danh từ. Đặc điểm chung của những thiết bị IoT là kích thước nhỏ gọn và năng lượng tiêu thụ thấp. Ví dụ như: cảm biến môi trường, cảm biến y tế … Và phần lớn các thiết bị IoT này đang gặp phải vấn đề về bảo mật. 

Trong năm 2004, thuật ngữ “Lightweight cryptography” được đưa ra thảo luận tại nhiều hội nghị. Thuật ngữ này dùng để chỉ những hệ mật “nhẹ” có khả năng cài đặt trên các thiết bị bị giới hạn bởi năng lượng tiêu thụ và khả năng lưu trữ. Như vậy, mật mã nhẹ rất phù hợp để áp dụng vào bảo mật cho các thiết bị IoT. Do đó, việc phát triển nhanh và mạnh của internet of things cũng chính là động lực để thúc đẩy mật mã nhẹ phát triển. Bên cạnh IoT, có rất nhiều thiết bị bị giới hạn cũng cần đến sự bảo mật ví dụ như các thiết bị trong lĩnh vực quân sự, y tế, nông nghiệp …

Tổng kết lại, tiềm năng của mật mã nhẹ là rất lớn.

— Mật mã nhẹ —

Mật mã nhẹ ra đời hướng tới các thiết bị bị giới hạn bởi năng lượng tiêu thụ và không gian lưu trữ do đó mục tiêu của các hệ mật nhẹ là vừa “bảo mật”, vừa “chi phí thấp”, vừa “hiệu suất cao”.

Ta có thể dễ thấy, ba yếu tố này không thể cùng đi lên nên việc duy nhất có thể làm là cân bằng ba yếu tố này trong trường hợp áp dụng cụ thể.

Đối với mỗi ngành, mỗi nghề, mỗi lĩnh vực, tùy theo độ quan trọng của bảo mật mà ta lựa chọn thiết kế cho phù hợp. Nếu yêu cầu bảo mật cao thì buộc ta phải tăng yếu tố chi phí để có được một mã an toàn và hiệu suất cao. Nếu yêu cầu bảo mật ở mức thấp, ta nên thiết kế một thuật toán đủ nhẹ để chi phí ở mức thấp và cũng để có thể áp dụng vào trong thực tế.

1.1 Khái niệm mật mã nhẹ

Không có một ranh giới rõ ràng nào để phân biệt sự nhẹ của một hệ mật nhẹ với các hệ mật thông thường [8]. Mật mã nhẹ là một nhánh nghiên cứu con của mật mã hướng tới việc tối ưu sự tinh gọn của hệ mật để có thể cài đặt và chạy hiệu quả trên các thiết bị vô cùng nhỏ bé và bị giới hạn bởi năng lượng tiêu thụ và khả năng lưu trữ. Ví dụ như thẻ chip, thẻ từ.

Các công trình nghiên cứu mật mã nhẹ đã tăng rất nhanh trong những năm gần đây, cả về số lượng và chất lượng. Nhiều hệ thống đã được đề xuất, nhiều hội nghị diễn ra xoay quanh chủ đề này. Năm 2004, tại châu âu đã diễn ra chương trình khung thứ 6 và 7 với tên gọi ENCRYPT I, ENCRYPT II và chủ đề là mật mã nhẹ [7]. Thời gian diễn ra hội nghị này cũng chính là mốc đánh dấu sự ra đời của mật mã nhẹ.

Nhật Bản không phải nước tiên phong nhưng lại là nước có những bước tiến rất lớn trong những năm gần đây. Cụ thể, nước này đã đạt được những nghiên cứu về những hệ mật có thiết kế nhỏ gọn để có thể dễ dàng cài đặt trên các thiết bị bị giới hạn. Ngoài ra, họ đã triển khai trên nhiều hệ thống trong thực tế.

Hiện nay, các hệ thống đánh giá mật mã nhẹ vẫn đang trong quá trình hoàn thiện. Năm 2015 viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ cũng đã bắt tay vào đánh giá và chuẩn hóa kỹ thuật mã hóa nhẹ. Đến thời điểm hiện tại, chưa có một thông báo chính thức nào để đánh giá một hệ mật là “mật mã nhẹ”. Tuy nhiên trong ISO/IEC 29192 đã định nghĩa một số thuật toán nhẹ cho một vài lĩnh lực kỹ thuật và ISO/IEC 29167 đã mô tả công nghệ mã hóa cho các thiết bị RFID. Đo đó, khi áp dụng vào lĩnh vực cụ thể, ta có thể tham chiếu để lựa chọn thuật toán cho phù hợp. Phù hợp về bảo mật, phù hợp về chi phí, phù hợp về “nhẹ”.

1.2 Đặc điểm của mật mã nhẹ

Tuy không có một khái niệm rõ ràng về mật mã nhẹ nhưng ta có thể nhận dạng nó thông qua một vài thông số như kích thước khối, kích thước khóa, số vòng mã hóa, và pha tính toán khóa của hệ mật.

Kích thước khối nhỏ: Để tiết kiệm bộ nhớ, mã khối nhẹ thông thường sử dụng khối nhỏ, chẳng hạn như 64 bit hoặc 80 bit [6].

Kích thước khóa nhỏ: Một vài mã khối nhẹ sử dụng khóa nhỏ, kích thước nhỏ hơn 96 bit. Tuy nhiên nó vẫn đảm bảo tính hiệu quả trong việc mã hóa [6]. Ví dụ như PRESENT 80 bit khóa.

Các vòng mã hóa đơn giản: Nhìn vào sơ đồ mã hóa của mã nhẹ, ta có thể dễ thấy các công thức tính toán tương đối đơn giản. Ví dụ trong mật mã nhẹ, S-Box được đề xuất sử dụng để tăng cường tính bảo mật cho hàm mã hóa. Có nhiều S-Box được đề xuất nhưng S-Box 4 bit lại được yêu thích hơn cả bởi tính hữu dụng và tiết kiệm chi phí. Ví dụ với PRESENT sử dụng S-Box 4 bit chỉ yêu cầu 28 GEs còn AES sử dụng S-Box khác yêu cầu 295 GEs [6].

Tính toán khóa đơn giản: Pha tính toán khóa nếu sử dụng một công thức thức tạp sẽ dẫn đến việc tăng chi phí về lưu trữ, tăng độ trễ và năng lượng tính toán [6]. Như vậy, nhìn vào sơ đồ tính toán khóa của một mã nhẹ không thể nào lại là một công thức rối ren, phức tạp được.

Cài đặt đơn giản: Tổng thể mà nói, một mã nhẹ bao gồm các phần tử, các vòng lặp rất đơn giản nên sơ đồ mã hóa tổng thể của nó không thể nào phức tạp được. Do đó, khi xem xét một mã có là nhẹ hay không ta có thể tìm xem nó có bao hàm thành phần nào phức tạp hay không. Nếu phần lớn các mô đun trong nó đều phức tạp thì chắc chắn mã đó không phải là mã nhẹ, ngược lại nếu các mô đun này chứa những phần tử, những công thức cực kỳ đơn giản và sáng sủa thì khả năng rất cao nó là mã nhẹ. Trong trường hợp sơ đồ mã hóa chứa một vài thành phần phức tạp ta có thể đặt lên bàn cân để xem xét. Tuy nhiên, chưa có một khái niệm nào vạch ra ranh giới rõ ràng giữa nhẹ và nặng, do đó ta không nên quá cứng nhắc. Nhiệm vụ hiện tại là chọn và thiết kế, cài đặt những mã phù hợp với yêu cầu sử dụng.

1.3 Động lực thúc đẩy mật mã nhẹ phát triển

Hiện nay, mọi người có thể kết nối mạng ở bất cứ nơi đâu khi sử dụng thiết bị điện thoại thông minh, máy tính bảng hay laptop cá nhân. Có thể chia sẻ hình ảnh, chia sẻ thông điệp hay gửi tin nhắn … bất cứ lúc nào mong muốn. Điều ta nên đặt ra câu hỏi là việc gửi và nhận như vậy có đảm bảo an toàn? Manh nha ở đâu đó, chúng ta có thể nghe những thuật ngữ như “nhà thông minh”, thẻ chíp, thẻ từ … Và khi bắt tay vào tìm hiểu, chúng ta sẽ đặt ra câu hỏi, làm sao để một ngôi nhà được gọi là thông minh trước mối nguy hại phá hoại và tấn công từ nhiều phía? Làm sao để những thẻ chíp, thẻ từ có thể sống sót trước sự nhòm ngó của kẻ thù?

Đáp ứng những yêu cầu này, “mật mã nhẹ” là một ứng cử viên đầy hứa hẹn. Chúng ta không cần phải dữ dội phòng thủ bằng những mật mã “nặng” thông thường, vì những mã này bảo vệ thì tốt thật nhưng nó sẽ làm tốn kha khá chi phí của ta, và còn chiếm một lượng lớn tài nguyên hệ thống của thiết bị. Chưa kể, đối với những thiết bị bị hạn chế về tài nguyên thì những mã nặng có thể làm chậm, đơ hệ thống và tiêu tốn năng lượng.

Đặc điểm của phần lớn những thiết bị IoT là bị giới hạn về dung lượng lưu trữ và năng lượng tiêu thụ. Do đó nếu áp dụng các hệ mật truyền thống sẽ dẫn đến việc chậm hệ thộng và sự bảo mật quá lớn là không cần thiết. Ví dụ với các thẻ chip thẻ từ trong siêu thị thì không cần thiết bảo mật đến mức quá lớn.

Trong thực tế, có rất nhiều thiết bị sử dụng năng lượng của pin, do đó chúng ta càng tiết kiệm năng lượng được bao nhiêu càng tốt. Ví dụ, các thiết bị đo môi trường thường được cài đặt tại các vị trí không có nguồn điện có sẵn. Thiết bị cấy ghép y học chỉ dựa vào năng lượng pin và được yêu cầu càng nhỏ càng tốt để giảm tác động lên cơ thể con người. Thuật toán mật mã nhẹ được mong đợi sẽ phục vụ các ứng dụng này. Một số ứng dụng đòi hỏi tính trôi nổi tốt và độ trễ thấp. Để giữ mức tiêu thụ pin càng thấp càng tốt, một số thiết bị được bật ngay trước khi gửi dữ liệu, chỉ hoạt động trong quá trình truyền dữ liệu và sau đó tắt. Phương pháp mã hóa nhẹ với độ trễ thấp rất hữu ích cho mục đích này. Nó cũng có thể thích hợp để điều khiển ô tô, nơi thời gian đáp ứng chậm có thể làm ảnh hưởng đến an ninh.

Các phần sau, tác giả sẽ trình bày các ví dụ cụ thể trong thực tế nên áp dụng mật mã nhẹ để đảm bảo an toàn cho thông tin và thiết bị như: TV thông minh, công nghệ RFID (tác giả trình bày ở phần 1.2.2, công nghệ này là một trong những công nghệ rất được quan tâm trong những năm gần đây bởi khả năng áp dụng trong thực tế của nó), thiết bị đo môi trường trên đất nông nghiệp, thiết bị y tế, thiết bị kiểm soát công nghiệp và ô tô.

1.4 Internet kết nối vạn vật

Những năm gần đây, thuật ngữ “Internet of things” [4] (IoT) rất phổ biến mà ai trong chúng ta đều có thể gặp ở bất cứ nơi đâu. Thuật ngữ này bắt đầu xuất hiện từ cuối những năm 90 của thế kỷ trước. Nhưng đến năm 1999 khi Keven Ashton đưa ra thì cụm từ này mới thực sự được xác nhận tồn tại [13].

IoT là một thuật ngữ đại diện cho một mạng lưới các vật tham gia kết nối internet. Ở đó, các vật có thể thu thập thông tin và truyền tải dữ liệu. Đây cũng chính là một điểm sáng rất lớn, là kỳ vọng cho lĩnh vực tự động hóa trong hầu hết các ngành nghề.

Như tác giả đã trình bày ở phần mở đầu, triển vọng của IoT là rất lớn nhưng kéo theo thách thức không hề nhỏ về mặt bảo mật. Do đó, khi mật mã nhẹ tham gia vào mạng lưới này thì đây chính là cơ hội, là thách thức. Nhiệm vụ của những nhà mật mã học là nghiên cứu để tìm ra các hệ mật mới phù hợp và cải tiến những hệ mật đã có.

1.5 Công nghệ nhận dạng tần số sóng vô tuyến (RFID)

Như đã nhắc ở phần 1.2.1, ở phần này tôi sẽ trình bày kỹ hơn một chút về công nghệ RFID [10]. Công nghệ nhận dạng (hay còn gọi là nhận diện dùng để đọc dữ liệu từ chip, thẻ hoặc là thu lấy hình ảnh của đối tượng để mang về máy tính xử lý) không tiếp xúc, sử dụng tần số sóng vô tuyến. 

Hình 1.1: Cấu trúc của một thiết bị RFID

RFID là một công nghệ điển hình của nhận dạng không dây. Nếu như chỉ lướt qua thôi thì ta rất khó phân biệt nó với các công nghệ khác như NFC hay là mã QR. Điểm khác nhau giữa các công nghệ này là hình thức nhận diện thiết bị. RFID giao tiếp thông qua tần số sóng vô tuyến. NFC giao tiếp thong qua từ trường. Ưu điểm của tần số sóng vô tuyến là có thể phát đi được rất xa, do đó triển vọng của việc áp dụng trong thực tế của công nghệ này rất lớn. Tuy nhiên, thách thức mà RFID đang gặp phải là khi phạm vi này càng lớn thì độ nhiễu sóng càng cao dẫn tới kết quả nhận diện bị sai lệch nhiều hoặc có thể không còn chính xác nữa. Và một điểm là phạm vi phủ sóng càng cao thì chi phí chi cho việc phát sóng càng lớn. Do đó phải tính toán và cân nhắc thật kỹ khi áp dụng loại hình công nghệ này.

Hiện nay, RFID đang được nghiên cứu rất nhiều để áp dụng trong lĩnh vực tự động hóa. Ví dụ như ô tô tự động hóa, tự động hóa trả phí đường bộ …

1.6 Thiết bị gia dụng điện và TiVi thông minh

Khi nhắc tới thuật ngữ TiVi thông minh, chúng ta ám chỉ những TiVi có thể cài đặt ứng dụng, kết nối internet và chạy trên một giao diện thân thiện, thông minh với người dùng. Ngày nay để giảm thiểu chi phí khi sản xuất nên hầu hết các TiVi được ra đời trong điều kiện CPU ở mức thấp [7]. Như vậy, nó vừa đảm nhiệm nhiệm vụ của một chiếc TiVi thông thường, vừa đảm nhiệm chức năng của một chiếc máy vi tính. Do đó, giống như hầu hết các thiết bị IoT thông thường, việc tích hợp thêm bất cứ một chương trình nào lên TiVi thông minh là điều đáng cân nhắc, làm sao để không làm nặng chương trình. Thông thường, người dùng rất khó để nhận biết xem thiết bị này có bảo mật hơn thiết bị kia hay không nhưng rất dễ mẫn cảm với sự chậm chạp của thiết bị. Như vậy, nếu chương trình gây chậm hệ thống thì không một nhà sản xuất nào chấp nhận áp dụng. Tuy nhiên, do yêu cầu của việc bảo mật nên các TiVi thông minh không tránh khỏi việc phải áp dụng. Làm sao để vừa đảm bảo được tính năng bảo mật, vừa không gây chậm hệ thống, lại vừa không ngốn tài nguyên. Đứng trước yêu cầu cấp thiết này, sự ra đời và phát triển của mật mã nhẹ là rất kịp thời và đúng lúc. Vừa đảm bảo được yếu tố bảo mật, vừa đảm bảo thêm các yếu tố về tài chính và hiệu suất.

Trong thời gian sắp tới, nhiều thiết bị gia dụng sẽ tham gia mạng lưới này giống như một phần của công nghệ IoT. Do đó, việc ta cần làm là làm sao để các thiết bị này không bị truy cập trái phép, làm sao để sự riêng tư không bị xâm phạm? Đây cũng chính là điểm thuận lợi để có thể triển khai mật mã nhẹ trong thực tế, nhưng đồng thời cũng là thách thức vô cùng lớn.

1.7 Bộ cảm biến nông nghiệp thông minh

Trong nông nghiệp, để có được sản phẩm năng suất và chất lượng cao, điều quan trọng nhất là thời tiết phải ổn định và điều hòa. Từ trước đến thời điểm hiện tại, phần lớn người nông dân ở nước ta vẫn đang canh tác dựa trên kinh nghiệm. Những năm mưa thuận, gió hòa năng suất của người dân ở mức ổn định và đáp ứng được nhu cầu sống. Tuy nhiên, nước ta là nước nằm trong vành đai lửa thái bình dương nên sẽ không tránh khỏi sự thất thường của thời tiết, từ việc lượng mưa và nắng thất thường cho tới kiểu thời tiết khô hoặc bão. Do đó mà cuộc sống của người nông dân bình thường đã ở mức thấp, thêm yếu tố phụ thuộc tự nhiên nên rất bấp bênh.

Hiện nay, với sức mạnh của công nghệ thông tin, việc áp dụng công nghệ sẽ điều hòa được “khí hậu” của vườn ươm và ruộng nuôi trồng. Khi cần ánh sáng ta có thể tăng sáng, khi cần nhiệt ta có thể thay đổi nhiệt độ … mà không phụ thuộc vào yếu tố tự nhiên nữa.

Để điều hòa thời tiết trong vườn, ruộng ta cần thu thập các thông tin về thời tiết ở địa điểm hiện tại để phân tích. Độ chính xác của việc phân tích dữ liệu tăng lên cùng với độ phân giải của giám sát. Vì vậy, tốt hơn là chia một nông trại lớn thành các phần và thu thập dữ liệu từ từng phần. Nông dân có thể mong đợi các thiết bị giám sát có thể vận hành với một lượng lao động nhỏ với chi phí thấp trong một thời gian dài. Để đáp ứng nhu cầu này, việc sử dụng các mạng lưới cảm biến môi trường đang dần dần lan rộng.

Các cảm biến của các mạng như vậy có các yêu cầu sau [7]:

– Tự điều khiển,

– Quy mô nhỏ,

– Tiêu thụ điện năng thấp, và

– Được sử dụng với số lượng lớn.

Đối với việc thu thập dữ liệu tốt, cần có nhiều bộ cảm biến, thuật toán trọng lượng nhẹ chi phí thấp phù hợp với mục đích này.

Ngoài việc giám sát thời tiết, việc quan sát các chuyển động của vỏ trái đất có thể góp phần dự đoán kịp thời các trận động đất, núi lửa phun trào và sạt lở đất. Bộ cảm biến phục vụ các mục đích này thường được lắp đặt tại các địa điểm không dễ tiếp cận được bởi người dân hoặc nơi không có nguồn điện. Hơn nữa, vì dữ liệu về phòng ngừa thiên tai là rất quan trọng đối với an ninh của công dân, nên phải ngăn chặn việc giả mạo, nghiêm trọng hơn nhiều so với nghe trộm. Nếu dữ liệu bị giả mạo thì có thể đưa ra cảnh báo sai. Mật mã hóa nhẹ với xác thực là phù hợp để ngăn chặn dữ liệu nhạy cảm không bị giả mạo.

1.8 Cảm biến y tế

Khi một người nhập viện, một số loại cảm biến có thể gắn liền với bệnh nhân để đo điện tâm đồ, huyết áp, mạch, đường trong máu, và nồng độ trong máu và oxy. Những cảm biến thường được kết nối với các đơn vị chính với cáp để mang dữ liệu và nhận điện năng, mà ức chế chuyển động của bệnh nhân. Bệnh nhân được phép ra khỏi bệnh viện có thể cần phải có các điều kiện theo dõi tại nhà và tại nơi làm việc và cần phải có dụng cụ đo được cấy ghép vào cơ thể của họ. Các thiết bị bên ngoài và nội bộ này được sử dụng để thường xuyên đo lường dữ liệu và xác định thời gian dùng thuốc. Thiết bị cấy ghép thường được để lại trong cơ thể trong một thời gian dài, do đó nó phải có khả năng truyền dữ liệu mà không cần dây và chạy trên pin trong một khoảng thời gian dài. Ngay cả trong trường hợp các thiết bị gắn ngoài, kết nối không dây cung cấp sự tự do di chuyển đòi hỏi bộ cảm biến chạy trong thời gian dài trên pin.

Những cảm biến thu thập rất nhiều dữ liệu cá nhân phải được che giấu để bảo đảm tính riêng tư của người dùng. Hiện nay, đặc biệt trong lĩnh vực cảm biến cấy ghép, các nhà nghiên cứu đang tiến hành nghiên cứu và phát triển quá trình thu nhỏ cảm biến và các thiết bị (các thiết bị tính trên đơn vị nano mét đang được phát triển). Do đó việc ta tích hợp mật mã cũng phải cải thiện để làm giảm chi phí nhưng vẫn đảm bảo được bảo mật và hiệu suất.

Với sự tiến bộ của những năm gần đây đối với các thiết bị đeo, một khái niệm mới gọi là “mHealth” đã nổi lên, là thuật ngữ viết tắt của “Mobile Health”. Thuật ngữ này hàm ý người dùng sẽ đeo thiết bị để thiết bị thu thập dữ liệu về sinh học ví dụ như nhịp tim, hơi thở để đảm bảo sức khỏe của người đeo. Dữ liệu được tích lũy hàng ngày và có thể được nộp trong quá trình kiểm tra vật lý hoặc khám sức khoẻ tại bệnh viện. Không chỉ dữ liệu sinh học mà cả các hoạt động tiến hành cải thiện sức khoẻ cũng được ghi lại. Ngày nay, các thiết bị quảng cáo y tế [7] thông thường như máy đo bước chân có thể phát hiện thông tin cá nhân như vị trí của một người từ GPS tích hợp sẵn.

Tùy thuộc vào việc sử dụng của nó, truyền dẫn không dây có thể được yêu cầu đối với thiết bị liên tục thu thập dữ liệu được nhận, biên soạn và phân tích bởi các thiết bị khác. Vì những dữ liệu này rất cá nhân nên chúng phải được che giấu hoàn toàn để bảo vệ sự riêng tư của một người.

1.9 Chiến lược thiết kế cho mật mã nhẹ

Mật mã nhẹ là một nhánh nghiên cứu khá trẻ, là sự giao thoa giữa các ngành kỹ thuật điện, mật mã học và khoa học máy tính. Nó tập trung vào việc nghiên cứu ra những thiết kế mới, khả năng thích ứng và việc cài đặt hiệu quả. Đứng trước thách thức bởi sự vô cùng hạn chế về chi phí và mô hình tấn công mạnh mẽ, đặc biệt đáng chú ý là khả năng tấn công bởi các tác nhân vật lý. Như vậy, sự cải thiện và tăng cường bảo mật mật mã nhẹ là vô cùng cần thiết trong những mô hình tính toán phổ biến.

Mỗi một chiến lược thiết kế mật mã nhẹ đều phải đối phó với sự đánh đổi giữa bảo mật, chi phí và hiệu suất. Đối với mã khối thì chiều dài khóa là sự đánh đổi lẫn nhau giữa độ bảo mật và chi phí. Trong khi số lượng vòng là sự hoán đổi lẫn nhau giữa độ bảo mật và hiệu suất. Và kiến trúc phần cứng là sự hoán đổi giữa chi phí và hiệu suất [3]. Ta hãy xem hình 1.2 bên dưới:

Hình 1.2: Thiết kế sự hoán đổi các yếu tố trong mật mã nhẹ

Luôn luôn, chúng ta chỉ có thể đạt được hai trong số ba chiến lược trong khi thiết kế. Lựa chọn bảo mật tốt và chi phí thấp nhưng như vậy thì hiệu suất lại thấp. Lựa chọn bảo mật tốt và hiệu suất cao thì lúc này chi phí của ta buộc phải cao. Hay cuối cùng ta chọn chi phí thấp và hiệu suất cao thì sự bảo mật lại lỏng lẻo.

Như vậy, chúng ta có ba hướng tiếp cận để tối ưu hóa một hệ mật khi xây dựng ứng dụng [3]:

– (1) Tối ưu hóa chi phí cài đặt trên phần cứng theo chuẩn và thuật toán tin tưởng.

– (2) Sử đổi một chút theo một nghiên cứu tốt và mã tin tưởng.

– (3) Thiết kế các mã mới để đạt được chi phí cài đặt phần cứng thấp theo yêu cầu thiết kế.

Ngày nay, phần lớn mã khối được thiết kế chủ yếu với thuộc tính cài đặt phần mềm tốt. Và không cần quan tâm nhiều tới đặc điểm kỹ thuật của phần cứng. Cách tiếp cận này là đúng đắn vì phần lớn các thuật toán được cài đặt vào phần mềm và chạy trên môi trường máy tính hoặc các thiết bị nhúng hay chạy trên các thiết bị không tốn kém nhưng lại có hiệu suất rất cao. Bây giờ, khi IoT phát triển, các thiết bị phần cứng bị giới hạn rất nhiều nên những thuật toán này không còn phù hợp nữa. Do vậy, với cách tiếp cận thứ nhất chúng ta phải tối ưu hóa chi phí cài đặt trên các thiết bị phần cứng để làm sao những thuật toán cũ hoạt động hiệu quả.

Ý tưởng chính là sử dụng một thuật toán đã được chứng minh về độ mật và đang được sử dụng. Sau đó, ta sẽ tối ưu hóa việc cài đặt của hệ mật này trên phần cứng hoặc tạo ra biến thể của hệ mật [3]. Các hướng bước của chiến lược này là:

– Sử dụng một cấu trúc phần cứng nối tiếp làm giảm sự phức tạp của cổng:

Với ý tưởng đầu tiên, nếu chúng ta áp dụng với thuật toán DES, chúng ta phải đạt được cài đặt nhỏ hơn 35% cổng so với AES (thuật toán được biết tới với sự hiệu quả cài đặt nhất).

Trong báo cáo về DES khi thực hiện cài đặt tối ưu hóa trên phần cứng, thông số bề mặt phải hoán đổi cho thông lượng. Việc thực hiện cũng yêu cầu khoảng 86% chu kỳ xung nhịp cho việc mã hóa một khối so với việc thực hiện AES tuần tự (1032 chu kỳ so với 144) làm cho nó dễ dàng sử dụng hơn trong các giao thức chuẩn RFID. Tuy nhiên, bảo mật cung cấp bị giới hạn bởi các khóa 56-bit. Do đó, việc thực hiện này chỉ nên áp dụng trong trường hợp cần an ninh ngắn hạn, hoặc khi các giá trị được bảo vệ tương đối thấp. Tuy nhiên, chúng ta có thể tưởng tượng rằng trong một số ứng dụng chi phí thấp như vậy mức độ bảo mật là đủ.

Với cách tiếp cận thứ hai: để có một mã nghiên cứu tốt, thì thiết kế của nó cũng phải thực thi tốt với phần cứng có chi phí rẻ. Một mã phổ biến nhưng lại đáp ứng được yêu cầu này là DES (như đã đề cập ở phần trên). DES được thiết kế nửa đầu những năm 1970 và mục tiêu là cài đặt trên môi trường phần cứng. Do đó, so với tiêu chuẩn phần cứng ngày nay thì phần cứng những năm đó vô cùng hạn chế. Đến những năm 2000 thì thuật toán này không được áp dụng nhiều nữa do công nghệ phần cứng quá phát triển trên các thiết bị thời đó. Tuy nhiên, từ khi khái niệm IoT ra đời, các thiết bị bị giới hạn đồng loạt bùng nổ thì thuật toán này lại tỏ ra hữu ích một lần nữa. Và vì thế, tuy DES không được sử dụng nhiều nữa trong các chương trình trên vi tính hay những chương trình trên các thiết bị có năng lượng tính toán và dung lượng lớn nhưng nó lại có đóng góp không nhỏ đối với những thiết bị bị giới hạn nhiều mặt.

Hướng đi của ý tưởng này là:

– Tùy chọn áp dụng khóa trắng để làm cho các cuộc tấn công brute-force không thể

– Tùy chọn thay thế cho 8 S-Box ban đầu bởi một thành phần đơn giản hơn làm giảm hơn nữa mức độ phức tạp cổng.

Trong trường hợp đầu vào cần phải có mức độ bảo mật cao vừa phải chúng ta cần khóa trắng, với DES ta xác định ở đây như sau, kí hiệu là DESX:

DESXk.k1.k2 (x) = k2 DESk (k1 x)

Việc thêm cổng XOR vào sẽ tăng số lượng cổng lên 14%. Sự tấn công tìm kiếm khóa tốt nhất lựa chọn đánh đổi  giữa thời gian và bộ nhớ yêu cầu 2120 lần và 264 địa chỉ bộ nhớ.

Với ý tưởng này, khi chúng ta cực kỳ cần một hệ mật nhẹ, ta có thể giảm đô phức tạp của cổng của thuật toán xuống, giả sử với DES, ta thay thế tám cổng S-Box nguyên thủy bởi một cổng mới đơn giản hơn. Như vậy, ta đã có một biến thể của DES (hay với một hệ mật khác, ta đã có biến thể của hệ mật đó theo cách này)

Để tăng cường độ mạnh của hệ mật, khóa trắng có thể áp dụng với mật độ DESXL. Câu hỏi quan trọng là sức mạnh của DESL và DESXL là gì đối với các cuộc tấn công phân tích. Ta nhận thức rõ rằng bất kỳ thay đổi nào đối với mật mã đều có thể mở ra cánh cửa để tấn công, ngay cả khi những thay đổi đã được thực hiện rất cẩn thận và kiểm tra chống lại các cuộc tấn công đã biết. Tuy nhiên, trong từng trường hợp cụ thể ta có thể lựa chọn để dùng. 

Cách tiếp cận thứ 3 là thiết kế các mã mới để đạt được độ bảo mật và hiệu suất phù hợp nhưng lại có chi phí cực kỳ rẻ. Cũng là lý do hàng loạt các hệ mật nhẹ ra đời. Trong luận văn này, tác giả sẽ trình bày chi tiết về hệ mật PRESENT, là một mã mới được nghiên cứu bởi Bogdanov và các cộng sự của ông trong báo cáo [1].

1.10 Một số mật mã nhẹ

Trong những năm gần đây, số lượng và chất lượng mã nhẹ tăng lên rất đáng kể. Rất nhiều nhà mật mã học tại nhiều quốc gia bắt tay vào nghiên cứu. Trong vài năm trở lại đây nổi trội nhất là Nhật Bản và Mỹ. Rất nhiều mã đang dần trở nên bổ biến như mã khối có: PRESENT, mCrypton, TEA, HIGHT, DESXL, AES … Và mã dòng có: Grain, Trivium, … Những mã này có độ mật tương đối tốt nhưng chi phí cho phần cứng lại thấp hơn rất nhiều so với các mã “nặng” truyền thống. Ta có thể theo dõi bảng 1.1.

Các thông số thống kê trên tham khảo từ bảng 1 của tài liệu [2] và bảng 2.8 của tài liệu [9]. Qua đó ta có thể thấy, các mã “nặng” truyền thống yêu cầu phần cứng lớn hơn rất nhiều so với các mã nhẹ. Ngay từ đơn vị của dùng để tính đã là Gbps và kGE còn mã nhẹ đơn vị sử dụng là Kbps và GE. Ví dụ Keccack-1600 là thuật toán dùng để cài đặt SHA3 có thông lượng yêu cầu 22 Gbps và bề mặt là 48 kGE, PRSENT-80 yêu cầu thông lượng là 11.4 Kbps và bề mặt là 1075 GE. Như vậy, yêu cầu phần cứng của mã nhẹ thấp hơn rất nhiều so với các mã nặng.

Mã nhẹ Mã nặng truyền thống
Tên Thông lượng (Kbps) Bề mặt (GE) Tên Thông lượng (Gbps) Bề mặt (kGE)
PRESENT – 80 11.4 1075 Keccak-1600 22 48
DES 44.5 2309 BLAKE-512 18.8 79
mCrypton 492.3 2681 Skein-512 58 61
TEA 100 2355
Grain 100 1294
Trivium 100 2599

Bảng 1.1: Một số hệ mật nhẹ và một số hệ mật “nặng” truyền thống

Để biết rõ hơn thông tin về năng lượng tiêu thụ và các chi phí về phần cứng của các hệ mật nhẹ, ta có thể theo dõi bảng 1.2 [7]. Nhìn vào những thông tin được liệt kê trong bảng, ta có thể nắm được phần nào về yêu cầu phần cứng. Từ đó, có thể dùng những thông tin này để đưa ra quyết định lựa chọn một hệ mật sao cho phù hợp với thiết bị nhẹ của mình.

 

Bảng 1.2: Thông tin về yêu cầu phần cứng của một vài hệ mật nhẹ

Để có một cái nhìn trực quan hơn về các thông số thống kê được, tác giả xin được liệt kê một vài đồ thị tham khảo từ tài liệu [7]. 

Hình 1.3: Đồ thị so sánh theo thông số bề mặt của một số hàm băm nhẹ

Hình 1.4: Đồ thị so sánh theo thông số thông lượng của một số hàm băm nhẹ

Hình 1.5: Đồ thị so sánh năng lượng sử dụng ở mức cao của một số hàm băm nhẹ

Hình 1.6: Đồ thị so sánh năng lượng sử dụng ở mức thấp của một số hàm băm nhẹ

Như vậy, thông qua dữ liệu đã được chứng minh về các mật mã nhẹ, người quản lý hệ thống hay thiết bị có thể lựa chọn hệ mật phù hợp với công việc của mình. Cân đối giữa các yếu tố hiệu suất, yếu tố bảo mật và yếu tố chi phí. Hình 1.3, 1.4, 1.5 và 1.6 biểu diễn so sánh theo các hướng thông số bề mặt, thông số thông lượng, thông số năng lượng tiêu thụ ở mức cao, thông số thông lượng tiêu thụ ở mức thấp. Từ đó, ta có thể cân nhắc thêm với các yếu tố bảo mật để lựa chọn thiết bị cho phù hợp.

Reference

[1] A. Bogdanov and L.R. Knudsen and G. Leander and C. Paar and A. Poschmann and M.J.B. Robshaw and Y. Seurin and C. Vikkelsoe, Present: An Ultra-Lightweight Block Cipher.

[2] Bogdanov and G. Leander and C. Paar and A. Poschmann and M.J.B Robshaw and Y. Seurin, Hash Function and RFID Tag: Mind the Gap 2008.

[3] Axel York Poschmann,  Cryptographic Engineering for Pervasive World, Feb – 2009. 

[4] Jen Clark, IoT and the telecommunications industry, Sep 13 – 2016.

[5] Joseph Sterling Grah, Hash Functions in Cryptography, 2008.

[6] Kerry A. McKay and Larry Bassham and Meltem Sonmez Turan and Nicky Mouha, Report on Lightweight Cryptography, March 2017.

[7] Naofumi Homma and WG members, Cryptrec Cryptographic Technology Guideline (Lightweight Cryptography), Mar – 2017.

[8] Wenling Wu and Shuang Wu and Lei Zhang and Jian Zou and Le Dong, LHash: A Lightweight Hash Function

[9] Zhijie Shi and Chujiao Ma and Jordan Cote and Bing Wang, Hardware implementation of hash function, 2013.

[10] https://www.cryptolux.org/index.php/Lightweight_Hash_Functions

[11] https://en.oxforddictionaries.com/definition/internet_of_things

[12] http://www.lightweightcrypto.org/implementations.php

 

No Responses

Write a response