US8745227B2 - Distributed secure content delivery - Google Patents

Distributed secure content delivery Download PDF

Info

Publication number
US8745227B2
US8745227B2 US11/448,427 US44842706A US8745227B2 US 8745227 B2 US8745227 B2 US 8745227B2 US 44842706 A US44842706 A US 44842706A US 8745227 B2 US8745227 B2 US 8745227B2
Authority
US
United States
Prior art keywords
content
access
principal
identity
service
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.)
Active, expires
Application number
US11/448,427
Other versions
US20070288637A1 (en
Inventor
Eric Christopher Layton
Luke Terry Hallett
Thomas Dean Maynard
Matthew Frank Magleby
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to US11/448,427 priority Critical patent/US8745227B2/en
Assigned to NOVELL, INC. reassignment NOVELL, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HALLETT, LUKE TERRY, LAYTON, ERIC CHRISTOPHER, MAGLEBY, MATTHEW FRANK, MAYNARD, THOMAS DEAN
Application filed by Apple Inc filed Critical Apple Inc
Publication of US20070288637A1 publication Critical patent/US20070288637A1/en
Assigned to CREDIT SUISSE AG, AS COLLATERAL AGENT reassignment CREDIT SUISSE AG, AS COLLATERAL AGENT GRANT OF PATENT SECURITY INTEREST FIRST LIEN Assignors: NOVELL, INC.
Assigned to CREDIT SUISSE AG, AS COLLATERAL AGENT reassignment CREDIT SUISSE AG, AS COLLATERAL AGENT GRANT OF PATENT SECURITY INTEREST SECOND LIEN Assignors: NOVELL, INC.
Assigned to CPTN HOLDINGS LLC reassignment CPTN HOLDINGS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NOVELL, INC.
Assigned to APPLE INC. reassignment APPLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CPTN HOLDINGS LLC
Priority to US14/285,394 priority patent/US9208342B2/en
Application granted granted Critical
Publication of US8745227B2 publication Critical patent/US8745227B2/en
Assigned to NOVELL, INC. reassignment NOVELL, INC. RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Assignors: CREDIT SUISSE AG
Assigned to NOVELL, INC. reassignment NOVELL, INC. RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Assignors: CREDIT SUISSE AG
Priority to US14/959,196 priority patent/US10389755B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Definitions

  • the invention relates generally to content delivery and more particularly to techniques for delivering content in a distributed and secure fashion.
  • the content provider may not be particularly adept at authenticating users for access to its content. Consequently, the content provider may want to offload the authentication and/or licensing enforcement to one or more third-party services. For that matter, the content provider may even want to offload content delivery to a third-party, since the content provider may not be skilled at streaming content or may not have the necessary resources, such as bandwidth capabilities, for properly vending the content to its users.
  • a single service provider may perform all services well, which may be associated with secure content delivery. That is, a service provider may provide good authentication and licensing enforcement but the same service provider may not perform well at or have the resources to perform well at content delivery.
  • a content provider may forgo customized identity based access by setting up sites that are geared towards groups of users having the same access rights or licensing rights to content. Yet, this is not acceptable because what often ends up occurring is the content provider ends up managing a plethora of sites for the same content, where each site has its own access rights to satisfy varying customer demands.
  • techniques for distributed and secure content delivery over a network are provided. More specifically, and in an embodiment, a method for vending content to a principal over a network is provided. A request for content is received from a principal and the principal is authenticated for access to that content. Next, an access statement is generated for the principal for purposes of acquiring the content from a service, which distributes the content. Finally, the principal is redirected to the service for purposes of acquiring the content.
  • FIG. 1 is a diagram of a method for vending content to a principal, according to an example embodiment.
  • FIG. 2 is a diagram of another method for vending content to a principal, according to an example embodiment.
  • FIG. 3 is a diagram of a yet another method for vending content to a principal, according to an example embodiment.
  • FIG. 4 is a diagram of a content vending system, according to an example embodiment.
  • a “service” is a type of resource that is accessible over a network.
  • the service is implemented as instructions that when loaded and accessed by a machine performs one or more functions that the service is advertised to perform.
  • a “principal” is another type of resource that may be an automated service, or may logically represent a physical resource within an electronic environment, such as, but not limited to, a user, a device, a group of users, a group of devices, an object, etc.
  • an “identity service” refers to a special type of service that is designed to manage and supply authentication services and authentication information for principals and for other services. So, an identity service may authenticate a given principal for access to a variety of local and external services being managed by that identity service. A single principal may have multiple identity services.
  • An identity service may also provide single sign-on services to a principal. That is, a principal may sign-on to an identity service and acquire identities and credentials to access a variety of other services.
  • a principal is recognized via an “identity.”
  • An identity is authenticated via various techniques (e.g., challenge and response interaction, cookies, assertions, etc.) that use various identifying information (e.g., identifiers with passwords, biometric data, digital certificates, digital signatures, etc.).
  • identifying information e.g., identifiers with passwords, biometric data, digital certificates, digital signatures, etc.
  • a “true identity” is one that is unique to a principal across any context that the principal may engage in over a network (e.g., Internet, Intranet, etc.). However, each principal may have and manage a variety of identities, where each of these identities may only be unique within a given context (given service interaction).
  • attributes may be viewed as types of identifying information, such as, but not limited to, birth date, mother's maiden name, pet's name, last transaction for a given context, age, employment, income level, social-security number (SSN), etc.
  • the true identity of a principal is typically managed and controlled by an identity service, such as the ones enumerated above.
  • the identity service may also manage the principal's other identities that the principal uses with services for which the principal interacts in a variety of different contexts.
  • An “access statement” is information that a content vending service uses to determine if access to content is permissible.
  • the statement may be represented in a variety of formats. For example, in some cases the statement may be a flag. In other cases, the statement may be a Uniform Resource Identifier (URI) or Uniform Resource Locator (URL).
  • URI Uniform Resource Identifier
  • URL Uniform Resource Locator
  • the URI or URL may identify a particular World-Wide Web (WWW) site that has desired content, which is to be vended to a requesting principal.
  • the statement may be an assertion from a trusted principal, such as an identity service. The assertion may be in a Security Access Method Language (SAML), a Liberty Alliance Group format, etc.
  • SAML Security Access Method Language
  • Liberty Alliance Group format etc.
  • Content may itself be viewed as a type of resource. It can include documents, videos, images, software, graphics, audio, or various combinations of these things. Content is vended to principals in a distributed and secure manner via a centralized service that creates access statements and via distributed services that validate the access statements and vend the content to the principals. The techniques and variations on achieving this are discussed in greater detail below with reference to the FIGS.
  • the techniques presented herein may be implemented as enhancements to existing services. These enhancements may be integrated into the existing services or accessed externally via Application Programming Interfaces (API's). In some cases, the enhancements may be unknown to the existing services, such that the existing services are not even aware of the techniques being processed. This can occur when the techniques are implemented as a transparent proxy or a reverse proxy on behalf of the services. According to the techniques presented herein are implemented in whole or in part in the Novell® network products, proxy server products, email products, identity service products, operating system products, and/or directory services products distributed by Novell®, Inc., of Provo, Utah.
  • FIG. 1 is a diagram of a method 100 for vending content to a principal, according to an example embodiment.
  • the method 100 (hereinafter “centralized content delivery service”) is implemented in a machine-accessible and readable medium.
  • the centralized content delivery service is operational over and processes within a network.
  • the network may be wired, wireless, or a combination of wired and wireless.
  • a principal attempts to acquire desired content over the network.
  • the principal uses a WWW browser and its interface to activate an URI or URL that is associated with the desired content.
  • the processing of the centralized content delivery service may be indirectly invoked when this URI or URL is activated.
  • the processing of the centralized content delivery service may be viewed as a transparent proxy associated with the principal that intercepts external network access attempts made by the principal.
  • the processing of the centralized content delivery service may be viewed as a reverse proxy associated with a content provider or content distributor associated with the desired content that processes content requests before content is vended to requesting principals.
  • the centralized content delivery service may also be a forward proxy that the principal directly interacts with or is configured to interact with.
  • the centralized content delivery service does not have to be a proxy at all and may be directly accessed by the URI or URL activated by the principal.
  • the centralized content delivery service may be viewed as front-end or initial content delivery service that is activated in a variety of manners when a principal requests desired content that is being controlled or managed by the centralized content delivery service.
  • the centralized content delivery service receives a request for desired content from a requesting principal. Again, in some cases this request may be an activated URI or URL from within a browser page or manually entered into a browser by the principal. The request is either directly sent to the centralized content delivery service or is indirectly sent via some interception mechanism, as discussed above and depicted at 111 .
  • the centralized content delivery service authenticates the principal for access to the content. That is, credentials of the principal are verified according to policy for purposes of determining that the principal's identity is whom it purports to be. Any authentication mechanism may be used, such as, but not limited to, passwords, biometrics, certificates, signatures, combinations of these, and the like.
  • the centralized content delivery service may also engage and interact with the principal for purposes of getting consent to licensing or legal strictures related to accessing and using the desired content. So, the principal may have to read a license or export agreement and consent to the terms associated therewith.
  • the centralized content delivery service generates an access statement for the principal to acquire the content from a content distribution service that directly vends the content.
  • the access statement is subsequently consumed by the content distribution service to verify that the principal is to be given access to the desired content.
  • the access statement serves as a mechanism by which the content distribution service can perform a second check to ensure that the principal is authorized to receive and access the desired content.
  • the content distribution service does not have to be directly configured to interact with the centralized content delivery service for purposes of making this additional check; rather the access statement produced by the centralized content delivery service may be acquired and verified by the content distribution service in a variety of manners in an indirect fashion. This decouples the content distribution service from the centralized content delivery service while still maintaining communication via the access statement.
  • the centralized content delivery service may store the access statement in a repository.
  • the repository is also accessible to the content distribution service.
  • the access statement may be indexed in the repository according to an identifier or identity associated with the principal.
  • the access statement may be represented as an URI or URL that identifies the WWW site or the content distribution service that vends or distributes the desired content to the principal directly.
  • the content distribution service when it receives a direct request for content from the principal inspects the repository in response to an identifier for the principal and acquires the URI or URL (access statement) against another URI or URL that the principal supplies for specific content. If the two URI's or URL's match the content distribution service has successfully verified the principal for access to the desired content and that content may then be streamed or vended to the principal from the content distribution service.
  • the centralized content delivery service redirects the principal to the content distribution service that directly distributes or vends the desired content being requested by the principal.
  • this redirection may occur automatically and in near real time, such that the principal is not aware of the redirection. That is, the principal may be interacting via a browser and the initial contact to the centralized content delivery service may appear to the principal to be an interaction directly with the content distribution service (such as when the centralized content delivery service is a transparent or reverse proxy); the centralized content delivery service authenticates the principal, generates the access statement, and redirects the browser of the principal directly to the content distribution service. All this interaction may be transparent to the principal and may appear to occur in a nearly instantaneous fashion.
  • the access statement may be stored in one or more repositories and include other attributes, such as a time-to-live attribute, where the access statement becomes stale or is removed from the repository upon occurrence of an event, such as, but not limited to, an elapsed period of time from when the access statement was initially stored in the repository.
  • a time-to-live attribute where the access statement becomes stale or is removed from the repository upon occurrence of an event, such as, but not limited to, an elapsed period of time from when the access statement was initially stored in the repository.
  • there may be redundant sites having the desired content with each site processing an instance of the content distribution service and each site potentially having access to a specific repository.
  • the centralized content delivery service may replicate the access statement to each such repository to ensure each instance of the content distribution service can acquire the access statement for purposes of performing its own independent verification on a requested principal's access attempt for desired content.
  • Each repository may include attributes from the access statement and policy associated with the attributes may be enforced by each instance of the content distribution service.
  • the principal may authenticate to an identity service via the centralized content delivery service and obtain a crafted identity or different and perhaps temporary identity. That crafted identity may then be used to access the content from the content distribution service.
  • FIG. 2 is a diagram of another method 200 for vending content to a principal, according to an example embodiment.
  • the method 200 (hereinafter “distributed content delivery service” is implemented in a machine-accessible and readable medium and is operational over a network.
  • the network may be wired, wireless, or a combination of wired and wireless.
  • the distributed content delivery service indirectly interacts with the centralized content delivery service represented by the method 100 of the FIG. 1 .
  • the distributed content delivery service either indirectly receives information from the centralized content delivery service via redirected interactions from a principal or indirectly acquires information from the centralized content delivery service via a commonly accessible repository.
  • the distributed content delivery service represents more detailed processing associated with the content distribution service that was discussed above with respect to the centralized content delivery service represented by the method 100 of the FIG. 1 .
  • a plurality of independent distributed content delivery service may be processing at any given instant over the network and each independent instance is capable of acquiring access statements initially generated by the distributed content delivery service for purposes of independently verifying access attempts to content being made by requesting principals. It is noted that each independent instance of the distributed content delivery service does not have to directly interface to or interact with the centralized content delivery service; rather the access statements may be used to achieve indirect interaction.
  • the distributed content delivery service receives a request for content from a requesting principal.
  • the principal may be independently authenticated by the distributed content delivery service if the principal is detected as not being already authenticated. That is, the principal may have previously interacted with the centralized content delivery service where the principal was properly authenticated; but the principal may have ended a session or waited for an extended period of time before contacting the distributed content delivery service for the desired content. In such a situation, the distributed content delivery service may according to policy re-authenticate the principal to its satisfaction. In some cases, the authentication may be offloaded to an identity service or may be independently performed by the distributed content delivery service.
  • the request may have been received by the distributed content delivery service from the principal as a redirection from an identity service or a centralized content delivery service (such as the one represented by the method 100 of the FIG. 1 ). So, the principal was initially interacting with the identity service of the centralized content delivery service and was redirected to the distributed content delivery service for purposes of acquiring the desired content directly from the distributed content delivery service.
  • the distributed content delivery service inspects the request to determine if the request is accompanied by an assertion from the identity service or the centralized content delivery service.
  • the assertion may be in a SAML or Liberty Alliance Group format and may represent an indication from the identity service or the centralized content delivery service that the principal is authenticated for access to the desired content being requested.
  • the assertion may indicate that no additional processing is needed to provide access to the principal or may indicate that the distributed content delivery service should perform an additional validation according to policy.
  • the distributed content delivery service queries a repository to determine if an access statement for the content is associated with the requesting principal.
  • the distributed content delivery service may search the repository for the access statement using an identifier or identity associated with the principal as a search term.
  • the repository may be viewed as a directory, a database, a data warehouse, a file, etc.
  • the repository is indexed based on the identity of the requesting principal.
  • the repository may house and be named for a single principal, such that the repository itself is resolved and acquired based on the identity of the principal. So, the repository may include a variety of access statements for a variety of disparate principals or it may be geared toward a specific principal. The recorded access statements may also include attributes associated with policy that the distributed content delivery service enforces, such that even if a valid access statement is located in the repository for the principal it may still be stale or invalid based on attributes and/or policy that are dynamically evaluated in real time.
  • the distributed content delivery service streams of vends the content requested by the principal if an assertion authorized or if a valid access statement is detected.
  • the distributed content delivery service may also enforce policy associated with vending the content vis-à-vis the principal and the content. So, policy associated with the content, or the principal, or both the content and the principal may be enforced during distribution of the content to the principal. For example, some policy may restrict bandwidth during the streaming of the content to the principal. Another policy may limit features that are enabled within the content, which the distributed content delivery service configures by setting parameters associated with the content delivery. In fact, a variety of desired policies may be dynamically enforced in real time when the content is stream and vended to the principal from the distributed content delivery service.
  • the distributed content delivery service acquires an access statement from a repository that is named after an identity or identifier uniquely associated with the requesting principal.
  • the request also includes a version of the access statement and the distributed content delivery service compares the access statement of the request against the acquired access statement from the repository. If the two versions match, then the distributed content delivery service can be satisfied that an independent and secondary validation has been achieved before the principal is vended or streamed the desired content.
  • the distributed content delivery service may log the event and may optional report it to a different principal.
  • FIG. 3 is a diagram of a yet another method 300 for vending content to a principal, according to an example embodiment.
  • the method 300 (hereinafter “content vending service”) is implemented in a machine-accessible and readable medium and is accessible over a network.
  • the network may be wired, wireless, or a combination of wired and wireless.
  • the content vending service represents an alternative processing perspective to the centralized content delivery service represented by the method 100 of the FIG. 1 ; thus, the content vending service also indirectly interacts with the distributed content delivery service represented by the method 200 of the FIG. 2 .
  • the content vending service authenticates a requesting principal for access. Authentication techniques and identifiers or identifying information associated with the principal that is used with the techniques may be resolved and processed according to policy. In some cases, at 311 , an identity service may be enlisted to perform the authentication of the principal.
  • the content vending service presents a list of available content to the principal in response to policy. So, once the principal is authenticated a different policy associated with the principal may dictate what content is available for this particular principal to access.
  • the list of available content may also be generated in response to a search of the content performed by the principal against a corpus of content. The list may then represent an answer set of the search that the content vending service performs on behalf of the principal.
  • the content vending service receives a specific selection from portions of the available content identified in the list.
  • the selection represents desired content that the principal seeks to gain access to.
  • the content vending service may then engage the principal to satisfy access strictures associated with the selection for purposes of acquiring principal consent or assent to the access strictures. This may be related to licensing strictures or to legal strictures, such as governmental regulations with respect to export controls.
  • the content vending service stores one or more access statements in a repository.
  • the access statements are associated with the identity of the principal within the repository. This may be done by naming the repository itself with a unique identifier associated with the specific requesting principal or may be done by using a more generic repository that includes indexed records keyed on unique identifiers associated with unique requesting principals.
  • the access statement provides a mechanism by which a subsequent content service can independently verify that the principal is authorized to access the selection associated with the content.
  • the content service may not directly interact or interface with the content vending service; but the content service does have access to the repository for purposes of acquiring the access statement that the content vending service stored there.
  • the content vending service may actually replicate the access statements to a plurality of distributed directories, each distributed directory representing a different duplicated instance of the repository.
  • the distributed directories as a whole may represent a single logical repository.
  • the content vending service instructs the principal to contact the content service for purposes of directly acquiring the selection of the content.
  • the instruction may be achieved via a redirected browser interface interaction associated With the principal, Where the browser of the principal is redirected from the content vending service to the content service once the content vending service has authenticated the principal for access to the selection and generated and stored the access statement(s) in the repository.
  • the interaction between the principal and the content service may proceed in a manner similar to what was discussed above with respect to the distributed content delivery service represented by the method 200 of the FIG. 2 .
  • the principal is directly vended the selection of the content, assuming the content service can independently assure itself that the principal is authenticated and that the principal's request for the selection matches the access statement in the repository.
  • FIG. 4 is a diagram of a content vending system 400 , according to an example embodiment.
  • the content vending system 400 is implemented in a machine-accessible and readable medium and is accessible over a network.
  • the network may be wired, wireless, or a combination of wired and wireless.
  • the processing of the content vending system 400 implements, among other things, the processing of methods 100 , 200 , and/or 300 depicted in the FIGS. 1-3 , respectively.
  • the content vending system 400 includes a centralized content delivery service 401 and a distributed content delivery service 402 . In some cases, the content vending system 400 may also include a repository 403 .
  • the components of the content vending system 400 interact with a requesting principal 410 for purposes of vending or streaming requested content to the principal 410 . Each of these components and their interactions with one another will now be discussed in greater detail.
  • the centralized content delivery service 401 performs the functions and services discussed above with respect to the methods 100 and 300 of the FIGS. 1 and 3 , respectively.
  • the processing of the centralized content delivery service 401 is subsumed into an identity service and represents enhanced processing associated with an identity service. Examples or some types of identity service where these enhancements may be implemented were incorporated by reference above.
  • the centralized content delivery service 401 initially interacts with a requesting principal 410 .
  • the principal 410 desires specific content that is controlled by the distributed content delivery service 402 .
  • the centralized content delivery service 401 may receive a direct communication from the principal 410 or may indirectly receive the communication by intercepting that communication before it is capable of being processed by the distributed content delivery service 402 .
  • the centralized content delivery service 401 authenticates the principal 410 for access to the desired content.
  • the centralized content delivery service may enlist the services of an identity service to perform this authentication.
  • the centralized content delivery service 401 also generates an access statement for the requested access to the content.
  • the access statement may be represented as an assertion from the centralized content delivery service 401 , which the distributed content delivery service may rely upon to grant direct access to the content.
  • the access statement is stored in a repository 403 .
  • the repository 403 is used for recording access statements generated by the centralized content delivery service 401 .
  • the repository uniquely identifies specific access statements with specific principals 410 .
  • the repository 403 is read and accessed by the distributed content delivery service 402 and serves as an interface mechanism between the centralized content delivery service 401 and the distributed content delivery service 402 .
  • entries for each access statement within the repository 403 may also include a variety of attributes.
  • an attribute may indicate a time-to-live for any given access statement, such that when an elapsed period of time is detected the access statement associated with the time-to-live attributed becomes stale and no longer valid for purposes of being relied upon by the distributed content delivery service 402 .
  • the centralized content delivery service 401 redirects the principal 410 to the distributed content delivery service 402 once the principal 410 is authenticated and once the access statements are generated from the principal 410 to access the desired content being requested by the principal 410 . In some cases, this is achieved via WWW browser redirection. Moreover, the access statement is included in the redirected request, such that the distributed content delivery service 402 may compare the version included in the request against a version that is independently acquired via the repository 403 .
  • the interaction and processing associated with the principal 410 and the distributed content delivery service 402 were described in detail above with respect to the method 200 of the FIG. 2 .
  • the distributed content delivery service 402 receives requests for content from the principals 410 after the principals 410 have initially interacted with the centralized content delivery service 401 .
  • the principals 410 may still be considered properly authenticated, such that the distributed content delivery service 402 can rely on that authentication without performing additional authentication on the principals 410 .
  • policy may dictate that the distributed content delivery service 402 perform its own independent authentication of the principals 410 .
  • the distributed content delivery service 402 inspects the request to acquire a version of the access statement.
  • that version may be a SAML or Liberty Alliance Group assertion provided by the centralized content delivery service 401 within the redirected principal request, which the distributed content delivery service 402 relies upon to independently determine access to the desired content may proceed unabated.
  • the version of the access statement is not an assertion but rather an identifier for a specific piece of content.
  • the distributed content delivery service 402 queries the repository 403 using an identifier for a requesting principal 410 or an identity associated with the requesting principal 410 to acquire one or more access statements written to the repository 403 previously by the centralized content delivery service 401 . A comparison is then made and if a match occurs, the distributed content delivery service 402 satisfies itself that access to the content is appropriate.
  • the distributed content delivery service 402 independently verifies the access statement and the principal 410 for access to the desired content, the content is vended or streamed to the principal 410 according to policy.

Abstract

Techniques for distributed and secure content delivery are provided. Requests for content are routed to a centralized service where the requestors are authenticated for access to the content. The centralized service generates access statements for the requesters. The requestors are redirected to particular distributed content services having access to the desired content. The distributed content services verify the access statements and vend the desired content to the requestors.

Description

FIELD
The invention relates generally to content delivery and more particularly to techniques for delivering content in a distributed and secure fashion.
BACKGROUND
Increasingly, secure, private, or licensed content is being distributed over the Internet. Individuals, enterprises, and governments are supplying and acquiring content via the Internet. With these exploding phenomena, there is a variety of challenges presented to the content provider.
For instance, the content provider may not be particularly adept at authenticating users for access to its content. Consequently, the content provider may want to offload the authentication and/or licensing enforcement to one or more third-party services. For that matter, the content provider may even want to offload content delivery to a third-party, since the content provider may not be skilled at streaming content or may not have the necessary resources, such as bandwidth capabilities, for properly vending the content to its users.
It is particularly difficult for a single service provider to perform all services well, which may be associated with secure content delivery. That is, a service provider may provide good authentication and licensing enforcement but the same service provider may not perform well at or have the resources to perform well at content delivery.
Moreover, if authentication and/or license enforcement are offloaded then the content delivery often has to be integrated with or interfaced to the service that provides the authentication and/or license enforcement. This means that features associated with content delivery are often tightly coupled and integrated with features associated with authentication and/or license enforcement. So, if one changes then the other has to be modified as well to reflect the changes. This creates challenges for maintenance and support.
To streamline the authentication, a content provider may forgo customized identity based access by setting up sites that are geared towards groups of users having the same access rights or licensing rights to content. Yet, this is not acceptable because what often ends up occurring is the content provider ends up managing a plethora of sites for the same content, where each site has its own access rights to satisfy varying customer demands.
So, in general content providers either end up with complicated delivery services or redundant and disparate delivery services for the same content being delivered.
Therefore, it is advantageous to provide techniques for more secure and distributed content delivery that is more manageable and less complicated.
SUMMARY
In various embodiments, techniques for distributed and secure content delivery over a network are provided. More specifically, and in an embodiment, a method for vending content to a principal over a network is provided. A request for content is received from a principal and the principal is authenticated for access to that content. Next, an access statement is generated for the principal for purposes of acquiring the content from a service, which distributes the content. Finally, the principal is redirected to the service for purposes of acquiring the content.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram of a method for vending content to a principal, according to an example embodiment.
FIG. 2 is a diagram of another method for vending content to a principal, according to an example embodiment.
FIG. 3 is a diagram of a yet another method for vending content to a principal, according to an example embodiment.
FIG. 4 is a diagram of a content vending system, according to an example embodiment.
DETAILED DESCRIPTION
As used herein a “service” is a type of resource that is accessible over a network. The service is implemented as instructions that when loaded and accessed by a machine performs one or more functions that the service is advertised to perform. A “principal” is another type of resource that may be an automated service, or may logically represent a physical resource within an electronic environment, such as, but not limited to, a user, a device, a group of users, a group of devices, an object, etc.
An “identity service” refers to a special type of service that is designed to manage and supply authentication services and authentication information for principals and for other services. So, an identity service may authenticate a given principal for access to a variety of local and external services being managed by that identity service. A single principal may have multiple identity services.
According to an embodiment, some example identity services are described in “Techniques for Dynamically Establishing and Managing Authentication and Trust Relationships,” filed on Jan. 27, 2004, and having the U.S. Ser. No. 10/765,523; “Techniques for Establishing and Managing a Distributed Credential Store,” filed on Jan. 29, 2004, and having the U.S. Ser. No. 10/767,884; and “Techniques for Establishing and Managing Trust Relationships,” filed on Feb. 3, 2004, and having the U.S. Ser. No. 10/770,677; all of which are commonly assigned to Novell, Inc., of Provo, Utah and the disclosures of which are incorporated by reference herein. In some cases, these identity services may be enhanced to include some features and techniques discussed in greater detail herein and below.
An identity service may also provide single sign-on services to a principal. That is, a principal may sign-on to an identity service and acquire identities and credentials to access a variety of other services.
A principal is recognized via an “identity.” An identity is authenticated via various techniques (e.g., challenge and response interaction, cookies, assertions, etc.) that use various identifying information (e.g., identifiers with passwords, biometric data, digital certificates, digital signatures, etc.). A “true identity” is one that is unique to a principal across any context that the principal may engage in over a network (e.g., Internet, Intranet, etc.). However, each principal may have and manage a variety of identities, where each of these identities may only be unique within a given context (given service interaction).
As used herein “attributes” may be viewed as types of identifying information, such as, but not limited to, birth date, mother's maiden name, pet's name, last transaction for a given context, age, employment, income level, social-security number (SSN), etc.
The true identity of a principal is typically managed and controlled by an identity service, such as the ones enumerated above. The identity service may also manage the principal's other identities that the principal uses with services for which the principal interacts in a variety of different contexts.
An “access statement” is information that a content vending service uses to determine if access to content is permissible. The statement may be represented in a variety of formats. For example, in some cases the statement may be a flag. In other cases, the statement may be a Uniform Resource Identifier (URI) or Uniform Resource Locator (URL). The URI or URL may identify a particular World-Wide Web (WWW) site that has desired content, which is to be vended to a requesting principal. In still other situations, the statement may be an assertion from a trusted principal, such as an identity service. The assertion may be in a Security Access Method Language (SAML), a Liberty Alliance Group format, etc.
Content may itself be viewed as a type of resource. It can include documents, videos, images, software, graphics, audio, or various combinations of these things. Content is vended to principals in a distributed and secure manner via a centralized service that creates access statements and via distributed services that validate the access statements and vend the content to the principals. The techniques and variations on achieving this are discussed in greater detail below with reference to the FIGS.
Various embodiments of this invention can be implemented in existing network architectures. In some cases, the techniques presented herein may be implemented as enhancements to existing services. These enhancements may be integrated into the existing services or accessed externally via Application Programming Interfaces (API's). In some cases, the enhancements may be unknown to the existing services, such that the existing services are not even aware of the techniques being processed. This can occur when the techniques are implemented as a transparent proxy or a reverse proxy on behalf of the services. According to the techniques presented herein are implemented in whole or in part in the Novell® network products, proxy server products, email products, identity service products, operating system products, and/or directory services products distributed by Novell®, Inc., of Provo, Utah.
Of course, the embodiments of the invention can be implemented in a variety of architectural platforms, operating and server systems, or applications. Any particular architectural layout or implementation presented herein is provided for purposes of illustration and comprehension only and is not intended to limit aspects of the invention.
FIG. 1 is a diagram of a method 100 for vending content to a principal, according to an example embodiment. The method 100 (hereinafter “centralized content delivery service”) is implemented in a machine-accessible and readable medium. The centralized content delivery service is operational over and processes within a network. The network may be wired, wireless, or a combination of wired and wireless.
Initially, a principal attempts to acquire desired content over the network. According to an embodiment, the principal uses a WWW browser and its interface to activate an URI or URL that is associated with the desired content. The processing of the centralized content delivery service may be indirectly invoked when this URI or URL is activated. Thus, the processing of the centralized content delivery service may be viewed as a transparent proxy associated with the principal that intercepts external network access attempts made by the principal. Alternatively, the processing of the centralized content delivery service may be viewed as a reverse proxy associated with a content provider or content distributor associated with the desired content that processes content requests before content is vended to requesting principals. It is noted that the centralized content delivery service may also be a forward proxy that the principal directly interacts with or is configured to interact with. In fact, the centralized content delivery service does not have to be a proxy at all and may be directly accessed by the URI or URL activated by the principal. In this manner, the centralized content delivery service may be viewed as front-end or initial content delivery service that is activated in a variety of manners when a principal requests desired content that is being controlled or managed by the centralized content delivery service.
At 110, the centralized content delivery service receives a request for desired content from a requesting principal. Again, in some cases this request may be an activated URI or URL from within a browser page or manually entered into a browser by the principal. The request is either directly sent to the centralized content delivery service or is indirectly sent via some interception mechanism, as discussed above and depicted at 111.
At 120, the centralized content delivery service authenticates the principal for access to the content. That is, credentials of the principal are verified according to policy for purposes of determining that the principal's identity is whom it purports to be. Any authentication mechanism may be used, such as, but not limited to, passwords, biometrics, certificates, signatures, combinations of these, and the like.
According to an embodiment, the authentication of the principal may be offloaded to an identity service. In other cases, the processing associated with the centralized content delivery service may be subsumed as enhancements into an identity service. In still other cases, the authentication is entirely handled within the centralized content delivery service with no interaction with an identity service.
In some embodiments, at 121, the centralized content delivery service may also engage and interact with the principal for purposes of getting consent to licensing or legal strictures related to accessing and using the desired content. So, the principal may have to read a license or export agreement and consent to the terms associated therewith.
At 130, the centralized content delivery service generates an access statement for the principal to acquire the content from a content distribution service that directly vends the content. The access statement is subsequently consumed by the content distribution service to verify that the principal is to be given access to the desired content. The access statement serves as a mechanism by which the content distribution service can perform a second check to ensure that the principal is authorized to receive and access the desired content. The content distribution service does not have to be directly configured to interact with the centralized content delivery service for purposes of making this additional check; rather the access statement produced by the centralized content delivery service may be acquired and verified by the content distribution service in a variety of manners in an indirect fashion. This decouples the content distribution service from the centralized content delivery service while still maintaining communication via the access statement.
According to an embodiment, at 131, the centralized content delivery service may store the access statement in a repository. The repository is also accessible to the content distribution service. The access statement may be indexed in the repository according to an identifier or identity associated with the principal.
In an embodiment, at 132, the access statement may be represented as an URI or URL that identifies the WWW site or the content distribution service that vends or distributes the desired content to the principal directly. Thus, the content distribution service when it receives a direct request for content from the principal inspects the repository in response to an identifier for the principal and acquires the URI or URL (access statement) against another URI or URL that the principal supplies for specific content. If the two URI's or URL's match the content distribution service has successfully verified the principal for access to the desired content and that content may then be streamed or vended to the principal from the content distribution service.
At 140, the centralized content delivery service redirects the principal to the content distribution service that directly distributes or vends the desired content being requested by the principal.
According to an embodiment, this redirection may occur automatically and in near real time, such that the principal is not aware of the redirection. That is, the principal may be interacting via a browser and the initial contact to the centralized content delivery service may appear to the principal to be an interaction directly with the content distribution service (such as when the centralized content delivery service is a transparent or reverse proxy); the centralized content delivery service authenticates the principal, generates the access statement, and redirects the browser of the principal directly to the content distribution service. All this interaction may be transparent to the principal and may appear to occur in a nearly instantaneous fashion.
In some cases, at 141, the access statement that was generated by the centralized content delivery service on behalf of the principal may have been represented as an assertion from the centralized content delivery service and may be accompanied with the redirected request that the principal makes to the content distribution service. The assertion may be a SAML or Liberty Alliance Group assertion that informs the content distribution service that the centralized content delivery service is vouching for the principal and that correspondingly access to the desired content is authorized and appropriate. In this manner, the access statement may be an assertion that accompanies a redirected request of the principal, which the content distribution service relies on and uses to provide the principal access to the content.
In some embodiments, at 150, the access statement may be stored in one or more repositories and include other attributes, such as a time-to-live attribute, where the access statement becomes stale or is removed from the repository upon occurrence of an event, such as, but not limited to, an elapsed period of time from when the access statement was initially stored in the repository. So, there may be redundant sites having the desired content, with each site processing an instance of the content distribution service and each site potentially having access to a specific repository. The centralized content delivery service may replicate the access statement to each such repository to ensure each instance of the content distribution service can acquire the access statement for purposes of performing its own independent verification on a requested principal's access attempt for desired content. Each repository may include attributes from the access statement and policy associated with the attributes may be enforced by each instance of the content distribution service.
In another variation to the processing associated with the centralized content delivery service, the principal may authenticate to an identity service via the centralized content delivery service and obtain a crafted identity or different and perhaps temporary identity. That crafted identity may then be used to access the content from the content distribution service.
FIG. 2 is a diagram of another method 200 for vending content to a principal, according to an example embodiment. The method 200 (hereinafter “distributed content delivery service” is implemented in a machine-accessible and readable medium and is operational over a network. The network may be wired, wireless, or a combination of wired and wireless. The distributed content delivery service indirectly interacts with the centralized content delivery service represented by the method 100 of the FIG. 1. According to an embodiment, the distributed content delivery service either indirectly receives information from the centralized content delivery service via redirected interactions from a principal or indirectly acquires information from the centralized content delivery service via a commonly accessible repository.
The distributed content delivery service represents more detailed processing associated with the content distribution service that was discussed above with respect to the centralized content delivery service represented by the method 100 of the FIG. 1. Thus, a plurality of independent distributed content delivery service may be processing at any given instant over the network and each independent instance is capable of acquiring access statements initially generated by the distributed content delivery service for purposes of independently verifying access attempts to content being made by requesting principals. It is noted that each independent instance of the distributed content delivery service does not have to directly interface to or interact with the centralized content delivery service; rather the access statements may be used to achieve indirect interaction.
At 210, the distributed content delivery service receives a request for content from a requesting principal. At 211, the principal may be independently authenticated by the distributed content delivery service if the principal is detected as not being already authenticated. That is, the principal may have previously interacted with the centralized content delivery service where the principal was properly authenticated; but the principal may have ended a session or waited for an extended period of time before contacting the distributed content delivery service for the desired content. In such a situation, the distributed content delivery service may according to policy re-authenticate the principal to its satisfaction. In some cases, the authentication may be offloaded to an identity service or may be independently performed by the distributed content delivery service.
At 212, the request may have been received by the distributed content delivery service from the principal as a redirection from an identity service or a centralized content delivery service (such as the one represented by the method 100 of the FIG. 1). So, the principal was initially interacting with the identity service of the centralized content delivery service and was redirected to the distributed content delivery service for purposes of acquiring the desired content directly from the distributed content delivery service.
At 220, the distributed content delivery service inspects the request to determine if the request is accompanied by an assertion from the identity service or the centralized content delivery service. In some cases, at 221, the assertion may be in a SAML or Liberty Alliance Group format and may represent an indication from the identity service or the centralized content delivery service that the principal is authenticated for access to the desired content being requested. The assertion may indicate that no additional processing is needed to provide access to the principal or may indicate that the distributed content delivery service should perform an additional validation according to policy.
At 230 and in cases where an assertion is not being relied upon solely for access, the distributed content delivery service queries a repository to determine if an access statement for the content is associated with the requesting principal. At 231, the distributed content delivery service may search the repository for the access statement using an identifier or identity associated with the principal as a search term. The repository may be viewed as a directory, a database, a data warehouse, a file, etc. The repository is indexed based on the identity of the requesting principal.
In some cases, the repository may house and be named for a single principal, such that the repository itself is resolved and acquired based on the identity of the principal. So, the repository may include a variety of access statements for a variety of disparate principals or it may be geared toward a specific principal. The recorded access statements may also include attributes associated with policy that the distributed content delivery service enforces, such that even if a valid access statement is located in the repository for the principal it may still be stale or invalid based on attributes and/or policy that are dynamically evaluated in real time.
At 240, the distributed content delivery service streams of vends the content requested by the principal if an assertion authorized or if a valid access statement is detected. According to an embodiment, at 241, the distributed content delivery service may also enforce policy associated with vending the content vis-à-vis the principal and the content. So, policy associated with the content, or the principal, or both the content and the principal may be enforced during distribution of the content to the principal. For example, some policy may restrict bandwidth during the streaming of the content to the principal. Another policy may limit features that are enabled within the content, which the distributed content delivery service configures by setting parameters associated with the content delivery. In fact, a variety of desired policies may be dynamically enforced in real time when the content is stream and vended to the principal from the distributed content delivery service.
According to an embodiment, the distributed content delivery service acquires an access statement from a repository that is named after an identity or identifier uniquely associated with the requesting principal. The request also includes a version of the access statement and the distributed content delivery service compares the access statement of the request against the acquired access statement from the repository. If the two versions match, then the distributed content delivery service can be satisfied that an independent and secondary validation has been achieved before the principal is vended or streamed the desired content.
It is also noted, that if the principal is not authenticated or does not have a proper assertion or a proper access statement, then the principal is denied access to the desired content. If such a situation occurs, the distributed content delivery service may log the event and may optional report it to a different principal.
FIG. 3 is a diagram of a yet another method 300 for vending content to a principal, according to an example embodiment. The method 300 (hereinafter “content vending service”) is implemented in a machine-accessible and readable medium and is accessible over a network. The network may be wired, wireless, or a combination of wired and wireless. The content vending service represents an alternative processing perspective to the centralized content delivery service represented by the method 100 of the FIG. 1; thus, the content vending service also indirectly interacts with the distributed content delivery service represented by the method 200 of the FIG. 2.
At 310, the content vending service authenticates a requesting principal for access. Authentication techniques and identifiers or identifying information associated with the principal that is used with the techniques may be resolved and processed according to policy. In some cases, at 311, an identity service may be enlisted to perform the authentication of the principal.
At 320, the content vending service presents a list of available content to the principal in response to policy. So, once the principal is authenticated a different policy associated with the principal may dictate what content is available for this particular principal to access. According to an embodiment, at 321, the list of available content may also be generated in response to a search of the content performed by the principal against a corpus of content. The list may then represent an answer set of the search that the content vending service performs on behalf of the principal.
At 330, the content vending service receives a specific selection from portions of the available content identified in the list. The selection represents desired content that the principal seeks to gain access to. In some cases, at 331, the content vending service may then engage the principal to satisfy access strictures associated with the selection for purposes of acquiring principal consent or assent to the access strictures. This may be related to licensing strictures or to legal strictures, such as governmental regulations with respect to export controls.
At 340, the content vending service stores one or more access statements in a repository. The access statements are associated with the identity of the principal within the repository. This may be done by naming the repository itself with a unique identifier associated with the specific requesting principal or may be done by using a more generic repository that includes indexed records keyed on unique identifiers associated with unique requesting principals. The access statement provides a mechanism by which a subsequent content service can independently verify that the principal is authorized to access the selection associated with the content. The content service may not directly interact or interface with the content vending service; but the content service does have access to the repository for purposes of acquiring the access statement that the content vending service stored there.
In some embodiments, at 341, the content vending service may actually replicate the access statements to a plurality of distributed directories, each distributed directory representing a different duplicated instance of the repository. Alternatively, the distributed directories as a whole may represent a single logical repository.
At 350, the content vending service instructs the principal to contact the content service for purposes of directly acquiring the selection of the content. As was mentioned above and again at 351, the instruction may be achieved via a redirected browser interface interaction associated With the principal, Where the browser of the principal is redirected from the content vending service to the content service once the content vending service has authenticated the principal for access to the selection and generated and stored the access statement(s) in the repository.
At this point the interaction between the principal and the content service may proceed in a manner similar to what was discussed above with respect to the distributed content delivery service represented by the method 200 of the FIG. 2. During this interaction with the content service, the principal is directly vended the selection of the content, assuming the content service can independently assure itself that the principal is authenticated and that the principal's request for the selection matches the access statement in the repository.
FIG. 4 is a diagram of a content vending system 400, according to an example embodiment. The content vending system 400 is implemented in a machine-accessible and readable medium and is accessible over a network. The network may be wired, wireless, or a combination of wired and wireless. The processing of the content vending system 400 implements, among other things, the processing of methods 100, 200, and/or 300 depicted in the FIGS. 1-3, respectively.
The content vending system 400 includes a centralized content delivery service 401 and a distributed content delivery service 402. In some cases, the content vending system 400 may also include a repository 403. The components of the content vending system 400 interact with a requesting principal 410 for purposes of vending or streaming requested content to the principal 410. Each of these components and their interactions with one another will now be discussed in greater detail.
The centralized content delivery service 401 performs the functions and services discussed above with respect to the methods 100 and 300 of the FIGS. 1 and 3, respectively. In some embodiments, the processing of the centralized content delivery service 401 is subsumed into an identity service and represents enhanced processing associated with an identity service. Examples or some types of identity service where these enhancements may be implemented were incorporated by reference above.
The centralized content delivery service 401 initially interacts with a requesting principal 410. The principal 410 desires specific content that is controlled by the distributed content delivery service 402. The centralized content delivery service 401 may receive a direct communication from the principal 410 or may indirectly receive the communication by intercepting that communication before it is capable of being processed by the distributed content delivery service 402.
The centralized content delivery service 401 authenticates the principal 410 for access to the desired content. In some cases, the centralized content delivery service may enlist the services of an identity service to perform this authentication. The centralized content delivery service 401 also generates an access statement for the requested access to the content. In some cases, the access statement may be represented as an assertion from the centralized content delivery service 401, which the distributed content delivery service may rely upon to grant direct access to the content. In other cases, the access statement is stored in a repository 403.
The repository 403 is used for recording access statements generated by the centralized content delivery service 401. The repository uniquely identifies specific access statements with specific principals 410. The repository 403 is read and accessed by the distributed content delivery service 402 and serves as an interface mechanism between the centralized content delivery service 401 and the distributed content delivery service 402.
According to an embodiment, entries for each access statement within the repository 403 may also include a variety of attributes. For example, an attribute may indicate a time-to-live for any given access statement, such that when an elapsed period of time is detected the access statement associated with the time-to-live attributed becomes stale and no longer valid for purposes of being relied upon by the distributed content delivery service 402.
The centralized content delivery service 401 redirects the principal 410 to the distributed content delivery service 402 once the principal 410 is authenticated and once the access statements are generated from the principal 410 to access the desired content being requested by the principal 410. In some cases, this is achieved via WWW browser redirection. Moreover, the access statement is included in the redirected request, such that the distributed content delivery service 402 may compare the version included in the request against a version that is independently acquired via the repository 403.
The interaction and processing associated with the principal 410 and the distributed content delivery service 402 were described in detail above with respect to the method 200 of the FIG. 2. The distributed content delivery service 402 receives requests for content from the principals 410 after the principals 410 have initially interacted with the centralized content delivery service 401. In some cases, the principals 410 may still be considered properly authenticated, such that the distributed content delivery service 402 can rely on that authentication without performing additional authentication on the principals 410. In other cases, policy may dictate that the distributed content delivery service 402 perform its own independent authentication of the principals 410.
Once the principals 410 are determined to be authenticated, the distributed content delivery service 402 inspects the request to acquire a version of the access statement. In some cases, that version may be a SAML or Liberty Alliance Group assertion provided by the centralized content delivery service 401 within the redirected principal request, which the distributed content delivery service 402 relies upon to independently determine access to the desired content may proceed unabated. In other cases, the version of the access statement is not an assertion but rather an identifier for a specific piece of content. In these latter cases, the distributed content delivery service 402 queries the repository 403 using an identifier for a requesting principal 410 or an identity associated with the requesting principal 410 to acquire one or more access statements written to the repository 403 previously by the centralized content delivery service 401. A comparison is then made and if a match occurs, the distributed content delivery service 402 satisfies itself that access to the content is appropriate.
Once the distributed content delivery service 402 independently verifies the access statement and the principal 410 for access to the desired content, the content is vended or streamed to the principal 410 according to policy.
The above description is illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of embodiments should therefore be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
The Abstract is provided to comply with 37 C.F.R. §1.72(b) and will allow the reader to quickly ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.
In the foregoing description of the embodiments, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting that the claimed embodiments have more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Description of the Embodiments, with each claim standing on its own as a separate exemplary embodiment.

Claims (26)

The invention claimed is:
1. A content delivery system comprising:
a reverse proxy server device to execute a plurality of services, the services including: an identity service, to provide a single sign-on service for a single sign-on identity, the identity service to store a set of temporary identities and credentials which facilitate access to content for the single sign-on identity;
a content vending service, to authenticate at least one of the temporary identities of the single sign-on identity, and to supply an access statement for the single sign-on identity; and
a content delivery service, to authenticate a request for content from the single sign-on identity via the access statement, wherein the content delivery service verifies the access statement independently of the authentication of the temporary identities, and redirects the request for content after the authentication of the access statement.
2. The system of claim 1, further comprising a repository, to store content along with at least one access statement for the single sign-on identity, wherein the at least one access statement associates the single sign-on identity with the content and verifies that the single sign-on identity is to be given access to the content.
3. The system of claim 2, wherein the access statement includes one or more attributes including a time-to-live attribute.
4. The system of claim 2, wherein the content delivery service queries the repository to determine if the single sign-on identity has access to content.
5. The system of claim 4, wherein a first request for content is associated with a first access statement and a second request for content is associated with a second access statement.
6. The system of claim 5, wherein a first temporary identity is used to acquire the first access statement and a second temporary identity is used to acquire the second access statement.
7. The system of claim 6, wherein the first or second access statement is an identifier for a specific piece of content.
8. The system of claim 6, wherein the first or second access statement is an assertion that a particular single sign-on identity has access to content.
9. The system of claim 1, wherein the identity service provides the single sign-on service to a principal user.
10. The system of claim 9, wherein the content delivery service authenticates the request for content from the single sign-on identity of the principal user by intercepting a communication from the principal to access content and authenticating the principal for access to the content.
11. A method at a reverse proxy server device for providing access to distributed content over a networked computer system, the method comprising:
directing, by the reverse proxy server device, a request from a principal to access content to a content vending service, to authenticate a temporary identity of the principal, wherein the temporary identity is associated with a single sign-on identity;
after authenticating the temporary identity via the content vending service, generating an access statement for the principal to vouch that the principal has access to the content using the single sign-on identity;
verifying validity of the access statement of the principal independently of the temporary identity, to determine if the single sign-on identity has access to the content; and
redirecting, by the reverse proxy server device, the request from the principal to a repository storing requested content.
12. The method of claim 11 wherein authenticating the temporary identity via the content vending service includes authenticating to an identity service that provides single sign-on services to the principal.
13. The method of claim 12 further comprising generating a second access statement for the single sign-on identity of the principal in response to receiving a second access request using a second temporary identity and credential.
14. The method of claim 13, wherein a first request for content is associated with a first access statement and the second request for content is associated with the second access statement.
15. The method of claim 14, wherein the first access statement is an assertion that a particular single sign-on identity has access to the requested content, and wherein the method further comprises storing the first access statement in the repository storing the requested content.
16. The method of claim 15, wherein the second access statement is an identifier, which identifies a specific piece of content.
17. The method of claim 16, further comprising querying the repository using the single sign-on identity of the principal responsive to receiving the second request for content, to acquire the first access statement from the repository.
18. The method of claim 17, further comprising verifying the second request for content using the first access statement after acquiring the first access statement from the repository.
19. The method of claim 11, further comprising intercepting a communication from the principal, the communication including the request to access content stored on the repository, and authenticating the principal before providing access to the content.
20. A non-transitory machine-readable medium storing instructions which, when executed by a processor of a reverse proxy server device, cause the reverse proxy server device to perform operations to provide access to distributed content over a networked computer system, the operations comprising:
directing, by the reverse proxy server device, a request from a principal to access content to a content vending service, to authenticate a temporary identity of the principal, wherein the temporary identity is associated with a single sign-on identity;
after authenticating the temporary identity via the content vending service, generating an access statement for the principal to vouch that the principal has access to the content using the single sign-on identity;
verifying validity of the access statement of the principal independently of the temporary identity, to determine if the single sign-on identity has access to the content; and
redirecting, by the reverse proxy server device, the request from the principal to a repository storing requested content.
21. The medium of claim 20, further comprising instructions to perform additional operations wherein authenticating the temporary identity via the content vending service includes authenticating to an identity service that provides single sign-on services to the principal.
22. The medium of claim 21, further comprising instructions to perform additional operations including intercepting a communication from the principal, the communication including the request to access content stored on the repository, and authenticating the principal before providing access to the content.
23. The medium of claim 22 further comprising instructions to perform additional operations including generating a second access statement for the single sign-on identity of the principal in response to receiving a second access request using a second temporary identity and credential.
24. The medium of claim 23, wherein,
a first request for content is associated with a first access statement, wherein the first access statement is an assertion that a particular single sign-on identity has access to the requested content;
the second request for content is associated with the second access statement, wherein the second access statement is an identifier, which identifies a specific piece of content; and
the instructions include further operations including storing the first access statement in the repository.
25. The medium of claim 24, further comprising instructions to perform additional operations including querying the repository using the single sign-on identity of the principal, to acquire the first access statement from the repository.
26. The medium of claim 25, further comprising instructions to perform additional operations including, verifying the second request for content using the first access statement after acquiring the first access statement from the repository.
US11/448,427 2006-06-07 2006-06-07 Distributed secure content delivery Active 2030-06-25 US8745227B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/448,427 US8745227B2 (en) 2006-06-07 2006-06-07 Distributed secure content delivery
US14/285,394 US9208342B2 (en) 2006-06-07 2014-05-22 Distributed secure content delivery
US14/959,196 US10389755B2 (en) 2006-06-07 2015-12-04 Distributed secure content delivery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/448,427 US8745227B2 (en) 2006-06-07 2006-06-07 Distributed secure content delivery

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/285,394 Division US9208342B2 (en) 2006-06-07 2014-05-22 Distributed secure content delivery

Publications (2)

Publication Number Publication Date
US20070288637A1 US20070288637A1 (en) 2007-12-13
US8745227B2 true US8745227B2 (en) 2014-06-03

Family

ID=38823240

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/448,427 Active 2030-06-25 US8745227B2 (en) 2006-06-07 2006-06-07 Distributed secure content delivery
US14/285,394 Expired - Fee Related US9208342B2 (en) 2006-06-07 2014-05-22 Distributed secure content delivery
US14/959,196 Expired - Fee Related US10389755B2 (en) 2006-06-07 2015-12-04 Distributed secure content delivery

Family Applications After (2)

Application Number Title Priority Date Filing Date
US14/285,394 Expired - Fee Related US9208342B2 (en) 2006-06-07 2014-05-22 Distributed secure content delivery
US14/959,196 Expired - Fee Related US10389755B2 (en) 2006-06-07 2015-12-04 Distributed secure content delivery

Country Status (1)

Country Link
US (3) US8745227B2 (en)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8520850B2 (en) 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
US8621540B2 (en) 2007-01-24 2013-12-31 Time Warner Cable Enterprises Llc Apparatus and methods for provisioning in a download-enabled system
US8019780B1 (en) * 2007-03-30 2011-09-13 Google Inc. Handling document revision history information in the presence of a multi-user permissions model
US9357247B2 (en) 2008-11-24 2016-05-31 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
US9215423B2 (en) 2009-03-30 2015-12-15 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
US11076189B2 (en) 2009-03-30 2021-07-27 Time Warner Cable Enterprises Llc Personal media channel apparatus and methods
US9602864B2 (en) 2009-06-08 2017-03-21 Time Warner Cable Enterprises Llc Media bridge apparatus and methods
US8396055B2 (en) 2009-10-20 2013-03-12 Time Warner Cable Inc. Methods and apparatus for enabling media functionality in a content-based network
US10264029B2 (en) 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network
US9519728B2 (en) 2009-12-04 2016-12-13 Time Warner Cable Enterprises Llc Apparatus and methods for monitoring and optimizing delivery of content in a network
US9342661B2 (en) 2010-03-02 2016-05-17 Time Warner Cable Enterprises Llc Apparatus and methods for rights-managed content and data delivery
CA2796299A1 (en) 2010-04-12 2011-10-20 Google Inc. Collaborative cursors in a hosted word processor
US20110252312A1 (en) 2010-04-12 2011-10-13 Google Inc. Real-Time Collaboration in a Hosted Word Processor
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
US8996985B1 (en) 2011-03-16 2015-03-31 Google Inc. Online document processing service for displaying comments
US9336137B2 (en) 2011-09-02 2016-05-10 Google Inc. System and method for performing data management in a collaborative development environment
US10430388B1 (en) 2011-10-17 2019-10-01 Google Llc Systems and methods for incremental loading of collaboratively generated presentations
US8397153B1 (en) 2011-10-17 2013-03-12 Google Inc. Systems and methods for rich presentation overlays
US8471871B1 (en) 2011-10-17 2013-06-25 Google Inc. Authoritative text size measuring
US20150199308A1 (en) 2011-10-17 2015-07-16 Google Inc. Systems and methods for controlling the display of online documents
US8434002B1 (en) 2011-10-17 2013-04-30 Google Inc. Systems and methods for collaborative editing of elements in a presentation document
US8266245B1 (en) 2011-10-17 2012-09-11 Google Inc. Systems and methods for incremental loading of collaboratively generated presentations
US8812946B1 (en) 2011-10-17 2014-08-19 Google Inc. Systems and methods for rendering documents
US8738706B1 (en) 2011-11-16 2014-05-27 Google Inc. Systems and methods for collaborative document editing
US8713646B2 (en) 2011-12-09 2014-04-29 Erich Stuntebeck Controlling access to resources on a network
US10404615B2 (en) 2012-02-14 2019-09-03 Airwatch, Llc Controlling distribution of resources on a network
US9705813B2 (en) 2012-02-14 2017-07-11 Airwatch, Llc Controlling distribution of resources on a network
US10257194B2 (en) 2012-02-14 2019-04-09 Airwatch Llc Distribution of variably secure resources in a networked environment
US9680763B2 (en) 2012-02-14 2017-06-13 Airwatch, Llc Controlling distribution of resources in a network
US9467723B2 (en) 2012-04-04 2016-10-11 Time Warner Cable Enterprises Llc Apparatus and methods for automated highlight reel creation in a content delivery network
US9367522B2 (en) 2012-04-13 2016-06-14 Google Inc. Time-based presentation editing
US20130326323A1 (en) 2012-05-30 2013-12-05 Google Inc. Systems and methods for displaying contextual revision history
US9882950B2 (en) 2012-06-13 2018-01-30 All Purpose Networks LLC Methods and systems of an all purpose broadband network
US8565689B1 (en) 2012-06-13 2013-10-22 All Purpose Networks LLC Optimized broadband wireless network performance through base station application server
US20140082645A1 (en) 2012-09-14 2014-03-20 Peter Stern Apparatus and methods for providing enhanced or interactive features
US9247432B2 (en) 2012-10-19 2016-01-26 Airwatch Llc Systems and methods for controlling network access
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US8978110B2 (en) 2012-12-06 2015-03-10 Airwatch Llc Systems and methods for controlling email access
US8832785B2 (en) 2012-12-06 2014-09-09 Airwatch, Llc Systems and methods for controlling email access
US8862868B2 (en) 2012-12-06 2014-10-14 Airwatch, Llc Systems and methods for controlling email access
US9021037B2 (en) 2012-12-06 2015-04-28 Airwatch Llc Systems and methods for controlling email access
US8826432B2 (en) 2012-12-06 2014-09-02 Airwatch, Llc Systems and methods for controlling email access
US9565472B2 (en) 2012-12-10 2017-02-07 Time Warner Cable Enterprises Llc Apparatus and methods for content transfer protection
US9462037B2 (en) 2013-01-07 2016-10-04 Google Inc. Dynamically sizing chunks in a partially loaded spreadsheet model
US10956667B2 (en) 2013-01-07 2021-03-23 Google Llc Operational transformations proxy for thin clients
US9311622B2 (en) 2013-01-15 2016-04-12 Google Inc. Resolving mutations in a partially-loaded spreadsheet model
US20140280955A1 (en) 2013-03-14 2014-09-18 Sky Socket, Llc Controlling Electronically Communicated Resources
US9473417B2 (en) 2013-03-14 2016-10-18 Airwatch Llc Controlling resources used by computing devices
US10652242B2 (en) 2013-03-15 2020-05-12 Airwatch, Llc Incremental compliance remediation
US9203820B2 (en) 2013-03-15 2015-12-01 Airwatch Llc Application program as key for authorizing access to resources
US9378350B2 (en) 2013-03-15 2016-06-28 Airwatch Llc Facial capture managing access to resources by a device
US8997187B2 (en) 2013-03-15 2015-03-31 Airwatch Llc Delegating authorization to applications on a client device in a networked environment
US9275245B2 (en) 2013-03-15 2016-03-01 Airwatch Llc Data access sharing
US9148416B2 (en) 2013-03-15 2015-09-29 Airwatch Llc Controlling physical access to secure areas via client devices in a networked environment
US9819682B2 (en) 2013-03-15 2017-11-14 Airwatch Llc Certificate based profile confirmation
US9401915B2 (en) 2013-03-15 2016-07-26 Airwatch Llc Secondary device as key for authorizing access to resources
US8732853B1 (en) * 2013-03-22 2014-05-20 Dropbox, Inc. Web-based system providing sharable content item links with link sharer specified use restrictions
US9787686B2 (en) 2013-04-12 2017-10-10 Airwatch Llc On-demand security policy activation
US10754966B2 (en) 2013-04-13 2020-08-25 Airwatch Llc Time-based functionality restrictions
US8914013B2 (en) 2013-04-25 2014-12-16 Airwatch Llc Device management macros
US9123031B2 (en) 2013-04-26 2015-09-01 Airwatch Llc Attendance tracking via device presence
US9219741B2 (en) 2013-05-02 2015-12-22 Airwatch, Llc Time-based configuration policy toggling
US9246918B2 (en) 2013-05-10 2016-01-26 Airwatch Llc Secure application leveraging of web filter proxy services
US9058495B2 (en) 2013-05-16 2015-06-16 Airwatch Llc Rights management services integration with mobile device management
US9900261B2 (en) 2013-06-02 2018-02-20 Airwatch Llc Shared resource watermarking and management
US9584437B2 (en) 2013-06-02 2017-02-28 Airwatch Llc Resource watermarking and management
US20140358703A1 (en) 2013-06-04 2014-12-04 SkySocket, LLC Item Delivery Optimization
US9270777B2 (en) 2013-06-06 2016-02-23 Airwatch Llc Social media and data sharing controls for data security purposes
US8924608B2 (en) 2013-06-25 2014-12-30 Airwatch Llc Peripheral device management
US9535857B2 (en) 2013-06-25 2017-01-03 Airwatch Llc Autonomous device interaction
US8806217B2 (en) 2013-07-03 2014-08-12 Sky Socket, Llc Functionality watermarking and management
US8775815B2 (en) 2013-07-03 2014-07-08 Sky Socket, Llc Enterprise-specific functionality watermarking and management
US8756426B2 (en) 2013-07-03 2014-06-17 Sky Socket, Llc Functionality watermarking and management
US9226155B2 (en) 2013-07-25 2015-12-29 Airwatch Llc Data communications management
US9112749B2 (en) 2013-07-25 2015-08-18 Airwatch Llc Functionality management via application modification
US9665723B2 (en) 2013-08-15 2017-05-30 Airwatch, Llc Watermarking detection and management
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9516005B2 (en) 2013-08-20 2016-12-06 Airwatch Llc Individual-specific content management
KR102142143B1 (en) * 2013-08-20 2020-08-06 삼성전자주식회사 System, apparaus and method for sharing electronic device
US10129242B2 (en) 2013-09-16 2018-11-13 Airwatch Llc Multi-persona devices and management
US9185099B2 (en) 2013-09-23 2015-11-10 Airwatch Llc Securely authorizing access to remote resources
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
US9258301B2 (en) 2013-10-29 2016-02-09 Airwatch Llc Advanced authentication techniques
US9544306B2 (en) 2013-10-29 2017-01-10 Airwatch Llc Attempted security breach remediation
US9467453B2 (en) * 2014-02-19 2016-10-11 Qualcomm Incorporated Network access and control for mobile devices
US9621940B2 (en) 2014-05-29 2017-04-11 Time Warner Cable Enterprises Llc Apparatus and methods for recording, accessing, and delivering packetized content
US9584964B2 (en) 2014-12-22 2017-02-28 Airwatch Llc Enforcement of proximity based policies
US9413754B2 (en) 2014-12-23 2016-08-09 Airwatch Llc Authenticator device facilitating file security
US20160226816A1 (en) * 2015-02-02 2016-08-04 Go Daddy Operating Company, LLC Controls for resolving product and action domain names
US10116676B2 (en) 2015-02-13 2018-10-30 Time Warner Cable Enterprises Llc Apparatus and methods for data collection, analysis and service modification based on online activity
CN105100069B (en) * 2015-06-29 2018-12-25 北京奇虎科技有限公司 Proxy gateway server and its authorization method, game access system
US10404758B2 (en) 2016-02-26 2019-09-03 Time Warner Cable Enterprises Llc Apparatus and methods for centralized message exchange in a user premises device
US9917862B2 (en) 2016-04-14 2018-03-13 Airwatch Llc Integrated application scanning and mobile enterprise computing management system
US9916446B2 (en) 2016-04-14 2018-03-13 Airwatch Llc Anonymized application scanning for mobile devices
US10827019B2 (en) 2018-01-08 2020-11-03 All Purpose Networks, Inc. Publish-subscribe broker network overlay system
WO2019135830A1 (en) 2018-01-08 2019-07-11 All Purpose Networks, Inc. Internet of things system with efficient and secure communications network

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026511A1 (en) * 2000-04-28 2002-02-28 Garcia-Luna-Aceves Jj System and method for controlling access to content carried in a caching architecture
US20020091763A1 (en) * 2000-11-06 2002-07-11 Shah Lacky Vasant Client-side performance optimization system for streamed applications
US20040015596A1 (en) * 2002-07-19 2004-01-22 Commerce One Operations, Inc. Electronic commerce community networks and intra/inter community secure routing implementation
US20050068983A1 (en) * 2003-09-30 2005-03-31 Novell, Inc. Policy and attribute based access to a resource
US20050131901A1 (en) * 2003-12-15 2005-06-16 Richter John D. Managing electronic information
US6910064B1 (en) 2000-04-19 2005-06-21 Toshiba America Information Systems, Inc. System of delivering content on-line
US20050289145A1 (en) 2002-06-17 2005-12-29 Hans-Joerg Voegel Method and system for delivering content over a network
US6993508B1 (en) 2000-12-29 2006-01-31 Novell, Inc. Method and mechanism for vending digital content
US7010578B1 (en) 2000-09-21 2006-03-07 Akamai Technologies, Inc. Internet content delivery service with third party cache interface support
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
US20060064494A1 (en) 2003-06-25 2006-03-23 Mitsuhiro Fukui Content delivery system
US7054935B2 (en) 1998-02-10 2006-05-30 Savvis Communications Corporation Internet content delivery network
US20060156392A1 (en) * 2005-01-07 2006-07-13 Baugher Mark J System and method for localizing data and devices
US20070233957A1 (en) * 2006-03-28 2007-10-04 Etai Lev-Ran Method and apparatus for local access authorization of cached resources
US7818435B1 (en) * 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993587B1 (en) * 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
JP2003304523A (en) * 2002-02-08 2003-10-24 Ntt Docomo Inc Information delivery system, information delivery method, information delivery server, content delivery server, and terminal
US7793342B1 (en) * 2002-10-15 2010-09-07 Novell, Inc. Single sign-on with basic authentication for a transparent proxy
US10063523B2 (en) * 2005-09-14 2018-08-28 Oracle International Corporation Crafted identities
US7395428B2 (en) * 2003-07-01 2008-07-01 Microsoft Corporation Delegating certificate validation
CN101069402B (en) * 2004-10-26 2010-11-03 意大利电信股份公司 Method and system for transparently authenticating a mobile user to access web services
US20060190997A1 (en) * 2005-02-22 2006-08-24 Mahajani Amol V Method and system for transparent in-line protection of an electronic communications network
US8307406B1 (en) * 2005-12-28 2012-11-06 At&T Intellectual Property Ii, L.P. Database application security
US20070261100A1 (en) * 2006-05-05 2007-11-08 Greeson Robert L Platform independent distributed system and method that constructs a security management infrastructure
US8069476B2 (en) * 2006-06-01 2011-11-29 Novell, Inc. Identity validation

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054935B2 (en) 1998-02-10 2006-05-30 Savvis Communications Corporation Internet content delivery network
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
US6910064B1 (en) 2000-04-19 2005-06-21 Toshiba America Information Systems, Inc. System of delivering content on-line
US20020026511A1 (en) * 2000-04-28 2002-02-28 Garcia-Luna-Aceves Jj System and method for controlling access to content carried in a caching architecture
US7010578B1 (en) 2000-09-21 2006-03-07 Akamai Technologies, Inc. Internet content delivery service with third party cache interface support
US20020091763A1 (en) * 2000-11-06 2002-07-11 Shah Lacky Vasant Client-side performance optimization system for streamed applications
US7818435B1 (en) * 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
US6993508B1 (en) 2000-12-29 2006-01-31 Novell, Inc. Method and mechanism for vending digital content
US20050289145A1 (en) 2002-06-17 2005-12-29 Hans-Joerg Voegel Method and system for delivering content over a network
US20040015596A1 (en) * 2002-07-19 2004-01-22 Commerce One Operations, Inc. Electronic commerce community networks and intra/inter community secure routing implementation
US20060064494A1 (en) 2003-06-25 2006-03-23 Mitsuhiro Fukui Content delivery system
US20050068983A1 (en) * 2003-09-30 2005-03-31 Novell, Inc. Policy and attribute based access to a resource
US20050131901A1 (en) * 2003-12-15 2005-06-16 Richter John D. Managing electronic information
US20060156392A1 (en) * 2005-01-07 2006-07-13 Baugher Mark J System and method for localizing data and devices
US20070233957A1 (en) * 2006-03-28 2007-10-04 Etai Lev-Ran Method and apparatus for local access authorization of cached resources

Non-Patent Citations (15)

* Cited by examiner, † Cited by third party
Title
"Identity Federation: Concepts, Use Cases and Industry Standards", CA White Paper, http://www3.ca.com/Files/WhitePapers/identity-federation-white-paper.pdf,(Dec. 2005),1-25.
"Terminology & Glossary", The Workflow Management Coalition Specification, Doc. No. WFMC-TC-1011, Issue 3.0, (Feb. 1999), 1-65.
"Universal Federation Architecture: eTrust SiteMinder and eTrust TransactionMinder Solutions", CA White Paper, http://www3.ca.com/Files/WhitePapers/universal-federation-arch-wp.pdf,(Apr. 2006),1-23.
"Workflow Security Considerations-White Paper", The Workflow Management Coalition Specification, Doc. No. WFMC-TC-1019, Issue 1.0. (Feb. 1998), 1-15.
"Workflow Standard-Interoperability Abstract Specification", The Workflow Management Coalition Specification, Doc. No. WFMC-TC-1012, (Nov. 30, 1999), 1-44.
Au, Richard, et al., "Automated Cross-organisational Trust Establishment on Extranets", Information Technology for Virtual Enterprises, (Jan. 29, 2001), 3-11.
European Search Report for Application No. EP 06 11 0238, 14 Pages.
Hollingsworth, D., "Workflow Management Coalition, The Workflow Reference Model", Document No. TC00-1003, (Jan. 19, 1995), pp. 1-55.
http://www.ca.com/us/~/media/files/solutionbriefs/ca-cmdb-solution-brief.aspx "CA CMDB"-May 2006 www.ca.com. *
http://www.ca.com/us/˜/media/files/solutionbriefs/ca—cmdb—solution—brief.aspx "CA CMDB"—May 2006 www.ca.com. *
https://www.oasis-open.org/committees/download.php/12958/SAMLV2.0-basics.pdf "SAML V2.0 Basics"-Eve Maler Sun Microsystems, May 2005. *
Kaijser, Per, et al., "SESAME: The solution to security for open distributed systems", III: Security Applications, Butterworth-Heinemann Ltd. computer communications, vol. 17, No. 7, (Jul. 1994), 501-518.
Lopez, J., et al., "Authentication and authorization infrastructures (AAI's): a comparative survey", Computers & Security, vol. 23, No. 7, (Oct. 2004), 578-590.
Neuman, Clifford, et al., "Kerberos: An Authentication Service for Computer Networks", IEEE Communication Magazine 32, No. 9, (Sep. 1994), 6 Pages.
Schulz, Karsten A., et al., "Facilitating cross-organisational workflows with a workflow view approach", Data & Knowledge Engineering, vol. 51, (2004), 109-147.

Also Published As

Publication number Publication date
US10389755B2 (en) 2019-08-20
US20070288637A1 (en) 2007-12-13
US20140338003A1 (en) 2014-11-13
US9208342B2 (en) 2015-12-08
US20160191569A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
US10389755B2 (en) Distributed secure content delivery
US10104069B2 (en) Request-specific authentication for accessing web service resources
CN107172054B (en) Authority authentication method, device and system based on CAS
US8904549B2 (en) Server system, control method, and storage medium for securely executing access to data of a tenant
US8069476B2 (en) Identity validation
US7845003B2 (en) Techniques for variable security access information
US8327434B2 (en) System and method for implementing a proxy authentication server to provide authentication for resources not located behind the proxy authentication server
US7444414B2 (en) Secure resource access in a distributed environment
US8327426B2 (en) Single sign on with proxy services
US8347403B2 (en) Single point authentication for web service policy definition
US7865931B1 (en) Universal authorization and access control security measure for applications
US8938789B2 (en) Information processing system, method for controlling information processing system, and storage medium
US20060031683A1 (en) Single sign-on with common access card
US8250633B2 (en) Techniques for flexible resource authentication
US7559087B2 (en) Token generation method and apparatus
US20090049183A1 (en) Method of Client-Side Form Authentication
US20080320574A1 (en) System, method and program for authentication and access control
US8490198B2 (en) Techniques for local personalization of content
US20080289049A1 (en) Techniques for personalizing content
US9009799B2 (en) Secure access
US20200076793A1 (en) Management device, management system, and non-transitory computer readable medium
US9027107B2 (en) Information processing system, control method thereof, and storage medium thereof
US20030055966A1 (en) Information processing system
US8533783B1 (en) Method and system for enabling automatic access to an online account
JP7396205B2 (en) Medical information storage program and medical information storage management device

Legal Events

Date Code Title Description
AS Assignment

Owner name: NOVELL, INC., UTAH

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LAYTON, ERIC CHRISTOPHER;HALLETT, LUKE TERRY;MAYNARD, THOMAS DEAN;AND OTHERS;REEL/FRAME:017987/0585

Effective date: 20060607

AS Assignment

Owner name: CREDIT SUISSE AG, AS COLLATERAL AGENT, NEW YORK

Free format text: GRANT OF PATENT SECURITY INTEREST FIRST LIEN;ASSIGNOR:NOVELL, INC.;REEL/FRAME:028252/0216

Effective date: 20120522

Owner name: CREDIT SUISSE AG, AS COLLATERAL AGENT, NEW YORK

Free format text: GRANT OF PATENT SECURITY INTEREST SECOND LIEN;ASSIGNOR:NOVELL, INC.;REEL/FRAME:028252/0316

Effective date: 20120522

AS Assignment

Owner name: CPTN HOLDINGS LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOVELL, INC.;REEL/FRAME:028841/0047

Effective date: 20110427

AS Assignment

Owner name: APPLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CPTN HOLDINGS LLC;REEL/FRAME:028856/0230

Effective date: 20120614

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: NOVELL, INC., UTAH

Free format text: RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316;ASSIGNOR:CREDIT SUISSE AG;REEL/FRAME:034469/0057

Effective date: 20141120

Owner name: NOVELL, INC., UTAH

Free format text: RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216;ASSIGNOR:CREDIT SUISSE AG;REEL/FRAME:034470/0680

Effective date: 20141120

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8