ẢNH SỐ VÀ CÁC CẤU TRÚC FILE ẢNH

Một phần của tài liệu Nghiên cứu phương pháp bảo vệ bản quyền tài liệu số hóa (Trang 42)

2.2.1 Mầu sắc và các mô hình mầu

Một số phƣơng pháp giấu tin trong ảnh nhằm tới việc là đánh lừa thị giác con ngƣời. Mầu của các đối tƣợng phụ thuộc vào bản thân đổi tƣợng, vào nguồn ánh sáng và mầu của môi trƣờng xung quanh và vào sự cảm nhận của thị giác.

Mắt ngƣời cảm nhận ánh sáng mầu tốt hơn đen trắng. Về mặt vật lý, ánh sáng đƣợc nghiên cứu theo bƣớc sóng và cƣờng độ. Trong lĩnh vực đồ hoạ và xử lý ảnh, ngƣời ta nghiên cứu mầu theo các yếu tố:

· Hue: sắc mầu để phân biệt giữa các mầu, ví dụ mầu đỏ, xanh, nâu · Saturation: độ bão hoà để đo sự pha trộn với ánh sáng trắng · Lightness: độ sáng thể hiện qua cƣờng độ ánh sáng

Để biểu diễn mầu trong máy tính hay các thiết bị phần cứng khác ngƣời ta dùng mô hình mầu. Mô hình mầu nhƣ một hệ toạ độ không gian, trong đó mỗi điểm trong hệ toạ độ ứng với một mầu. Một mầu khi biểu diễn thƣờng là tổ hợp của ba mầu đỏ (r), lục (g) và lam (b).

Sở dĩ ngƣời ta chọn ba mầu chứ không phải hai hay bốn, và chọn ba mầu này chứ không phải mầu khác vỡ dựa vào độ cảm nhận của mắt ngƣời. Mắt ngƣời cảm nhận mầu sắc thông qua các tế bào võng mô hình nón. Ba mầu đỏ, lục, lam là ba mầu mà mắt ngƣời cảm nhận dễ nhất, có độ dài bƣớc sóng lần lƣợt là 560, 530, 430 nm.

Hình 2.4: Độ dài bƣớc sóng của ba mầu đỏ, lục và lam

2.2.1.1 Mô hình mầu RGB

Hệ mầu này đƣợc sử dụng cho màn hình và đồ hoạ mành sử dụng hệ toạ độ đề-các. Mỗi mầu trong khối đƣợc xác định theo ba thành phần mầu RGB. Mầu trắng có thành phần mầu là (1,1,1), mầu đỏ là (1,0,0),..

Không gian RGB là chuẩn công nhiệp cho các thao tác đồ hoạ máy tính. Các thao tác mầu sắc có thể đƣợc tính toán trên các không gian mầu khác nhau nhƣng cuối cùng phải chuyển về RGB để biểu diễn trên màn hình. Ngƣợc lại có thể chuyển đổi qua lại giữa RGB với các không gian mầu khác.

Hình 2.5: Mô hình mầu RGB

2.2.1.2 Mô hình mầu CMY

C là viết tắt của Cyan (lục lơ), M là Magenta (đỏ tƣơi) và Y cho Yellow (vàng). ba mầu này là phần bù tƣơng xứng của các mầu đỏ, lục và lam. Các mầu của hệ mầu CMY đƣợc xác định bằng cách loại bỏ mầu nào đó từ ánh sáng trắng chứ không phải thêm vào các mầu tối.

Hình 2.6: Mô hình mầu CMY

Hệ mầu CMY hay đƣợc dùng cho các thiết bị in mầu. Để chuyển một mầu từ hệ CMY sang RGB hay ngƣợc

lại ta sử dụng công thức:                                 B G R Y M C 1 1 1

2.2.1.3 Mô hình mầu HSV

HSV là viết tắt của Hue, Saturation, Value. Ngƣời ta cũn gọi đây là mô hình mầu HSB, với B là Brightness (độ sáng). Thực chất đây cũng chỉ là một biến thể của mô hình RGB. Thƣờng dùng mô hình này để định hƣớng cho ngƣời sử dụng.

Hình 2.7: Mô hình mầu HSV

2.2.2 Một số loại ảnh.

2.2.2.1 Ảnh GIF

GIF (Graphics Interchange Format) đƣợc Compute đề xuất lần đầu vào năm 1990. Ảnh GIF sử dụng phƣơng pháp nén trên nhóm điểm lặp lại (Lempel-Ziv-Welch). Dạng ảnh này cho chất lƣợng cao.

Định dạng ảnh GIF: · Chữ ký ảnh (GIF note)

· Bộ mô tả hiển thị (GIF header) dài 7 byte · Bảng mầu tổng thể (Global Palette)

· Mô tả một đối tƣợng của ảnh (ảnh gif có thể chứa nhiều ảnh con, ví dụ gif động)

o Bảng mầu của ảnh con 1

o Dữ liệu ảnh

Phần này lặp lại n lần nếu có n ảnh con · Phần đuôi ảnh (GIF Terminator)

Hình 2.8: Cấu trúc ảnh Gif

2.2.2.2 Ảnh BMP (bitmap)

Ảnh Bitmap do Microsoft phát triển, do vậy còn đƣợc gọi là (adsbygoogle = window.adsbygoogle || []).push({});

Microsoft Windows Bitmap (BMP, DIB, Windows BMP, Windows DIB, Compatible Bitmap) đƣợc lƣu trữ độc lập với thiết bị hiển thị (DIB). Ảnh này đƣợc sử dụng rộng rãi trên Windows. Có thể có 1-, 4-, 8-, 16-, 24-, hay 32-bit mầu. Ảnh này thƣờng sử dụng phƣơng pháp mã hoá loạt dài RLE. Kích thƣớc tối đa là 32Kx32K và 2Gx2G pixel. Ảnh bitmap không cho phép chứa nhiều ảnh trong một tệp.

Cấu tạo của ảnh bitmap gồm các phần 1. Header

2. Palette 3. Bitmap Data 4. Footer

Để đọc và xử lý ảnh Bitmap ngƣời ta cần nắm đƣợc các cấu trúc của ảnh đƣợc lƣu trong phần Header. Ví dụ Header của Microsoft Windows Bitmap Version 1.x có cấu trúc nhƣ sau: · Header · Palette · Bitmap Index · Palette 1 · File Identifier · File Version

· Number of Lines per Image · Number of Pixels per Line · Number of Bits per Pixel · Number of Color Planes · Compression Type · X Origin of Image · Y Origin of Image · Text Description · Unused Space

Ảnh Bitmap Microsoft Windows 1.x có phần Header gồm 10-byte :

TYPEDEF struct _Win1xHeader {

WORD Type; /* File type identifier (always 0) */ WORD Width; /* Width of the bitmap in pixels */

WORD Height; /* Height of the bitmap in scan lines */ WORD ByteWidth; /* Width of bitmap in bytes */

BYTE Planes; /* Number of color planes */

BYTE BitsPerPixel; /* Number of bits per pixel */ } WIN1XHEADER;

Dữ liệu ảnh Bitmap đƣợc ghi vào tệp theo 2 cách:

· Quét từng dòng theo trật tự điểm ảnh nhƣ chúng đƣợc hiển thị trên thiết bị · Theo từng mặt phẳng mầu (plane)

2.2.2.3 Ảnh JPEG

JPEG File Interchange Format (JFIF, JFI, JPG, JPEG) cũng là ảnh Bitmap, có mầu đến 24-bit. Nén theo phƣơng pháp JPEG. Kích thƣớc tối đa là 64Kx64K pixel. Loại này cũng không cho phép chứa nhiều ảnh trong một tệp.

Chƣơng 3: MỘT SỐ PHƢƠNG PHÁP BẢO VỆ BẢN QUYỀN TÀI LIỆU SỐ.

Bài toán bảo vệ bản quyền tại liệu số theo một nghĩa rộng nó là sự kết hợp của nhiều phƣơng pháp “bảo vệ” khác nhau. Ở đây luận văn trình bầy các phƣơng pháp tổng quát và cần thiết cho việc “bảo vệ” tài nguyên số nói chung. Tuy nhiên trong từng kỹ thuật cụ thể có thể sử dụng một hay nhiều phƣơng pháp kết hợp nhằm bảo vệ tài liệu số của chủ thể hợp pháp.

3

3.1 PHƢƠNG PHÁP BẢO MẬT.

Theo một nghĩa nào đó việc bảo mật thông tin số trƣớc những ngƣời không đƣợc phép cũng là bảo vệ tài liệu số đó. Vì vậy, trong phƣơng pháp này chúng ta có thể sử dụng mã hóa hoặc nén bảo toàn dữ liệu.

Giả sử 2 thực thể cần trao đổi một hay nhiều tài liệu số trên mạng có thể sử dụng mã hóa khóa công khai, mã hóa khóa đối xứng hay nén bảo toàn có mật khẩu.

An toàn đƣợc chứng minh: một hệ thống mật mã đƣợc xem là có độ an toàn đƣợc chứng minh nếu ta có thể chứng minh đƣợc là bài toán thám mã đối với hệ thống đó khó tƣơng đƣơng với một bài toán khó đã biết, thí dụ bài toán phân tích một số nguyên thành tích các thừa số nguyên tố, bài toán tìm lôgarit rời rạc theo một môđuyn nguyên tố, v.v... (khó tương đương có nghĩa là nếu bài toán này giải được thì bài toán kia cũng giải được với cùng một độ phức tạp như nhau). Tính an toàn đƣợc chứng minh thƣờng đƣợc sử dụng trong một số hệ mã hiện đại.

An toàn tính toán: hệ mật mã đƣợc xem là an toàn (về mặt) tính toán, nếu mọi phƣơng pháp thám mã đã biết đều đòi hỏi một nguồn năng lực tính toán vƣợt mọi khả năng (kể cả phương tiện thiết bị) tính toán của một kẻ thù giả định. An toàn theo nghĩa này, nói theo ngôn ngữ của lý thuyết về độ phức tạp tính toán, là bao hàm cả khái niệm an toàn theo nghia "đƣợc chứng minh" nói trên. Hầu hết các hệ mã hiện nay đều lấy tiêu chí an toàn về mặt tính toán..

3.2 PHƢƠNG PHÁP XÁC THỰC.

3.2.1 Xác thực đồng nhất (toàn vẹn dữ liệu).

Các dữ liệu, đoạn tin hoặc một tài liệu đƣợc xác thực đồng nhất (toàn vẹn dữ liệu) khi mà chúng hoàn toàn đúng với nguyên xuất xứ và đến từ nguồn gốc đƣợc thừa nhận. Tình huống đặt ra nhƣ sau:

Một đoạn tin đƣợc truyền từ A sang B qua một mạng truyền tin. A và B có thể là những con ngƣời cụ thể hoặc các nút mạng. Mong muốn B nhận đƣợc đoạn tin đích xác là của A gửi, nó không bị làm thay đổi nội dung trong quá trình truyền từ A sang B, hoặc nói một cách khác nó đích thƣc là đoạn tin A gửi cho B.

Toàn vẹn dữ liệu đối với các lỗi ngẫu nhiên trong truyền dữ liệu: Trong tất cả các hệ thống truyền tin, các bên nhận có yêu cầu là đảm bảo các đoạn tin nhận đƣợc không bị sai hoặc lỗi kể cả vô tình hoặc cố ý. Các lỗi ngẫu nhiên của một đoạn tin truyền trên kênh có thể đƣợc phát hiện và sửa lỗi bằng cách yêu cầu truyền lại hoặc bằng cách áp dụng mã sửa lỗi. Trong kỹ thuật truyền tin có rất nhiều dạng mã sửa lỗi khác nhau. Tùy thuộc vào dạng mã lỗi xuất hiện mà có thể chọn ứng dụng mã sửa lỗi thích hợp. Một loại mã sửa lỗi thƣờng đƣợc ứng dụng phổ biến để phát hiện và sửa lỗi theo phƣơng pháp kiểm tra độ dư vòng, CRC-Cyclic Redundancy Check. Mã hoạt động theo phƣơng thức xử lý các dãy nhị phân nhƣ các đa thức và “chia” khối dữ liệu truyền cho một đa thức cố định trƣớc đƣợc gọi là đa thức sinh. Số dƣ của phép tính đại số đa thức đồng dƣ đó đƣợc sử dụng nhƣ một trƣờng kiểm tra. Ở bên thu, cũng sử dụng phép chia đa thức đồng dƣ đó và số dƣ nhận đƣợc của phép toán đƣợc đem so sánh với trƣờng kiểm tra nhận đƣợc. Nếu nhƣ hai giá trị đó bằng nhau thì lỗi truyền sẽ đƣợc bỏ qua. Hiện nay các hệ thống truyền tin thƣờng sử dụng đa thức sinh

P(x) = x16+x12+x5+1.

Bảo toàn dữ liệu sử dụng hàm băm và mã hóa khóa công khai: nhƣ đã xem xét ở trên, hàm băm cho ta một chuỗi bit có chiều dài cố định đối với mọi dữ liệu đầu vào (adsbygoogle = window.adsbygoogle || []).push({});

có độ dài tùy ý (hữu hạn). Kết quả của hàm băm đƣợc hiểu là giá trị đại diện cho văn bản gốc. Vì vậy, việc đại diện văn bản không bị thay đổi cũng đồng nghĩa với việc bản thân văn bản không bị thay đổi. Từ đây ta có một giao thức cho phép xác thực đồng nhất giữa tài liệu bên gửi và tài liệu bên nhận.

Giả sử A gửi cho B tài liệu x, B cần xác thực tài liệu nhận đƣợc x là đồng nhất với tài liệu x gốc của A. Có nghĩa là x không bị thay đổi trên đƣờng truyền. Khi đó A và B thực hiện giao thức sau:

Giao thức Xác thực đồng nhất sử dụng hàm băm và mã hóa khóa công khai

1. A và B thống nhất 1 hàm băm h

2. A lấy đại diện văn bản : z = h(x)

3. A dùng khóa riêng (bí mật) của mình để mã hóa đại diện z : y= ' ( )

A

k

e z

4. A gửi cho B gói tin (x, y)

5. Khi B nhận đƣợc gói tin (x, y) thực hiện 2 việc : lấy ra đại diện

z1= ''( )

A

k

d y , đồng thời tính z2=h(x). Nếu z1=z2 thì văn bản đƣợc xác thực đồng nhất với văn bản x gốc của A (nghĩa là văn bản x không bị thay đổi trên đường truyền)

Trong giao thức trên ta chỉ quan tâm tới tính toàn vẹn của nội dung văn bản, mà không quan tâm đến việc giữ bí mật nội dung của nó. Giao thức đƣợc mô tả trong hình vẽ sau :

x ' ( ) A k ye z ( ) zh x '' 1 ( ) A k zd y 2 ( ) zh x y x z1=z2? Xác thực đồng nhất Bên A Bên B Hình 3.1: Xác thực đồng nhất.

Trong giao thức trên có sử dụng mã hóa khóa công khai cho việc bảo vệ nội dung của văn bản đại diện. Trong giao thức sử dụng một hệ mã hóa khóa công khai bất kỳ có tính chất đối xứng về khóa. Văn bản đại diện là một chuỗi bits rất ngắn nên việc mã hóa nó không mất nhiều thời gian.

3.2.2 Xác thực thực thể.

Xác thực thực thể là việc chứng minh từ xa bằng phƣơng tiện điện tử, sự tồn tại chính xác và hợp lệ danh tính của một chủ thể khi tham gia trao đổi thông tin điện tử nhƣ: các nhân, tổ chức, dịch vụ,... hoặc một lớp thông tin nào đó mà không cần biết các thông tin đó cụ thể nhƣ thế nào, thông qua thông tin đặc trƣng đại diện cho chủ thể đó mà vẫn đảm bảo đƣợc bí mật của chủ thể, hoặc lớp thông tin cần chứng minh.

Mục đích của việc xác thực thực thể: chống giả mạo, chống chối bỏ, đảm bảo tính toàn vẹn, tính bí mật, tính xác thực của thông tin và mục đích cuối cùng là hoàn thiện các giải pháp an toàn thông tin.

Có 3 cách thức xác thực thực thể:  Sử dụng mật khẩu

 Sử dụng giao thức “xƣng danh”.  Sử dụng chứng chỉ số.

a. Xác thực bằng việc sử dụng mật khẩu:

Xác thực bằng mật khẩu là một kỹ thuật đƣợc dùng phổ biến trong hầu hết các hệ thống đăng nhập từ xa. Ý tƣởng chính là mỗi thực thể sẽ chọn cho mình một mật khẩu, và đăng ký với hệ thống đồng thời giữ bí mật mật khẩu đó. Mỗi lần đăng nhập hệ thống, ngƣời dùng sẽ khai báo mật khẩu và gửi cho hệ thống, hệ thống sẽ kiểm tra và so sánh mật khẩu nhận đƣợc và mật khẩu trong cơ sở dữ liệu (CSDL), nếu có trong CSDL thì cho phép đăng nhập, ngƣợc lại sẽ từ chối.

Nhƣ ta đã biết, giao thức TCP/IP cho mạng Internet, không cung cấp bất kỳ cơ chế bảo mật nào cho thông tin truyền qua mạng. Mọi thông tin truyền qua mạng đều có thể đƣợc xem bởi bất kỳ ai, và do đó tính bảo mật, riêng tƣ không còn. Mật khẩu có thể bị lấy trộm, xem trộm trên đƣờng truyền bởi một kẻ xấu. Điều này hết sức nguy hại.

Các nhà cung cấp đã hƣớng tới vấn đề sử dụng các hệ mật mã, sơ đồ ký số để đảm bảo tính bí mật, tính xác thực cho mật khẩu. Tuy nhiên, nhƣ đã biết, việc mã hóa và ký số đều mã mã hóa trên từng bit của thông tin, tốc độ mã hóa tỷ lệ thuận với kích thƣớc thông tin. Hơn nữa, sau khi mã hóa, dung lƣợng của bản mã có thể gấp đôi dung lƣợng thông điệp ban đầu, thời gian truyền tin cũng tỷ lệ thuận với dung lƣợng thông tin truyền qua mạng.

Do đó hàm băm đƣợc sử dụng nhằm giảm bớt dung lƣợng cũng nhƣ giảm thời gian truyền tin.

Hình 3.2: Xác thực thực thể sử dụng mật khẩu.

Ngƣời dùng muốn truy nhập vào hòm thƣ của mình, họ gõ tên tài khoản và mật khẩu, sau đó tên tài khoản và mật khẩu đƣợc băm bằng một thuật toán băm nào đó, để thu đƣợc một văn bản đại diện – bản tóm lƣợc của thông tin tài khoản và mật khẩu, có kích thƣớc cố định (128 hoặc 160 bit). Bản đại diện này đƣợc gửi cho nhà cung cấp qua mạng. (adsbygoogle = window.adsbygoogle || []).push({});

Tại phía nhà cung cấp, họ có một cơ sở dữ liệu lƣu trữ thông tin về tài khoản và mật khẩu của ngƣời dùng là các giá trị băm – bản đại diện cho thông tin đó. Khi nhà cung cấp nhận đƣợc thông tin từ phía ngƣời dùng, họ sẽ kiểm tra thông tin bằng cách so sánh với cơ sở dữ liệu lƣu trữ thông tin về ngƣời dùng. Nếu thông tin đúng, họ sẽ cấp quyền truy nhập, ngƣợc lại thì không cấp quyền.

Theo tính chất của hàm băm, với mỗi thông điệp đầu vào chỉ cho ra duy nhất một giá trị băm đầu ra, hai bản thông điệp khác nhau cho ra hai giá trị băm khác nhau. Do đó mỗi giá trị băm là duy nhất trong cơ sở dữ liệu của nhà cung cấp. Giá trị băm đƣợc coi là khóa định danh để phân biệt các ngƣời dùng khác nhau, hay các thông tin về tài khoản và mật khẩu khác nhau.

b. Xác thực bằng việc sử dụng giao thức “xưng danh”:

Mục tiêu an toàn của việc xƣng danh là bảo đảm sao cho khi “nghe” một chủ thể A xƣng danh với một chủ thể B, bất kỳ một ai khác A cũng không thể sau đó

Một phần của tài liệu Nghiên cứu phương pháp bảo vệ bản quyền tài liệu số hóa (Trang 42)