本發(fā)明涉及內(nèi)容制作裝置、內(nèi)容檢查裝置、內(nèi)容制作方法及包含內(nèi)容的數(shù)據(jù)構(gòu)造的計(jì)算機(jī)可讀介質(zhì)。
本申請基于2014年9月26日在日本提出的專利申請第2014-197116號主張優(yōu)先權(quán),這里引用這些內(nèi)容。
背景技術(shù):
數(shù)字的內(nèi)容能夠不損失信息而拷貝。此外,個人將拷貝的內(nèi)容向第三者不正當(dāng)?shù)胤职l(fā)的行為也能夠利用因特網(wǎng)等而能夠不花費(fèi)成本簡單地進(jìn)行。
用來防止上述那樣的內(nèi)容的不正當(dāng)利用的技術(shù)例如被稱作DRM(Digital Rights Management:數(shù)字著作權(quán)管理)等。作為DRM,主流是,內(nèi)容的提供者將內(nèi)容加密,從提供者接受到正當(dāng)?shù)慕饷苊荑€的利用者將內(nèi)容解密而利用的技術(shù)。但是,在這樣的伴隨著加密的技術(shù)中,由于在內(nèi)容的解密中需要專用的軟件,所以內(nèi)容的閱覽環(huán)境被限制,通用性較低。
所以,已知有被稱作數(shù)字水印(Digital Watermarking)的DRM的技術(shù)。所謂數(shù)字水印,是對內(nèi)容植入特定的內(nèi)容的信息(例如,作者名、費(fèi)用信息及可拷貝次數(shù)等)的技術(shù)。通過這樣將作為數(shù)字水印的信息植入到內(nèi)容中,來牽制內(nèi)容的不正當(dāng)?shù)目截惣安徽?dāng)?shù)姆职l(fā)等。
例如,如果在數(shù)字水印中預(yù)先包含表示正規(guī)地接受了內(nèi)容的分發(fā)的用戶的信息,則在內(nèi)容被不正當(dāng)?shù)胤职l(fā)的情況下,通過確認(rèn)數(shù)字水印的內(nèi)容,能夠追蹤不正當(dāng)?shù)剡M(jìn)行了分發(fā)的用戶。
作為數(shù)字水印的信息向內(nèi)容的植入形式之一,采取以使用戶不易感知到在內(nèi)容被再現(xiàn)時(shí)已植入了數(shù)字水印的方式進(jìn)行植入。
這里,聲音、圖像(靜止圖像)、動態(tài)圖像等的數(shù)據(jù)原本冗余度就較高,所以即使例如將數(shù)據(jù)的一部分變更而植入作為數(shù)字水印的信息,用來表現(xiàn)內(nèi)容的信息量也遠(yuǎn)遠(yuǎn)多于被人感知的信息量。因此,使得用戶在內(nèi)容再現(xiàn)時(shí)不感知到作為數(shù)字水印被植入的信息是比較容易的,在這一點(diǎn)上不易發(fā)生損害內(nèi)容制作者的意圖那樣的情況。
現(xiàn)有技術(shù)文獻(xiàn)
專利文獻(xiàn)1:日本特開2008-219875號公報(bào)
技術(shù)實(shí)現(xiàn)要素:
發(fā)明要解決的課題
但是,在內(nèi)容是電子書籍那樣的文書數(shù)據(jù)的情況下,內(nèi)容的冗余度較低。即,關(guān)于文書數(shù)據(jù),相對于被人感知的信息量,數(shù)據(jù)的信息量較少。因此,如果在內(nèi)容本身中植入數(shù)字水印,則由被植入的信息的影響帶來的感知上的變化比較醒目,損害內(nèi)容制作者的意圖的可能性較高。
例如,已知有對于基于XML形式或HTML形式等的構(gòu)造化文書用標(biāo)簽指定竄改檢測范圍、在所指定的竄改檢測范圍的層級化中、用標(biāo)簽將加密密鑰、認(rèn)證數(shù)據(jù)、簽名數(shù)據(jù)等作為數(shù)字水印的信息保存的技術(shù)(例如,參照專利文獻(xiàn)1)。
如果是這樣的技術(shù),則不易發(fā)生因植入的信息的影響帶來的感知上的變化。但是,在上述技術(shù)中,被作為數(shù)字水印植入的信息由在構(gòu)造化文書中定義文書構(gòu)造的標(biāo)簽明確地定義了是作為數(shù)字水印的信息。因此,用戶確定被植入了數(shù)字水印的信息的部位、并將所確定的部位的數(shù)字水印的信息除去這樣的不正當(dāng)?shù)男袨?,有可能被容易地進(jìn)行。
本發(fā)明是鑒于這樣的情況而做出的,提供一種在對具有構(gòu)造化文書的內(nèi)容植入信息時(shí)、在抑制因信息的植入帶來的內(nèi)容的感知上的變化的同時(shí)使信息的植入部位的確定變困難的內(nèi)容制作裝置、內(nèi)容檢查裝置、內(nèi)容制作方法及包含內(nèi)容的數(shù)據(jù)構(gòu)造的計(jì)算機(jī)可讀介質(zhì)。
用于解決課題的手段
本發(fā)明的第1技術(shù)方案,是一種內(nèi)容制作裝置,具備變換處理部,所述變換處理部在制作至少具有構(gòu)造化文書的構(gòu)造的內(nèi)容時(shí),進(jìn)行基于根據(jù)植入信息生成的變更控制代碼、對原內(nèi)容中包含的要素中的規(guī)定的主動性變更對象要素進(jìn)行變換的主動性要素變換,并且所述變換處理部進(jìn)行對原內(nèi)容中包含的要素中的規(guī)定的被動性變更對象要素進(jìn)行變換的被動性要素變換,以使由主動性變更結(jié)果要素帶來的與原內(nèi)容在知覺形態(tài)上的變化恢復(fù)為與再現(xiàn)原內(nèi)容時(shí)同等的狀態(tài),上述主動性變更結(jié)果是通過上述主動性要素變換而從上述主動性變更對象要素變換得到的。
本發(fā)明的第2技術(shù)方案,在上述第1技術(shù)方案的內(nèi)容制作裝置中,也可以是,上述內(nèi)容包括對再現(xiàn)上述構(gòu)造化文書時(shí)的知覺形態(tài)進(jìn)行擴(kuò)展的1個以上的擴(kuò)展控制信息,上述變換處理部以上述構(gòu)造化文書和上述1個以上的擴(kuò)展控制信息中的1個以上為對象,執(zhí)行上述主動性要素變換,以在上述構(gòu)造化文書和上述1個以上的擴(kuò)展控制信息中的1個以上中包含的要素為對象,執(zhí)行上述被動性要素變換。
本發(fā)明的第3技術(shù)方案,在上述第2技術(shù)方案的內(nèi)容制作裝置中,也可以是,上述內(nèi)容包括:指定與上述構(gòu)造化文書有關(guān)的裝飾的裝飾指定信息;和對上述構(gòu)造化文書的再現(xiàn)賦予動態(tài)功能的動態(tài)功能賦予信息的至少某一方,作為上述擴(kuò)展控制信息。
本發(fā)明的第4技術(shù)方案,在上述第1~第3的任一項(xiàng)技術(shù)方案的內(nèi)容制作裝置中,也可以是,上述變換處理部基于根據(jù)進(jìn)行錯誤校正編碼后的植入信息而生成的上述變更控制代碼,執(zhí)行上述主動性要素變換。
本發(fā)明的第5技術(shù)方案,在上述第1~第4的任一項(xiàng)技術(shù)方案的內(nèi)容制作裝置中,也可以是,上述變換處理部生成包括植入對象數(shù)據(jù)和基于上述植入對象數(shù)據(jù)計(jì)算出的校驗(yàn)碼在內(nèi)的上述植入信息。
本發(fā)明的第6技術(shù)方案,在上述第1~第5的任一項(xiàng)技術(shù)方案的內(nèi)容制作裝置中,也可以是,還具備對上述內(nèi)容的一部分或全部實(shí)現(xiàn)難讀化的難讀化處理部。
本發(fā)明的第7技術(shù)方案,在上述第1~第6的任一項(xiàng)技術(shù)方案的內(nèi)容制作裝置中,也可以是,上述變換處理部進(jìn)行上述主動性要素變換和上述被動性要素變換,以使上述主動性要素變換的集合和上述被動性要素變換的集合按照內(nèi)容的分發(fā)目標(biāo)的用戶的不同而不同。
本發(fā)明的第8技術(shù)方案,在上述第1~第7的任一項(xiàng)技術(shù)方案的內(nèi)容制作裝置中,也可以是,上述變換處理部將字符、字符間隔、對象的顏色、對象的尺寸、對象的形狀、對象的配置中的至少某1個變換,作為上述主動性要素變換或被動性要素變換。
本發(fā)明的第9技術(shù)方案,是一種內(nèi)容檢查裝置,對檢查對象內(nèi)容是否是由上述第1~第6中任一項(xiàng)所述的內(nèi)容制作裝置制作的內(nèi)容進(jìn)行檢查,具備:變更結(jié)果要素確定部,基于原內(nèi)容中的主動性變更對象要素或被動性變更對象要素的相似性,從檢查對象內(nèi)容中確定被動性變更結(jié)果要素或主動性變更結(jié)果要素;以及植入信息復(fù)原部,基于上述變更結(jié)果要素確定部確定的被動性變更結(jié)果要素或主動性變更結(jié)果要素的確定結(jié)果,將植入信息復(fù)原。
本發(fā)明的第10技術(shù)方案,在上述第9技術(shù)方案的內(nèi)容檢查裝置中,也可以是,還具備校驗(yàn)碼判斷部,上述校驗(yàn)碼判斷部判斷上述植入信息中包含的校驗(yàn)碼是否與利用包含在由上述植入信息復(fù)原部復(fù)原后的植入信息中的植入對象數(shù)據(jù)而計(jì)算出的值一致。
本發(fā)明的第11技術(shù)方案,是一種內(nèi)容制作方法,包括以下步驟:變換處理部在制作至少具有構(gòu)造化文書的構(gòu)造的內(nèi)容時(shí),執(zhí)行基于根據(jù)植入信息生成的變更控制代碼、對原內(nèi)容中包含的要素中的規(guī)定的主動性變更對象要素進(jìn)行變換的主動性要素變換,變換處理部執(zhí)行對原內(nèi)容中包含的要素中的規(guī)定的被動性變更對象要素進(jìn)行變換的被動性要素變換,以使由主動性變更結(jié)果要素帶來的與原內(nèi)容在知覺形態(tài)上的變化恢復(fù)為與再現(xiàn)原內(nèi)容時(shí)同等的狀態(tài),上述主動性變更結(jié)果是通過上述主動性要素變換而從上述主動性變更對象要素變換得到的。
本發(fā)明的第12技術(shù)方案,是一種包含內(nèi)容的數(shù)據(jù)構(gòu)造的計(jì)算機(jī)可讀介質(zhì),上述內(nèi)容在至少具有構(gòu)造化文書的構(gòu)造中,包括將原內(nèi)容中的主動性變更對象要素基于規(guī)定的變更控制代碼變換得到的主動性變更結(jié)果要素、和從原內(nèi)容中的被動性變更對象要素變換得到的被動性變更結(jié)果要素;上述數(shù)據(jù)構(gòu)造使計(jì)算機(jī)執(zhí)行以下過程:利用上述主動性變更結(jié)果要素,對于將上述內(nèi)容再現(xiàn)時(shí)的知覺形態(tài)賦予與將上述原內(nèi)容再現(xiàn)時(shí)不同的規(guī)定的變化,利用上述被動性變更結(jié)果要素,使由上述主動性變更結(jié)果要素賦予的知覺形態(tài)的變化恢復(fù)為與將原內(nèi)容再現(xiàn)時(shí)同等的狀態(tài)。
發(fā)明效果
根據(jù)有關(guān)上述本發(fā)明的技術(shù)方案,當(dāng)對具有構(gòu)造化文書的內(nèi)容植入信息時(shí),能夠在抑制因信息的植入帶來的內(nèi)容在感知上的變化的同時(shí)、使信息的植入部位的確定變困難。
附圖說明
圖1是表示第1實(shí)施方式的內(nèi)容制作裝置的結(jié)構(gòu)例的圖。
圖2是表示第1實(shí)施方式的原內(nèi)容的構(gòu)造例的圖。
圖3是表示由第1實(shí)施方式的內(nèi)容制作裝置進(jìn)行的綜合性變換的一形態(tài)例的圖。
圖4是表示由第1實(shí)施方式的內(nèi)容制作裝置進(jìn)行的主動性內(nèi)容變換的次序的一例的圖。
圖5是表示由第1實(shí)施方式的內(nèi)容制作裝置進(jìn)行的綜合性變換的另一形態(tài)例的圖。
圖6A是表示由第1實(shí)施方式的內(nèi)容制作裝置進(jìn)行的綜合性變換的另一形態(tài)例的圖。
圖6B是表示由第1實(shí)施方式的內(nèi)容制作裝置進(jìn)行的綜合性變換的另一形態(tài)例的圖。
圖7A是表示由第1實(shí)施方式的內(nèi)容制作裝置進(jìn)行的綜合性變換的另一形態(tài)例的圖。
圖7B是表示由第1實(shí)施方式的內(nèi)容制作裝置進(jìn)行的綜合性變換的另一形態(tài)例的圖。
圖8是表示由第1實(shí)施方式的內(nèi)容制作裝置進(jìn)行的綜合性變換的另一形態(tài)例的圖。
圖9是表示第1實(shí)施方式的內(nèi)容制作裝置執(zhí)行的處理次序例的流程圖。
圖10是表示第1實(shí)施方式的內(nèi)容檢查裝置的結(jié)構(gòu)例的圖。
圖11是表示第2實(shí)施方式的內(nèi)容制作裝置的結(jié)構(gòu)例的圖。
具體實(shí)施方式
以下,參照附圖對本發(fā)明的一實(shí)施方式的內(nèi)容制作裝置、內(nèi)容檢查裝置進(jìn)行說明。
<第1實(shí)施方式>
圖1表示作為第1實(shí)施方式的內(nèi)容制作裝置100的結(jié)構(gòu)例。該圖所示的內(nèi)容制作裝置100具備變換處理部101。
在內(nèi)容的制作時(shí),變換處理部101進(jìn)行主動性要素變換和被動性要素變換。
主動性要素變換,是基于根據(jù)植入信息生成的變更控制代碼、對原內(nèi)容中包含的要素中的規(guī)定的主動性變更對象要素進(jìn)行變換的處理。
關(guān)于由主動性要素變換進(jìn)行了變換后的主動性變更對象要素,稱作主動性變更結(jié)果要素。將主動性要素變換定義為對1個主動性變更對象要素進(jìn)行的各個變換。
被動性要素變換,是對原內(nèi)容中包含的要素中的規(guī)定的被動性變更對象要素進(jìn)行變換、以使由主動性變更結(jié)果要素帶來的與原內(nèi)容的感知形態(tài)上的變化回到與將原內(nèi)容再現(xiàn)時(shí)同等的狀態(tài)的處理。
關(guān)于由被動性要素變換進(jìn)行了變換后的被動性變更對象要素,稱作被動性變更結(jié)果要素。將被動性要素變換定義為對1個被動性變更對象要素進(jìn)行的各個變換。
此外,在本實(shí)施方式中,作為變更控制代碼(code)的生成源的植入信息,是應(yīng)向內(nèi)容植入的信息。在本實(shí)施方式中,植入信息作為植入對象數(shù)據(jù)而包含能夠用于將所制作出的內(nèi)容的正規(guī)的分發(fā)目標(biāo)的用戶確定的用戶確定信息。
另外,這里的由用戶確定信息確定的用戶也可以是個人以外,例如也可以是法人等的團(tuán)體。
此外,用戶確定信息也可以是雖然用其自身不能確定用戶、但通過與其他信息組合能夠確定用戶那樣的信息。例如用戶識別碼等其自身只是表示作為識別碼的數(shù)值等,不能夠直接確定用戶,但通過和與用戶識別碼建立了對應(yīng)的用戶名等的用戶信息的組合能夠確定用戶。
另外,作為植入信息包含的植入對象數(shù)據(jù)沒有被特別限定,也可以包含用戶確定信息以外的信息,但在以下的說明中,以植入對象數(shù)據(jù)包含用戶確定信息的情況為例進(jìn)行列舉。包含這樣的用戶確定信息作為植入對象數(shù)據(jù)的植入信息例如作為用于DRM(Digital Rights Management:數(shù)字著作權(quán)管理)的信息發(fā)揮功能。
在以后的說明時(shí),如以下這樣定義語句。
關(guān)于“主動性要素變換”的集合,稱作“主動性要素變換集合”。此外,關(guān)于“被動性要素變換”的集合,稱作“被動性要素變換集合”。
此外,在不對“主動性要素變換”和“被動性要素變換”特別區(qū)別的情況下,稱作“要素變換”。
此外,在不對“主動性變更對象要素”和“被動性變更對象要素”特別區(qū)別的情況下,稱作“變更對象要素”。
此外,關(guān)于通過對各個主動性變更對象要素進(jìn)行主動性要素變換而對內(nèi)容整體賦予的變換,稱作“主動性內(nèi)容變換”。
此外,關(guān)于通過對各個被動性變更對象要素進(jìn)行被動性要素變換而對內(nèi)容整體賦予的變換,稱作“被動性內(nèi)容變換”。
此外,在不對“主動性內(nèi)容變換”和“被動性內(nèi)容變換”特別區(qū)別的情況下,稱作“內(nèi)容變換”。
進(jìn)而,將組合了“主動性內(nèi)容變換”和“被動性內(nèi)容變換”的變換稱作“綜合性變換”。
內(nèi)容制作裝置100將被進(jìn)行綜合性變換后的原內(nèi)容200作為內(nèi)容300輸出。內(nèi)容300例如可以經(jīng)由網(wǎng)絡(luò)等向用戶分發(fā)。
圖2表示本實(shí)施方式的原內(nèi)容200的構(gòu)造例。本實(shí)施方式的原內(nèi)容200具有HTML文件201、CSS文件202和JavaScript文件203。
HTML文件201是用作為HTML(HyperText Markup Language)的標(biāo)記語言記述的文書的文件。HTML文件201是形成文本的文書和定義有文書構(gòu)造的信息的文件。HTML文件201中的文書構(gòu)造的定義通過對形成文書的要素(節(jié)點(diǎn))賦予標(biāo)簽來進(jìn)行。將如HTML文件201那樣定義了文書構(gòu)造的文書也稱作構(gòu)造化文書。
另外,作為原內(nèi)容200包含的構(gòu)造化文書,并不限定于HTML文件201,例如也可以如XML(Extensible Markup Language)、SGML(Standard Generalized Markup Language)等那樣是用其他的標(biāo)記語言記述的文件等。
CSS文件202是指定與由HTML文件201定義的要素有關(guān)的裝飾的信息(擴(kuò)展控制信息、裝飾指定信息的一例)。具體而言,CSS文件202被按照構(gòu)造化文書等中的作為控制顯示形式的樣式表之一的CSS(Cascading Style Sheets,層疊樣式表)記述。
另外,作為裝飾指定信息,并不限定于CSS文件202,也可以是其他的樣式表。
JavaScript文件203是對HTML文件的再現(xiàn)賦予動態(tài)功能的信息(擴(kuò)展控制信息、動態(tài)功能賦予信息的一例)。是用JavaScript(注冊商標(biāo))記述的程序的文件。
用HTML文件201表現(xiàn)靜態(tài)的狀態(tài)。而且,通過如本實(shí)施方式的原內(nèi)容200那樣包含JavaScript文件203,能夠在將HTML文件201再現(xiàn)而得到的內(nèi)容的形態(tài)中賦予動態(tài)或?qū)υ捫缘鹊膭討B(tài)的功能。
另外,作為動態(tài)功能賦予信息,也可以是JavaScript文件203以外的程序的文件。
此外,雖然圖示省略,但本實(shí)施方式的內(nèi)容制作裝置100的變換處理部101作為綜合性變換的對象的原內(nèi)容200,只要存儲在例如內(nèi)容制作裝置100具備的存儲裝置中或存儲在與內(nèi)容制作裝置100連接的外部的存儲裝置等中就可以。變換處理部101只要取得存儲在這些存儲裝置中的原內(nèi)容200就可以。
接著,參照圖3,說明由本實(shí)施方式的變換處理部101進(jìn)行的對于原內(nèi)容200的綜合性變換的一形態(tài)例。
在該圖中,將本實(shí)施方式的變換處理部101對原內(nèi)容200進(jìn)行的綜合性變換表示為F(x)。
作為在該圖中表示的綜合性變換(F(x))中的主動性內(nèi)容變換,變換處理部101對HTML文件201中的第1個到第k個主動性變更對象要素(N1~Nk)分別進(jìn)行基于第1個到第k個變更控制代碼(D1~Dk)的變換。伴隨著這些主動性要素變換,對內(nèi)容整體進(jìn)行主動性內(nèi)容變換(f1(x)~fk(x))。
此外,作為綜合性變換(F(x))中的被動性內(nèi)容變換,變換處理部101對JavaScript文件203中的第1個到第m個被動性變更對象要素(P1~Pm)分別進(jìn)行變換,以使由上述主動性內(nèi)容變換(f1(x)~fk(x))賦予的與原內(nèi)容200在視覺形態(tài)上的變化回到與原內(nèi)容200同等的狀態(tài)(f1-1(x)~fm-1(x))。
上述那樣的綜合性變換作為處理F可以如下述的式1那樣表示為1個以上的合成映像(式1是k=m的情況)。其中,式1中是星號表示映像的合成。
另外,主動性內(nèi)容變換和被動性內(nèi)容變換也可以不像式1那樣交替且相同數(shù)量。對于內(nèi)容的綜合性變換(式1的處理F)只要是對于知覺形態(tài)恒等性的映像,對于順序及個數(shù),不需要有交替或相同數(shù)量這樣的制約。例如也可以將多個主動性內(nèi)容變換用不同數(shù)量的被動性內(nèi)容變換來在感知形態(tài)上進(jìn)行抵消。在式2中例示主動性內(nèi)容變換和被動性內(nèi)容變換不是1對1的情況下的例子。
在式2的例子中,將f1和f2的主動性內(nèi)容變換用g1的被動性內(nèi)容變換抵消。同樣,將f3的主動性內(nèi)容變換用g2和g3抵消,將fk的主動性內(nèi)容變換用gm抵消。
以下,為了使說明變簡單,對k和m是相同數(shù)量的gi=fi-1的情況進(jìn)行敘述,只要綜合性變換關(guān)于知覺形態(tài)是恒等變換,則主動性內(nèi)容變換和被動性內(nèi)容變換的組合方式是任意的。以下,通過將為fi-1的部分置換為gj,能夠成為更一般性的形式。
[數(shù)式1]
[數(shù)式2]
F=(g1*f1*f2)*(g2*g3*f3)*…*(gm*fk)·····(式2)
如上述那樣進(jìn)行綜合性變換的結(jié)果是,制作出相同的圖3所示的內(nèi)容300。內(nèi)容300包括主動性變換HTML文件301、CSS文件202和被動性變換JavaScript文件303。
主動性變換HTML文件301是進(jìn)行了主動性內(nèi)容變換的HTML文件。被動性變換JavaScript文件303是進(jìn)行了被動性內(nèi)容變換的JavaScript文件。CSS文件202不進(jìn)行內(nèi)容變換,具有與原內(nèi)容200中的CSS文件202相同的內(nèi)容。
參照圖4,對如圖3的例子那樣進(jìn)行對于HTML文件201的主動性內(nèi)容變換的情況下的次序的一例進(jìn)行說明。
首先,變換處理部101對植入信息Dt1進(jìn)行編碼S1,生成1維代碼串Dt2。
植入信息Dt1如上述那樣是要向HTML文件201植入的信息,包括表示內(nèi)容的正當(dāng)?shù)姆职l(fā)目標(biāo)的用戶的用戶確定信息。用戶確定信息例如可以作為唯一地表示內(nèi)容的正當(dāng)?shù)姆职l(fā)目標(biāo)的用戶的用戶識別碼。另外,在該圖中,作為植入信息Dt1而表示了“ABCD”的字符串,但這表示植入信息Dt1可以是字符串,具體的植入信息Dt1的字符串是任意的。
接著,變換處理部101對1維代碼串Dt2進(jìn)行錯誤校正編碼S2,生成2維代碼串Dt3。
接著,變換處理部101通過進(jìn)行對于2維代碼串Dt3的分割處理S3,得到多個分割數(shù)據(jù)Dt4-1~Dt4-5。在本實(shí)施方式中,通過分割處理S3將2維代碼串Dt3分割而得到的分割數(shù)據(jù)Dt4-1~Dt4-5分別是變更控制代碼(D1~D5)。
另外,在不對分割數(shù)據(jù)Dt4-1~Dt4-5特別區(qū)別的情況下,記載為分割數(shù)據(jù)Dt4。此外,在如該圖的情況那樣將2維代碼串Dt3分割為5個分割數(shù)據(jù)Dt4-1~Dt4-5的情況下,在HTML文件201中對應(yīng)于設(shè)定了5個主動性變更對象要素(N1~N5)的情況下的例子。
此外,根據(jù)該圖的例子也可知,作為分割數(shù)據(jù)Dt4-1~Dt4-5的變更控制代碼(D1~D5)分別如圖示那樣,不需要是相同位(bit)數(shù)(數(shù)據(jù)長)。
接著,變換處理部101將作為分割數(shù)據(jù)Dt4-1~Dt4-5得到的變更控制代碼(D1~D5)對HTML文件201的各要素(主動性變更對象要素)N1~N5植入。
這里,作為將作為變更控制代碼的分割數(shù)據(jù)Dt4向?qū)?yīng)的主動性變更對象要素植入的形式,可以考慮有多種,作為一例可以采用以下這樣的形式。
首先,關(guān)于HTML文件201中的主動性變更對象要素,可以如以下這樣選擇。例如,變換處理部101在HTML文件201中,在定義段落的標(biāo)簽<p>到標(biāo)簽</p>之間作為文章記述的字符中,從開頭起隔著規(guī)定字符數(shù)地將第1個~第5個的字符分別選擇為主動性變更對象要素。
并且,變換處理部101對第1個~第5個的各字符(主動性變更對象要素)的代碼點(diǎn),分別基于變更控制代碼(D1~D5)的各自進(jìn)行變更。這樣,得到被植入了植入信息Dt1的主動性變換HTML文件301。
另外,變換處理部101也可以進(jìn)行在植入信息Dt1中包含校驗(yàn)碼(check digit)的處理。
變換處理部101例如可以如以下這樣在植入信息Dt1中包含校驗(yàn)碼。
這里,以用戶確定信息是“ABCD”的字符串、而被分配給由“ABCD”的字符串確定的用戶的秘密的字符串是“8QtZ2p”的情況為例進(jìn)行列舉。
該情況下的變換處理部101通過將“8QtZ2p”與“ABCD”的字符串上連結(jié),得到“ABCD8QtZ2p”的字符串。
在此基礎(chǔ)上,變換處理部101對于“ABCD8QtZ2p”的字符串,通過加密學(xué)的散列函數(shù)(例如SHA-512)計(jì)算散列值。并且,變換處理部101將通過計(jì)算得到的散列值附加到“ABCD”的字符串。這樣對“ABCD”的字符串中附加了散列值的信息成為植入信息Dt1。
此外,當(dāng)根據(jù)植入信息Dt1生成變更控制代碼時(shí),也可以將錯誤校正編碼S2和分割處理S3的至少某1個省略。此外,在不進(jìn)行分割處理S3的情況下,根據(jù)植入信息Dt1生成的變更控制代碼成為1個。在此情況下,在主動性變更對象要素有多個的情況下,只要對多個主動性變更對象要素分別用相同的1個變更控制代碼進(jìn)行主動性要素變換就可以。
此外,對應(yīng)于如上述那樣進(jìn)行了主動性內(nèi)容變換的情況,對于JavaScript文件203的被動性內(nèi)容變換例如如以下這樣進(jìn)行。
變換處理部101在JavaScript文件203中,對與作為主動性內(nèi)容變換的變換對象的主動性變更對象要素對應(yīng)的被動性變更對象要素P1~Pm分別進(jìn)行被動性要素變換。此時(shí),將被動性變更對象要素P1~Pm變換,以將主動性變換HTML文件301的與原內(nèi)容在視覺形態(tài)上的變化消除,即,進(jìn)行使上述的第1個~第5個的各字符(主動性變更結(jié)果要素)的代碼點(diǎn)成為與原內(nèi)容200相同的控制。這樣,得到被動性變換JavaScript文件303。
另外,在上述說明中,以主動性變更對象要素的數(shù)量與被動性變更對象要素的數(shù)量相同(k=m)的情況為例進(jìn)行列舉。但是,主動性變更對象要素的數(shù)量與被動性變更對象要素的數(shù)量并不一定相同。
當(dāng)內(nèi)容再現(xiàn)裝置(例如網(wǎng)絡(luò)瀏覽器等)將通過如上述那樣進(jìn)行綜合性變換而得到的內(nèi)容300再現(xiàn)時(shí),首先,通過將主動性變換HTML文件301再現(xiàn),得到以下這樣的形式。
即,將主動性變換HTML文件301再現(xiàn)而顯示的第1個~第5個的各字符(主動性變更結(jié)果要素)成為與將HTML文件201再現(xiàn)時(shí)不同的字符。
在此基礎(chǔ)上,通過內(nèi)容再現(xiàn)裝置,對如上述那樣顯示的主動性變換HTML文件301執(zhí)行被動性變換JavaScript文件303。由此,上述第1個~第5個的字符(主動性變更結(jié)果要素)的代碼點(diǎn)被變更為與原內(nèi)容200的HTML文件201中包含的主動性變更對象要素相同。結(jié)果,與第1個~第5個的要素對應(yīng)的字符顯示與使原內(nèi)容200再現(xiàn)時(shí)顯示的字符相同的字符。
通過這樣將內(nèi)容300再現(xiàn),由主動性變換HTML文件301賦予與原內(nèi)容200不同的視覺形態(tài)上的變化。在此基礎(chǔ)上,通過被動性變換JavaScript文件303加以變更,以使主動性變換HTML文件301的與原內(nèi)容在視覺形態(tài)上的變化回到與將原內(nèi)容再現(xiàn)時(shí)同等的狀態(tài)。
結(jié)果,內(nèi)容300通過主動性變換HTML文件301和被動性變換JavaScript文件303,被賦予了兩個階段的視覺性變更。作為顯示的內(nèi)容,具有與原內(nèi)容200相同的內(nèi)容。
此外,參照圖5,對以原內(nèi)容200中的HTML文件201和JavaScript文件203為對象的綜合性變換的另一形態(tài)例進(jìn)行說明。
即,該圖所示的綜合性變換(F(x))與圖3的情況相反,對原內(nèi)容200中的JavaScript文件203進(jìn)行主動性內(nèi)容變換(f1(x)~fk(x))、對HTML文件201進(jìn)行被動性內(nèi)容變換(f1-1(x)~fm-1(x))。
即,根據(jù)該圖和圖3可知,也可以調(diào)換作為主動性內(nèi)容變換的對象的文件和作為被動性內(nèi)容變換的對象的文件。
并且,在對如圖5那樣制作出的內(nèi)容300A進(jìn)行了再現(xiàn)的情況下,通過主動性變換JavaScript文件303A的執(zhí)行,對再現(xiàn)后的被動性變換HTML文件301A的視覺形態(tài)賦予變化。但是,被動性變換HTML文件301A被進(jìn)行被動性內(nèi)容變換。因此,由主動性變換JavaScript文件303A賦予的視覺形態(tài)的變化通過將被動性變換HTML文件301A自身再現(xiàn)而被恢復(fù)。結(jié)果,在將圖5的內(nèi)容300A再現(xiàn)的情況下,也進(jìn)行與原內(nèi)容200相同的視覺形態(tài)的顯示。
接著,對本實(shí)施方式的綜合性變換的另一形態(tài)例進(jìn)行說明。
圖6A是作為綜合性變換(F(x))而對HTML文件201進(jìn)行主動性內(nèi)容變換、對CSS文件202進(jìn)行被動性內(nèi)容變換的例子。
此外,圖6B與圖6A相反,是作為綜合性變換(F(x))而對HTML文件201進(jìn)行被動性內(nèi)容變換、對CSS文件202進(jìn)行主動性內(nèi)容變換的例子。
圖7A是作為綜合性變換(F(x))而對JavaScript文件203進(jìn)行主動性內(nèi)容變換、對CSS文件202進(jìn)行被動性內(nèi)容變換的例子。
此外,圖7B與圖7A相反,是作為綜合性變換(F(x))而對JavaScript文件203進(jìn)行被動性內(nèi)容變換、對CSS文件202進(jìn)行主動性內(nèi)容變換的例子。
這里,在圖3及圖5~圖7B中舉出的綜合性變換,是將主動性內(nèi)容變換和被動性內(nèi)容變換分別對原內(nèi)容200的構(gòu)造中的不同的文件實(shí)施。
相對于此,圖8是作為綜合性變換(F(x))而對相同的JavaScript文件203進(jìn)行主動性內(nèi)容變換和被動性內(nèi)容變換的例子。
這樣,本實(shí)施方式的綜合性變換也可以對原內(nèi)容200中的相同的1個文件進(jìn)行主動性內(nèi)容變換和被動性內(nèi)容變換。
此外,在如上述那樣以原內(nèi)容200的構(gòu)造中的相同的1個文件為對象進(jìn)行主動性內(nèi)容變換和被動性內(nèi)容變換時(shí),作為對象的文件并不限定于JavaScript文件203。即,作為進(jìn)行主動性內(nèi)容變換和被動性內(nèi)容變換的對象的文件,既可以是HTML文件201,也可以是CSS文件202。
在此基礎(chǔ)上,在對HTML文件201進(jìn)行主動性內(nèi)容變換和被動性內(nèi)容變換的情況下,作為本實(shí)施方式的內(nèi)容300,可以是至少具有HTML文件301的構(gòu)造。
此外,圖示的說明省略,但在主動性內(nèi)容變換中形成主動性要素變換集合的主動性要素變換的各自既可以對全部相同的1個文件進(jìn)行,也可以對多個文件分散進(jìn)行。
例如也可以是,在主動性要素變換集合中的k(k=k1+k2+k3)個主動性要素變換中,將k1個規(guī)定的主動性要素變換對HTML文件201進(jìn)行,將k2個規(guī)定的主動性要素變換對CSS文件202進(jìn)行,將k3個規(guī)定的主動性要素變換對JavaScript文件203進(jìn)行。
關(guān)于被動性要素變換集合中的m(m=m1+m2+m3)個被動性要素變換也是同樣的。
此外,在圖4的說明中,例示了變更控制代碼和主動性變更對象要素是1對1的關(guān)系的情況,但并不一定需要是1對1的關(guān)系。作為一例,也可以對多個不同的主動性變更對象要素分別通過相同的1個變更控制代碼進(jìn)行主動性要素變換。
進(jìn)而,也可以按照分發(fā)內(nèi)容的用戶來進(jìn)行不同的綜合性變換。按照用戶而使綜合性變換不同的模式,是多種多樣的。
作為一例,可以按照用戶而使主動性變更對象要素和對應(yīng)于它的被動性變更對象要素不同。
例如,當(dāng)如上述圖3的例子的情況那樣變更代碼點(diǎn)時(shí),對應(yīng)于某個用戶,在HTML文件201中,在定義段落的標(biāo)簽<p>到標(biāo)簽</p>之間作為文章記述的字符中,從開頭起相隔5個字符地選擇作為主動性變更對象要素的字符。相對于此,對應(yīng)于其他用戶,從開頭起相隔10個字符地選擇作為主動性變更對象要素的字符。隨著如上述那樣主動性變更對象要素的選擇不同,被動性變更對象要素的選擇也按照用戶而不同。
此外,在如上述那樣按照用戶而使主動性變更對象要素和被動性變更對象要素不同的情況下,主動性變更對象要素及被動性變更對象要素的數(shù)量也可以按照用戶而不同。
此外,也可以按照用戶而使進(jìn)行主動性內(nèi)容變換的文件和進(jìn)行被動性內(nèi)容變換的文件不同。
進(jìn)而,包含有主動性要素變換集合中的主動性要素變換各自作為變換對象的要素的文件也可以按照用戶而不同。
此外,在到此為止的說明中,作為主動性要素變換及被動性要素變換的視覺形態(tài)的控制的對象,舉出了是作為字符的對象的代碼點(diǎn)、即字符的例子,但并不限定于此。
例如,也可以通過主動性要素變換及被動性要素變換來控制作為相同字符的對象的字符間隔。
在字符間隔的控制時(shí),作為對HTML文件進(jìn)行主動性要素變換的情況下的一具體例,在<div id=“box1”class=“box”>的標(biāo)簽中,只要由<style>的標(biāo)簽將box的類(class)屬性中的letter-spacing的值基于變更控制代碼變更就可以。此外,作為與上述主動性要素變換對應(yīng)的被動性要素變換,例如只要對CSS文件中的id=“box1”記述為letter-spacing:normal就可以。
在如上述那樣進(jìn)行了要素變換的情況下,通過例如將HTML文件再現(xiàn),對與box1對應(yīng)配置的字符賦予遵循變更后的letter-spacing的值的字符間隔。但是,在CSS文件中,通過關(guān)于相同的box1記述有l(wèi)etter-spacing:normal,遵循上述HTML文件的letter-spacing的值的字符間隔被消除,恢復(fù)為標(biāo)準(zhǔn)的字符間隔。即,與將內(nèi)容再現(xiàn)得到的要素變換對應(yīng)的字符成為與原內(nèi)容200相同的視覺形態(tài)。
此外,基于要素變換的視覺形態(tài)的控制對象也可以是對象的顏色。此外,基于要素變換的視覺形態(tài)的控制對象也可以是對象的尺寸。此外,基于要素變換的視覺形態(tài)的控制對象也可以是對象的形狀。此外,基于要素變換的視覺形態(tài)的控制對象也可以是對象的配置(布局)。
在此基礎(chǔ)上,基于形成1個綜合性變換的多個主動性內(nèi)容變換及被動性內(nèi)容變換的視覺形態(tài)的控制對象例如也可以從上述字符、字符間隔、對象的顏色、對象的尺寸、對象的形狀、對象的配置等中適當(dāng)選擇。即,基于1個綜合性變換中的多組主動性要素變換及被動性要素變換的各組的視覺形態(tài)的控制對象也可以分別不同。
此外,作為視覺形態(tài)的控制對象的對象并不限定于字符,例如也可以是背景、框架等。
根據(jù)到此為止的說明可以理解,由本實(shí)施方式的內(nèi)容制作裝置100制作的內(nèi)容300是對原內(nèi)容200進(jìn)行了主動性內(nèi)容變換和被動性內(nèi)容變換而得到的。由此,內(nèi)容300具有包括從原內(nèi)容200中的主動性變更對象要素和被動性變更對象要素分別變換得到的主動性變更結(jié)果要素和被動性變更結(jié)果要素的數(shù)據(jù)構(gòu)造。
在此基礎(chǔ)上,在內(nèi)容300中,通過前面用圖4說明過的被動性內(nèi)容變換將植入信息Dt1植入。
并且,當(dāng)網(wǎng)絡(luò)瀏覽器等動作的信息處理裝置(計(jì)算機(jī))將內(nèi)容300再現(xiàn)時(shí),信息處理裝置如以下這樣利用內(nèi)容300中包含的主動性變更結(jié)果要素和被動性變更結(jié)果要素。即,信息處理裝置利用主動性變更結(jié)果要素,對將內(nèi)容300再現(xiàn)時(shí)的感知形態(tài)賦予與將原內(nèi)容200再現(xiàn)時(shí)不同的規(guī)定的變化。另一方面,信息處理裝置利用被動性變更結(jié)果要素,使由主動性變更結(jié)果要素帶來的感知形態(tài)的變化恢復(fù)為與將原內(nèi)容200再現(xiàn)時(shí)同等的狀態(tài)。
通過這樣再現(xiàn)內(nèi)容300得到的視覺形態(tài)在結(jié)果上與原內(nèi)容200相同。另一方面,例如通常的數(shù)字水印等相對于內(nèi)容被以與原內(nèi)容不同的視覺形態(tài)植入著作權(quán)保護(hù)信息。
如果與這樣的數(shù)字水印的技術(shù)比較,則本實(shí)施方式的內(nèi)容300雖然將著作權(quán)保護(hù)信息作為植入信息Dt1植入,但由于為與原內(nèi)容200相同的視覺形態(tài),所以不會損害例如內(nèi)容的制作者的意圖。
此外,通過將本實(shí)施方式的內(nèi)容300以與原內(nèi)容200相同的視覺形態(tài)再現(xiàn),不易被有惡意的用戶注意到例如被植入了基于植入信息Dt1的著作權(quán)保護(hù)信息。進(jìn)而,即使用戶認(rèn)識到被植入了植入信息Dt1,也由于沒有與原內(nèi)容200的視覺上的差異,所以難以確認(rèn)在內(nèi)容300中怎樣植入了植入信息Dt1。
在此基礎(chǔ)上,本實(shí)施方式的內(nèi)容制作裝置100的變換處理部101如前面說明過的那樣,可以根據(jù)內(nèi)容的分發(fā)目標(biāo)的用戶而使綜合性變換的內(nèi)容不同并制作內(nèi)容300。并且,將這樣制作出的內(nèi)容300向各用戶分發(fā)。
由此,發(fā)現(xiàn)綜合性變換的規(guī)則性變得更困難,確定植入信息Dt1是怎樣的變得更加困難。
如上述那樣,在本實(shí)施方式中,向內(nèi)容300植入的植入信息Dt1是包括用戶確定信息并按照內(nèi)容300的分發(fā)目標(biāo)的每個用戶而固有的信息。通過這樣對內(nèi)容300植入用戶確定信息,能夠如以下這樣確定不正當(dāng)?shù)胤职l(fā)了內(nèi)容的用戶。
圖10表示本實(shí)施方式的內(nèi)容檢查裝置的結(jié)構(gòu)例。該圖所示的內(nèi)容檢查裝置400具備變更結(jié)果要素確定部401、植入信息復(fù)原部402及校驗(yàn)碼判斷部403。
變更結(jié)果要素確定部401基于與原內(nèi)容中的主動性變更對象要素或被動性變更對象要素的相似性,從檢查對象內(nèi)容500確定變更結(jié)果要素(被動性變更結(jié)果要素或主動性變更結(jié)果要素)。
植入信息復(fù)原部402基于變更結(jié)果要素確定部401的變更結(jié)果要素的確定結(jié)果,將植入信息復(fù)原。
校驗(yàn)碼判斷部403判斷植入信息中包含的校驗(yàn)碼是否與利用包含在植入信息復(fù)原部402所復(fù)原出的植入信息中的用戶確定信息(植入對象數(shù)據(jù)的一例)而計(jì)算出的散列值(計(jì)算出的值的一例)一致。
根據(jù)上述結(jié)構(gòu)可以理解,內(nèi)容檢查裝置400將植入在內(nèi)容中的植入信息Dt1復(fù)原,作為不正當(dāng)?shù)胤职l(fā)的內(nèi)容的檢查。
以圖4的內(nèi)容的情況為例,對植入信息Dt1的復(fù)原的具體例進(jìn)行說明。變更結(jié)果要素確定部401首先進(jìn)行作為檢查對象的HTML文件中的變更結(jié)果要素(主動性變更結(jié)果要素或被動性變更結(jié)果要素)的確定。因此,變更結(jié)果要素確定部401將原內(nèi)容和檢查對象的內(nèi)容分別進(jìn)行文章結(jié)構(gòu)解析,從檢查對象內(nèi)容中提取與原內(nèi)容的變更對象要素相似(或一致)的要素(變更結(jié)果要素候選)。
基于相似性的變更結(jié)果要素的提取,例如可以如以下這樣進(jìn)行。即,變更結(jié)果要素確定部401取得被文章結(jié)構(gòu)解析后的結(jié)果作為樹構(gòu)造,從樹構(gòu)造的根(root)要素向子要素一個層級一個層級地追尋相似的要素。并且,變更結(jié)果要素確定部401在追尋相似的要素的過程中,提取能得到與原內(nèi)容的變更對象要素之間的對應(yīng)的檢查對象內(nèi)容的要素,作為變更結(jié)果要素。
這里,想要不正當(dāng)?shù)胤职l(fā)內(nèi)容的用戶有可能為了使植入信息Dt1的復(fù)原困難化而在檢查對象的內(nèi)容的構(gòu)造中例如加入要素的變更、追加、刪除等的變化??紤]這樣的情況,變更結(jié)果要素確定部401在變更結(jié)果要素的提取時(shí),也可以并不一定將完全一致的要素作為對象。
例如,變更結(jié)果要素確定部401在從根(root)要素向子要素一個層級一個層級地追尋相似的要素時(shí),只要在得到了規(guī)定的閾值以上的相似度的情況下將能得到與原內(nèi)容的變更對象要素之間的對應(yīng)的要素作為變更結(jié)果要素提取即可。
作為具體例,如果是HTML文件的情況,則<div style=“background-color:#123456”>的記述和<div style=“background-color:#123457”>的記述具有閾值以上的相似度。此外,也可以將<div>標(biāo)簽和功能相似的<span>標(biāo)簽看作相似性較高。
通過這樣提取變更結(jié)果要素,確定變更結(jié)果要素。
基于上述變更結(jié)果要素的確定結(jié)果,植入信息復(fù)原部402提取HTML文件中的按照第1個到第5個要素N1~N5植入的作為變更控制代碼的分割數(shù)據(jù)Dt4-1~Dt4-5。
植入信息復(fù)原部402例如可以基于原內(nèi)容200的HTML文件201中的第1個到第5個各要素相對于內(nèi)容300的主動性變換HTML文件301中的第1個到第5個各要素之差,來提取分割數(shù)據(jù)Dt4-1~Dt4-5。
植入信息復(fù)原部402將提取出的分割數(shù)據(jù)Dt4-1~Dt4-5連結(jié)而生成2維代碼串Dt3,通過進(jìn)行錯誤校正,生成1維代碼串Dt2,上述錯誤校正中利用了附加在2維代碼串Dt3中的錯誤校正代碼。并且,植入信息復(fù)原部402對1維代碼串Dt2進(jìn)行解密而生成植入信息Dt1。這樣,能夠通過植入信息復(fù)原部402從不正當(dāng)?shù)胤职l(fā)的內(nèi)容復(fù)原植入信息Dt1。
植入信息復(fù)原部402通過取得如上述那樣被復(fù)原的植入信息Dt1,能夠取得用戶確定信息。
關(guān)于內(nèi)容不正當(dāng)分發(fā)的監(jiān)視者擁有用戶確定信息數(shù)據(jù)庫,該用戶確定信息數(shù)據(jù)庫保存有到目前為止正規(guī)地分發(fā)了內(nèi)容的各個用戶的用戶確定信息。所以,監(jiān)視者通過將由內(nèi)容檢查裝置400取得的用戶確定信息與用戶確定信息數(shù)據(jù)庫進(jìn)行對照,能夠確定不正當(dāng)?shù)貙?nèi)容再分發(fā)的用戶。
另外,也可以使內(nèi)容檢查裝置400存儲上述用戶確定信息數(shù)據(jù)庫。并且,內(nèi)容檢查裝置400也可以將從被不正當(dāng)?shù)胤职l(fā)的檢查對象內(nèi)容中取得的用戶確定信息與用戶確定信息數(shù)據(jù)庫進(jìn)行對照,能夠確定不正當(dāng)?shù)貙?nèi)容再分發(fā)的用戶。
此外,內(nèi)容檢查裝置400也可以在取得用戶確定信息后,進(jìn)一步進(jìn)行所取得的用戶確定信息是否真被植入到了由內(nèi)容制作裝置100生成的內(nèi)容中的驗(yàn)證(判斷)。
在通過上述方法的用戶確定信息的取得(植入信息Dt1的復(fù)原)時(shí),在將不是從原內(nèi)容制作出的內(nèi)容的別的內(nèi)容作為對象而進(jìn)行植入信息的復(fù)原的情況下,復(fù)原后的植入信息有可能偶然性地與從原內(nèi)容制作的內(nèi)容的植入信息一致。
為了將植入信息(用戶確定信息)偶然性地一致的可能性排除,如上述那樣在內(nèi)容變換時(shí)對植入信息附加校驗(yàn)碼是有效的。并且,內(nèi)容檢查裝置400在植入信息的復(fù)原時(shí),通過進(jìn)行利用了附加在該植入信息中的校驗(yàn)碼的驗(yàn)證,能夠判斷植入信息是否不是別的內(nèi)容而是真的被植入到原內(nèi)容中。即,能夠判斷所取得的用戶確定信息是否真的被植入到由內(nèi)容制作裝置100生成的內(nèi)容中。
內(nèi)容檢查裝置400例如可以如以下這樣進(jìn)行利用校驗(yàn)碼的驗(yàn)證。
如上述那樣,校驗(yàn)碼例如是利用在“ABCD”等作為用戶確定信息的字符串上連結(jié)了“8QtZ2p”等秘密的字符串后的字符串(“ABCD8QtZ2p”)計(jì)算而得到的散列值,該校驗(yàn)碼被附加到用戶確定信息的字符串中。
所以,內(nèi)容檢查裝置400利用從檢查對象的內(nèi)容取得的用戶確定信息計(jì)算散列值。并且,對計(jì)算出的散列值與從檢查對象的內(nèi)容中取得的植入信息中包含的校驗(yàn)碼是否一致進(jìn)行判斷。
如果散列值與校驗(yàn)碼一致,則判斷為所取得的用戶確定信息真的被植入到由內(nèi)容制作裝置100生成的內(nèi)容中。
另一方面,如果散列值與校驗(yàn)碼不一致,則判斷為所取得的用戶確定信息并不是真的被植入到由內(nèi)容制作裝置100生成的內(nèi)容中。
另外,在加密學(xué)的散列函數(shù)中,對于不同的輸入、輸出有沖突的概率事實(shí)上能夠忽視。因此,關(guān)于不由信息植入裝置生成的內(nèi)容,可以認(rèn)為內(nèi)容檢查裝置400計(jì)算出的散列值與從檢查對象內(nèi)容取得的校驗(yàn)碼一致的情況在事實(shí)上不會發(fā)生。
如上述那樣,在內(nèi)容檢查裝置400中,能夠確定正規(guī)地接受了內(nèi)容的分發(fā)的用戶。在此情況下,能夠捕捉為如上述那樣確定的用戶將自己正規(guī)地接受到分發(fā)的內(nèi)容再不正當(dāng)?shù)剡M(jìn)行了再分發(fā)。即,通過確定正規(guī)地接受了內(nèi)容的分發(fā)的用戶,能夠確定不正當(dāng)?shù)胤职l(fā)內(nèi)容的用戶。
這樣,被植入了植入信息Dt1的內(nèi)容300具有能夠確定不正當(dāng)?shù)剡M(jìn)行了分發(fā)的用戶的著作權(quán)保護(hù)功能。
此外,如在圖4中說明過的那樣,本實(shí)施方式的變更控制代碼可以經(jīng)過錯誤校正編碼S2的處理而生成。即,在本實(shí)施方式中,能夠基于變更控制代碼進(jìn)行主動性要素變換,上述變更控制代碼是基于被錯誤校正編碼后的植入信息Dt3生成的。
例如在有惡意的用戶將內(nèi)容300不正當(dāng)?shù)胤职l(fā)時(shí),有可能對內(nèi)容300中的主動性變更結(jié)果要素進(jìn)行竄改。但是,通過如上述那樣進(jìn)行基于錯誤校正編碼的植入信息Dt3的主動性要素變換,即使進(jìn)行了對于主動性變更結(jié)果要素的竄改,通過錯誤校正能夠?qū)⒅踩胄畔t1正常地復(fù)原的可能性也變高。由此,例如監(jiān)視者能夠確定不正當(dāng)?shù)胤职l(fā)了內(nèi)容的用戶的可能性變高。
接著,參照圖9的流程圖,對內(nèi)容制作裝置100執(zhí)行的處理次序例進(jìn)行說明。另外,該圖所示的處理如在圖3及圖4中說明過的那樣,對應(yīng)于作為綜合性變換而對HTML文件201進(jìn)行主動性內(nèi)容變換、對JavaScript文件203進(jìn)行被動性內(nèi)容變換的情況下的例子。
在內(nèi)容制作裝置100中,變換處理部101輸入植入信息Dt1(步驟S101)。
接著,變換處理部101利用在步驟S101中輸入的植入信息Dt1,生成與HTML文件201中的第i個主動性變更對象要素Ni(1≤i≤k)分別對應(yīng)的變更控制代碼D1~Dk(步驟S102)。
在前面用圖4說明過的例子中,變更控制代碼D1~Dk是分割數(shù)據(jù)Dt4-1~Dt4-5(k=5),例如通過變換處理部101執(zhí)行在圖4中說明過的編碼S1、錯誤校正編碼S2、分割處理S3而得到。
接著,變換處理部101將作為初始值的1向變量i代入(步驟S103)。
接著,以后的變換處理部101進(jìn)行以HTML文件201為對象的用于主動性內(nèi)容變換fi(x)的處理。
為此,變換處理部101對于HTML文件201中的主動性變更對象要素Ni,進(jìn)行基于變更控制代碼Di的主動性要素變換(步驟S104)。
在由步驟S104進(jìn)行主動性要素變換后,變換處理部101在將變量i遞增后(步驟S105),對變量i是否比作為最大值的k大進(jìn)行判斷(步驟S106)。
在變量i是k以下的情況下(步驟S106-否),還沒有完成全部的主動性要素變換。
所以,該情況下的變換處理部101通過將處理向步驟S104返回,對HTML文件201中的下個主動性變更對象要素Ni進(jìn)行主動性要素變換。
并且,對應(yīng)于對全部主動性變更對象要素N1~Nk的主動性要素變換完成,變換處理部101判斷為變量i比k大(步驟S106-是)。在此情況下,變換處理部101轉(zhuǎn)移到用于以JavaScript文件203為對象的被動性內(nèi)容變換的以下的處理。
接著,變換處理部101對于變量j,代入作為初始值的1(步驟S107)。
接著,變換處理部101對JavaScript文件203中的被動性變更對象要素Pj進(jìn)行被動性要素變換(步驟S108)。
在由步驟S108進(jìn)行了對于被動性變更對象要素Pj的被動性要素變換后,變換處理部101在將變量j遞增后(步驟S109),對變量j是否比作為最大值的m大進(jìn)行判斷(步驟S110)。
在變量j是m以下的情況下(步驟S110-否),全部的被動性要素變換還沒有完成。
所以,該情況下的變換處理部101通過將處理向步驟S108返回,以JavaScript文件203為對象,進(jìn)行對于下個被動性變更對象要素Pj的被動性要素變換。
并且,若對應(yīng)于對全部被動性變更對象要素P1~Pm的被動性要素變換(被動性內(nèi)容變換)完成,而變換處理部101判斷為變量j比m大(步驟S110-是),則結(jié)束該圖所示的處理。
這樣,通過進(jìn)行主動性內(nèi)容變換和被動性內(nèi)容變換(綜合性變換),例如如圖3所例示那樣,制作出包括主動性變換HTML文件301、被動性變換JavaScript文件303及CSS文件202的內(nèi)容300。
另外,在該圖所示的處理次序中,先執(zhí)行主動性內(nèi)容變換(步驟S101~S106),接著執(zhí)行被動性內(nèi)容變換(步驟S107~S110)。但是,也可以是先執(zhí)行被動性內(nèi)容變換、接著執(zhí)行主動性內(nèi)容變換的處理次序。
此外,也可以是按照第i個主動性變更對象要素Ni與第j個被動性變更對象要素Pj的組合、依次執(zhí)行對于第i個主動性變更對象要素Ni的主動性要素變換和對于第j個被動性變更對象要素Pj的被動性要素變換的處理次序。在此情況下,作為主動性要素變換與被動性要素變換的順序,既可以為主動性要素變換為先、被動性要素變換為后,相反也可以為被動性要素變換為先、主動性要素變換為后。
<第2實(shí)施方式>
接著,對第2實(shí)施方式進(jìn)行說明。圖11表示第2實(shí)施方式的內(nèi)容制作裝置100A的結(jié)構(gòu)例。另外,在該圖中對于與圖1相同的部分賦予相同的標(biāo)號,這里主要對與圖1的不同點(diǎn)進(jìn)行說明。
該圖所示的內(nèi)容制作裝置100A除了變換處理部101以外,還具備難讀化處理部102。
難讀化處理部102關(guān)于內(nèi)容300的一部分或全部實(shí)現(xiàn)難讀化。另外,在內(nèi)容300的難讀化時(shí),通常對腳本部分(JavaScript文件)進(jìn)行難讀化,但在通過難讀化不給視覺效果帶來影響的情況下,也可以對樣式表(CSS文件)或構(gòu)造化文書(HTML文件)進(jìn)行難讀化。
具體而言,在對JavaScript文件進(jìn)行難讀化的情況下,難讀化處理部102只要輸入被進(jìn)行了主動性要素變換和被動性要素變換的至少某一方的JavaScript文件并對輸入的JavaScript文件進(jìn)行用于難讀化的處理就可以。
另外,作為難讀化的算法沒有被特別限定,例如也可以采用已有的算法。
另外,在上述例子中,以進(jìn)行主動性要素變換或被動性要素變換后的文件為對象進(jìn)行難讀化處理部102的難讀化處理。但是,也可以與上述相反,對于由難讀化處理部102進(jìn)行了難讀化處理后的文件進(jìn)行主動性要素變換或被動性要素變換。
這樣,通過對內(nèi)容實(shí)現(xiàn)難讀化,例如有惡意的用戶更難以通過逆向工程等來確定在內(nèi)容中被植入了植入信息的部位。
此外,在到此為止的說明中,對視覺形態(tài)賦予了變化,作為對內(nèi)容的要素變換(主動性要素變換、被動性要素變換)。但是,作為對內(nèi)容的綜合性變換,也可以例如對聽覺形式等賦予變化。例如,在以能夠?qū)⒙曇粼佻F(xiàn)的方式制作了具有構(gòu)造化文書的內(nèi)容的情況下,通過基于變更控制代碼對聲音數(shù)據(jù)進(jìn)行變換,能夠賦予聽覺上的變化。
即,本實(shí)施方式的要素變換(主動性要素變換、被動性要素變換)只要是對以內(nèi)容的視覺形態(tài)或聽覺形態(tài)等為代表的知覺形態(tài)賦予變化的要素變換就可以。
此外,通過被動性要素變換,也可以并不一定將通過對應(yīng)的主動性要素變換賦予的知覺形態(tài)的變化完全恢復(fù)為原狀。即,作為被動性要素變換,也可以對于由主動性要素變換賦予的知覺形態(tài)的變化雖然不完全恢復(fù)為原狀、但恢復(fù)到例如對于人而言不能感知的程度。
此外,雖然有可能隨著主動性要素變換或被動性要素變換例如發(fā)生不想要的延遲、通過延遲而在知覺形態(tài)中發(fā)生某種設(shè)想之外的變化,但該變化可以忽視。
另外,內(nèi)容制作裝置(100、100A)和監(jiān)視系統(tǒng)中的內(nèi)容檢查裝置400既可以是相互獨(dú)立的裝置,也可以構(gòu)成為具有內(nèi)容制作功能和內(nèi)容檢查功能的1個裝置。
另外,也可以將用來實(shí)現(xiàn)內(nèi)容制作裝置(100、100A)、內(nèi)容檢查裝置400的各功能的程序記錄到計(jì)算機(jī)可讀取的記錄介質(zhì)中,通過使計(jì)算機(jī)系統(tǒng)將記錄在該記錄介質(zhì)中的程序讀入并執(zhí)行,來進(jìn)行作為內(nèi)容制作裝置(100、100A)、內(nèi)容檢查裝置400的處理。這里,所謂“使計(jì)算機(jī)系統(tǒng)將記錄在記錄介質(zhì)中的程序讀入并執(zhí)行”,包括向計(jì)算機(jī)系統(tǒng)安裝程序。這里所述的“計(jì)算機(jī)系統(tǒng)”,包括OS及周邊設(shè)備等的硬件。
此外,“計(jì)算機(jī)系統(tǒng)”也可以包括經(jīng)由因特網(wǎng)或包括WAN、LAN、專用線路等通信線路在內(nèi)的網(wǎng)絡(luò)而連接的多個計(jì)算機(jī)裝置。
此外,所謂“計(jì)算機(jī)可讀取的記錄介質(zhì)”,是指軟盤、光盤、ROM、CD-ROM等的可移動介質(zhì)、內(nèi)置在計(jì)算機(jī)系統(tǒng)中的硬盤等存儲裝置。這樣,存儲有程序的記錄介質(zhì)也可以是CD-ROM等的非暫時(shí)性的記錄介質(zhì)。
此外,在記錄介質(zhì)中,也包括為了分發(fā)該程序而能夠從分發(fā)服務(wù)器訪問的設(shè)在內(nèi)部或外部的記錄介質(zhì)。存儲在分發(fā)服務(wù)器的記錄介質(zhì)中的程序的代碼也可以與能夠由終端裝置執(zhí)行的形式的程序的代碼不同。即,只要能夠從分發(fā)服務(wù)器下載并且以能夠由終端裝置執(zhí)行的形式安裝即可,由分發(fā)服務(wù)器存儲的形式?jīng)]有限制。另外,也可以是將程序分割為多個、在以分別不同的時(shí)機(jī)下載后在終端裝置中合體的結(jié)構(gòu),或?qū)Ψ指詈蟮母鱾€程序進(jìn)行分發(fā)的分發(fā)服務(wù)器不同。
進(jìn)而,所謂“計(jì)算機(jī)可讀取的記錄介質(zhì)”,還包含像經(jīng)由網(wǎng)絡(luò)發(fā)送程序的情況下的作為服務(wù)器或客戶端的計(jì)算機(jī)系統(tǒng)內(nèi)部的易失性存儲器(RAM)那樣、在一定時(shí)間中保持程序者。此外,上述程序也可以用來實(shí)現(xiàn)上述功能的一部分。進(jìn)而,雖然可以將上述功能通過與已經(jīng)記錄在計(jì)算機(jī)系統(tǒng)中的程序的組合實(shí)現(xiàn),但也可以是所謂的差分文件(差分程序)。
標(biāo)號說明
100、100A內(nèi)容制作裝置;101變換處理部;102難讀化處理部;200原內(nèi)容;201HTML文件;202CSS文件;203JavaScript文件;300、300A內(nèi)容;301主動性變換HTML文件;301A被動性變換HTML文件;303被動性變換JavaScript文件;303A主動性變換JavaScript文件;400內(nèi)容檢查裝置;401變更結(jié)果要素確定部;402植入信息復(fù)原部;403校驗(yàn)碼判斷部;500檢查對象內(nèi)容;Dt1植入信息;Dt2 1維代碼串;Dt3 2維代碼串;Dt4分割數(shù)據(jù);S1編碼;S2錯誤校正編碼;S3分割處理;S4植入。