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 (tt)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 (tt)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 (tt)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 (tt)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 (tt)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 (tt)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 (tt)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 (tt)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 (tt)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 (tt)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 (tt)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 (tt)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 (tt)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 (tt)
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
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 BÊNH NHÂN
CHUYÊN NGÀNH: KỸ THUẬT VIỄN THÔNG
TÓM TẮT LUẬN VĂN THẠC SĨ
THÀNH PHỐ HỒ CHÍ MINH – 2017
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: TS Nguyễn Lương Nhật
Phản biện 1: ………
Phản biện 2: ……… ………
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦ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 4Chươ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
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
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
Trang 5 K: Khóa (Key) Là tập các khóa, nó còn được gọi là không gian khóa Mỗi phần tử của K được gọi là một khóa được dùng trong các phép mã hóa và giải mã Không gian khóa phải đủ lớn để
“kẻ tấn công” không có đủ thời gian để thử mọi khóa
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
Giới thiệu một số hệ mật mã khóa bí mật tiêu biểu
- Đơ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
1.3.2 Phân loại
Phân loại dựa theo đối tượng chứa tin
- Giấu tin trong âm thanh
- Giấu tin trong ảnh
- Giấu tin trong video
Trang 6- 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
Phân loại dựa theo mục đích sử dụng
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 qúa trình giấu tin
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
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
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 71.3.4 Các yêu cầu của một bài toán giấu tin
Tính vô hình:
Khả năng chứa thông tin:
Tính toàn vẹn dữ liệu:
Tính bảo mật:
1.4 Tổng quan về kỹ thuật nén dữ liệu
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 quá 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
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 8Chươ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 để 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
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
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
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:
Trang 91 W( , ) a b f t ( ) ( t b ) dt
, 2
a a
2( )
Với ( )là biến đổi Fourier của ( )t
Biến đổi Wavelet rời rạc (Discrete Wavelet Transform – DWT)
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
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
Xấp xỉ
Chi tiết
A
D
Trang 10Ý 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ó
Để 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
Khuyết điểm: các đặc trưng ban đầu không được giữ lại
Ưu điểm: các mẫu tin sau khi nén đại diện cho các khoảng thời gian cách đều nhau
2.1.3 Nén dữ liệu y sinh dùng biến đổi Cosin rời rạc
Ư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ư
k N
w k
k N N
Trang 11Hình 2.5 mô tả quá trình nén tín hiệu điện tim dùng biến đổi DCT, tín hiệu đưa vào như trên hình 2.5a có kích thước 10000 mẫu, sau khi biến đổi DCT như hình 2.5b, ta thấy phần lớn năng lượng tập trung các mẫu bên trái của tín hiệu Với tỷ lệ nén là 5:1, ta giữ lại 2000 mẫu bên trái cho ra tín hiệu như hình 2.5c, và tại phía thu giải nén được hình 2.5d
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 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ình 2.3: Nén dùng dùng biến đổi Cosine với tỷ lệ 5:1
Trang 122.2.2 Các khái niệm và cơ sở toán học của AES
2.2.3 Mô tả thuật toán AES
Hình 2.4: 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
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 132.2.4 Các biến đổi trong thuật toán AES
AES không đủ an toàn đối với dạng tấn công kênh bên (side channel attack)
AES có các đặc điểm chung của một hệ mật khóa bí mật, do đó nó cũng có một số hạn chế của hệ mật khóa bí mật như phải giữ bí mật khóa mật mã
2.3 Hàm băm MD5
Giới thiệu về hàm băm
Hàm băm là các thuật toán không sử dụng khóa để mã hóa, có nhiệm vụ “lọc” thông điệp được đưa vào theo một thuật toán h một chiều nào đó, rồi đưa ra một bản băm có kích thước cố định Giá trị của hàm băm là duy nhất, và không thể suy ngược lại được nội dung thông điệp từ giá trị băm này
MD5 viết tắt từ chữ “Message Digest algorithm 5” là chuẩn hàm băm được sử dụng phổ biến nhất hiện nay, được phát minh bởi Ron Rivest, người cũng đã tham gia xây dựng RSA Hàm băm MD5 cho kích thước giá trị băm ngõ ra là 128 bit, được dùng để tính giá trị băm của thông điệp có kích thước tối đa là 264 bit [18]
Trang 142.4 Nghiên cứu các kỹ thuật giấu thông tin bệnh nhân
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)
Mô tả thuật toán
Bit thông tin mật sẽ được che giấu bằng cách thay thế vào vị trí có trọng số thấp nhất của một
mẫu dữ liệu y sinh Và tại đầu thu, thông tin sẽ được lấy ra bằng cách trích xuất từ các bit có trọng số
Với E i , E’ i là các mẫu dữ liệu y sinh trước và sau khi nhúng có định dạng là số nguyên S i là
bit thông tin mật cần nhúng và S’ i là bit thông tin mật tách được tại đầu thu
Các bước để nhúng một bản tin bằng thuật toán LSB:
Bước 1: Đọc dữ liệu y sinh (Ei)
Bước 2: Đọc và chuyển đổi thông tin bệnh nhân sang các bit nhị phân (Si)
Bước 3: Nhúng Si vào Ei theo (2.17)
Bước 4: Khôi phục lại dữ liệu y sinh đã nhúng dữ liệu mật
Các bước để tách và lấy lại bản tin bằng thuật toán LSB:
Bước 1: Đọc dữ liệu y sinh (Ei)
Bước 2: Tách S(i) theo (2.18)
Bước 4: Phục hồi thông tin đã nhúng từ các bit tách được
Ưu nhược điểm của thuật toán
Ưu điểm:
Thuật toán LSB cho kết quả sau khi bóc tách không sai lệch so với dữ liệu gốc
Tính vô hình cao thông qua giá trị PRD =0,044%
Thuật toán đơn giản, dễ thực hiện cho các đối tượng chứa khác nhau
Tốc độ thực hiện rất nhanh (<1ms)
Dung lượng nhúng cao, có thể nhúng vào nhiều bit LSB để tăng dung lượng
Trang 15 Nhược điểm:
Dữ liệu ần dễ bị bóc tách Chỉ cần trích xuất các bit LSB là có thể lấy được dữ liệu ẩn
độ bảo mật không cao
Kém bền vững, khi đối tượng chứa bị tác động thì dữ liệu bóc tách bị sai lệch không thích hợp với các hệ thống yêu cầu tính bền vững
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)
Bit thông tin thứ i (S i ) sẽ được nhúng vào các hệ số A i , H i , V i , D i tạo thành A’ i , H’ i , V’ i , D’ i
Với là ký hiệu của phép toán XOR
Tại đầu thu, các bit thông tin mật S’ i được tách từ các hệ số xấp xỉ A’ i theo:
Si, 2Ai,mod 2 (2.21)
Các bước để nhúng bản tin với thuật toán DWT:
Chuyển đổi bản tin thành các bit nhị phân S i
Định dạng dữ liệu y sinh thành ma trận 2 x N
Biến đổi wavelet 2 chiều ma trận 2 x N thành 4 mảng 1 chiều A, H, V, D
Thực hiện nhúng từng bit S i vào A i , H i , V i , D i theo (2.19) và (2.20)
Biến đổi wavelet ngược các mảng A’, H’, V’, D’ và định dạng dữ liệu y sinh như ban đầu
Các bước để tách và lấy lại bản tin:
Định dạng dữ liệu y sinh thành ma trận 2 x N
Biến đổi wavelet 2 chiều ma trận 2 x N thành 4 mảng 1 chiều A’, H’, V’, D’
Trang 16Tách các bit thông tin S’ i theo (2.21) và khôi phục lại thông tin mật
Ưu điểm và nhược điểm
Ưu điểm
- Giống như LSB, kỹ thuật ẩn dữ liệu DWT cũng cho kết quả bóc tách hoàn toàn chính xác
- Tính vô hình cao, thông qua thông số PRD
- Tính bảo mật cao hơn LSB
Nhược điểm: Khả năng nhúng dữ liệu thấp hơn LSB
2.4 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
A Phía phát
Hình 2.18 mô tả các bước thực hiện mã hóa, nén và nhúng thông tin tại phía phát với ngõ ra
là dữ liệu y sinh chứa thông tin mật đã được nén
Dữ liệu y sinh gốc được nén trực tiếp bằng thuật toán TP, DWT, DCT Dữ liệu y sinh đã nén được sử dụng làm đối tượng chứa giấu tin
Ngõ ra tại đây là dữ liệu mật đã được mã hóa và được nhúng vào dữ liệu y sinh sau khi nén Quá trình nhúng thông tin được thực hiện bằng thuật toán DWT, LSB
B Phía thu
Dữ liệu y sinh có chứa dữ liệu mật được tiến hành bóc tách thông tin Kết quả của quá trình bóc tách thông tin là dữ liệu mật của người bệnh đã được mã hóa Dữ liệu này được giải mã AES với khóa dùng để giải mã lấy từ 128 bit cho ngõ ra là thông tin mật của bệnh nhân từ đầu phát gửi đến
Thông tin cần giấu (bản rỏ)
Mã hóa AES
Nhúng (Embbed)