Tải bản đầy đủ (.docx) (33 trang)

Đánh giá về an ninh mạng và mật mã

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (379.19 KB, 33 trang )

ĐÁNH GIÁ VỀ AN NINH MẠNG VÀ MẬT MÃ
Với sự ra đời của World Wide Web và sự xuất hiện của các ứng dụng thương mại
điện tử và mạng xã hội, các tổ chức trên khắp thế giới tạo ra một lượng lớn dữ liệu
hàng ngày. Bảo mật dữ liệu là vấn đề cực kỳ quan trọng trong việc đảm bảo truyền
thơng tin an tồn qua internet. Ngồi ra vấn đề an ninh mạng hiện đang trở nên
quan trọng khi xã hội đang hướng tới thời đại thông tin số. Khi ngày càng có nhiều
người dùng kết nối với internet, nó sẽ thu hút rất nhiều tội phạm mạng. Nó bao
gồm ủy quyền truy cập thông tin trong mạng, được kiểm soát bởi quản trị viên
mạng. Nhiệm vụ của an ninh mạng không chỉ yêu cầu đảm bảo an ninh cho các hệ
thống đầu cuối mà cho toàn bộ hệ thống mạng. Trong bài báo này, một nỗ lực đã
được thực hiện để xem xét các khái niệm mật mã và an ninh mạng khác nhau.
Sơ lược: Số liệu


Hình 1




Hình 2




Hình 3




hinh 4



Hình 5



Hình 6




Hình 7



Hình 8




Hình 9
1. Giới thiệu
Internet ngày càng trở nên phổ biến, nếu một người khơng được ủy quyền có thể
truy cập vào mạng này, anh ta khơng chỉ có thể theo dõi chúng tơi mà cịn có thể dễ
dàng làm xáo trộn cuộc sống của chúng tôi. Network Security & Cryptography là
một khái niệm để bảo vệ mạng và truyền dữ liệu qua mạng không dây. Một hệ
thống an ninh mạng thường dựa trên các lớp bảo vệ và bao gồm nhiều thành phần
bao gồm phần mềm giám sát và bảo mật mạng bên cạnh phần cứng và thiết bị. Tất


cả các thành phần hoạt động cùng nhau để tăng tính bảo mật tổng thể của mạng

máy tính. Bảo mật dữ liệu có thể được thực hiện bằng một kỹ thuật gọi là mật
mã . Vì vậy, có thể nói rằng mật mã là một cơng nghệ mới nổi, có ý nghĩa quan
trọng đối với an ninh mạng.
Mơ Hình Hệ Mật Mã Sử Dụng Mạng Nơ-ron [ 1 ]hỗ trợ bảo mật cao. Mạng thần
kinh và mật mã cùng nhau có thể giúp ích rất nhiều trong lĩnh vực bảo mật
mạng. Chìa khóa được hình thành bởi mạng nơ-ron ở dạng trọng số và chức năng
nơ-ron rất khó phá vỡ. Tại đây, dữ liệu nội dung sẽ được sử dụng làm dữ liệu đầu
vào cho mật mã để dữ liệu trở nên không thể đọc được đối với những kẻ tấn cơng
và vẫn an tồn trước chúng. Các ý tưởng về học lẫn nhau, tự học và hành vi ngẫu
nhiên của mạng thần kinh và các thuật toán tương tự có thể được sử dụng cho các
khía cạnh khác nhau của mật mã, như mật mã khóa cơng khai, giải quyết vấn đề
phân phối khóa bằng cách sử dụng đồng bộ hóa lẫn nhau, băm hoặc tạo mã giả của
mạng thần kinh. -Số ngẫu nhiên. Một ý tưởng khác là khả năng mạng nơ-ron phân
tách không gian thành các phần phi tuyến tính bằng cách sử dụng "độ lệch". Nó
đưa ra các xác suất kích hoạt hoặc khơng kích hoạt mạng thần kinh khác
nhau. Điều này rất hữu ích trong trường hợp Phân tích mật mã.
An ninh mạng [ 2 ]bao gồm các điều khoản và chính sách được quản trị viên mạng
thông qua để ngăn chặn và giám sát truy cập trái phép, lạm dụng, sửa đổi hoặc từ
chối mạng máy tính và các tài ngun có thể truy cập mạng. An ninh mạng bao
gồm nhiều loại mạng máy tính, cả cơng cộng và riêng tư, được sử dụng trong các
công việc hàng ngày thực hiện các giao dịch và liên lạc giữa các doanh nghiệp, cơ
quan chính phủ và cá nhân. Các mạng có thể là riêng tư, chẳng hạn như trong một
công ty và các mạng khác có thể mở cho cơng chúng truy cập. An ninh mạng có
liên quan đến các tổ chức, doanh nghiệp và các loại thể chế khác. Nó thực hiện như
tiêu đề của nó giải thích: Nó bảo mật mạng, cũng như bảo vệ và giám sát các hoạt
động đang được thực hiện. Cách phổ biến và đơn giản nhất để bảo vệ tài nguyên
mạng là gán cho nó một tên duy nhất và mật khẩu tương ứng.
Mật mã học là khoa học viết mã bí mật. Tổng qt hơn, đó là việc xây dựng và
phân tích các giao thức ngăn chặn đối thủ; [ 3 ] các khía cạnh khác nhau trong bảo
mật thơng tin như bảo mật dữ liệu, tính tồn vẹn dữ liệu, xác thực và chống thối

thác [ 4 ] là trung tâm của mật mã hiện đại. Mật mã hiện đại tồn tại ở giao điểm của
các ngành tốn học, khoa học máy tính và kỹ thuật điện. Các ứng dụng của mật mã
bao gồm thẻ ATM, mật khẩu máy tính và thương mại điện tử. Sự phát triển
của World Wide Web dẫn đến việc sử dụng rộng rãi mật mã cho các ứng dụng kinh
doanh và thương mại điện tử. Mật mã học có liên quan chặt chẽ với các nguyên tắc


củamật mã học và phân tích mật mã . Các kỹ thuật được sử dụng để giải mã một
tin nhắn mà khơng có bất kỳ kiến thức nào về các chi tiết mã hóa rơi vào lĩnh vực
phân tích mật mã. Phân tích mật mã là cái mà người bình thường gọi là “phá
mã”. Các lĩnh vực mật mã và phân tích mật mã cùng nhau được gọi là mật mã
học. Mã hóa là q trình chuyển đổi thơng tin thơng thường (gọi là bản rõ) thành
văn bản khó hiểu (gọi là bản mã). Nói cách khác, giải mã là ngược lại, chuyển từ
bản mã khó hiểu trở lại bản rõ. Hệ thống mật mã là danh sách có thứ tự các phần
tử của bản rõ hữu hạn có thể có, văn bản mật mã có thể hữu hạn, khóa có thể hữu
hạn và các thuật tốn mã hóa và giải mã tương ứng với mỗi khóa.
Vấn đề thách thức là làm thế nào để chia sẻ dữ liệu được mã hóa một cách hiệu
quả. Mã hóa tin nhắn bằng khóa bảo mật mạnh mà chỉ người gửi và người nhận
mới biết là một khía cạnh quan trọng để có được bảo mật mạnh mẽ trong mạng
cảm biến. Việc trao đổi khóa an tồn giữa người gửi và người nhận là một nhiệm
vụ quá khó khăn trong mạng cảm biến hạn chế tài nguyên. dữ liệu phải được người
dùng mã hóa trước khi được th ngồi cho dịch vụ lưu trữ đám mây từ xa và cả
bảo mật dữ liệu và quyền riêng tư khi truy cập dữ liệu phải được bảo vệ sao cho
nhà cung cấp dịch vụ lưu trữ đám mây khơng có khả năng giải mã dữ liệu và khi
người dùng muốn tìm kiếm một số phần của toàn bộ dữ liệu, hệ thống lưu trữ đám
mây sẽ cung cấp khả năng truy cập mà không cần biết phần dữ liệu được mã hóa
trả về cho người dùng là gì.
Trong bài báo này, các phần được tổ chức như sau: Phần 2 đưa ra ý tưởng về các
loại tấn công bảo mật trên đám mây. Phần 3 đề cập đến các dịch vụ bảo vệ. Phần 4
giải thích mơ hình an ninh mạng. Phần 5 mơ tả các cơ chế mật mã khác nhau. Phần

6 đưa ra ý tưởng về xác thực thơng báo. Phần 7 trình bày cách tiếp cận bảo mật liên
quan đến mạng và internet. Kỹ thuật tường lửa được cung cấp trong phần 8. Phần 9
kết thúc bài báo và trình bày các hướng cho công việc trong tương lai. Tài liệu
tham khảo cho bài viết này được đưa ra trong phần 10.
2. Các kiểu tấn công bảo mật
2.1. Tấn công thụ động
Loại tấn công này bao gồm quan sát hoặc giám sát thông tin liên lạc. Một cuộc tấn
công thụ động cố gắng tìm hiểu hoặc sử dụng thơng tin từ hệ thống nhưng không
ảnh hưởng đến tài nguyên hệ thống. Mục tiêu của đối thủ là lấy được thông tin
đang được truyền đi. Các loại tấn công thụ động:


• Phân tích lưu lượng: Lưu lượng tin nhắn được gửi và nhận theo cách rõ ràng
là bình thường và cả người gửi và người nhận đều không biết rằng bên thứ ba đã
đọc tin nhắn hoặc quan sát mẫu lưu lượng.
• Phát hành nội dung tin nhắn: Đọc nội dung tin nhắn từ người gửi đến người
nhận.
2.2. tấn công chủ động
Một cuộc tấn cơng tích cực cố gắng thay đổi tài nguyên hệ thống hoặc ảnh hưởng
đến hoạt động của chúng. Nó liên quan đến một số sửa đổi luồng dữ liệu hoặc tạo
luồng sai. Các loại tấn công chủ động:
• Sửa đổi Tin nhắn: một số phần của tin nhắn hợp pháp bị thay đổi hoặc tin nhắn
bị trì hỗn hoặc sắp xếp lại.
• Từ chối dịch vụ: Một thực thể có thể chặn tất cả các thơng báo hướng đến một
đích cụ thể.
• Phát lại: Nó liên quan đến việc nắm bắt thụ động một đơn vị dữ liệu và truyền
lại sau đó để tạo ra hiệu ứng trái phép.
• Giả trang: Diễn ra khi một thực thể giả làm một thực thể khác.
3. Dịch vụ bảo vệ
Đây là một dịch vụ được cung cấp bởi lớp giao thức của các hệ thống mở giao tiếp

và đảm bảo an toàn đầy đủ cho các hệ thống hoặc truyền dữ liệu. Nó tăng cường
tính bảo mật của việc xử lý và truyền dữ liệu.
3.1. Tồn vẹn dữ liệu
Nó có thể áp dụng cho một luồng tin nhắn, một tin nhắn hoặc các trường được
chọn trong một tin nhắn. Mất tính tồn vẹn là sửa đổi trái phép hoặc phá hủy thơng
tin.
3.2. Bảo mật dữ liệu
Duy trì các hạn chế được phép đối với việc truy cập và tiết lộ thông tin, bao gồm
các biện pháp bảo vệ quyền riêng tư cá nhân và thông tin độc quyền. Mất bí mật là
tiết lộ thơng tin trái phép.
3.3. xác thực


Cung cấp xác thực cho tất cả các nút và trạm cơ sở để sử dụng các tài nguyên hạn
chế có sẵn. Nó cũng đảm bảo rằng chỉ nút được ủy quyền mới có thể tham gia giao
tiếp.
3.4. Khơng bác bỏ
Nonrepudiation ngăn người gửi hoặc người nhận từ chối một tin nhắn được truyền
đi. Do đó, khi một tin nhắn được gửi đi, người nhận có thể chứng minh rằng người
gửi bị cáo buộc trên thực tế đã gửi tin nhắn. Tương tự, khi nhận được một tin nhắn,
người gửi có thể chứng minh rằng người nhận bị cáo buộc trên thực tế đã nhận
được tin nhắn.
3.5. Kiểm soát truy cập
Kiểm soát truy cập là khả năng giới hạn và kiểm soát quyền truy cập vào hệ thống
máy chủ và ứng dụng thông qua các liên kết truyền thông. Để đạt được điều này,
mỗi thực thể cố gắng giành quyền truy cập trước tiên phải được xác định hoặc xác
thực để có thể điều chỉnh quyền truy cập cho từng cá nhân.
4. Mơ hình an ninh mạng
Hình 1 cho thấy mơ hình an ninh mạng. Một tin nhắn sẽ được chuyển từ bên này
sang bên khác qua một số loại dịch vụ Internet. Bên thứ ba có thể chịu trách nhiệm

phân phối thơng tin bí mật cho người gửi và người nhận trong khi giữ thơng tin đó
khỏi bất kỳ đối thủ nào. Các khía cạnh bảo mật phát huy tác dụng khi cần thiết
hoặc mong muốn bảo vệ việc truyền thơng tin khỏi đối thủ có thể gây ra mối đe
dọa đối với tính bảo mật, tính xác thực, v.v. Tất cả các kỹ thuật cung cấp bảo mật
đều có hai thành phần:
• Chuyển đổi liên quan đến bảo mật trên thông tin được gửi. Tin nhắn phải được
mã hóa bằng khóa để đối phương khơng thể đọc được.
• Một khóa mã hóa được sử dụng cùng với quá trình chuyển đổi để xáo trộn tin
nhắn trước khi truyền và giải mã nó khi nhận.


Hình 1 . _ Mơ hình an ninh mạng
4.1. Nhu cầu quản lý khóa trong đám mây
Mã hóa cung cấp khả năng bảo vệ dữ liệu trong khi quản lý khóa cho phép truy cập
vào dữ liệu được bảo vệ. Bạn nên mã hóa dữ liệu khi truyền qua mạng, ở trạng thái
nghỉ và trên phương tiện sao lưu. Đặc biệt, dữ liệu để mã hóa dữ liệu của riêng
họ. Cả mã hóa và quản lý khóa đều rất quan trọng để giúp bảo mật các ứng dụng và
dữ liệu được lưu trữ trên Đám mây. Các yêu cầu của quản lý khóa hiệu quả được
thảo luận dưới đây.
• Lưu trữ khóa an tồn: Bản thân các kho lưu trữ khóa phải được bảo vệ khỏi
những người dùng độc hại. Nếu một người dùng ác ý giành được quyền truy cập
vào các khóa, thì họ sẽ có thể truy cập vào bất kỳ dữ liệu được mã hóa nào mà
khóa tương ứng. Do đó, bản thân các kho lưu trữ khóa phải được bảo vệ trong kho
lưu trữ, trong quá trình vận chuyển và trên phương tiện sao lưu.
• Truy cập vào các kho khóa: Quyền truy cập vào các kho lưu trữ khóa nên được
giới hạn cho những người dùng có quyền truy cập dữ liệu. Phân chia vai trị nên
được sử dụng để giúp kiểm sốt quyền truy cập. Thực thể sử dụng khóa nhất định
khơng được là thực thể lưu trữ khóa.
• Khả năng sao lưu và khơi phục khóa: Các khóa cần giải pháp sao lưu và khơi
phục an tồn. Mất khóa, mặc dù có hiệu quả trong việc hủy quyền truy cập vào dữ

liệu, nhưng có thể gây thiệt hại lớn cho doanh nghiệp và các nhà cung cấp Đám
mây cần đảm bảo rằng khóa không bị mất thông qua cơ chế sao lưu và phục hồi.
5. Cơ chế mật mã


Mật mã là một phương pháp lưu trữ và truyền dữ liệu ở một dạng cụ thể để chỉ
những người mà nó dự định mới có thể đọc và xử lý nó. Thuật ngữ này thường liên
quan đến việc xáo trộn tin nhắn văn bản gốc (văn bản thông thường, đôi khi được
gọi là văn bản rõ ràng) thành văn bản mật mã (một quá trình được gọi là mã hóa ),
sau đó quay lại (được gọi là giải mã ). Nói chung, có ba loại lược đồ mật mã
thường được sử dụng để thực hiện các mục tiêu này: mật mã khóa bí mật (hoặc đối
xứng), mật mã khóa công khai (hoặc bất đối xứng) và hàm băm, mỗi loại được mơ
tả bên dưới.
5.1. Mật mã khóa bí mật
Với mật mã khóa bí mật, một khóa duy nhất được sử dụng cho cả mã hóa và giải
mã. Như thể hiện trong Hình 2, người gửi A sử dụng khóa K (hoặc một số bộ quy
tắc) để mã hóa thơng báo văn bản gốc M và gửi bản mã C đến người nhận. Người
nhận áp dụng cùng một khóa K (hoặc bộ quy tắc) để giải mã bản mã C và khơi
phục bản rõ M . Bởi vì một khóa duy nhất được sử dụng cho cả hai chức năng, mật
mã khóa bí mật cịn được gọi là mã hóa đối xứng .
Với dạng mật mã này, rõ ràng là cả người gửi và người nhận đều phải biết
khóa; trên thực tế, đó là bí mật. Tất nhiên, khó khăn lớn nhất với phương pháp này
là việc phân phối khóa.


Hình 2 . _ Mật mã khóa bí mật
Các lược đồ mật mã khóa bí mật thường được phân loại thành mật mã
dòng hoặc mật mã khối. Mật mã luồng hoạt động trên một bit (byte hoặc từ máy
tính) tại một thời điểm và thực hiện một số dạng cơ chế phản hồi để khóa liên tục
thay đổi. Mật mã khối được gọi như vậy vì lược đồ mã hóa một khối dữ liệu tại

một thời điểm bằng cách sử dụng cùng một khóa trên mỗi khối. Nói chung, cùng
một khối bản rõ sẽ ln mã hóa thành cùng một bản mã khi sử dụng cùng một khóa
trong mật mã khối trong khi cùng một bản rõ sẽ mã hóa thành các bản mã khác
nhau trong một mật mã dòng. Mật mã khối có thể hoạt động ở một trong các chế
độ; bốn điều sau đây là quan trọng nhất:
• Chế độ Electronic Codebook (ECB) là ứng dụng đơn giản, rõ ràng nhất: khóa bí
mật được dùng để mã hóa khối bản rõ để tạo thành khối bản mã. Khi đó, hai khối
bản rõ giống hệt nhau sẽ ln tạo ra cùng một khối bản mã. Mặc dù đây là chế độ
phổ biến nhất của mật mã khối, nhưng nó dễ bị tấn cơng bằng vũ lực.
• Chế độ Cipher Block Chaining (CBC) thêm cơ chế phản hồi vào sơ đồ mã
hóa. Trong CBC, bản rõ được OR riêng (XORed) với khối bản mã trước đó trước


khi mã hóa. Trong chế độ này, hai khối bản rõ giống hệt nhau khơng bao giờ mã
hóa thành cùng một bản mã.
• Chế độ Phản hồi mật mã (CFB) là một triển khai mật mã khối dưới dạng mật
mã dịng tự đồng bộ hóa. Chế độ CFB cho phép dữ liệu được mã hóa theo đơn vị
nhỏ hơn kích thước khối, điều này có thể hữu ích trong một số ứng dụng như mã
hóa đầu vào thiết bị đầu cuối tương tác. Ví dụ: nếu chúng ta đang sử dụng chế độ
CFB 1 byte, mỗi ký tự đến được đặt vào một thanh ghi dịch chuyển có cùng kích
thước với khối, được mã hóa và khối được truyền. Ở bên nhận, bản mã được giải
mã và các bit thừa trong khối (nghĩa là mọi thứ ở trên và ngoài một byte) sẽ bị loại
bỏ.
• Chế độ Phản hồi Đầu ra (OFB) là một triển khai mật mã khối về mặt khái niệm
tương tự như mật mã dòng đồng bộ. OFB ngăn không cho cùng một khối bản rõ
tạo ra cùng một khối bản mã bằng cách sử dụng cơ chế phản hồi bên trong độc lập
với cả dòng bit của bản rõ và bản mã.
Mật mã luồng có nhiều loại nhưng có hai loại đáng được đề cập ở đây. Mật mã
dịng tự đồng bộ tính tốn từng bit trong dịng khóa dưới dạng hàm của n bit trước
đó trong dịng khóa. Nó được gọi là "tự đồng bộ hóa" bởi vì q trình giải mã có

thể được đồng bộ hóa với q trình mã hóa chỉ bằng cách biết nó đi được bao xa
vào dịng khóa n-bit. Một vấn đề là lan truyền lỗi; một bit bị cắt xén trong quá trình
truyền sẽ dẫn đến n bit bị cắt xén ở bên nhận. Mật mã dòng đồng bộtạo dịng khóa
theo kiểu độc lập với dịng thơng báo nhưng bằng cách sử dụng cùng một chức
năng tạo dịng khóa ở người gửi và người nhận. Mặc dù các mật mã dịng khơng
lan truyền lỗi truyền, nhưng về bản chất, chúng mang tính định kỳ để dịng khóa
cuối cùng sẽ lặp lại.
Các thuật tốn mã hóa khóa bí mật đang được sử dụng ngày nay bao gồm:
• Tiêu chuẩn mã hóa dữ liệu (DES): DES là mật mã khối sử dụng khóa 56 bit
hoạt động trên các khối 64 bit. Thuật tốn DES như được mơ tả bởi Davis
R. [ 5 ] lấy một chuỗi bit bản rõ có độ dài cố định và biến đổi nó thơng qua một loạt
các thao tác phức tạp thành chuỗi bit văn bản mật mã có cùng độ dài. 3DES (Triple
DES) [ 6 ] là một cải tiến của DES; nó có kích thước khối 64 bit với kích thước khóa
192 bit. Trong tiêu chuẩn này, phương pháp mã hóa tương tự như phương pháp
trong DES ban đầu nhưng được áp dụng 3 lần để tăng mức độ mã hóa và thời gian
an tồn trung bình.


• Tiêu chuẩn mã hóa nâng cao (AES): AES [ 7 , 8 ] là mật mã khối nhằm thay thế
DES cho các ứng dụng thương mại. Nó sử dụng kích thước khối 128 bit và kích
thước khóa là 128, 192 hoặc 256 bit. Số vòng trong của mật mã là một hàm của độ
dài khóa. Số vịng cho khóa 128 bit là 10. Không giống như DES tiền thân của nó,
AES khơng sử dụng mạng Feistel. Mạng Feistel khơng mã hóa tồn bộ khối trên
mỗi lần lặp, ví dụ: trong DES, 64/2 = 32 bit được mã hóa trong một vịng. Mặt
khác, AES mã hóa tất cả 128 bit trong một lần lặp.
• Blowfish: Blowfish [ 9 ] là mật mã khối 64-bit đối xứng do Bruce Schneier phát
minh; được tối ưu hóa cho bộ xử lý 32 bit với bộ đệm dữ liệu lớn, nó nhanh hơn
đáng kể so với DES trên máy loại Pentium/PowerPC. Độ dài khóa có thể thay đổi
từ 32 đến 448 bit. Blowfish, sẵn có tự do và nhằm mục đích thay thế cho DES hoặc
IDEA, được sử dụng trong một số lượng lớn sản phẩm. Đó là mật mã Feistel 16

vịng và sử dụng các hộp S phụ thuộc khóa lớn. Các hộp S chấp nhận đầu vào 8 bit
và tạo đầu ra 32 bit. Một mục nhập của mảng P được sử dụng mỗi vòng và sau
vòng cuối cùng, mỗi nửa khối dữ liệu được XOR với một trong hai mục nhập P
chưa sử dụng cịn lại.
• Twofish: [ 10 ] Một mật mã khối 128-bit sử dụng các khóa 128-, 192- hoặc 256bit. Được thiết kế để có độ bảo mật cao và tính linh hoạt cao, rất phù hợp với các
bộ vi xử lý lớn, bộ vi xử lý thẻ thông minh 8 bit và phần cứng chuyên dụng. Được
thiết kế bởi một nhóm do Bruce Schneier đứng đầu và là một trong các thuật tốn
Vịng 2 trong quy trình AES. Các tính năng đặc biệt của Twofish là việc sử dụng
các hộp S phụ thuộc vào khóa được tính tốn trước và lịch trình khóa tương đối
phức tạp. Một nửa của khóa n-bit được sử dụng làm khóa mã hóa thực tế và nửa
cịn lại của khóa n-bit được sử dụng để sửa đổi thuật tốn mã hóa (các hộp S phụ
thuộc vào khóa). Twofish mượn một số yếu tố từ các thiết kế khác; ví dụ: biến đổi
giả Hadamard(PHT) từ họ mật mã AN TỒN HƠN. Twofish có cấu trúc Feistel
giống như DES.
• Hoa trà: [ 11 ]Một thuật tốn mật mã khóa bí mật, mật mã khối được phát triển
bởi Tập đoàn Điện báo và Điện thoại (NTT) Corp. và Tập đoàn Mitsubishi Electric
(MEC) vào năm 2000. C có một số đặc điểm chung với AES: kích thước khối 128
bit, hỗ trợ cho Độ dài khóa 128-, 192- và 256-bit cũng như tính phù hợp cho việc
triển khai cả phần mềm và phần cứng trên bộ xử lý 32-bit thơng thường cũng như
bộ xử lý 8-bit (ví dụ: thẻ thơng minh, phần cứng mã hóa và hệ thống
nhúng). Camellia là một mật mã Feistel có 18 vịng (khi sử dụng khóa 128 bit)
hoặc 24 vịng (khi sử dụng khóa 192 hoặc 256 bit). Cứ sau sáu vịng, một lớp biến
đổi logic được áp dụng: cái gọi là "hàm FL" hoặc nghịch đảo của nó. Camellia sử


dụng bốn hộp S 8 x 8 bit với các phép biến đổi affine đầu vào và đầu ra và các
phép toán logic. Mật mã cũng sử dụng làm trắng khóa đầu vào và đầu ra. Lớp
khuếch tán sử dụng phép biến đổi tuyến tính dựa trên ma trận có số nhánh là 5.
• KASUMI: [ 11 , 12 ] Mật mã khối sử dụng khóa 128 bit và kích thước khối 64 bit, là
một phần của Dự án Đối tác Thế hệ thứ ba (3gpp), trước đây gọi là Hệ thống Viễn

thơng Di động Tồn cầu (UMTS). KASUMI là thuật tốn bảo mật và tồn vẹn
dành cho cả nội dung tin nhắn và dữ liệu báo hiệu cho các hệ thống thông tin di
động mới nổi. KASUMI được sử dụng trong trình tạo luồng khóa A5/3 và trong
GPRS trong trình tạo luồng khóa GEA3. Vào năm 2010, Dunkelman, Keller và
Shamir đã công bố một cuộc tấn công mới cho phép kẻ thù khơi phục tồn bộ khóa
A5/3 bằng cách tấn cơng khóa liên quan [ 13 ]. Cốt lõi của KASUMI là mạng Feistel
tám vòng. Các chức năng vòng trong mạng Feistel chính là các phép biến đổi mạng
giống như Feistel khơng thể đảo ngược. Trong mỗi vịng, chức năng vịng sử dụng
một khóa vịng bao gồm tám khóa phụ 16 bit được lấy từ khóa 128 bit ban đầu
bằng cách sử dụng lịch trình khóa cố định.
5.2. Mật mã khóa cơng khai
Mật mã khóa cơng khai là một dạng hệ thống mật mã trong đó q trình mã hóa và
giải mã được thực hiện bằng các khóa khác nhau—một khóa cơng khai và
một khóa bí mật . Các khóa này có liên quan về mặt tốn học mặc dù kiến thức về
một khóa khơng cho phép ai đó dễ dàng xác định khóa kia. Như thể hiện trong
Hình 3, người gửi A sử dụng khóa cơng khai của người nhận B (hoặc một số bộ
quy tắc) để mã hóa thơng báo văn bản gốc M và gửi bản mã C đến người
nhận. Người nhận áp dụng khóa riêng (hoặc bộ quy tắc) của riêng mình để giải mã
bản mã C và khơi phục bản rõ M. Vì bắt buộc phải có cặp khóa nên cách tiếp cận
này cịn được gọi là mật mã bất đối xứng . Mã hóa bất đối xứng có thể được sử
dụng để bảo mật , xác thực hoặc cả hai. Các ứng dụng cho Hệ thống mật mã khóa
cơng khai được đưa ra trong Bảng 1 .


Hình 3 . _ Mật mã khóa cơng khai
Các thuật tốn mã hóa khóa cơng khai đang được sử dụng ngày nay để trao đổi
khóa hoặc chữ ký số bao gồm:
5.2.1. RSA
Việc triển khai mật mã khóa cơng khai đầu tiên và vẫn còn phổ biến nhất, được đặt
theo tên của ba nhà tốn học MIT đã phát triển nó - Ronald Rivest, Adi Shamir và

Leonard Adleman [ 14 ] . RSA ngày nay được sử dụng trong hàng trăm sản phẩm
phần mềm và có thể được sử dụng để trao đổi khóa, chữ ký số hoặc mã hóa các
khối dữ liệu nhỏ. RSA sử dụng khối mã hóa có kích thước thay đổi và khóa có kích
thước thay đổi. Cặp khóa bắt nguồn từ một số rất lớn, n, là tích của hai số nguyên
tố được chọn theo các quy tắc đặc biệt; mỗi số nguyên tố này có thể dài từ 100 chữ
số trở lên, tạo ra số n có số chữ số gần gấp đơi số thừa số nguyên tố. RSA có ba
giai đoạn: Tạo khóa , mã hóa và giải mã.
5.2.1.1. Giai đoạn tạo khóa


Người nhận tạo một cặp khóa cơng khai/riêng tư. Thuật toán như sau:
1) Chọn p, q sao cho p, q nguyên tố nhau, p ≠ q
2) Tính n = p * q
3) Tính f(n) = (p - 1)(q - 1)
4) Chọn số nguyên e sao cho gcd(f(n), e) = 1; 1 < e < f(n)
5) Tính d sao cho d≡ e-1 (mod f(n))
6) Khóa cơng khai PUK= (e, n)
7) Khóa riêng PRK=(d, n)
5.2.1.2. Giai đoạn mã hóa
Việc mã hóa được thực hiện bởi người gửi bằng Khóa cơng khai của người
nhận. Thuật toán như sau:
1) Văn bản thuần túy M đã biết, M < n
2) Văn bản mật mã C được tính như sau

5.2.1.3. Giai đoạn giải mã
Việc giải mã được thực hiện bởi người nhận bằng Khóa riêng của anh ta. Thuật
toán như sau:
1) Văn bản mật mã C đã biết
2) Văn bản thuần túy M được tính như


5.2.2. Trao đổi khóa Diffie-Hellman
Một thuật tốn khóa cơng khai đơn giản là trao đổi khóa Diffie-Hellman [ 15 ] . Giao
thức này cho phép hai người dùng thiết lập khóa bí mật bằng cách sử dụng sơ đồ
khóa chung dựa trên logarit rời rạc. Giao thức chỉ được bảo mật nếu tính xác thực


của hai người tham gia có thể được thiết lập. DH chỉ được sử dụng để trao đổi
khóa bí mật chứ không phải để xác thực hoặc chữ ký số. Thuật tốn như sau:
1) Chọn hai Phần tử Cơng cộng Toàn cầu: một số nguyên tố p và một số nguyên α
là căn nguyên thủy của p.
2) Tạo khóa của người gửi: Người gửi chọn một số nguyên ngẫu nhiên XA < p là
số riêng tư và tính tốn YA = α XA mod p, là số nguyên công khai.
3) Tạo khóa người nhận: Người nhận chọn một số nguyên ngẫu nhiên XB < p là số
riêng tư và tính toán YB = α XB mod p, là số nguyên cơng khai.
4) Người gửi tính tốn khóa bí mật: K = (YB ) XA mod p
5) Người nhận tính tốn khóa bí mật giống với khóa bí mật của người gửi. K =
(YA)XB mod p.
5.2.3. Mật mã đường cong elip
Nó tương tự như Trao đổi khóa Diffie-Hellman. ECC [ 16 , 17 ] là một thuật tốn mã
hóa khóa cơng khai dựa trên các đường cong elip. Số học đường cong elip có thể
được sử dụng để phát triển nhiều sơ đồ mật mã đường cong elip (ECC), bao gồm
trao đổi khóa, mã hóa và chữ ký số. Đối với các mục đích của ECC, số học đường
cong elip liên quan đến việc sử dụng phương trình đường cong elip được xác định
trên một trường hữu hạn. Các hệ số và biến trong phương trình là các phần tử của
một trường hữu hạn. Tính bảo mật của ECC dựa trên tính khó hiểu của ECDLP, tức
là Bài tốn logarit rời rạc trên đường cong Elliptic.
5.2.4. Tiêu chuẩn chữ ký số
Tiêu chuẩn chữ ký số (DSS) là một tiêu chuẩn NIST sử dụng thuật tốn băm an
tồn (SHA) [ 18 ] . Chữ ký điện tử là một cơ chế xác thực cho phép người tạo thư
đính kèm mã đóng vai trị là chữ ký. Thơng thường, chữ ký được hình thành bằng

cách lấy hàm băm của tin nhắn và mã hóa tin nhắn bằng khóa riêng của người
tạo. Chữ ký đảm bảo nguồn gốc và tính tồn vẹn của thơng điệp.
Hình 4 cho thấy quá trình tạo và sử dụng chữ ký số. Người gửi có thể ký một tin
nhắn bằng thuật toán tạo chữ ký số. Đầu vào của thuật tốn là thơng điệp và khóa
riêng của người gửi. Bất kỳ người dùng nào khác, chẳng hạn như người nhận, có
thể xác minh chữ ký bằng thuật tốn xác minh, có đầu vào là thơng báo, chữ ký và
khóa chung của người gửi.


một). Chữ ký số khơng có hàm băm

b). Chữ ký số với hàm băm
DSS sử dụng thuật toán được thiết kế để chỉ cung cấp chức năng chữ ký số. Nó
khơng thể được sử dụng để mã hóa hoặc trao đổi khóa. Tuy nhiên, nó là một kỹ
thuật khóa cơng khai. Hình 5 tương phản với cách tiếp cận DSS để tạo chữ ký số
với cách được sử dụng với RSA. Trong cách tiếp cận RSA, thông báo cần ký được
đưa vào một hàm băm tạo ra mã băm an tồn có độ dài cố định. Mã băm này sau
đó được mã hóa bằng khóa riêng của người gửi để tạo thành chữ ký. Cả tin nhắn và
chữ ký sau đó đều được truyền đi. Người nhận nhận tin nhắn và tạo mã
băm. Người nhận cũng giải mã chữ ký bằng khóa chung của người gửi. Nếu mã
băm được tính khớp với chữ ký được giải mã, chữ ký được chấp nhận là hợp
lệ. Bởi vì chỉ người gửi mới biết khóa riêng,


Cách tiếp cận DSS cũng sử dụng hàm băm. Mã băm được cung cấp làm đầu vào
cho hàm chữ ký cùng với một số ngẫu nhiên được tạo cho chữ ký cụ thể này. Chức
năng chữ ký cũng phụ thuộc vào khóa riêng PR a của người gửi và một tập hợp các
tham số được biết đến bởi một nhóm các nguyên tắc giao tiếp. Chúng ta có thể coi
tập hợp này tạo thành khóa cơng khai tồn cục PU G . Kết quả là một chữ ký bao
gồm hai thành phần, được gắn nhãn s và r.


Hình 5 . _ Phương pháp tiếp cận chữ ký số
Bảng 1. Các ứng dụng cho hệ thống mật mã khóa cơng khai

5.3. Hàm băm
Các hàm băm, cịn được gọi là thơng báo tóm tắt và mã hóa một chiều , là các
thuật tốn, theo một nghĩa nào đó, khơng sử dụng khóa. Hàm băm H chấp nhận
khối dữ liệu M có độ dài thay đổi làm đầu vào và tạo ra giá trị băm có kích thước
cố định h = H(M) như trong Hình 6 .Nói chung, đối tượng chính của hàm băm là
tính tồn vẹn của dữ liệu. Thay đổi đối với bất kỳ bit hoặc bit nào trong kết quả,
với xác suất cao, trong thay đổi đối với mã băm. Hầu như tất cả các hàm băm mật
mã đều liên quan đến việc sử dụng lặp đi lặp lại một hàm nén. Hàm nén được sử


dụng trong thuật tốn băm an tồn thuộc một trong hai loại: hàm được thiết kế
riêng cho hàm băm hoặc thuật toán dựa trên mật mã khối đối xứng. SHA và
Whirlpool [ 19 ] lần lượt là những ví dụ về hai cách tiếp cận này.
Thuật toán băm liên quan đến việc sử dụng lặp lại hàm nén, f, nhận hai đầu vào
(đầu vào -bit từ bước trước, được gọi là biến chuỗi và khối -bit) và tạo ra đầu ra
-bit. Khi bắt đầu băm, biến chuỗi có giá trị ban đầu được chỉ định như một phần
của thuật toán. Giá trị cuối cùng của biến chuỗi là giá trị băm. Người ta thấy rằng b
> n. Hàm băm mật mã có thể được sử dụng để xây dựng hàm giả ngẫu nhiên (PRF)
hoặc bộ tạo số giả ngẫu nhiên (PRNG).

Hình 6 . _ Sơ đồ khối của hàm băm
5.3.1. SHA
Thuật tốn băm an tồn (SHA) là một họ các hàm băm mật mã. So sánh các tham
số SHA được thể hiện trong Bảng 2 . Tất cả các kích thước được đo bằng bit.
Bảng 2. So sánh các thông số SHA



6. Mã xác thực tin nhắn
Xác thực tin nhắn là một cơ chế hoặc dịch vụ được sử dụng để xác minh tính tồn
vẹn của tin nhắn. Xác thực thơng báo đảm bảo rằng dữ liệu nhận được chính xác
như đã gửi (nghĩa là khơng chứa sửa đổi, chèn, xóa hoặc phát lại). Trong nhiều
trường hợp, có một yêu cầu rằng cơ chế xác thực đảm bảo rằng danh tính có mục
đích của người gửi là hợp lệ. Khi hàm băm được sử dụng để cung cấp xác thực
thông báo, giá trị hàm băm thường được gọi là thông báo tóm tắt . Thơng thường
hơn, xác thực tin nhắn đạt được bằng cách sử dụng mã xác thực tin nhắn (MAC) ,
cịn được gọi là hàm băm có khóa hoặc tổng kiểm tra mật mã . Thông thường,
MAC được sử dụng giữa hai bên nói người gửi và người nhận, chia sẻ khóa bí
mậtK xác thực thơng tin trao đổi giữa các bên đó. Hàm MAC C lấy đầu vào là
khóa bí mật K và khối dữ liệu có độ dài thay đổi hoặc thông báo M và tạo ra giá trị
băm có độ dài cố định MA C , được gọi là Mã xác thực thông báo . Điều này sau
đó có thể được truyền đi cùng hoặc lưu trữ cùng với thông báo được bảo vệ. Nếu
cần kiểm tra tính tồn vẹn của thơng báo, chức năng MAC có thể được áp dụng
cho thơng báo và kết quả được so sánh với giá trị MAC được lưu trữ. Quy trình
của MAC được thể hiện trong Hình 7.


Hình 7 . _ hoạt động của MAC
6.1. HMAC
Mã xác thực thông báo dựa trên hàm băm ( HMAC ) [ 20 ] là một cấu trúc cụ thể để
tính tốn mã xác thực thơng báo (MAC) liên quan đến hàm băm mật mã kết hợp
với khóa mật mã bí mật. Như với bất kỳ MAC nào, nó có thể được sử dụng để xác
minh đồng thời cả tính tồn vẹn của dữ liệu và xác thực của thông báo. Bất kỳ hàm
băm mật mã nào, chẳng hạn như MD5 hoặc SHA-1, đều có thể được sử dụng để
tính tốn HMAC; thuật toán MAC kết quả được gọi là HMAC-MD5 hoặc HMACSHA1 tương ứng. Độ mạnh mã hóa của HMAC phụ thuộc vào độ mạnh mã hóa
của hàm băm cơ bản, kích thước đầu ra hàm băm của nó cũng như kích thước và
chất lượng của khóa.

Mã xác thực tin nhắn dựa trên hàm băm (HMAC) cung cấp cho mỗi máy chủ và
máy khách một khóa chung và khóa riêng. Khóa chung được biết, nhưng khóa
riêng chỉ được biết bởi máy chủ cụ thể đó và máy khách cụ thể đó. Máy khách tạo
một HMAC hoặc hàm băm duy nhất cho mỗi yêu cầu tới máy chủ bằng cách kết
hợp dữ liệu yêu cầu và băm dữ liệu đó, cùng với khóa riêng tư và gửi nó như một
phần của yêu cầu. Máy chủ nhận được yêu cầu và tạo lại HMAC duy nhất của
riêng nó. Máy chủ so sánh hai HMAC và nếu chúng bằng nhau thì máy khách được
tin cậy và yêu cầu được thực thi. Quá trình này thường được gọi là bắt tay bí mật .
HMAC có thể được thể hiện như sau:


ở đâu
K = khóa bí mật; độ dài khuyến nghị là ≥ n; nếu độ dài khóa lớn hơn khối b - bit,
thì khóa được nhập vào hàm băm để tạo khóa n - bit
M = tin nhắn đầu vào HMAC,
H = hàm băm mật mã,
K + = K được đệm bằng các số 0 ở bên trái để kết quả có độ dài b bit,

∥= nối,
opad = 01011100 (5C ở hệ thập lục phân) được lặp lại b /8 lần,
ipad = 00110110 (36 ở hệ thập lục phân) được lặp lại b /8 lần.
6.2. CMAC
Mã xác thực tin nhắn dựa trên mật mã ( CMAC s ) [ 21 ] là một cơng cụ để tính
tốn mã xác thực tin nhắn bằng cách sử dụng mật mã khối kết hợp với khóa bí
mật. CMAC có thể được sử dụng để xác minh cả tính tồn vẹn và tính xác thực của
thông báo. Chế độ hoạt động này khắc phục các lỗi bảo mật của CBC-MAC (CBCMAC chỉ an toàn cho các bản tin có độ dài cố định). Để tạo thẻ CMAC ℓ-bit ( t )
của một tin nhắn ( m ) bằng cách sử dụng mật mã khối b-bit ( E ) và khóa bí mật
( k ), trước tiên, người ta tạo hai khóa con b-bit ( k 1 và k 2 ).
Khóa con ( k 1 và k2 ) Thuật tốn:
1) Tính giá trị tạm thời k 0 = E k (0).

2) Nếu msb( k 0 ) = 0 thì k 1 = k 0 ≪ 1, ngược lại k 1 = ( k 0 ≪ 1) ⊕ C ; trong đó C
là một hằng số nhất định chỉ phụ thuộc vào b . (Cụ thể, C là các hệ số không đứng
đầu của đa thức nhị phân bậc b bất khả quy thứ nhất về mặt từ điển với số lượng
nhỏ nhất.)
3) Nếu msb( k 1 ) = 0 thì k 2 = k 1 ≪ 1, ngược lại k 2 = ( k 1 ≪ 1) ⊕ C .
4) Quay lại các phím ( k 1 , k 2 ) cho quá trình tạo MAC.
Thuật toán tạo thẻ CMAC:


×