Đến nội dung

Hình ảnh

Truy lùng dấu vết kẻ phản bội


  • Please log in to reply
Chủ đề này có 36 trả lời

#1
RongChoi

RongChoi

    Thượng sĩ

  • Founder
  • 215 Bài viết
Chúng ta đang thảo luận ở đâu?

Vấn đề đang bàn : Kỹ thuật đánh dấu vân tay chống lại sự cấu kết của nhiều kẻ phản bội.
Bài toán con : Chống kẻ gian đổ tội cho người vô can


Kiến thức cơ sở cho việc thảo luận : không cần gì cả :D

Những phần cần đọc để theo việc thảo luận :

1 .Kỹ thuật đánh dấu vân tay http://www.diendanto...t=0

2. Tóm tắt các thảo luận và sự hình thức hóa vấn đề http://www.diendanto...t=0

Chỉ cần đọc hai bài trên, các bạn có thể tiếp tục theo cuộc thảo luận

-----------------------------------------


Tóm tắt các ý kiến thảo luận (từ mới đến cũ)

08/04 madness đề cập đến các vấn đề rất cơ bản về hiệu quả của việc lập mã
http://www.diendanto...=20

08/04 Badman đề nghị các phương án "lách luật:
http://www.diendanto...t=0

07/04 Badman kể chuyện đánh dấu sách khi cho học trò mượn đi photo
http://www.diendanto...t=0

07/04 Mathsbeginner nêu một vài phương án với sự kết hợp sử dụng mã hóa bí mật và công khai.
http://www.diendanto...t=0

06/04 Nemo đề xuất đưa thêm các bít nhiễu vào văn bản
http://www.diendanto...t=0

06/04 queofr đưa ra các nhược điểm có thể của kỹ thuật đánh dấu vân tay. queofr cũng đề cập tới vấn đề trong thực tế là ta cần có phương pháp riêng cho mỗi loại dữ liệu (text, hình ảnh, file chạy,...)
http://www.diendanto...t=0

06/04 leoteo mơ thấy lời giải nhưng quên béng mất (tiếc quá, chúng ta cùng hy vọng leoteo sẽ tiếp tục mơ và trước khi ngủ nhớ cầm cái bút :) )
http://www.diendanto...t=0

06/04 RongChoi giải thích thắc mắc của Nemo về việc làm sao ta có thể giữ bí mật của các vị trí được đánh dấu
http://www.diendanto...t=0

06/04 RongChoi trình bày kỹ thuật ìĐánh dấu vân tay” (Fingerprinting technique)
http://www.diendanto...t=0

05/04 Nemo cho rằng vấn đề là không thể giải quyết được
http://www.diendanto...t=0
04/04 RongChoi trình bày vấn đề thảo luận trong tuần "Truy lùng dấu vết kẻ phản bội"



======================VẤN ĐỀ THẢO LUẬN TRONG TUẦN======================



Truy lùng dấu vết kẻ phản bội


Phải chăng đây là một vấn đề của ngành cảnh sát điều tra? Quả là vậy, nhưng là chuyện "điều tra" của những "cảnh sát" trong thế giới huyền ảo của số liệu chứ không phải là thế giới thực của đời thường. Và vì thế, mỗi chúng ta hoàn toàn có thể trở thành những chiến sỹ điều tra thông minh để góp phần vào sự ìcông bằng thế giới”.

Thế nào được gọi là kẻ phản bội và thế nào được gọi là một cuộc truy lùng dấu vết? Những khái niệm đó sẽ được đề cập đến trong ìvấn đề trong tuần” kỳ này. Các kiểu ìtiểu xảo” tinh vi cũng như các chiến thuật cài bẫy điều tra tinh xảo sẽ được bàn luận. Vấn đề đi xa đến đâu sẽ hoàn toàn tùy thuộc vào sự nhiệt tình của chúng ta, những nguời tham gia, những người sẽ phải đặt mình không những vào vị trí của người điều tra sắc xảo mà còn phải đặt mình vào vị trí của kẻ ìtrốn tội” đầy mưu mô.

Chưa nắm kỹ hết các vấn đề nên Rong Chơi sẽ cùng các bạn tìm hiểu vấn đề hơn là việc sẽ đưa các bạn tới một cái đích, một lời giải cụ thể. Hy vọng với vấn đề rộng mở này, sau cuộc chơi mỗi người có thêm một sự thỏa mãn riêng, một sự mắc mớ riêng cho mình.

Trước hết, RC sẽ đề cập đến 2 vấn đề được quan tâm hiện nay :

1. Cung cấp thông tinh tĩnh : Giả sử bạn là người sản xuất ra một đĩa CD rất giá trị và bạn muốn mỗi người dùng hợp lệ sẽ phải mua chứ không phải là ăn cắp bản CD đó. Làm thế nào bạn có thể ngăn ngừa việc sao chép bất hợp lệ? Vấn đề đặt ra là làm thế nào bạn có thể đặt được một thông tin vào mỗi bản CD để khi bất kỳ người mua nào phát tán nó bạn cũng có thể lần ra dấu vết? Nói cách khác, nếu bạn bắt được một bản CD ìphi pháp”, bạn sẽ truy ra được ai là kẻ đã mua và phát tán nó.

2. Cung cấp thông tin động : Bạn là người phát chương trình VTV Knowledge với những cuộc đàm luận đỉnh cao thế giới và bạn muốn ai xem chương trình của bạn cần phải trả tiền mua. Bạn sẽ cung cấp cho mỗi khách hàng một bộ giải mã. Khi bạn phát tín hiệu, mỗi người đăng ký sẽ dụng bộ giải mã để giải tín hiệu và xem chương trình. Vấn đề được gọi là ìđộng” do bởi thông tin liên tục được cập nhật và để xem chương trình đòi hỏi sự tương tác liên tục giữa tín hiệu phát và bộ giải mã của người dùng. Vấn đề đặt ra là những kẻ phạm tội chuyên nghiệp đăng ký mua bộ giải mã rồi có thể mở hộp giải mã, lấy khóa giải mã và phát tán chúng hay sản xuất ra bộ giải mã mới và bán ngoài chợ dời. Nhiệm vụ đặt ra là làm thế nào để khi ta bắt một bộ giải mã giả (ra ngoài chợ dời mua), ta có thể truy lùng lại dấu vết xem kẻ phản bội nào (đã đăng ký làm thành viên mà rồi lại lợi dụng thông tin bí mật đi làm điều xấu xa) đã sản xuất ra bộ giải mã giả đó?

Bài viết đã được chỉnh sửa nội dung bởi RongChoi: 08-04-2005 - 16:16


#2
RongChoi

RongChoi

    Thượng sĩ

  • Founder
  • 215 Bài viết
Trước tiên, chúng ta hãy đề câp đến vấn đề thứ nhất.

Đặt vấn đề : Năm 2024, các thành viên của diễn đàn toán học đã miệt mài chọn lựa và tổng hợp 10000 bài viết hay nhất của diễn đàn toán học. Đó là sự tổng hợp các bài viết xuất sắc kỷ niệm 20 năm ngày diễn đàn toán học ra đời. Những thành viên của diễn đàn muốn góp phần đẩy mạnh sự phát triển các tài năng toán học bằng cách lập quĩ ìtuổi trẻ sáng tạo” của diễn đàn. Mỗi người mua đĩa tổng hợp này sẽ đóng góp 100 đồng (khi đó bằng 1000 USD) cho quĩ ìtuổi trẻ sáng tạo”.
Tuy nhiên, lại có nhiều kẻ can tâm làm điều xấu : mua đĩa của diễn đàn rồi sản xuất các đĩa giả và bán ra ngoài!
Mục đích : Nhiệm vụ của đội ìbảo vệ công lý” của diễn đàn là làm sao từ một đĩa lậu có thể truy lùng lại kẻ nào đã phát tán các đĩa giả!

Bạn đã bao giờ tìm hiểu đến vấn đề thực tế này chưa? Dù chưa hay có, chúng ta hãy thử đề xuất các phương án để thực thi nhiệm vụ truy lùng này!

Trước hết chúng ta hãy xem xét vấn đề đơn giản : Đĩa CD giả do chỉ 1 kẻ phản bội sản xuất.
(Vấn đề tiếp theo : Đĩa CD giả do nhiều kẻ phản bội cấu kết với nhau sản xuất)

#3
nemo

nemo

    Hoa Anh Thảo

  • Founder
  • 416 Bài viết
Chúng ta sẽ chẳng làm gì được nếu kẻ phản bội đó không nhét cái đĩa lấy cắp đấy vào máy tính và vô tình khởi động một chương trình "an ninh" mà chúng ta đã cài đặt sẵn trong mỗi đĩa CD. Chương trình này sẽ tự động khóa lại các dữ liệu không cho ghi chép khi nó được xác nhận là sản phẩm đã được mua hợp pháp (có thể vẫn bằng những kỹ thuật phổ biến hiện nay như cung cấp cho người mua một mật mã, khi nhập đúng mật mã chương trình sẽ được đăng ký và không còn khả năng ghi chép). Một kẻ muốn phát tán bất hợp pháp họ sẽ phải ghi chép ra nhiều đĩa khác, nếu họ khởi động chương trình ghi, chép, một chương trình ẩn sẽ tự động kích hoạt, chương trình này giống như một con Trojan sẽ cài vào máy và nếu máy đang kết nối mạng thì nó sẽ mở một cổng kết nối và "đánh tín hiệu về máy chủ" của chúng ta. Đồng thời chương trình này sẽ tự ghi lên đĩa sao chép và lưu giữ lại những thông tin cần thiết trên máy của kẻ sao chép (chẳng hạn các thông tin đăng kí trên máy biết đâu lưu trữ tên tuổi, số đt, địa chỉ, ... và đếm số lần đã sao chép). Nếu sau khi dung lượng trên đĩa không còn thì nó sẽ tự động khóa lại, chống ghi chép.

Anh RongChoi mở đề tài này thú vị ra phết, hy vọng mọi người cứ nêu thật nhiều ý tưởng cho các vấn đề.
<span style='color:purple'>Cây nghiêng không sợ chết đứng !</span>

#4
RongChoi

RongChoi

    Thượng sĩ

  • Founder
  • 215 Bài viết

Chúng ta sẽ chẳng làm gì được nếu kẻ phản bội đó không nhét cái đĩa lấy cắp đấy vào máy tính và vô tình khởi động một chương trình "an ninh" mà chúng ta đã cài đặt sẵn trong mỗi đĩa CD.

Chú nemo có 2 điểm chưa thể trở thành cảnh sát điều tra :D
- một là đánh giá thấp khả năng điều tra của mình, không có gì là ta không làm được cả.
- hai là đánh giá thấp khả năng của kẻ phản bội, không có gì là hắn không thể làm cả :)

Tuy vậy chú có tươg lai sẽ trở thành một chiến sỹ chuyên nghiệp vì đã nêu ra rất nhiều phương án thú vị có thể bắt được những tội phạm ... ngây thơ :D
Chúng ta hãy xem xét rằng kẻ phản bội rất chuyên nghiệp. Đối với chúng, cái đĩa CD của ta chỉ như mộ chuỗi dữ liệu 0,1 và do đó để sao chép thì chúng có thể tự tạo ra những chương trình riêng để sao chép từng bít 0,1 mà không cần dùng bất kể chương trình gì của chúng ta.
Ngoài ra các vần đề password cũng không ăn thua, kẻ gian có thể đưa password hợp lệ vào, mở file, lấy dữ liệu rồi sao chép toàn bộ dữ liệu sang đĩa khác. Tất cả các thao tác này hắn ta đều thực hiện mà không cần chạy bất cứ chương trình nào của chúng ta.

Chúng ta hãy giả thiết ở mức cao nhất rằng kẻ phản bội có thể sao chép dữ liệu thoải mái. Vấn đề là khi bắt được một bản sao chép giả, làm thế nào ta có thể lần lại dấu vết của chúng.

nemo nói là không thể là đánh giá sai cả tiền bối của chúng ta. Một trăm năm trước, khi mà thế giới còn chưa có các máy móc hiện đại như ngày nay, các bậc tiền bối đã nghĩ ra cách bán những bảng tính logarithm với những kỹ thuật thông minh hòng có thể truy ra kẻ sản xuất phi pháp. Mọi người đã từng nghe cha ông chúng ta kể lại chưa nhỉ?

#5
nemo

nemo

    Hoa Anh Thảo

  • Founder
  • 416 Bài viết
Vỏ quýt dày phải cần móng tay nhọn, móng tay em cùn thế này thì chỉ bóc vỏ khoai thôi :)
Em chưa nghe kể về chuyện các bậc tiền bối tìm ra thủ phạm bằng cách nào, em chỉ nghĩ là nếu ai đó cứ cầm cái CD đó ngắm nghía mà không làm gì cả thì chắc muốn bắt hắn chỉ còn cách rình mò, theo dõi, truy hỏi, khoanh vùng ... Không biết có cách nào có thể phân biệt được đâu là sao chép giả, đâu là sao chép hợp lệ và làm cách nào để các đĩa sao chép "ghi nhớ" lại được những thông tin từ lần chép đầu tiên và sau đó nó sẽ lưu thông tìn này trên các đĩa sao chép khác để khi tóm được một đĩa giả, bằng cách nào đấy có thể đọc lại được những gì đã diễn ra từ lần chép đầu !? Chắc anh RongChoi chỉ đơn thuần bàn đến vấn đề kỹ thuật thôi nhỉ, mấy cái Com pu tơ nói cho cùng cũng là vật vô tri, chúng ta không thể dụ dỗ, mua chuộc, lừa phỉnh, dọa nạt hay gây áp lực để nó "khai" ra cả, có lẽ lại phải "tấn công trên toàn mặt trận" thôi vì có thể Com pu tơ thì không nhưng con người thì lại rất dễ lay động :D
Em nói ba hoa thế, anh RongChoi đứng bắt em làm lính bóc khoai nhé :D
<span style='color:purple'>Cây nghiêng không sợ chết đứng !</span>

#6
RongChoi

RongChoi

    Thượng sĩ

  • Founder
  • 215 Bài viết
Kỹ thuật ìĐánh dấu vân tay” (Fingerprinting technique)

Bây giờ RC trình bày kỹ thuật của các bậc tiền bối truyền lại từ vài trăm năm trước :

Cách ta hàng vài thế kỷ người ta đã lập ra những bảng tính logarithm rất đồ sộ để tính log(x) với x chạy từ 1 đến hàng vài chục nghìn. Một bảng tính công phu như vậy ắt hẳn không muốn bị sao chép bất hợp pháp. Muốn vậy, người ta đã đánh dấu vào mỗi bảng tính một đặc trưng riêng nhằm hai mục đích:

1. Mỗi bảng tính có đặc trưng khác biệt riêng mà không làm ảnh hưởng đáng kể đến nội dung của nó. Nếu ta bán một bảng tính cho Nemo thì đặc trưng đó sẽ gắn với Nemo và do vậy nếu Nemo copy và đem bán cho leoteo thì bản giả của leoteo vẫn sẽ mang đặc trưng của Nemo và do vậy, chỉ cần bắt 1 bản gỉa do Nemo phát tán, ta có thể lần lại dấu vết kẻ phát tán là … Nemo !

2. Đặc trưng riêng này cần phải làm theo cách nào để không thể bị phát hiện. Tức là ta phải đánh dấu một đặc trưng duy nhất lên bảng tính để Nemo không thể phát hiện được ta đã đánh dấu vào đâu. (Ngược lại, nếu Nemo có thể phát hiện thì Nemo có thể sửa đặc trưng đó khác đi để xóa dấu vết). Việc đánh dấu thỏa mãn yêu cầu này gọi là đánh dấu ẩn (watermarking)

Quá trình làm thỏa mãn 2 điều kiện trên được gọi là quá trình đánh dấu vân tay lên sản phẩm (Fingerprinting).

Các cụ tiền bối đã làm thế nào?
Các cụ đã khéo léo đánh dấu vào bảng tính bằng cách thay đổi chút xíu giá trị kết quả bảng tính : thay đổi chữ số thứ 10 sau dấu phẩy chẳng hạn không làm thay đổi nhiều đến độ chính xác.


Cụ thể : Nếu các cụ định bán 1000 bản thì các cụ sẽ chọn ra 3 giá trị trên bảng tính : chẳng hạn với x1 =17 , x2= 567, x3=8999.
Khi Nemo đến mua 1 bảng tính của các cụ thì các cụ sẽ bán cho Nemo bảng tính với số hiệu 931 (c1 = 9, c2=3, c3=1) chẳng hạn.
Một cách ngầm định, giá trị bảng tính log(x) sẽ được giữ nguyên trừ ba giá trị của log(x1), log(x2), log(x3) :
- Chữ số thứ 10 sau dấu phẩy của log(x1) sẽ bị gán giá trị c1 = 9.
- Chữ số thứ 10 sau dấu phẩy của log(x2) sẽ bị gán giá trị c2 = 3.
- Chữ số thứ 10 sau dấu phẩy của log(x3) sẽ bị gán giá trị c3 = 1.
Rõ ràng Nemo có thể dùng bàn tính mình mua không vấn đề gì. Nhưng một khi Nemo copy và bán cho Leoteo thì chỉ cần kiểm tra giá trị ở ba vị trí x1,x2,x3 là ra số hiệu 931 gắn với người đã phát tán-Nemo.

Cách đánh dấu vân tay trên đạt độ an toàn (Secure Fingerprinting) vì khi mua về Nemo không có cách nào biết được người bán đã đánh dấu vào đâu, tức là không thể biết được vị trí x1, x2, x3.

Tuy nhiên bạn có thấy là phương pháp trên sẽ không còn an toàn nếu như Nemo mua 1 bản, anh Badman mua 1 bản rồi kết hợp với nhau để tạo ra 1 bản copy giả bán cho leoteo?

Câu hỏi :
1. Bạn hãy tìm ra chỗ hổng, tức là chỉ ra rằng việc kết cấu có thể xóa dấu vết

2. Bạn hãy đề xuất cách khắc phục :
a. trước hết bạn hãy đề xuất 1 cách đơn giản để sự kết cấu giữa nhiều kẻ phản bội không thể tạo ra dấu vết "giả" qui tội cho một người vô tội.
b. Bạn hãy đề xuất một cách giải vấn đề : từ một bản copy giả, chúng ta sẽ lần ra dấu vết của 1 trong các kẻ phản bội.

#7
nemo

nemo

    Hoa Anh Thảo

  • Founder
  • 416 Bài viết
Hay thật, cách thức mà các tiền bối làm có vẻ đơn giản nhưng thật hiệu quả, thế nhưng nếu chẳng hạn em định làm ăn lớn, chẳng tội gì em không đầu tư công sức để thay đổi toàn bộ chữ số thứ 10 sau dấu phẩy của bảng thế thì dù nhìn vào là các cụ biết được là bảng giả, bị sao chép nhưng vẫn đành ngậm bồ hòn thôi !
<span style='color:purple'>Cây nghiêng không sợ chết đứng !</span>

#8
RongChoi

RongChoi

    Thượng sĩ

  • Founder
  • 215 Bài viết
Nemo đã bắt đầu có dáng dấp của kẻ phạm tội chuyên nghiệp rồi đấy :)
Ý kiến của Nemo đánh đúng vào điều quan trọng : Đó là phải đánh dấu thế nào để người mua không biết ta đánh dấu vào đâu!

Thực ra ngày trước các cụ phải giấu kín thông tin là ìtôi đánh dấu vào chữ số thứ 10 sau dấu thập phân của một số giá trị”. Điều đó có lẽ là bí mật của một vài cụ bô lão thôi chứ không nói cho ai biết cả.

Ngày nay thì ta có thể làm thực tế hơn, không dấu giếm gì như các bậc tiền bối :D. Ta có thể có nhiều kiểu đánh dấu khác nhau. Đây là một ví dụ :

http://www.di.ens.fr/~phan/Tracing.bmp

Sự khác biệt rất nhỏ. Trong hình a) chữ ìfor” của dòng thứ 2 lệch sang trái 1 chút so với dòng bên trên. Và bạn có thể thấy hai dòng này có thể coi là hoàn toàn giống nhau (hình b) ). Như vậy, ở đây chữ ìfor” đã bị đánh dấu và nếu ta chỉ nhận được 1 phiên bản thì ta không thể nào phát hiện được là nó đã bị đánh dấu!

Tất nhiên việc chống làm giả chỉ áp dụng để chống photocopy tài liệu bất hợp pháp, chống sao chép đĩa bằng thủ thuật sao từng bít,… Nếu kẻ gian ngồi đọc rồi đánh lại toàn bộ văn bản theo cách của nó thì ta có lẽ đành bó tay. Tuy vậy trong thực tế thì có lẽ kẻ gian thường photo rồi bán chứ còn lập nhà in để sản xuất qui mô có lẽ quá rủi ro, dễ bị phát hiện và khi bị phát hiện thì tội quá nặng.

Ta từ đây đặt giả thiết rất thực tế rằng : Dữ liệu của ta là một chuỗi nhị phân 0,1. Trên đó ta có thể đánh dấu 1 số vị trí mà từ 1 bản thì không ai có thể phát hiện được. Kẻ phản bội có thể thay đổi tùy ý trạng thái các bít (từ 0 sang 1 và ngược lại) trên văn bản theo ý của chúng trước khi tán phát.

#9
leoteo

leoteo

    Một chút mặn giữa đại dương vời vợi

  • Hiệp sỹ
  • 271 Bài viết
Choáng, tự nhiên giờ vào đọc tiếp cái này mới giật mình. Đêm qua em mơ thấy một ý cho bài toán này :D. Sáng tỉnh dậy ko hề nhớ nhưng giờ thấy mới nhớ ra là hôm qua mình có mơ. Hì hì, em rất hay như thế này: cứ thỉnh thoảng tự nhiên mơ thấy một vấn đề nào đó, rất hay, chỉ có mỗi một điều là sáng ra thường ko nhớ là mình đã mơ, và nếu có nhớ là đã mơ về vấn đề đấy thì vấn đề điên đầu là phải ngồi nặn óc nghĩ xem mình mơ thế nào :D.

Cụ thể hôm qua em mơ thấy mình vào thư viện, tự nhiên giở một cái journal gì đấy, thấy luôn một tay đưa ra mấy câu hỏi về truy lùng tội phạm. Trong lúc mơ đấy em vẫn nhận thức đấy là mấy câu của chú Nemo (bác RC ko hề nhảy vào giấc mơ của em ngồi :D), và cái tay đấy trả lời câu hỏi đấy luôn, câu trả lời của bác ý làm em rất tâm đắc. Lúc đấy em nghĩ, hóa ra câu hỏi của chú Nemo đã có bác nào trả lời rồi, hôm tới sẽ trích dẫn bài báo này và trả lời cho chú Nemo xem.

Hê hê, giờ vấn đề của em sẽ là cố nhớ xem đã thấy gì trong giấc mơ. Xem xem cái ý tưởng trong giấc mơ là gì, và nó có ngớ ngẩn ko :). Tạm viết vài dòng thế đọc cho vui, hôm nào có thời gian em lại vào hầu chuyện tiếp. Hy vọng mấy hôm tới sẽ mơ tiếp :beer.
Trần trùng trục đi về không vướng víu

#10
queofr

queofr

    Lính mới

  • Thành viên
  • 1 Bài viết

Ta từ đây đặt giả thiết rất thực tế rằng : Dữ liệu của ta là một chuỗi nhị phân 0,1. Trên đó ta có thể đánh dấu 1 số vị trí mà từ 1 bản thì không ai có thể phát hiện được. Kẻ phản bội có thể thay đổi tùy ý trạng thái các bít (từ 0 sang 1 và ngược lại) trên văn bản theo ý của chúng trước khi tán phát.


Ky thuat danh dau truc tiep tren van ban bằng cách modify tai 1 vài noi nao do cua van ban thuong rat de bi pha vo. Vì kẻ làm giả chỉ cần so sánh 2 phiên bản để có thể phát hiện ra chỗ đánh giấu. Cho nên yêu cầu đầu tiên của sự đánh giấu là phải có tính đồng đều và ngẫu nhiên trên toàn vãn bản. Để sự khác biệt giữa 2 văn bản được trải rộng trên toàn nội dung. Tuy nhiên kẻ gian vẫn có khả năng làm giảm hiệu quả của biện pháp trên.
Đơn giản kẻ phản bội chỉ cần sử dụng "Blind Attack" co nghĩa là thay đổi thông tin một cách ngẫu nhiên ở tất cả mọi nơi trên văn bản miễn là văn bản vẫn còn giữ được giá trị.
Do vậy Watermarking cần phải robust, có nghĩa là vẫn còn giữ được những tính chất nào đó ngay cả khi bị "Blink Attack".
Việc tồn tại hay không 1 thuật toán Watermarking Robust trên mọi đối tượng văn bản vẫn là vấn đề bỏ ngỏ. Mỗi loại hình văn bản co những tính chất riêng của nó tùy thuộc vào nội dung ví dụ như hình ảnh, âm thanh, text, sofware... mỗi thuật toán Watermarking phải bảo tồn những tính chất đấy. Do đó kô thể đơn thuần coi tất cả văn bản như 1 chuỗi 0, 1, vì thuật toán có thể áp dụng cho loại hình văn bản này nhưng lại không thể áp dụng cho loại hình văn bản khác được.

Ví dụ áp dụng những phân tích trên cho việc dùng Watermarking bảo vệ sofware chẳng hạn:
-Kô thể modify tùy ý, ngẫu nhiên các bit cua chuong trình
-những đoạn mã thêm vào phải ko ảnh hưởng đến việc chạy của chương trình, và phải ở khắp nơi trong chương trình
-Những đoạn mã đó phải hợp lệ với cấu trúc lệnh của máy tính và kô đuợc quá "ngô nghê"
-Từ những đoạn mã đó phải Decrypt ra được những thông tin có chủ ý của nhà sản xuất. Hoạc nói ngược lại, từ những thông tin có chủ ý phải tạo ra được những đoạn mã đó.
.........

Do vậy mà vấn đề bảo vệ bản quyền software vẫn còn nan giải :)

#11
RongChoi

RongChoi

    Thượng sĩ

  • Founder
  • 215 Bài viết

Ky thuat danh dau truc tiep tren van ban bằng cách modify tai 1 vài noi nao do cua van ban thuong rat de bi pha vo.  Vì kẻ làm giả chỉ cần so sánh 2 phiên bản để có thể phát hiện ra chỗ đánh giấu.

Đây chính là lời giải câu hỏi số 1 ở trên : việc kết cấu có thể xóa dấu vết!

Như vậy chúng ta có thể quan tâm đến câu hỏi thứ 2!

Cho nên yêu cầu đầu tiên của sự đánh giấu là phải có tính đồng đều và ngẫu nhiên trên toàn vãn bản. Để sự khác biệt giữa 2 văn bản được trải rộng trên toàn nội dung. Tuy nhiên kẻ gian vẫn có khả năng làm giảm hiệu quả của biện pháp trên.
Đơn giản kẻ phản bội chỉ cần sử dụng "Blind Attack" co nghĩa là thay đổi thông tin một cách ngẫu nhiên ở tất cả mọi nơi trên văn bản miễn là văn bản vẫn còn giữ được giá trị. 


Chỗ này mình chưa đồng tình : Thay đổi thông tin một cách ngẫu nhiên cũng chỉ là hòng thay đổi trúng chỗ "bị đánh dấu". Một ví dụ là nếu như mình đánh 10 dấu chẳng hạn thì như vậy cần phải thay đổi tổng số 1/10 phần của văn bản để chúng 1 dấu, như vậy kể như văn bản bị thay đổi quá nhiều. Hơn nữa dù có tìm được 1 dấu di chăng nữa thì khả năng bị phát hiện vẫn rất lớn.

Đúng là với mỗi loại hình ta có một phương án khác nhau, file dữ liệu khác, file chạy khác,... Các hạn chế bạn đưa ra rất chuẩn xác và cần xem xét trong các trường hợp cụ thể. Tuy vậy giả thiết trên mình đưa ra như trên coi như tính đến trường hợp xấu nhất vì không hạn chế khả năng của kẻ gian.

Do vậy, chúng ta tiếp cận câu hỏi thứ 2 : Sự cấu kết có thể làm những kẻ phản bội phát hiện ra nhiều dấu (tức các vị trí trên văn bản ta chọn để đánh dấu). Hãy tìm phương pháp (có thẻ không hiệu quả, hiệu quả) để khăc phục việc này. RC ghi lại câu hỏi đã đặt ở trên để tiện việc theo dõi chủ đề:

Câu hỏi 2. Bạn hãy đề xuất cách khắc phục sự cấu kết :
a. trước hết bạn hãy đề xuất 1 cách đơn giản để sự kết cấu giữa nhiều kẻ phản bội không thể tạo ra dấu vết "giả" qui tội cho một người vô tội.
b. Bạn hãy đề xuất một cách giải vấn đề : từ một bản copy giả, chúng ta sẽ lần ra dấu vết của 1 trong các kẻ phản bội.

#12
mathsbeginner

mathsbeginner

    Trung sĩ

  • Founder
  • 120 Bài viết
Em mới nghĩ vài ý thế này:

Nếu giả thiết là kẻ gian có thể thoải mái sao chép từng bit 0, 1 thì chúng có thể áp dụng một thuật toán mã hóa trên văn bản đã sao chép rồi trao nhau chìa khóa giải mã để dùng. Tức là về nguyên tắc theo em là không thể phát hiện được kẻ phản bội. Tuy nhiên những tên làm theo kiểu này rõ ràng chỉ làm ăn theo kiểu "cò con" được vì nếu "đội bảo vệ công lí" của diễn đàn cũng "đóng giả" đi mua một đĩa về dùng thì sẽ tìm ngay được kẻ phản bội.

Với những kẻ gian có ý định làm ăn lớn hơn thì em thử đề xuất cách làm dựa trên mật mã khóa công khai.



1. Mỗi CD có tương ứng một bộ khóa. Người mua sẽ được cung cấp khóa công khai PK của bộ khóa này (số serial chẳng hạn). Nhà sản xuất sẽ giữ hai khóa bí mật SK mã hóa toàn bộ văn bản theo khóa SK và tìm cách giấu SK trong đĩa CD. SK sẽ được mã hóa theo một phương pháp bí mật hay công khai nào đó tùy nhà sản xuất và đặt vào vị trí các bit đầu của đĩa CD.

2. Mỗi lần người dùng khởi động đĩa một chương trình nhỏ sẽ chạy để giải mã các bit đầu cho ra SK. Sau đó một chương trình thứ 2 của chúng ta sẽ lấy SK kết hợp cùng với PK của người dùng để giải mã toàn bộ văn bản còn lại.

Khi đĩa CD bị phát tán, nhà sản xuất có thể lấy 1 đĩa CD bị làm giả đó dùng thuật toán giải mã của mình để xác định SK và do đó sẽ tìm ngay được PK tương ứng với người nào. Kẻ gian sẽ hầu như không thể thay đổi hay bỏ SK trong đĩa CD vì nếu làm vậy văn bản sẽ không thể được giải mã. Em nói "hầu như" là vì theo giả thiết của anh Rong Choi thì kẻ gian giỏi quá nên có thể hắn biết cách tráo các bit đầu đến các vị trí khác rồi sửa chương trình giải mã của chúng ta cho nó hướng đến đến các bit ấy hoặc "tranh thủ ăn cắp" SK khi nó đang nằm ở vùng nhớ đệm lúc giải mã chăng? Em không rành về lập trình nên không biết là kẻ gian có thể giỏi đến mức nào :)

Nếu thực hiện theo cách trên thì thời gian tính toán để giải mã liệu có trở thành vấn đề nghiêm trọng không ạ?

#13
nemo

nemo

    Hoa Anh Thảo

  • Founder
  • 416 Bài viết

Ky thuat danh dau truc tiep tren van ban bằng cách modify tai 1 vài noi nao do cua van ban thuong rat de bi pha vo.  Vì kẻ làm giả chỉ cần so sánh 2 phiên bản để có thể phát hiện ra chỗ đánh giấu

Giả sử các nhà sản xuất không đánh dấu trên các bit có nghĩa của văn bản mà thêm vào đó một chuỗi các bit nhiễu không ảnh hưởng tới nội dung văn bản (Các chương trình đọc văn bản trên sẽ nhận biết các bit nhiễu bằng một dấu hiệu nào đó như vị trí bắt đầu của các bit này chẳng hạn). Họ sẽ qui định chuỗi dài của chuỗi bit nhiễu và sẽ đánh dấu lần lượt các bit theo cách, sản phẩm sau sẽ được đánh dấu nối tiếp vào các bit đã đánh dấu của sản phẩm trước, như thế khi so sánh hai văn bản được đánh dấu kẻ gian chỉ phát hiện ra một phần được đánh dấu và vẫn chẳng làm gì được và cũng chẳng qui tội cho ai được. Vấn đề là nếu số lượng sản xuất càng lớn thì số bit nhiễu phải thêm vào cũng sẽ tăng tỷ lệ thuận.

Theo cách của chị Maths nếu mã hóa toàn bộ văn bản thì cần phải có một chương trình giải mã văn bản chứ không thể dựa vào các mã khóa được. Các chương trình cần có công cụ giải mã thì kẻ gian cũng có thể tự viết ra các công cụ giải mã.
<span style='color:purple'>Cây nghiêng không sợ chết đứng !</span>

#14
BadMan

BadMan

    Người quản trị

  • Founder
  • 1369 Bài viết
Hì, tớ cũng thích cái này, nhưng mọi người nhanh quá tớ theo không kịp. RC ra bài tập thật khó để hảm các cô các chú ấy lại đến cuối tuần cho tớ theo với :delta :leq Thế này mà gọi là Rong-Chơi thì khi vào cuộc chắc thiên hạ lè lưỡi mất. Hình đã gửi Hình đã gửi Hình đã gửi
Cơm, áo, gạo, tiền
Bút, nghiên, sách, vở

#15
RongChoi

RongChoi

    Thượng sĩ

  • Founder
  • 215 Bài viết
@Maths :
- Cách đầu tiên của em có vẻ có lý đấy. Maths mua 1 bản rồi tặng anh Badman 1 bản copy. Để xóa dấu vết thì Maths mã bản CD bằng khóa K thống nhất trước với anh Badman. Phương pháp này có thể tạm xóa được dấu vết nhưng rõ rang là không thể phát tán trên diện rộng được. Ngoài ra Maths cũng sẽ nơm nớp lo sợ đến một ngày anh Badman hối cải sẽ ìtự thú” trước công lý bằng cách đưa cho đội ìbảo vệ công lý” khóa K. Khi đó thì Maths không thể chối tội được. Do vậy rõ ràng Maths sẽ không dại gì áp dụng phương pháp này.
- Cách thứ 2 anh không hiểu lắm. Anh không hiểu vai trò PK để làm gì? Theo trong bài của Maths thì dùng PK kết hợp với SK để giải mã. Nhưng trong hệ khóa công khai thì PK đâu dùng để giải mã, nó dùng để lập mã chứ nhỉ :delta. Một điểm khác nữa là trong thực tế, không ai dùng hệ khóa công khai để mã dữ liệu cả. Hệ mã công khai chỉ dùng để mã những thông tin có độ dài nhỏ gọn mà thôi, trong khi đĩa CD gồm 10000 bài hay nhất của diễn đàn thì rất … hoành tráng 

@Nemo :
- Dùng chuỗi bít nhiễu theo anh là không ăn thua. Nếu ta có chương trình đọc nhận biết đâu là bắt đầu của chuỗi bít nhiễu thì kẻ gian cũng có thể có chương trình đó.

@Badman : đây quả thực là vấn đề mở nên chắc có rất nhiều phương án. Đúng như queofr nói thì việc giải quyết hoàn toàn vấn đề là chưa có. Nhưng RC thấy đấy mới là điểm hay để mình cùng thảo luận.

Vấn đề bây giờ là sự kết cấu (so sánh nhiều văn bản với nhau) có thể phát hiện ra một số bít dấu nhưng ta phải thiết kế các cách đánh dấu sao cho sự phát hiện các bít dấu này không ảnh hưởng quá nhiều tới việc điều tra.

Ta hình dung vấn đề như sau :

Giả sử ta định đánh http://dientuvietnam...n/mimetex.cgi?n dấu trên văn bản (giả thiết là văn bản nhị phân). Ở mỗi vị trí đánh dấu, giá trị của ìdấu” có thể là 0 hoặc 1. Khi đó ta sẽ dùng một tập ìtừ mã” nhị phân có độ dài http://dientuvietnam.../mimetex.cgi?n.

Xem xét trường hợp ta cần đánh 3 dấu vào các vị trí x1, x2, x3, khi đó các từ mã có dạng như 010 (vị trí x1 có giá trị 0, x2 có giá trị 2, x3 có giá trị 0), 101, 110,…
Như ta giả thiết là việc dánh dấu không làm thay đổi nội dung văn bản nên từ 1 phiên bản, không ai có thể phát hiện ra các vị trí bị đánh dấu. Tuy nhiên sự cấu kết từ nhiều phiên bản có thể làm các kẻ phản bội phát hiện ra dấu.
Ví dụ nếu ta dùng 2 từ mã 010 và 100 để đánh dấu cho A và B thì sự kết cấu giữa A và B sẽ phat hiện ra rằng ở vị trí x1 và x2 văn bản có giá trị khác nhau và chúng hiểu rằng văn bản bị đánh dấu tại hai vị trí này. Do đó, chúng có thể thay đổi giá trị ở hai vị trí này. Chú ý rằng vì ở vị trí x3 cả A và B đêu nhận giá trị 0 nên không thể phát hiện được là văn bản bị đánh dấu ở vị trí x3.

A và B như vậy có thể thay đổi giá trị ở vị trí x1 và x2 để xóa dấu vết. Các từ mã chúng sẽ có thể tạo ra là : 000, 010, 100,110, ?00,?10,0?0,1?0,??0 với ? là một ký hiệu đặc kiệt khác cả 0 lẫn 1. Dấu ? diễn tả sự tinh vi hơn của A và B khi chúng hoàn toàn có thể biến đổi các vị trí dấu theo một hình thái khác bít 0,1, chẳng hạn như xóa luôn bít đó.

Như vậy, sự kết cấu giữa A và B sẽ tạo ra được một không gian các từ mã mới. Vấn đề là ta phải làm sao để các từ mã này không tương ứng với 1 từ mã của một phiên bản nào khac (ngăn cản sự đổ tội cho người khác) và cao hơn, từ một trong các từ mã này ta phải truy lại được dấu vết của A hoặc B.

Muốn như vậy thì rõ ràng ta không thể dùng mội từ mã gán cho các phiên bản mà ta chỉ dùng 1 số từ mã mà thôi.

Hình thức hóa vấn đề :

Nếu ta đánh http://dientuvietnam...n/mimetex.cgi?n dấu thì số các từ mã sẽ là http://dientuvietnam...imetex.cgi?2^n. Ta sẽ chọn lựa một số trong các từ mã này để sử dụng. Tập các từ mã ta dùng được gọi là code http://dientuvietnam...n/mimetex.cgi?W các từ mã. Ta gọi http://dientuvietnam...mimetex.cgi?F(W) là tập các từ mã sinh ra được từ tập các từ mã http://dientuvietnam.../mimetex.cgi?W.
http://dientuvietnam.net/cgi-bin/mimetex.cgi?F(W) gồm tất cả từ mã thỏa mãn điều kiện : tại vị trí http://dientuvietnam...n/mimetex.cgi?i (http://dientuvietnam...n/mimetex.cgi?n), nếu mọi từ trong http://dientuvietnam.net/cgi-bin/mimetex.cgi?W đều có giá trị là bít http://dientuvietnam.net/cgi-bin/mimetex.cgi?b, thì nó cũng nhận giá trị bít http://dientuvietnam.net/cgi-bin/mimetex.cgi?b; ngược lại, nếu có 2 từ trong http://dientuvietnam.net/cgi-bin/mimetex.cgi?W có giá trị là 0,1 thì nó có thể nhận giá trị 0,1 hoặc ?.

Như vậy trong ví dụ trên http://dientuvietnam.net/cgi-bin/mimetex.cgi?W = {010 , 100 } và http://dientuvietnam.net/cgi-bin/mimetex.cgi?F(W) = {000, 010, 100,110, ?00,?10,0?0,1?0,??0}

Vấn đề ìsự kết cấu không thể độ tội cho người khác” được phát biểu bởi :

Điều kiện bảo vệ người vô tội: Với mọi tập con http://dientuvietnam.net/cgi-bin/mimetex.cgi?W của code C : http://dientuvietnam.net/cgi-bin/mimetex.cgi?F(W) :leq http://dientuvietnam.net/cgi-bin/mimetex.cgi?C sinh ra được từ tập kết cấu http://dientuvietnam.net/cgi-bin/mimetex.cgi?W chỉ là những phần tử trong http://dientuvietnam.net/cgi-bin/mimetex.cgi?W”, do đó không một ai vô tội bị bọn chúng qui kết.

Câu hỏi 3 : Hãy thiết kế code http://dientuvietnam.net/cgi-bin/mimetex.cgi?C để thỏa mãn điều kiện trên.
Chú ý rằng ta không yêu cầu độ hiệu quả mà chỉ yêu cầu sự đúng đắn mà thôi.

#16
BadMan

BadMan

    Người quản trị

  • Founder
  • 1369 Bài viết

Kỹ thuật ìĐánh dấu vân tay” (Fingerprinting technique)

Không biết mọi người đi đến đâu rồi và vấn đề "đánh dấu vân tay" đã được giải quyết thế nào nhưng tớ thì mới đọc đến đây nên reply luôn. Có thể là "không theo kịp thời đại" nhưng cũng mở rộng vấn đề bằng 1 kinh nghiệm bản thân như sau: Vấn đề bảo quản tủ sách cá nhân.

Tớ có 1 tủ sách cá nhân nhỏ nhỏ, nó là kết quả tích tụ từ ngày vào đại học đến nay, cả sách mua và sách photo. Trong số sách photo thì có 1 cuốn khá quí nhưng không tìm mua được nên phải photo lại từ sách của 1 thầy giáo. Thường sách photo thì chỉ được 5-7 năm là chữ tự nhiên tan ra, mờ dần. Do đó tớ phải cắn răng để photo giá đắt bằng lại mực xạ (các phòng công chứng thường photo loại mực này). Nhìn qua thì không có sự khác biệt về màu chữ nhưng mực bám rất chắc. Sau này có 1 lớp sinh viên muộn để photo và khi họ trả lại, tớ bảo "cuốn này không phải sách của thầy :delta". "Tụi nó" nhìn nhau cười rồi bảo - Tụi em thử xem thầy nhận ra không. (Xạo chưa). Hôm sau, một lớp khác cũng lại mượn sách thầy (sách bản in) rồi trả với 1 cuốn hoàn toàn như thế, nhưng cuốn này cũng không phải sách thầy. (Tụi nó muốn tìm xem bí mật là gì đấy mà). Thực chất vấn đề này khá đơn giản, chỉ cần đánh dấu vào 1 số trang, cố gắng càng tinh tế càng tốt. (Tụi nó bảo - lớp em phân công mỗi đứa dò 5 trang mà vẫn không tìm ra dấu vết (hết việc lại đi trêu thầy thế chứ :leq)

Nhưng nếu "người mượn" đến trả mà không có mình ở nhà thì làm sao nhỉ? Đấy là thời gian tớ ra học ở Hà Nội, tủ sách vẫn mở để phục vụ sinh viên và cậu bạn đồng nghiệp quản lý giúp. Trong một email gửi cậu bạn, bí mật được truyền đạt "Những cuốn sách/giáo trình có số trang <50 thì kiểm tra vết ở trang [Trang cuối - 5] (sở dĩ không phải các trang cuối là vì sau nhiều năm, 1-2 trang cuối có thể bị rách :leq), những cuốn có số trang <100 thì vết có ở trang [Trang đầu + 5] và [Trang 50 +5], ...". Hì, còn vết được đánh dấu thế nào thì không nói :leq

Hì, đấy chỉ là giải pháp tình thế. Hy vọng sau topic này sẽ học được cách "bảo quản" hiệu quả hơn :in

Tạm thế đã, tối ăn uống xong sẽ đọc tiếp phần kỹ thuật bắt đầu với các số nhị phân rồi tham gia tiếp :exists
Cơm, áo, gạo, tiền
Bút, nghiên, sách, vở

#17
BadMan

BadMan

    Người quản trị

  • Founder
  • 1369 Bài viết

Do vậy, chúng ta tiếp cận câu hỏi thứ 2 : Sự cấu kết có thể làm những kẻ phản bội phát hiện ra nhiều dấu (tức các vị trí trên văn bản ta chọn để đánh dấu). Hãy tìm phương pháp (có thẻ không hiệu quả, hiệu quả) để khăc phục việc này. RC ghi lại câu hỏi đã đặt ở trên để tiện việc theo dõi chủ đề:

Câu hỏi 2. Bạn hãy đề xuất cách khắc phục sự cấu kết :
a. trước hết bạn hãy đề xuất 1 cách đơn giản để sự kết cấu giữa nhiều kẻ phản bội không thể tạo ra dấu vết "giả" qui tội cho một người vô tội.
b. Bạn hãy đề xuất một cách giải vấn đề : từ một bản copy giả, chúng ta sẽ lần ra dấu vết của 1 trong các kẻ phản bội.

Vấn đề của RC đặt ra thú vị ở chỗ người tranh luận có thể tham gia với vai trò là "chính diện" - bảo vệ công lý hoặc "phản diện" - kẻ phản bội. Như vậy RC luôn luôn trong vai chính diện, số còn lại thì tùy cơ ứng biến - thấy vai diễn nào dễ thì nhảy vào :delta. Tớ vừa đọc đến đoạn này nên quote một fát với vai trò "kẻ phản bội" :leq

"Lách luật"

Giả sử kết cấu của CD là một dãy tín hiệu nhị phân {0,1}, bỏ qua nội dung mà các tín hiệu này thể hiện để có thể đánh dấu trên nó. Nghĩa là có thể đánh dấu ở một số vị trí trên dãy nhị phân làm cho nó khác với bản gốc mà vẫn không ảnh hưởng (hoặc ảnh hưởng không đáng kể) đến nội dung. Lúc này nếu kẻ phản bội buộc phải có từ 2 CD trở lên để nhận ra các vị trí đánh dấu (bằng cách so sánh dãy tín hiẹu nhị phân). Có nhiều trường hợp xảy ra:

- Nếu mỗi CD chỉ được đánh dấu tại 1 vị trí (tại vị trí i, bít 0 được thay bằng 1 và ngược lại) thì chỉ cần 2 CD là phát hiện đĩa CD gốc (chưa đánh dấu). Trường hợp này chắc nhà sản xuất không sử dụng nhưng kẻ phản bội vẫn xét đến :leq. Khi đấy:

+ Nếu số lượng CD phát hành :exists chiều dài của dãy nhị phân mô tả nội dung CD thì chỉ cần khôi phục CD đánh dấu (đổi bít i) trở về CD gốc, sau đó thay đổi nội dung bít thứ j để sao chép và phát tán từ CD mới này. Điều này cũng đồng nghĩa với việc tạo dấu vết "giả" để vu khống cho nạn nhân - người đã mua đĩa được đánh dấu tại j.

+ Nếu số lượng CD phát hành < chiều dài dãy nhị phân thì khó để biết chính xác là khi thay đổi nội dung bít j có thể vu khống cho một nạn nhân nào đó hay không (không biết nhà sản xuất có đánh dấu ở bít j của 1 CD nào đó không), cái này dẫn đến 1 bài toán xác suất. Tuy nhiên bằng 2 CD và phát hiện được nội dung bị thay đổi lần lượt ở vị trí i và k thì kẻ phản bội dễ dàng khôi phục lại CD gốc sau đó sao chép trên CD này hoặc thay đổi bít j để có khả năng vu khống cho nạn nhân j.

- Nếu mỗi CD được đánh dấu tại nhiều hơn 1 vị trí, kẻ phản bội không biết chính xác số bit được đánh dấu vì nếu nó có trong tay 2 CD và sau khi so sánh phát hiện CD1 được đánh dấu ở bít i và k, CD2 được đánh dấu ở bít j và l thì không thể kết luận "các CD phát hành được đánh dấu bằng 2 bít" vì có thể ở bít thứ m, cả 2 CD1&2 có trạng thái {0,1} giống nhau nhưng lại khác với CD3,4,... :in m cũng là bít dấu. Trong trường hợp này có thể phân chia tiếp các trường hợp con để xét hoặc đánh hỏa mù bằng cách khôi phục lại các bít bị đánh dấu (dựa vào các CD có trong tay) rồi tạo CD giả trước khi sao chép và phát tán.

- Trong trường hợp, bằng một cách nào đó kẻ phản bội (tay trong của nhà sản xuất chẳng hạn) có được đầy đủ các CD của hảng trước khi phát hành thì nó sẽ phát hiện ra cách đánh dấu và dễ dàng vu khống cho tất cả khách hành --> huy hiểm. Về mặt khách quan, toàn bộ CD không nên phát hành cùng 1 thời điểm, cùng 1 địa điểm để tránh việc so sánh bít phát hiện đánh dấu. Nguyên tắc chung là luôn giữ lại một (số) CD không phát hành để nếu kẻ phản bội có đầy đủ số CD tung ra thị trường thì cũng khó mà tìm ra qui luật đánh dấu.

Mới giả sử trường hợp đơn giản nhất, thô thiển nhất mà cũng đã thấy khó nhỉ. RC và mọi người xem phân tích của tớ có khả thi (cho kẻ phản bội) không nhé. Nếu có thì đi tiếp, nếu sai thì quay lui tìm đường khác :leq.
Cơm, áo, gạo, tiền
Bút, nghiên, sách, vở

#18
BadMan

BadMan

    Người quản trị

  • Founder
  • 1369 Bài viết
Nhận xét thêm từ các thảo luận ...

- Phân tích của Queofr nghiêng về kỹ thuật máy tính nên khá dể hiểu. Đồng ý với Queofr là không thể modify một cách tùy ý và ngẫu nhiên trên "văn bản" chẳng hạn việt bật/tắt các tín hiệu {1,0} như đã nói ở trên. Vì sẽ gây hậu quả nghiêm trọng (chương trình không chạy được, video bị nhiểu, ca sĩ bể giọng, hình ảnh bị nhoè, văn bản sai lỗi chính tả, ...). Nếu có thể, nhờ bác giải thích thuật ngữ "Blink Attack" và nói ý tưởng (hoặc link đến) thuật toán Watermarking Robust để những ai không đi sâu (chưa có khái niệm) trong lĩnh vực này vẫn hiểu được.

- Ý tưởng thêm "tín hiệu nhiễu" của Nemo là ý kiến hay. Nghĩa là dùng tín hiệu thêm vào để đánh dấu mà không đánh dấu vào "văn bản gốc". Thực ra rất nhiều kỹ thuật đã dùng ý tưởng này.

- Vấn đề của Mathsb cũng là 1 cách bảo vệ nhưng đã bàn sang 1 hướng khác. Hoặc là Mathsb nói rõ hơn về ý tưởng của mình (anh cũng chưa rõ lắm) hoặc là can thiệp trực tiếp vào nội dung của CD mà cụ thể là RC đang mô tả nó là dãy {0,1}.
Cơm, áo, gạo, tiền
Bút, nghiên, sách, vở

#19
RongChoi

RongChoi

    Thượng sĩ

  • Founder
  • 215 Bài viết
@Badman :

- Tất nhiên nhà sản xuất không thể đánh 1 bít dấu được rồi, vì nếu như vậy thì chỉ phát hành được tối đa là 2 CD mà thôi. Do vây, RC xin phép bỏ qua trường hợp này :delta

Trường hợp tổng quát ta có thể coi số dấu nhà sản xuất sử dụng là tất cả các vị trí ở đó tồn tại 2 phiên bản có giá trị khác nhau. Tất nhiên nhà sản xuất phải có cách chọn Code phù hợp để sự cấu kết của nhiều kẻ gian không thể tìm được tất cả các dấu.

- Nếu nhà sản xuất cấu kết với kẻ gian và đưa hết các đĩa cho kẻ gian trước khi phát hành thì … bó tay. Nhưng trong truờng hợp đó nhà sản xuất không cần áp dụng kỹ thuật điều tra cũng có thể biết…chính mình là kẻ gian 
Còn trong thực tế thì RC nghĩ nhà sản xuất chỉ cần dán tem lên đĩa là chống lại được việc kẻ gian ìxem” CD trước khi bán cho khách hàng. Khách hàng khi mua phải kiểm tra tem bảo hành con nguyên không (như tem trên rượu ý), nếu không còn nguyên mà vẫn mua thì bị nhà điều tra lần ra dấu vết cũng là đáng đời thôi :leq

Như vậy ta có thể giả thiết là nếu 1 bản CD giả được xây dựng từ 3 bản CD do nhà sản xuất cung cấp thì cả 3 người sở hữu 3 bản CD này đều có tội, không thể viện lý do này nọ để chốn tội hết cả.

Vấn đề đặt ra là liệu từ 3 bản CD này, những kẻ phản bội có thể tạo ra 1 bản CD tương ứng với từ mã của một người vô tội hay không?

#20
BadMan

BadMan

    Người quản trị

  • Founder
  • 1369 Bài viết

@Badman :

- Tất nhiên nhà sản xuất không thể đánh 1 bít dấu được rồi, vì nếu như vậy thì chỉ phát hành được tối đa là 2 CD mà thôi. Do vây, RC xin phép bỏ qua trường hợp này :delta

Trường hợp tổng quát ta có thể coi số dấu nhà sản xuất sử dụng là tất cả các vị trí ở đó tồn tại 2 phiên bản có vị trí khác nhau. Tất nhiên nhà sản xuất phải có cách chọn Code phù hợp để sự cấu kết của nhiều kẻ gian không thể tìm được tất cả các dấu.

- Nếu nhà sản xuất cấu kết với kẻ gian và đưa hết các đĩa cho kẻ gian trước khi phát hành thì … bó tay. Nhưng trong truờng hợp đó nhà sản xuất không cần áp dụng kỹ thuật điều tra cũng có thể biết…chính mình là kẻ gian 
Còn trong thực tế thì RC nghĩ nhà sản xuất chỉ cần dán tem lên đĩa là chống lại được việc kẻ gian ìxem” CD trước khi bán cho khách hàng. Khách hàng khi mua phải kiểm tra tem bảo hành con nguyên không (như tem trên rượu ý), nếu không còn nguyên mà vẫn mua thì bị nhà điều tra lần ra dấu vết cũng là đáng đời thôi :leq

Mấy cái râu ria kiểu như tớ nói ở trên và giải pháp đưa ra của nhà sản xuất RC là để "khóa người ngay" thôi còn với "kẻ phản bội" thì không có ý nghĩa gì nhiều, tuy nhiên trước khi bàn vào "kỹ xảo" của "dân buôn lậu" thì cũng nên đá qua các vấn đề thô cạch như thế để dân tình có khái niệm về việc "chống hàng giả". Mặt khác để bảo vệ một sản phẩm thì cần kết hợp nhiều giải pháp (vật lý: khóa cơ, khóa điện, logic: phần mềm, chương trình).

Có thể nói việc truy lùng dấu vết kẻ phản bội là một chuỗi "Vỏ quýt dày có móng tay nhọn" --> "Móng tay nhọn có bấm móng tay" --> "..." :leq

Bây giờ trở lại vấn đề chính:

Như vậy ta có thể giả thiết là nếu 1 bản CD giả được xây dựng từ 3 bản CD do nhà sản xuất cung cấp thì cả 3 người sở hữu 3 bản CD này đều có tội, không thể viện lý do này nọ để chốn tội hết cả.

Vấn đề đặt ra là liệu từ 3 bản CD này, những kẻ phản bội có thể tạo ra 1 bản CD tương ứng với từ mã của một người vô tội hay không?

Có hai thắc mắc với RC thế này:
- Vẫn xét bài toán là dãy nhị phân như giả thiết ở trên đúng không?
- Kẻ phản bội không nhất thiết phải tìm cách để vu khống cho 1 người vô tội. Mục đích của kẻ phản bội là tạo ra được các CD giả và che lấp dấu vết, nghĩa là nó tìm cách xóa dấu vết để khi nhà sản xuất có được trong tay các CD giả thì vẫn không truy ngược trở lại, hòng tìm ra ai đã phản bội. Nếu trả lời được câu hỏi của RC thì chỉ mới giải quyết được phần "không gây hại cho người cô tội" chứ chưa nói gì về việc tìm tội phạm, điều này cũng đồng nghĩa việc chấp nhận có CD giả trên thị trường??
Cơm, áo, gạo, tiền
Bút, nghiên, sách, vở




1 người đang xem chủ đề

0 thành viên, 1 khách, 0 thành viên ẩn danh