Những chỉ lệnh mới trong chuẩn mã hóa nâng cao của Intel (AES-NI)

Quản trị mạngTrong bài này chúng tôi sẽ giới thiệu cho các bạn tầm quan trọng của việc mã hóa và cùng nhau đi sâu nghiên cứu Intel AES-NI.

Với sự phổ biến ngày càng tăng của các thiết bị tính toán ở tất cả các lĩnh vực dù là nơi làm việc cũng như ở nhà đối với mỗi người trong số chúng ta cho thấy nhu cầu mã hóa ngày càng trở nên quan trọng hơn bao giờ hết. Desktop, laptop, điện thoại thông minh, các PC “pad”, PDA, Blue-ray player và nhiều thiết bị khác nữa, tất cả đều cần đến nhu cầu này để có khả năng mã hóa các thông tin nhạy cảm. Không có sự mã hóa, mọi thứ bạn gửi qua mạng (hoặc thậm chí lưu trên một thiết bị lưu trữ nội bộ) cũng đều tiềm ẩn sự rủi ro, bất cứ ai cũng có thể đọc nó bất cứ khi nào họ muốn. Dù sự cho phép hay sự điều khiển sự truy cập có thể cung cấp một số hình thức bảo vệ nhưng khi thực sự quan tâm đến bảo mật, mã hóa chắc chắn phải là một phần quan trọng trong chiến dịch bảo mật đa lớp của bạn. Bạn có thể cho rằng mình chẳng có gì cần phải giấu giếm, nhưng cần biết một sự thật rằng, thông tin mà bạn nghĩ sẽ không có giá trị gì với bất cứ ai có thể sẽ bị lợi dụng theo nhiều cách đáng ngạc nhiên. Vì vậy, đặc biệt trong thế giới doanh nghiệp ngày nay, mã hóa cần phải được coi trọng đặc biệt chứ không phải là một tùy chọn không mang tính bắt buộc.

Tầm quan trọng của mã hóa

Các kịch bản nơi mã hóa sẽ được sử dụng trong cuộc sống hàng ngày của chúng ta:

  • Khi bạn bật laptop và tự động kết nối với điểm truy cập không dây của mình, bạn chắc chắn sẽ sử dụng mã hóa WPA và thuật toán mã hóa AES.
  • Khi kết nối với các website an toàn để chia sẻ thông tin hoặc mua sản phẩn trực tuyến, kết nối SSL là một phiên mã hóa được thiết kế để bảo mật các thông tin cá nhân của bạn sao cho chúng không bị chia sẻ với phần còn lại của thế giới.
  • Khi laptop sử dụng BitLocker để mã hóa các thông tin trên đĩa, nếu bị mất, tất cả các thông tin đó sẽ không bị công khai.
  • Khi thiết lập một kết nối IPsec VPN hoặc một kết nối DirectAccess dựa trên IPsec cho mạng công ty, kết nối IPsec sẽ được bảo mật bằng mã hóa AES.

Còn có nhiều ví dụ khác, tuy nhiên rõ ràng rằng, mã hóa và đặc biệt là mã hóa AES, là một phần không thể thiếu trong cuộc sống số hóa của chúng ta, dù bạn biết hay không biết.

Là một quản trị viên mạng, bạn chắc chắc biết rằng mã hóa là một phần quan trọng trong kiến trúc back-end (phần dành cho quản trị) của mình. Các hacker sẽ không quan tâm đến việc đánh sập toàn bộ mạng của bạn giống như cách mà chúng đã từng làm với các khai thác trước kia. Tại sao? Nó là vì sẽ không có tiền sinh ra cho các tấn công mạng diện rộng. Với việc ngày càng nhiều các hình phạt cho hình thức tội phạm, hầu hết các kẻ tấn công giờ đây đều không làm việc này với mục đích giải trí mà thay vì đó các chúng thường là một chủ doanh nghiệp bất hợp pháp, muốn kiếm tiền bất chính. Một cách mà chúng có thể thực hiện là thỏa hiệp các máy chủ chính và lặng lẽ đột nhập vào nó. Sau đó đánh cắp thông tin có thể bán được, chẳng hạn như cơ sở dữ liệu cá nhân công ty hoặc các bí mật thương mại của công ty bạn. Hacker thường không kiếm được gì với một máy chủ đã “chết”, và chúng cũng không thể kiếm được gì nếu bạn phát hiện ra và ngăn chặn trước khi chúng có được những gì hắn muốn. Như vậy, bạn cần sử dụng đến mã hóa trên back end như một cơ chế bảo vệ trong “phương sách cuối cùng” để ngăn chặn kẻ tấn công tăng quyền truy cập vào các thông tin quan trọng.

Mã hóa cũng là một phần của việc tuân thủ các hoạt động CNTT hàng ngày; ví dụ, tất cả những gì dưới đây đều coi mã hóa như một phần trong các chuẩn của họ:

  • HIPAA (Health Insurance Portability and Accountability Act)
  • SOX (Sarbanes-Oxley)
  • PCI DSS (Payment Card Industry Data Security Standard)

AES: Một chuẩn mới

AES là một chuẩn mã hóa của chính phủ Mỹ hiện hành và được sử dụng để thay thế cho chuẩn trước đó, triple DES, chuẩn đã sử dụng một khóa 56-bit. AES cũng sử dụng các độ dài khóa khác nhau, đặc trưng bởi AES-128, AES-192 và AES-256. Phụ thuộc vào độ dài của khóa mà có đến 14 vòng biến đổi được yêu cầu để tạo ra một văn bản mã hóa cuối cùng.

AES cũng có vài chế độ hoạt động, gồm có trong đó:

  • electronic codebook (ECB)
  • cipher block chaining (CBC)
  • counter (CTR)
  • cipher feedback (CFB)
  • output feedback (OFB)

Cipher block chaining là chế độ được sử dụng nhiều nhất vì nó cung cấp một mức bảo mật có thể chấp nhận được và không có khả năng bị hổng trước các tấn công thống kê.


Thách thức giữa bảo mật và hiệu suất

Vấn đề lớn nhất với các phương pháp mã hóa nâng cao chẳng hạn như AES với CBC là việc chúng đòi hỏi sức mạnh xử lý ở mức cao. Đặc biệt với trường hợp các máy chủ, nhưng nó cũng có thể là một vấn đề cho các hệ thống máy khách bận rộn, vì trên chúng thường được cài đặt các bộ xử lý kém sức mạnh. Điều đó có nghĩa rằng bạn cần phải đưa ra lựa chọn của mình giữa việc có được mức bảo mật tốt nhất và việc có được hiệu suất tốt nhất đối với các hệ thống của mình. Tình huống này có thể trở nên khó giải quyết trên phía máy chủ mà ở đó các cách giải quyết chẳng hạn như SSL hoặc IPsec offload card (encryption offload card) được sử dụng để giảm nhiệt cho bộ xử lý và cho phép bộ xử lý làm các công việc ngoài cài đặt session và mã hóa số lượng lớn.

Vấn đề với các thẻ add-on là, chúng là một ứng dụng độc lập và có hoặc không thể làm việc, phụ thuộc vào những gì bạn muốn sử dụng chúng cho. Những gì chúng ta thực sự cần ở đây là một giải pháp chung có thể làm việc trong tất cả các kịch bản mã hóa AES, mục đích là để bạn không phải thực hiện bất cứ thứ gì đặc biệt để offload công việc mã hóa từ bộ xử lý chính. Những gì chúng ta cần là một giải pháp “plug and play” được xây dựng bên trong hệ điều hành và bo mạch chủ.

Giải quyết vấn đề với Intel AES-NI

Nếu đồng với với những gì chúng tôi nêu trên thì có một vài tin tốt cho bạn – tập chỉ lệnh Intel AES-NI mới, có trong các bộ vi xử lý dòng Xeon5600 của Intel, hội tụ đủ các tiêu chuẩn này. Bộ vi xử lý này trước đây được biết đến với tên mã Westmere-EP. AES-NI thực thi một số bước AES trong phần cứng, đúng trên chip của bộ vi xử lý. Mặc dù vậy, bạn nên biết rằng AES-NI trên bộ xử lý (processor) không bao gồm toàn bộ ứng dụng AES mà chỉ có một số thành phần của nó, đây là một số thành phần được yêu cầu để tối ưu hóa hiệu suất mã hóa. AES-NI thực hiện điều này bằng cách thêm vào 6 chỉ lệnh AES mới: bốn cho mã hóa/giải mã, một cho cột “mix” và một cho việc tạo văn bản “vòng kế tiếp” (nơi số vòng được điều khiển bởi chiều dài bit mà bạn chọn).

Một thứ khá thú vị về Intel AES-NI là vì, nó được dựa trên phần cứng nên không cần có các bảng tìm kiếm bên trong bộ nhớ và các khối mã hóa được thực thi trong processor. Điều này làm giảm được cơ hội “tấn công side channel” thành công. Thêm vào đó, Intel AES-NI cho phép hệ thống có thể thực thi độ dài khóa dài hơn, và kết quả cuối cùng cho chúng ta có được dữ liệu an toàn hơn.

Tại thời điểm này, Intel AES-NI hiện tập trung vào ba trường hợp sử dụng chính:

  • Giao dịch an toàn qua Internet và mạng nội bộ
  • Mã hóa toàn bộ đĩa (chẳng hạn như tính năng được cung cấp bởi Microsoft BitLocker)
  • Mã hóa mức ứng dụng (một phần trong giao dịch an toàn)

Các giao dịch an toàn qua Internet và mạng nội bộ có thể gồm có việc sử dụng SSL để kết nối đến một website an toàn trên Internet hoặc mạng nội bộ. Thêm vào đó, chế độ truyền tải và đường hầm IPsec cũng đang trở nên phổ biến cho việc bảo mật các phiên (session) qua mạng nội bộ, và trong trường hợp DirectAccess, qua Internet. Cần lưu ý rằng SSL được sử dụng cho việc mã hóa truyền thông lớp 7, trong khi IPsec được sử dụng để bảo mật sự truyền thông mức mạng (lớp 3).

Chắc chắn chúng ta đã nghe thấy “đám mây” sẽ là một vấn đề lớn trong tính toán, và các nhà cung cấp dịch vụ đám mây sẽ có nhiều lợi ích từ Intel AES-NI, nơi đa số sự truyền thông của họ được thực hiện qua một kênh mã hóa. Đối với Ipsec, nếu chỉ có một vài kết nối IPsec với một máy chủ, SSL offload có thể đủ tốt. Tuy nhiên nếu bạn có một máy chủ bận rộn, một mình Intel AES-NI hoặc có kết hợp với SSL offload sẽ là một giải pháp tốt hơn.

Sau khi có được thành phần giao dịch của “các giao dịch an toàn”. Ngoài ứng dụng hoặc mã hóa mức mạng, còn có một mã hóa mức ứng dụng có thể hưởng lợi từ Intel AES-NI. Cho ví dụ:

  • Cơ sở dữ liệu có thể được mã hóa
  • Email có thể được mã hóa
  • Các dịch vụ quản lý quyền sử dụng mã hóa
  • Bản thân hệ thống file có thể được mã hóa (trái với mã hóa mức đĩa).
  • Các ứng dụng như Microsoft SQL có thể sử dụng Transparent Data Encryption (TDE) để tự động mã hóa các entry được tạo trong cơ sở dữ liệu.

Có thể nói Intel AES-NI có thể tăng tốc đáng kể thời gian giao dịch và làm cho các khách hàng cảm thấy hạnh phúc hơn, các nhân viên có năng suất làm việc tốt hơn.

Mã hóa toàn bộ đĩa sẽ thực hiện hành động mã hóa cho toàn bộ đĩa ngoại từ MBR. Ngoài Microsoft BitLocker, còn có các ứng dụng mã hóa đĩa khác có thể hưởng lợi từ Intel AES-NI, chẳng hạn như PGPdisk. Vấn đề với mã hóa toàn bộ đĩa là nó có thể ảnh hưởng tới hiệu suất, điều có thể làm cho người dùng tránh sử dụng nó. Tuy nhiên với Intel AES-NI, sự ảnh hưởng về hiệu suất đó về cơ bản là không có, người dùng sẽ có thể kích hoạt tính năng mã hóa toàn bộ đĩa và thu lại được các lợi ích từ nó.

Những cải tiến về hiệu suất

Vậy có những kiểu cải tiến về mặt hiệu suất gì với Intel AES-NI? Thật khó có thể nói vào thời điểm này vì công nghệ này vẫn còn quá mới. Tuy nhiên Intel đã thực hiện một số bài test và những gì họ nhận được cho đến giờ là khá tốt:

  • Với một lượng công việc có liên quan đến ngân hàng bằng cách sử dụng Microsoft IIS/PHP, họ đã thấy rằng khi so sánh hai hệ thống dựa trên Nehalem, một với mã hóa và một không thì thấy kết quả tăng 23% số lượng người dùng có thể được hỗ trợ trên hệ thống. Một hệ thống Nehalem được kích hoạt mã hóa được so với hệ thống non-Nehalem, đã có cải tiến 4,5 lần dưới dạng số người dùng được hỗ trợ. Đó là một con số đáng kinh ngạc!
  • Trong một bài test về mã hóa và giải mã bằng Oracle 11g, họ đã phát hiện rằng, khi so sánh hai hệ thống Nehalem, một được kích hoạt mã hóa và một vô hiệu hóa mã hóa, kết quả hệ thống được mã hóa cho thấy giảm được 89% thời gian để giải mã một bảng mã hóa 5.1 triệu hàng. Cũng giảm được 87% thời gian mã hóa một bảng OLTP và chèn lặp lại và cắt ngắn một triệu hàng.
  • Mã hóa toàn bộ đĩa tiêu tốn thời gian cho việc mã hóa ban đầu. Intel đã tìm ra rằng, khi mã hóa một ổ SDD 32 GB của Intel lần đầu bằng cách sử dụng mã hóa endpoint của McAfee cho các PC, kết quả cho thấy đã giảm 42% thời gian so với lần thực hiện đầu. Đó là một sự khác biệt rõ nét mà bạn có thể đã thấy nếu đã từng đợi để hoàn tất một quá trình mã hóa toàn bộ đĩa.

Kết luận

Mã hóa hiện là một yêu cầu trong cuộc sống tính toán hàng ngày của mỗi người. AES là một chuẩn mới về vân đề này. Tuy mã hóa cho phép chúng ta bảo mật dữ liệu của mình, nhưng có thể có một chi phí hiệu suất đáng kể có liên quan việc mã hóa và đôi khi các overhead của mã hóa có thể chiếm mất một số chu kỳ processor từ công việc mà chúng ta muốn được thực hiện. Trong quá khứ bạn có thể xử lý vấn đề này bằng cách nâng cấp lên các bộ vi xử lý mạnh hơn, hoặc bổ sung thêm nhiều bộ xử lý, hoặc sử dụng các giải pháp mã hóa offload. Mặc dù vậy, tất cả các phương pháp này đều có những hạn chế. Intel AES-NI mới cải thiện đáng kể hiệu suất và bảo mật bằng cách đặt các chỉ lệnh có liên quan với AES mới vào chip. Cách thức này đã cho phép tăng hiệu suất và độ bảo mật cho một số kịch bản, chẳng hạn như mạng bảo mật và các session lớp ứng dụng, các phiên giao dịch an toàn và mã hóa toàn bộ đĩa với ít hoặc không có sự ảnh hưởng đến toàn bộ processor. Intel AES-NI nên là một phần trong bất cứ kế hoạch triển khai máy khách và máy chủ nào, nơi sự mã hóa sẽ được sử dụng trên một cơ sở mở rộng, chẳng hạn như khi DirectAccess được sử dụng để kết nối với mạng công ty. Sự kết hợp kiến trúc Nehalem và Intel AES-NI hứa hẹn một cuộc cách mạng trong tính toán và cải thiện sự hài lòng về mặt quản trị trong khi vẫn cải thiện được hiệu suất.

Để xem thêm các thông tin về bộ vi xử lý dòng Xeon 5600 của Intel với Intel AES-NI, bạn có thể tham khảo tại đây.

Thứ Ba, 20/07/2010 13:43
31 👨 1.714
0 Bình luận
Sắp xếp theo
    ❖ Tổng hợp