GNURadio Companion

Một phần của tài liệu Nhúng dữ liệu trên nền tín hiệu (Trang 35)

3. GNU Radio

3.2 GNURadio Companion

GNU Radio Companion (GRC) là một giao diện đồ họa cho ngƣời sử dụng GNU Radio. GNU Radio là một công cụ mã nguồn mở dựa trên Python / C ++ để xây dựng SDR. GRC cho phép kết nối các thành phần và tạo ra một sơ đồ luồng tín hiệu bằng cách sử dụng công cụ kéo, thả các khối. Các hành phần trong khối đƣợc thực hiện bởi C ++ và kết nối bằng cách sử dụng ngôn ngữ lập trình Python. GRC là một phần của GNU Radio và đƣợc phát triển bởi Josh Blum . Mặc dù, lập trình trên GRC không linh hoạt nhƣ lập trình Python nhƣng nó trực quan hơn với ngƣời sử dụng.

Ví dụ trong GNU Radio Companion.

GNU Radio Block GNU Radio Block GNU Radio Block

36

Hình 2.5 Ví dụ trong GRC.

3.3 Cài đặt phần mềm GNU Radio.

Đầu tiên máy tính phải đƣợc cài Ubuntu 14.04 LTS. Bƣớc 1: Mở Terminal (Ctrl+Shift+T).

Bƣớc 2: Sử dụng các dòng lệnh sau.

$ wget http://www.sbrac.org/files/build-gnuradio $ chmod a+x ./build-gnuradio

$ ./build-gnuradio

Việc cài đặt GnuRadio sẽ hoàn thành sau một khoảng thời gian.

Để chạy chƣơng trình vào Terminal và gõ dòng lệnh gnuradio-companion. Giao diện đầu tiên của chƣơng trình :

37

Hình 2.6 Giao diện đầu tiên khi chạy chƣơng trình GNU Radio Companion.

4. Giới thiệu USRP B210.

USRP là phần cứng phổ biến nhất đƣợc sử dụng với phần mềm GNU Radio để xây dựng hệ thống SDR. USRP là một dòng các thiết bị phần cứng đƣợc phát triển bởi Matt Ettus.

38

4.1 Một số tính năng của USRP B210.

• Dải tần RF phủ sóng từ 70 MHz đến 6 GHz.

• Hỗ trợ 2 angten thu( 2RX) và 2 angten phát(TX).

• Giao tiếp với máy tính bằng USB 3.0.

• FPGA loại Xilinx Spartan 6 XC6SLX150.

• Băng thông truyền lên trong trƣờng hợp 1 kênh truyền và 1 kênh nhận là 56 MHz.

• Băng thông truyền lên trong trƣờng hợp 2 kênh truyền và 2 kênh nhận là 30.72 MHz.

• Nguồn cung cấp là nguồn một chiều.

• Có khẳ năng cung cấp GIPO.

• Cho phép thử nghiệm với các tín hiệu:

 FM.

 TV broadcast.

 Cellular.

 Wifi.

4.2 Các thông số kỹ thuật USRP B210.

Bảng 1 Một số thông số kỹ thuật của USRP B210:

Thông số kỹ thuật. Giá trị Đơn vị

Nguồn

Nguồn DC 6 V

Thông số Bộ chuyển đổi và xung clock.

Tốc độ lấy mẫu ADC(lớn nhất) 61.44 MS/s

Độ phân giải bộ ADC 12 bit

ADC Wideband SFDR 78 dBc

39

Độ phân giải bộ DAC 12 bits

Tốc độ lấy mẫu của tín hiệu 61.44 61.44

Độ chính xác tần số ±2.0 ppm

W/ GPS Unlocked TCXO Reference ±75 ppb

W/ GPS Locked TCXO Reference < 1 ppb

Thông số của RF( 1 kênh)

SSB/LO Suppression -35/50 dBc 3.5 GHz 1.0 deg RMS 6 GHz 1.5 deg RMS Năng lƣợng đầu ra >10 dBm IIP3 (@ typ NF) -20 dBm Nhiễu thu <8 dB Thông số khác Kích thƣớc 9.7x15.5x1.5 cm Khối lƣợng 350 g

4.3 Sơ đồ khối của USRP B210

System Clock And Timing Generation Optional GPSDO SMA Ext_Ref SMA 1 PPS USB 3.0 Connector USB 3.0 PHY Integrat ed RFIC RF Frontend Switch Network

FPGA Xilinx Spartan 6 XC6SLX150

UHD transport control timesync TX_DSP_0 TX_DSP_1 RX_DSP_0 RX_DSP_1

40

Hình 2.8. Sơ đồ khối của USRP B210.

4.5 Kiểm tra USRP B210 trên nền LINUX.

Bƣớc 1: Mở 2 Terminals Bƣớc 2: Cắm cap USB 3.0. Bƣớc 3: Chạy dòng lệnh.

$ cp /etc/rsyslog.d/50-default.conf ~/Desktop/$ cd ~/Desktop$ mv 50-default.conf 50- default_backup.conf$ gedit 50-default_backup.conf

Nó sẽ mở ra tập tin 50-default.conf to edit

##*.=info;*.=notice;*.=warn; \# auth,authpriv.none;\# cron,daemon.none; \# mail,news.none -/var/log/messages #Remove all # . Lƣu và đóng tập tin. Chạy lệnh:

$ sudo mv -f ~/Desktop/50-default.conf /etc/rsyslog.d/50-default.conf $ sudo restart rsyslog

Bƣớc 4: Kiểm tra USRP driver.

$ tail -f /var/log/messages

Download file uhd_fft.py by link:

http://gnuradio.org/redmine/projects/gnuradio/repository/revisions/a69f26230680fa177c5 3cf75a3a5c6f469b8afb3/entry/gr-uhd/apps/uhd_fft.py

Sao chép tập tin đến Home folder . Kết nối thiết bị USRP với máy tính.

Mở Terminal và chạy lệnh để kiểm tra thiết bị USRP: $ python ~/uhd_fft.py

41

Hình 2.9 Kết nối giữa máy tính và USRP B210

Hinh 2.10 Sơ đồ hệ thống của GNU Radio Và USRP B210.

Hình 2.10 Giao tiếp dữ liệu giữa phần mềm GNU Radio và USRP B210. GNU Radio đã cài đặt UHD (USRP Hardware Driver):

 Khối UHD source: Cung cấp dòng dữ liệu RX tới các khối xử lý tín hiệu trong phần mềm GNU Radio.

42

5. Tóm tắt chương.

Qua chƣơng này rút ra đƣợc kiến thức tổng quát về công nghệ vô tuyến định nghĩa bằng phần mềm SDR, phần mềm GNU Radio, USRP và cách kết nối giữa phần mềm GNU Radio và USRP. Từ đó mở ra hƣớng nghiên cứu mới công nghệ truyền thông không dây và xây dựng hệ thống truyền dẫn dữ liệu trong chƣơng tiếp theo.

43

Chƣơng 3 Xây Dựng Chƣơng Trình Nhúng Dữ Liệu Trên Nền Tín Hiệu Âm Thanh

Trong đồ án này để dễ dàng cho việc thực hiện nhúng dữ liệu trên nền tín hiệu âm thanh em chọn dữ liệu cần nhúng là tập tin định dạng text, tín hiệu âm thanh là tập tin định dạng .wav và sử dụng kỹ thuật mã hóa LSB.

1. Kỹ Thuật Mã Hóa LSB.

Kỹ thuật mã hóa LSB là cách đơn giản nhất để che giấu thông tin trong một đối tƣợng âm thanh kỹ thuật số. Mã hóa LSB cho phép một số lƣợng lớn các dữ liệu đƣợc giấu bằng cách thay thế các bit ít quan trọng nhất (LSB) của mỗi điểm lấy mẫu bằng một bít một thông tin nhị phân Hình 3.1 minh họa cách các thông tin bí mật đƣợc mã hóa trong một mẫu 8-bit sử dụng kỹ thuật LSB. Tốc độ truyền dữ liệu trong mã hóa LSB là 1 kbps mỗi kHz. Trong một số mã hóa LSB, hai bít LSB của một mẫu đƣợc thay thế bằng hai bit thông tin bí mật. Nó làm tăng số lƣợng dữ liệu có thể đƣợc mã hóa nhƣng nó cũng làm tăng nhiễu trong các tập tin âm thanh. Để trích xuất một thông tin bí mật từ một tập tin âm thanh đƣợc mã hóa LSB (đối tƣợng stego), ngƣời nhận yêu cầu truy cập trình tự của mẫu đƣợc sử dụng trong quá trình nhúng. Thông thƣờng, độ dài của các thông tin bí mật đƣợc mã hóa là ít hơn so với tổng số mẫu trong một tập tin âm thanh.

Hình 3.1 Phƣơng thức thay thế bít trong thuật toán LSB

1 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1

44

2. Thuật toán nhúng dữ liệu trên nền âm thanh sử dụng phương pháp mã hóa LSB. 2.1 Tiền xử lý thuật toán giấu và tách tin LSB.

 Để có thể xây dựng chƣơng trình, trƣớc hết cần tìm hiểu một số hàm thành phần với mục đích cài đặt chƣơng trình thuận lợi:

- Hàm chuyển đổi từ chuỗi kí tự sang số nhị phân. - Hàm chuyển đổi từ chuỗi số nhị phân sang chuỗi kí tự.

 Tóm tắt thuật toán thay thế LSB đơn giản

2.2 Thuật toán giấu tin.

Đầu vào:

- Tập tin âm thanh định dạng .wav. - Thông điệp bí mật (định dạng .text).

- Khóa bí mật (định dạng text có chiều dài không lớn hơn 8 ký tự).

Đầu ra:

- File âm thanh mang tin.

Các bước thực hiện:

 Bƣớc 1: Đọc tập tin âm thanh chƣa đƣơc giấu thông tin bí mật.

 Bƣớc 2: Bỏ 44 bytes đầu tiên của tập tin vì đây là phần header của tập tin âm thanh.

 Bƣớc 3: Chuyển thông tin bí mật sang dạng nhị phân.

 Bƣớc 4: Chuyển độ dài thông tin bí mật sang dạng nhị phân.

 Bƣớc 5: Chuyển khóa bí mật sang dạng nhị phân 8 bít. Khóa bí mật giúp bảo vệ và nhận diện tập tin âm thanh đã đƣợc giấu thông tin bí mật.

 Bƣớc 6: Khóa bí mật đƣợc giấu trong 8 mẫu dữ liệu đầu tiên. Nếu không có khóa bí mật thì tập tin âm thanh sẽ không giấu thông tin bí mật.

45

 Bƣớc 8: 10 mẫu dữ liệu tiếp theo sẽ dùng để giấu chiều rộng của thông tin bí mật.

 Bƣớc 9: Thông tin bí mật sẽ đƣợc giấu trong các mẫu tiếp theo cho đến hết chiều dài của thông tin bí mật ở dạng nhị phân.

2.3 Thuật toán tách tin.

Đầu vào:

- Tập tin âm thanh định dạng .wav đã đƣợc giấu thông tin mật. - Khóa bí mật (định dạng text có chiều dài không lớn hơn 8 ký tự).

Đầu ra:

- Thông tin bí mật đƣợc tách.

Các bước thực hiện:

 Bƣớc 1: Đọc tập tin âm thanh đã đƣơc giấu thông tin bí mật.

 Bƣớc 2: Bỏ qua 44 bytes đầu tiên của tập tin vì đây là phần header của tập tin âm thanh, chỉ lấy phần mẫu dữ liệu âm thanh.

 Bƣớc 3: Chuyển khóa bí mật sang dạng nhị phân 8 bit.

 Bƣớc 4: Kiểm tra xem khóa bí mật có trùng với 8 bit tách từ 8 mẫu đầu tiên của dữ liệu âm thanh không. Nếu không thì tập tin âm thanh chƣa đƣợc nhúng hoặc mật khẩu không đúng.

 Bƣớc 5: Kích thƣớc của thông tin bí mật sẽ đƣợc lấy từ 20 mẫu dữ liệu tiếp theo.

 Bƣớc 6: Từ kích thƣớc của thông tin mật tính đƣợc chiều dài của thông tin mật dƣới dạng nhị phận .

 Bƣớc 7: Lấy các bít của thông tin bí mật ở các mẫu dữ liệu tiếp theo cho đến hết chiều dài của thông tin bí mật dƣới dạng nhị phân.

 Bƣớc 8: Chuyển thông tin bí mật từ nhị phân sang dạng ký tự.

46

Đó là cách đơn giản nhất để che giấu thông tin trong một tập tin âm thanh. Nó cho phép số lƣợng lớn các dữ liệu đƣợc giấu trong một tập tin âm thanh. Kỹ thuật mã hóa LSB thƣờng không tạo ra thay đổi nhiều trong tập tin âm thanh

2.5 Nhược điểm của kỹ thuật mã hóa LSB.

Thông tin bí mật dễ bị tổn thất trƣớc các kiểu tấn công thông thƣờng nhƣ lấy lại mẫu, lọc thông, biến đổi tín hiệu từ tƣơng tự sang số hoặc ngƣợc lại…..

3. Cài đặt và thử nghiệm chương trình. 3. 1. Môi trường cài đặt

 Ngôn ngữ cài đặt, môi trƣờng soạn thảo và chạy chƣơng trình đƣợc thực hiện trên ngôn ngữ lập trình Matlap 2009b.

 Hệ điều hành Window 7 và môi trƣờng Net FrameWork 4.0. Giao diện của chƣơng trình:

Hình 3.2 Giao diện chính của chƣơng trình

47

 Đầu tiên chọn chế độ Nhúng dữ liệu trong khung Lựa Chọn. Nhấn vào nút Chon File để chọn tập tin audio.

Hình 3.3 Chọn tập tin audio.

 Thông tin mật cần giấu chúng ta có thể đánh trực tiếp vào edit text trong khung dữ liệu đƣợc nhúng hoặc nhấn nút Chon File để chọn file text muốn nhúng.

 Đánh khóa bảo mật vào ô Mat Khau. Lƣu ý khóa bảo mật không dài hơn 8 ký tự.

 Bấm nút Nhung Du Lieu để thực hiện nhúng dữ liệu.

48

Hình 3.4 Nhúng dữ liệu thành công

 File âm thanh sau khi nhúng sẽ đƣợc lƣu trong thƣ mục với phần cài đặt chƣơng trình và lấy tên là New_ngay_gio_phut nhúng dữ liệu. Ví dụ

New_08-jan-2015_11_4.wav.

Sau khi thực hiện giấu tin thành công, đầu ra sẽ bao gồm:

 Thông báo “Giấu tin thành công!”.

 Khóa bảo mật cần.

 File âm thanh đẫ giấu tin.

 Quy trình tách tin.

 Đánh khóa bảo mật vào ô Mat Khau.

 Chọn chế độ Khôi Phục Dữ Liệu trong khung lựa chọn. Sau đó bấm nút Chon File để chọn file nhạc đã đƣợc nhúng dữ liệu.

49

Hình 3.5 Quy trình hôi phục dữ liệu

 Nếu khóa bảo mật đúng thì thông tin mật sẽ đƣợc hiện trong lên trong khung Du Liêu Duoc Phuc Hoi.

Hình 3.6 Dữ liệu đƣợc phục hồi thành công

 Nếu dữ liệu không đƣợc phục hồi thành công do khóa bảo mật sai hoặc tập tin âm thanh chƣa đƣợc nhúng dữ liệu.

50

Hình 3.7 Thông báo khôi phục dữ liệu thất bại

Ghi âm.

Để tạo một tập tin âm thanh để nhúng dữ liệu ngƣời dùng có thể dùng chức năng ghi âm để tạo một tập tin âm thanh mình mong muốn.

Để thực hiện chực năng này ngƣời dùng cần thực hiện các bƣớc sau:

 Lựa chọn thời gian mong muốn vào bằng các đánh thời gian (đơn vị s) vào ô Thoi Gian.

 Bâm nút Ghi Am để bắt đầu ghi âm.

 Sau khi việc ghi âm hoàn tất thì sẽ hiện ra:

Chúng ta đánh tên mình muốn lƣu rồi bấm nút Save để hoàn tất.

 Bật, tắt tập tin âm thanh.

 Bấm nút Mo Audio. Sau đó lựa chọn tập tin âm thành cần mở rồi bấm nút Open.

51

Hình 3.8 Mở tập tin âm thanh.

 Để tắt thì bấm nút Tat trên giao diện của chƣơng trình.

3.3 So sánh phổ biên độ của âm thanh trước và sau khi nhúng dữ liệu.

52

Hình 3.10 Phổ biên độ âm thanh sau khi nhúng dữ liệu

Nhân xét phổ biên dộ âm thanh trƣớc và sau khi nhúng không có thay đổi nhiều.

3.4 Đánh giá về chương trình.

 Ƣu Điểm:

 Chƣơng trình chạy tốt, dễ dàng sử dụng.

 Thông tin mật trƣớc khi nhúng và sau khi nhúng hoàn toàn giống nhau.

 Chất lƣợng âm thanh trƣớc và sau khi nhúng không thay đổi nhiều, làm cho ngƣời nghe rất khó phát hiện.

 Nhƣợc điểm:

 Chƣơng trình chỉ thực hiện đƣợc vời tập tin âm thanh định dạng wav, và dữ liệu của thông tin bí mật là tập tin định dạng text.

 Giao diện chƣơng trình chƣa hợp lý.

 Thuật toán thực hiện trong chƣơng trình đơn giản.

 Mức độ bảo mật của khóa bảo vệ còn thấp.

53

 Nâng cấp thuật toán để việc bảo mật tốt hơn, tránh đƣợc tác động của bên ngoài.

 Xây dựng chƣơng trình để có thể thực hiện với file có các định dạng khác nhƣ .mp3. …Và thông tin mật cần nhúng có thể mở rộng ra với hình ảnh, audio…..

4. Xây dựng mô hình truyền dữ liệu qua wifi. 4.1 Giao thức TCP. 4.1 Giao thức TCP.

Giao thức TCP (Transmission Control Protocol - " Giao thức điều khiển truyền vận") là một trong các giao thức cốt lõi của bộ giao thức TCP/IP. Sử dụng TCP, các ứng dụng trên các máy chủ đƣợc nối mạng có thể tạo các "kết nối" với nhau, mà qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin. Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự TCP còn phân biệt giữa dữ liệu của nhiều ứng dụng (chẳng hạn, dịch vụ Web và dịch vụ thƣ điện tử) đồng thời chạy trên cùng một máy chủ.

Trong bộ giao thức TCP/IP, TCP là tầng trung gian giữa giao thức IP bên dƣới và một ứng dụng bên trên. Các ứng dụng thƣờng cần các kết nối đáng tin cậy kiểu đƣờng ống để liên lạc với nhau, trong khi đó, giao thức IP không cung cấp những dòng kiểu đó, mà chỉ cung cấp dịch vụ chuyển gói tin không đáng tin cậy. TCP làm nhiệm vụ của tầng giao vận trong mô hình OSI đơn giản của các mạng máy tính.

Thiết lập kết nối

Để thiết lập một kết nối, TCP sử dụng một quy trình bắt tay 3 bƣớc (3-way handshake) Trƣớc khi client thử kết nối với một server, server phải đăng ký một cổng và mở cổng đó cho các kết nối: đây đƣợc gọi là mở bị động. Một khi mở bị động đã đƣợc thiết lập thì một client có thể bắt đầu mở chủ động. Để thiết lập một kết nối, quy trình bắt tay 3 bƣớc xảy ra nhƣ sau:

1. Client yêu cầu mở cổng dịch vụ bằng cách gửi gói tin SYN (gói tin TCP) tới

server, trong gói tin này, tham số sequence number đƣợc gán cho một giá trị ngẫu nhiên X.

54

2. Server hồi đáp bằng cách gửi lại phía client bản tin SYN-ACK, trong gói tin này,

Một phần của tài liệu Nhúng dữ liệu trên nền tín hiệu (Trang 35)

Tải bản đầy đủ (PDF)

(89 trang)