I. Các khái niệm cơ bản liên quan đến chữ kí số Chữ ký số là một tập con của chữ ký điện tử Ta có thể dùng định nghĩa về chữ ký điện tử cho chữ ký số: Chữ ký điện tử là thông tin đi kèm theo dữ liệu (văn bản, hình ảnh, video...) nhằm mục đích xác định người chủ của dữ liệu đó. Ta cũng có thể sử dụng định nghĩa rộng hơn, bao hàm cả mã nhận thực, hàm băm và các thiết bị bút điện tử. Chữ ký số khóa công khai (hay hạ tầng khóa công khai) là mô hình sử dụng các kỹ thuật mật mã để gắn với mỗi người sử dụng một cặp khóa công khai bí mật và qua đó có thể ký các văn bản điện tử cũng như trao đổi các thông tin mật. Khóa công khai thường được phân phối thông qua chứng thực khóa công khai. Quá trình sử dụng chữ ký số bao gồm 2 quá trình: tạo chữ ký và kiểm tra chữ ký. Khái niệm chữ ký điện tử mặc dù thường được sử dụng cùng nghĩa với chữ ký số nhưng thực sự có nghĩa rộng hơn. Chữ ký điện tử chỉ đến bất kỳ phương pháp nào (không nhất thiết là mật mã) để xác định người chủ của văn bản điện tử. Chữ ký điện tử bao gồm cả địa chỉ telex và chữ ký trên giấy được truyền bằng fax. Lịch sử Con người đã sử dụng các hợp đồng dưới dạng điện tử từ hơn 100 năm nay với việc sử dụng mã Morse và điện tín. Vào năm 1889, tòa án tối cao bang New Hampshire (Hoa kỳ) đã phê chuẩn tính hiệu lực của chữ ký điện tử. Tuy nhiên, chỉ với những phát triển của khoa học kỹ thuật gần đây thì chữ ký điện tử mới đi vào cuộc sống một cách rộng rãi
Trang 1ÐẠI HỌC CÔNG NGHỆ ÐẠI HỌC CÔNG NGHỆ ÐẠI HỌC QUỐC GIA HÀ NỘI
BỘ MÔN ANH NINH HỆ THỐNG THÔNG TIN
CHỮ KÝ TRÊN ẢNH SỐ
Giảng viên: PGS.TS Trịnh Nhật Tiến
Hà Nội, 2013
Trang 2I Các khái niệm cơ bản liên quan đến chữ kí số
Chữ ký số là một tập con của chữ ký điện tử
Ta có thể dùng định nghĩa về chữ ký điện tử cho chữ ký số:
Chữ ký điện tử là thông tin đi kèm theo dữ liệu (văn bản, hình ảnh, video ) nhằm mục đích xác định người chủ của dữ liệu đó
Ta cũng có thể sử dụng định nghĩa rộng hơn, bao hàm cả mã nhận thực, hàm băm và các thiết bị bút điện tử
Chữ ký số khóa công khai (hay hạ tầng khóa công khai) là mô hình sử dụng các kỹ thuật mật mã để gắn với mỗi người sử dụng một cặp khóa công khai - bí mật và qua đó có thể k ý các văn bản điện tử cũng như trao đổi các thông tin mật Khóa công khai thường được phân phối thông qua chứng thực khóa công khai Quá trình sử dụng chữ ký số bao gồm 2 quá trình: tạo chữ ký và kiểm tra chữ ký
Khái niệm chữ ký điện tử - mặc dù thường được sử dụng cùng nghĩa với chữ ký số nhưng thực sự có nghĩa rộng hơn Chữ ký điện tử chỉ đến bất kỳ phương pháp nào (không nhất thiết là mật mã) để xác định người chủ của văn bản điện tử Chữ ký điện tử bao gồm cả địa chỉ telex và chữ ký trên giấy được truyền bằng fax
Lịch sử
Con người đã sử dụng các hợp đồng dưới dạng điện tử từ hơn 100 năm nay với việc sử dụng mã Morse và điện tín Vào năm 1889, tòa án tối cao bang New Hampshire (Hoa kỳ) đã phê chuẩn tính hiệu lực của chữ ký điện tử Tuy nhiên, chỉ với những phát triển của khoa học kỹ thuật gần đây thì chữ ký điện tử mới đi vào cuộc sống một cách rộng rãi
Trang 3Vào thập kỷ 1980, các công ty và một số cá nhân bắt đầu sử dụng máy fax để truyền đi các tài liệu quan trọng Mặc dù chữ ký trên các tài liệu này vẫn thể hiện trên giấy nhưng quá trình truyền và nhận chúng hoàn toàn dựa trên tín hiệu điện tử
Hiện nay, chữ ký điện tử có thể bao hàm các cam kết gửi bằng email, nhập các số định dạng cá nhân (PIN) vào các máy ATM, ký bằng bút điện tử với thiết bị màn hình cảm ứng tại các quầy tính tiền, chấp nhận các điều khoản người dùng (EULA) khi cài đặt phần mềm máy tính, ký các hợp đồng điện tử online
Các ưu điểm của chữ ký số
Việc sử dụng chữ ký số mang lại một số lợi điểm sau:
Khả năng xác định nguồn gốc
Các hệ thống mật mã hóa khóa công khai cho phép mật mã hóa văn bản với khóa bí mật
mà chỉ có người chủ của khóa biết Để sử dụng chữ ký số thì văn bản cần phải được mã hóa bằng hàm băm (văn bản được "băm" ra thành chuỗi, thường có độ dài cố định và ngắn hơn văn bản) sau đó dùng khóa bí mật của người chủ khóa để mã hóa, khi đó ta được chữ ký số Khi cần kiểm tra, bên nhận giải mã (với khóa công khai) để lấy lại chuỗi gốc (được sinh ra qua hàm băm ban đầu) và kiểm tra với hàm băm của văn bản nhận được Nếu 2 giá trị (chuỗi) này khớp nhau thì bên nhận có thể tin tưởng rằng văn bản xuất phát từ người sở hữu khóa bí mật Tất nhiên là chúng ta không thể đảm bảo 100% là văn bản không bị giả mạo vì hệ thống vẫn có thể bị phá vỡ
Vấn đề nhận thực đặc biệt quan trọng đối với các giao dịch tài chính Chẳng hạn một chi nhánh ngân hàng gửi một gói tin về trung tâm dưới dạng (a,b), trong đó a là số tài khoản và b
là số tiền chuyển vào tài khoản đó Một kẻ lừa đảo có thể gửi một số tiền nào đó để lấy nội dung gói tin và truyền lại gói tin thu được nhiều lần để thu lợi (tấn công truyền lại gói tin)
Tính toàn vẹn
Cả hai bên tham gia vào quá trình thông tin đều có thể tin tưởng là văn bản không bị sửa đổi trong khi truyền vì nếu văn bản bị thay đổi thì hàm băm cũng sẽ thay đổi và lập tức bị phát hiện Quá trình mã hóa sẽ ẩn nội dung của gói tin đối với bên thứ 3 nhưng không ngăn cản
Trang 4được việc thay đổi nội dung của nó Một ví dụ cho trường hợp này là tấn công đồng hình (homomorphism attack): tiếp tục ví dụ như ở trên, một kẻ lừa đảo gửi 1.000.000 đồng vào tài khoản của a, chặn gói tin (a,b) mà chi nhánh gửi về trung tâm rồi gửi gói tin (a,b3) thay thế để lập tức trở thành triệu phú!Nhưng đó là vấn đề bảo mật của chi nhánh đối với trung tâm ngân hàng không hẳn liên quan đến tính toàn vẹn của thông tin gửi từ người gửi tới chi nhánh, bởi thông tin đã được băm và mã hóa để gửi đến đúng đích của nó tức chi nhánh, vấn đề còn lại vấn đề bảo mật của chi nhánh tới trung tâm của nó
Tính không thể phủ nhận
Trong giao dịch, một bên có thể từ chối nhận một văn bản nào đó là do mình gửi Để ngăn ngừa khả năng này, bên nhận có thể yêu cầu bên gửi phải gửi kèm chữ k ý số với văn bản Khi có tranh chấp, bên nhận sẽ dùng chữ ký này như một chứng cứ để bên thứ ba giải quyết Tuy nhiên, khóa bí mật vẫn có thể bị lộ và tính không thể phủ nhận cũng không thể đạt được hoàn toàn
Thực hiện chữ ký số khóa công khai
Chữ ký số khóa công khai dựa trên nền tảng mật mã hóa khóa công khai Để có thể trao đổi thông tin trong môi trường này, mỗi người sử dụng có một cặp khóa: một công khai và một
bí mật Khóa công khai được công bố rộng rãi còn khóa bí mật phải được giữ kín và không thể tìm được khóa bí mật nếu chỉ biết khóa công khai
Trang 5Figure 1.Sơ đồ tạo và kiểm tra chữ ký số
Toàn bộ quá trình gồm 3 thuật toán:
1 Thuật toán tạo khóa
2 Thuật toán tạo chữ ký số
3 Thuật toán kiểm tra chữ ký số
Xét ví d ụ sau :
Bob muốn gửi thông tin cho Alice và muốn Alice biết thông tin đó thực sự do chính Bob gửi Bob gửi cho Alice bản tin kèm với chữ ký số Chữ ký này được tạo ra với khóa bí mật của
Trang 6Bob Khi nhận được bản tin, Alice kiểm tra sự thống nhất giữa bản tin và chữ ký bằng thuật toán kiểm tra sử dụng khóa công cộng của Bob Bản chất của thuật toán tạo chữ ký đảm bảo nếu chỉ cho trước bản tin, rất khó (gần như không thể) tạo ra được chữ ký của Bob nếu không biết khóa bí mật của Bob Nếu phép thử cho kết quả đúng thì Alice có thể tin tưởng rằng bản tin thực sự do Bob gửi
Thông thường, Bob không mật mã hóa toàn bộ bản tin với khóa bí mật mà chỉ thực hiện với giá trị băm của bản tin đó Điều này khiến việc ký trở nên đơn giản hơn và chữ ký ngắn hơn Tuy nhiên nó cũng làm nảy sinh vấn đề khi 2 bản tin khác nhau lại cho ra cùng một giá trị băm Đây là điều có thể xảy ra mặc dù xác suất rất thấp
Một vài thuật toán chữ ký số
Full Domain Hash, RSA-PSS , dựa trên RSA
ElGamal signature scheme
Undeniable signature
SHA (thông thường là SHA-1) với RSA
II Ảnh số:
Ảnh số được tạo nên từ hàng trăm ngàn cho đến hàng triệu ô vuông rất nhỏ- được coi là những thành tố của bức ảnh và thường được biết dưới tên gọi là pixels Máy tính hay máy in sử dụng những ô vuông nhỏ này để hiển thị hay in ra bức ảnh Để làm được điều đó máy tính hay máy in chia màn hình, trang giấy thành một mạng lưới chứa các ô vuông, sau đó sử dụng các giá trị chứa trong file ảnh để định ra mầu sắc, độ sáng tối của từng pixel trong mạng lưới đó - ảnh số được hình thành Việc kiểm soát, định ra địa chỉ theo mạng lưới như trên được gọi là bit mapping và ảnh số còn được gọi là ảnh bit-maps
Kích cỡ ảnh và số lượng pixel
Trang 7Chất lượng của bức ảnh khi được in hay hiển thị trên màn hình phụ thuộc một phần vào
số lượng các pixels tạo nên bức ảnh (đôi khi được gọi là độ phân giải-resolution) Số lượng các pixels càng nhiều thì các chi tiết càng được hiển thị rõ, mức độ sắc nét càng tăng đồng nghĩa với việc độ phân giải cũng lớn hơn Nếu như phóng đại bức ảnh số đủ lớn thì mắt người sẽ nhận ra được các pixels này
Kích cỡ của ảnh số có thể được biểu thị theo một trong hai cách sau – theo chiều dài và chiều rộng tính bằng đơn vị pixel hoặc theo tổng số pixel tạo nên bức ảnh
Không giống như máy ảnh dùng film truyền thống, máy ảnh số sử dụng một thiết bị cảm nhận ánh sáng để bắt giữ hình ảnh-image sensor Những con chip Silicon có kích cỡ nhỏ như móng tay này có chứa hàng triệu tế bào quang điện-photosites Mỗi tế bào quang điện này làm nhiệm vụ ghi lại ánh sáng tác động lên nó bằng việc tích điện, cường độ ánh sáng càng lớn thì lượng điện tích càng lớn Cường độ sáng ghi lại bởi các tế bào quang điện sẽ được sử l ý, lưu trữ dưới dạng số và sử dụng để thiết lập cường độ sáng, mầu sắc của từng chấm nhỏ trên màn h ình hoặc trên trang giấy in qua đó tạo ra hình ảnh
Bộ cảm nhận sáng-image sensor chứa các photosite làm nhiệm vụ chuyển năng lượng ánh sáng sang điện tích
Cũng giống như máy ảnh dùng film, ánh sáng đi vào máy ảnh số thông qua ống kính Máy ánh số có ba kiểu màn trập khác nhau có chức năng kiểm soát khoảng thời gian ánh sáng tác động vào bộ cảm nhận (đồng nghĩa với việc kiểm soát độ sáng tối của hình ảnh):
Electrically shuttter sensor: bộ cảm nhận ánh sáng làm luôn cả nhiệm vụ của màn trập, quyết định khoảng thời gian phơi sáng Trên bộ cảm nhận có sẵn mạch điện điều khiển lúc nào thì bắt đầu và kết thúc phơi sáng
Electromechanical shutter: màn trập là một thiết bị được điều khiển bằng điện tử
Electro-optical shutters: một thiết bị điện tử nằm ngay phía trước bộ cảm nhận điều khiển đường truyền của ánh sáng qua đó tác động đến thời gian phơi sáng
Bộ cảm nhận luôn là một thiết bị rất nhỏ, thường là một trong ba kích cỡ trên và nhỏ hơn nhiều so với kích cỡ film 35 mm.Thông thường thì bộ cảm nhận kích thước càng lớn thì chất lượng hình ảnh thu được càng tốt
Trang 8Từ ánh sáng tới hình ảnh
Khi màn trập được mở ra, ống kính sẽ tập trung ánh sáng lên bộ cảm nhận Một số tế bào quang điện sẽ ghi nhận những vùng sáng, một số ghi nhận những vùng tối, một số th ì ghi lại những vùng ở mức trung gian Mỗi tế bào sẽ chuyển đổi tín hiệu ánh sáng sang điện tích Khi màn trập đóng lại, quá trình phơi sáng đã hoàn thành, thông tin về điện tích trên mỗi tế bào sẽ được số hoá, lưu trữ nhằm tạo ra hình ảnh
Độ sâu mầu (Color Depth)
Đây là khái niệm dùng để biểu thị bao nhiêu bits được sử dụng nhằm thể hiện thông tin của mỗi loại mầu Hầu hết máy ảnh đều hỗ trợ độ sâu mầu 24-bit ( 8 bit cho mầu đỏ, 8 bit cho mầu lam và 8 bit cho mầu lục), tuy nhiên một số máy đã hỗ trợ 30 bit mầu Chỉ có máy ảnh số chuyên nghiệp mới hỗ trợ 36 bit mầu Số lượng bit được sử dụng càng nhiều thì mầu sắc càng phong phú Ví dụ như máy ảnh hỗ trợ 24 bit mầu (8 bit cho mầu đỏ, 8 bit cho mầu lam, 8 bit cho mầu lục) thì mỗi mầu sẽ có 256 (28) sắc thái mầu khác nhau Sự phối hợp giữa 3 mầu cơ bản này được mã hoá dưới dạng 8, 10, 12 bits sẽ tạo ra những bức ảnh với độ sâu mầu tương ứng
24, 30, 32 bit mầu
Độ nhậy sáng ISO (ISO sensitivity)
Đối với các máy ảnh truyền thống sử dụng film, chỉ số ISO biểu thị đ nh y của filmộ nhậy của film ậy của film (film’s sensitivity), chỉ số ISO lớn thì film có khả năng nhạy sáng cao do đó sẽ thích hợp cho chụp
ở tốc đ tr p nhanh hay trong điều ki n cường đ ánh sáng yếu (low light) Tuy nhiên film cóộ nhậy của film ậy của film ện cường độ ánh sáng yếu (low light) Tuy nhiên film có ộ nhậy của film
đ nh y sáng càng lớn thì càng có xu hướng bị hi n tượng hạt mầu to (grainy).ộ nhậy của film ậy của film ện cường độ ánh sáng yếu (low light) Tuy nhiên film có
Đối với máy ảnh kỹ thu t số, đ nh y sáng phụ thu c b cảm biến ánh sángậy của film ộ nhậy của film ậy của film ộ nhậy của film ộ nhậy của film CCD/CMOS Khác với máy ảnh dùng film người chụp bị phụ thu c vào đ nh y sáng của film, độ nhậy của film ộ nhậy của film ậy của film ộ nhậy của film
nh y sáng của máy ảnh kỹ thu t số có thể chỉnh được Khả năng chỉnh đ nh y sáng ngay trênậy của film ậy của film ộ nhậy của film ậy của film máy cũng là m t ưu thế của máy ảnh kỹ thu t số khi so sánh với máy ảnh dùng film Tuy nhiênộ nhậy của film ậy của film CCD là thiết bị tương tự (analog) do đó khi tăng đ nh y sáng có nghĩa là phải tăng cườngộ nhậy của film ậy của film khuyếch đại tín hi u đi n tử đồng nghĩa với vi c khuyếch đại các tín hi u nhiễu, ảnh cũng sẽ bịện cường độ ánh sáng yếu (low light) Tuy nhiên film có ện cường độ ánh sáng yếu (low light) Tuy nhiên film có ện cường độ ánh sáng yếu (low light) Tuy nhiên film có ện cường độ ánh sáng yếu (low light) Tuy nhiên film có
"nhiễu" nhiều hơn M t vài tiến b gần đây trong công ngh sản xuất chip đã cho phép tăng độ nhậy của film ộ nhậy của film ện cường độ ánh sáng yếu (low light) Tuy nhiên film có ộ nhậy của film
nh y sáng vượt qua giá trị ISO 400 mà độ nhiễu vẫn ở mức chấp nhận được.ậy của film
Trang 9Chất lượng hình ảnh và bộ cảm nhận
Bộ cảm nhận ánh sáng trong máy ảnh là một trong những yếu tố quan trọng ảnh hưởng đến chất lượng của hình ảnh Các máy ảnh dùng film thực chất chỉ là những hộp tối và người chụp chỉ việc nhét vào đó bất cứ loại film nào họ thích, và chính loại film đó quyết định tone mầu, mầu sắc của hình ảnh Nếu như người chụp cho rằng loại film đó tạo ra hình ảnh có mầu sắc quá đỏ hoặc quá xanh họ có thể chuyển sang dùng loại film khác Với máy ảnh số, “film” là một phần gắn liền vĩnh viễn với máy ảnh, do đó mua một loại máy ảnh số nào đó đồng nghĩa với việc người dùng lựa chọn luôn loại film, tone mầu của hình ảnh….Mỗi loại bộ cảm nhận khác nhau đều tạo ra hình ảnh có tone mầu khác nhau, độ nhậy sáng khác nhau, độ nhiễu mầu khác nhau
III Thực hiện kí trên ảnh số và demo phần mềm:
Thực hiện tương tự như với file dữ liệu bất kì
Chú ý:
Để thực hiện demo chương trình, cần cài đặt Java từ 1.6 trở lên và có 1 thư mục có ảnh jpg
Để chạy chương trình, chạy file ImageDigitalSignature.jar trong thư mục dist
Trang 10Figure 2.Giao diện chương trình khi chạy
B1: Tạo ra cặp khóa:
Chọn biểu tượng khóa ( ) trên thanh Toolbar:
Màn hình hiện lên dialog hỏi tạo store, chọn Yes:
Tùy chỉnh tham số cho key và certificate:
Trang 11Đặt Alias cho key, chẳng hạn TestSigner:
Kết quả tạo khóa như sau:
Trang 12B2: thực hiện kí ảnh
Chọn biểu tượng kí tài liệu( ) từ thanh công cụ
Chọn thư mục chứa các file ảnh(jpeg) cần ký, ví dụ “C:\Users\duongnv\Desktop\ChuKi” Giả sử thư mục
chứa file ảnh: 2132.jpg
Chọn file lưu chữ kí, ví dụ: “C:\Users\duongnv\Desktop\chuki.txt”
Chọn Calculate
Khi đó:
- File chữ kí (chuki.txt) chứa thông tin như sau:
a93c9042e90c8ad9b3a05638fe30b4d23d1d3810fdead102c824dcc760438a44ef6b10 0080df6fe3420d13d56d10d9b5a4e24251aba3d7c79603b266c014711cf28ed7f1e1d2 db10e2cae46fe8ac3d406c113f5ca718f4cb6283f78b302e4dbb9b8c465a34f5c43828
Điều đó có nghĩa là dãy byte trên (a09c9….d167) là chữ kí của file 2132.jpg
- File 2132.jpg_md5hash.txt trong thư mục “C:\Users\duongnv\Desktop\ChuKi”có nội dung:
6a558387dbbfc0020a9ffaad7af35178
Điều đó có nghĩa là dãy byte trên (6a55 5178) là đại diện của file 2132.jpg
B3: Thực hiện xác thực ảnh số
Chọn biểu tượng kí tài liệu( ) từ thanh công cụ
Chọn Verify:
Chọn file, chẳng hạn: “C:\Users\duongnv\Desktop\ChuKi\2132.jpg”
Nhấn nút Verify:
Gõ chữ kí vào ô Signature và chọn Ok:
Trang 13Kết quả:
Vậy quá trình kí và xác thực chữ kí thành công