TWI715647B - 用於智慧財產(ip)指紋法與ip dna分析之系統及方法 - Google Patents
用於智慧財產(ip)指紋法與ip dna分析之系統及方法 Download PDFInfo
- Publication number
- TWI715647B TWI715647B TW105132738A TW105132738A TWI715647B TW I715647 B TWI715647 B TW I715647B TW 105132738 A TW105132738 A TW 105132738A TW 105132738 A TW105132738 A TW 105132738A TW I715647 B TWI715647 B TW I715647B
- Authority
- TW
- Taiwan
- Prior art keywords
- file
- fingerprint
- repository
- mathematical representation
- file set
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004458 analytical method Methods 0.000 title claims description 41
- 238000001514 detection method Methods 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 17
- 239000004065 semiconductor Substances 0.000 claims description 17
- 238000004519 manufacturing process Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 238000013461 design Methods 0.000 claims description 4
- 230000003190 augmentative effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims 1
- 238000004590 computer program Methods 0.000 abstract description 15
- 230000009471 action Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/156—Query results presentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
- G06Q50/184—Intellectual property management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Economics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Library & Information Science (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Human Resources & Organizations (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Operations Research (AREA)
- Primary Health Care (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
揭示的實施例包括以電腦實現的系統及方法,其包含多個電腦程式,當一起使用作為該系統的一部分時,能啟用在另一檔案集合內檢測一電腦檔案集合,而無需直接存取該等檔案本身。每一個檔案集合有一經電腦程式產生之唯一的指紋,其係該檔案的一種濃縮表示確保了不可能從它的使用來進行反向工程。另一電腦程式作用為一公共儲存庫用以安全地儲存來自多個來源(例如,公司)的指紋。另外,另一電腦程式被使用來分析該等兩或多個檔案集合,並產生一報告其展示出在一集合中的檔案是否被包含在另一集合中。
Description
相關申請案之交互參照 此申請案主張提申日期為2015年10月12日之美國申請序號第14/8880,944號之優先權及利益,其完整內容併於本文中以供參考。
本揭示係有關於用於智慧財產(IP)指紋法及IP DNA分析之系統及方法。
發明背景 作為世界經濟全球化的一部分,智慧財產愈來愈多地在公司之間被授權。這種智慧財產(IP)最常見地被具體實現在電腦檔案中並在公司之間被電子式地交換。在某些技術領域中,諸如半導體,在數量激增之第三方IP公司與把該IP融入其產品的半導體公司之間,存在著爆炸式增長的授權。用於管理及追踪當今被使用之大量半導體IP的系統及方法主要是暫時性的並依賴於手動的過程以確保順應性。因此,企業因不是故意就是意外地使用該技術而面臨重大的風險及責任,因為熟悉技術授權方面之公司的法律及財務運作部門與技術實際使用之公司的工程運營部門並無關聯。
作為一具體的實例,一公司可能已經獲得一件IP的合法權利以在一特定的應用中(重複)使用,但該等工程操作部門可能不知道那些權利是獲得的並且可能已經在並沒獲得權利之其他的應用中使用了該IP。因此,該公司可能易遭受該IP擁有者的訴訟以及被禁止販售包含該IP的該等產品。
在這行業中的另一個問題是隨著外包的出現,有許多合約工作者可以取得該設計的原始碼,並且可能向第三方IP植入「後門」、「特洛伊木馬」、或該公司難以檢測之其他惡意的軟體。
作為在該半導體工業中的一特定的實例,這種惡意的修改會被深深地埋入在該半導體裝置中。一「受感染的」裝置可能被放入到產品中(飛機、衛星、消費者裝置)並直到該惡意軟體被啟動才被檢測到,可能是在該惡意軟體被植入到該裝置的多年之後。由於該惡意軟體存在於硬體中,因此不可能透過一軟體更新來移除該惡意軟體,而是需要完全的召回所有被感染的產品。由於該半導體供應鏈之該等許多的層級,追踪該等受感染產品的下落可能是不可能的。
正在增加及大規模IP重複使用為它自己帶來了一系列的挑戰。此外,由於在該市場上有大量的供應商及更大數量的IP產權,所以起草的每一份合約都是不同的,且沒有基準或行業標準。根據合約條款,使用權及限制有所不同,取用權限基本上係不受控制的。這導致意外及故意的重複使用。再者,今日的IP重複使用係「手動」追踪的,大部分係透過試算表,所以更新變得非常費力、容易出錯、以及低效率。這也導致了在法律責任上的危險暴露。雖然在該市場中已經有些嘗試要解決這個問題,但是只有由電子設計自動化(EDA)以及設計管理(DM)公司所提供的部分解決方案而導致了顯著的差距。針對指紋IP之本揭示的發明、描述的方法及系統的實施例本質上填滿了這些差距並提高了這些部分解決方案的效能。
仍然存在有一種用於「指紋識別」IP的需求,即一種可以掃描IP及晶片資料庫的工具,從而產生用於IP及晶片二者之一唯一的「指紋」。
仍然存在有一種用於指紋識別IP之一IP儲存庫的進一步需求,即來自IP公司之一種用於IP指紋參考庫的公共場所。
仍然存在有用於IP之「DNA」分析的另一需求,即一種工具用以分析晶片指紋,把它們與IP指紋的一參考庫進行比較以產生一份有關於那個IP被包含在該晶片中的報告。
發明概要 一種一或多台電腦的系統可被組配來執行特定的操作或動作,藉由使得軟體、韌體、硬體、或一種組合安裝在該系統上,其操作致使該系統來執行該等動作。一或多個電腦程式可被組配成執行特定的操作或動作,藉由包括指令,當其由資料處理裝置執行時,致使該裝置來執行該等動作。一實施例包括致使該電腦系統用一種濃縮格式產生一第一檔案或檔案群組的一數學表示,其唯一地識別出該檔案或檔案群組,同時使得反向工程出其原始的內容是不可能的。該電腦系統進一步被致使以該濃縮的格式把該數學表示儲存在一儲存庫中。然後一第二檔案或檔案群組被分析,且該電腦系統被致使基於該分析以及參考該儲存庫來判定該經分析的第二檔案或檔案群組是否包含有在該第一檔案或檔案群組中所包括之一或多個元件。基於參考該儲存庫的該分析,一報告被產生,其包括在該儲存庫中所包含之該等元件的零或多個為正存在於該經分析之第二檔案或檔案群組中。根據一實施例,該分析藉由儲存在另一儲存庫中使用者產生之一或多個元件來被擴增。這個方面的其他實施例包括記錄在一或多個電腦儲存裝置上之對應的電腦系統、裝置、以及電腦程式,每一被組配成執行該等方法的該等動作。
一實施例包括,在一包含有一處理單元、一耦合到該處理單元的非暫時性儲存媒體、以及具有指令被編碼在其上的一電腦自動化系統中,一種方法,該方法包含有,用一種濃縮格式產生一第一檔案或檔案群組的一數學表示,其唯一地識別出該檔案或檔案群組,同時使得反向工程出其原始的內容是不可能的。該方法進一步包含有以該濃縮的格式把該數學表示儲存在一儲存庫中。該方法進一步包含有分析一第二檔案或檔案群組,以及基於該分析並參考該儲存庫來判定該經分析的第二檔案或檔案群組是否包含有在該第一檔案或檔案群組中所包括之一或多個元件。基於由參考該儲存庫的該判定,該方法包含有產生一報告,該報告包括在該經分析之第二檔案或檔案群組中所包含之該等元件的零或多個。根據一實施例,該分析藉由儲存在另一儲存庫中一使用者所產生之一或多個元件來擴增。這個方面的其他實施例包括記錄在一或多個電腦儲存裝置上之對應的電腦系統、裝置、以及電腦程式,每一個被組配成執行該等方法的該等動作。
較佳實施例之詳細說明 現在將參照該等附圖詳細地描述本發明的具體實施例。
以下用詞在本說明書中具有這些對應的定義:
指紋–由一軟體程式所創建的一單一檔案,其是一或多個檔案之一檔案集合的一種濃縮表示,其唯一地識別那(些)檔案成為在該所得指紋檔案內之離散的數學元件。此外,該指紋檔案被創建成不會對由該軟體程式所處理之該等檔案集合或檔案進行任何的修改。
DNA分析–由一電腦程式執行的程序,其判定一單一指紋檔案是否包含被包含在其他指紋檔案的一集合內之該等數學元件的任一。其之結果係一報告用以說明那些元件被檢測到而那些不是。
在本發明之實施例以下的詳細描述中,許多具體的細節被闡述以便對本發明提供一更為透徹的理解。在其他的實例中,公知的特徵沒有被詳細地描述以避免模糊本發明。
所揭示的實施例涉及彼此合作的多種技術用以檢測在另一檔案集合(一第二集合)內一檔案集合(一第一集合)的存在,而無需存取任一檔案集合。本發明存在於一種軟體實現的產品中,其包含可被使用來以一種濃縮的格式(「指紋」)來創建一檔案集合的一數學表示的程式,其唯一地識別那些檔案,同時使得反向工程出它們的原始內容或判定在該被指紋化之該檔案集合中該等檔案的該等原始名稱是不可能的。一實施例包含一公共儲存庫其中如此的指紋(第一集合)可由數個電腦系統來管理、儲存、以及存取。根據一實施例,一電腦系統由一軟體程式來組配,當其由包含在該電腦系統中之一單一或數個處理器來執行時,致使該系統來分析一第二檔案集合或檔案群組,並且參考該儲存庫,判定該檔案集合是否包含或部分地包含一經指紋化檔案集合的元件,即來自該第一集合之經指紋化的檔案集合。
根據一實施例,該電腦系統被組配成產生並提供列出被包含在該等經分析的檔案群組(第二集合)中之該等所有檢測到的指紋(第一集合)的一份報告。這樣的一份報告可以向使用者提供診斷用以理解該第二集合的構成,諸如:
a. 檢測到預期的檔案;b. 檢測到非預期的檔案;c. 檢測到預期的但已修改的檔案;d. 檢測到一預期檔案的不同版本;以及e. 未檢測到預期的檔案。
一額外的實施例包括一電腦系統其被組配成藉由包括該使用者已創建但未上傳到該公共儲存庫之使用者創建的「私有指紋」(例如,一第三集合)來擴增該分析。另外,該電腦系統被組配成擴增該指紋格式使得該指紋軟體及分析程式可隨著時間推移被週期性地擴展用以提高檢測到檔案之惡意篡改的可能性用於避免由該分析程式檢測到的目的。此外,對該指紋識別程式的一模組化結構確保它可隨著時間的推移被擴增成以額外的方式(「螢幕」)來處理檔案,其可以檢測可能已經對檔案惡意完成的修改,以試圖避免由該分析軟體檢測到。
所揭示的實施例包括一電腦自動化系統,其包含有一處理單元、一耦合到該處理單元的非暫時性儲存媒體,其中該非暫時性儲存媒體在其上儲存有經編碼的指令,其由該處理單元來實現。該儲存、實現的指令組配該電腦自動化系統以用一種濃縮的格式產生一第一檔案或檔案群組的一數學表示,其唯一地識別出該檔案或檔案群組,同時使得反向工程出其原始的內容是不可能的。該產生的數學表示以該濃縮的格式被儲存在一儲存庫中。然後一第二檔案或檔案群組被分析,並基於該分析並參考該儲存庫來做出一判定,判定該經分析的第二檔案或檔案群組是否包含有在該第一檔案或檔案群組中所包含之一或多個元件。因此該電腦系統被致使來產生一報告,該報告包括在該經分析之第二檔案或檔案群組中所包含之該等元件的零或多個。根據一實施例,該分析藉由儲存在另一儲存庫中一使用者所產生之一或多個元件來擴增。
根據一實施例,該儲存庫係一公共儲存庫其在一網路上與該電腦系統進行通信。根據另一實施例,該儲存庫係一私有儲存庫,在一公共或私有網路上與該電腦系統進行通信,或被直接耦合到該電腦系統。
一實施例包括,在一包含有一處理單元、一耦合到該處理單元的非暫時性儲存媒體、以及具有指令被編碼在其上的一電腦自動化系統中,有一種方法,該方法包含有:用一種濃縮格式產生一第一檔案或檔案群組的一數學表示,其唯一地識別出該檔案或檔案群組,同時使得反向工程出其原始的內容是不可能的。該方法進一步包含有以該濃縮的格式把該數學表示式儲存在一儲存庫中。並隨後分析一第二檔案或檔案群組。下一步驟包括,基於該分析,並參考該儲存庫,來判定該經分析的第二檔案或檔案群組是否包含有在該第一檔案或檔案群組中所包括之一或多個元件。基於此一判定,該電腦實現的方法觸發產生一報告,該報告包括在該經分析之第二檔案或檔案群組中所包含之該等元件的零或多個。該方法的一實施例還包括,藉由儲存在另一儲存庫中一使用者所產生之一或多個元件來擴增該分析。根據一實施例,該儲存庫係一公共儲存庫其在一網路上與該電腦系統進行通信。根據另一實施例,該儲存庫係一私有儲存庫,在一公共或私有網路上與該電腦系統進行通信,或被直接耦合到該電腦系統。
圖1圖示出一指紋創建流程圖。一指紋電腦程式(102)被使用來產生表示一檔案集合(101)的一單一指紋檔案(103)。該指紋然後被上傳到一公共(或私有)儲存庫(104)。該流程需要創建用於一參考檔案集合的一指紋(步驟1)。該指紋藉由實現一指紋創建電腦程式來創建。下一步驟包括把參考指紋上傳到一公共或私有儲存庫(步驟2)。步驟3包括使用該指紋電腦程式創建用於一目標檔案集合的一指紋。然後(步驟4)使用一分析工具來識別包含在該目標指紋中的任何參考指紋。基於該分析產生一報告在步驟5中被完成。
圖2圖示出一指紋之參考庫的該創建。IP擁有者(201)可以把多個指紋(202)上傳到一公共儲存庫(203)。注意,每一指紋係一或多個檔案之一集合的一種表示。
圖3圖示出在一公共伺服器上的該指紋分析。一使用者可對其自己的檔案集合(305)做指紋採集(304),然後把該指紋(303)上傳到一伺服器(301)用於分析(302),其產生一報告(306)展示出他們所採集指紋的該等檔案之任一是否存在於該公共儲存庫中。
圖4圖示出在一私有伺服器上的該指紋分析。在該實施例中,一使用者使用該指紋程式(405)從一檔案集合(406)創建一指紋(404),並對包含在該私有儲存庫(402)中的指紋(407)執行該指紋的一分析(403)。藉由納入來自該公共儲存庫(401)的指紋,該分析被擴增。
圖5A圖示出一DNA總結報告的一實例實施例介面。圖5A展示出一總結報告。叫做「MyChip」的該檔案群組被分析以及有檢測到那些檔案及一指派分數的總結。例如,該報告告訴我們MyChip包含來自供應商「IPextreme」之「cfv1core」版本「3.0.0」中所包含之該等檔案的50%。點擊該超鏈接,將帶出如在圖5B中所示之具有詳細資訊的標籤。
圖5B圖示出了一DNA總結報告之該實例實施例介面的進一步的細節。該報告顯示出在該「MyChip」的分析中檢測到來自「cfv1core」之檔案的證據。此外,它顯示出在MyChip中可能包含有三個可能的版本(506)。包含在MyChip中該實際版本的最高機率者為版本3.0.0,如從50%的分數比起具較低分數之其他版本所指出的。版本3.0.0展示出僅有1個精確匹配檔案(507),其中該等剩餘的檔案已經以某種方式被修改(508),但仍然可被識別為係該cfv1core的一部分。揭示的實施例包括一種用於指紋識別IP之電腦實現的方法。該方法包括產生用於一第一參考檔案集合的一第一指紋。該方法進一步包括把所該產生的第一指紋上傳到一儲存庫。隨後,該方法繼續產生用於一第二目標檔案集合的一第二指紋;以及分析該第一及第二指紋。該分析包含把該第一產生的指紋與該第二產生的指紋進行比較,並基於該比較,識別包含在該第二目標指紋中之零或多個參考指紋。最後,基於該等識別出的指紋產生一報告。
揭示的實施例包括用於「指紋識別」IP的系統及方法。實施例揭示了可以掃描IP及晶片資料庫的工具及方法,導致產生用於IP及晶片兩者之一唯一的「指紋」。
所揭示的實施例包括用於創建及使用用於指紋識別IP之IP儲存庫的系統及方法,即用於來自IP公司之一IP指紋的參考庫的一公共場所。
揭示的實施例包括用於IP之「DNA」分析的系統及方法。實施例揭示了工具及方法論以用於分析晶片指紋,把它們與IP指紋之一參考庫進行比較以產生有關於那個IP被包含在該晶片中的報告。
由於可對該上述發明做出各種可能的實施例,並且由於可在以上所述之該等實施例中做出各種改變,因此應被理解的是,在本文所描述的所有內容或在該等附圖中所展示者應當被解讀為說明性的且不應被認為是一種限制性意義的。因此,將由本領域的習知技藝者所理解的是,雖然已經根據專利法規展示及描述了該等較佳及替代實施例,但本發明並不侷限於此或被此限制。
該等附圖根據本發明的各種實施例圖示出系統及方法之可能實現方式的架構、功能、以及操作。也應被注意的是,在一些替代的實現方式中,該等展示/圖示出的功能可以不按照該等圖示中所示的順序來發生。例如,取決於該所涉及的功能,被連續示出的兩個方塊實際上可以本質上同時的執行,或該等方塊有時可以以相反的順序來執行。
在本文中所使用的用詞僅用於描述特定實施例的目的,而不意在限制本發明。如在本文中所使用的,除非上下文另有明確地說明,否則單數形式「一」、「一個」、及「該」也旨在包括該等複數形式。還應當理解的是,當在本說明書中使用「包含」及/或「包含有」等詞時,係指出所述特徵、整數、步驟、操作、元件、及/或組件的存在,但並不排除一或多個其他的特徵、整數、步驟、操作、元件、組件及/或其組合的存在或添加。
一般來說,該等步驟被執行以實現本發明的該等實施例,可以是一自動的或手動實施例的一部分,並且可規劃以遵循一所欲的指令序列。本發明及其一些優點已針對一些實施例被詳細地描述。應被理解的是,雖然所揭示的實施例包括用於IP指紋識別及IP DNA分析的系統及方法,但該系統及方法係高度可重新配置的,並且實施例也包括可動態地調整用以在其他環境中被使用之可重新配置的系統。也應當被理解的是,在不脫離由該等所附請求項所限定之本發明的精神及範圍的情況下,可以在此進行各種改變、替換及變更。本發明的一實施例可以實現多個目的,但不是落入該等所附請求項之該範圍內的每一個實施例都將實現每一個目標。此外,本申請的範圍不旨在限於在說明書中所描述之該程序、機器、製造、以及物質的成份、構件、方法以及步驟的該特定實施例。本領域的普通技術人員將從本發明的揭示內容中容易地理解的是,目前存在或將來被開發的程序、機器、製造、以及物質的成份、構件、方法、或步驟係等同於並落入到本發明申請專利範圍的範圍。因此,所附發明申請專利範圍旨在將這些程序、機器、製造、以及物質的成份、構件、方法、或步驟包括在其範圍內。
本文所描述之所有的元件、組件以及步驟係優選地被納入。應理解對本領域的習知技藝者而言將顯而易見的是,這些元件、部分及步驟中之任一可由其他的元件、部分及步驟來替代或一起地被刪除。
廣義地說,本文至少揭示了以下的內容:包括多個電腦程式之電腦實現的系統及方法,當它們一起被使用作為該系統的一部分時,能啟用在另一檔案集合內檢測一電腦檔案集合,而無需直接存取該等檔案本身。每一個檔案集合有一經電腦程式產生之唯一的指紋,其係該檔案的一種濃縮表示,確保了不可能從它的使用來進行反向工程。另一電腦程式作用為一公共儲存庫用以安全地儲存來自多個來源(例如,公司)的指紋。另外,另一電腦程式被使用來分析該等兩或更多個檔案集合,並產生一報告其展示出在一集合中的檔案是否被包含在另一集合中。 概念: 本文至少提出以下概念: 1. 一種電腦自動化系統,其包含一處理單元、一耦合到該處理單元的非暫時性儲存媒體、以及具有被編碼在其上的指令,當其由該處理單元來執行時,組配該電腦自動化系統用以: 以一種濃縮格式產生一第一檔案或檔案群組的一數學表示,其唯一地識別出該檔案或檔案群組而不用修改該第一檔案或檔案群組; 以該濃縮的格式把該數學表示儲存在一第一儲存庫中; 分析一第二檔案或檔案群組; 基於該分析並參考該第一儲存庫,判定該經分析的第二檔案或檔案群組是否包含有在該第一檔案或檔案群組中所包含之一或多個元件; 產生一報告,其包含在該經分析之第二檔案或檔案群組中所包含之如此匹配元件的零或多個;以及 其中該分析以儲存在一第二儲存庫中額外的使用者所產生之一或多個元件來被擴增。 2. 如概念1之電腦系統,其中該第一儲存庫係一公共儲存庫,在一網路上與該電腦系統進行通信。 3. 如概念1之電腦系統,其中該第二儲存庫係一私有儲存庫,耦合到該電腦系統或在一網路上與該電腦系統進行通信。 4. 如概念1之電腦系統,其中該濃縮格式包含用於該第一檔案或檔案群組的一或多個指紋。 5. 在一種包含一處理單元、一耦合到該處理單元之非暫時性儲存媒體、以及具有編碼在其上之指令的電腦自動化系統中,一種方法其包含有: 以一種濃縮格式產生一第一檔案或檔案群組的一數學表示,其唯一地識別出該檔案或檔案群組; 以該濃縮的格式把該數學表示儲存在一第一儲存庫中; 分析一第二檔案或檔案群組; 基於該分析並使用該第一儲存庫,判定該經分析的第二檔案或檔案群組是否包含有在該第一檔案或檔案群組中所包含之一或多個元件; 基於該判定,產生一報告其包含在該經分析之第二檔案或檔案群組中所包含之該等元件的零或多個;以及 由儲存在一第二儲存庫中一使用者所產生之一或多個元件來擴增該分析。 6. 如概念5之方法,其中使用該第一儲存庫包含在一網路上與該第一儲存庫進行通信;以及其中該第一儲存庫係一公共儲存庫。 7. 如概念5之方法,其中由儲存在一第二儲存庫中一使用者所產生之一或多個元件來擴增該分析包含: 在一網路上與該第二儲存庫進行通信;以及 其中該第二儲存庫係一私有儲存庫,耦合到該電腦系統或在該網路上與該電腦系統進行通信。 8. 如概念5之方法,其中以該濃縮格式進行該第一檔案或檔案群組之該數學表示的該產生包含產生用於該第一檔案或檔案群組的一或多個指紋。 9. 在一種包含一處理單元、一耦合到該處理單元之非暫時性儲存媒體、以及具有編碼在其上之指令的電腦自動化系統中,一種方法其包含有: 產生用於一第一參考檔案集合的一第一指紋; 把該產生的第一指紋上傳到一儲存庫; 產生用於一第二目標檔案集合的一第二指紋; 分析該第一及第二指紋,該分析包含有把該第一產生的指紋與該第二產生的指紋進行比較; 基於該比較,識別包含在該第二目標指紋中的零或多個參考指紋;以及 基於該識別產生一報告。 10. 如概念9之方法,其中把該產生之第一指紋上傳到該儲存庫包含上傳到一公共或私有儲存庫。
101、305、406‧‧‧檔案集合102、304、405‧‧‧指紋App103、202、303、404、407‧‧‧指紋檔案104、203、401‧‧‧公共儲存庫201‧‧‧IP擁有者301‧‧‧伺服器302、403‧‧‧DNA分析器306、408‧‧‧DNA報告402‧‧‧私有儲存庫506‧‧‧可能的版本507‧‧‧精確匹配檔案508‧‧‧剩餘的檔案
圖1圖示出一種指紋創建流程圖以及在一儲存庫中的儲存。
圖2圖示出從多個來源及在一儲存庫中儲存來創建指紋的一參考庫。
圖3圖示出在位於一公共伺服器上之一儲存庫上的該指紋分析。
圖4圖示出在位於一私人伺服器上之一儲存庫上的該指紋分析,該私人伺服器被擴增有來自一公共伺服器上之另一儲存庫的指紋。
圖5A係一螢幕截圖,其圖示出一DNA總結報告之一示例性實施例介面。
圖5B係另一螢幕截圖,其圖示出一DNA詳細報告之另一示例性實施例介面。
101‧‧‧檔案集合
102‧‧‧指紋App
103‧‧‧指紋檔案
104‧‧‧公共儲存庫
Claims (10)
- 一種電腦系統,其包含一處理單元、一耦合到該處理單元的非暫時性儲存媒體、以及具有編碼在其上的指令,當其由該處理單元來執行時,組配該電腦系統用以:掃描一第一檔案集合,該第一檔案集合具有第一檔案名稱,該第一檔案集合含有第一元件,其包含授權內容工程資料以製造包括該授權內容工程資料的一第一半導體裝置;從該第一檔案集合之該掃描產生該第一檔案集合的一第一數學表示,其包含係為一濃縮格式之一第一指紋檔案,其識別該第一檔案集合,該第一濃縮格式係組配來防止判定該等第一檔案名稱以及防止對該授權內容工程資料之反向工程存取該第一指紋檔案;把該第一數學表示儲存在一第一儲存庫中;掃描一第二檔案集合,該第二檔案集合具有第二檔案名稱,該第二檔案集合含有第二元件,其包含第二內容工程資料以製造包括該第二內容工程資料的一第二半導體裝置;從該第二掃描產生該第二檔案集合之一第二數學表示,其包含識別該第二檔案集合之一第二指紋檔案;參考該第一指紋檔案分析該第二指紋檔案以判定該第一數學表示之該等第一元件中之任一者在該第二數學表示中的一存在;以及 基於該分析產生判定在該第二數學表示中存在之該第一數學表示之任一該等第一元件的一報告;其中該報告包括檢測到之檔案的一總結以及指示檔案匹配的檔案百分比之一分數。
- 如請求項1之電腦系統,其中該第一儲存庫係一公共儲存庫,在一網路上與該電腦系統進行通信。
- 如請求項1之電腦系統,其中該分析係以額外使用者產生之元件或儲存在一第二儲存庫中之元件擴增,以及其中該第二儲存庫係一私有儲存庫,耦合到該電腦系統或在一網路上與該電腦系統進行通信。
- 一種在電腦系統中實施之用以分析用來製造半導體裝置之工程資料的方法,該方法包含:掃描一第一檔案集合,該第一檔案集合具有第一檔案名稱,該第一檔案集合含有第一元件,其包含授權內容工程資料以製造包括該授權內容工程資料的一第一半導體裝置;從該第一檔案集合之該掃描產生該第一檔案集合的一第一數學表示,其包含係為一濃縮格式之一第一指紋檔案,其識別該第一檔案集合,該第一濃縮格式組配來防止判定該等第一檔案名稱以及防止對該授權內容工程資料之反向工程存取該第一指紋檔案;把該第一數學表示儲存在一第一儲存庫中;掃描一第二檔案集合,該第二檔案集合具有第二檔案 名稱,該第二檔案集合含有第二元件,其包含第二內容工程資料以製造包括該第二內容工程資料的一第二半導體裝置;從該第二掃描產生該第二檔案集合之一第二數學表示,其包含識別該第二檔案集合之一第二指紋檔案;參考該第一指紋檔案分析該第二指紋檔案,以及判定該第一數學表示之該等第一元件中之任一者在該第二數學表示中的一存在;以及基於該分析產生判定在該第二數學表示中存在之該第一數學表示之任一該等第一元件的一報告,其中該報告包括檢測到之檔案的一總結以及指示檔案匹配的檔案百分比之一分數。
- 如請求項4之方法,其中使用該第一儲存庫包含在一網路上與該第一儲存庫進行通信;以及其中該第一儲存庫係一公共儲存庫。
- 如請求項4之方法,進一步包含以額外使用者產生之元件或儲存在一第二儲存庫中之元件擴增該分析,以及其中擴增該分析包含在一網路上與該第二儲存庫進行通信;以及其中該第二儲存庫係一私有儲存庫,耦合到該電腦系統或在該網路上與該電腦系統進行通信。
- 一種用於半導體裝置之自動化設計的方法,該方法包含:藉由一電腦、第一掃描一第一檔案集合,該第一檔案 集合具有第一原始檔案名稱,該第一檔案集合含有一第一元件集合,其包含製造包括授權原始內容工程資料的一第一半導體裝置所需的該授權原始內容工程資料;從該第一掃描、藉由該電腦第一建立該第一檔案集合之一第一數學表示,其包含一第一指紋檔案中之一第一濃縮格式,而沒有修改該第一檔案集合,該第一濃縮格式係唯一地識別該第一檔案集合的一第一指紋,第一指紋檔案中之該第一濃縮格式組配來防止該等第一原始檔案名稱之判定存取該第一指紋檔案,該第一指紋檔案中之該第一濃縮格式組配來防止對該授權原始內容工程資料之反向工程存取該第一指紋檔案;藉由該電腦、將該第一指紋檔案中之該第一濃縮格式儲存在一私有伺服器之一第一儲存庫中;藉由該電腦、第二掃描一第二檔案集合,該第二檔案集合具有第二檔案名稱,該第二檔案集合含有一第二元件集合,其包含第二內容工程資料以製造包括該第二內容工程資料的一第二半導體裝置;從該第二掃描、藉由該電腦第二建立該第二檔案集合之一第二數學表示,其包含一第二指紋檔案中之一第二濃縮格式,而沒有修改該第二檔案集合,該第二濃縮格式係唯一地識別該第二檔案集合的一第二指紋;藉由該電腦、基於一分析程式參考該第一指紋檔案分析該第二指紋檔案以判定該第一數學表示之該等第一元件中之任一者在該第二數學表示之一存在; 藉由該電腦、擴增該第二指紋使得該分析程式可隨著時間推移被週期性地擴展,以提高檢測到檔案之惡意篡改的可能性,用於避免被其他分析程式檢測到;以及藉由該電腦、在該第一數學表示之該等第一元件中之任一者係判定為存在於該第二數學表示之情況下,從該分析發佈一報告,該報告係與使用該第二內容工程資料以製造該第二半導體裝置之授權許可有關,該第二半導體裝置係與用以製造該第一半導體裝置之該授權原始內容工程資料有關,其中該報告包括檢測到之檔案的一總結以及指示檔案匹配的檔案百分比之一分數。
- 如請求項7之方法,進一步包含:該第二指紋檔案中之該第二濃縮格式組配來防止該等第二檔案名稱之判定存取該第二指紋檔案中之該第二濃縮格式,該第二指紋檔案中之該第二濃縮格式組配來防止對該第二內容工程資料之反向工程存取該第二指紋檔案中之該第二濃縮格式。
- 如請求項7之方法,進一步包含:參考該第一指紋檔案中之該第一濃縮格式分析該第二指紋檔案中之該第二濃縮格式以判定該第一數學表示之該等第一元件中之任一者在該第二數學表示之一存在,係關於判定該第二檔案集合是否包含下列中任一者:沒有該第一元件集合、該第一元件集合全部、該第一元件集合之一子集合、該第一檔案集合之一修改、以及該第一檔案集合之一版本。
- 如請求項9之方法,進一步包含:從該 分析、報告在該第二檔案集合中存在下列:該第一元件集合全部、該第一元件集合之一子集合、該第一檔案集合之一修改、以及該第一檔案集合之一版本。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/880,944 US10296491B2 (en) | 2015-10-12 | 2015-10-12 | System and method for IP fingerprinting and IP DNA analysis |
US14/880,944 | 2015-10-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201727510A TW201727510A (zh) | 2017-08-01 |
TWI715647B true TWI715647B (zh) | 2021-01-11 |
Family
ID=57281276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105132738A TWI715647B (zh) | 2015-10-12 | 2016-10-11 | 用於智慧財產(ip)指紋法與ip dna分析之系統及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10296491B2 (zh) |
TW (1) | TWI715647B (zh) |
WO (1) | WO2017066210A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829759A (zh) * | 2018-05-28 | 2018-11-16 | 沈文策 | 一种数据采集方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060104224A1 (en) * | 2004-10-13 | 2006-05-18 | Gurminder Singh | Wireless access point with fingerprint authentication |
US20100036808A1 (en) * | 2008-08-06 | 2010-02-11 | Cyberlink Corporation | Systems and methods for searching media content based on an editing file |
US20120173656A1 (en) * | 2010-12-29 | 2012-07-05 | Sorenson Iii James Christopher | Reduced Bandwidth Data Uploading in Data Systems |
US20140068768A1 (en) * | 2012-08-29 | 2014-03-06 | The Johns Hopkins University | Apparatus and Method for Identifying Related Code Variants in Binaries |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7934097B1 (en) * | 1999-09-28 | 2011-04-26 | Baytsp.Com, Inc. | Method, apparatus, and system for managing, reviewing, comparing and detecting data on a wide area network |
AU2003298731A1 (en) * | 2002-11-26 | 2004-06-18 | Digimarc Id Systems | Systems and methods for managing and detecting fraud in image databases used with identification documents |
-
2015
- 2015-10-12 US US14/880,944 patent/US10296491B2/en active Active
-
2016
- 2016-10-11 TW TW105132738A patent/TWI715647B/zh active
- 2016-10-11 WO PCT/US2016/056474 patent/WO2017066210A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060104224A1 (en) * | 2004-10-13 | 2006-05-18 | Gurminder Singh | Wireless access point with fingerprint authentication |
US20100036808A1 (en) * | 2008-08-06 | 2010-02-11 | Cyberlink Corporation | Systems and methods for searching media content based on an editing file |
US20120173656A1 (en) * | 2010-12-29 | 2012-07-05 | Sorenson Iii James Christopher | Reduced Bandwidth Data Uploading in Data Systems |
US20140068768A1 (en) * | 2012-08-29 | 2014-03-06 | The Johns Hopkins University | Apparatus and Method for Identifying Related Code Variants in Binaries |
Also Published As
Publication number | Publication date |
---|---|
US20170103079A1 (en) | 2017-04-13 |
TW201727510A (zh) | 2017-08-01 |
WO2017066210A1 (en) | 2017-04-20 |
US10296491B2 (en) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2009287433B2 (en) | System and method for detection of malware | |
US11455400B2 (en) | Method, system, and storage medium for security of software components | |
US11621973B2 (en) | Blockchain cybersecurity audit platform | |
EP2693356B1 (en) | Detecting pirated applications | |
JP2019500676A (ja) | ソフトウェア開発のためのソフトウェアリスク制御方法およびシステム | |
US9389852B2 (en) | Technique for plagiarism detection in program source code files based on design pattern | |
JP2013536522A (ja) | プログラミングルール違反に対するソースコードマイニング | |
Palahan et al. | Extraction of statistically significant malware behaviors | |
Polverini et al. | Resource efficiency, privacy and security by design: a first experience on enterprise servers and data storage products triggered by a policy process | |
TW201901515A (zh) | 阻擋非授權應用程式方法以及使用該方法的裝置 | |
CN109271789A (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
EP2951748A1 (en) | Systems and methods for determining compatibility between software licenses | |
US10409572B2 (en) | Compiled file normalization | |
CN102982262B (zh) | 用于开发的操作系统的安全机制 | |
US10685298B2 (en) | Mobile application compatibility testing | |
US20090327971A1 (en) | Informational elements in threat models | |
TWI715647B (zh) | 用於智慧財產(ip)指紋法與ip dna分析之系統及方法 | |
US11250127B2 (en) | Binary software composition analysis | |
US11657466B2 (en) | Utilizing machine learning to prevent intellectual property issues for content during different stages of a project lifecycle | |
CN112699372A (zh) | 漏洞处理方法、装置和计算机可读存储介质 | |
JPWO2020261430A1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
KR101654973B1 (ko) | 소프트웨어 필터링 장치 및 방법 | |
TWI438683B (zh) | 用於透過未管理指標之處理存取之電腦可讀取媒體與方法 | |
Al Busaidi et al. | Using Software Product Line Application in Enterprise Resources Planning Systems Systematic Literature Review | |
Sahoo | Reverse Engineering of APKs Using LLMs |