Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
510,08 KB
Nội dung
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN oOo GVHD: PGS.TSKH Đỗ Văn Nhơn HV: Trương Hoài Phong Mã số: CH1301048 TÌM HIỂU GIẤU TIN TRONG ẢNH VÀ ỨNG DỤNG GIẤU TIN TRONG ẢNH BITMAP TP. HỒ CHÍ MINH, NĂM 2014 MỤC LỤC CHƯƠNG 1 : MỞ ĐẦU 1.1Giới thiệu: Ngày nay, cùng với sự phát triển mạnh mẽ của ngành khoa học công nghệ thông tin, internet đã trở thành một nhu cầu, phương tiện không thể thiếu đối với mọi người, việc truyền tin qua mạng ngày càng lớn. Tuy nhiên, với lượng thông tin được truyền qua mạng nhiều hơn thì nguy cơ dữ liệu bị truy cập trái phép cũng tăng lên vì vậy vấn đề bảo đảm an toàn và bảo mật thông tin cho dữ liệu truyền trên mạng là rất cần thiết. Để đảm bảo an toàn và bí mật cho một thông điệp truyền đi người ta thường dùng phương pháp truyền thống là mã hóa thông điệp theo một qui tắc nào đó đã được thỏa thuận trước giữa người gửi và người nhận. Tuy nhiên, phương thức này thường gây sự chú ý của đối phương về tầm quan trọng của thông điệp. Thời gian gần đây đã xuất hiện một cách tiếp cận mới để truyền các thông điệp bí mật, đó là giấu các thông tin quan trọng trong những bức ảnh thông thường. Nhìn bề ngoài các bức ảnh có chứa thông tin cũng không có gì khác với các bức ảnh khác nên hạn chế được tầm kiểm soát của đối phương. Mặt khác, dù các bức ảnh đó bị phát hiện ra là có chứa thông tin trong đó thì với các khóa có độ bảo mật cao thì việc tìm được nội dung của thông tin đó cũng rất khó có thể thực hiện được. Xét theo khía cạnh tổng quát thì giấu thông tin cũng là một hệ mã mật nhằm bảo đảm tính an toàn thông tin, nhưng phương pháp này ưu điểm là ở chỗ giảm được khả năng phát hiện được sự tồn tại của thông tin trong nguồn mang. Không giống như mã hóa thông tin là chống sự truy cập và sửa chữa một cách trái phép thông tin, mục tiêu của giấu thông tin là làm cho thông tin trộn lẫn với các điểm ảnh. Điều này sẽ đánh lừa được sự phát hiện của các tin tặc và do đó làm giảm khả năng bị giải mã. Kết hợp các kỹ thuật giấu tin với các kỹ thuật mã hóa ta có thể nâng cao độ an toàn cho việc truyền tin. 1.2An toàn thông tin là gì? Khi mà nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ về điện tử viễn thông và công nghệ thông tin không ngừng được phát triển để nâng cao chất 3 lượng cũng như lưu lượng truyền tin thì biện pháp bảo vệ thông tin ngày càng được đổi mới. An toàn, bảo mật thông tin là một chủ đề rộng lớn, có liên quan đến nhiều lĩnh vực khác nhau trong cuộc sống. Vậy, an toàn, bảo mật thông tin là gì? Đó là việc đảm bảo an toàn cho thông tin gửi cũng như thông tin nhận, giúp xác nhận đúng thông tin khi nhận và đảm bảo không bị tấn công hay thay đổi thông tin khi truyền đi. Các hệ thống an toàn là những hệ thống có những dịch vụ có khả năng chống lại những tai họa, lỗi và sự tác động không mong đợi, các thay đổi tác động đến độ an toàn của hệ thống là nhỏ nhất. Có ba đặc tính cơ bản của an toàn thông tin đó là tính bí mật, tính toàn vẹn và tính sẵn sàng phục vụ. Như vậy, ta có thể hiểu, an toàn thông tin là việc đảm bảo các thuộc tính này. Tuy nhiên, tùy vào mục đích sử dụng thông tin, mà người ta có thể chú trọng đến thuộc tính này hơn thuộc tính kia, hoặc tập trung đảm bảo thật tốt cho thuộc tính này mà không cần đảm bảo thuộc tính kia. Ví dụ, để công bố một văn bản nào đó thì người ta chú trọng đến việc làm sao để tài liệu này không bị sửa đổi, còn đảm bảo bí mật thì không cần thiết. 1.3Vai trò của an toàn thông tin: An toàn thông tin đang là vấn đề đang rất được quan tâm hiện nay, bởi xã hội phát triển không ngừng dẫn đến nhu cầu trao đổi thông tin không ngừng tăng lên, các thông tin đòi hỏi được đảm bảo an toàn ở mức tốt nhất có thể trước sự tấn công để đánh cắp, cũng như sửa đổi thông tin. Ví dụ như, muốn trao đổi tiền với ngân hàng phải sử dụng thẻ tín dụng và hệ thống mạng để thực hiện giao dịch, bây giờ giả sử giao dịch không an toàn, người dùng bị mất số tài khoản và mã PIN thì tác hại là rất lớn. Hay một ví dụ khác như khi truyền một thông tin tối mật từ chính phủ đến cơ quan chỉ huy quân sự, chẳng hạn thông tin này không được đảm bảo tốt, để xảy ra tình trạng thông tin lọt vào tay kẻ khác hoặc bị sửa đổi trước khi đến nơi nhận thì hậu quả cũng thật khôn lường. Công nghệ thông tin đang ngày càng phát triển chóng, đồng thời cũng gia tăng các nguy cơ xâm nhập thông tin dữ liệu vào các hệ thống thông tin. Với kẻ tấn công, tùy theo mục đích mà có những cách thức xâm nhập ngày càng tinh vi hơn, đòi hỏi yêu cầu bảo vệ cần được cải tiến và phải hiệu quả hơn. 4 Các công nghệ bảo mật mới cần được nghiên cứu và ứng dụng vào trong thực tế để kịp đáp ứng nhu cầu bảo vệ an toàn thông tin CHƯƠNG 2: TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH VÀ CÁC KỸ THUẬT GIẤU TIN TRONG ẢNH 2.1Giấu tin như thế nào? Cùng với sự phát triển của Internet và các phương tiện multimedia, nhiều vấn đề như: ăn cắp bản quyền, xuyên tạc thông tin, truy cập thông tin trái phép… cũng tăng theo, đòi hỏi phải tìm ra các giải pháp mới, hữu hiệu cho an toàn và bảo mật thông tin. Một trong các giải pháp nhiều triển vọng là giấu tin(Data Hiding), đã và đang được nghiên cứu và ứng dụng. Giấu thông tin là kỹ thuật nhúng(embedding) một lượng thông tin số nào đó vào trong một đối tượng dữ liệu số khác. Sự khác biệt giữa mã hóa thông tin và giấu thông tin là mã hóa làm cho các thông tin hiện rõ là nó có được mã hóa hay không, còn với giấu thông tin thì sẽ khó phát hiện ra được rằng có thông tin giấu bên trong. Yêu cầu cơ bản của việc giấu tin là đảm bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu gốc. Hiện tại thì giấu tin chia làm hai hướng lớn, đó là watermark(thủyvân), và steganography. Phương pháp thủy vân quan tâm đến ứng dụng giấu các mẩu tin ngắn nhưng đòi hỏi độ bền vững lớn của thông tin cần giấu trước các biến đổi thông th ường của tệp dữ liệu môi trường. Trong khi đó, phương pháp Steganography quan tâm tới ứng dụng che giấu các bản tin đòi hỏi độ bí mật và dung lượng càng lớn càng tốt. Mục đích của giấu tin có hai khía cạnh chính: Bảo mật cho dữ liệu đem giấu(embedded data), chẳng hạn như giấu thông tin mật trong một đối tượng nào đó sao cho người khác không phát hiện được. Đảm an toàn bảo mật cho chính đối tượng được dùng để giấu dữ liệu vào(host data) Kỹ thuật giấu tin đã được nghiên cứu và áp dụng trong nhiều môi trường dữ liệu khác nhau như trong dữ liệu đa phương tiện (text, image, audio, video), trong các sản 5 phẩm phần mềm, và gần đây là trong cơ sở dữ liệu quan hệ, trong đó thì dữ liệu đa phương tiện chiếm tỉ lệ chủ yếu trong kỹ thuật giấu tin. 2.2Lịch sử của phương pháp giấu tin như thế nào? Trong một quá trình phát triển lâu dài, nhiều phương pháp bảo vệ thông tin đã được đưa ra trong đó giải pháp dùng mật mã học là giải pháp được ứng dụng rộng rãi nhất. Các hệ mã mật đã được phát triển nhanh chóng và được ứng dụng rất phổ biến cho đến tận ngày nay. Thông tin ban đầu sẽ được mã hoá thành các ký hiệu vô nghĩa, sau đó sẽ được lấy lại thông qua việc giải mã nhờ khoá của hệ mã. Đã có rất nhiều những hệ mã phức tạp được sử dụng như DES, RSA, NAPSACK và phương pháp này đã được chứng minh thực tế là rất hiệu quả và được ứng dụng phổ biến. Nhưng ở đây ta không định nói về các hệ mã mật mà ta tìm hiểu về một phương pháp đã và đang được nghiên cứu và ứng dụng rất mạnh mẽ ở nhiều nước trên thế giới đó là phương pháp giấu tin (data hiding). Đây là phương pháp mới và phức tạp, nó đang được xem như một công nghệ chìa khoá cho vấn đề bảo vệ bản quyền, nhận thực thông tin và điều khiển truy cập … ứng dụng trong an toàn và bảo mật thông tin. Đầu tiên các câu chuyện kể về kĩ thuật giấu thông tin được truyền qua nhiều thế hệ, ý tưởng về che giấu thông tin đã có từ hàng nghìn năm về trước nhưng kĩ thuật này được dùng chủ yếu trong quân đội và trong các cơ quan tình báo. Mãi cho tới vài thập niên gần đây, giấu thông tin mới nhận được sự quan tâm của các nhà nghiên cứu và các viện công nghệ thông tin với rất nhiều công trình nghiên cứu. Cuộc cách mạng số hóa thông tin và sự phát triển nhanh chóng của mạng truyền thông là nguyên nhân chính dẫn đến sự thay đổi này. Những phiên bản sao chép hoàn hảo, các kĩ thuật thay thế, sửa đổi tinh vi cộng với sự lưu thông phân phối trên mạng của các dữ liệu đa phương tiện đã sinh ra rất nhiều những vấn đề nhức nhối về nạn ăn cắp bản quyền, phân phối bất hợp pháp, xuyên tạc trái phép…đây là lúc công nghệ giấu tin được chú ý và phát triển. Giấu thông tin là một kĩ thuật nhúng thông tin vào trong một nguồn đa phương tiện gọi là các phương tiện chứa mà không gây ra sự nhận biết về sự tồn tại của thông tin 6 giấu. Phương pháp giấu tin là làm cho người ta khó có thể biết được có thông tin giấu bên trong đó do tính chất ẩn của thông tin được giấu. 2.2.1 Mục đích của giấu tin Giấu tin có hai mục đích: • 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 hai mục đích này hoàn toàn trái ngược nhau và dần phát triển thành hai lĩnh vực với những yêu cầu và tính chất khác nhau. Hình: 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): với mục đích đảm bảo an toàn và bảo mật thông tin tập trung vào các kỹ thuật giấu tin để có thể giấu được 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 theo kiểu đánh giấu (watermarking) để bảo vệ bản quyền của đối tượng chứa thông tin tập trung đảm bảo một số các yêu cầu như đảm bảo tính bền vững… đây là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số. 2.2.2 Mô hình kỹ thuật giấu thông tin cơ bản Để thực hiện giấu tin cần xây dựng được các thủ tục giấu tin. Các thủ tục này sẽ thực hiện nhúng thông tin cần giấu vào môi trường giấu tin. Các thủ tục giấu tin thường được thực hiện với một khóa giống như các hệ mật mã để tăng tính bảo mật. Sau khi giấu tin ta thu được đối tượng chứa thông tin giấu và có thể phân phối đối tượng đó trên kênh 7 thông tin. Để giải mã thông tin cần nhận được đối tượng có chứa thông tin đã giấu, sử dụng thủ tục giải mã cùng với khóa đã dung trong quá trình giấu để lấy lại thông tin. Giấu thông tin vào phương tiện chứa và tách lấy thông tin là hai quá trình trái ngược nhau và có thể mô tả qua sơ đồ khối của hệ thống trong đó: • Thông tin cần giấu tuỳ theo mục đích của người sử dụng, nó có thể là thông điệp (với các tin bí mật) hay các logo, hình ảnh bản quyền. • Phương tiện chứa: các file ảnh, text, audio… là môi trường để nhúng tin • Bộ nhúng thông tin: là những chương trình thực hiện việc giấu tin • Đầu ra: là các phương tiện chứa đã có tin giấu trong đó Hình: Lược đồ chung cho quá trình giấu tin Tách thông tin từ các phương tiện chứa diễn ra theo quy trình ngược lại với đầu ra là các thông tin đã được giấu vào phương tiện chứa. Phương tiện chứa sau khi tách lấy thông tin có thể được sử dụng, quản lý theo những yêu cầu khác nhau. 8 Hình: Lược đồ chung cho quá trình giải mã Hình vẽ chỉ ra các công việc giải mã thông tin đã giấu. Sau khi nhận được đối tượng phương tiện chứa có giấu thông tin, quá trình giải mã được thực hiện thông qua một bộ giải mã tương ứng với bộ nhúng thông tin cùng với khoá của quá trình nhúng. Kết quả thu được gồm phương tiện chứa gốc và thông tin đã giấu. Bước tiếp theo thông tin đã giấu sẽ được xử lý kiểm định so sánh với thông tin ban đầu. 2.3Các định dạng ảnh thường được sử dụng để giấu tin: Cấu trúc ảnh nói chung gồm 3 phần chính: Header, dữ liệu, bảng màu. Tuy nhiên mỗi loại ảnh có những đặc trưng khác nhau, định dạnh một số loại ảnh cơ bản: 2.3.1 Định dạng ảnh IMG. Ảnh IMG là ảnh đen trắng. Phần đầu của ảnh IMG có 16 byte chứa các thông tin cần thiết: • 6 byte đầu: dùng để đánh dấu định dạng ảnh IMG. Giá trị của 6 byte này viết 0x0001 0x0008 0x0001. • 2 byte tiếp theo: chứa độ dài mẫu tin. Đó là độ dài của dãy các byte kề liền nhau mà dãy này sẽ được lặp lại một số lần nào đó. Số lần lặp này sẽ được lưu trữ trong byte đếm. Nhiều dãy giống nhau được lưu trong một byte. Đó là cách lưu trữ nén. • 4 byte tiếp: mô tả kích cỡ pixel. • 2 byte tiếp: số pixel trên một dòng ảnh. • 2 byte cuối: số dòng ảnh trong ảnh. 9 Ảnh IMG được nén theo từng dòng. Mỗi dòng bao gồm các gói (pack). Các dòng giống nhau cũng được nén thành một gói. 2.3.2 Định dạng ảnh PCX: Định dạng ảnh PCX là một trong những định dạng ảnh cổ điển nhất. Nó sử dụng phương pháp mã loạt dài RLE để nén dữ liệu ảnh. Quá trình nén và giải nén được thực hiện trên từng dòng ảnh. Thực tế, phương pháp giải nén PCX kém hiệu quả hơn so với kiểu IMG. Tệp PCX gồm 3 phần: đầu tệp (header), dữ liệu ảnh (image data) và bảng màu mở rộng. Cấu trúc tệp ảnh dạng PCX Hình: Cấu trúc ảnh PCX Header của tệp PCX có kích thước cố định gồm 128 byte và được phân bố như sau: • 1 byte: chỉ ra kiểu định dạng. Nếu là kiểu PCX/PCC nó có giá trị là 0Ah. • 1 byte: chỉ ra version sử dụng để nén ảnh, có thể có các giá trị sau: - 0: version 2.5. - 2: version 2.8 với bảng màu. - 3: version 2.8 hay 3.0 không có bảng màu. - 5: version 3.0 có bảng màu. • 1 byte: chỉ ra phương pháp mã hoá. Nếu là 0 thì mã hoá theo phương pháp BYTE PACKED, nếu không là phương pháp RLE. • 1 byte: số bit cho một điểm ảnh plane. 10 [...]... 1 bit thông tin Thuật toán này dùng cho cả ảnh đa mức xám, ảnh màuvà ảnh đen trắng nhưng để dễ trình bày thuật toán ta sẽ sử dụng ảnh đen trắng (nhị phân) 2.4.1.2 Thuật toán giấu tin Vào: - Một file ảnh Bitmap nhị phân F - Thông điệp bí mật cần giấu P - (m*n) là kích thước khối dùng để giấu 1 bit thông tin Ra: Một file ảnh đã giấu tin F‟ Thực hiện: - Tiền xử lý: Chuyển thông điệp mật cần giấu P sang... zero 24 CHƯƠNG 3: ỨNG DỤNG GIẤU TIN TRONG ẢNH BITMAP 3.1 Tổng quan về ảnh Bitmap Trong đồ họa máy tính, BMP còn được biết đến với tên tiếng anh khác làWindows bitmap, là một định dạng tập tin hình ảnh khá phổ biến Các tập tin đồ họalưu dưới dạng BMP thường có đuôi là BMP hoặc DIB Các thuộc tính tiêu biểucủa một tập tin ảnh BMP (cũng như file ảnh nói chung) là: • Số bit trên mỗi điểm ảnh (bit per pixel),... dụng cho quá trình tách lấy tin đã giấu (K là một ma trận nhị phâncũng có kích thước m*n được sử dụng làm khóa nhằm tăng tính bảo mật của thuậttoán giấu tin) 2.4.2.2 Thuật toán giấu tin a) Dữ liệu vào: - Ma trận điểm ảnh nhị phân F dùng làm môi trường giấu tin (F được chiathành các khối Fi(m*n)) - K(m*n) là một ma trận nhị phân được sử dụng làm khóa - Chuỗi bit P = p1p2p3p4 là thông tin cần giấu vào... tạp tính toán thất, không làm thay đổi nhiều nội dung ảnh 2.4.6.1 Kỹ thuật giấu thuận nghịch NSAS Năm 2006, Ni và các đồng nghiệp đưa ra lược đồ giấu tin thuận nghịchNSAS trên ảnh dựa vào dịch chuyển histogram của ảnh Sau đây là Thuật toán giấu tin: • Bước 1: Tìm một điểm không (zero) và điẻm cực trị (peak), đây là hai điểm có giátrị cấp xám của điểm ảnh trong lược đồ histogram của ảnh nhỏ nhất và lớn... × (8 - k) bit có trọng sốcao cho thông tin về ảnh, và 3 × k bit trọng số thấp cho thông tin giấu Gọi ảnh nhậnđược sau khi thay thế là H’ • Quá trình tách tin: Tách các thông tin bằng cách tách từ mỗi điểm ảnh 3 cụm k bit từ các byte Bi, Gi, Ri, và chắp lại thành bản tin giấu Kỹ thuật này tuy đơn giản, nhưng nếu bản tin trước khi giấu đã được mã hóa và trật tự giấu tin được chọn theo một quy luật... được giấu tin thì có thể truyền trên mạng bởi nó nhẹ hơn ảnh định dạng BMP rất nhiều lần Mặt khác nó được hỗ trợ trên nhiều trình duyệt 2.4 Kỹ thuật được sử dụng để giấu tin trong ảnh: 2.4.1 Giấu tin theo khối bit đơn giản 2.4.1.1 Ý tưởng Đây là kỹ thuật đơn giản nhất trong các kỹ thuật giấu tin mật trong ảnh Ýtưởng cơ bản của thuật toán là chia một ảnh gốc thành các khối nhỏ và mỗi khốinhỏ sẽ giấu 1... một kỹ thuật mới giấu tin trong nh đen trắng Kỹ thuật này vẫn dựa trên tư tưởng giấu một bit thông tin vào mộtkhối ảnh gốc nhưng đã khắc phục được phần nào những nhược điểm nêu trên để cóđược độ an toàn cao hơn và chất lượng ảnh sau khi giấu tốt hơn Bằng cách sử dụngthêm ma trận khoá K cho 15 việc giấu tin và đưa thêm các điều kiện để đảo bit trongmỗi khối, theo điều kiện đó các khối ảnh gốc toàn màu... thuật giấu tin thuận nghịch dựa trên dịch chuyển Histogram Trong thời gian gần đây giấu tin mật trong đa phương tiện ngày càng trở nênphổ biến trong môi trường truyền thông công cộng Tuy nhiên với các kỹ thuật nh giấu vào các bit có trọng số thấy LSB, hay giấu tin vào các khối điểm ảnh, sau khitách thông điệp, khó khôi phục lại được ảnh gốc ban đầu Trong khi đó một vài lĩnhvực nghiên cứu như y học, ... trìnhgiấu và tách thông tin. Quá trình biến đổi khối ảnh F thành F’ kích thước m×n để giấu r bit thông tinb1b2 br được thực hiện sao cho: SUM((F‟⊕ K) ⊗ W) ≡ b1b2 br (mod 2r) Công thứcnày cũng được sử dụng để tách chuỗi bit đã giấu b1b2 br từ khối ảnh F‟ Lược đồCPT cho phép giấu r bit thông tin vào một khối ảnh nhị phân kích thước m×n (với2r < m×n) bằng cách chỉ thay đổi nhiều nhất 2 bit trong khối ảnh. .. tin không quá 2859 bit trong nh Để cải tiến vấn đề này, Hwang và các đồng nghiệp đã đề xuất kỹ thuật giấuthuận nghịch HKC Sau đây là thuật toán: • Bước 1: Tìm một điểm peak (ví dụ đó là vị trí 154 trong ảnh a) và hai điểm min (đólà điểm 23 và 255) Điểm peak và hai điểm min tương ứng với số điểm ảnh của chúng là lớn nhất và nhỏ nhất trong ảnh • Bước 2: Nhằm để khôi phục chính xác ảnh gốc, một bản đồ định . ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN oOo GVHD: PGS.TSKH Đỗ Văn Nhơn HV: Trương Hoài Phong Mã số: CH1301048 TÌM HIỂU GIẤU TIN TRONG ẢNH VÀ ỨNG DỤNG GIẤU TIN TRONG. thông tin 6 giấu. Phương pháp giấu tin là làm cho người ta khó có thể biết được có thông tin giấu bên trong đó do tính chất ẩn của thông tin được giấu. 2.2.1 Mục đích của giấu tin Giấu tin có. cầu bảo vệ an toàn thông tin CHƯƠNG 2: TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH VÀ CÁC KỸ THUẬT GIẤU TIN TRONG ẢNH 2. 1Giấu tin như thế nào? Cùng với sự phát triển của Internet và các phương tiện multimedia,