1. Trang chủ
  2. » Công Nghệ Thông Tin

BÁO CÁO AN TOÀN MẠNG

15 762 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 614,85 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngoài lĩnh vực an toàn dùng để che giấu sự tồn tại của thông tin, nó còn được dùng trong công nghiệp giải trí và phần mềm như một kỹ thuật đánh dấu watermarking trên các hình ảnh, âm nhạ

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ CÔNG TIN

KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG

BÁO CÁO AN TOÀN MẠNG

ĐỀ TÀI: TÌM HIỂU VÀ VIẾT CHƯƠNG TRÌNH ẨN DỮ LIỆU

Trang 2

Mục Lục

Trang 3

I.GIỚI THIỆU

Trong thời đại mà công nghệ thông tin và internet phát triển như hiện nay,việc trao đổi thông tin,dữ liệu qua mạng là chiếm 1 phần lớn trong sự phát triển ấy vấn đề bảo mật thông tin đóng 1 vai trò cực kỳ quan trọng có nhiều các giải pháp bảo mật thông tin khi trao đổi trong đó phổ biến nhất là mã hóa dữ liệu trước khi gửi

Có nhiều các phương pháp, giải thuật mã hóa hiệu quả và độ an toàn cao tuy nhiên phương pháp mã hóa sẽ gây tò mò,tăng sự hiếu kỳ đối với những kẻ muốn đánh cắp thông tin,vì vậy có 1 giải pháp khác được đưa ra là ẩn giấu dữ liệu cần trao đổi dưới dạng 1 loại dữ liệu khác qua đó đánh lừa được những người xem không mong muốn

II STEGANOGRAPHY

Ngày nay, trên mạng Internet, những bức tranh hay bản nhạc có vẻ ngoài bình thường (như bức ảnh trên) có rất nhiều, nhưng bên trong nó có thể ẩn chứa những thông tin hoàn toàn bí mật Ưu thế này khiến Steganography ngày càng trở nên phổ biến và được ứng dụng rộng rãi Ngoài lĩnh vực an toàn dùng để che giấu sự tồn tại của thông tin, nó còn được dùng trong công nghiệp giải trí và phần mềm như một kỹ thuật đánh dấu (watermarking) trên các hình ảnh, âm nhạc hay phần mềm số để bảo vệ bản quyền tác giả, ngăn chặn mạo nhận, chống sao chép, xác thực nội dung, cho phép giám sát hay lần ngược dấu vết các bản sao bất hợp pháp

Trong nhiều trường hợp, kỹ thuật này còn được dùng để giám sát sự quảng

bá Ví dụ, bằng cách nhúng các dấu hiệu đánh dấu vào tệp hình ảnh cần quảng cáo và dùng một màn hình giám sát tự động, khi đó sẽ kiểm tra được liệu thông tin cần quảng cáo có được các cơ quan phát thanh truyền hình quảng bá đủ thời lượng như đã thỏa thuận hay không

Trang 4

Ngoài những ứng dụng tích cực, Steganography cũng bị những kẻ có ý đồ xấu lợi dụng Hãy hình dung trong một đĩa nhạc “The wall” của Pink Floyd được nhúng các kế hoạch tuyệt mật bằng phương pháp Steganography, đĩa sẽ được chuyển qua biên giới an toàn mà không bị phát hiện Rồi các kế hoạch này

sẽ được truyền công khai trên Internet dưới những tệp hình ảnh hay âm thanh bình thường, lẫn trong hàng triệu thông tin đang lưu chuyển trên nó

Steganography là một phương tiện che khuất dữ liệu mà các thông điệp bí mật được ẩn bên trong các tập tin máy tính như hình ảnh, tập tin âm thanh, video và thậm chí cả các file thực thi Không có ai ngoại trừ người gửi và người nhận sẽ nghi ngờ sự tồn tại của thông tin ẩn trong đó Steganography cũng có thể liên quan đến việc sử dụng mật mã, nơi các tin nhắn được mã hóa đầu tiên trước khi nó được giấu trong một tập tin khác Nói chung, các thông điệp xuất hiện như một cái gì đó khác như hình ảnh, âm thanh hoặc video để truyển dữ liệu bí mật vẫn không bị nghi ngờ

III.ẢNH BITMAP

1. Ảnh BITMAP là gì ? đặc điểm

-Trong đồ họa máy tính,ảnh bitmap hay window bitmap do microsoft đề xuất ,là 1 tập tin hình ảnh khá phổ biến, các tập tin bitmap thường được lưu với phần mở rộng là BMP hay DIB

-đặc điểm nổi bật nhất của ảnh BMP là ảnh không được nén với bất kì thuật toán nào.khi lưu ảnh,các điểm ảnh được lưu trực tiếp vào tập tin- một điểm ảnh sẽ được lưu bằng 1 hay nhiều byte tùy thuộc vào giá trị của ảnh.do đó ,1 hình ảnh được lưu dưới dạng bmp có kích thước rất lớn,gấ nhiều lần so với các ảnh được nén

2 Cấu trúc của tập tin ảnh BITMAP

Cấu trúc tập tin ảnh bmp gồm 4 phần:

Bitmap header( 14 byte):giúp nhận dạng tập tin bitmap

Bitmap information(40 byte):lưu các thông tin chi tiết giúp hiển thị hình

ảnh

Color palette(4 *X byte) với x là số màu của ảnh,định nghĩa các màu sẽ

được sử dụng trong ảnh

Bitmap data:lưu dữ liệu hình ảnh.

Trang 5

Bitmap header: có độ dài cố định là 14 byte.

Bitmap information:

Trang 6

Color palette (bảng màu):là bảng lưu trữ màu của bmp.bảng này sẽ có giá

trị bằng 0 nếu ảnh có số màu lớn hơn 256 hay ảnh đen trắng Với những ảnh

có số màu nhỏ hơn hoặc bằng 256 thì sẽ gồm 1 bộ có kích thước 4 byte xếp liền nhau theo cấu trúc Blue-Green-Red và 1 byte dự trữ.kích thước của

vùng palette = 4* x với x là số màu Vì palette màu của màn hình là R-G-B

nên khi đọc palette màu của bmp thì ta phải chuyển đổi cho phù hợp

Với ảnh 24 bit thì color table =0

ảnh 8 bit thì color table=256*4 byte.4 bit là 16*4 bytes

Bitmap data: vùng dữ liệu ảnh là giá trị của điểm ảnh,kích thước của vùng

dữ liệu ảnh phụ thuộc và độ rộng,chiều cao và kiểu ảnh

Với ảnh 8 bit: Size=width*height

ảnh có số màu lớn hơn 256: size=width*height*số bit trên 1 điểm ảnh

ảnh 24 bit:

mỗi điểm ảnh chiếm 3 byte mô tả 3 thành phần red,green,blue

Như vậy số lượng màu tối đa: 256^3=16.777.216

Trang 7

Ví dụ:

ảnh 256 màu(8 bit):

-mỗi điểm ảnh chiếm 1 byte,chỉ số hiệu màu của điểm ảnh này

Số hiệu màu của các điểm ảnh:0,1,2,…255

Màu của điểm ảnh được mô tả trong bảng màu.giả sử byte mô tả điểm ảnh

có giá trị là b và bảng màu được chứa trong mảng P thì thành phần các màu của điểm ảnh này là P[b].R,P[b].G,p[b].B

Ví dụ: 1 điểm ảnh có số hiệu màu là 20, thì trong bảng màu sẽ được lưu là P[20].R, P[20].G, P[20].B

IV.TÌM HIỂU FILE WAV

1. Định dạng wav

Dữ liệu âm thanh trong tập tin WAV là dạng dữ liệu âm thanh không

nén(RAW data) dựa trên định dạng mã hóa PCM (Pulse Code Modulation)

Trang 8

Cấu trúc của Wave File thuộc vào lớp file được sử dụng bởi các hàm Multimedia của Windows: đó là RIFF FILE RIFF là chũ viết tắt của Resource Interchange File Format (dạng file trao đổi tài

nguyên) Một RIFF file gồm một hoặc nhiều loại chunks, trong mỗi chunk lại chứa con trỏ chỉ đến chunk kế tiếp

Định dạng WAV cĩ ưu điểm là ấu trúc đơn giản , chất lượng âm thanh được bảo tồn , nhưng

nhược điểm là dùng lượng file khá lớn Nếu được lấy mẫu với tần số 44.1 kHz

(44100 lần/giây), độ phân giải 16 bit (tương đương với chất lượng CD) thì 1 phút âm

thanh sẽ tiêu tốn tới 10 MB , nghĩa là một bài hát khoảng 5 phút sẽ mất dung lượng

50MB ổ cứng

2. Cấu trúc tập tin wav.

Tập tin wav cĩ độ dài phần header là 44 byte, Phần dưới đây liệt kê các chunk

và nội dung của chúng theo thứ tự: vị trí (từ byte ?? tới byte ??), kích thước (?? bytes) và mơ tả

• RIFF chunk

file

Trang 9

4-7 Kích thước file

“WAVE”

• FORMAT chunk

dấu khoảng trắng, mã ASCII 32

chunk, mặc nhiên là 16

stereo

trị phổ biến là 44.100 (CD), 48000 (DAT) Sample Rate = Số mẫu trên mỗi giây, hoặc Hertz

giây(Sample Rate * BitsPerSample * Channels) / 8

trích (BitsPerSample * Channels)

sâu bit)

• DATA chunk

phần tiếp theo sẽ là dữ liệu âm thanh

thanh

Dữ liệu trên tập tin WAVE tuân theo quy tắc Little-endian

Thí dụ, ta có tần số trích mẫu bằng 44100 Hz Giá trị 4 bytes, hệ thập lục

phân của nó là 0x0000AC44 (mỗi cặp số là một byte) Trên tập tin, con

Trang 10

số này sẽ được lưu theo thứ tự: 44 AC 00 00 Như vậy gọi là

Little-endian.(Kiểu sắp xếp bình thường gọi là Big-endian.)

Về cơ bản các file wave thường có cấu trúc các chunk như trên,nghĩa là đều có các chunk RIFF,FORMAT,DATA tuy nhiên thực tế thì có nhiều file wav mà các chunk fmt không phải luôn cùng kích thước,chúng có thể

là 1 trường hợp của WAVEFORMATEX có thêm các byte ở cuối.vì vậy tốt nhất là nên kiểm tra trường subchunk1 size để biết chính xác kích thước của trường này.cũng cần phải lưu ý rằng data chunk không nhất thiết là ở ngay sau format chunk, 1 wav file thướng có nhiều hơn 1 frm chunk và 1 data chunk vì vậy trong demo nhóm sẽ tìm trong file wav chuỗi “data” từ đó xác định trường dữ liệu âm thanh ở đâu để có thể giấu thông tin vào đó

Trang 11

V.KỶ THUẬT GIẤU TIN TRONG ẢNH

1. kỹ thuật substitution-sự thay thế.

-phương pháp này sử dụng việc thay thế các thông tin ít quan trọng trong việc quyết định nội dung của file gốc,và dữ liệu được thay thế những phần

đó ít gây ảnh hưởng đến chát lượng file chứa gốc

Mô hình thuật toán:

Mô hình thuật toán Substitution

Ưu điểm của kỹ thuật này là file chứa gốc sau khi giấu tin thì kích thước không thay đổi=> tránh việc bị nghi ngờ dẫn đến lấy cắp thông tin

Nhược điểm là làm giảm chất lượng của file chứa gốc ban đầu ,số lượng tin giấu được cũng bị hạn chế do phụ thuộc vào kích thước file chứa,số bít ít quan trọng của file chứa

2. kỹ thuật giấu tin trong ảnh sử dụng các bít LSB.

Trang 12

-nằm trong số các kỹ thuật substitution thì kỹ thuật sử dụng các bít có trọng

số thấp nhất (Least significant bit) là phổ biến nhất.với kỹ thuật này thì nó thay thế các bit được coi là ít quan trong nhất ở các file ảnh chứa gốc.và việc thay thế được tiến hành thei trình tự số lượng byte nhất định

-kỹ thuật này ít ảnh hưởng đến file chứa gốc,với file ảnh thì nó ít ảnh hưởng đến các pixel

Ví dụ:

Màu :

Một ví dụ với ảnh bmp 24 bit như đã nói ở trên thì việc giấu 1 chữ cái “a”

có thể tiến hành như sau: chữ a trong mã ascii là 97 và giá trị nhị phân là

01100001-có 8 bit vì vậy cần 8 byte ảnh để chứa được chữ cái a này theo như thuật toán LSB.8 byte ảnh sau khi giấu chữ a sẽ như sau:

10010010

01010011

10011011

11010010

10001010

00000010

01110010

00101011

Và để lấy lại thông tin giấu thì ta tiến hành đọc 8 bit LSB của các byte tương ứng để tái tạo lại thành 01100001 và đổi lại thành ký tự “a”

Ta có thể thấy được luôn luôn có ít nhiều nhất là 50% số bit trùng nhau giữa thông tin cần giấu và file chứa gốc do đó file chứa gốc ít bị ảnh hưởng về chất lượng

Trang 13

VI.DEMO VÀ SOURCE CODE

1. Giao diện chính của chương trình.

- Chương trình được viết bằng ngôn ngữ C# và công nghệ WPF.

 Chương trình gồm 4 khung chính:

1 Khung 1: chứa File wav hoặc bmp , các file này sẽ được ẩn bên trong các dữ liệu chúng ta muốn giấu.

- Một textbox để hiển thị đường dẫn file.

- Một button để dẫn đến file cần mở.

- Một Picture box để hiện hình ảnh.

2 Khung 2: chứa file đã được phục hồi-là dữ liệu mà chúng ta muốn giấu

- Một Picture box để hiện hình ảnh.

3 Khung 3: chứa dữ liệu chúng ta muốn giấu.

- 2 radio button để cho phép lựa chọn loại dữ liệu muốn giấu: text hay hình ảnh.

- textbox để nhập pass word.

- textbox để nhập text cần giấu.

- Các button Your Picture để chọn hình ảnh cần giấu,kế bên là textbox hiển thị hình ảnh cần giấu hình ảnh này sẽ được hiển thị ở khung 2.

Trang 14

- Các button giấu thông tin, khôi phục thông tin có chúc năng như tên gọi của chúng.

4 Khung 4: gồm 1 picture box để hiển thị hình ảnh sau khi đã giấu dữ liệu vào file ở khung 1.

2 M ỘT SỐ CODE TIÊU BIỂU

-Hàm mã hóa: hàm này có liên quan trực tiếp đến giải thuật LSB Hàm này nằm trong class HideData.

private void Mahoa( FileStream ins, FileStream outs, byte [] message)

{

ThaotacBit thaotacBit = new ThaotacBit ();

int i = 0, j = 0;

int read;

byte write;

while ((read = ins.ReadByte()) != -1)

{

write = ( byte )read;

if (i < message.Length)

{

//Tách từng bít của thông điệp cần giấu.

byte bit = thaotacBit.TachBit(message[i], j++);

//Thay thế các bít tách được vào bít cuối cùng của từng byte của file chứa.

thaotacBit.ThaytheBit( ref write, 0, bit);

if (j == 8)

{

j = 0;

i++;

}

}

outs.WriteByte(write);

}

}

- Hàm Giải mã: Hàm này sẽ lấy lại dữ liệu đã giấu trong file trước đó bằng cách tách ra từng bít cuối cùng trong file và ghi lại từng thành mảng byte và trả về mảng byte đó Hàm này trong class GetDataBack:

- public static int Offset = 0;

- public byte [] Giaima( string inputPath, int offset, int inputLength, int

passLength)

- {

- ThaotacBit thaotacBit = new ThaotacBit ();

- //Tạo luồng mới để ghi thành file mới.

- FileStream outs = new FileStream (inputPath, FileMode Open,

FileAccess Read);

- int header = Offset + passLength * 8;

- //bỏ qua phần header của file.

- outs.Seek(header + offset, 0);

- byte [] docMang = new byte [inputLength * 8];

- outs.Read(docMang, 0, docMang.Length);

- byte [] dulieu = new byte [inputLength];

- int byteIndex = 0, bitIndex = 0, i = 0;

Trang 15

- //Tách từng bit cuối cùng của từng byte trong file chứa và lưu vào mảng dulieu.

- while (i < docMang.Length)

- {

- byte bit = thaotacBit.TachBit(docMang[i], 0);

- thaotacBit.ThaytheBit( ref dulieu[byteIndex], bitIndex++, bit);

- if (bitIndex == 8)

- {

- bitIndex = 0;

- byteIndex++;

- }

- if (byteIndex == inputLength) break ;

- i++;

- }

- outs.Close();

- return dulieu;

}

Xin Cảm ơn !!!

Ngày đăng: 13/05/2015, 00:40

TỪ KHÓA LIÊN QUAN

w