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

Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)

69 166 0

Đ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 69
Dung lượng 2,74 MB

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

Nội dung

Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)Nghiên cứu kỹ thuật nén dữ liệu y sinh và bảo mật thông tin cho bệnh nhân (LV thạc sĩ)

Trang 1

-

HOÀNG HỮU THẮNG

NGHIÊN CỨU KỸ THUẬT NÉN DỮ LIỆU Y SINH

VÀ BẢO MẬT THÔNG TIN CHO BỆNH NHÂN

THÀNH PHỐ HỒ CHÍ MINH - 2017

Trang 2

-

NGHIÊN CỨU KỸ THUẬT NÉN DỮ LIỆU Y SINH

VÀ BẢO MẬT THÔNG TIN CHO BỆNH NHÂN

CHUYÊN NGÀNH: KỸ THUẬT VIỄN THÔNG

MÃ SỐ: 60.52.02.08

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN LƯƠNG NHẬT

THÀNH PHỐ HỒ CHÍ MINH – NĂM 2017

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết qủa nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tp Hồ Chí Minh, ngày 25 tháng 5 năm 2017

Học viên thực hiện luận văn

Hoàng Hữu Thắng

Trang 4

LỜI CẢM ƠN

Lời đầu tiên em xin gửi lời cảm ơn đến toàn thể các Thầy, Cô giáo Học viện Công nghệ Bưu chính Viễn thông đã tận tình chỉ bảo em trong suốt thời gian học tập tại Nhà trường

Em xin bày tỏ lòng biết ơn sâu sắc đến TS NGUYỄN LƯƠNG NHẬT, người

đã trực tiếp hướng dẩn, tạo mọi điều kiện thuận lợi và tận tình chỉ bảo cho em trong suốt thời gian làm luận văn tốt nghiệp

Bên cạnh đó, để hoàn thành luận văn này, em cũng đã nhận được rất nhiều sự giúp đỡ, những lời động viên qúy báu của các bạn bè, gia đình và đồng nghiệp Em xin chân thành cảm ơn

Tuy nhiên, Do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắc rằng luận văn khó tránh khỏi thiếu sót Em rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý Thầy cô và các bạn

Em xin chân thành cảm ơn

Tp Hồ Chí Minh, ngày 25 tháng 5 năm 2017

Học viên thực hiện luận văn

Hoàng Hữu Thắng

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT vi

DANH SÁCH BẢNG vii

DANH SÁCH HÌNH VẼ viii

MỞ ĐẦU 1

Chương 1 - TỔNG QUAN VỀ MÃ HÓA, GIẤU TIN VÀ NÉN DỮ LIỆU 2

1.1 Y tế thông minh tại Việt Nam 2

1.2 Tổng quan về mật mã học 3

1.2.1 Giới thiệu 3

1.2.2 Hệ mật mã khóa bí mật 4

1.3 Tổng quan về giấu tin 6

1.3.1 Giới thiệu 6

1.3.2 Phân loại 7

1.3.3 Mô hình tổng quát của hệ thống giấu tin (Steganography) 8

1.3.4 Các yêu cầu của một bài toán giấu tin 9

1.4 Tổng quan về kỹ thuật nén dữ liệu 10

1.5 Kết luận chương 11

Chương 2 - CÁC PHƯƠNG PHÁP NÉN DỮ LIỆU Y SINH VÀ GIẤU THÔNG TIN BỆNH NHÂN 12

2.1 Nghiên cứu các kỹ thuật nén dữ liệu y sinh 12

Trang 6

2.1.1 Nén dữ liệu y sinh dùng thuật toán Turning Point 12

2.1.2 Nén dữ liệu y sinh dùng biến đổi Wavelet rời rạc 13

2.1.3 Nén dữ liệu y sinh dùng biến đổi Cosin rời rạc 17

2.2 Nghiên cứu kỹ thuật mã hóa dùng mật mã tiên tiến AES (Advanced Encryption Standard) 18

2.2.1 Giới thiệu mật mã tiên tiến AES 18

2.2.2 Các khái niệm và cơ sở toán học của AES 19

2.2.3 Mô tả thuật toán AES 20

2.2.4 Các biến đổi trong thuật toán AES 23

2.2.5 Ưu và nhược điểm của AES 29

2.3 Hàm băm MD5 29

2.4 Nghiên cứu các kỹ thuật giấu thông tin bệnh nhân 32

2.4.1 Kỹ thuật ẩn dữ liệu bằng phương pháp thay thế bít có trọng số thấp nhất (LSB-Least Significant Bit) 32

2.4.2 Kỹ thuật ẩn dữ liệu trên miền biến đổi Wavelet rời rạc (DWT-Discrete Wavelet Transform) 33

2.5 Nén dữ liệu y sinh và bảo mật thông tin bệnh nhân kết hợp mã hóa 35

2.6 Kết luận chương 37

Chương 3 - CHƯƠNG TRÌNH MÔ PHỎNG 38

3.1 Ngôn ngữ lập trình và mục đích của chương trình 38

3.2 Lưu đồ thực hiện chương trình 38

3.3 Giao diện chương trình và các bước thực hiện mô phỏng 40

3.3.1 Giao diện chương trình mô phỏng 40

3.3.2 Các bước thực hiện mô phỏng 41

Trang 7

3.4 Kết quả mô phỏng – đánh giá 42

3.4.1 Dung lượng nhúng của các phương pháp 44

3.4.2 Tỷ lệ nén 44

3.4.3 Tính vô hình của thuật toán giấu tin 45

3.4.4 Tính toàn vẹn dữ liệu của thuật toán giấu tin 49

3.4.5 Khả năng bảo mật của hệ thống 50

3.4.6 Tính sẵn sàng – thời gian thực hiện 50

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 54

DANH MỤC TÀI LIỆU THAM KHẢO 56

Trang 8

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

AES Advanced Encryption Standard Chuẩn mật mã tiên tiến

DCT Discrete Cosine Transform Biến đổi Cosine rời rạc

DWT Discrete Wavelet Transform Biến đổi Wavelet rời rạc HSV Hue, Saturation, Value Màu sắc, độ bão hòa, giá trị

Adelman JPEG Joint Photographic Experts Group Chuẩn nén ảnh JPEG

LSB Least Significant Bit Bit có trọng số thấp nhất MSE Mean Squared Error Sai số bình phương trung bình PSNR Peak Signal - to - Noise Ratio Tỉ số đỉnh tín hiệu trên nhiễu MD5 Message Digest algorithm 5 Hàm băm MD5

Trang 9

DANH SÁCH BẢNG

Bảng 1.1: Bảng mã dịch vòng 26 chữ cái 5

Bảng 1.2: So sánh Steganography và Watermarking 8

Bảng 2.1: Bảng độ dài của AES 22

Bảng 2.2: Hộp S thuận trong AES 23

Bảng 2.3: Hộp S nghịch trong AES 24

Bảng 3.1: Bảng so sánh dung lượng nhúng của các thuật toán 44

Bảng 3.2: So sánh tham số PRD với các thuật toán nén DWT, Turning Point, DCT.48 Bảng 3.3: So sánh tham số PRD trước và sau khi nhúng với thuật toán nén TP 48

Bảng 3.2: Tham số MSE với các tín hiệu điện tim 49

Bảng 3.3: So sánh độ mạnh của các hệ mật mã theo NIST 50

Bảng 3.4: Thời gian mã hóa và giải mã AES-128 với các loại dữ liệu khác nhau 51

Bảng 3.5: Thời gian nén, mã hóa, nhúng tại đầu phát ứng với 05 dữ liệu đầu vào 52

Bảng 3.6: Tách, giải mã, giải nén tại đầu thu ứng với 05 dữ liệu đầu vào 52

Trang 10

DANH SÁCH HÌNH VẼ

Hình 1.1: Sơ đồ khối chức năng hệ mật mã khóa bí mật 4

Hình 1.2: Phân loại giấu tin theo miền nhúng thông tin 7

Hình 1.3: Lược đồ chung cho quá trình giấu tin 8

Hình 1.4: Lược đồ chung cho quá trình bóc tách thông tin 9

Hình 2.1: Tín hiệu điện tim trước và sau khi nén dung thuật toán Turning Point 12

Hình 2.2: Quá trình phân tích và tổng hợp dùng DWT 14

Hình 2.3: Phân tích Wavelet hai chiều 15

Hình 2.4: Biến đổi DWT hai chiều họ Haar 15

Hình 2.5: Nén dùng dùng biến đổi Cosine với tỷ lệ 5:1 18

Hình 2.6: Phép biến đổi Block ↔State 19

Hình 2.8: Thủ tục SubBytes 24

Hình 2.9: Ví dụ về thủ tục SubBytes 25

Hình 2.10: Thủ tục ShiftRow 25

Hình 2.11: Ví dụ thủ tục ShiftRow 26

Hình 2.12: Thủ tục Mixcolumns 26

Hình 2.13: Ví dụ thủ tục MixColumns 27

Hình 2.14: Thủ tục AddRoundKey 27

Hình 2.15: Qúa trình sinh khóa AES-128 28

Hình 2.16: Sơ đồ tổng thể MD5 30

Hình 2.17: Sơ đồ một vòng lặp của MD5 31

Hình 2.18: Qúa trình mã hóa, nén và nhúng dữ liệu 35

Hình 2.19: Qúa trình tách, giải mã và giải nén phía thu 37

Trang 11

Hình 3.1: Qúa trình mã hóa, nén và nhúng tại phía phát 38

Hình 3.2: Qúa trình tách, giải mã và nén tai phía thu 39

Hình 3.3: Giao diện chương trình mô phỏng 40

Hình 3.4: Các bước thực hiện mô phỏng 41

Hình 3.5: Kết qủa nếu nhập không đúng password khi tách 42

Hình 3.6: Kết hợp giải mã AES nến nhập không đúng password 43

Hình 3.7: Kết quả giải nén nếu nhập đúng password 43

Bảng 3.1: Bảng so sánh dung lượng nhúng của các thuật toán 44

Hình 3.8: Dữ liệu y sinh 0017Irem trước và sau khi nén với Turning Point 45

Hình 3.9: Dữ liệu y sinh 0017Irem trước và sau khi nén bằng DWT mức 2 45

Hình 3.10: Dữ liệu 0017Irem trước và sau khi nén bằng DCT với tỷ lệ 5:1 45

Hình 3.11: Dữ liệu y sinh ban đầu 46

Hình 3.12: Dữ liệu y sinh sau khi nén và nhúng thông tin 47

Hình 3.13: Dữ liệu y sinh sau khi tách thông tin bệnh nhân và giải nén 47

Trang 12

MỞ ĐẦU

Cùng với mức sống ngày càng cao thì nhu cầu khám chữa bệnh của con người ngày càng tăng, Do đó các hệ thống chẩn đoán bệnh từ xa được triển khai ứng dụng nhiều trong thực tế Các dữ liệu y sinh của bệnh nhân thu được từ các thiết bị y khoa như tín hiệu điện tim, điện não, hình ảnh chụp MRI, chụp CT, hình ảnh siêu âm… của bệnh nhân có thể được thu thập tại nhà, các trung tâm y tế, và sau đó truyền đến các bệnh viện uy tín để chẩn đoán bệnh bằng các hệ thống theo dõi bệnh nhân từ xa

Các dữ liệu y sinh này cùng với các thông tin bí mật của bệnh nhân được truyền qua các kênh không an toàn và được lưu trữ trong máy chủ của bệnh viện hay phòng khám để theo dõi chẩn đoán, chữa bệnh Việc rò rỉ thông tin có tính chất riêng tư của bệnh nhân có nguy cơ cao khi truyền qua mạng internet, Do đó cần phải có cơ chế bảo mật tính riêng tư của bệnh nhân Hơn nữa, để giảm dung lượng khi truyền và lưu trữ, dữ liệu y sinh được nén trước khi được bảo mật Phương pháp hữu hiệu để bảo mật thông tin bệnh nhân, bằng cách giấu thông tin bệnh nhân như: họ tên, ngày tháng năm sinh, nhóm máu, vân tay, … vào trong dữ liệu y sinh của người đó

Nội dung luận văn “Nghiên cứu các kỹ thuật nén dữ liệu y sinh và bảo mật thông tin bện nhân” bao gồm 3 chương:

Chương 1: Tổng quan về mã hóa, giấu tin và nén dữ liệu

Chương 2: Các phương pháp nén dữ liệu y sinh và giấu thông tin bệnh nhân Chương 3: Chương trình mô phỏng

Dù bản thân đã rất cố gắng trong quá trình thực hiện luận văn nhưng không thể tránh khỏi những hạn chế, thiếu sót nên rất mong những ý kiến đóng góp của quý Thầy, Cô và các bạn để luận văn được hoàn thiện hơn

Trang 13

Chương 1 - TỔNG QUAN VỀ MÃ HÓA, GIẤU TIN VÀ NÉN

DỮ LIỆU 1.1 Y tế thông minh tại Việt Nam

Trong những năm gần đây, ngành y tế tại Việt Nam đã nỗ lực nâng cao chất lượng dịch vụ, với mục tiêu đáp ứng nhu cầu cho khám chữa bệnh là tốt nhất Bên cạnh việc bệnh nhân ở các thành phố lớn đến trực tiếp các bệnh viện, trung tâm y tế

có uy tín để khám chữa bệnh, thì số bệnh nhân còn lại ở các tuyến tỉnh, huyện, thị xã tiếp cận đến các trung tâm này là khá xa Do vậy, y tế thông minh tại Việt Nam ra đời

sẽ khắc phục được vấn đề về khoảng cách địa lý, bằng cách nếu các bệnh nhân chưa cần thiết đến trực tiếp các trung tâm y tế này để điều trị, mà trước mắt cần chẩn đoán bệnh, thì các dữ liệu y sinh như tín hiệu điện tim, điện não, hình ảnh chụp MRI, chụp CT…thu được từ các thiết bị y sinh tại địa phương, có thể gửi đến các trung tâm có

uy tín để chẩn đoán

Các dữ liệu y sinh này cùng với các thông tin cá nhân của bệnh nhân được truyền qua các kênh không an toàn và được lưu trữ trong máy chủ của bệnh viện hay phòng khám [16] Các bệnh nhân thường không muốn tiết lộ thông tin cá nhân của mình cho người khác biết, nên vấn đề bảo mật thông tin riêng tư là rất cần thiết Với

sự phát triển của các hệ mật mã [2], những thông tin cá nhân như họ tên, năm sinh, hay thậm chí là các đặc điểm sinh trắc của chủ thể như vân tay, mống mắt sẽ được

mã hóa và sau đó nhúng vào các tín hiệu y sinh [17], [14] Đồng thời để giảm dung lượng cho việc lưu trữ và hạn chế việc chiếm dụng băng thông truyền dẫn, các dữ liệu y sinh này sẽ được nén lại [21], [4]

Y tế thông minh cùng với các hệ mật mã và các kỹ thuật ẩn giấu thông tin, sẽ giúp cho thông tin cá nhân và dữ liệu y sinh được chia sẻ và quản lý một cách hiệu quả nhất Y tế thông minh giúp tối ưu hóa việc khám chữa bệnh, chăm sóc bệnh nhân, lấy ý kiến bác sĩ hay cảnh báo phòng ngừa bất cứ khi nào và ở đâu

Trên cả nước, việc ứng dụng y tế thông minh trong các bệnh viện đã được nhiều nơi bao gồm cả ở trung ương, tuyến tỉnh, huyện, xã, vùng sâu vùng xa,… triển

Trang 14

khai thực hiện Ứng dụng y tế thông minh trong khám chữa bệnh giúp người bệnh tránh được tình trạng quá tải của các bệnh viện và khắc phục việc đi lại từ nơi ở đến các bệnh viện

1.2 Tổng quan về mật mã học

1.2.1 Giới thiệu

Mật mã học là một ngành khoa học có lịch sử khoảng 4000 năm bao gồm hai lĩnh vực: mã hóa (cryptography) và thám mã [26] Trong đó mã hóa nghiên cứu các thuật toán và phương thức để đảm bảo tính bí mật và xác thực của thông tin Các sản phẩm của lĩnh vực này là các hệ mã mật, các hàm băm, các hệ chữ ký điện tử , các cơ chế phân phối, quản lý khóa và các giao thức mật mã [7], [8]

Có hai phương thức mã hoá cơ bản là thay thế và hoán vị Mã hoá thay thế là phương thức mã hoá mà từng ký tự gốc hay một nhóm ký tự gốc của bản rõ được thay thế bởi các từ, các ký hiệu khác hay kết hợp với nhau cho phù hợp với một phương thức nhất định và khoá Mã hoá hoán vị là phương thức mã hoá mà các từ mã của thông tin gốc được sắp xếp lại theo một cách thức nhất định Các hệ mật mã hiện đại thường sử dụng kết hợp cả hai kỹ thuật này và cần phải đáp ứng được các yêu cầu sau:

 Tính bảo mật (Confidentiality): Đảm bảo dữ liệu được truyền đến người nhận một cách an toàn và không bị lộ

 Tính xác thực (Authentication): Giúp cho người nhận xác định được chắc chắn thông điệp mà họ nhận chính xác là thông điệp gốc ban đầu

 Tính toàn vẹn (Integrity): Thông điệp đảm bảo không bị sai lệch khi truyền

 Tính không thể chối bỏ (Non – repudation): người gửi, người nhận không thể chối bỏ sau khi đã gửi hoặc nhận thông điệp

Các hệ thống mật mã nhìn có thể được chia làm ba loại: Mật mã khóa bí mật, mật mã khóa công khai và hàm băm xác thực Mỗi hệ thống mật mã đều có những ưu

Trang 15

điểm và nhược điểm khác nhau Bảo đảm cho tính bí mật của thông tin đặc biệt là trong các giao dịch điện tử

1.2.2 Hệ mật mã khóa bí mật

 Sơ đồ và chức năng hệ mật mã khóa bí mật

Hình 1.1: Sơ đồ khối chức năng hệ mật mã khóa bí mật

 E: Thủ tục mã hóa (Encryption) Là phương pháp để chuyển đổi thông tin ban đầu thành dữ liệu đã được mật mã hóa

 D: Thủ tục giải mã (Decryption) Là phương pháp để chuyển đổi dữ liệu đã được mật mã hóa thành thông tin ban đầu

Quá trình mã hóa được tiến hành bằng cách áp dụng các phương pháp của E lên thông tin P để trở thành thông tin đã mã hóa C: C = E k (P) (1.1)

Trang 16

Quá trình giải mã được tiến hành ngược lại, đó là áp dụng các phương pháp của D lên thông tin C để được thông tin đã giải mã P: P = D k (C) (1.2)

 Giới thiệu một số hệ mật mã khóa bí mật tiêu biểu

 Mật mã dịch vòng

Mật mã dịch vòng dùng để mã hóa một văn bản thông thường bằng cách thiết lập sự tương ứng giữa các ký tự và các thặng dư theo modulo 26 như bảng 1.1

Mã hóa: Ek(x) = (x + k) mod 26 Giải mã: Dk(y) = (y – k) mod 26

Trong đó: x,y là mã tương ứng của bản rõ và bản mã, (x, y Z26; 0  k  25)

Nhận xét: Mật mã dịch vòng (theo modulo 26) là không an toàn vì nó có thể

bị thám mã theo phương pháp duyệt toàn bộ

Cho P = C = Z26 K chứa mọi hoán vị có thể có của 26 ký tự từ 0 đến 25 Với

mỗi phép hoán vị  K, ta định nghĩa:

E( x)= (x) và D (y) = -1(y) (1.3)

trong đó -1 là hoán vị ngược của 

Nhận xét: Mật mã hoán vị có không gian khóa lớn (26! > 4.1026) nên khó có thể tìm được khóa bằng phương pháp duyệt toàn bộ Tuy nhiên, bằng phương pháp thống kê, ta có thể dễ dàng thám mã được các bản mã loại này

 Mật mã hoán vị

Trang 17

Khác với mật mã thay thế, mật mã hoán vị là giữ các ký tự của bản rõ không thay đổi nhưng sẽ thay đổi vị trí của chúng bằng cách sắp xếp lại các ký tự này

Ngoài ra, các thuật toán mã hóa tiên tiến thường kết hợp các phương pháp trên

mà điển hình là chuẩn mật mã dữ liệu DES - Data Encryption Standard của Mỹ và nâng cao hơn nữa là AES-Advanced Encryption Standard sẽ được xem xét trong chương 2

 Ưu nhược điểm của hệ mật mã khóa bí mật

 Ưu điểm:

- Đơn giản (thời gian nhanh, yêu cầu phần cứng không phức tạp)

- Hiệu quả: dễ sử dụng cho các ứng dụng nhạy cảm với độ trễ và các ứng dụng di động

 Nhược điểm:

- Phải dùng kênh an toàn để truyền khóa (Khó thiết lập và chi phí tốn kém)

- Việc tạo và giữ khóa bí mật phức tạp, khó làm việc trên mạng do phải tạo khóa nhiều

- Khó xây dựng các dịch vụ an toàn khác như: đảm bảo tính toàn vẹn, xác thực, chữ ký số…

1.3 Tổng quan về giấu tin

1.3.1 Giới thiệu

Giấu thông tin [27] 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 giấu (invisible) 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

Giả sử ta có đối tượng cần bảo mật R Nếu dùng phương pháp mã hoá để bảo mật R ta sẽ thu được bản mật mã của R là R’ chẳng hạn Thông thường, R’ mang những giá trị “vô nghĩa”, nếu một thông tin vô nghĩa truyền trên đường truyền sẽ làm cho kẻ tấn công nghi ngờ và tìm mọi cách thám mã Ngược lại, nếu dùng phương pháp giấu R vào một đối tượng khác, một dữ liệu F chẳng hạn ta sẽ thu được dữ liệu

Trang 18

F’ hầu như không sai khác với F Sau đó chỉ cần gửi dữ liệu F’ cho người nhận Để

lấy ra bản tin R từ dữ liệu F’ ta không cần dữ liệu gốc F Như vậy, kẻ tấn công sẽ không nghi ngờ về khả năng chứa tin mật trong F’

Sự khác biệt giữa mã hoá thông tin và giấu thông tin là mức độ biểu thị của đối tượng mang tin mật Nếu ta phối hợp hai phương pháp trên thì độ an toàn dữ liệu mật sẽ được nâng cao Chẳng hạn, ta có thể mã hoá R thành R’ sau đó mới giấu R’ vào dữ liệu F để thu được dữ liệu F’ Tóm lại, giấu thông tin và hệ mật mã có quan

hệ mật thiết với nhau, cùng xây dựng nên một hệ thống an toàn và bảo mật cho thông tin

1.3.2 Phân loại

 Phân loại dựa theo đối tượng chứa tin

- Giấu tin trong ảnh

- Giấu tin trong âm thanh

- Giấu tin trong video

- Giấu tin trong văn bản

- Giấu tin trong tín hiệu y sinh

 Phân loại dựa theo miền nhúng thông tin

Hình 1.2: Phân loại giấu tin theo miền nhúng thông tin

Trải phổ

Miền nhúng

Điều chỉnh bit có trọng số thấp nhất (LSB)

Giấu theo tính chẵn lẻ của

khối bit

Biến đổi cosin rời rạc (DCT) Biến đổi Wavelet rời rạc (DWT) Biến đổi Fourier rời rạc (DFT) Các biến đổi khác

Trang 19

 Phân loại dựa theo mục đích sử dụng

Theo mục đích sử dụng ta phân loại hệ thống giấu tin thành: Giấu tin mật (Steganography) và Thủy vân (Watermarking) với các đặc điểm và yêu cầu sau:

Bảng 1.2: So sánh Steganography và Watermarking Giấu tin mật (Steganography) Thủy vân số (Watermarking)

Chủ yếu dùng trong các hoạt động xuất bản

Yêu cầu

Giấu được nhiều thông tin

Ít cần quan tâm tới độ bền của phương tiện chứa

Không thể nhận biết được việc giấu thông tin

Không kiểm tra được nếu không

có khóa thích hợp

Dung lượng cần nhúng không lớn

Dữ liệu nhúng cần phải bền vững trước các cuộc tấn công

Dữ liệu nhúng có thể nhận thấy hay không nhận thấy

Không kiểm tra được nếu không có khóa thích hợp

1.3.3 Mô hình tổng quát của hệ thống giấu tin (Steganography)

Hình 1.3: Lược đồ chung cho quá trình giấu tin

Khóa

Thông tin giấu

Bộ nhúng thông tin

Phương

tiện chứa

Phương tiện chứa đã được giấu tin Phân phối

Internet

Trang 20

Có bốn đối tượng chính cho một bài toán giấu tin:

 Thông tin giấu: Là thông tin nhúng vào đối tượng chứa, nó là thông tin cần được bảo vệ

 Phương tiện chứa: Là môi trường để chứa thông tin cần che giấu

 Khóa: Khóa này sẽ dùng để trích xuất lại thông tin mật

 Phương tiện đã được giấu tin: Là đối tượng sau khi đã giấu thông tin vào

 Khả năng chứa thông tin:

Khả năng này thể hiện ở lượng thông tin của thông điệp mật có thể nhúng trong đối tượng chứa Do tính bảo mật khả năng chứa tin luôn bị hạn chế ở tỉ lệ nhất định Do đó, trong trường hợp muốn ẩn một thông tin có kích thước lớn cần có phương tiện chứa lớn

Phương tiện chứa

có giấu tin

Thông tin giấu

Phương tiện chứa

Bộ trích xuất thông tin

Khóa

Hình 1.4: Lược đồ chung cho quá trình bóc tách thông tin

Trang 21

 Tính toàn vẹn dữ liệu:

Tính chất này rất quan trọng trong ứng dụng truyền tin mật, thông tin trước khi nhúng và sau khi bóc tác phải tuyệt đối giống nhau vì vậy cần các phương pháp nhúng không tổn hao dữ liệu Có thể kết hợp kỹ thuật giấu tin với các thuật toán băm

để tăng tính xác thực cho dữ liệu mật

 Tính bảo mật:

Tính bảo mật rất quan trọng trong ứng dụng truyền tin mật Vì vậy khi nghiên cứu các kỹ thuật giấu tin, người ta thường tăng tính ngẫu nhiên của các phương pháp Kết hợp các thuật toán mật mã vào kỹ thuật giấu tin là một hướng đi đúng đắn để tăng tính bảo mật của thông tin

1.4 Tổng quan về kỹ thuật nén dữ liệu

Nén dữ liệu[6], [12] là quá trình mã hóa thông tin dùng ít bit hơn so với thông tin chưa được mã hóa bằng cách dùng một hoặc kết hợp của các phương pháp nào đó Nén dữ liệu nhằm làm giảm lượng thông tin “dư thừa” trong dữ liệu gốc và do vậy, dung lượng thông tin thu được sau khi nén thường nhỏ hơn dữ liệu gốc rất nhiều

Bộ nhớ lưu trữ các dữ liệu y sinh tại các bệnh viện, trung tâm y tế là có hạn,

do vậy các dữ liệu y sinh cần phải nén lại, hơn nữa tín hiệu đã nén sẽ tiết kiệm được băng thông cho qúa trình truyền dữ liệu

Dựa trên phương pháp nén, người ta phân thành 2 dạng là nén dữ liệu trong miền không gian và nén sử dụng các biến đổi Trong khuôn khổ luận văn, em sẽ nghiên cứu kỹ thuật nén trong miền không gian bằng kỹ thuật Turning Point, và nén

sử dụng các biến đổi Wavelet rời rạc (DWT), Cosin rời rạc (DCT)

Trong qúa trình nén tín hiệu, thông số thường quan tâm là tỷ lệ nén (CR – Compression Ratio) và thường được định nghĩa:

Tỷ lệ nén: CR A

B

Trang 22

Trong đó, A là kích thước dữ liệu gốc, và B là kích thước dữ liệu thu được sau

nén Ví dụ, tỷ lệ nén là 2:1, nghĩa là dữ liệu gốc có dung lượng là 2 sau khi nén dung lượng chỉ còn 1

1.5 Kết luận chương

Chương 1 đã trình bày một cách tổng quan về Y tế thông minh tại Việt Nam, nén dữ liệu, mật mã học, kỹ thuật giấu tin, Mỗi phương pháp đều có ưu và nhược điểm riêng, phần nào đáp ứng được yêu cầu về bảo mật Tuy nhiên, với việc trao đổi thông tin trên mạng ngày càng phong phú và khả năng tấn công của hacker là vô bờ bến Để tránh khả năng tấn công của hacker chẳng hạn như làm biến dạng dữ liệu chứa tin Điều đó làm cho phía người nhận không nhận được thông tin chính xác, do

đó để hạn chế khắc phục phần nào việc tấn công là sử dụng kỹ thuật ẩn dữ liệu Ẩn

dữ liệu là kỹ thuật cho phép ta nhúng thông tin vào vùng đặc biệt an toàn nào đó trên đối tượng chứa

Trang 23

Chương 2 - CÁC PHƯƠNG PHÁP NÉN DỮ LIỆU Y SINH

VÀ GIẤU THÔNG TIN BỆNH NHÂN 2.1 Nghiên cứu các kỹ thuật nén dữ liệu y sinh

2.1.1 Nén dữ liệu y sinh dùng thuật toán Turning Point

Thuật toán Turning Point ban đầu được đề xuất bởi Mueller [5] để giảm số

mẫu của dữ liệu y sinh qua việc lựa chọn, giữ lại các mẫu tín hiệu quan trọng và giảm

bớt các mẫu ít quan trọng hơn Thuật toán Turning Point xử lý ba điểm dữ liệu tại

một thời điểm, lưu giữ điểm đầu tiên và gán nó như là điểm tham chiếu X0 Hai điểm

tiếp theo trở thành X1 và X2, tùy thuộc vào thời điểm nó giữ bước ngoặt (thay đổi độ

dốc) mà X1 hay X2 được giữ lại và trở thành điểm tham chiếu tiếp theo Các bước

thực hiện của thuật toán như sau:

- Bước 1: Đọc các mẫu dữ liệu y sinh gốc

- Bước 2: Lưu giữ điểm đầu tiên X0 và xét hai điểm tiếp theo X1, X2

- Bước 3: Nếu (X1 - X0) * (X2 - X1) < 0 thì giữ lại điểm X1, ngược lại thì giữ X2

- Bước 4: Gán điểm vừa giữ lại làm điểm tham chiếu và thực hiện lại từ bước 2 tới bước 4 cho đến khi kết thúc

- Bước 5: Xây dựng lại tín hiệu sau khi nén

Để trực quan hơn, lấy ví dụ cho quá trình nén tín hiệu điện tim như hình 2.1

Hình 2.1: Tín hiệu điện tim trước và sau khi nén dung thuật toán Turning Point

Trang 24

Một khuyết điểm của thuật toán này là các mẫu tín hiệu được giữ lại không đại diện cho khoảng thời gian cách đều nhau Tuy nhiên sự biến dạng cục bộ này là không đáng kể khi dữ liệu y sinh được khôi phục lại độ phân giải gốc bằng phương pháp nội suy Hình 2.1 mô tả dữ liệu y sinh mẫu (lấy từ physioNet) trước và sau khi nén với thuật toán Turning Point

2.1.2 Nén dữ liệu y sinh dùng biến đổi Wavelet rời rạc

 Biến đổi Wavelet liên tục (Continuous Wavelet Transform – CWT)

Biến đổi wavelet[8] liên tục thuận và nghịch của hàm f(t) bình phương khả

tích được viết theo hàm wavelet mẹ ( )t và liên hiệp phức *( )t như sau:

*1W( , )a b f t( ) (t b)dt

a a

2( )

Với  ( )là biến đổi Fourier của ( )t

Biến đổi CWT[7] chỉ tồn tại nếu C dương và hữu hạn, do đó C được gọi là

điều kiện tồn tại của biến đổi Wavelet Đây cũng là điều kiện một hàm cần phải thỏa mãn để có thể được lựa chọn làm hàm wavelet

Trang 25

Với mỗi giá trị của a thì a b, ( ) t là một bản sao của a b, ( ) t được dịch đi b đơn

vị trên trục thời gian Do đó b được gọi là tham số dịch, đặt b = 0 ta thu được:

a a

   , nếu a càng nhỏ thì wavelet càng được nén mạnh hơn

 Biến đổi Wavelet rời rạc (Discrete Wavelet Transform – DWT)

Để giảm thiểu công việc tính toán các hệ số wavelet ở mọi tỉ lệ, người ta chỉ

chọn ra một tập nhỏ các giá trị tỉ lệ và các vị trí trên cơ sở lũy thừa cơ số 2 Biến đổi

wavelet rời rạc[9], [11] thực chất là quá trình rời rạc hóa biến đổi wavelet liên tục với

sự lựa chọn hệ số a và b như sau: a = 2 m ;b = 2 m n;m,n Z (2.5)

Có thể hiểu phép biến đổi wavelet rời rạc như là áp dụng các bộ lọc thông cao

và thông thấp, sau đó tín hiệu được lấy mẫu xuống hệ số 2 tạo thành biến đổi wavelet

rời rạc mức 1 Sự tổng hợp các thành phần sau khi phân tích được gọi là biến đổi

wavelet rời rạc ngược (Inverse descrete Wavelet Transfrom – IDWT) Quá trình này

thực hiện ngược lại với quá trình phân tích bằng cách lấy mẫu lên hệ số 2 rồi sử dụng

các bộ lọc khôi phục L, H Hình 2.2 cho thấy quá trình phân tích và tổng hợp tín hiệu

dùng biến đổi wavelet rời rạc mức 1

Hình 2.2: Quá trình phân tích và tổng hợp dùng DWT

Theo [19], biến đổi Wavelet Haar (một chiều) tín hiệu F có N thành phần được

thực hiện theo (2.6) và (2.7) với i {0,1,…,(N/2)-1}

Xấp xỉ

Chi tiết

A

D

Trang 26

1 1 D(i)= F(2i)- F(2i+1)

Phát triển từ biến đổi wavelet rời rạc một chiều, có thể mở rộng định nghĩa biến đổi hai chiều bằng cách sử dụng các bộ lọc riêng biệt, thực hiện biến đổi một chiều đối với dữ liệu theo hàng rồi kế tiếp thực hiện theo cột như hình 2.3

Hình 2.3: Phân tích Wavelet hai chiều

Biến đổi hai chiều Wavelet Haar tín hiệu F với kích thước 2 x 2 đầu vào sẽ tạo

ra các thành phần A, H, V, D như hình 2.4

Hình 2.4: Biến đổi DWT hai chiều họ Haar

Các thành phần xấp xỉ - A, ngang - H, dọc - V, và đường chéo - D được khai triển từ (2.6) và (2.7) như sau:

DWT Theo cột

DWT Theo cột F3 F4

F2

X3

X2 X4

Trang 27

 Thuật toán đề xuất

Dữ liệu y sinh được lưu trữ dưới dạng mảng một chiều, phép biến đổi DWT

áp dụng trên dữ liệu y sinh như công thức (2.6) và (2.7) Cho ra thành phần xấp xỉ A

và thành phần chi tiết D Trong đó thành phần xấp xỷ chứa các thông tin cơ bản của

dữ liệu y sinh ban đâu

Ý tưởng của thuật toán giữ lại thành phần xấp xỉ A, bỏ thành phần chi tiết D Sao cho thành phần giữ lại đại diện cho 2 mẫu tín hiệu gần nó nhất hay là trung bình của hai mẫu tín hiệu này

Theo công thức 2.6, giả sử i=0 ta có

FF

Để khôi phục lại tín hiệu ban đầu ta dung phương pháp nội suy Các bước sau đây thực hiện nén dữ liệu y sinh dung thuật toán DWT

Bước 1: Đọc dữ liệu y sinh

Bước 2: Biến đổi wavelet một chiều họ Haar trên mỗi đạo trình dữ liệu y sinh Bước 3: Chia thành phần xấp xỉ A cho 2

Bước 4: Bỏ đi thành phần chi tiết và lưu lại tín hiệu sau khi nén

Một khuyết điểm của thuật toán này là các đặc trưng ban đầu không được giữ lại Nhưng ưu điểm của nó là các mẫu tín sau khi nén đại diện cho các khoảng thời gian cách đều nhau

Trang 28

2.1.3 Nén dữ liệu y sinh dùng biến đổi Cosin rời rạc

Biến đổi DCT được[10], [25] đưa ra vào năm 1974 và hiện nay đang được ứng dụng rất nhiều trong các kỹ thuật xử lý tín hiệu số Ưu điểm của phép biến đổi là có thể tập trung năng lượng tốt và ít độ phức tạp trong tính toán Phương trình tổng quát

của biến đổi DCT thuận và nghịch cho một tín hiệu x có N thành phần như sau:

2, 2

k N

w k

k N N

Trang 29

2.2 Nghiên cứu kỹ thuật mã hóa dùng mật mã tiên tiến AES (Advanced

Encryption Standard)

2.2.1 Giới thiệu mật mã tiên tiến AES

Chuẩn mã hóa dữ liệu tiên tiến AES (Advanced Encryption Standard) [11] là một hê ̣mã khóa bí mật có tên là Rijndael (do hai nhà mật mã học người Bỉ là Joan Daemen và Vincent Rijmen đưa) cho phép xử lý các khối dữ liệu đầu vào có kích thước 128 bit sử dụng các khóa có độ dài 128, 192 hoặc 256 bit [14] Hệ mã Rijndael được thiết kế để có thể làm việc với các khóa và các khối dữ liệu có độ dài lớn hơn

Hình 2.5: Nén dùng dùng biến đổi Cosine với tỷ lệ 5:1

Trang 30

tuy nhiên khi được chọn là một chuẩn do Viện Tiêu chuẩn và Công nghệ Quốc gia

Mỹ (NIST) đưa ra vào năm 2001, nó được qui định chỉ làm việc với các khối dữ liệu

128 bit và các khóa có độ dài 128, 192 hoặc 256 bit (do đó còn đặt cho nó các tên AES-128, AES-192, AES-256 tương ứng với độ dài khóa sử dụng)

2.2.2 Các khái niệm và cơ sở toán học của AES

 Byte – Một nhóm 8 bit

 Word – Một nhóm 32 bit có thể xem như một đơn vị tính toán độc lập hoặc một mảng 4 byte

 Block – Một dãy các bit tạo thành ngõ vào, ra của hệ mã độ dài của Block là

số lượng các bit mà nó chứa Block cũng có thể xem là một dãy các byte

 State – Một mảng hai chiều của các byte State bao gồm 4 hàng, mỗi hàng

có 4 byte Các phép toán AES sẽ được thực hiện xử lý trên từng State

 Nb – Số lượng các cột (là các word 32 bit) tạo thành một State(Nb=4)

 Nk – Số lượng các word 32 bit tạo thành khóa mã hóa K (Nk =4, 6 hoặc 8 tương ứng với AES-128, 192 hoặc 256)

 Nr – Số lượng các vòng lặp của thuật toán (Nr = 10, 12, hoặc 14 tương ứng với AES-128, 192 hoặc 256)

Hình 2.6 mô tả quá trình chuyển đổi từ 1 Block sang State và ngược lại

 Phép cộng

Hình 2.6: Phép biến đổi Block ↔State

Trang 31

Phép cộng giữa hai phần tử (byte) trong trường hữu hạn được thực hiện bằng cách cộng theo modulo 2 các bit tương ứng trong biểu diễn của các byte này

ci = (ai  bi) với 0  i  7 (2 11)

 Phép nhân

Phép nhân được thực hiện trên trường hữu hạn bằng cách nhân hai đa thức rồi

rút gọn theo modulo của một đa thức bất khả quy p(x) = x8 + x4 + x3 + x + 1

C(x)= a(x)  b(x) = a(x)  b(x) modulo (x8 + x4 + x3 + x +1) (2.12)

Sự biến đổi modulo bởi p(x) bảo đảm rằng kết quả sẽ là một đa thức nhị phân

có bậc nhỏ hơn 8 và như vậy có thể được biểu diễn trong một byte

2.2.3 Mô tả thuật toán AES

Độ dài của ngõ vào, ngõ ra và các trạng thái (state) của chuẩn mã hóa AES là

128 bit tương ứng với giá trị của Nb = 4 (là số lượng các word 32-bit và cũng là số cột của mỗi trạng thái) Khóa của AES có độ dài là 128, 192 hoặc 256 bit tương ứng với các giá trị của Nk là 4, 6, hoặc 8 và cũng là số cột của khóa mã hóa Tương ứng với độ dài của khóa sử dụng số vòng lặp của thuật toán (Nr) nhận các giá trị 10 (Nk

= 4), 12 (Nk = 6) hoặc 14 (Nk = 8) Được minh họa qua bảng 2.1

Trang 32

Hình 2.7: Lưu đồ thực hiện AES

Hình 2.7 mô tả toàn bộ thuật toán AES với ba quá trình: Mã hóa, giải mã và

mở rộng khóa Các khóa con sử dụng trong quá trình mã hóa và giải mã được tạo ra

từ quá trình mở rộng khóa (quá trình tạo khóa con Rijndael) Tiếp theo sẽ phân tích các quá trình trên và các bước biến đổi bên trong nó

Khóa mật mã

Quá trình Mã hóa Quá trình Mở rộng khóa Quá trình Giải mã

Trang 33

Bảng 2.1 Bảng độ dài của AES

Độ dài khóa (Nk) Kích thước khối (Nb) Số lần lặp (Nr)

Có thể thấy tất cả các vòng đều thực hiện các công việc giống nhau dựa trên 4 hàm theo thứ tự SubBytes, ShiftRows, MixColumns và AddRoundKey trừ vòng cuối cùng bỏ qua việc thực hiện hàm MixColumns Khóa được sử dụng trong bước AddRoundKey phát sinh từ quá trình mở rộng khóa

 Quá trình giải mã

Có hai cách giải mã: Giải mã trực tiếp và giải mã bằng thuật toán tương đương

 Giải mã trực tiếp: Mọi biến đổi được dùng trong các phép tính mã hóa là khả nghịch Cài đặt phép tính giải mã là giữ nguyên các thứ tự các biến đổi đã dùng trong phép mã hóa, chỉ thay các phép biến đổi bằng các biến đổi ngược của chúng

 Giải mã tương đương: được thực hiện bằng cách đảo ngược thứ tự của hàm InvSubBytes và InvShiftRows, thay đổi thứ tự của AddRoundKey, InvMixColumns

Trang 34

2.2.4 Các biến đổi trong thuật toán AES

Ngày đăng: 07/11/2017, 10:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w