TỔNG QUAN VỀ XÁC THỰC ĐIỆN TỬ
Khái niệm xác thực
1.1.1 Xác thực theo nghĩa thông thường
Xác thực là quá trình chứng minh tính đáng tin cậy của một người hoặc một đối tượng, đảm bảo rằng những thông tin hoặc lời khai mà họ cung cấp là chính xác và đúng sự thật.
Xác thực một đối tượng có nghĩa là công nhận nguồn gốc của nó, trong khi xác thực một người thường liên quan đến việc kiểm tra danh tính Quá trình xác thực thường dựa vào một hoặc nhiều yếu tố xác thực để cung cấp bằng chứng cụ thể.
Xác thực trong an ninh máy tính là quy trình xác minh danh tính số của người gửi thông tin trong giao tiếp, như yêu cầu đăng nhập Người gửi có thể là người dùng, máy tính hoặc chương trình máy tính.
Sự tin cậy mù quáng (blind credential) không tạo ra yêu cầu nhận dạng, mà chỉ xác lập quyền hạn hoặc địa vị hạn chế của người dùng hoặc ứng dụng.
Trong một mạng lưới tín nhiệm, "xác thực" là phương pháp đảm bảo rằng người dùng thực sự là người mà họ khẳng định, đồng thời xác nhận rằng họ đang thực hiện các chức năng trong hệ thống với quyền hạn được ủy quyền.
Phân loại xác thực điện tử
1) Xác thực thông điệp (Message Authentication)
2) Xác thực giao dịch (Transaction Authentication)
3) Xác thực khóa (Key Authentication)
4) Xác thực nguồn gốc dữ liệu (Source của Data)
5) Xác thực bảo đảm toàn vẹn dữ liệu (Data Integrity)
1) Xác thực dựa vào thực thể: Biết cái gì (Something Known)
2) Xác thực dựa vào thực thể: Sở hữu cái gì (Something Possessed)
Xác thực dữ liệu
Xác thực thông điệp hay Xác thực tính nguyên bản của dữ liệu (Data
Origin Authentication is a method of verification that ensures an entity is authenticated as the true source that generated specific data at a given time.
Xác thực thông điệp bao hàm cả tính toàn vẹn dữ liệu, nhưng không đảm bảo tính duy nhất và sự phù hợp về thời gian của nó
1.3.1.1 Các phương pháp xác thực thông điệp
1.3.1.1.1 Xác thực thông điệp bằng chữ kí số Ý tưởng chính của phương pháp xác thực bằng chữ ký số
1/ An gửi cho Thu cặp tin (X, Y), trong đó X là bản tin, Y là chữ ký số của bản tin X Tức là Y = Sigk (X) , Sigk là thuật toán ký với khóa k
2/ Khi nhận được (X, Y), Thu tiến hành kiểm tra chữ ký bằng thuật toán Ver
(X,Y) Nếu Verk (X, Y) = đúng thì Thu chắc chắn rằng X được bảo toàn
+ An sử dụng chữ ký khôi phục được thông điệp gốc (chữ ký RSA)
+ An sử dụng chữ ký không khôi phục được thông điệp gốc (chữ ký ELGAMAL, chữ ký DSS)
1.3.1.1.2 Xác thực thông điệp bằng hàm băm Ý tưởng chính của phương pháp xác thực bằng hàm băm
1/ A gửi cho B cặp tin (X, Y), trong đó X là bản tin, Y là đại diện bản tin X, tức là Y= h(X), h là hàm băm
2/ Khi nhận được (X, Y), B tính lại h(X) = Z
Nếu Z = Y, thì B chắc chắn rằng X được bảo toàn, không bị sửa đổi trên đường truyền
Các hàm băm đƣợc sử dụng là:
- Hàm băm Secure Hash Standard (SHS)
1.3.1.1.3 Xác thực thông điệp bằng mã xác thực Định nghĩa mã xác thực thông điệp
Mã xác thực là một bộ 4 (S, A, K, E) thoả mãn các điều kiện sau :
1 S là tập hữu hạn các trạng thái nguồn có thể
2 A là tập hợp các nhãn xác thực có thể
3 K là một tập hữu hạn các khoá có thể (không gian khoá)
4 Với mỗi k K có một quy tắc xác thực ek : S A
Tập bản tin được xác định bằng M = S A
16 Ý tưởng chính của phương pháp xác thực bằng mã xác thực
Chú ý rằng một trạng thái nguồn tương đương với một bản rõ, và một bản tin bao gồm bản rõ cùng với một nhãn xác thực, có thể coi là một bản tin đã được xác nhận Quy tắc xác thực không nhất thiết phải là hàm đơn ánh Để phát thông báo đã được ký, An và Thu cần tuân theo một giao thức cụ thể Đầu tiên, họ chọn một khoá ngẫu nhiên k K một cách bí mật, giống như trong hệ mật khoá bí mật Khi An muốn gửi trạng thái nguồn s S cho Thu qua kênh không an toàn, An sẽ tính toán a= ek(s) và gửi bản tin (s, a) cho Thu Khi nhận được (s, a), Thu sẽ tính toán a’=eK(s) Nếu a=a’, Thu sẽ chấp nhận bản tin là xác thực; ngược lại, Thu sẽ loại bỏ nó.
Xác thực giao dịch là Xác thực thông điệp cộng thêm việc đảm bảo tính duy nhất (Uniqueness) và sự phù hợp về thời gian (Timeliness) của nó
Xác thực giao dịch liên quan đến việc sử dụng các tham số thời gian (TVB- Time Variant Parameters)
Transaction Authentication = Message Authentication + TVB
Xác thực giao dịch “mạnh hơn” Xác thực thông điệp
+ Xác thực không tường minh khóa (Implicit Key Authentication):
Chỉ có bên thứ hai và có thể thêm các bên tin cậy mới có quyền truy cập vào khóa mật, đảm bảo tính bảo mật cho thông tin.
+ Khẳng định (Xác nhận) khóa (Key Confirmation):
Một bên được đảm bảo rằng bên thứ hai chắc chắn đã sở hữu khóa mật
+ Xác thực tường minh khóa (Explicit Key Authentication)
Bao gồm cả 2 yếu tố trên, nó chứng tỏ được định danh của bên có khóa đã cho
Xác thực khóa tập trung vào việc xác định bên thứ hai có quyền truy cập vào khóa, trong khi khẳng định khóa lại chú trọng vào giá trị của khóa đó.
Ta gọi ngắn gọn Explicit Key Authentication là Key Authentication
Xác thực dữ liệu đã bao gồm tính toàn vẹn dữ liệu Ngược lại thì không
Để đảm bảo tính toàn vẹn của dữ liệu, việc xác thực nguồn gốc dữ liệu là điều cần thiết Nếu không thực hiện xác thực nguồn gốc, tính toàn vẹn của dữ liệu sẽ không được đảm bảo, dẫn đến những rủi ro trong việc sử dụng và quản lý thông tin.
1.3.4 Xác thực nguồn gốc dữ liệu
Công cụ: Dùng chữ ký số, hàm băm, thủy vân ký
1.3.5 Xác thực bảo đảm toàn vẹn dữ liệu
Công cụ: Dùng chữ ký số, hàm băm, thủy vân ký, mã xác thực.
Xác thực thực thể
Xác thực thực thể (hay Định danh thực thể) là xác thực định danh của một đối tượng tham gia giao thức truyền tin
Thực thể, như người dùng hoặc thiết bị đầu cuối, được xác thực qua định danh của nó trong một giao thức Điều này có nghĩa là thực thể này phải tương tác với một thực thể thứ hai, xác nhận sự tham gia thực sự vào giao thức đó.
1.4.1 Xác thực dựa vào thực thể: Biết cái gì (Something Known)
Chẳng hạn, mật khẩu, mật khẩu ngữ (pass phrase) hoặc số định danh cá nhân
1.4.1.1 Xác thực dựa trên User name và Password
Sự kết hợp giữa tên người dùng và mật khẩu là phương pháp xác thực cơ bản nhất, trong đó thông tin của người dùng được so sánh với dữ liệu lưu trữ trong hệ thống Nếu tên người dùng và mật khẩu khớp nhau, người dùng sẽ được xác thực; ngược lại, họ sẽ bị từ chối truy cập Tuy nhiên, phương thức này không an toàn do thông tin xác thực được gửi đi dưới dạng "plain text", không được mã hóa, dễ bị đánh chặn trên đường truyền.
1.4.1.2 Giao thức Chứng thực bắt tay thách thức - Challenge Handshake Authentication Protocol (CHAP)
Giao thức Chứng thực “Bắt tay Thách thức” là một phương thức xác thực dựa trên tên người dùng và mật khẩu Khi người dùng đăng nhập, server xác thực sẽ gửi một thông điệp thử thách về máy tính của người dùng Máy tính sau đó phản hồi bằng tên người dùng và mật khẩu đã được mã hóa Server sẽ so sánh phiên bản xác thực lưu trữ với phiên bản mã hóa vừa nhận; nếu chúng khớp, người dùng sẽ được xác thực thành công.
Mật khẩu không bao giờ được gửi qua mạng và thường được bảo vệ bằng phương thức CHAP khi người dùng đăng nhập vào các máy chủ từ xa như RAS server Dữ liệu chứa mật khẩu được mã hóa dưới dạng mật khẩu băm (hash password) để đảm bảo an toàn.
1.4.2 Xác thực dựa vào thực thể: Sở hữu cái gì (Something Possessed)
For example, possessing a private key for electronic signatures is essential This includes various forms of identification and access methods such as magnetic-striped cards, credit cards, smart cards, ID cards, security tokens, software tokens, and even mobile phones.
1.4.2.1 Phương pháp xác thực Kerberos (Kerberos authentication)
Kerberos là một phương pháp xác thực an toàn, sử dụng một máy chủ trung tâm để kiểm tra danh tính người dùng và cấp phát thẻ thông hành (service tickets) cho phép truy cập tài nguyên Phương thức này dựa trên mã hóa mạnh mẽ và yêu cầu độ chính xác của thời gian giữa máy chủ và máy khách, vì vậy cần có một "time server" để đảm bảo tính chính xác trong quá trình xác thực.
“authenticating servers” được đồng bộ thời gian từ các “Internet time server” Kerberos là nền tảng xác thực chính của nhiều OS như Unix, Windows
Tokens là các phương tiện vật lý như thẻ thông minh và thẻ đeo nhân viên, chứa thông tin xác thực quan trọng Chúng có khả năng lưu trữ số nhận dạng cá nhân (PIN), thông tin người dùng và mật khẩu, giúp tăng cường bảo mật cho các giao dịch và truy cập thông tin.
Thông tin trên token chỉ có thể được truy cập và xử lý bởi các thiết bị chuyên dụng, chẳng hạn như thẻ smart card được đọc bởi đầu đọc smart card kết nối với máy tính Sau khi được đọc, thông tin này sẽ được gửi đến "authenticating server" Mỗi token chứa một chuỗi văn bản hoặc giá trị số duy nhất, thường chỉ được sử dụng một lần.
Ví dụ về Smart cards:
Smart card là một hình thức xác thực dựa trên token, với thiết kế là thẻ nhựa chứa chip máy tính để lưu trữ thông tin điện tử Thông tin trên smart card có thể được truy cập thông qua một thiết bị chuyên dụng.
1.4.3 Xác thực dựa vào thực thể: Thừa hưởng cái gì (Something Inherent)
Vết lăn tay, mẫu hình võng mạc mắt, chuỗi ADN và mẫu hình giọng nói đều là những dạng sinh trắc học với nhiều định nghĩa khác nhau về tính thích hợp và đầy đủ Ngoài ra, sự xác minh chữ ký và tín hiệu sinh điện đặc hữu do cơ thể sống tạo ra cũng được xem là những yếu tố quan trọng trong việc nhận diện cá nhân, cùng với các biệt danh sinh trắc (biometric identifier) khác.
Phương pháp Biometrics (phương pháp nhận dạng sinh trắc học)
Mô hình xác thực dựa trên đặc điểm sinh học của từng cá nhân:
+ Quét dấu vân tay (fingerprint scanner)
+ Quét võng mạc mắt (retinal scanner)
+ Nhận dạng giọng nói (voice-recognition)
+ Nhận dạng khuôn mặt (facerecognition)
Vì nhận dạng sinh trắc học hiện rất tốn kém chi phí khi triển khai nên chưa được sử dụng rộng rãi như các phương thức xác thực khác
Trong lịch sử, vết lăn tay được coi là phương pháp xác minh đáng tin cậy nhất, nhưng gần đây, nhiều vụ kiện tại Mỹ và các nơi khác đã đặt ra nghi ngờ về tính chính xác của chúng Các phương pháp sinh trắc học khác như quét võng mạc và quét vết lăn tay được xem là khả quan hơn, tuy nhiên, có bằng chứng cho thấy chúng cũng dễ bị giả mạo.
TỔNG QUAN VỀ THỦY VÂN SỐ
Giấu tin
Giấu tin là kỹ thuật nhúng thông tin số vào đối tượng dữ liệu khác, không chỉ đơn thuần là hành động giấu mà còn mang ý nghĩa quy ước.
2.1.2 Mục đích của giấu tin
Có 2 mục đích của giấu thông tin:
- Bảo mật cho những dữ liệu được giấu
- Bảo đảm an toàn (bảo vệ bản quyền) cho chính các đối tượng chứa dữ liệu giấu trong đó
Có thể thấy 2 mục đích này hoàn toàn trái ngược nhau và dần phát triển thành 2 lĩnh vực với những yêu cầu và tính chất khác nhau
Hình 2.1 Hai lĩnh vực chính của kỹ thuật giấu thông tin
Kỹ thuật giấu thông tin bí mật (Steganography) là phương pháp nhằm đảm bảo an toàn và bảo mật thông tin, tập trung vào việc sử dụng các kỹ thuật để giấu tin hiệu quả.
22 nhiều thông tin nhất Thông tin mật được giấu kỹ trong một đối tượng khác sao cho người khác không phát hiện được
Kỹ thuật giấu thông tin bằng phương pháp đánh dấu (thủy vân) nhằm bảo vệ bản quyền của thông tin chứa đựng, đồng thời đảm bảo tính bền vững và ổn định Đây là ứng dụng cơ bản nhất của kỹ thuật thủy vân số trong việc bảo vệ tài sản trí tuệ.
Thủy vân số
Tạo thủy vân là kỹ thuật nhúng thông tin vào dữ liệu đa phương tiện để xác nhận quyền sở hữu và phát hiện sự xuyên tạc thông tin.
Thủy vân số có thể được sử dụng cho một loạt các ứng dụng như:
Bảo vệ bản quyền tác giả là ứng dụng cơ bản của kỹ thuật thuỷ vân số, một phương pháp giấu tin hiệu quả Thủy vân, hay watermark, là thông tin xác định quyền sở hữu tác giả, được nhúng vào các sản phẩm như ảnh, âm thanh và video Chỉ có người sở hữu hợp pháp mới có quyền truy cập vào thủy vân này, giúp chứng minh bản quyền sản phẩm Để bảo vệ các sản phẩm đa phương tiện khỏi việc bị lấy cắp hoặc làm nhái trên mạng, cần áp dụng kỹ thuật thuỷ vân số.
Việc dán tem bản quyền vào sản phẩm cần được thực hiện cẩn thận để không ảnh hưởng đến trải nghiệm của người dùng Kỹ thuật áp dụng yêu cầu rằng thuỷ vân phải bền vững và gắn liền với sản phẩm Nếu muốn loại bỏ thuỷ vân mà không có sự đồng ý của chủ sở hữu, biện pháp duy nhất là phải phá hủy sản phẩm.
Nhận thực thông tin và phát hiện xuyên tạc thông tin là quá trình giấu thông tin trong phương tiện chứa để xác định xem dữ liệu gốc có bị thay đổi hay không Các thủy vân cần được ẩn để bảo vệ trước sự tò mò của kẻ thù, đồng thời cần xem xét khả năng làm giả thủy vân hợp lệ và xuyên tạc thông tin nguồn Trong thực tế, việc xác định vị trí bị xuyên tạc và phân biệt các loại thay đổi, như sự thay đổi nội dung hay chỉ mất dữ liệu do nén, là rất quan trọng Yêu cầu chung cho ứng dụng này là khả năng giấu thông tin cao mà không cần đảm bảo tính bền vững của thủy vân.
Giấu vân tay hay dán nhãn là phương pháp sử dụng thuỷ vân để nhận diện người gửi hoặc người nhận thông tin Trong ứng dụng này, các vân tay khác nhau được nhúng vào các bản sao của thông tin gốc trước khi phân phối, yêu cầu đảm bảo an toàn cao để tránh việc xoá giấu vết Điều khiển sao chép là một ứng dụng khác, trong đó thuỷ vân được dùng để kiểm soát truy cập thông tin, với các thiết bị phát hiện vân tay tích hợp trong hệ thống đọc ghi, như hệ thống quản lý sao chép DVD tại Nhật Bản Các ứng dụng này cũng cần đảm bảo an toàn cho thuỷ vân và có khả năng phát hiện vân tay đã giấu mà không cần thông tin gốc.
Thủy vân số là công nghệ được sử dụng để đánh dấu vào đối tượng nhằm xác nhận bản quyền và phát hiện thông tin bị xuyên tạc Công nghệ này được chia thành hai loại chính: thủy vân bền vững và thủy vân dễ vỡ, mỗi loại có những đặc điểm và ứng dụng riêng.
Hình 2.2 Phân loại các kĩ thuật giấu tin
2.2.2.1 Thủy vân bền vững (Robustness)
Thủy vân là một giải pháp hiệu quả trong việc bảo vệ bản quyền, thường được sử dụng để nhúng vào sản phẩm như một dạng tem bản quyền Để đảm bảo tính bền vững, thủy vân cần phải tồn tại lâu dài cùng với sản phẩm, nhằm ngăn chặn các hành vi tẩy xóa, làm giả hoặc biến đổi, phá hủy nó.
Thủy vân ẩn (Imperceptible): Cũng giống như giấu tin, bằng mắt thường không thể nhìn thấy thủy vân
Thủy vân hiện (Visible): Là loại thủy vân được hiện ngay trên sản phẩm và người dùng có thể nhìn thấy được
2.2.2.2 Thủy vân dễ vỡ ( Fragileness )
Kỹ thuật nhúng thủy vân vào ảnh cho phép bảo vệ sản phẩm trong môi trường mở Khi có bất kỳ biến đổi nào ảnh hưởng đến sản phẩm gốc, thủy vân được ẩn trong ảnh sẽ không còn nguyên vẹn, dễ bị phát hiện.
PHƯƠNG PHÁP XÁC THỰC
Mở đầu
Trong suốt thập kỷ qua, phương tiện truyền thông kỹ thuật số đã thống trị, nhờ vào khả năng thao tác dễ dàng và tạo ra bản sao hoàn hảo Sự bùng nổ của Internet đã dẫn đến việc sao chép và phân phối tài liệu có bản quyền với chi phí gần như bằng không, gây ra vấn đề nghiêm trọng về sao chép không được ủy quyền Đồng thời, tính xác thực và độ tin cậy của thông tin, đặc biệt trong các lĩnh vực như y tế và quân sự, cũng được đặt ra Để đối phó với những thách thức này, thủy vân số đã được phát triển như một giải pháp bảo vệ.
Ngành công nghiệp phim và ghi âm, cùng với lĩnh vực truyền thông, đang phải chịu thiệt hại lớn do vi phạm bản quyền Gần đây, sự quan tâm đến thủy vân kỹ thuật số đã gia tăng, với việc nhúng một tín hiệu bí mật vào hình ảnh kỹ thuật số để xác minh quyền sở hữu và kiểm tra tính xác thực Hình ảnh đã được thủy vân có khả năng chống lại các cuộc tấn công có thể làm hỏng thủy vân, và nếu thủy vân vẫn có thể cảm nhận được sau những cuộc tấn công đó, quá trình này được gọi là thủy vân bền vững, thường được sử dụng để kiểm soát bản quyền Trái lại, thủy vân dễ vỡ không có khả năng chống lại các cuộc tấn công này.
Thủy vân 27 được nhúng vào hình ảnh, cho phép những thay đổi nhỏ do cuộc tấn công không làm ảnh hưởng đến khả năng nhận diện Thủy vân dễ vỡ thường được áp dụng để kiểm tra tính xác thực và đảm bảo toàn vẹn của dữ liệu.
Hiện nay, hầu hết các chương trình thủy vân gặp khó khăn trong việc chống lại các cuộc tấn công hình học như xoay, lật, dịch, thay đổi tỷ lệ, kích thước và cắt xén Để đối phó với những tấn công này, nhiều chương trình sử dụng phương pháp đồng bộ hóa nhằm xác định và hoán đổi các biến dạng hình học trước khi phát hiện thủy vân Tuy nhiên, việc bổ sung mẫu đăng ký làm giảm độ chính xác của hình ảnh đã được thủy vân và giảm hiệu suất của chương trình Một điểm yếu lớn là tất cả hình ảnh được thủy vân thường mang cùng một mẫu đăng ký, khiến cho việc gỡ bỏ mẫu này từ hình ảnh dễ dàng, từ đó hạn chế khả năng phục hồi các biến dạng hình học Thêm vào đó, các phương pháp này cũng làm tăng thời gian tính toán và có thể hoạt động không hiệu quả trong một số trường hợp.
Chương trình thủy vân đang nỗ lực đạt được sự bền vững để chống lại các cuộc tấn công hình học thông qua việc sử dụng các phép biến đổi và bất biến Mặc dù những chương trình này cho thấy hiệu quả trong việc duy trì tính bền vững, nhưng chúng lại yêu cầu độ phức tạp tính toán cao trong cả quá trình nhúng và trích lọc thủy vân.
Kỹ thuật thủy vân thuận nghịch dựa trên bảng biểu đồ histogram của hình ảnh
Kỹ thuật thủy vân thuận nghịch dựa trên biểu đồ histogram của hình ảnh (Reversible watermarking based on histogram-RWBH) được đề xuất bởi E Chrysochos, V Fotopoulos, AN Skodras và M Xenos từ Hệ thống kỹ thuật số & Truyền thông, Phòng thí nghiệm máy tính, Trường Khoa học và Công nghệ, Đại học Mở Hy Lạp vào năm 2007 Kỹ thuật này cho phép nhúng thông tin vào hình ảnh mà không làm giảm chất lượng hình ảnh gốc, đồng thời đảm bảo khả năng phục hồi hình ảnh về trạng thái ban đầu.
Chương trình áp dụng kĩ thuật thủy vân có các tính năng sau đây:
Thuận nghịch: hình ảnh thủy vân có thể được phục hồi hoàn toàn lại trạng thái ban đầu
Che dấu: để phát hiện thủy vân chỉ có hình ảnh đã được thủy vân là cần thiết
Không đối xứng là phương pháp sử dụng một khóa công khai để phát hiện thủy vân, trong khi khóa bí mật được dùng để khôi phục hình ảnh đã được thủy vân.
Bền vững trước các cuộc tấn công hình học như xoay, lật, thay đổi tỷ lệ, thay đổi kích thước, cong vênh, chuyển dịch và bản vẽ, cũng như sự kết hợp của các yếu tố này.
Multicast: một watermark chắc chắn có thể được nhúng nhiều lần để tăng tính bền vững
chi phí tính toán thấp
Áp dụng đối với hình ảnh rất nhỏ (xuống đến mức 16 x 16)
Áp dụng đối với hình ảnh màu
hình ảnh thủy vân chất lượng tốt
Nguyên tắc cơ bản của kỹ thuật này dựa trên việc hoán vị các bảng biểu đồ được chọn theo cặp theo quy tắc cụ thể Để nhúng thủy vân, cần có một khóa xác định khu vực nhúng thủy vân Khóa này cũng rất quan trọng cho việc phát hiện và trích xuất các thủy vân.
Khoá công khai được coi là một phần quan trọng trong hệ thống bảo mật, trong khi khoá bí mật đóng vai trò thiết yếu cho việc khôi phục toàn bộ hình ảnh.
3.2.2 Thuật toán nhúng thủy vân
Tham số quan trọng nhất để nhúng thủy vân vào hình ảnh lưu trữ là khóa công khai, một số thực xác định khu vực nhúng Phần nguyên (start) chỉ ra điểm bắt đầu của quá trình nhúng, trong khi phần thập phân, nhân với mười, xác định khoảng cách tối thiểu giữa các cặp giá trị trong bảng biểu đồ, được gọi là bước (step) Cụ thể, start = public_key div 1 và step = 10 * (public_key mod 1).
Để nhúng một thủy vân trong hình ảnh xám, các bước của thuật toán nhúng bao gồm: đầu tiên, tính toán các biểu đồ của hình ảnh lưu trữ; sau đó, tiến hành tính toán giá trị start và step dựa trên các khóa công khai.
Hình 3.1 Bảng biểu đồ lưu trữ và các cặp (a, b)
Trong quy trình nhúng thủy vân, cặp điểm đầu tiên (a, b) được chọn dựa trên các tham số start và step Nếu giá trị của hist(a) và hist(b) bằng nhau, cặp này sẽ bị loại bỏ và tiếp tục với cặp tiếp theo Đối với mỗi cặp (a, b) và mỗi bit (w) của thủy vân, nếu w bằng 0, hist(a) phải nhỏ hơn hist(b), ngược lại, nếu w bằng 1, hist(a) phải lớn hơn hist(b) Nếu không tuân theo quy tắc này, hai giá trị sẽ được đổi chỗ Các cặp (a, b) tiếp theo sẽ được chọn để nhúng bit tiếp theo của thủy vân, và quá trình này sẽ lặp lại cho đến khi tất cả các bit đã được nhúng Các khóa bí mật cần thiết cho việc lưu trữ hình ảnh cũng được tạo ra trong quá trình này: nếu hist(a) và hist(b) ban đầu theo thứ tự tăng dần, pk sẽ là 0; nếu theo thứ tự giảm dần, pk sẽ là 1 Cuối cùng, nếu thuật toán đạt đến cuối biểu đồ, nó sẽ tiếp tục từ đầu biểu đồ, miễn là các cặp (a, b) không va chạm.
Trong nghiên cứu này, 31 cặp đã được lựa chọn trước đó, với mục tiêu tránh các thủy vân trong hình ảnh Khoảng cách tối đa giữa a và b được thiết lập là 9 Một tình huống có thể xảy ra là khi a nằm ở cuối biểu đồ và b ở đầu biểu đồ, và trường hợp này đã được dự đoán và cấm thực hiện.
3.2.3 Thuật toán trích lọc thủy vân
Để trích lọc các thủy vân từ hình ảnh, cần có các thông số quan trọng như khóa công khai và kích thước của thủy vân Khóa công khai là một số thực xác định vùng biểu đồ nơi thủy vân được nhúng, và chương trình thực hiện quá trình này không cần đến hình ảnh gốc.
Để trích xuất thủy vân từ một hình ảnh màu xám, thuật toán thực hiện các bước sau: đầu tiên, các biểu đồ của hình ảnh đã được thủy vân được tính toán Tiếp theo, giá trị start và step được xác định dựa trên các khóa công khai Sau đó, cặp (a, b) đầu tiên trong bảng biểu đồ được chọn theo các giá trị này Nếu giá trị của biểu đồ hist(a) và hist(b) bằng nhau, cặp này sẽ bị loại bỏ và quá trình sẽ tiếp tục với cặp tiếp theo Mỗi cặp (a, b) tương ứng với một bit (w) của thủy vân, với quy tắc rằng nếu hist(a) nhỏ hơn hist(b), thì w bằng 0, và nếu hist(a) lớn hơn hist(b), thì w bằng 1 Các cặp tiếp theo được chọn theo cùng phương pháp để trích xuất các bit (w) tiếp theo cho đến khi hoàn tất quá trình trích xuất thủy vân.
Quá trình trích lọc bao gồm 32 bước để chọn các cặp (a, b) giống nhau, được xác định trong quá trình nhúng Sự lựa chọn chính xác của các cặp tiếp theo tuân theo các quy tắc tương tự như các thuật toán nhúng Để quy trình trích lọc thủy vân thành công, các cặp được chọn phải giống hệt như các cặp đã được chọn trước đó trong quá trình nhúng.
3.2.4 Thuật toán khôi phục ảnh Để khôi phục lại hình ảnh đã thủy vân để trở thành hình ảnh ban đầu, cả hai khóa bí mật và khóa công khai là cần thiết Khóa bí mật là khóa mà đã được tạo ra trong quá trình nhúng.
Thuật toán khôi phục hình ảnh ban đầu bao gồm các bước sau: đầu tiên, tính toán các biểu đồ của hình ảnh được thủy vân Sau đó, xác định giá trị start và step cho các khóa công khai Tiếp theo, chọn cặp (a, b) đầu tiên từ bảng biểu đồ dựa trên start và step Nếu hist(a) và hist(b) bằng nhau, cặp này sẽ bị loại và thuật toán sẽ tiếp tục với cặp tiếp theo Đối với mỗi cặp (a, b) và từng bit (pk) của khóa bí mật, áp dụng quy tắc: nếu pk bằng 0, sắp xếp hist(a) và hist(b) theo thứ tự tăng dần; nếu pk bằng 1, sắp xếp theo thứ tự giảm dần Nếu các giá trị không tuân theo quy tắc, chúng sẽ được đổi chỗ, và khi hai giá trị được trao đổi, cường độ của các điểm ảnh tương ứng cũng sẽ được hoán đổi.
Các cặp (a, b) trong bảng biểu đồ được lựa chọn dựa trên start và step Thuật toán sẽ lặp lại các bước c và d cho đến khi tất cả các bit (pk) của khóa bí mật được kiểm tra Việc chọn cùng một cặp (a, b) như trong quá trình nhúng là rất quan trọng cho quá trình khôi phục Do đó, việc lựa chọn các cặp tiếp theo cần tuân theo các quy tắc tương tự như trong thuật toán nhúng.
Áp dụng một số phương pháp tấn công hình học để kiểm tra độ bền vững
Tập dữ liệu ảnh gồm các hình ảnh PNG:
Bảng 3.1 Các hình ảnh thử nghiệm
Lena.png Airplane png Perpper.png Tiffany png
Baboon png Beer png Sailboat png House png elaine.png
3.3.1 Đối với thuật toán nhúng thủy vân
Bảng 3.2 trình bày các hình ảnh trước và sau khi thực hiện thủy vân, bao gồm các hình ảnh như "anh_stego.png", "nhung_anh_stego.png", "lena.png", "nhung_lena.png", "airplane.png", "nhung_airplane.png", "peppers.png" và "nhung_peppers.png".
35 Ảnh trước khi giấu Ảnh sau khi giấu baboon Png nhung_baboon png beer png nhung_beer.png sailboat png nhung_ailboat.png elaine.png nhung_elaine.png
36 Ảnh trước khi giấu Ảnh sau khi giấu house.png nhung_house.png tiffany.png nhung_tiffany.png
Bảng 3.3 chỉ ra rằng PSNR của tất cả các ảnh đã được thủy vân đều đạt từ 44.863 dB trở lên, cho thấy chất lượng hình ảnh cao Số lượng bit có thể nhúng vào ảnh dao động từ 1 bit đến 128 bit, mang lại sự linh hoạt trong việc nhúng dữ liệu.
Bảng 3.3 Bảng tóm tắt kết quả thực nghiệm Ảnh vào Khóa công khai
The PSNR values for various images indicate the quality of the stego images created For example, the image "anh_stego.png" with a resolution of 10x10 has a PSNR of 12.1 dB, resulting in a message output of 63.3596 Similarly, "sailboat.png" and "beer.png," both at 512x512 resolution, also show a PSNR of 12.1 dB, with respective outputs of 57.6653 and 61.4083 The image "house.png" achieves a slightly higher PSNR of 12.5 dB, yielding an output of 48.700 Other images, including "lena.png," "airplane.png," "peppers.png," "elaine.png," and "tiffany.png," consistently maintain a PSNR of 12.1 dB, with outputs ranging from 63.4598 to 70.9269 In contrast, "baboon.png" exhibits a significantly lower PSNR of 5.9 dB, resulting in an output of 44.863.
3.3.2 Đối với thuật toán trích lọc thủy vân
Với tập ảnh đã được nhúng thông điệp ở trên ta tiến hành trích lọc thủy vân, kết quả thực nghiệm như sau:
Bảng 3.4 Kết quả tóm tắt kết quả thực nghiệm với ảnh chưa bị biến đổi Ảnh đã thủy vân Khóa công khai
The article features a collection of images with various themes, including sailboats, houses, and animals Each image is accompanied by copyright information, indicating ownership and protection of the content The visual elements highlight diverse subjects such as nature, transportation, and wildlife, showcasing creativity and artistic expression The inclusion of copyright details emphasizes the importance of intellectual property rights in the digital age.
Dựa vào Bảng 3.4, chúng ta thấy rằng khi ảnh chưa bị tấn công, các thủy vân được trích xuất chính xác Tuy nhiên, câu hỏi đặt ra là liệu các thủy vân có còn được lấy ra chính xác khi ảnh đã bị tấn công Để kiểm tra điều này, chúng tôi đã thực hiện các cuộc tấn công vào ba ảnh đã nhúng thủy vân: nhung_house.png, nhung_lena.png và nhung_baboon.png, và kết quả trích xuất thủy vân được thể hiện trong các Bảng 3.5, 3.6 và 3.7.
Khi quan sát các bảng kết quả thực nghiệm(bảng 3.5, bảng 3.6 và bảng 3.7) trên ta thấy: thủy vân được lấy ra chính xác khi chịu các biến đổi xoay 90 0 , 180 0,
Các biến đổi như 270 độ không làm thay đổi bảng biểu đồ, trong khi các biến đổi khác như xoay 15 độ, 30 độ, 45 độ,… sẽ khiến thủy vân không còn chính xác do bảng biểu đồ đã bị thay đổi.
+ Ảnh nhung_lena.png với thông điệp là”Copy right”:
Bảng 3.5 Kết quả thứ nghiệm khi ảnh nhung_lena.png bị tấn công
+ Nhung_house.png với thông điệp là”thuy van”:
Bảng 3.6 Kết quả thử nghiệm khi ảnh nhung_house_png bị tấn công
+ nhung_baboon.png với thông điệp là “thanh”:
Bảng 3.7 Kết quả thứ nghiệm khi ảnh nhung_baboon.png bị tấn công
3.3.3 Đối với thuật toán khôi phục ảnh gốc Để khôi phục được ảnh ban đầu, ta chỉ cần ảnh đã thủy vân kèm theo hai khóa bí mật và công khai Để đánh giá được ảnh khôi phục ta so sánh hai ma trận của ảnh khôi phục và ảnh gốc ban đầu Ta tiến hành thử nghiệm với ảnh gốc là anh_stego.png, ảnh khôi phục là kp_anh_stego.png Kết quả thực nghiệm như sau:
Bảng 3.8 kết quả thực nghiệm khôi phục ảnh anh_stego.png Kp_anh_stego.png
Phương pháp xác thực bằng kĩ thuật RWBH
Trong một tình huống giả định, đối tượng A muốn gửi một bức ảnh cho đối tượng B Tuy nhiên, trong quá trình truyền tải, dữ liệu ảnh có thể bị can thiệp hoặc giả mạo bởi các đối tượng xấu Để đảm bảo tính xác thực của dữ liệu ảnh, chúng ta sẽ áp dụng kỹ thuật RWBH trong phần tiếp theo.
3.4.1 phương pháp xác thực toàn vẹn dữ liệu bằng kĩ thuật RWBH
Khi truyền tải dữ liệu ảnh, để đảm bảo tính toàn vẹn, A và B cần thỏa thuận về thông điệp Y sẽ được nhúng vào ảnh A sẽ nhúng thông điệp Y vào toàn bộ ảnh X, tạo ra ảnh X’ và gửi cho B kèm theo cặp (X’, Y).
Khi nhận được ảnh X’, B sẽ tách thông điệp từ ảnh này, gọi là Z Sau đó, B so sánh Z với thông điệp Y Nếu Z trùng khớp với Y, điều đó chứng tỏ ảnh không bị xuyên tạc; nếu không, ảnh đã bị thay đổi.
A gửi cho B bức ảnh “lena.png” đã được nhúng thông điệp “tai lieu” mà hai bên đã thỏa thuận B sẽ tách thông điệp từ bức ảnh và so sánh với thông điệp đã được xác nhận trước đó.
Hình 3.2 ảnh lena.png trước và sau khi nhúng
41 Ở đây có hai trường hợp xảy ra:
Trong trường hợp đầu tiên, khi truyền tải qua đường truyền, hình ảnh không bị ảnh hưởng bởi bất kỳ cuộc tấn công hình học nào Kết quả thu được từ việc lấy và so sánh thông điệp theo chương trình thực hiện trong hình 3.3 cho thấy sự ổn định và chính xác của dữ liệu truyền.
Hình 3.3 kết quả khi ảnh không phải chịu tấn công hình học
Trong trường hợp thứ hai, khi hình ảnh được truyền qua đường truyền, nó có thể bị ảnh hưởng bởi một số cuộc tấn công hình học Cụ thể, nếu hình ảnh bị xoay một góc 30 độ (như thể hiện trong Hình 3.4), thì B sẽ tiến hành tách thông điệp và so sánh, với kết quả được trình bày trong Hình 3.5.
Hình 3.4 Ảnh nhúng thông điệp bị xoay 30 0
Hình 3.5 kết quả khi ảnh bị tấn công
Như vậy với kĩ thuật thủy vân thuận nghịch ta có thể áp dụng vào việc xác thực tính toàn vẹn dữ liệu ảnh
3.4.2 phương pháp xác thực nguồn gốc dữ liệu bằng kĩ thuật RWBH
A và B muốn gửi dữ liệu cho nhau và đã thỏa thuận về cách xác thực nguồn gốc dữ liệu ảnh bằng cách A nhúng một xâu ký tự vào ảnh Để xác thực nguồn gốc dữ liệu ảnh, A và B sẽ thực hiện các bước cụ thể.
Trước tiên khi A muốn gửi cho B một ảnh, A sẽ tiến hành nhúng xâu kí tự (mà A đã thỏa thuận với B) lên ảnh muốn gửi
Khi nhận được ảnh, B sẽ tiến hành tách xâu kí tự trên ảnh và so sánh với xâu kí tự của A mà hai bên đã thỏa thuận với nhau
Nếu hai xâu kí tự là giống nhau thì ảnh đúng là nguồn gốc của A, nếu ngược lại thì ảnh không phải do A gửi
Ví dụ 2: A tiến hành nhúng xâu kí tự: “CT1001_HPU” trên ảnh “baboon.png” (Hình 3.8) rồi gửi cho B Khi nhận được, B tiến hành tách xâu kí tự trên ảnh
“baboon.png” mà A đã gửi
Hình 3.6 Ảnh sau khi A nhúng xâu kí tự
Sau khi tách xâu kí tự Z, B sẽ tiến hành so sánh Z với chuỗi "CT1001_HPU" Nếu hai giá trị này giống nhau, B sẽ kết luận rằng bức ảnh là do A gửi Ngược lại, nếu không giống, B sẽ xác định rằng bức ảnh không phải do A gửi.
Trường hợp 1 : Ảnh không bị mạo danh, kết qủa (Hình3.7)
Trường hợp 2 : Ảnh bị mạo danh, hoặc bị tấn công bởi các phép biến đổi hình học (Hình 3.8), và kết quả sau khi tách và so sánh(Hình 3.9)
Hình 3.7 Kết quả khi ảnh không bị tấn công
Hình 3.8 Ảnh nhúng chữ kí bị làm méo
Hình 3.9 kết quả sau khi tách và so sánh ảnh bị tấn công
Tổng kết chương
Chương 3 đã giới thiệu một kĩ thuật thủy vân là kĩ thuật RWBH Kĩ thuật đó đã được áp dụng vào phương pháp xác thực tính toàn vẹn và xác thực nguồn gốc dữ liệu Từ thuật toán của kĩ thuật thủy vân thuận nghịch và các kết quả thực nghiệm, ta có thể rút ra một số nhận xét sau:
Tính bền vững của thủy vân phụ thuộc vào khoảng cách trong quá trình nhúng; khoảng cách giữa các cặp bảng biểu đồ càng lớn, thủy vân càng bền vững Tuy nhiên, việc tăng khoảng cách có thể làm giảm khả năng giấu ảnh Điều này có thể được cải thiện nếu các thuật toán nhúng cho phép thực hiện nhiều lần qua các giá trị biểu đồ, miễn là các cặp (a, b) được giữ nguyên.
Thuật toán thủy vân có thể áp dụng cho hình ảnh màu RGB, cho phép nhúng ba lần để nâng cao tính bền vững của thủy vân.
Chương trình này có dung lượng tối đa 128 bit, nhưng có thể mở rộng lên 384 bit khi sử dụng ba thành phần màu sắc Mặc dù có những lợi thế, chương trình chỉ phù hợp với hình ảnh nhỏ (tối thiểu 16 x 16) và dung lượng sẽ giảm Nó có khả năng cung cấp tới 2.304 khóa công khai khác nhau.
Có 45 giá trị khác nhau cho biến start và 9 giá trị khác nhau cho biến step, tạo ra tổng cộng 256 tổ hợp cho hình ảnh màu xám Đối với hình ảnh màu sắc, có tới 12.230.590.464 khóa công khai khác nhau, tương ứng với 2304^3.
CÀI ĐẶT CHƯƠNG TRÌNH
Môi trường cài đặt
Để cài đặt chương trình trên môi trường Matlab 7.5.0.342, yêu cầu cấu hình máy tính tối thiểu bao gồm hệ điều hành Windows XP hoặc các hệ điều hành tương tự, chip PIII 500 trở lên, RAM tối thiểu 128 MB và ổ cứng còn trống ít nhất 400 MB.
Giao diện và các chức năng của chương trình
Chương trình gồm những chức năng sau:
Hình 4.1 Giao diện chính của chương trình
- Nhập tên ảnh tiền hành nhúng thủy vân
- Nhập tên ảnh sau khi đã nhúng thông điệp
- Nhấn nút thực hiện để bắt đầu công việc nhúng
Hình 4.2.a Giao diện chức năng thực hiện nhúng
+ Để tiến hành nhúng với các ảnh khác ta nhấn vào nút “Lam moi” để bắt đầu
Hình 4.2.b Giao diện chức năng làm mới
- Nhập tên ảnh đã được nhúng thủy vân
- Nhập độ dài của thông điệp.
- Nhấn nút thực hiện để bắt đầu Lấy.
Hình 4.3.a Giao diện chức năng lấy thông điệp đã nhúng
+ Để tiến hành lấy thông điệp từ các ảnh khác ta nhấn vào nút “Lam moi” để bắt đầu
Hình 4.3.b Giao diện chức năng làm mới
- Nhập tên ảnh đã được nhúng thủy vân.
Hình 4.4.a Giao diện chúc năng tính PSNR
+ Để tiến hành tính PSNR của các cặp ảnh khác nhấn vào nút “Lam moi” để bắt đầu
Hình 4.4.b Giao diện chúc năng làm mới để tính PSNR của ảnh khác
+ Quá trình khôi phục ảnh:
- Nhập tên ảnh đã được thủy vân
- Nhập tên ảnh sau khi phục hồi
Hình 4.5 a Giao diện chức năng khôi phục ảnh gốc
+ Để tiến hành khôi phục ảnh khác nhấn vào nút “Lam moi” để bắt đầu
Hình 4.5.b Giao diện chức năng làm mới để khôi phục ảnh gốc khác