US20080148348A1 - Secure exchange of information in electronic design automation - Google Patents
Secure exchange of information in electronic design automation Download PDFInfo
- Publication number
- US20080148348A1 US20080148348A1 US12/036,816 US3681608A US2008148348A1 US 20080148348 A1 US20080148348 A1 US 20080148348A1 US 3681608 A US3681608 A US 3681608A US 2008148348 A1 US2008148348 A1 US 2008148348A1
- Authority
- US
- United States
- Prior art keywords
- secured
- information
- electronic design
- design automation
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2137—Time limited access, e.g. to a computer or data
Definitions
- the technical field relates to electronic design automation. More particularly, the field relates to methods of secure exchange of information related to electronic design automation.
- EDA electronic design automation
- a system on chip (SOC) designed by one entity may need to be manufactured by a custom integrated circuit (IC) manufacturer.
- Foundries associated with these manufacturers usually have constraints (e.g., manufacturing) which may have a bearing over whether a particular IC layout selected by a design engineer can in fact be manufactured by the foundry.
- constraints are typically expressed as rules in formats selected for such communication (e.g., Standard Verification Rules Format (SVRF)).
- SVRF Standard Verification Rules Format
- a file comprising such rules can be referred to as a rule file.
- Constraints expressed in a rule file may contain information related to a particular foundry's capabilities, trade secrets and other sensitive information which the foundry may not want revealed to certain parties. However, for example, such information may be useful for designing IC layouts that conform to the rules such that these layouts can be manufactured by the selected foundry.
- information related to electronic design automation may be secured by encryption, password protection, obfuscation and other security measures.
- information related to electronic design automation may be annotated to indicate portions thereof comprising secured information related to electronic design automation.
- an electronic design automation tool may receive information related to electronic design automation annotated to indicate secured portions thereof. Upon receiving such information electronic design automation tool may identify those portions of the information comprising secured information related to electronic design automation and unlock the secured information for processing. In one aspect, the electronic design automation tool may process the secured electronic design automation information without revealing at least some of the secured information to unauthorized persons, tools, systems, or otherwise compromise the protection of the secured information.
- the secured electronic design automation information may be processed, accessed or otherwise used based on one or more conditions being met such as requesting access during a specified duration or a period.
- the duration or period may be defined in terms of an expiration date.
- the expiration date may be in terms of a year, a month, a day of the month and a time of day.
- the one or more conditions for accessing or otherwise using the secured information may also be specified in terms of a number of accesses or uses of the secured electronic design automation information.
- the conditions may be enforced in a number of different ways. For instance, in a client-server network a client computer attempting to access or use the secured data may obtain a key needed to access the data from a server location in the network along with data related to previous accesses or uses of the secured electronic design automation information. For instance, data such as number of previous accesses, dates and times of such accesses and identity of those requesting accesses may be provided. The client computer may then use such data to determine whether selected conditions have been met in order to allow accessing, processing or otherwise using the secured electronic design automation information.
- conditions for accessing, processing or otherwise using the secured electronic design automation information may be specified within a file comprising the secured electronic design automation information. Also, different conditions may be used for different portions of the secured electronic design automation information. Furthermore, conditions may differ based on the identity of a user.
- information related to electronic design automation may be secured by encryption methods using one or more keys.
- Information related to keys used for securing information may be exchanged between parties privately or publicly.
- an individual or party that secured or is providing the secured information related to electronic design automation may share key related information along with the secured information.
- the electronic design automation tool may then use the key related information to unlock the secured information for processing.
- a password along with a key may be used for securing information related to electronic design automation.
- the key, password or other security mechanisms may also be user specified. Such security measures may also be selected by the encryption tool, the electronic design automation tool or some other tool.
- an electronic design automation tool may process electronic design automation related information in a secure manner and may also secure at least some of the results of such processing. Such secured results may be provided to other electronic design automation tools for further processing without revealing at least some of the secured results. Also one tool may unlock at least some of the secured electronic design automation related information, process the information and the pass at least some of the information onto another electronic design automation tool for further processing. In another embodiment, the first electronic design automation tool may secure at least some of the electronic design automation related information again prior to transferring it onto to another electronic design automation tool for further processing.
- the secured information related to electronic design automation comprises rules related to manufacturability of integrated circuits.
- selected portions of such rules may be secured and provided to an electronic design automation tool, such as a physical verification tool, which can use the rules to verify whether they may be violated by one or more integrated circuit layouts related to a system design.
- the physical verification tools may then provide information related to the evaluation to users of the tool or to other tools without disclosing at least some of the rules that have been selected for protection.
- FIG. 1 is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation.
- FIG. 2 is a flow diagram describing one embodiment of a method for securing information related to electronic design automation.
- FIG. 3 is a flow diagram describing one embodiment of a method of securely processing information related to electronic design automation.
- FIG. 4 is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation using a key for securing unsecured information related to electronic design automation.
- FIG. 5 is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation using key related information embedded in a file comprising the secured electronic design automation information.
- FIG. 5A is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation wherein the secured information is made accessible, made available for processing or made available otherwise for use based upon one or more conditions being met.
- FIG. 6 is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation using a key and a password for securing unsecured information related to electronic design automation.
- FIG. 7 is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation wherein some of the information selected for securing is incorporated by reference to another file.
- FIG. 8 is a block diagram illustrating one embodiment of a system for secure exchange of information related to rules governing manufacturability of integrated circuits.
- FIG. 9 is a block diagram illustrating one embodiment of a system using keys to securely exchange information related to rules governing manufacturability of integrated circuits.
- FIG. 10 is a diagram illustrating an exemplary client-server network environment.
- FIG. 11 is a diagram illustrating an exemplary method of securely exchanging electronic design automation information using a client-server network, such as the one illustrated in FIG. 10 .
- the disclosed invention includes all novel and unobvious features and aspects of the embodiments of the system and methods described herein both alone in various combinations and sub-combinations thereof.
- the disclosed features and aspects of the embodiments can be used alone or in various novel and unobvious combinations and sub-combinations with one another.
- Some of the methods described herein can be implemented in software stored on a computer-readable medium and executed on a computer. Some of the disclosed methods, for example, can be implemented as part of an electronic design automation (EDA) tool. Such methods can be executed on a single computer or a networked computer. For clarity, only those aspects of the software germane to these disclosed methods are described; product details well known in the art are omitted. For the same reason, the computer hardware is not described in detail.
- EDA electronic design automation
- FIG. 1 illustrates an exemplary system for exchanging EDA related information in a secure manner.
- Documents 110 comprising EDA related information may be secured by a security tool 120 (e.g., encryption tool) to create a document 130 comprising a secured version of the EDA related information prior to being processed by an EDA tool 140 .
- the EDA tool 140 may then unlock the secured information from the EDA related document 130 to use it for processing, which may generate results 150 of interest for a user of the EDA tool 140 .
- the EDA tool 140 may itself encrypt or otherwise secure the EDA related information 110 .
- the locus of the securing operation can be anywhere that is suitable for a particular system implementation.
- information secured by one EDA tool 140 may be passed onto other EDA tools for further processing without revealing contents of the secured information.
- the EDA results 150 may also be provided to a user in a format that does not reveal EDA related information designated to be proprietary or otherwise deserving of protection. For instance, results 150 that may otherwise reveal secured information may just be listed as “Encrypted” or as some other indicator of its protected status. Thus, the EDA tool 140 may secure selected portions of the results 150 to avoid revealing secured information. Also, results that may otherwise reveal secured information may be shared in a limited manner such as listing rule errors in a particular IC layout without revealing the particulars about the rules that were violated by the IC layout.
- an EDA related document (e.g., 110 ) comprising intellectual property (IP) may be created by an engineer of one entity and can be shared with engineers of other entities for their use in an EDA tool 140 without having to reveal any sensitive information within the EDA document 110 .
- IP intellectual property
- FIG. 2 illustrates an exemplary process for securing information in an EDA related document.
- a security tool e.g., 120 of FIG. 1
- the security tool e.g., 120
- the entire EDA related document e.g., 110
- a security tool may receive instructions at 220 that indicate one or more portions of an EDA related document (e.g., 110 ) to be secured. These instructions may also include other data related to securing the EDA related document (e.g., 110 ). For instance, such information may include data related to a key for encryption, a password or other data for securing EDA related information.
- the EDA related information is secured according to the instructions.
- these instructions may be part of the EDA related document (e.g., 110 ) itself.
- an EDA related document e.g., 110
- the security tool e.g., 120
- the instructions related to securing the EDA related information may also be separate from the EDA related document itself (e.g., 110 ) and thus, may be received by the security tool 120 separately.
- the instruction may not be received from outside the security tool 120 . Instead, the instructions may originate from the security tool 120 .
- FIG. 3 illustrates an exemplary method for processing secured EDA related information by an EDA tool.
- the EDA tool e.g., 140 of FIG. 1
- receives encrypted or otherwise secured EDA related information within an EDA related document e.g., 130 of FIG. 1 .
- the EDA tool e.g., 140 of FIG. 1
- data related to a key, a password or other data related to securing EDA related information may be received.
- such data associated with securing the information may be used to gain access to the secured portion of the EDA related document (e.g., 130 ).
- access to portions of the secured EDA related document may be dependent on one or more selected conditions being met.
- the EDA tool e.g., 140
- the EDA tool may unlock and use the encrypted or otherwise secured EDA related information (e.g., 130 ) up to a specified duration in time (e.g., specified as a date and/or a time of date).
- Conditions to be met for access may also be specified in terms of a specific number of accesses, which may or may not be related to a time period.
- Data related to the number of previous accesses or other uses, the date and time of such accesses or other uses, identity of those that accomplished such accesses or other uses and other such related data may be maintained by the EDA tool (e.g., 140 ) or maintained and provided by another computer connected to the EDA tool via a computer network.
- a key for unlocking the encrypted or otherwise secured EDA related information e.g., 130
- conditions required for accessing different portions of the secured EDA related information may be different for different users of the EDA tool (e.g., 140 ).
- the EDA tool may process the now unlocked EDA related information and at 350 , provide a user with results of the processing in a manner so as to not reveal any sensitive portions of the EDA related information (e.g., any portion of the secured information that is to be concealed from the user of the EDA tool).
- the decrypted or otherwise unlocked EDA related information may be passed on to other EDA tools for further processing and generating other results without revealing sensitive EDA related information.
- the information that is secured when transferring from one tool to another may be the same information that was initially secured or may be a subset or a super set of such information.
- one EDA tool e.g., 140 of FIG. 1
- an EDA tool used for layout versus schematic (LVS) verification may processes EDA related information such as layout and schematic data and provide results comprising netlists. Such results may be encrypted or otherwise secured and then provided to other EDA tools such as parasitic extraction tools (PET) for further processing without revealing the secured information.
- EDA related information such as layout and schematic data
- results comprising netlists.
- PTT parasitic extraction tools
- FIG. 4 illustrates an exemplary method for indicating portions of an EDA related document that should be subject to protection.
- the EDA related information 415 to be secured may be indicated as information that is enclosed within a starting tag (e.g., “#ENCRYPT” at 416 ) and a closing tag (e.g., “#ENDCRYPT” at 417 ).
- the secured portion of the document 445 may also be indicated by a starting tag (e.g., “#DECRYPT” 446 ) and a closing tag (e.g., “#ENDCRYPT” 447 ).
- Such language is exemplary.
- Other words or character sets can also be used to signify the beginning and end of a section of code to be encrypted, decrypted or otherwise secured and unlocked.
- more than one portion of an EDA related document 410 may be designated for protection and may be placed between different or the same start and end designators.
- Other tags or indicators may also be suitably used.
- portions of the EDA related document or electronic file to be secured may be determined based on whether the portions relate to a header, a body or some other selected portion of the file. For instance, the body may be secured whereas the header may not be secured.
- a user, or a tool may indicate that data related to selected subjects such as netlists, design rule checking (DRC), optical, process correction (OPC) and other suitable EDA information should be secured.
- DRC design rule checking
- OPC optical, process correction
- a system may presume, for example, that all illegible data in a secured file should be decrypted or otherwise unlocked.
- encryption is one such method.
- a block cipher method such as, advanced encryption standard (AES) can be used by an encryption tool.
- Alternative encryption methods can include the Rivest, Shamir, and Adelman (RSA) encryption, Data Encryption Standard (DES), simple dictionary key permutation, or other suitable encryption methods.
- AES advanced encryption standard
- Alternative encryption methods can include the Rivest, Shamir, and Adelman (RSA) encryption, Data Encryption Standard (DES), simple dictionary key permutation, or other suitable encryption methods.
- RSA Rivest, Shamir, and Adelman
- DES Data Encryption Standard
- simple dictionary key permutation or other suitable encryption methods.
- the securing of the portion of the EDA related document is not limited to encryption.
- the portion to be secured can be further or alternatively secured through other suitable securing including obfuscation and/or one-way hashing.
- FIG. 4 illustrates systems and methods of encrypting EDA related information with the use of keys.
- an encryption tool 430 may use a key 420 to encrypt EDA related information included in the EDA related document 410 .
- the key may be, for example, specified by a source external to the encryption tool 430 .
- the key 420 may also be selected randomly by the encryption tool 430 .
- the key 420 can then be provided to a user of the EDA tool 450 to be used for decrypting the EDA related information.
- the EDA tool 450 may also generate the results 460 without revealing any of the decrypted EDA related information used by the EDA tool 450 .
- the exchange of the key 420 may be a public key exchange.
- a third party may be used to broker the exchange of key related information.
- the exchange of the key 420 may also be a private exchange.
- FIG. 5 illustrates yet another exemplary method of encrypting EDA related information using keys.
- an encryption tool 520 may encrypt EDA related information 510 using a key 530 .
- information 531 related to the key 530 used for encryption may be included within an EDA related document 535 comprising the encrypted EDA related information 540 .
- the key related information 531 may itself be obfuscated, encrypted, password protected or otherwise afforded suitable protection.
- the EDA tool 550 may first need to obtain access to the protected key related information 531 .
- the EDA tool 550 may then use the unsecured version of the key related information 531 to obtain a key 530 to decrypt the encrypted EDA related information 540 for processing.
- the key related information 531 may comprise the key itself.
- the key 530 may be specified by a user of the encryption tool 520 .
- a key may be randomly selected by the encryption tool 520 .
- the encryption tool 520 may select the key 530 from an array of master keys to which it has access.
- the EDA tool 550 may match the key related information 531 to one or more keys in an array of master keys for unlocking a secured EDA document 535 .
- a password 640 may be used in the encryption of EDA related information 615 .
- the password may be embedded along with the encrypted EDA related information 650 received by the EDA tool 660 . It may then be decrypted by the EDA tool 660 and matched to a user entered password 665 before providing the results 670 to a user. Additionally, the EDA tool 660 may not even process the decrypted EDA related information unless there is a match between the password 665 obtained from a user and one at 640 obtained along with the encrypted EDA related information 650 .
- a password 640 may be used to encrypt, obfuscate, protect, or otherwise alter the key related information 651 embedded along with the encrypted EDA related information 650 . Then, the EDA tool 660 may require that a user of the EDA tool 660 provide it with the password 665 before attempting to decrypt the key related information 651 embedded along with the EDA information. Also, a key itself may be encrypted, obfuscated, or otherwise protected by a password 640 .
- secured EDA related information may be accessed for instance, via the use of a key or a password or a combination thereof.
- accessibility of the secured EDA related information may depend upon meeting one or more conditions. For instance, as shown in FIG. 5A , in addition to key data 530 for securing the EDA related information 510 , one or more conditions 532 to be met for accessing the secured EDA related information 540 may also be specified.
- condition data 532 may be provided to an EDA tool (e.g., 550 ) along with the secured EDA related information 540 .
- the EDA tool e.g., 550
- the EDA tool may request and receive such condition data 532 (e.g., a number of allowed accesses, a number of previous accesses, identity data of those that are to be allowed accesses and date and time of previous accesses) from one or more computers connected to the network.
- the EDA tool e.g., 550
- the network computer responsive to its call back requests may be a server computer capable of providing data in response to requests from one or more such clients.
- condition data 532 may be calculated and maintained locally by the EDA tool 550 .
- the EDA tool may access (e.g., via decryption using the key 530 ) the secured EDA information 540 upon verifying that the conditions 532 have been met.
- a confirmation of whether the one or more conditions for accesses or other uses have been met may be provided to the EDA tool 550 from another computer of a client-server network.
- the EDA tool e.g., 550
- the EDA tool may verify a current date (e.g., a date on which a current access is being requested), compare the expiration date (e.g., provided as condition data 532 ) to the current date and access the secured EDA information 540 if the current date is earlier or the same as the expiration date (e.g., as specified at 532 ).
- the access may be limited even on the day coinciding with the expiration date.
- the expiration date may be specified in terms of one or more of a year, a month, a day of the month and a time of day.
- conditions for access 532 may not relate to a date but instead a maximum number of accesses to the secured data 540 to be attained via the key 530 .
- a condition 532 may specify that the EDA tool 550 may access the secured data if such data has not been accessed more than a maximum number (e.g., 10) of times using the key 530 .
- the conditions 532 for access may be a combination of a maximum number of allowed accesses and an expiration date.
- access to different portions of the secured EDA related information 540 may depend on different conditions being met. For instance, different portions of the data may be accessible during different time periods. Also, different conditions 532 may be specified for different users of the EDA tool 550 .
- the verification of whether conditions have been met for access may be accomplished by a server computer in a client-server network.
- the results of the verification may be provided to the EDA tool (e.g., 550 ) for further processing.
- conditions 532 may be used to restrict the EDA tool 550 from processing or otherwise using, the secured EDA data 540 to generate or to release the results 560 of processing such data.
- EDA related documents may refer to or otherwise rely on information included in another file.
- a file ‘A’ 710 and hence, any information stored within file ‘A’ 715 may be referred to within an EDA related document 710 .
- the encryption tool 725 may be triggered by an instruction such as a “#INCLUDE” instruction 721 to access the file 715 and encrypt it along with the other EDA related information designated for encryption at 720 .
- the “#INCLUDE” instruction is an exemplary syntax. Other syntax may also be used to achieve the same result.
- Other files and any information included therein may be encrypted in a similar manner. In this manner, multiple files from multiple sources may be secured and processed.
- FIG. 8 is a block diagram illustrating an embodiment of one such method of determining the manufacturability of a given integrated circuit (IC) layout.
- An IC manufacturer e.g., a foundry
- An engineer such as a process engineer, might create a document of constraints 810 that contains information regarding constraints specific to that manufacturer.
- the document of constraints 810 can be incorporated into a rule deck or rule file 820 (e.g., an ASCII file) that further describes the particular constraints.
- the rule file may also comprise information such as a picture, a set of design data base objects and schematic representations of the rules
- the rule file 820 may then be used with an EDA tool such as a physical verification tool 830 (e.g., CalibreTM, a Mentor Graphics Corp. tool) to determine if an initial IC layout 840 (e.g., as described in file types such as GDSII, OpenAccess, and Milkyway) violates the manufacturer's constraints.
- the physical verification tool 830 may thus be used to determine whether or not the initial IC layout 840 is manufacturable.
- the physical verification tool 830 may read the initial IC layout 840 and, using the rule file 820 , determine if the initial IC layout 840 violates any of the constraints in the rule file 820 .
- the physical verification tool 830 may provide a results file 850 containing a record of any errors encountered in the layout, as well as information regarding the operation of the tool itself (e.g., the amount of time or memory needed for the tool to run its verification).
- the physical verification tool 830 may also provide a manufacturable IC layout 860 (e.g., a layout in which no constraints are violated) that the design engineer can choose to use or evaluate for manufacture of the IC.
- the manufacturable IC layout 860 may just comprise the initial IC layout 840 . If the initial IC layout 840 violates at least one constraint, however, the manufacturable IC layout 860 may comprise proposed changes that would make the layout manufacturable.
- a manufacturer may desire not to reveal a given rule file (e.g., the rule file 820 ) containing proprietary information considered to be intellectual property (e.g., one or more trade secrets). This may be so because sometimes, for example, the person who writes the rule file 820 is not the same person who runs the physical verification tool 830 that uses the rule file 820 (e.g., the design engineer). Nonetheless, it is often desirable for the manufacturer to provide the engineer with something detailing at least some of the constraints specific to that manufacturer so that a design engineer may determine whether a given IC layout is manufacturable by that manufacturer even if the entire rule file is not revealed.
- a given rule file e.g., the rule file 820
- proprietary information considered to be intellectual property e.g., one or more trade secrets
- FIG. 9 is a block diagram illustrating an exemplary embodiment of a system for securely exchanging rule files.
- a rule file 910 may contain information relating to constraints specific to a certain manufacturer.
- the rule file 910 is written in a known format such as the standard verification rules format (SVRF).
- SVRF standard verification rules format
- the rule file 910 can contain proprietary information that the manufacturer does not want to be discovered by whoever receives the rule file 910 .
- the rule file 910 may also contain other information that may or may not be proprietary and with which the manufacturer is less concerned.
- Rules to be protected can include, for example, layer creation commands, design-rule-checking (DRC) checks, layout-vs.-schematic (LVS) device statements, in-file LITHO operations, optical-and-process-correction operations (e.g., TDOPC and OPCSbar operations), parasitic-extraction (PEX) statements, or FRACTURE commands.
- DRC design-rule-checking
- LVS layout-vs.-schematic
- PES parasitic-extraction
- the portion of the rule file 910 comprising such highly proprietary information, or any one or more sections of the file sought to be secured, can be placed between a first set of designated key words in the rule file 910 .
- key words can be “#ENCRYPT,” signifying the beginning of a section to be secured, and “#ENDCRYPT,” signifying the end of the section to be secured.
- the modified rule file 910 can then be processed by an encryption tool 920 .
- the encryption tool 920 can secure the portion of the file between “#ENCRYPT” and “#ENDCRYPT” through an encryption process, resulting in an encrypted rule file 930 .
- the encrypted rule file 930 contains the encrypted portion between a second set of designated keywords, such as “#DECRYPT” and “#ENDCRYPT,” respectively.
- Other non-encrypted information is desirably also included in the rule file 910 , in which case the encrypted rule file 930 is only partially encrypted.
- an optional key 915 is used in the encryption process.
- the optional key 915 can be a private key, for example.
- a user selects a key 915 to be used in the encryption process.
- a key 915 is randomly selected by the encryption tool 920 .
- the encryption tool 920 can contain or have access to an array of master keys from which it might select a key 915 to use.
- a user can choose a password to be used in place of or in connection with a key 915 .
- Such a password can be embedded into the encrypted portion of the file at 935 and protected through obfuscation, for example.
- the password can be used to alter the master key.
- the encrypted or partially encrypted rule file 935 can be provided as input, along with the initial IC layout 940 , to the physical verification tool 950 for processing.
- the physical verification tool 950 decrypts and processes the section or sections 935 of the encrypted rule file 930 between the second set of designated keywords (e.g., “#DECRYPT” and “#ENDCRYPT”) without fully revealing the decrypted section to the user of the physical verification tool 950 .
- the decryption can be done in the run-time memory space of the physical verification tool 950 , for example.
- the EDA related information contained within EDA related document 110 and protected by encryption prior to its use by an EDA related tool 140 may lose its protection if it is disclosed to a user of the EDA tool 140 via the results 150 .
- portions of a result 150 file comprising EDA related information designated as sensitive may be obscured, encrypted, or otherwise altered to prevent the user from learning about any sensitive EDA related information.
- the physical verification tool 950 may not produce a full transcription for the secured rules 930 . Instead, the physical verification tool 950 may produce only partial transcription of the secured rule file 930 as results 960 so that the secured portion of the rule file 935 is not disclosed.
- the physical verification tool 950 can provide other EDA related information as results 960 and, if possible, may optionally provide a manufacturable IC layout 970 . Such information can further or alternatively be recorded in a database. Error information related to violations of the constraints in the rule file 910 can be communicated in various ways. In one particular embodiment, error information regarding the secured portion of the rule file 935 is handled differently than error information regarding the rest of the file. For example, error information regarding the secured portion of the file 935 can be limited, whereas error information regarding the rest of the file can be much more detailed. In one embodiment, the error information regarding the secured portion of the rule file 935 simply states how many errors exist in the initial IC layout 940 .
- the error information regarding the secured portion describes at least one type of error in general terms, such as indicating that two components are too close together, for example.
- the error information regarding the secured portion describes at least one type of error in specific terms, such as detailing which two components are too close together and at what location, for example.
- EDA applications include (but are not limited to) such uses as layout versus schematic verification (LVS), generating parasitic extraction flows (e.g., layout parasitic extraction (LPE)) and applying tools for resolution enhancement technology (RET).
- LVS layout versus schematic verification
- RET resolution enhancement technology
- Other tools such as synthesis tools, emulation tools and simulation tools may also use EDA related information in a secure manner using the methods and systems described herein.
- EDA related information to be secured and processed in a secure manner may include any information related to design for manufacture (DFM) processes, methods, systems and tools. Also, besides rule files, other EDA related information that can be protected using the disclosed principles include (but are not limited to) Oasis, Spice net lists, VHDL, and Verilog. The processes, methods, systems, tools described herein are not limited in any way by the nature of the information to be secured and processed or the tools for the same.
- FIG. 10 shows one such exemplary network.
- a server computer 1000 can have an associated storage device 1002 (internal or external to the server computer).
- the server computer 1000 can be configured to process EDA information related to circuit designs using any of the embodiments described above (e.g., as part of an EDA software tool).
- the server computer 1000 may be coupled to a network, shown generally at 1004 , which can comprise, for example, a wide-area network, a local-area network, a client-server network, the Internet, or other such network.
- One or more client computers, such as those shown at 1006 , 1008 may be coupled to the network 1004 using a network protocol.
- FIG. 11 shows that a client computer (e.g., 1006 and 1008 ) receives results (e.g., errors related to rule files and alternative IC design layouts that do violate selected rules) related to secure processing of EDA related information (e.g., IC rule files) according to any of the embodiments disclosed herein using a remote server computer, such as the server computer 1000 shown in FIG. 10 .
- a client computer sends data related to EDA.
- a client computer may send a rule file, one or more proposed IC design layouts and other EDA information from a design database.
- the data is received and secured by the server computer according to any of the disclosed embodiments.
- the client computer may secure the EDA information to be processed and send such secured EDA information to the server for processing.
- the EDA related information is processed according to any of the disclosed embodiments.
- the server computer sends the results (e.g., errors related to rule files and alternative IC design layouts that so not violate selected rules) to the client computer which receives the database in process block 1158 .
- the client computer that sends the EDA related information may not be the same client that receives the results.
- the EDA related information may be stored in a computer-readable media that is not on a network and that is sent separately to the server.
- the server computer may perform only a portion of the design procedures.
- a file may comprise a master file in which multiple, individually protected files comprising EDA related information are included.
- EDA related information for instance multiple IC manufacturers or other third-party entities in the design flow can contribute, use, and/or share rule files without revealing certain proprietary information.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
Information related to electronic design automation may be exchanged in a secure manner. Information deemed sensitive and otherwise worthy of protection may be secured by methods such as encryption, obfuscation and other security measures. The secured information may be processed without revealing at least some of the secured information. For instance, rule files related to integrated circuit manufacturability may be selectively annotated to indicate portions thereof deserving of protection. An encryption tool may be used to secure the information related to electronic design automation. An electronic design automation tool may then unlock and use the secured information without revealing the same. In one aspect, such access or secure use of the information may depend on one or more conditions being met (e.g., a time period or a number of uses or accesses). For instance, the tool may be a physical verification tool capable of verifying whether any of the one or more integrated circuit layouts may violate one or more of the secured rules.
Description
- This application is a continuation-in-part of U.S. application Ser. No. 10/895,485 filed Jul. 20, 2004, entitled “Secure Exchange of Information in Electronic Design Automation,” by inventors, John G. Ferguson, Fedor G. Pikus, Kyohei Sakajiri and Laurence W. Grodd, which claims the benefit of U.S. Provisional application 60/506,190, filed Sep. 26, 2003, entitled “Secure Transfer of Rule Files,” by inventors, John G. Ferguson, Fedor G. Pikus, Kyohei Sakajiri and Laurence W. Grodd, both of which are incorporated by reference herein.
- The technical field relates to electronic design automation. More particularly, the field relates to methods of secure exchange of information related to electronic design automation.
- Modern electronic systems including circuits are becoming increasingly complex. Thus, it is not surprising that it may require increasingly specialized skills and capabilities to design and manufacture these complex systems. As these skills and capabilities become more specialized, it may take the cooperative effort of engineers from a number of different entities to complete the engineering required to successfully design and manufacture such electronic systems. It is also possible that, in some cases, one entity will rely upon the specialized skills and capabilities of an outside organization (e.g., vendor) to meet a specific need.
- For example, these days it is common for electronic system designers to outsource the manufacturing or assembly of their electronic systems to other businesses that specialize in manufacturing. In these scenarios, entities may need a reliable and secure way for exchanging information related to electronic design automation (EDA) with their partner entities, but still maintain control over how much of their trade secrets, capabilities, skills and the like may be divulged to such partner entities.
- In one particular example, a system on chip (SOC) designed by one entity may need to be manufactured by a custom integrated circuit (IC) manufacturer. Foundries associated with these manufacturers usually have constraints (e.g., manufacturing) which may have a bearing over whether a particular IC layout selected by a design engineer can in fact be manufactured by the foundry. These constraints are typically expressed as rules in formats selected for such communication (e.g., Standard Verification Rules Format (SVRF)). A file comprising such rules can be referred to as a rule file. Constraints expressed in a rule file may contain information related to a particular foundry's capabilities, trade secrets and other sensitive information which the foundry may not want revealed to certain parties. However, for example, such information may be useful for designing IC layouts that conform to the rules such that these layouts can be manufactured by the selected foundry.
- Thus, there is a need for systems and methods that allow for secure exchange of EDA related information between entities for use in EDA tools such that each entity can control access to information that it considers proprietary (e.g., trade secrets and other confidential information).
- Described herein are methods and systems for the secure exchange of information related to electronic design automation. In one aspect, information related to electronic design automation may be secured by encryption, password protection, obfuscation and other security measures. In another aspect, information related to electronic design automation may be annotated to indicate portions thereof comprising secured information related to electronic design automation.
- In yet another aspect, an electronic design automation tool may receive information related to electronic design automation annotated to indicate secured portions thereof. Upon receiving such information electronic design automation tool may identify those portions of the information comprising secured information related to electronic design automation and unlock the secured information for processing. In one aspect, the electronic design automation tool may process the secured electronic design automation information without revealing at least some of the secured information to unauthorized persons, tools, systems, or otherwise compromise the protection of the secured information.
- In another aspect, the secured electronic design automation information may be processed, accessed or otherwise used based on one or more conditions being met such as requesting access during a specified duration or a period. The duration or period may be defined in terms of an expiration date. The expiration date may be in terms of a year, a month, a day of the month and a time of day. The one or more conditions for accessing or otherwise using the secured information may also be specified in terms of a number of accesses or uses of the secured electronic design automation information.
- In cases wherein the condition for continued access or use of the secured electronic design automation information depends on a number of previous accesses or uses of such data, the conditions may be enforced in a number of different ways. For instance, in a client-server network a client computer attempting to access or use the secured data may obtain a key needed to access the data from a server location in the network along with data related to previous accesses or uses of the secured electronic design automation information. For instance, data such as number of previous accesses, dates and times of such accesses and identity of those requesting accesses may be provided. The client computer may then use such data to determine whether selected conditions have been met in order to allow accessing, processing or otherwise using the secured electronic design automation information.
- In yet another aspect, conditions for accessing, processing or otherwise using the secured electronic design automation information may be specified within a file comprising the secured electronic design automation information. Also, different conditions may be used for different portions of the secured electronic design automation information. Furthermore, conditions may differ based on the identity of a user.
- In another aspect, information related to electronic design automation may be secured by encryption methods using one or more keys. Information related to keys used for securing information may be exchanged between parties privately or publicly. In one aspect, an individual or party that secured or is providing the secured information related to electronic design automation may share key related information along with the secured information. The electronic design automation tool may then use the key related information to unlock the secured information for processing. In another aspect, a password along with a key may be used for securing information related to electronic design automation. The key, password or other security mechanisms may also be user specified. Such security measures may also be selected by the encryption tool, the electronic design automation tool or some other tool.
- In one aspect, an electronic design automation tool may process electronic design automation related information in a secure manner and may also secure at least some of the results of such processing. Such secured results may be provided to other electronic design automation tools for further processing without revealing at least some of the secured results. Also one tool may unlock at least some of the secured electronic design automation related information, process the information and the pass at least some of the information onto another electronic design automation tool for further processing. In another embodiment, the first electronic design automation tool may secure at least some of the electronic design automation related information again prior to transferring it onto to another electronic design automation tool for further processing.
- In yet another aspect, the secured information related to electronic design automation comprises rules related to manufacturability of integrated circuits. In one aspect, selected portions of such rules may be secured and provided to an electronic design automation tool, such as a physical verification tool, which can use the rules to verify whether they may be violated by one or more integrated circuit layouts related to a system design. The physical verification tools may then provide information related to the evaluation to users of the tool or to other tools without disclosing at least some of the rules that have been selected for protection.
- Additional features and advantages will become apparent from the following detailed description of illustrated embodiments, which proceeds with reference to accompanying drawings.
-
FIG. 1 is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation. -
FIG. 2 is a flow diagram describing one embodiment of a method for securing information related to electronic design automation. -
FIG. 3 is a flow diagram describing one embodiment of a method of securely processing information related to electronic design automation. -
FIG. 4 is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation using a key for securing unsecured information related to electronic design automation. -
FIG. 5 is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation using key related information embedded in a file comprising the secured electronic design automation information. -
FIG. 5A is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation wherein the secured information is made accessible, made available for processing or made available otherwise for use based upon one or more conditions being met. -
FIG. 6 is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation using a key and a password for securing unsecured information related to electronic design automation. -
FIG. 7 is a block diagram illustrating one embodiment of a system for secure exchange of information related to electronic design automation wherein some of the information selected for securing is incorporated by reference to another file. -
FIG. 8 is a block diagram illustrating one embodiment of a system for secure exchange of information related to rules governing manufacturability of integrated circuits. -
FIG. 9 is a block diagram illustrating one embodiment of a system using keys to securely exchange information related to rules governing manufacturability of integrated circuits. -
FIG. 10 is a diagram illustrating an exemplary client-server network environment. -
FIG. 11 is a diagram illustrating an exemplary method of securely exchanging electronic design automation information using a client-server network, such as the one illustrated inFIG. 10 . - The disclosed invention includes all novel and unobvious features and aspects of the embodiments of the system and methods described herein both alone in various combinations and sub-combinations thereof. The disclosed features and aspects of the embodiments can be used alone or in various novel and unobvious combinations and sub-combinations with one another.
- Although the operations of the disclosed methods are described in a particular, sequential order for convenient presentation, it should be understood that this manner of description encompasses rearrangements, unless a particular ordering is required by specific language set forth below. For example, operations described sequentially may in some cases be rearranged or performed concurrently. Moreover, for the sake of simplicity, the disclosed flow charts and block diagrams typically do not show the various ways in which particular methods can be used in conjunction with other methods. Additionally, the detailed description sometimes uses terms like “determine” to describe the disclosed methods. Such terms are high-level abstractions of the actual operations that are performed. The actual operations that correspond to these terms will vary depending on the particular implementation and are readily discernible by one of ordinary skill in the art.
- Some of the methods described herein can be implemented in software stored on a computer-readable medium and executed on a computer. Some of the disclosed methods, for example, can be implemented as part of an electronic design automation (EDA) tool. Such methods can be executed on a single computer or a networked computer. For clarity, only those aspects of the software germane to these disclosed methods are described; product details well known in the art are omitted. For the same reason, the computer hardware is not described in detail.
-
FIG. 1 illustrates an exemplary system for exchanging EDA related information in a secure manner.Documents 110 comprising EDA related information may be secured by a security tool 120 (e.g., encryption tool) to create adocument 130 comprising a secured version of the EDA related information prior to being processed by anEDA tool 140. TheEDA tool 140 may then unlock the secured information from the EDA relateddocument 130 to use it for processing, which may generateresults 150 of interest for a user of theEDA tool 140. In one embodiment, theEDA tool 140 may itself encrypt or otherwise secure the EDA relatedinformation 110. In other words, the locus of the securing operation can be anywhere that is suitable for a particular system implementation. Also, information secured by oneEDA tool 140 may be passed onto other EDA tools for further processing without revealing contents of the secured information. - In one embodiment, the EDA results 150 may also be provided to a user in a format that does not reveal EDA related information designated to be proprietary or otherwise deserving of protection. For instance, results 150 that may otherwise reveal secured information may just be listed as “Encrypted” or as some other indicator of its protected status. Thus, the
EDA tool 140 may secure selected portions of theresults 150 to avoid revealing secured information. Also, results that may otherwise reveal secured information may be shared in a limited manner such as listing rule errors in a particular IC layout without revealing the particulars about the rules that were violated by the IC layout. - In this manner, an EDA related document (e.g., 110) comprising intellectual property (IP) may be created by an engineer of one entity and can be shared with engineers of other entities for their use in an
EDA tool 140 without having to reveal any sensitive information within theEDA document 110. -
FIG. 2 illustrates an exemplary process for securing information in an EDA related document. At 210, a security tool (e.g., 120 ofFIG. 1 ) may receive EDA related information included in an EDA related document (e.g., 110 ofFIG. 1 ) to be secured. Further at 220, the security tool (e.g., 120) may also receive further instructions regarding a scope and nature of the protection (e.g., by encryption) to be applied to the EDA related information in the EDA document (e.g., 110). For instance, the entire EDA related document (e.g., 110) need not be designated as deserving or otherwise needing protection. Thus, a selected portion of the EDA related document (e.g., 110) may be secured. Thus, a security tool (e.g., 120) may receive instructions at 220 that indicate one or more portions of an EDA related document (e.g., 110) to be secured. These instructions may also include other data related to securing the EDA related document (e.g., 110). For instance, such information may include data related to a key for encryption, a password or other data for securing EDA related information. At 230, the EDA related information is secured according to the instructions. - In one embodiment, these instructions may be part of the EDA related document (e.g., 110) itself. For instance, an EDA related document (e.g., 110) itself may be annotated with instructions that indicate portions of the document that are to be secured. Thus, at 230, the security tool (e.g., 120) may secure only portions of the EDA related document (e.g., 110) designated for protection according to the instructions. Alternatively, the instructions related to securing the EDA related information may also be separate from the EDA related document itself (e.g., 110) and thus, may be received by the
security tool 120 separately. Also, the instruction may not be received from outside thesecurity tool 120. Instead, the instructions may originate from thesecurity tool 120. -
FIG. 3 illustrates an exemplary method for processing secured EDA related information by an EDA tool. At 310, the EDA tool (e.g., 140 ofFIG. 1 ) receives encrypted or otherwise secured EDA related information within an EDA related document (e.g., 130 ofFIG. 1 ). Depending on the method chosen for securing the information, at 320, the EDA tool (e.g., 140 ofFIG. 1 ) may also receive data related to a key, a password, or other information associated with securing the EDA related information in the document (e.g., 130 ofFIG. 1 ). For instance, in case of information secured via encryption, data related to a key, a password or other data related to securing EDA related information may be received. At 330, such data associated with securing the information may be used to gain access to the secured portion of the EDA related document (e.g., 130). - In one embodiment, access to portions of the secured EDA related document (e.g., 130) may be dependent on one or more selected conditions being met. For instance, the EDA tool (e.g., 140) may unlock and use the encrypted or otherwise secured EDA related information (e.g., 130) up to a specified duration in time (e.g., specified as a date and/or a time of date). Conditions to be met for access may also be specified in terms of a specific number of accesses, which may or may not be related to a time period. Data related to the number of previous accesses or other uses, the date and time of such accesses or other uses, identity of those that accomplished such accesses or other uses and other such related data may be maintained by the EDA tool (e.g., 140) or maintained and provided by another computer connected to the EDA tool via a computer network. In case of a networked EDA tool, a key for unlocking the encrypted or otherwise secured EDA related information (e.g., 130) may also be provided by via the network.
- Also, different conditions may be required for accessing different portions of the secured EDA related information (e.g., 130). Also, conditions required for accessing different portions of the secured EDA related information (e.g., 130) may be different for different users of the EDA tool (e.g., 140).
- At 340, the EDA tool (e.g., 140) may process the now unlocked EDA related information and at 350, provide a user with results of the processing in a manner so as to not reveal any sensitive portions of the EDA related information (e.g., any portion of the secured information that is to be concealed from the user of the EDA tool).
- The decrypted or otherwise unlocked EDA related information may be passed on to other EDA tools for further processing and generating other results without revealing sensitive EDA related information. The information that is secured when transferring from one tool to another may be the same information that was initially secured or may be a subset or a super set of such information. Additionally, one EDA tool (e.g., 140 of
FIG. 1 ) may secure the results (e.g., 150) from processing the secured EDA related information (e.g., 130) and provide such secured results (e.g., 150) to other EDA tools for further processing without revealing the secured EDA information (e.g., 130). For instance, an EDA tool used for layout versus schematic (LVS) verification may processes EDA related information such as layout and schematic data and provide results comprising netlists. Such results may be encrypted or otherwise secured and then provided to other EDA tools such as parasitic extraction tools (PET) for further processing without revealing the secured information. -
FIG. 4 illustrates an exemplary method for indicating portions of an EDA related document that should be subject to protection. For instance, in an EDA related document (file) 410, the EDA relatedinformation 415 to be secured may be indicated as information that is enclosed within a starting tag (e.g., “#ENCRYPT” at 416) and a closing tag (e.g., “#ENDCRYPT” at 417). Furthermore, in an EDA related document comprising encrypted or otherwise secured EDA information at 440, the secured portion of thedocument 445 may also be indicated by a starting tag (e.g., “#DECRYPT” 446) and a closing tag (e.g., “#ENDCRYPT” 447). This can indicate to anEDA tool 450 where to begin and end decryption or other methods of unlocking secured information. Such language is exemplary. Other words or character sets can also be used to signify the beginning and end of a section of code to be encrypted, decrypted or otherwise secured and unlocked. Also, more than one portion of an EDArelated document 410 may be designated for protection and may be placed between different or the same start and end designators. Other tags or indicators may also be suitably used. - In one embodiment no such explicit indicators are used. For instance, portions of the EDA related document or electronic file to be secured may be determined based on whether the portions relate to a header, a body or some other selected portion of the file. For instance, the body may be secured whereas the header may not be secured. Furthermore, a user, or a tool may indicate that data related to selected subjects such as netlists, design rule checking (DRC), optical, process correction (OPC) and other suitable EDA information should be secured. For decrypting or otherwise unlocking secured information, a system may presume, for example, that all illegible data in a secured file should be decrypted or otherwise unlocked.
- Several methods may be used for securing information within EDA related documents. For instance, encryption is one such method. For encryption, a block cipher method such as, advanced encryption standard (AES) can be used by an encryption tool. Alternative encryption methods can include the Rivest, Shamir, and Adelman (RSA) encryption, Data Encryption Standard (DES), simple dictionary key permutation, or other suitable encryption methods. However, the securing of the portion of the EDA related document is not limited to encryption. For example, the portion to be secured can be further or alternatively secured through other suitable securing including obfuscation and/or one-way hashing.
-
FIG. 4 illustrates systems and methods of encrypting EDA related information with the use of keys. As shown inFIG. 4 , anencryption tool 430 may use a key 420 to encrypt EDA related information included in the EDA relateddocument 410. The key may be, for example, specified by a source external to theencryption tool 430. The key 420 may also be selected randomly by theencryption tool 430. The key 420 can then be provided to a user of theEDA tool 450 to be used for decrypting the EDA related information. TheEDA tool 450 may also generate theresults 460 without revealing any of the decrypted EDA related information used by theEDA tool 450. - In one embodiment, the exchange of the key 420 may be a public key exchange. For instance, a third party may be used to broker the exchange of key related information. The exchange of the key 420 may also be a private exchange.
-
FIG. 5 illustrates yet another exemplary method of encrypting EDA related information using keys. For instance, anencryption tool 520 may encrypt EDA relatedinformation 510 using a key 530. Furthermore,information 531 related to the key 530 used for encryption may be included within an EDArelated document 535 comprising the encrypted EDArelated information 540. Thus, instead of obtaining the key 530 publicly, the key exchange between entities may be private. The keyrelated information 531 may itself be obfuscated, encrypted, password protected or otherwise afforded suitable protection. To decrypt the secured EDA information theEDA tool 550 may first need to obtain access to the protected keyrelated information 531. TheEDA tool 550 may then use the unsecured version of the keyrelated information 531 to obtain a key 530 to decrypt the encrypted EDArelated information 540 for processing. Also, the keyrelated information 531 may comprise the key itself. - The key 530 may be specified by a user of the
encryption tool 520. Alternatively, a key may be randomly selected by theencryption tool 520. Theencryption tool 520 may select the key 530 from an array of master keys to which it has access. Alternatively, theEDA tool 550 may match the keyrelated information 531 to one or more keys in an array of master keys for unlocking asecured EDA document 535. - Alternatively, as shown in
FIG. 6 , in addition to a key 620, apassword 640 may be used in the encryption of EDA relatedinformation 615. In one embodiment, the password may be embedded along with the encrypted EDArelated information 650 received by theEDA tool 660. It may then be decrypted by theEDA tool 660 and matched to a user enteredpassword 665 before providing theresults 670 to a user. Additionally, theEDA tool 660 may not even process the decrypted EDA related information unless there is a match between thepassword 665 obtained from a user and one at 640 obtained along with the encrypted EDArelated information 650. - Alternatively, a
password 640 may be used to encrypt, obfuscate, protect, or otherwise alter the keyrelated information 651 embedded along with the encrypted EDArelated information 650. Then, theEDA tool 660 may require that a user of theEDA tool 660 provide it with thepassword 665 before attempting to decrypt the keyrelated information 651 embedded along with the EDA information. Also, a key itself may be encrypted, obfuscated, or otherwise protected by apassword 640. - As described above, secured EDA related information (e.g., 130 in
FIG. 1 ) may be accessed for instance, via the use of a key or a password or a combination thereof. In one embodiment, accessibility of the secured EDA related information may depend upon meeting one or more conditions. For instance, as shown inFIG. 5A , in addition tokey data 530 for securing the EDA relatedinformation 510, one ormore conditions 532 to be met for accessing the secured EDArelated information 540 may also be specified. - In one example,
such condition data 532 may be provided to an EDA tool (e.g., 550) along with the secured EDArelated information 540. For instance, in a client-server network the EDA tool (e.g., 550) may request and receive such condition data 532 (e.g., a number of allowed accesses, a number of previous accesses, identity data of those that are to be allowed accesses and date and time of previous accesses) from one or more computers connected to the network. In one embodiment of the client-server network, the EDA tool (e.g., 550) may be a client and the network computer responsive to its call back requests may be a server computer capable of providing data in response to requests from one or more such clients. - Alternatively, at least some of the condition data 532 (e.g., a previous access count and date and time of such accesses) may be calculated and maintained locally by the
EDA tool 550. Regardless of the source ofsuch condition data 532, the EDA tool may access (e.g., via decryption using the key 530) thesecured EDA information 540 upon verifying that theconditions 532 have been met. As noted above, in another alternative, a confirmation of whether the one or more conditions for accesses or other uses have been met may be provided to theEDA tool 550 from another computer of a client-server network. Furthermore, the EDA tool (e.g., 550) may receive a key for unlocking the secured data along with the confirmation that the one or more conditions for access have been met. - For instance, if the one or
more conditions 532 relate to accessing thesecured EDA information 540 prior to a specified expiration date, then the EDA tool (e.g., 550) may verify a current date (e.g., a date on which a current access is being requested), compare the expiration date (e.g., provided as condition data 532) to the current date and access thesecured EDA information 540 if the current date is earlier or the same as the expiration date (e.g., as specified at 532). Alternatively, the access may be limited even on the day coinciding with the expiration date. The expiration date may be specified in terms of one or more of a year, a month, a day of the month and a time of day. - In a further example, conditions for
access 532 may not relate to a date but instead a maximum number of accesses to thesecured data 540 to be attained via the key 530. For instance, acondition 532 may specify that theEDA tool 550 may access the secured data if such data has not been accessed more than a maximum number (e.g., 10) of times using the key 530. Additionally, theconditions 532 for access may be a combination of a maximum number of allowed accesses and an expiration date. Also, access to different portions of the secured EDArelated information 540 may depend on different conditions being met. For instance, different portions of the data may be accessible during different time periods. Also,different conditions 532 may be specified for different users of theEDA tool 550. - In another alternative, the verification of whether conditions have been met for access may be accomplished by a server computer in a client-server network. The results of the verification may be provided to the EDA tool (e.g., 550) for further processing.
- Additionally, in one embodiment, it may not be the access to the secured EDA
related information 540 that is restricted based on meeting selectedconditions 532, insteadconditions 532 may be used to restrict theEDA tool 550 from processing or otherwise using, thesecured EDA data 540 to generate or to release theresults 560 of processing such data. - In some instances, EDA related documents may refer to or otherwise rely on information included in another file. For instance, as shown in
FIG. 7 , a file ‘A’ 710 and hence, any information stored within file ‘A’ 715 may be referred to within an EDArelated document 710. If, for instance, such a file is referred to within EDA related information selected forencryption 720 then theencryption tool 725 may be triggered by an instruction such as a “#INCLUDE”instruction 721 to access thefile 715 and encrypt it along with the other EDA related information designated for encryption at 720. The “#INCLUDE” instruction is an exemplary syntax. Other syntax may also be used to achieve the same result. Other files and any information included therein may be encrypted in a similar manner. In this manner, multiple files from multiple sources may be secured and processed. - One particular application of methods described above for secure exchange of EDA related information between entities may involve the exchange of such information for determining the manufacturability of certain IC layouts based on constraints of a particular manufacturer (e.g., a foundry).
FIG. 8 is a block diagram illustrating an embodiment of one such method of determining the manufacturability of a given integrated circuit (IC) layout. An IC manufacturer (e.g., a foundry) may have certain manufacturing constraints that apply to different IC layouts. An engineer, such as a process engineer, might create a document ofconstraints 810 that contains information regarding constraints specific to that manufacturer. The document ofconstraints 810 can be incorporated into a rule deck or rule file 820 (e.g., an ASCII file) that further describes the particular constraints. The rule file may also comprise information such as a picture, a set of design data base objects and schematic representations of the rules Therule file 820 may then be used with an EDA tool such as a physical verification tool 830 (e.g., Calibre™, a Mentor Graphics Corp. tool) to determine if an initial IC layout 840 (e.g., as described in file types such as GDSII, OpenAccess, and Milkyway) violates the manufacturer's constraints. Thephysical verification tool 830 may thus be used to determine whether or not theinitial IC layout 840 is manufacturable. - In the illustrated embodiment, the
physical verification tool 830 may read theinitial IC layout 840 and, using therule file 820, determine if theinitial IC layout 840 violates any of the constraints in therule file 820. Thephysical verification tool 830 may provide a results file 850 containing a record of any errors encountered in the layout, as well as information regarding the operation of the tool itself (e.g., the amount of time or memory needed for the tool to run its verification). Thephysical verification tool 830 may also provide a manufacturable IC layout 860 (e.g., a layout in which no constraints are violated) that the design engineer can choose to use or evaluate for manufacture of the IC. If theinitial IC layout 840 does not violate any of the constraints, themanufacturable IC layout 860 may just comprise theinitial IC layout 840. If theinitial IC layout 840 violates at least one constraint, however, themanufacturable IC layout 860 may comprise proposed changes that would make the layout manufacturable. - However, a manufacturer may desire not to reveal a given rule file (e.g., the rule file 820) containing proprietary information considered to be intellectual property (e.g., one or more trade secrets). This may be so because sometimes, for example, the person who writes the
rule file 820 is not the same person who runs thephysical verification tool 830 that uses the rule file 820 (e.g., the design engineer). Nonetheless, it is often desirable for the manufacturer to provide the engineer with something detailing at least some of the constraints specific to that manufacturer so that a design engineer may determine whether a given IC layout is manufacturable by that manufacturer even if the entire rule file is not revealed. -
FIG. 9 is a block diagram illustrating an exemplary embodiment of a system for securely exchanging rule files. Arule file 910 may contain information relating to constraints specific to a certain manufacturer. In one particular embodiment, therule file 910 is written in a known format such as the standard verification rules format (SVRF). Therule file 910 can contain proprietary information that the manufacturer does not want to be discovered by whoever receives therule file 910. Therule file 910 may also contain other information that may or may not be proprietary and with which the manufacturer is less concerned. Rules to be protected (e.g., rules the manufacturer does not want to be shown in the transcript) can include, for example, layer creation commands, design-rule-checking (DRC) checks, layout-vs.-schematic (LVS) device statements, in-file LITHO operations, optical-and-process-correction operations (e.g., TDOPC and OPCSbar operations), parasitic-extraction (PEX) statements, or FRACTURE commands. This is not an exhaustive list, as the manufacturer, in accordance with this disclosure, can select (or allow software election of) any information for this higher protection. - As described above, the portion of the
rule file 910 comprising such highly proprietary information, or any one or more sections of the file sought to be secured, can be placed between a first set of designated key words in therule file 910. For example, in one particular embodiment, such key words can be “#ENCRYPT,” signifying the beginning of a section to be secured, and “#ENDCRYPT,” signifying the end of the section to be secured. The modifiedrule file 910 can then be processed by anencryption tool 920. Theencryption tool 920 can secure the portion of the file between “#ENCRYPT” and “#ENDCRYPT” through an encryption process, resulting in anencrypted rule file 930. In one embodiment, theencrypted rule file 930 contains the encrypted portion between a second set of designated keywords, such as “#DECRYPT” and “#ENDCRYPT,” respectively. Other non-encrypted information is desirably also included in therule file 910, in which case theencrypted rule file 930 is only partially encrypted. - In this embodiment, an
optional key 915 is used in the encryption process. Theoptional key 915 can be a private key, for example. In one particular embodiment, a user selects a key 915 to be used in the encryption process. In an alternative embodiment, a key 915 is randomly selected by theencryption tool 920. Theencryption tool 920 can contain or have access to an array of master keys from which it might select a key 915 to use. Alternatively, a user can choose a password to be used in place of or in connection with a key 915. Such a password can be embedded into the encrypted portion of the file at 935 and protected through obfuscation, for example. Alternatively, the password can be used to alter the master key. - The encrypted or partially
encrypted rule file 935 can be provided as input, along with theinitial IC layout 940, to thephysical verification tool 950 for processing. In one embodiment, thephysical verification tool 950 decrypts and processes the section orsections 935 of theencrypted rule file 930 between the second set of designated keywords (e.g., “#DECRYPT” and “#ENDCRYPT”) without fully revealing the decrypted section to the user of thephysical verification tool 950. The decryption can be done in the run-time memory space of thephysical verification tool 950, for example. - Referring to
FIG. 1 , the EDA related information contained within EDA relateddocument 110 and protected by encryption prior to its use by an EDA relatedtool 140 may lose its protection if it is disclosed to a user of theEDA tool 140 via theresults 150. Thus, in one embodiment, portions of aresult 150 file comprising EDA related information designated as sensitive may be obscured, encrypted, or otherwise altered to prevent the user from learning about any sensitive EDA related information. For instance, with respect to the implementation related toIC layouts 940 described inFIG. 9 , thephysical verification tool 950 may not produce a full transcription for the secured rules 930. Instead, thephysical verification tool 950 may produce only partial transcription of the securedrule file 930 asresults 960 so that the secured portion of therule file 935 is not disclosed. - The
physical verification tool 950 can provide other EDA related information asresults 960 and, if possible, may optionally provide amanufacturable IC layout 970. Such information can further or alternatively be recorded in a database. Error information related to violations of the constraints in therule file 910 can be communicated in various ways. In one particular embodiment, error information regarding the secured portion of therule file 935 is handled differently than error information regarding the rest of the file. For example, error information regarding the secured portion of thefile 935 can be limited, whereas error information regarding the rest of the file can be much more detailed. In one embodiment, the error information regarding the secured portion of therule file 935 simply states how many errors exist in theinitial IC layout 940. - For example, an otherwise listed rule might simply be shown as “Encrypted” in the results file 960. In another embodiment, the error information regarding the secured portion describes at least one type of error in general terms, such as indicating that two components are too close together, for example. In an alternative embodiment, the error information regarding the secured portion describes at least one type of error in specific terms, such as detailing which two components are too close together and at what location, for example.
- Some of the examples above (e.g.,
FIG. 9 ), discuss methods and systems of secure exchange of EDA related information by illustrating the exchange of IC rule files for use in a physical verification tool. However, physical verification using rule files is only one type of EDA application in which the disclosed methods may be used. Other EDA applications include (but are not limited to) such uses as layout versus schematic verification (LVS), generating parasitic extraction flows (e.g., layout parasitic extraction (LPE)) and applying tools for resolution enhancement technology (RET). Other tools such as synthesis tools, emulation tools and simulation tools may also use EDA related information in a secure manner using the methods and systems described herein. - EDA related information to be secured and processed in a secure manner may include any information related to design for manufacture (DFM) processes, methods, systems and tools. Also, besides rule files, other EDA related information that can be protected using the disclosed principles include (but are not limited to) Oasis, Spice net lists, VHDL, and Verilog. The processes, methods, systems, tools described herein are not limited in any way by the nature of the information to be secured and processed or the tools for the same.
- Any of the aspects of the technology described above may be performed or designed using a distributed computer network.
FIG. 10 shows one such exemplary network. Aserver computer 1000 can have an associated storage device 1002 (internal or external to the server computer). For example, theserver computer 1000 can be configured to process EDA information related to circuit designs using any of the embodiments described above (e.g., as part of an EDA software tool). Theserver computer 1000 may be coupled to a network, shown generally at 1004, which can comprise, for example, a wide-area network, a local-area network, a client-server network, the Internet, or other such network. One or more client computers, such as those shown at 1006, 1008, may be coupled to thenetwork 1004 using a network protocol. -
FIG. 11 shows that a client computer (e.g., 1006 and 1008) receives results (e.g., errors related to rule files and alternative IC design layouts that do violate selected rules) related to secure processing of EDA related information (e.g., IC rule files) according to any of the embodiments disclosed herein using a remote server computer, such as theserver computer 1000 shown inFIG. 10 . Inprocess block 1150, for example, a client computer sends data related to EDA. For instance, a client computer may send a rule file, one or more proposed IC design layouts and other EDA information from a design database. Inprocess block 1152, the data is received and secured by the server computer according to any of the disclosed embodiments. Alternatively, the client computer may secure the EDA information to be processed and send such secured EDA information to the server for processing. - In
process block 1154, the EDA related information is processed according to any of the disclosed embodiments. Inprocess block 1156, the server computer sends the results (e.g., errors related to rule files and alternative IC design layouts that so not violate selected rules) to the client computer which receives the database inprocess block 1158. It should be apparent to those skilled in the art that the example shown inFIG. 11 is not the only way to secure EDA related information, process the secured EDA related information and share the results of such processing without revealing the secured EDA related information. For instance, the client computer that sends the EDA related information (e.g., rule files) may not be the same client that receives the results. Also, the EDA related information may be stored in a computer-readable media that is not on a network and that is sent separately to the server. Or, the server computer may perform only a portion of the design procedures. - Having described and illustrated the principles of our invention with reference to the illustrated embodiments, it will be recognized that the illustrated embodiments can be modified in arrangement and detail without departing from such principles. For example, a file may comprise a master file in which multiple, individually protected files comprising EDA related information are included. Thus, for instance multiple IC manufacturers or other third-party entities in the design flow can contribute, use, and/or share rule files without revealing certain proprietary information.
- Elements of the illustrated embodiment shown in software may be implemented in hardware and vice versa. Also, the technologies from any example can be combined with the technologies described in any one or more of the other examples. Thus, for instance, any method, process, system or tool described herein with respect to secure processing of rule files for physical verification may be used in conjunction with other EDA related information for other EDA uses in other EDA related tools. In view of the many possible embodiments to which the principles of the invention may be applied, it should be recognized that the illustrated embodiments are examples of the invention and should not be taken as a limitation on the scope of the invention. For instance, various components of systems and tools described herein may be combined in function and use. We therefore claim as our invention all subject matter that comes within the scope and spirit of these claims.
Claims (22)
1. A computer-readable medium storing computer-executable instructions for causing a computer to perform a method of processing secured electronic design automation information, the method comprising:
receiving the secured electronic design automation information, wherein the secured electronic design automation information comprises rules related to manufacture of integrated circuits, including rules regarding manufacturing constraints;
determining whether at least one condition is met; and
responsive to determining that the at least one condition has been met:
accessing the secured electronic design automation information; and
processing at least some of the secured electronic design automation information without revealing at least some portion of the secured electronic design automation information.
2. The method computer-readable medium of claim 1 , the method further comprising receiving data related to the at least one condition along with the secured electronic design automation information.
3. The computer-readable medium of claim 1 , wherein the at least one condition comprises an expiration date and determining whether the at least one condition is met comprises comparing a current date with the expiration date.
4. The computer-readable medium of claim 3 , wherein the expiration date comprises one or more of a month data, a year data and a time of day data.
5. The computer-readable medium of claim 1 , wherein the at least one condition comprises a value corresponding to a maximum number of times the secured electronic design automation information can be accessed and determining whether the at least one condition is met comprises comparing a number value of a current access to the maximum number of times the secured electronic design automation information can be accessed.
6. The method computer-readable medium of claim 1 , wherein the at least one condition comprises a value corresponding to a maximum number of times the secured electronic design automation information can be accessed and determining whether the at least one condition is met comprises generating a call back request to a server computer requesting confirmation that the at least one condition has been met.
7. The computer-readable medium of claim 1 , wherein determining whether the at least one condition is met comprises applying different conditions for accessing different portions of the secured electronic design automation information.
8. The computer-readable medium of claim 1 , wherein determining whether the at least one condition is met comprises applying different conditions for different users.
9. The computer-readable medium of claim 1 , wherein the method is performed by an electronic design automation tool running on the computer, and wherein the electronic design automation tool is a physical verification tool.
10. The computer-readable medium of claim 1 , the method further comprising receiving information related to a key for accessing the secured electronic design automation information along with data related to the at least one condition.
11. A computer-readable medium storing computer-executable instructions for causing a computer to perform a method for secure exchange of rules related to manufacture of integrated circuits, the method comprising:
receiving secured rules related to manufacture of integrated circuits, wherein the secured rules related to manufacture of integrated circuits are annotated to indicate they are secured, and wherein the secured rules related to manufacture of integrated circuits include rules regarding manufacturing constraints;
determining whether a current period is within a duration during which the secured rules related to manufacture of integrated circuits may be processed; and
responsive to determining that the current period is within the duration:
unlocking the secured rules related to manufacture of integrated circuits;
receiving data related to one or more integrated circuit layouts; and
verifying whether the one or more integrated circuit layouts violate any of the secured rules related to manufacture of integrated circuits.
12. The computer-readable medium of claim 11 , wherein the duration during which the secured rules related to manufacture of integrated circuits may be processed comprises an expiration date, wherein the expiration date comprises one or more of a month data, a year data and a time of day data.
13. (canceled)
14. The computer-readable medium of claim 11 , wherein the secured rules related to manufacture of integrated circuits is unlocked but not processed until determining that the current period is within the duration during which the secured rules related to manufacture of integrated circuits may be processed.
15. The computer-readable medium of claim 11 , wherein the secured rules related to manufacture of integrated circuits is not unlocked until determining that the current period is within the duration during which the secured rules related to manufacture of integrated circuits may be processed.
16. The computer-readable medium of claim 11 , wherein the duration during which the secured rules related to manufacture of integrated circuits may be processed is different for different portions of the secured rules related to manufacture of integrated circuits.
17. The computer-readable medium of claim 11 , wherein the duration during which the secured rules related to manufacture of integrated circuits may be processed is different for different users.
18. A system for secured exchange of electronic design automation information comprising an electronic design automation tool operational for:
receiving a file comprising secured electronic design automation information, wherein the secured electronic design automation information comprises rules related to manufacture of integrated circuits, including rules regarding manufacturing constraints;
identifying the secured electronic design automation information within the file;
determining whether one or more conditions for accessing at least some portion of the secured electronic design automation information within the file have been met; and
responsive to determining that the one or more conditions have been met, accessing the at least some portion of the secured electronic design automation information to process the at least some portion of the secured electronic design automation information without revealing the at least some portion of the secured electronic design automation information.
19. The system of claim 18 , wherein data related to the one or more conditions for accessing the at least some portion of the secured electronic design automation information is specified within the file comprising the secured electronic design automation information.
20. (canceled)
21. The computer-readable medium of claim 1 , wherein the determining whether the at least one condition is met comprises receiving a verification that the at least one condition has been met from a server computer over a network.
22. The computer-readable medium of claim 11 , further responsive to determining that the current period is within the duration:
providing error reports indicating results of the verification without revealing at least some of the secured rules.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/036,816 US20080148348A1 (en) | 2003-09-26 | 2008-02-25 | Secure exchange of information in electronic design automation |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US50619003P | 2003-09-26 | 2003-09-26 | |
US10/895,485 US7222312B2 (en) | 2003-09-26 | 2004-07-20 | Secure exchange of information in electronic design automation |
US10/920,988 US7353468B2 (en) | 2003-09-26 | 2004-08-17 | Secure exchange of information in electronic design automation |
US12/036,816 US20080148348A1 (en) | 2003-09-26 | 2008-02-25 | Secure exchange of information in electronic design automation |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/920,988 Continuation US7353468B2 (en) | 2003-09-26 | 2004-08-17 | Secure exchange of information in electronic design automation |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080148348A1 true US20080148348A1 (en) | 2008-06-19 |
Family
ID=34557328
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/920,988 Active 2025-08-11 US7353468B2 (en) | 2003-09-26 | 2004-08-17 | Secure exchange of information in electronic design automation |
US12/036,816 Abandoned US20080148348A1 (en) | 2003-09-26 | 2008-02-25 | Secure exchange of information in electronic design automation |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/920,988 Active 2025-08-11 US7353468B2 (en) | 2003-09-26 | 2004-08-17 | Secure exchange of information in electronic design automation |
Country Status (5)
Country | Link |
---|---|
US (2) | US7353468B2 (en) |
EP (1) | EP1668503A4 (en) |
JP (1) | JP4601618B2 (en) |
TW (1) | TWI258965B (en) |
WO (1) | WO2005043283A2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259978A1 (en) * | 2003-09-26 | 2006-11-16 | Pikus Fedor G | Secure exchange of information in electronic design automation with license-related key generation |
US20070266445A1 (en) * | 2003-09-26 | 2007-11-15 | Ferguson John G | Secure exchange of information in electronic design automation |
US20090222927A1 (en) * | 2006-04-30 | 2009-09-03 | Pikus Fedor G | Concealment of Information in Electronic Design Automation |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7454323B1 (en) * | 2003-08-22 | 2008-11-18 | Altera Corporation | Method for creation of secure simulation models |
US7353468B2 (en) * | 2003-09-26 | 2008-04-01 | Ferguson John G | Secure exchange of information in electronic design automation |
US7107567B1 (en) * | 2004-04-06 | 2006-09-12 | Altera Corporation | Electronic design protection circuit |
US7340697B2 (en) * | 2004-12-22 | 2008-03-04 | Agere Systems Inc. | Integrated computer-aided circuit design kit facilitating verification of designs across different process technologies |
US20060200789A1 (en) * | 2005-03-03 | 2006-09-07 | Dan Rittman | Connectivity verification of IC (integrated circuit) mask layout database versus IC schematic; LVS check, (LVS: IC layout versus IC schematic) via the internet method and computer software |
JP2007122206A (en) * | 2005-10-26 | 2007-05-17 | Fujitsu Ltd | Apparatus, program, and method for supporting designing of digital transmission circuit |
CN101542488A (en) * | 2006-10-09 | 2009-09-23 | 明导公司 | Properties in electronic design automation |
US8060851B2 (en) * | 2006-10-13 | 2011-11-15 | Verigy (Singapore) Pte. Ltd. | Method for operating a secure semiconductor IP server to support failure analysis |
US7590954B2 (en) * | 2006-10-31 | 2009-09-15 | Litepoint Corp. | Test solution development method |
US20080282029A1 (en) * | 2007-05-09 | 2008-11-13 | Ganesh Balakrishnan | Structure for dynamic optimization of dynamic random access memory (dram) controller page policy |
US20090053673A1 (en) * | 2007-08-23 | 2009-02-26 | Zimmer, Inc. | Method for localized treatment of periodontal tissue |
US7831936B2 (en) * | 2007-12-19 | 2010-11-09 | International Business Machines Corporation | Structure for a system for controlling access to addressable integrated circuits |
US8032848B2 (en) * | 2009-01-29 | 2011-10-04 | Synopsys, Inc. | Performing abstraction-refinement using a lower-bound-distance to verify the functionality of a circuit design |
JP5293572B2 (en) * | 2009-11-17 | 2013-09-18 | 富士通セミコンダクター株式会社 | Design verification apparatus, design verification method, and design verification program |
US8417965B1 (en) * | 2010-04-07 | 2013-04-09 | Xilinx, Inc. | Method and circuit for secure definition and integration of cores |
US8156456B1 (en) * | 2010-07-01 | 2012-04-10 | Xilinx, Inc. | Unified design methodology for multi-die integrated circuits |
US8260931B2 (en) * | 2010-10-02 | 2012-09-04 | Synopsys, Inc. | Secure provisioning of resources in cloud infrastructure |
US8381161B1 (en) | 2011-11-04 | 2013-02-19 | International Business Machines Corporation | Method for providing a secure “gray box” view proprietary IP |
EP2879064B1 (en) * | 2012-07-24 | 2019-11-06 | Fuji Machine Mfg. Co., Ltd. | Information administration system |
US8782593B2 (en) * | 2012-09-25 | 2014-07-15 | Taiwan Semiconductor Manufacturing Company, Ltd. | Thermal analysis of integrated circuit packages |
CN103116670B (en) * | 2013-01-28 | 2015-12-23 | 北京航空航天大学 | The switching consistency verification method of computer network defense strategy |
EP2891997A1 (en) | 2014-01-06 | 2015-07-08 | Fujitsu Limited | Methods and apparatus for including a confidential structural component in a third party remote product simulation |
KR20160078032A (en) * | 2014-12-24 | 2016-07-04 | 삼성전자주식회사 | Apparatus and method for electronic design automation |
US10312091B1 (en) * | 2015-10-13 | 2019-06-04 | Multibeam Corporation | Secure permanent integrated circuit personalization |
US10437953B2 (en) * | 2016-07-08 | 2019-10-08 | efabless corporation | Systems for engineering integrated circuit design and development |
US10951591B1 (en) * | 2016-12-20 | 2021-03-16 | Wells Fargo Bank, N.A. | SSL encryption with reduced bandwidth |
US10891410B1 (en) | 2018-07-03 | 2021-01-12 | Synopsys, Inc. | User-defined rule engine |
US11799865B2 (en) | 2020-12-18 | 2023-10-24 | Microsoft Technology Licensing, Llc | Multi-chamber hosted computing environment for collaborative development between untrusted partners |
Citations (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US550070A (en) * | 1895-11-19 | Game apparatus | ||
US5509070A (en) * | 1992-12-15 | 1996-04-16 | Softlock Services Inc. | Method for encouraging purchase of executable and non-executable software |
US5708709A (en) * | 1995-12-08 | 1998-01-13 | Sun Microsystems, Inc. | System and method for managing try-and-buy usage of application programs |
US5751595A (en) * | 1996-03-14 | 1998-05-12 | International Business Machines Corporation | Method for building and verifying authenticity of a rule system |
US5787169A (en) * | 1995-12-28 | 1998-07-28 | International Business Machines Corp. | Method and apparatus for controlling access to encrypted data files in a computer system |
US5966707A (en) * | 1997-12-02 | 1999-10-12 | International Business Machines Corporation | Method for managing a plurality of data processes residing in heterogeneous data repositories |
US5978476A (en) * | 1996-09-17 | 1999-11-02 | Altera Corporation | Access restriction to circuit designs |
US6006190A (en) * | 1997-04-28 | 1999-12-21 | Tartaroukos Llc | Computer implemented method and a computer system for enforcing software licenses |
US6009251A (en) * | 1997-09-30 | 1999-12-28 | Synopsys, Inc. | Method and system for layout verification of an integrated circuit design with reusable subdesigns |
US6012033A (en) * | 1997-06-30 | 2000-01-04 | Vlsi Technology, Inc. | Proprietary information protection method |
US6061791A (en) * | 1997-05-09 | 2000-05-09 | Connotech Experts-Conseils Inc. | Initial secret key establishment including facilities for verification of identity |
US6118869A (en) * | 1998-03-11 | 2000-09-12 | Xilinx, Inc. | System and method for PLD bitstream encryption |
US6256768B1 (en) * | 1998-11-03 | 2001-07-03 | Silicon Perspective Corporation | Amoeba display for hierarchical layout |
US20010037458A1 (en) * | 2000-02-08 | 2001-11-01 | Kean Thomas A. | Method of using a mask programmed key to securely configure a field programmable gate array |
US20020010681A1 (en) * | 2000-04-28 | 2002-01-24 | Hillegass James C. | Method and system for licensing digital works |
US20020034302A1 (en) * | 2000-09-18 | 2002-03-21 | Sanyo Electric Co., Ltd. | Data terminal device that can easily obtain and reproduce desired data |
US6401230B1 (en) * | 1998-12-04 | 2002-06-04 | Altera Corporation | Method of generating customized megafunctions |
US20020099947A1 (en) * | 2001-01-19 | 2002-07-25 | Xerox Corporation | Secure content objects |
US20020107809A1 (en) * | 2000-06-02 | 2002-08-08 | Biddle John Denton | System and method for licensing management |
US20020156757A1 (en) * | 2000-05-12 | 2002-10-24 | Don Brown | Electronic product design system |
US20020184494A1 (en) * | 2001-06-04 | 2002-12-05 | Awadalla Emad M. | Methods for using embedded printer description language as a security tool and printers and systems with whcih the method may be used |
US6578174B2 (en) * | 2001-06-08 | 2003-06-10 | Cadence Design Systems, Inc. | Method and system for chip design using remotely located resources |
US20030126581A1 (en) * | 1997-09-17 | 2003-07-03 | Numerical Technologies, Inc. | User interface for a network-based mask defect printability analysis system |
US20030131325A1 (en) * | 1999-11-30 | 2003-07-10 | Bridges2Silicon, Inc. | Method and user interface for debugging an electronic system |
US6594799B1 (en) * | 2000-02-28 | 2003-07-15 | Cadence Design Systems, Inc. | Method and system for facilitating electronic circuit and chip design using remotely located resources |
US20030140255A1 (en) * | 2002-01-23 | 2003-07-24 | Intellitech Corporation | Management system, method and apparatus for licensed delivery and accounting of electronic circuits |
US20030149669A1 (en) * | 2002-02-05 | 2003-08-07 | Howells Michael C. | Method and system for licensing intellectual property circuits |
US6609244B2 (en) * | 2001-04-20 | 2003-08-19 | Hitachi, Ltd. | Design method of a logic circuit |
US20030182578A1 (en) * | 1999-10-15 | 2003-09-25 | Warnock Christopher M. | Method and apparatus for improved information transactions |
US20030221116A1 (en) * | 2002-04-15 | 2003-11-27 | Core Sdi, Incorporated | Security framework for protecting rights in computer software |
US20040062998A1 (en) * | 2002-09-27 | 2004-04-01 | The Regents Of The University Of California | Etched-multilayer phase shifting masks for EUV lithography |
US6718468B1 (en) * | 1999-11-12 | 2004-04-06 | International Business Machines Corporation | Method for associating a password with a secured public/private key pair |
US20040093397A1 (en) * | 2002-06-06 | 2004-05-13 | Chiroglazov Anatoli G. | Isolated working chamber associated with a secure inter-company collaboration environment |
US20040107087A1 (en) * | 2002-11-21 | 2004-06-03 | Matsushita Electric Industrial Co., Ltd. | Circuit operation simulating apparatus |
US20040126672A1 (en) * | 2002-12-30 | 2004-07-01 | Numerical Technologies, Inc. | Lithography process modeling of asymmetric patterns |
US6782511B1 (en) * | 1999-05-26 | 2004-08-24 | Cadence Design Systems, Inc. | Behavioral-synthesis electronic design automation tool business-to-business application service provider |
US20040221179A1 (en) * | 2003-05-02 | 2004-11-04 | Omkumar Seshadri | Method and system for access to development environment of another in a secure zone |
US20050044514A1 (en) * | 2003-08-18 | 2005-02-24 | Aprio Technologies, Inc. | Method and platform for integrated physical verifications and manufacturing enhancements |
US20050046934A1 (en) * | 2003-08-29 | 2005-03-03 | Tokyo Electron Limited | Method and system for drying a substrate |
US20050071792A1 (en) * | 2003-09-26 | 2005-03-31 | Mentor Graphics Corporation | Secure exchange of information in electronic design automation |
US20050071659A1 (en) * | 2003-09-26 | 2005-03-31 | Ferguson John G. | Secure exchange of information in electronic design automation |
US20050092848A1 (en) * | 2002-05-24 | 2005-05-05 | Infineon Technologies Ag | Integrated circuit having an active shield |
US20050102648A1 (en) * | 2002-07-26 | 2005-05-12 | Hsu Stephen D. | Orientation dependent shielding for use with dipole illumination techniques |
US6904527B1 (en) * | 2000-03-14 | 2005-06-07 | Xilinx, Inc. | Intellectual property protection in a programmable logic device |
US20050182956A1 (en) * | 1995-02-13 | 2005-08-18 | Intertrust Technologies Corporation | Trusted and secure techniques, systems and methods for item delivery and execution |
US6952656B1 (en) * | 2000-04-28 | 2005-10-04 | Applied Materials, Inc. | Wafer fabrication data acquisition and management systems |
US6976166B2 (en) * | 2001-02-06 | 2005-12-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for partial encryption of content |
US6981153B1 (en) * | 2000-11-28 | 2005-12-27 | Xilinx, Inc. | Programmable logic device with method of preventing readback |
US6993137B2 (en) * | 2000-06-16 | 2006-01-31 | Entriq, Inc. | Method and system to securely distribute content via a network |
US6999910B2 (en) * | 2001-11-20 | 2006-02-14 | Lsi Logic Corporation | Method and apparatus for implementing a metamethodology |
US20060041502A1 (en) * | 2004-08-21 | 2006-02-23 | Blair William R | Cost management file translation methods, systems, and apparatuses for extended commerce |
US20060064383A1 (en) * | 2004-09-20 | 2006-03-23 | Aaron Marking | Media on demand via peering |
US20060069925A1 (en) * | 2002-03-29 | 2006-03-30 | Shinichi Nakai | Content processing device, content accumulation medium, content processing method and content processing program |
US7111258B2 (en) * | 2002-10-31 | 2006-09-19 | Hitachi, Ltd. | Method for designing logic circuit and CAD program |
US7127692B2 (en) * | 2002-06-27 | 2006-10-24 | Lsi Logic Corporation | Timing abstraction and partitioning strategy |
US20060253813A1 (en) * | 2005-05-03 | 2006-11-09 | Dan Rittman | Design rule violations check (DRC) of IC's (integrated circuits) mask layout database, via the internet method and computer software |
US20060253810A1 (en) * | 2003-09-16 | 2006-11-09 | Carlo Guardiani | Integrated circuit design to optimize manufacturability |
US20060259978A1 (en) * | 2003-09-26 | 2006-11-16 | Pikus Fedor G | Secure exchange of information in electronic design automation with license-related key generation |
US7178025B2 (en) * | 1998-02-13 | 2007-02-13 | Tec Sec, Inc. | Access system utilizing multiple factor identification and authentication |
US20070055892A1 (en) * | 2003-09-26 | 2007-03-08 | Mentor Graphics Corp. | Concealment of information in electronic design automation |
US20070201442A1 (en) * | 2006-02-08 | 2007-08-30 | International Business Machines Corporation | Schema-based portal architecture for assessment and integration of silicon IPs |
US7281136B2 (en) * | 2000-02-14 | 2007-10-09 | Matsushita Electric Industrial Co., Ltd. | LSI design method and verification method |
US20070266248A1 (en) * | 2006-05-15 | 2007-11-15 | Taiwan Semiconductor Manufacturing Company, Ltd. | System and Method for Design-for-Manufacturability Data Encryption |
US7298845B2 (en) * | 1998-10-16 | 2007-11-20 | Matsushita Electric Industrial Co., Ltd. | Digital content protection system |
US20090222927A1 (en) * | 2006-04-30 | 2009-09-03 | Pikus Fedor G | Concealment of Information in Electronic Design Automation |
US7603569B2 (en) * | 2000-05-01 | 2009-10-13 | Komatsu Ltd. | Information providing system and a method for providing information |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638443A (en) * | 1994-11-23 | 1997-06-10 | Xerox Corporation | System for controlling the distribution and use of composite digital works |
US5841768A (en) * | 1996-06-27 | 1998-11-24 | Interdigital Technology Corporation | Method of controlling initial power ramp-up in CDMA systems by using short codes |
-
2004
- 2004-08-17 US US10/920,988 patent/US7353468B2/en active Active
- 2004-09-01 TW TW093126430A patent/TWI258965B/en not_active IP Right Cessation
- 2004-09-10 JP JP2006528044A patent/JP4601618B2/en not_active Expired - Lifetime
- 2004-09-10 EP EP04816862A patent/EP1668503A4/en not_active Ceased
- 2004-09-10 WO PCT/US2004/029679 patent/WO2005043283A2/en active Application Filing
-
2008
- 2008-02-25 US US12/036,816 patent/US20080148348A1/en not_active Abandoned
Patent Citations (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US550070A (en) * | 1895-11-19 | Game apparatus | ||
US5509070A (en) * | 1992-12-15 | 1996-04-16 | Softlock Services Inc. | Method for encouraging purchase of executable and non-executable software |
US20050182956A1 (en) * | 1995-02-13 | 2005-08-18 | Intertrust Technologies Corporation | Trusted and secure techniques, systems and methods for item delivery and execution |
US5708709A (en) * | 1995-12-08 | 1998-01-13 | Sun Microsystems, Inc. | System and method for managing try-and-buy usage of application programs |
US5787169A (en) * | 1995-12-28 | 1998-07-28 | International Business Machines Corp. | Method and apparatus for controlling access to encrypted data files in a computer system |
US5751595A (en) * | 1996-03-14 | 1998-05-12 | International Business Machines Corporation | Method for building and verifying authenticity of a rule system |
US5978476A (en) * | 1996-09-17 | 1999-11-02 | Altera Corporation | Access restriction to circuit designs |
US6006190A (en) * | 1997-04-28 | 1999-12-21 | Tartaroukos Llc | Computer implemented method and a computer system for enforcing software licenses |
US6061791A (en) * | 1997-05-09 | 2000-05-09 | Connotech Experts-Conseils Inc. | Initial secret key establishment including facilities for verification of identity |
US6012033A (en) * | 1997-06-30 | 2000-01-04 | Vlsi Technology, Inc. | Proprietary information protection method |
US20030126581A1 (en) * | 1997-09-17 | 2003-07-03 | Numerical Technologies, Inc. | User interface for a network-based mask defect printability analysis system |
US6009251A (en) * | 1997-09-30 | 1999-12-28 | Synopsys, Inc. | Method and system for layout verification of an integrated circuit design with reusable subdesigns |
US5966707A (en) * | 1997-12-02 | 1999-10-12 | International Business Machines Corporation | Method for managing a plurality of data processes residing in heterogeneous data repositories |
US7178025B2 (en) * | 1998-02-13 | 2007-02-13 | Tec Sec, Inc. | Access system utilizing multiple factor identification and authentication |
US6118869A (en) * | 1998-03-11 | 2000-09-12 | Xilinx, Inc. | System and method for PLD bitstream encryption |
US7298845B2 (en) * | 1998-10-16 | 2007-11-20 | Matsushita Electric Industrial Co., Ltd. | Digital content protection system |
US6256768B1 (en) * | 1998-11-03 | 2001-07-03 | Silicon Perspective Corporation | Amoeba display for hierarchical layout |
US6401230B1 (en) * | 1998-12-04 | 2002-06-04 | Altera Corporation | Method of generating customized megafunctions |
US6782511B1 (en) * | 1999-05-26 | 2004-08-24 | Cadence Design Systems, Inc. | Behavioral-synthesis electronic design automation tool business-to-business application service provider |
US20030182578A1 (en) * | 1999-10-15 | 2003-09-25 | Warnock Christopher M. | Method and apparatus for improved information transactions |
US6718468B1 (en) * | 1999-11-12 | 2004-04-06 | International Business Machines Corporation | Method for associating a password with a secured public/private key pair |
US20030131325A1 (en) * | 1999-11-30 | 2003-07-10 | Bridges2Silicon, Inc. | Method and user interface for debugging an electronic system |
US20010037458A1 (en) * | 2000-02-08 | 2001-11-01 | Kean Thomas A. | Method of using a mask programmed key to securely configure a field programmable gate array |
US7281136B2 (en) * | 2000-02-14 | 2007-10-09 | Matsushita Electric Industrial Co., Ltd. | LSI design method and verification method |
US6594799B1 (en) * | 2000-02-28 | 2003-07-15 | Cadence Design Systems, Inc. | Method and system for facilitating electronic circuit and chip design using remotely located resources |
US20040098391A1 (en) * | 2000-02-28 | 2004-05-20 | Robertson William H. | Method and system for facilitating electronic circuit and chip design using remotely located resources |
US6904527B1 (en) * | 2000-03-14 | 2005-06-07 | Xilinx, Inc. | Intellectual property protection in a programmable logic device |
US20020010681A1 (en) * | 2000-04-28 | 2002-01-24 | Hillegass James C. | Method and system for licensing digital works |
US6952656B1 (en) * | 2000-04-28 | 2005-10-04 | Applied Materials, Inc. | Wafer fabrication data acquisition and management systems |
US7603569B2 (en) * | 2000-05-01 | 2009-10-13 | Komatsu Ltd. | Information providing system and a method for providing information |
US20020156757A1 (en) * | 2000-05-12 | 2002-10-24 | Don Brown | Electronic product design system |
US20020107809A1 (en) * | 2000-06-02 | 2002-08-08 | Biddle John Denton | System and method for licensing management |
US6993137B2 (en) * | 2000-06-16 | 2006-01-31 | Entriq, Inc. | Method and system to securely distribute content via a network |
US20020034302A1 (en) * | 2000-09-18 | 2002-03-21 | Sanyo Electric Co., Ltd. | Data terminal device that can easily obtain and reproduce desired data |
US6981153B1 (en) * | 2000-11-28 | 2005-12-27 | Xilinx, Inc. | Programmable logic device with method of preventing readback |
US20020099947A1 (en) * | 2001-01-19 | 2002-07-25 | Xerox Corporation | Secure content objects |
US6976166B2 (en) * | 2001-02-06 | 2005-12-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for partial encryption of content |
US6609244B2 (en) * | 2001-04-20 | 2003-08-19 | Hitachi, Ltd. | Design method of a logic circuit |
US20020184494A1 (en) * | 2001-06-04 | 2002-12-05 | Awadalla Emad M. | Methods for using embedded printer description language as a security tool and printers and systems with whcih the method may be used |
US6578174B2 (en) * | 2001-06-08 | 2003-06-10 | Cadence Design Systems, Inc. | Method and system for chip design using remotely located resources |
US6999910B2 (en) * | 2001-11-20 | 2006-02-14 | Lsi Logic Corporation | Method and apparatus for implementing a metamethodology |
US20030140255A1 (en) * | 2002-01-23 | 2003-07-24 | Intellitech Corporation | Management system, method and apparatus for licensed delivery and accounting of electronic circuits |
US20030149669A1 (en) * | 2002-02-05 | 2003-08-07 | Howells Michael C. | Method and system for licensing intellectual property circuits |
US20060069925A1 (en) * | 2002-03-29 | 2006-03-30 | Shinichi Nakai | Content processing device, content accumulation medium, content processing method and content processing program |
US20030221116A1 (en) * | 2002-04-15 | 2003-11-27 | Core Sdi, Incorporated | Security framework for protecting rights in computer software |
US20050092848A1 (en) * | 2002-05-24 | 2005-05-05 | Infineon Technologies Ag | Integrated circuit having an active shield |
US20040093397A1 (en) * | 2002-06-06 | 2004-05-13 | Chiroglazov Anatoli G. | Isolated working chamber associated with a secure inter-company collaboration environment |
US7127692B2 (en) * | 2002-06-27 | 2006-10-24 | Lsi Logic Corporation | Timing abstraction and partitioning strategy |
US20050102648A1 (en) * | 2002-07-26 | 2005-05-12 | Hsu Stephen D. | Orientation dependent shielding for use with dipole illumination techniques |
US20040062998A1 (en) * | 2002-09-27 | 2004-04-01 | The Regents Of The University Of California | Etched-multilayer phase shifting masks for EUV lithography |
US7111258B2 (en) * | 2002-10-31 | 2006-09-19 | Hitachi, Ltd. | Method for designing logic circuit and CAD program |
US20040107087A1 (en) * | 2002-11-21 | 2004-06-03 | Matsushita Electric Industrial Co., Ltd. | Circuit operation simulating apparatus |
US20040126672A1 (en) * | 2002-12-30 | 2004-07-01 | Numerical Technologies, Inc. | Lithography process modeling of asymmetric patterns |
US20040221179A1 (en) * | 2003-05-02 | 2004-11-04 | Omkumar Seshadri | Method and system for access to development environment of another in a secure zone |
US20040230841A1 (en) * | 2003-05-02 | 2004-11-18 | Patrice Savini | Method and system for access to development environment of another |
US20050044514A1 (en) * | 2003-08-18 | 2005-02-24 | Aprio Technologies, Inc. | Method and platform for integrated physical verifications and manufacturing enhancements |
US20050046934A1 (en) * | 2003-08-29 | 2005-03-03 | Tokyo Electron Limited | Method and system for drying a substrate |
US20060253810A1 (en) * | 2003-09-16 | 2006-11-09 | Carlo Guardiani | Integrated circuit design to optimize manufacturability |
US20070055892A1 (en) * | 2003-09-26 | 2007-03-08 | Mentor Graphics Corp. | Concealment of information in electronic design automation |
US20070266445A1 (en) * | 2003-09-26 | 2007-11-15 | Ferguson John G | Secure exchange of information in electronic design automation |
US20100199107A1 (en) * | 2003-09-26 | 2010-08-05 | Ferguson John G | Secure exchange of information in electronic design automation |
US20050071659A1 (en) * | 2003-09-26 | 2005-03-31 | Ferguson John G. | Secure exchange of information in electronic design automation |
US7222312B2 (en) * | 2003-09-26 | 2007-05-22 | Ferguson John G | Secure exchange of information in electronic design automation |
US7698664B2 (en) * | 2003-09-26 | 2010-04-13 | Ferguson John G | Secure exchange of information in electronic design automation |
US20050071792A1 (en) * | 2003-09-26 | 2005-03-31 | Mentor Graphics Corporation | Secure exchange of information in electronic design automation |
US20060259978A1 (en) * | 2003-09-26 | 2006-11-16 | Pikus Fedor G | Secure exchange of information in electronic design automation with license-related key generation |
US7353468B2 (en) * | 2003-09-26 | 2008-04-01 | Ferguson John G | Secure exchange of information in electronic design automation |
US20060041502A1 (en) * | 2004-08-21 | 2006-02-23 | Blair William R | Cost management file translation methods, systems, and apparatuses for extended commerce |
US20060064383A1 (en) * | 2004-09-20 | 2006-03-23 | Aaron Marking | Media on demand via peering |
US20060253813A1 (en) * | 2005-05-03 | 2006-11-09 | Dan Rittman | Design rule violations check (DRC) of IC's (integrated circuits) mask layout database, via the internet method and computer software |
US20070201442A1 (en) * | 2006-02-08 | 2007-08-30 | International Business Machines Corporation | Schema-based portal architecture for assessment and integration of silicon IPs |
US20090222927A1 (en) * | 2006-04-30 | 2009-09-03 | Pikus Fedor G | Concealment of Information in Electronic Design Automation |
US20070266248A1 (en) * | 2006-05-15 | 2007-11-15 | Taiwan Semiconductor Manufacturing Company, Ltd. | System and Method for Design-for-Manufacturability Data Encryption |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259978A1 (en) * | 2003-09-26 | 2006-11-16 | Pikus Fedor G | Secure exchange of information in electronic design automation with license-related key generation |
US20070266445A1 (en) * | 2003-09-26 | 2007-11-15 | Ferguson John G | Secure exchange of information in electronic design automation |
US7698664B2 (en) * | 2003-09-26 | 2010-04-13 | Ferguson John G | Secure exchange of information in electronic design automation |
US20100199107A1 (en) * | 2003-09-26 | 2010-08-05 | Ferguson John G | Secure exchange of information in electronic design automation |
US8302039B2 (en) | 2003-09-26 | 2012-10-30 | Mentor Graphics Corporation | Secure exchange of information in electronic design automation |
US20090222927A1 (en) * | 2006-04-30 | 2009-09-03 | Pikus Fedor G | Concealment of Information in Electronic Design Automation |
Also Published As
Publication number | Publication date |
---|---|
JP2007507041A (en) | 2007-03-22 |
WO2005043283A2 (en) | 2005-05-12 |
EP1668503A2 (en) | 2006-06-14 |
WO2005043283A3 (en) | 2005-11-24 |
TWI258965B (en) | 2006-07-21 |
EP1668503A4 (en) | 2009-09-16 |
TW200524359A (en) | 2005-07-16 |
US7353468B2 (en) | 2008-04-01 |
JP4601618B2 (en) | 2010-12-22 |
US20050071792A1 (en) | 2005-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7353468B2 (en) | Secure exchange of information in electronic design automation | |
US8302039B2 (en) | Secure exchange of information in electronic design automation | |
US20070055892A1 (en) | Concealment of information in electronic design automation | |
JP4498735B2 (en) | Secure machine platform that interfaces with operating system and customized control programs | |
US20090222927A1 (en) | Concealment of Information in Electronic Design Automation | |
EP1686504B1 (en) | Flexible licensing architecture in content rights management systems | |
US5978476A (en) | Access restriction to circuit designs | |
US20060259978A1 (en) | Secure exchange of information in electronic design automation with license-related key generation | |
US20060117178A1 (en) | Information leakage prevention method and apparatus and program for the same | |
US8769675B2 (en) | Clock roll forward detection | |
US20090293118A1 (en) | Systems for authentication for access to software development kit for a peripheral device | |
US20070074050A1 (en) | System and method for software and data copy protection | |
GB2404536A (en) | Protection of data using software wrappers | |
US20120173884A1 (en) | Method for remotely controlling and monitoring the data produced on desktop on desktop software | |
KR100440037B1 (en) | Document security system | |
US7568102B2 (en) | System and method for authorizing the use of stored information in an operating system | |
KR100918242B1 (en) | Information processing system, electronic authorization information issuing device, electronic information utilizing device, right issuing device, computer readable recording medium having electronic authorization information issuing program, computer readable recording medium having electronic information utilizing program, computer readable recording medium having right issuing program, and information processing method | |
TWI377483B (en) | ||
JP2009059008A (en) | File management system | |
JP7514766B2 (en) | Control method, information management system, and program | |
US7607176B2 (en) | Trainable rule-based computer file usage auditing system | |
CN113806785A (en) | Method and system for carrying out safety protection on electronic document | |
JP2005165738A (en) | Electronic content management system, electronic content management method, and its program | |
JP2010282643A (en) | Secure exchange of information in electronic design automation | |
CN104243444A (en) | Multi-layer data security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MENTOR GRAPHICS CORPORATION, OREGON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FERGUSON, JOHN G.;PIKUS, FEDOR G.;SAKAJIRI, KYOHEI;AND OTHERS;SIGNING DATES FROM 20040910 TO 20040924;REEL/FRAME:025100/0298 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |