Tìm hiểu chuẩn mã hóa AES được Mỹ áp dụng trong việc mã hóa dữ liệu
AbihT
2 nămBình luận: 60
Tìm hiểu chuẩn mã hóa AES được Mỹ áp dụng trong việc mã hóa dữ liệu
AES (viết tắt của Advanced Encryption Standard ) là một chuẩn mã hóa dùng để bảo vệ, mã hóa các dữ liệu riêng tư. AES khá phổ biến và được sử dụng cho rất nhiều mục đích khác nhau, ngay chả chính phủ Mỹ cũng sử dụng chuẩn này cho việc bảo mật dữ liệu của họ. Vậy AES là gì? Hôm nay mình sẽ cùng anh em tìm hiểu cơ bản khái niệm của chuẩn mã hóa này nhé.

AES_5.jpg

AES là thuật toán dựa trên mã hóa block, mỗi mã có kích thước 128 bit. Các khóa (key) đối xứng, với ba kích thước khác nhau có sẵn: 128, 192 hoặc 256 bit, trong đó với hai kích thước sau được sử dụng cho các tài liệu của chính phủ Mỹ được chỉ định cho mức bảo mật cao nhất, được gọi là 'Top Secret'.

AES_4.jpg
AES được xây dựng & phát triển bởi 2 nhà mật mã học người Bỉ: Joan Daemen và Vincent Rijmen. Đây là một thuật toán được viết riêng cho chính phủ Mỹ nhằm thay thế cho chuẩn mã hóa cũ là DES (Data Encryption Standard ) của IBM ra đời vào những năm 1970. Trước đó, DES đã được chính phủ Mỹ áp dụng vào khoảng năm 1977, tuy nhiên trải qua khá nhiều cuộc tấn công tin tặc nhằm đánh cắp dữ liệu bằng các khai khác điểm yếu của DES vốn được xây dựng bằng các thuật toán 56 bit cũ kĩ và đã không còn bảo mật nữa.
AES ban đầu có hai phiên bản mở rộng, trong đó với phiên bản mở rộng thứ nhất kích thước là block dữ liệu và mã khóa (key) có thể là 256, 384 hay 512 bit; và trong phiên bản mở rộng thứ hai thì các kích thước này được tăng lên đến 512, 768 hay 1024 bit. Tuy nhiên, sau này chúng bị loại bỏ và chỉ sử dụng tiêu chuẩn mã hóa trên kích thước block 128 bit và độ dài khóa (key) là 128, 192 và 256 bit. AES vẫn là công cụ mã hóa công khai duy nhất được NSA phê duyệt để bảo vệ thông tin của chính phủ ở các mức độ an toàn cao nhất.
Vào thời điểm đó, khoảng 15 thuật toán khác nhau đã được đề xuất nhằm thay thế cho DES trong lộ trình 5 năm của chính phủ Mỹ và AES đã được gửi tới với cái tên Rijndael, sau đó được thu hẹp danh sách còn 5 thuật toán: Rijndael, Serpent, RC6, Twofish và MARS. Chính NSA ( National Security Agency) cũng đã tham gia vào việc xem xét và họ nhận được phân tích một cách chi tiết bao gồm cả sức mạnh thuật toán, khả năng thực hiện, bản quyền, tốc độ và độ chính xác cho cả mã hóa và giải mã.


Sau khi phân tích kết thúc, thuật toán Rijndael nổi lên như là người chiến thắng, và sau đó nó được phát triển bởi Viện Tiêu chuẩn và Công nghệ Quốc gia (National Institute Standards and Technology - NIST), với mục tiêu dễ sử dụng cho cả phần cứng và phần mềm. Thông qua quá trình này, một số cải tiến cho Rijndael đã được thực hiện, bao gồm cả những thay đổi về khóa (key) và chiều dài các block để tăng cường khả năng bảo mật và chính thức tung ra để sử dụng trong Chính phủ Mỹ vào năm 2002, bao gồm NSA và các cơ quan khác.
Khi sử dụng AES, Thông điệp sẽ được chuyển thành một tin nhắn được mã hóa thông qua một vài bước.
Nó bắt đầu với mỗi khối văn bản thuần túy dưới dạng kích thước chuẩn. Tin nhắn được chèn vào một mảng, và sau đó một phép biến đổi mật mã được thực hiện để mã hóa tin nhắn. Mỗi lớp mã hóa áp dụng các phép thay thế, chuyển vị và trộn.
Giống như trong mã 3DES có ba lớp mã hóa, với AES cũng có nhiều lớp mã hóa. Tuy nhiên, với AES, điều này được thực hiện nhiều hơn trong 3DES, phụ thuộc vào độ dài khóa, với 10 lớp được áp dụng cho khóa 128 bit, 12 lớp cho khóa 192 bit và 14 lớp khi mã hóa qua 256- bit bit, chiếm tỷ lệ bảo mật cao hơn.
Trong quá trình này, một khóa mã hóa được tạo ra, được yêu cầu để giải mã thông điệp của người nhận;nếu không có khóa này, thông điệp này khá lộn xộn và không thể hiểu được. Do đó, cả người gửi và người nhận phải biết cùng một khóa để có thể mã hóa hoặc giải mã thông điệp.

AES_1.jpg
Cấu trúc của AES

Ngày nay, thông qua internet , việc mã hóa AES có thể dễ dàng sử dụng bởi bất kỳ người dùng nào. Ví dụ, thông qua trang web https://aesencryption.net anh em có thể dễ dàng thực hiện mã hóa và giải mã các thông điệp bằng thuật toán AES.

AES encryption

AES encryption is a web tool to encrypt and decrypt text using AES encryption algorithm. The tool is free, without registration.
aesencryption.net


AES_2.jpg
Encrypt AES

AES_3.jpg
Decrypt AES
Ngoài ra, AES xuất hiện gẫn gũi hơn khi nó cũng được sử dụng để mã hóa Wi-Fi trên router, nó kết hợp với giao thức phổ biến WPA2 , được gọi là AES / WPA2. Giao thức bảo mật thay thế với WPA2 là TKIP, cũ hơn AES và không được coi là an toàn (mặc dù đôi khi được sử dụng để tương thích ngược với các thiết bị cũ). Cuối cùng, AES cũng được sử dụng để hỗ trợ mã hóa SSL.

AES_6.png
AES trong bảo mật wifi
Nguồn: TechRadar
cover_1.jpg
ndlong
TÍCH CỰC
2 năm
cái này có nhượt điểm là chỉ dùng 1 key để mã và giải mã nên nếu lộ key thì xem như xong phim
ndlong
TÍCH CỰC
2 năm
@nospecial Bạn có thể dùng kết hợp với thuật toán mã hóa ko đối xứng chẵng hạn. Chứ cái gì cũng có nhượt điểm mà làm gì có cái nào hoàn hảo đâu
huongdotien
ĐẠI BÀNG
2 năm
@ndlong Vấn đề là RSA quá trình gửi tin ko phải gửi kèm mã mật, đó là khác biệt của mã hóa khóa công khai so với mã đối xứng. Mình đã từng thiết kế hệ thống mã RSA 512bit bằng phần cứng. Gần như là tuyệt đối an toàn.
@Done+ Cái chữ ký số là như thế nào bác nhie? Bác có cái link nào giải thích dễ hiểu về nó không? Mình đang cần tìm hiểu khái niệm về nó mà các bài viết trên mạng giải thích khó hiểu quá.
kazenjin
TÍCH CỰC
2 năm
Trao thư viết tay là oan toàn nhất! Mã hóa cỡ nào nếu hacker cũng có thể mò ra! Vì mã hóa do con người viết ra, và cũng do con người giải mã nó nếu có sự can thiệp.
Hfydtchv
ĐẠI BÀNG
2 năm
@kazenjin Tùy thuộc vào việc bạn đang sống dưới chế độ nào? Có tôn trọng tự do cá nhân không?
Thư tay thì chỉ cần hơ qua hơi nước sôi là bung ra, đọc xong lấy keo dán lại như thường.
Nếu nội dung bức thư không phải chữ thường mà được mã hóa thì nó lại là chủ đề đang bàn.
nemoris
TÍCH CỰC
2 năm
@kazenjin Không đúng bạn ơi, mã hoá 1 chiều thì người tạo ra kiểu mã hoá đó cũng ko giải đc chỉ có người giữ key là giải đc thôi. Hoặc phải thử hàng tỉ tỉ các key khác nhau để dò ra mà với khả năng xử lý của máy tính hiện giờ thì tới tết công gô. Thường thì cái vụ bẻ khoá là do con người sơ ý bị đánh cắp key thôi.
@Hfydtchv Bác ấy đang đùa mà, ý là thư tay không tồn tại trong môi trường mạng nên không bị hacker nhòm ngó bằng công nghệ thôi, chứ hiển nhiên bảo mật bằng thư tay cũng chỉ được đảm bảo bằng bảo mật của đơn vị vận chuyển, và chúng hoàn toàn là cơ học. Ở đâu cũng có thể bị tấn công, nhưng quan trọng là cho mục đích gì, vì ai, có đáng không, Dù chế độ gì thì quan trọng là chỉ cần có lí do là người ta đánh cắp thôi, lái chưa mượt lắm rồi 😁
dat225
TÍCH CỰC
2 năm
@kazenjin Thời La Mã thư tay còn phải được mã hoá sang bảng chữ cái đặc biệt chỉ 2 bên biết mà người truyền tin không biết kìa cha nội. Tay thì cũng phải mã hoá.
mình có 1 thắc mắc, cứ có key là sẽ giải mã được, thì an toàn nằm ở đâu?
@Methylamine An toàn hơn ở chỗ này: có nhiều phương thức tấn công một loại mã hóa, truyền thống là brute force, tức là dùng máy tính để tạo ra các khóa giải ngẫu nhiên rồi thử lần lượt. Một phương pháp khác là tấn công trực tiếp vào recovery-key, gọi là biclique attack, phương pháp này hiệu quả hơn phương pháp truyền thống, nhưng không tạo ra nhiều khác biệt lắm (ít nhất là cho đến thời điểm hiện tại). Và ngay cả với phương thức tấn công tiên tiến nhất hiện nay, thì người ta cũng không đủ thời gian để giải mã được (bạn có đợi được... 1 tỷ năm không?).

Nói dễ hiểu như thế này: cái khóa cửa nhà bạn:
  • gọi thợ vào mở, không cần chìa, mất 30 giây là xong.
  • gọi trộm vào mở, mất 5 giây là xong.
  • nhưng nếu cái khóa đủ tốt (tức là khó mở), thì sẽ mất tới hàng tỉ năm mới xong.
  • nếu có chìa, sẽ chỉ mất 1 giây.
AES nó giống như cái khóa đủ tốt mà mình nói ở trên.
Kelvin1992
ĐẠI BÀNG
2 năm
@Methylamine Thế bạn muốn: ngay cả khi có key mà vẫn không thể giải mã được, thì mới gọi là an toàn à.
Thế theo bạn, thì điều kiện như nào mới giải mã được, là an toàn.
kdg
ĐẠI BÀNG
2 năm
@Methylamine an toàn trong khâu vận chuyển.
Ví dụ: B cần gửi 1 hàng hóa bí mật cho A.
- A gửi cho B một ổ "khóa bấm" vô cùng an toàn (Chìa khóa chỉ có A giữ).
- B đóng hàng cho A dùng "khóa bấm" đấy để khóa thùng hàng lại
- Chỉ có A dùng chìa khóa mới mở được thùng hàng. (Trên đường vận chuyển không ai mở được thùng hàng ngay cả B)
@Methylamine Thường thì khóa của AES sẽ được mã hóa dùng RSA. Như vậy để giải mã nội dung đã mã hóa, đầu tiên, dùng private key để giải mã ra khóa của AES, rồi tiếp theo, sẽ dùng khóa này giải mã nội dung.
hailongan
ĐẠI BÀNG
2 năm
Không có cái nào là an toàn tuyệt đổi cả, nhưng đọc mấy bài phân tích về mã hoá là hoa cả mắt 😁
xversion1
TÍCH CỰC
2 năm
Chuẩn Mỹ dùng thì cũng bình thường, chuẩn IS dùng thì mới xịn.
Khóa/Key do con người nghĩ ra để khóa thiết bị/file. Thì cũng chính con người bẻ nó được, vấn đề là ai? mức độ cẩn phá? Giá trị của thiết bị/file? Thời gian
@nbqvdp Bên fbi có hẳn 1 đội chuyên về dò mã ngược ấy, hôm bữa thấy có đăng bài báo về việc sát thủ để lại thông tin viết tay, thì phải ngồi mò cho ra nó viết cái giống quái gì, cỡ đó chế mới nổi cái máy phá mã, chứ cỡ mình thì chỉ dùng được cái máy sản xuất em bé thôi
@cyberat Có lần mình thử dùng 1 tool bẻ file.rar mất khá nhiều thời gian. Key=số dể nhất vài phút, key = số + chữ + ký tự đặc biệt 2 ngày chưa ra
@nbqvdp Cái đó là bẻ khóa kiểu tấn công bruceforce thì phải, nản lắm. Mình chỉ thích chơi kiểu nơi nguy hiểm nhất là nơi an toàn nhất, jav chơi hẳn trên desktop =)
xversion1
TÍCH CỰC
2 năm
@nbqvdp Bác có tiền sắm con máy khủng thì bẻ mấy cái khóa rar trong chớp mắt. Trừ ông nào lại đặt mã AES 256.
Cái này có phải là áp dụng cho bitlocker trên Windows không nhỉ?
@cyberat Hình như là 256, ko thể bẻ được
Lấy cái này viết thư tay cũng vui 😁
Mã hóa AES hiện nay vẫn là phương thức mã hóa an toàn nhất. Cho đến hiện tại, chưa ai có thể phá được mã này nếu không biết key giải mã.

3 lập trình viên Andrey Bogdanov, Dmitry Khovratovich và Christian Rechberger vào năm 2011 lần đầu tiên đã công bố phương pháp giải mã AES theo kiểu biclique attack (một dạng MITM) nhằm tấn công vào mã khôi phục của AES. Phương pháp này nhanh hơn cách truyền thống là brute force (thử từng mã một cho tới khi thành công) tới 4 lần, tức là với mã hóa AES-256 thì cần tới 2^254,3 = 3,56391959x10^76 lần thử, và đây cũng là kết quả tốt nhất mà con người từng đạt được khi tấn công vào AES-256. Nhưng kể cả thế, với sức mạnh phần cứng hiện tại và trong tương lai gần, vẫn cần tới vài tỷ năm để có thể công phá thành công mã hóa AES-126, chứ đừng nói đến AES-256. Và người ta cũng tính toán được là: mã AES-128 lưu trữ 2^88 bit dữ liệu, nên với kỹ thuật tấn công tốt nhất hiện nay, thì sẽ cần tới 38 nghìn tỷ (=10^12) TB dữ liệu, tức là hơn tất cả dữ liệu trên các máy tính trên Trái Đất này cộng lại (năm 2016). Và vì thế, nó không thể nào thành công được.
tethien
CAO CẤP
2 năm
@dat225 Đã có mật mã lượng tử rồi bạn nhé. Máy tính lượng tử cũng không giải được.
xversion1
TÍCH CỰC
2 năm
@tethien Thế thì lại phải có máy tính lượng tử mới đặt được mã lượng tử. Vậy là người dùng bình thường vẫn bị bẻ khóa trong chớp mắt vì nghèo. 😁
@dat225 Sai bạn ạ! Như mình nói, ngay cả với trong tương lai gần của con người thì việc giải mã AES-256 là điều không thể, tức là tính đến cả máy tính lượng tử rồi đó (15 năm xây dựng + khoảng 1 tỷ USD). Phương thức mã hóa đối xứng được coi là kháng lượng tử khi nó có độ dài mã 256 bit, còn loại ít bảo mật hơn là 3DES và AES-128 thì sẽ không còn giữ được tính bảo mật cao với tính toán lượng tử (quantum computing) vào khoảng năm 2029 (theo ước tính của các nhà khoa học nghiên cứu vấn đề này). Cho tới lúc đó, AES-256 vẫn được coi là an toàn, ngay cả với các máy tính lượng tử (giải mã bằng cách chạy thuật toán Grover).
@Black Mamba aes 256 đã gần như không thể bẻ khóa rồi vậy còn res bất đối xứng còn khó hơn aes nữa vậy thì res là không thể bẻ khóa được đúng không bác😔hic
quy.helios
TÍCH CỰC
2 năm
Hay
nholuumanh
TÍCH CỰC
2 năm
Chỉ là trò cười trong mắt hacker TQ :eek:
vanthoan
ĐẠI BÀNG
2 năm
Mình thì vẫn thích sử dụng khóa 1 key thôi, vì nó đơn giản hơn và độ tin cậy cao hơn.

Đối với phương pháp mã hóa bất đối xứng, khóa công khai dùng để mã hóa, như vậy nếu cùng 1 đoạn thông tin, 1 khóa công khai và 1 thuật toán mã hóa sẽ cho ra 1 đoạn mã hóa duy nhất. Nên thông tin hoàn toàn có khả năng bị lộ.

Đối với thuật toán RSA, trong tương lai nếu người ta tối ưu được thuật toán phân tích 1 số thành 2 số nguyên tố, thì sẽ có cách biên dịch khóa công khai thành khóa bí mật. Vấn đề là thời gian mà thôi.
Woahhh phức tạp ghê. Cơ mà hay ghê :eek:
😁 Đọc cmt cũng thấy vui
Gen eden
ĐẠI BÀNG
2 năm
Cần lắm nhiều bài ntn 😆)
metronome
TÍCH CỰC
2 năm
Chuẩn mã hoá này cộng thêm paswword dài nữa thì thôi rồi khỏi bẻ khoá.
Cá nhân
Bạn
Hi bạn!
Điểm Reward Store: 
Tuổi Tinh tế: 
Cấp độ thành viên Tinh Tế


Tải app Tinh tế

Tải app Tinhte - Theo dõi thông tin mà bạn yêu thích

Tải app TinhteTải app Tinhte
Tải app Tinh tế cho Android trên Google PlayTải app Tinh tế cho iPhone, iPad trên App Store



Cộng đồng nổi bật




  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2020 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: 209 Đường Nam Kỳ Khởi Nghĩa, Phường 7, Quận 3, TP.HCM
  • Số điện thoại: 02862713156
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019