US7360241B1 - Cryptographic policy filters and policy control method and apparatus - Google Patents
Cryptographic policy filters and policy control method and apparatus Download PDFInfo
- Publication number
- US7360241B1 US7360241B1 US09/920,801 US92080101A US7360241B1 US 7360241 B1 US7360241 B1 US 7360241B1 US 92080101 A US92080101 A US 92080101A US 7360241 B1 US7360241 B1 US 7360241B1
- Authority
- US
- United States
- Prior art keywords
- policy
- attribute
- policy file
- file
- cryptographic
- 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.)
- Expired - Lifetime, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
Definitions
- the present invention relates to cryptography configuration, more particularly, a method and apparatus for controlling the use of cryptography such that products utilizing these controls may be exported in accordance with United States export laws, and/or imported into other countries that place additional restrictions on the use of cryptography.
- permissible exportable encryption software are usually limited to specific algorithms that use key sizes which are weaker than a particular size.
- encryption software has generally been an integral part of a software application. Therefore, to accommodate the varying degrees of permitted encryption levels, several versions of the same application are typically created; one version that provides strong encryption by those who are allowed unrestricted use, and one or more versions that use weaker encryption for those customers whose use is restricted.
- one single weaker version is created to avoid the expense of creating and maintaining multiple versions of the same application.
- Exportable/export strength encryption refers to encryption algorithms and key sizes that provide relatively weak (i.e., easy to defeat) protection of information.
- United States government allows general purpose encryption products to be exported from the United States to other countries only if those products utilize approved encryption algorithms and key sizes that are weaker than a certain measure.
- General purpose encryption is an application of encryption that does not limit the type or size of the data being encrypted.
- the United States government places more restrictions on software that can encrypt any kind of data than it does on software that limits the type and size of the data being encrypted.
- SSL and S/MIME are considered to be general purpose encryption protocols because they do not place any limits on the type or size of the data being encrypted.
- special purpose encryption is an encryption application that limits the type and size of the data being encrypted.
- the United States government will sometimes give export permission for stronger encryption algorithms if they are limited in use to a specific purpose and type of data (strong encryption defined as encryption algorithms and key sizes that are stronger (i.e., harder to defeat) than those that the United States government usually allows to be exported for general purpose encryption).
- the SET protocol is an example of an encryption protocol that was designed to encrypt special purpose data for purposes of performing financial transactions only.
- CAPI Crypto API
- Secured Socket layer which are exportable cipher suites that have 40-bit secret keys still use 128-bit RC2 or RC4 encryption, where the 40 bits of the 128-bit key are secret while the remaining 88 bits are not.
- Special purpose encryption protocols such as SET (these protocols limit the scope and the size of the data that they encrypt, so that most governments allow them to use much stronger encryption algorithms and key sizes than would be allowed for general purpose encryption); and encryption of key material (generally, when key material is being encrypted, strong algorithms and larger key sizes can be legally used).
- policy filters are provided in which an application is limited to accessing only those algorithms in an encryption module that are indicated in the policy, filters, even if stronger encryption algorithms are available in the encryption module.
- the policy filter in accordance with the present invention allows anyone to develop a cryptographic plugin module without the need to have legal agreements between the application or API developers and the crypto module developers.
- the policy filters in accordance with the present invention allow separate controls to be used for the different APIs, Protocols, and Services in a system, so that the unique needs of each market can be met.
- the policy filters in accordance with the present invention are provided as a part of a system that includes cryptographic functionality.
- the cryptographic functionality includes information indicative of the cryptographic policies such as the various levels of allowable encryption between the different countries.
- the system including cryptographic functionality could be an operating system or an application platform such as the Netscape ONE platform as it exists in Netscape Communicator® or SuiteSpot® servers. These systems have cryptographic APIs, Protocols, and Services that are made available to layered applications. For further background information on layered applications, see pending U.S. patent application Ser. No. 08/519,585.
- a cryptographic policy file including a cryptographic policy module.
- the cryptographic policy module which is part of an application, accesses the cryptographic policy file when the application is executed and performs several validity verifications on the cryptographic policy file to ensure that the cryptographic policy file is legitimate and is being used in the market for which it was intended. If the cryptographic policy module determines that the cryptographic policy file passes these tests, the cryptographic policy module then enables or disables each of the possible forms of encryption which the application can request according to the contents of the cryptographic policy file.
- Each of the program's cryptographic applications for example, SSL, S/MIME, and PKCS #12, provides a uniform interface for turning each of its capabilities on or off, and for setting numeric parameters (e.g., key sizes). Also, each of these capabilities is pre-configured to a default “off” or “minimal security” state, and remains in that state until re-configured by the cryptographic policy module according to the contents of the cryptographic policy file when the application is first executed. Accordingly, a separate cryptographic policy file is provided for each market. Therefore, a single program can legally be used and sold in each of the aforementioned markets with varying levels of supportable encryption, and will provide the forms of encryption that are legally appropriate to each market according to the cryptographic policy file supplied to the specific market.
- FIG. 1 illustrates a block diagram of a system including a policy filter in accordance with an embodiment of the present invention.
- FIG. 2 illustrates a flow chart of the initialization of the policy filter in accordance with an embodiment of the present invention.
- FIG. 3 illustrates a flow chart of the control of capability query through the policy filter in accordance with yet another embodiment of the present invention.
- FIG. 4 illustrates the control of cryptographic operation through the policy filter in accordance with an embodiment of the present invention.
- FIG. 5 illustrates a flow chart of a cryptographic policy module using a cryptographic policy file in accordance with an embodiment of the present invention.
- FIG. 6 illustrates a block diagram of a system including a policy file and module in accordance with an embodiment of the present invention.
- FIG. 1 illustrates a block diagram of a system including policy filters in accordance with an embodiment of the present invention.
- Various application programs—Messenger 101 , The Navigator 102 , and a “Third Party” Application 103 are shown.
- a plurality of policy filters are provided including a crypto API policy filter 108 , an SSL policy filter 109 , an S/MIME policy filter 110 , and a key storage policy filter 111 .
- Each of these policy filter is associated with a corresponding service module including a crypto API 104 , an SSL 105 , an S/MIME 106 , and a key storage service 107 , respectively.
- a policy filter initialization module 112 which configures each of the policy filters (including the crypto API policy filter 108 , the SSL policy filter 109 , the S/MIME policy filter 110 , and the key storage policy filter 111 ) of the system prior to the execution of the first cryptographic operation.
- the policy filters including the crypto API policy filter 108 , the SSL policy filter 109 , the S/MIME policy filter 110 , and the key storage policy filter 111 .
- three cryptographic plugin modules including Fortezza card 114 , cryptographic smart card 115 , and a software crypto module 116 .
- Public key cryptography standard number 11 (PKCS # 11 ) 113 operates as a standard interface to crypto modules.
- a crypto module, a cryptographic module, or an encryption module is a software module that provides a standard interface to low level cryptographic services such as encryption and decryption of data.
- the crypto plugin modules 114 , 115 , and 116 are loaded and the policy filters 108 , 109 , 110 and 111 are configured by the policy filter initialization module 112 .
- the policy filter initialization module 112 performs conformance tests upon the loaded crypto modules 114 , 115 , and 116 .
- service module capabilities are next determined as will be explained in more detail in conjunction with FIG. 3 .
- an application program i.e., the Messenger 101 , the Navigator 102 , or a third party application 103
- a service module i.e., the crypto API 104 , the SSL 105 , the S/MIME 106 , or the key storage service 107
- the called service module calls its respective policy filter (i.e., the crypto API policy filter 108 , the SSL policy filter 107 , the S/MIME policy filter 110 , or the key storage policy filter 111 ) to determine whether the called operation is allowed. If the called operation is not allowed, then the service module returns an error to the application. If, however, the called operation is allowed, the service module performs the called operation, calling the cryptographic module when necessary, and returning the results to the application.
- FIG. 2 is a flow chart illustrating the initialization of the policy filters in accordance with one embodiment of the present invention.
- the system first loads the crypto modules (for example, the Fortezza card 114 , the cryptographic smart card 115 and the software crypto module 116 ) at step 203 .
- Loading the crypto modules entails invoking a dynamic mechanism provided in operating systems for loading modules of code, referred to as shared libraries or dynamic link libraries (DLLs), into an already running application program. In this manner, the crypto module code is dynamically loaded by the operating system into the running application program.
- the system then configures the policy filters at step 204 .
- the policy filter initialization module 112 ( FIG. 1 ) then performs conformance tests on the crypto modules at step 205 .
- the conformance tests involve requesting the crypto module to perform a cryptographic function, then comparing the results to the result of a known compliant implementation of the same algorithm. If, at step 206 , the conformance tests performed by the policy filter initialization interface 112 is successful, then a result of success is returned to the system at step 208 . If, however, the conformance test performed at step 206 is not successful, (i.e., the crypto module does not correctly implement the algorithms and/or key sizes configured), then a result of failure is returned to the system at step 207 , followed by a disabling of the crypto module at step 209 which failed the conformance test.
- the initialization of the policy filter prevents a cryptographic module from incorrectly stating its capabilities in order to bypass the system's controls. Accordingly, the conformance tests in accordance with the present invention are sufficiently broad to ensure that the cryptographic module is correctly implementing the algorithms and that the key sizes advertised therefrom are indeed being used.
- FIG. 3 is a flow chart illustrating the control of capability query through a policy filter (i.e., one of the policy filters 108 - 111 of FIG. 1 ) in accordance with one embodiment of the present invention.
- the application initially queries the capabilities (i.e., cipher suites that it supports) of the service modules at step 302 .
- a corresponding service module (which is one of the service modules 104 - 107 of FIG. 1 ) generates a full list of cipher suites that it supports and passes this list to the policy filter.
- a cipher suite is a collection of encryption algorithms, key sizes, and parameters that fully specifies the type and the strength of a particular cryptographic operation.
- the policy filter applies its configuration parameters to filter out or remove unauthorized cipher suites from the list received from the service module at step 303 .
- the policy filter then returns the filtered list of cipher suites to the service module at step 305 , which, in turn, returns the filtered list of cipher suites to the application.
- the application With the list of filtered (or authorized) cipher suites, the application causes a cryptographic operation to be performed in accordance with FIG. 4 .
- the cryptographic operation is initiated by an application at step 401 .
- the application calls a service module to request an operation involving cryptographic functions at step 402 .
- the service module calls its corresponding policy filter to determine whether the called operation is allowed.
- the service module returns an error to the application at step 405 .
- the service module performs the called operation, calling the cryptographic module as necessary. Thereafter, the service module, at step 407 , returns the operation results to the application.
- the policy filters are configured by the system as shown in FIG. 1 before the first cryptographic operation is performed.
- the policy filter module provides a configuration interface for this purpose.
- the policy filters will have a default configuration, which may be to disable all operations, or to allow a subset of operations that are generally allowed by the most restrictive configurations.
- the policy filter module also performs conformance tests on the cryptographic module to ensure that the crypto module is correctly implementing the algorithms and key sizes that it is advertising. This is to prevent a cryptographic module from incorrectly stating its capabilities in order to bypass the system's controls. The sets of tests are broad enough to ensure that the module is correctly implementing the algorithms and that the key sizes being advertised are indeed being used.
- the policy filters in accordance with the present invention are associated with each service module that will use the cryptographic services provided by the cryptographic module.
- the policy filters control both the capabilities advertised by the service modules and the operations the service modules are allowed to perform.
- the process of requesting the capabilities of a service module involves first the application querying the service module for the list of cipher suites that it supports. In response, the service module passes its list of supported cipher suites to its policy filter. With the list of supported suites, the policy filter applies its configuration parameters to filter the list of cipher suites. Having filtered the list of cipher suites, the policy filter returns the filtered list of cipher suites to the service module, which, then returns the filtered list of cipher suites to the application.
- cryptographic policy files comprising a set of ASCII-coded Attribute-Value pairs which may optionally be compressed, and a digital signature on the set of Attribute-Value pairs.
- the set of Attribute-Value pairs is a series of lines of plain ASCII text. Each line contains the name of an attribute of the cryptographic policy, followed by a colon, optionally some space, and the value of that attribute.
- a value may be in the form of a sequence (or “string”) of printable ASCII characters, an integer number, or a “truth expression”, that is, one of the words “true”, “false” or “conditional.”
- Table 1 illustrates the attribute name, its type and purpose, all of which are required in each cryptographic policy file.
- Attribute Name Type Purpose POLICY-BEGIN-HERE String Name the policy (market) for this file, for example, “Export Policy.”
- Software-Version String Identifies the program, its version number, and the localization (language) incorporated in the program, for example, “Mozilla/4.0P3 [fr].”
- the set of attribute-value pairs in the cryptographic policy file in accordance with the present invention can also be compressed to reduce its size and to make the contents less apparent to others.
- the second component of the cryptographic policy file is the digital signature.
- a digital signature is a block of data (a very large number) computed mathematically from another set of data (the “signed data”) using the signer's “private key”. The digital signature may be used to verify that the signed data has not been altered in any way since it was signed, and that it was genuinely signed by the party named in the signer's certificate. The digital signature affirms the authenticity and the integrity of the signed data, which, in accordance with the present invention, is the string of Attribute-Value pairs.
- a signed-data content type block is a block of data in the format standardized for the representation of digital signatures. It contains a digital signature, the certificate used to verify the signature (the “signer's certificate”), the chain of Certification Authority (CA) certificates used to validate the signer's certificate, and optionally the data that was signed by the digital signature (the “signed data”).
- An “external Signature” is a signed-data content type data block containing a digital signature, the signer's certificate, and a certificate chain, but not containing the signed data.
- a Certification Authority is an entity that issues (or signs) digital certificates.
- a Certificate Chain is a list of certificates, each one (except the last) issued, signed, and authorized by the party identified in the succeeding certificate in the list.
- the Certificate Chain is used to determine the validity and veracity of the first certificate in the chain, which is usually the certificate of a document's signer.
- the final certificate in the chain must be that of a trusted party for the chain to have validity.
- the Attribute-Value pairs and the External signature are stored in an archive file known as a “jar” file.
- the jar file provides a convenient mechanism in which to store multiple components together in one file.
- the jar-file utility programs provide a convenient method to compress the selected components, and to sign the components.
- the Attribute-Value pairs are stored within the PKCS #7 signed data content type block, in which case the PKCS#7 signed data content type block is not said to be an External signature, and the policy file consists solely of the PKCS#7 signed data content type block.
- a Private Key is a block of data (actually a very large number) used to sign (make a digital signature for) another document.
- the private key must be kept secret by the signer if the signatures it generates are to be trusted.
- a public key is a block of data (actually a very large number) used to verify the digital signature on a digitally-signed document. Unlike the Private Key, the Public Key need not be kept secret, and may be distributed to the public.
- a Public Key is usually conveyed in a signed document called a certificate.
- a certificate is a document containing a signer's name and public key, and the signature of a third party, vouching for the accurate identification of the party named in the certificate.
- a certificate is used to obtain the public key needed to verify a digital signature made by the party named in the certificate.
- the cryptographic policy module in the program performs its services when the user begins the program's execution on the user's computer. It also performs its services whenever the user attempts to change the configuration of the cryptographic functions within the program.
- the cryptographic policy module first reads the cryptographic policy file into the computer's memory (as shown in step 501 ). Then, the policy module verifies the digital signature on the Attribute-Value pairs at step 502 .
- the module verifies that the digital signature is a genuine digital signature of the product's manufacturer by determining that one or more of the certificates in the digital signature's certificate chain is the certificate issued by the manufacturer for that very purpose. This is accomplished in the present invention by comparing to a “built-in” CA certificate.
- a further verification is performed which confirms that the Software-Version Attribute value string matches the version of the running program.
- yet another verification is performed, confirming that the localization (language) specified in the Software-Version Attribute value string matches the localization in use by the running program.
- step 506 the cryptographic policy module proceeds to step 507 where the cryptographic software in the running application program is configured for each and every one of the cryptographic capabilities list in a set of Attribute-Value pairs.
- the capabilities that are enabled or disabled according to a “truth expression” are enabled or disabled according to the expression in the relevant Attribute-Value pair in the corresponding policy file.
- the capabilities that vary by number are set to the numeric value in the relevant pair. Any values not specified are left in their default configuration, which is generally off, or using the smallest numeric value.
- FIG. 6 illustrates a block diagram of a system including a policy file and a cryptographic policy control module in accordance with one embodiment of the present invention.
- an application program such as the Netscape Communicator® 601 which includes a plurality of applications such as the Navigator SSL 602 , the Messenger S/MIME 603 , and the Key Storage PKCS # 12 603 as three cryptographic applications.
- a cryptographic policy control module 605 which configures each of the three cryptographic applications, Navigator SSL 602 , the Messenger S/MIME 603 , and the Key Storage PKCS # 12 603 in accordance with a predetermined data string received from a policy file 606 .
- Policy files can be used to directly configure a trusted application, or can be used as the mechanism to configure policy filters as described in the first embodiment of the present invention.
- the application's user is generally allowed to select preferences among the various cryptographic capabilities available, and may elect to disallow certain of the approved capabilities, or to re-enable capabilities that he has previously disallowed. In this manner, the user may alter those preferences while the program is running. When the user attempts to do so, the cryptographic policy module is again used to ensure that the user cannot enable any capabilities that are disallowed by the cryptographic policy file.
- a single program can be made and sold in all markets.
- the manufacturer spends only as much production, testing and support as a single program requires, and the program provides stronger encryption where it is legally allowed.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
TABLE 1 |
Attribute in Cryptographic Policy Files |
Attribute Name | Type | Purpose |
POLICY-BEGIN-HERE | String | Name the policy (market) for |
this file, for example, “Export | ||
Policy.” | ||
Software-Version | String | Identifies the program, its |
version number, and the | ||
localization (language) | ||
incorporated in the program, | ||
for example, “Mozilla/4.0P3 | ||
[fr].” | ||
TABLE 2 |
Sample Attribute-Value Pairs |
POLICY-BEGINS-HERE: | Export policy |
Software-Version: | Mozilla/4.0P3 [fr] |
MAX-GEN-KEY-BITS: | 512 |
PKCS12-DES-EDE3: | false |
PKCS12-RC2-128: | false |
PKCS12-RC4-128: | false |
PKCS12-DES-56: | false |
PKCS12-RC2-40: | true |
PKCS12-RC4-40: | true |
PKCS12-NULL: | true |
SSL2-RC4-128-WITH-MD5: | false |
SSL2-RC2-128-CBC-WITH-MD5: | false |
SSL2-DES-168-EDE3-CBC-WITH-MD5: | false |
SSL2-DES-56-CBC-WITH-MD5: | false |
SSL2-RC4-128-EXPORT40-WITH-MD5: | true |
SSL2-RC2-128-CBC-EXPORT40-WITH-MD5: | true |
SSL3-FORTEZZA-DMS-WITH-FORTEZZA-CBC- | false |
SHA: | |
SSL3-FORTEZZA-DMS-WITH-RC4-128-SHA: | false |
SSL3-RSA-WITH-RC4-128-MD5: | conditional |
SSL3-RSA-WITH-3DES-EDE-CBC-SHA: | conditional |
SSL3-RSA-WITH-DES-CBC-SHA: | false |
SSL3-RSA-WITH-RC4-40-MD5: | true |
SSL3-RSA-WITH-RC2-CBC-40-MD5: | true |
SSL3-FORTEZZA-DMS-WITH-NULL-SHA: | false |
SSL3-RSA-WITH-NULL-MD5: | true |
SMIME-DES-EDE3: | false |
SMIME-RC2-CBC-128: | false |
SMIME-RC5PAD-64-16-128: | false |
SMIME-DES-CBC: | false |
SMIME-RC2-CBC-64: | false |
SMIME-RC5PAD-64-16-64: | false |
SMIME-RC2-CBC-40: | true |
SMIME-RC5PAD-64-16-40: | true |
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/920,801 US7360241B1 (en) | 1997-06-30 | 2001-08-03 | Cryptographic policy filters and policy control method and apparatus |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5130797P | 1997-06-30 | 1997-06-30 | |
US08/940,429 US6397330B1 (en) | 1997-06-30 | 1997-09-30 | Cryptographic policy filters and policy control method and apparatus |
US09/920,801 US7360241B1 (en) | 1997-06-30 | 2001-08-03 | Cryptographic policy filters and policy control method and apparatus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/940,429 Continuation US6397330B1 (en) | 1997-06-30 | 1997-09-30 | Cryptographic policy filters and policy control method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
US7360241B1 true US7360241B1 (en) | 2008-04-15 |
Family
ID=26729276
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/940,429 Expired - Lifetime US6397330B1 (en) | 1997-06-30 | 1997-09-30 | Cryptographic policy filters and policy control method and apparatus |
US09/920,801 Expired - Lifetime US7360241B1 (en) | 1997-06-30 | 2001-08-03 | Cryptographic policy filters and policy control method and apparatus |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/940,429 Expired - Lifetime US6397330B1 (en) | 1997-06-30 | 1997-09-30 | Cryptographic policy filters and policy control method and apparatus |
Country Status (1)
Country | Link |
---|---|
US (2) | US6397330B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040019789A1 (en) * | 2002-07-29 | 2004-01-29 | Buer Mark L. | System and method for cryptographic control of system configurations |
US20060129792A1 (en) * | 1997-06-12 | 2006-06-15 | Bots Henk J | Architecture for virtual private networks |
US20110293096A1 (en) * | 2010-05-27 | 2011-12-01 | Bladelogic, Inc. | Multi-Level Key Management |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6901509B1 (en) | 1996-05-14 | 2005-05-31 | Tumbleweed Communications Corp. | Apparatus and method for demonstrating and confirming the status of a digital certificates and other data |
SE506853C2 (en) | 1996-06-20 | 1998-02-16 | Anonymity Prot In Sweden Ab | Method of data processing |
AU1599800A (en) * | 1998-10-28 | 2000-05-15 | L-3 Communications Corporation | Apparatus and methods for cryptographic synchronization in packet based communications |
US6738377B1 (en) * | 1999-01-29 | 2004-05-18 | International Business Machines Corporation | System and method for dynamic micro placement of IP connection filters |
US6757822B1 (en) * | 2000-05-31 | 2004-06-29 | Networks Associates Technology, Inc. | System, method and computer program product for secure communications using a security service provider manager |
US20020039420A1 (en) * | 2000-06-12 | 2002-04-04 | Hovav Shacham | Method and apparatus for batched network security protection server performance |
US20020087884A1 (en) * | 2000-06-12 | 2002-07-04 | Hovav Shacham | Method and apparatus for enhancing network security protection server performance |
US7137143B2 (en) | 2000-08-07 | 2006-11-14 | Ingrian Systems Inc. | Method and system for caching secure web content |
US20040015725A1 (en) * | 2000-08-07 | 2004-01-22 | Dan Boneh | Client-side inspection and processing of secure content |
US7757278B2 (en) * | 2001-01-04 | 2010-07-13 | Safenet, Inc. | Method and apparatus for transparent encryption |
EP1225499A3 (en) * | 2001-01-19 | 2004-03-24 | Matsushita Electric Industrial Co., Ltd. | Data processor for processing data with a digital signature |
US7079648B2 (en) * | 2001-06-07 | 2006-07-18 | Microsoft Corporation | Tester of cryptographic service providers |
JP2005533438A (en) * | 2002-07-12 | 2005-11-04 | イングリアン ネットワークス インコーポレーテッド | Encryption associated with the network |
AU2003262857A1 (en) * | 2002-08-24 | 2004-03-11 | Ingrian Networks, Inc. | Selective feature activation |
US20060149962A1 (en) * | 2003-07-11 | 2006-07-06 | Ingrian Networks, Inc. | Network attached encryption |
US20050120206A1 (en) * | 2003-12-02 | 2005-06-02 | John Hines | Method and system for rule-based certificate validation |
US7602903B2 (en) * | 2004-01-16 | 2009-10-13 | Microsoft Corporation | Cryptography correctness detection methods and apparatuses |
US7519835B2 (en) * | 2004-05-20 | 2009-04-14 | Safenet, Inc. | Encrypted table indexes and searching encrypted tables |
US20070079386A1 (en) * | 2005-09-26 | 2007-04-05 | Brian Metzger | Transparent encryption using secure encryption device |
US20070079140A1 (en) * | 2005-09-26 | 2007-04-05 | Brian Metzger | Data migration |
US8386768B2 (en) * | 2006-02-08 | 2013-02-26 | Safenet, Inc. | High performance data encryption server and method for transparently encrypting/decrypting data |
US7958091B2 (en) * | 2006-02-16 | 2011-06-07 | Ingrian Networks, Inc. | Method for fast bulk loading data into a database while bypassing exit routines |
US8379865B2 (en) * | 2006-10-27 | 2013-02-19 | Safenet, Inc. | Multikey support for multiple office system |
US20090132804A1 (en) * | 2007-11-21 | 2009-05-21 | Prabir Paul | Secured live software migration |
GB2471282B (en) | 2009-06-22 | 2015-02-18 | Barclays Bank Plc | Method and system for provision of cryptographic services |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1987007063A1 (en) * | 1986-05-16 | 1987-11-19 | American Telephone & Telegraph Company | Arrangement for a portable data carrier having multiple application files |
US5412717A (en) | 1992-05-15 | 1995-05-02 | Fischer; Addison M. | Computer system security method and apparatus having program authorization information data structures |
US5644739A (en) | 1995-01-27 | 1997-07-01 | Microsoft Corporation | Method and system for adding buttons to a toolbar |
US5651068A (en) * | 1995-03-08 | 1997-07-22 | Hewlett-Packard Company | International cryptography framework |
US5740248A (en) | 1996-11-12 | 1998-04-14 | Cheyenne Property Trust | Software level touchpoints for an international cryptography frameworks |
US5818446A (en) | 1996-11-18 | 1998-10-06 | International Business Machines Corporation | System for changing user interfaces based on display data content |
US5841869A (en) | 1996-08-23 | 1998-11-24 | Cheyenne Property Trust | Method and apparatus for trusted processing |
US5872555A (en) | 1996-10-24 | 1999-02-16 | International Business Machines Corporation | Method and apparatus for customizing colors in a data processing system |
US5907620A (en) | 1996-08-23 | 1999-05-25 | Cheyenne Property Trust | Method and apparatus for enforcing the use of cryptography in an international cryptography framework |
US5914714A (en) | 1997-04-01 | 1999-06-22 | Microsoft Corporation | System and method for changing the characteristics of a button by direct manipulation |
US6005566A (en) | 1994-05-19 | 1999-12-21 | Apple Computer, Inc. | Aspect and style elements of an improved graphical user interface |
US6057836A (en) | 1997-04-01 | 2000-05-02 | Microsoft Corporation | System and method for resizing and rearranging a composite toolbar by direct manipulation |
US6072486A (en) | 1998-01-13 | 2000-06-06 | Microsoft Corporation | System and method for creating and customizing a deskbar |
US6133915A (en) | 1998-06-17 | 2000-10-17 | Microsoft Corporation | System and method for customizing controls on a toolbar |
US6188401B1 (en) | 1998-03-25 | 2001-02-13 | Microsoft Corporation | Script-based user interface implementation defining components using a text markup language |
US6526513B1 (en) * | 1999-08-03 | 2003-02-25 | International Business Machines Corporation | Architecture for dynamic permissions in java |
US6647494B1 (en) * | 1999-06-14 | 2003-11-11 | Intel Corporation | System and method for checking authorization of remote configuration operations |
US6671809B1 (en) * | 2000-05-10 | 2003-12-30 | General Dynamics Decision Systems, Inc. | Software-defined communications system execution control |
US7096496B1 (en) * | 1999-12-06 | 2006-08-22 | Lenovo (Singapore) Pte. Ltd. | Method and system for improved computer security utilizing dynamically variable security profile |
-
1997
- 1997-09-30 US US08/940,429 patent/US6397330B1/en not_active Expired - Lifetime
-
2001
- 2001-08-03 US US09/920,801 patent/US7360241B1/en not_active Expired - Lifetime
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1987007063A1 (en) * | 1986-05-16 | 1987-11-19 | American Telephone & Telegraph Company | Arrangement for a portable data carrier having multiple application files |
US5412717A (en) | 1992-05-15 | 1995-05-02 | Fischer; Addison M. | Computer system security method and apparatus having program authorization information data structures |
US6005566A (en) | 1994-05-19 | 1999-12-21 | Apple Computer, Inc. | Aspect and style elements of an improved graphical user interface |
US5644739A (en) | 1995-01-27 | 1997-07-01 | Microsoft Corporation | Method and system for adding buttons to a toolbar |
US5651068A (en) * | 1995-03-08 | 1997-07-22 | Hewlett-Packard Company | International cryptography framework |
US5907620A (en) | 1996-08-23 | 1999-05-25 | Cheyenne Property Trust | Method and apparatus for enforcing the use of cryptography in an international cryptography framework |
US5841869A (en) | 1996-08-23 | 1998-11-24 | Cheyenne Property Trust | Method and apparatus for trusted processing |
US5872555A (en) | 1996-10-24 | 1999-02-16 | International Business Machines Corporation | Method and apparatus for customizing colors in a data processing system |
US5740248A (en) | 1996-11-12 | 1998-04-14 | Cheyenne Property Trust | Software level touchpoints for an international cryptography frameworks |
US5818446A (en) | 1996-11-18 | 1998-10-06 | International Business Machines Corporation | System for changing user interfaces based on display data content |
US5914714A (en) | 1997-04-01 | 1999-06-22 | Microsoft Corporation | System and method for changing the characteristics of a button by direct manipulation |
US6057836A (en) | 1997-04-01 | 2000-05-02 | Microsoft Corporation | System and method for resizing and rearranging a composite toolbar by direct manipulation |
US6072486A (en) | 1998-01-13 | 2000-06-06 | Microsoft Corporation | System and method for creating and customizing a deskbar |
US6188401B1 (en) | 1998-03-25 | 2001-02-13 | Microsoft Corporation | Script-based user interface implementation defining components using a text markup language |
US6133915A (en) | 1998-06-17 | 2000-10-17 | Microsoft Corporation | System and method for customizing controls on a toolbar |
US6647494B1 (en) * | 1999-06-14 | 2003-11-11 | Intel Corporation | System and method for checking authorization of remote configuration operations |
US6526513B1 (en) * | 1999-08-03 | 2003-02-25 | International Business Machines Corporation | Architecture for dynamic permissions in java |
US7096496B1 (en) * | 1999-12-06 | 2006-08-22 | Lenovo (Singapore) Pte. Ltd. | Method and system for improved computer security utilizing dynamically variable security profile |
US6671809B1 (en) * | 2000-05-10 | 2003-12-30 | General Dynamics Decision Systems, Inc. | Software-defined communications system execution control |
Non-Patent Citations (8)
Title |
---|
InformIT, Exploring the Java Archive (JAR) Format, found at http://www.informit.com/articles/printerfriendly.asp?p=170393, 7 pages, printed Apr. 13, 2004. |
Jar-The Java Archive Tool, found at http://remus.rutgers.edu/~mcgrew/Java-Docs/jdk1.2.2/docs/tooldocs/solaris/jar.html, 4 pages, printed Apr. 13, 2004. |
Java archive, found at http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?jar, 1 page, printed Apr. 13, 2004. |
Microsoft, Microsoft Press Computer Dictionary, 3rd Edition, p. 194. * |
Programmatically Signing JAR Files found at O'Reilly(R) OnJava.com at http://www.onjava.com/lpt/a/761, 9 pages, printed Apr. 13, 2004. |
Schneier, Applied Crytography, 1996, John Wiley, pp. 37-38. * |
Signing JAR Files, found at http://java.sun.com/docs/books/tutorial/jar/sign/signing.html, 4 pages, printed Apr. 13, 2004. |
Trail:JAR Files, found at http://java.sun.com/docs/books/tutorial/jar/, 2 pages, printed on Apr. 13, 2004. |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129792A1 (en) * | 1997-06-12 | 2006-06-15 | Bots Henk J | Architecture for virtual private networks |
US7617527B2 (en) * | 1997-06-12 | 2009-11-10 | Avaya Inc. | Architecture for virtual private networks |
US20040019789A1 (en) * | 2002-07-29 | 2004-01-29 | Buer Mark L. | System and method for cryptographic control of system configurations |
US20110293096A1 (en) * | 2010-05-27 | 2011-12-01 | Bladelogic, Inc. | Multi-Level Key Management |
US8971535B2 (en) * | 2010-05-27 | 2015-03-03 | Bladelogic, Inc. | Multi-level key management |
US9866375B2 (en) | 2010-05-27 | 2018-01-09 | Bladelogic, Inc. | Multi-level key management |
Also Published As
Publication number | Publication date |
---|---|
US6397330B1 (en) | 2002-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7013390B1 (en) | Cryptographic policy filters and policy control method and apparatus | |
US7360241B1 (en) | Cryptographic policy filters and policy control method and apparatus | |
US6178504B1 (en) | Host system elements for an international cryptography framework | |
US6715077B1 (en) | System and method to support varying maximum cryptographic strength for common data security architecture (CDSA) applications | |
US6421779B1 (en) | Electronic data storage apparatus, system and method | |
US5995625A (en) | Electronic cryptographic packing | |
US7069554B1 (en) | Component installer permitting interaction among isolated components in accordance with defined rules | |
EP1047992B1 (en) | System and method for authenticating peer components | |
US7062650B2 (en) | System and method for verifying integrity of system with multiple components | |
US20090164800A1 (en) | Secure End-of-Life Handling of Electronic Devices | |
JPH10133952A (en) | Method and device for file access and signature data structure | |
CN106529218B (en) | Application verification method and device | |
CN108496323B (en) | Certificate importing method and terminal | |
EP1430680B1 (en) | Server with file verification | |
US20060015860A1 (en) | System and method for storing attributes in a file for processing an operating system | |
US7568102B2 (en) | System and method for authorizing the use of stored information in an operating system | |
EP1531377B1 (en) | Secure authentication of an executable by an authentication entity | |
CN117216798A (en) | Access method, device, equipment and storage medium | |
CN114722412B (en) | Data secure storage method and device, electronic equipment and storage medium | |
CN111552985B (en) | Information verification method and device | |
JPH11203366A (en) | Information management system and security management method | |
CN111611551A (en) | Dynamic link library protection method and system based on state cryptographic algorithm | |
KR102483869B1 (en) | Method and device for preventing forgery using ip tracking and did information of contents related to blockchain-based nft | |
CN117786766A (en) | Automatic information auditing method and device with time validity verification | |
CN118364491A (en) | Data processing method, electronic device, storage medium, and program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NETSCAPE COMMUNICATIONS CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ELGAMAL, TAHER;WEINSTEIN, JEFF;BOLYARD, NELSON;REEL/FRAME:013568/0273;SIGNING DATES FROM 20010724 TO 20011016 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT,TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:AOL INC.;AOL ADVERTISING INC.;BEBO, INC.;AND OTHERS;REEL/FRAME:023649/0061 Effective date: 20091209 Owner name: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT, TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:AOL INC.;AOL ADVERTISING INC.;BEBO, INC.;AND OTHERS;REEL/FRAME:023649/0061 Effective date: 20091209 |
|
AS | Assignment |
Owner name: QUIGO TECHNOLOGIES LLC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: GOING INC, MASSACHUSETTS Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: AOL ADVERTISING INC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: LIGHTNINGCAST LLC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: TACODA LLC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: AOL INC, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: SPHERE SOURCE, INC, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: MAPQUEST, INC, COLORADO Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: NETSCAPE COMMUNICATIONS CORPORATION, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: YEDDA, INC, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: TRUVEO, INC, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: NEW AURORA CORPORATION, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:NETSCAPE COMMUNICATIONS CORPORATION;REEL/FRAME:028450/0340 Effective date: 20120315 |
|
AS | Assignment |
Owner name: FACEBOOK, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NEW AURORA CORPORATION;REEL/FRAME:033847/0441 Effective date: 20140929 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |
|
AS | Assignment |
Owner name: META PLATFORMS, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:FACEBOOK, INC.;REEL/FRAME:058961/0436 Effective date: 20211028 |