US20140337934A1 - System and methods for access control based on a user identity - Google Patents
System and methods for access control based on a user identity Download PDFInfo
- Publication number
- US20140337934A1 US20140337934A1 US14/341,480 US201414341480A US2014337934A1 US 20140337934 A1 US20140337934 A1 US 20140337934A1 US 201414341480 A US201414341480 A US 201414341480A US 2014337934 A1 US2014337934 A1 US 2014337934A1
- Authority
- US
- United States
- Prior art keywords
- user
- identity
- action
- security console
- control point
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000009471 action Effects 0.000 claims abstract description 46
- 238000013475 authorization Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 238000012790 confirmation Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L2012/2847—Home automation networks characterised by the type of home appliance used
- H04L2012/2849—Audio/video appliances
Definitions
- UPF Universal Plug and Play
- PCs personal computers
- DLNA Digital Living Network Alliance
- UPnP is a fundamental building block of the DLNA specification, which may be currently considered a de facto standard for home network interoperability.
- a device contains services.
- a control point is able to discover devices, and is able to control the services offered by the devices (e.g., by using Remote Procedure Call within Simple Object Access Protocol).
- a service among other capabilities, is able to receive action requests from a control point, and perform the requested actions.
- a control point is able to invoke actions associated with the devices.
- a UPnP-compliant videocassette recorder (VCR) device may host a VCR service, and the VCR service may be associated with actions such as play, stop, pause, rewind and fast-forward.
- VCR videocassette recorder
- a network may include a third type of UPnP component, a security console, that is both a device and a control point.
- a security console can be used to set up ACLs in devices. In order to set up security in a UPnP network, all control points and devices must be made known to the security console.
- a security console acts as a control point to discover devices in a network, and acts as a device (e.g., by exposing a special security console service) in order to be discoverable by control points.
- the security console can take ownership of devices, and then create an Access Control List (ACL) for the device, in which restricted access is explicitly given to control points.
- ACL Access Control List
- ACL is used within a device to control access rights to services or to actions, and thus to control what actions may be invoked by a control point.
- each of the entries in the device's ACL identifies what a subject (e.g., a uniquely identified control point, or a specified group of control points) is allowed to do on the device, and whether the CP or group of CPs can further delegate those rights to other CPs.
- Delegation is the act by which a CP is able to grant a right that it has to another CP.
- a variety of delegation capabilities are available in conventional UPnP devices via the use of authorization certificates.
- FIG. 1A illustrates a block diagram of an exemplary UPnP network, according to an embodiment.
- FIG. 1B illustrates a block diagram of an access control list, according to an embodiment.
- FIG. 2 is an exemplary data flow diagram that illustrates a registration process, according to an embodiment.
- FIG. 3 is an exemplary flow diagram that illustrates a method for registration, according to an embodiment.
- FIG. 4 is an exemplary flow diagram that illustrates a method for access control, according to an embodiment.
- FIG. 5 is an exemplary data flow diagram that illustrates trusted-to-identify access control list management, according to an embodiment.
- FIG. 6 is an exemplary flow diagram that illustrates a method for trusted-to-identify access control list management, according to an embodiment.
- FIG. 7 is an exemplary flow diagram that illustrates delegation, according to an embodiment.
- FIG. 8 is an exemplary data flow diagram that illustrates trusted-to-identify access control list management using delegation, according to a further embodiment.
- Personal devices such as mobile phones, can act as control points in a UPnP network. Such devices are increasingly equipped with hardware and software features for reliably verifying a user's identity. Examples of such features may include biometric authentication (e.g., fingerprint identification, voice verification, retinal scanning, and the like), and other trusted authentication techniques. Biometric authentication in personal devices may be viewed as particularly trustworthy, in the context of identity management.
- biometric authentication e.g., fingerprint identification, voice verification, retinal scanning, and the like
- Biometric authentication in personal devices may be viewed as particularly trustworthy, in the context of identity management.
- Access control based on user-device asserted identity in a UPnP network raises issues of trust: that is, whether a UPnP control point is trusted to: (a) authenticate a user with fidelity, and to (b) communicate the credentials of the user to the UPnP device that is the provider of services to the user. If so, the credentials can be used for access control by the UPnP device that is the provider of services to the user.
- a control point includes an attribute called Identity Assertion Capable (IDC).
- IDC Identity Assertion Capable
- the IDC attribute indicates whether the control point is capable of authenticating the user.
- a device used to control access to services includes, in addition to the conventional ACL, a Trusted to Identify ACL (TIA) feature. The TIA can be used to indicate whether a particular control point is trusted by the device to make assertions regarding the user's identity.
- TIA Trusted to Identify ACL
- UPnP network 100 is shown, according to an embodiment. It should be understood that the following description of UPnP network 100 is but one of a variety of different manners in which such a UPnP network 100 may be configured and operated. In addition, it should be understood that the UPnP network 100 may include additional components and that some of the components described may be removed and/or modified without departing from a scope of the UPnP network 100 .
- control points e.g., exemplary control point 130
- devices e.g., exemplary device 120
- security console e.g., exemplary security console 140
- a control point 130 is referred to as “security-aware” if it supports at least conventional UPnP ACL-based security.
- control point 130 is associated with an attribute, Identity Assertion Capable (IDC) 135 , which may in some embodiments be implemented as a bit having a binary value, and in other embodiments may have non-binary values (e.g., the IDC 135 may be implemented as an integer, enumerated value, bitmapped value, and the like).
- IDC Identity Assertion Capable
- the control point 130 may declare that the value of IDC 135 for the control point 130 is either “true” or “false.” If control point 130 makes no declaration, it can be assumed that the value is “false” for that control point 130 .
- the device 120 when a user attempts to access a device 120 using a control point 130 , the device 120 is able to know whether or not the control point 130 is capable of identifying the user. Allowing the default value of the IDC 135 to be “false” allows backward compatibility with the conventional UPnP security specification.
- IDC 135 If the IDC 135 is “false” for a control point 130 , then access control at the device 120 reverts to being based on the control point 130 , and not on the user. In further embodiments, IDC 135 may be permitted to have additional non-binary values (e.g., integer, bitmapped, or enumerated values) for providing additional information concerning capabilities of the control point 130 .
- additional non-binary values e.g., integer, bitmapped, or enumerated values
- Device 120 exposes services (e.g., services 125 A through 125 N, collectively services 125 ), each of which comprises actions. Actions are specified by the individual services 125 .
- the UPnP specifications define a conventional set of pre-specified services 125 and corresponding actions for many typical applications (such as printing, lighting control, etc.).
- access control is enforced on control points or users, and their permitted actions.
- the exemplary security-aware device 120 includes an ownership list 123 , and generally includes an access control list (ACL) 121 , and zero or more certificates 124 . Entries in the ownership list 123 can be used to grant an owner (e.g., security console 140 ) full access to all actions of the services 125 of the device 120 .
- ACL access control list
- device 120 also includes a Trusted to Identify ACL (TIA) 122 , which in some embodiments may be an additional access control list, or which in further embodiments may be implemented as part of ACL 121 (e.g., as a feature of ACL 121 or an extension or enhancement to ACL 121 ).
- TIA Trusted to Identify ACL
- the security-aware device 120 can include an ACL 121 to enforce access control on control points (e.g., control point 130 ) that attempt to invoke actions on the device 120 .
- Entries in the ACL 121 can be used to grant symbolic permissions to one or more control points (e.g., permissions having more granular access rights, in comparison to the full access granted to an owner). These symbolic permissions grant access to one or more actions of the services 125 exposed by the device 120 .
- a DeviceSecurity service 125 A is among the services 125 exposed by the device 120 .
- the DeviceSecurity service 125 A exports actions (such as conventional readACL and writeACL actions) that an exemplary security console 140 can use, for example, to modify or edit the ACL 121 . Only a security console 140 that has ownership of the device 120 (i.e., a security console 140 listed in the ownership list 123 of device 120 ) may edit the ACL 121 of the device 120 .
- the ACL 121 comprises zero or more entries 181 A, 181 B . . . 181 N (collectively, entries 181 ), illustratively depicted as horizontal rows in an exemplary table.
- entries 181 Each entry 181 in ACL 121 conventionally has at least the following fields, illustratively depicted as columns in an exemplary table: subject 182 , action 183 , validity 184 , and a do-not-delegate flag 185 .
- Each entry 181 in the ACL 121 indicates that the subject 182 of the entry 181 is permitted to invoke a specified action 183 on the device 120 , the permission being optionally limited to a validity 184 period, and optionally delegable based on do-not-delegate flag 185 .
- the subject 182 field identifies either the identity of a control point 130 , or the name of a group of control points.
- the action 183 field identifies some action associated with a service 125 hosted by the device 120 , or the pre-defined action “all.”
- Validity 184 is optional and may, for example, contain a not-valid-before field and/or a not-valid-after field.
- the do-not-delegate flag 185 is also optional, and indicates whether the privilege granted to the subject by the entry in the ACL 121 may be delegated to other subjects.
- device 120 includes zero or more certificates. These may include zero or more name definition certificates (not shown), and zero or more authentication certificates 124 .
- a name definition certificate can be used to define the members of a group that is associated with a name that can be used as the subject of an entry 181 in ACL 121 .
- a name definition certificate that defines a group specifies the name associated with the group, the members of the group, and the issuer (e.g., security console 140 ) of the name definition certificate. Groups may be nested; i.e., the members of a group may include other groups. Each issuer has its own namespace for group names.
- An authorization certificate 124 that delegates a privilege looks very similar to an ACL 121 , but also includes an issuer and a device field, both of which apply globally to the whole authorization certificate 124 (i.e., issuer and device fields are not additional fields of an entry 181 ).
- the issuer may be a control point 130 or a security console 140 that issued the authorization certificate 124 .
- the device field identifies the device (e.g., device 120 ) for which the authorization certificate 124 applies.
- Security console 140 can be used for security administration.
- Security console 140 can act as either or both a device 141 and a control point 143 .
- the security console 140 exposes a security console service 142 (e.g., an improved SecurityConsole service according to an embodiment of the present invention).
- a security-aware control point 130 interacts with the security console 140 via the security console service 142 .
- a user can register a security-aware control point 130 with a security console 140 and give the control point 130 an identity; later, this identity can be used to administer the control point 130 .
- a security console 140 acting as a control point 143 itself, can administer any device 120 that exposes the DeviceSecurity service 125 A. This can be used, for example, to take ownership of a device 120 .
- the security console 140 can also be used to grant and revoke ownership of devices (such as device 120 ) to other security consoles (not shown).
- a device 120 may perform access control directly on users.
- an entry 181 in ACL 121 can have a user as its subject 182
- an authorization certificate 124 can have a user as its subject 182 .
- the embodiments extend the access control capabilities conventionally specified in UPnP by allowing a subject 182 in an ACL 121 or in an authorization certificate 124 to be the identity of a user.
- FIG. 2 a data flow diagram of an illustrative registration process is shown for an embodiment.
- the process establishes the identity 260 of user 210 at a control point 230 .
- a device e.g., device 120 shown in FIG. 1
- his or her identity 260 is communicated by the control point 230 to the device 120 for access control.
- a given identity 260 for user 210 may be unique to a control point 230 , or may be shared by several control points (for example, all of the control points in a UPnP network 100 ).
- the registration process to establish an identity 260 for user 210 involves a UPnP security console (SC) 240 .
- SC UPnP security console
- the user 210 performs an initiation 201 , e.g., initiating registration by contacting a security console 240 ; in an illustrative example, the user 200 may push a button on SC 240 .
- the user 210 then performs an identification 202 .
- the user 210 specifies with which control point 230 he or she intends to register, such as by pushing a button on the control point 230 .
- the control point 230 identifies the user 210 .
- the control point 230 performs a first communication 203 , e.g., by communicating identity (ID) data 250 , based on its identification of user 210 , to the security console 240 .
- ID identity
- the security console 240 computes an identity 260 for the user that the control point 230 can use, and performs a second communication 204 to communicate the identity 260 back to the control point 230 .
- the identity 260 communicated from the security console 240 may be from a database maintained by security console 240 , which could be the case when the user 210 has the same identity 260 across multiple points in the UPnP network 100 .
- the security console 240 simply computes a unique identity 260 for the user 210 , communicates this identity 260 to the control point 230 and does not necessarily store the identity 260 (e.g., in the case that the user 210 has a different identity 260 at each control point).
- control point 230 sends identity (ID) data 250 to the security console 240 , and the security console 240 accepts the identity data 250 as the user identity 260 .
- ID identity
- the control point 230 can perform an assertion 205 , such as by identifying itself 230 and identifying the user 210 (e.g., communicating the identity 260 ) to device 120 .
- the device 120 now determines whether it can trust the assertion about the identity 260 of user 210 made by the control point 230 .
- a device 120 in an embodiment uses TIA 122 .
- the TIA 122 includes a list of identities of trusted control points (e.g., an identity of a control point 230 may be stored as a hash of a public key uniquely associated with the control point 230 , as conventionally specified in UPnP). If a control point 230 is in the TIA 121 of a device 120 , then this means that the control point 230 is trusted by the device 120 to make an assertion concerning identity 260 .
- identities of trusted control points e.g., an identity of a control point 230 may be stored as a hash of a public key uniquely associated with the control point 230 , as conventionally specified in UPnP.
- the device 120 first checks whether the identity of control point 230 is in TIA 121 . If not, access is not granted to the user 210 . If the identity of control point 230 is in TIA 121 , the device 120 checks whether the user 210 is allowed access (based, e.g., on ACL 121 , or authorization certificate 124 ). In addition, a further embodiment optionally provides that the device 120 checks whether the control point 230 is authorized for the action being invoked by checking the identity of the control point 230 in the conventional way specified in UPnP.
- FIG. 3 an illustrative method 300 for registration is shown for an embodiment.
- the registration method 300 establishes the identity 260 of user 210 at a control point 230 , e.g., in the manner discussed above with reference to FIG. 2 .
- an initiating step 301 is performed, e.g., in a security console 240 , by the user 210 , who may initiate registration by contacting the security console 240 .
- the user 210 may push a button on SC 240 .
- an identify step 302 is performed, e.g., as shown in step 202 in FIG. 2 .
- the user 210 may specify with which control point 230 he or she intends to register, such as by pushing a button on the control point 230 or otherwise proceeding with identification as determined by the control point 230 , which identifies the user 210 .
- the user 210 may undergo biometric verification by the control point 230 ; e.g., the control point 230 verifies a fingerprint of the user 210 to reliably identify the user 210 .
- the user 210 may provide a PIN or password to the control point 230 to reliably identify the user 210 .
- the user 210 may provide a token (e.g., a smart card) to the control point 230 to reliably identify the user 210 .
- the control point 230 can obtain, look up, or derive ID data 250 based upon the reliable identification of the user 210 .
- ID data 250 comprises an alias of the user 210 .
- ID data 250 is communicated; e.g., the control point 230 communicates ID data 250 , based on its identification of user 210 , to the security console 240 .
- an identity 260 is determined for the user 210 ; e.g., the security console 240 computes an identity 260 that the control point 230 can use. Alternately, the security console 240 accepts ID data 250 as the identity 260 .
- the identity 260 is communicated. For example, the identity 260 may be communicated by the security console 240 back to the control point 230 , and may then be communicated by the control point 230 to a device 120 .
- an illustrative method 400 for access control is shown for an embodiment.
- the access control method 400 can be performed, for example, in a device 120 .
- a user identity 260 for a user 210 is received from a control point 230 that has an identity assertion capability, e.g., IDC 135 set to “true”.
- the device 120 determines whether the control point 230 is trusted to assert the user identity 260 .
- step 403 if the control point 230 is trusted, permission is granted to the user 210 to perform an action 183 , based upon the user identity 260 and a matching entry in subject 182 of the ACL 121 or authorization certificate 124 .
- security-aware UPnP devices 520 , 520 A each include a TIA 522 .
- Entries in a TIA 522 include the identity of a trusted control point, such as control point (CP) 530 .
- CP control point
- an identity of a control point 530 may be stored as a hash of a public key uniquely associated with the control point 530 , as conventionally specified in UPnP. If the identity of CP 530 is in the TIA 522 of a device 520 , then this means that the CP 530 is trusted by the device 520 to make user identity assertions (i.e., to assert a user identity 260 ).
- a security console 540 and the devices 520 , 520 A each include a TIA management module 550 , 550 A.
- TIA management modules 550 , 550 A are able to manage adding and removing entries in the TIA 522 .
- TIA management modules 550 , 550 A may, for example, be implemented as services 125 .
- TIA management modules 550 , 550 A may comprise or be included in one or more software applications running on security console 540 or device 520 .
- an administrative user 510 e.g., a person who is a trusted administrator
- TIA management messages can be passed between the TIA management module 550 of a security console (SC) 540 and the TIA management module 550 A of a device 520 , for managing the TIA 522 of the device 520 .
- SC security console
- the TIA management messages are analogous to the conventional UPnP messages that are used to manage ACL 121 .
- TIA management messages include messages such as a ReadTIA message for reading TIA 522 , a WriteTIA message for writing TIA 522 , an AddTIAEntry message for adding an entry to TIA 522 , a DeleteTIAEntry message for deleting an entry from TIA 522 , and a ReplaceTlAEntry message for replacing an entry in TIA 522 .
- the SC 540 should be an owner of the device 520 (e.g., should be recognized as an owner in an ownership list 123 , not shown, of the device 520 ).
- a user 210 can directly interact with a TIA management module 550 in a security console 540 that owns the device 520 .
- the user 210 can indirectly initiate addition of an entry in TIA 522 , triggered by the user 210 operating a control point 530 to use a device 520 in whose TIA 522 the identity of the control point 530 does not appear.
- an embodiment of the TIA management module 550 provides an option for the user 210 to directly edit the TIA 522 of device 520 .
- the user 210 operates control point 530 , and desires to manipulate an entry in the TIA 522 of device 120 ; specifically, the entry corresponding to the control point 530 .
- the user 210 needs to know the identity of the control point 530 . In an illustrative example, this can be achieved by having control point 530 send (or cause to be sent) a PresentKey message to the security console 540 ; the user 210 then is simply able to refer to control point 530 by a name previously chosen in the SC 540 for the control point 530 .
- the user 210 operates control point 530 , and desires to manipulate an entry in the TIA 522 of device 120 ; specifically, the entry corresponding to a second control point 130 (not shown).
- the user 210 needs to know the identity of the control point 130 . In an illustrative example, this can be achieved by having control point 530 cause control point 130 to send a PresentKey message to the security console 540 ; the user 210 then is simply able to refer to control point 130 by a name previously chosen in the SC 540 for the control point 130 .
- the user 210 can indirectly initiate addition of an entry in TIA 522 , triggered by the user 210 operating a control point 530 to use a device 520 in whose TIA 522 the identity of the control point 530 does not appear.
- Such an exemplary automatic process of adding entries to TIA 522 is referred to herein as an automatic TIA join sequence. It is anticipated that this automatic approach may be the more commonly used method for TIA management in UPnP.
- an embodiment of the TIA management module 550 can include the following exemplary capabilities:
- TIA management module 550 is able to receive requests from a control point 530 to be added to the TIA 522 of a device 520 .
- An embodiment of such a request contains information such as the identity of control point 530 and the identity of device 520 .
- TIA management module 550 is able to verify whether or not the security console 540 with which the module 550 is associated is indeed an owner of the device 120 .
- TIA management module 550 includes an automatic decision value 535 (e.g., an automatic decision bit having a binary true/false value, or in further embodiments, a field having an integer, bitmapped, or enumerated value).
- the automatic decision value 535 is associated with a policy for determining whether the SC 540 can make a decision on a join (or “redirect”) request without online consultation with the administrative user 510 .
- This automatic decision value 535 and associated policies can, for example, be set offline by the administrative user 510 .
- TIA management module 550 is able to verify that confirmation of the identity 260 of user 210 has occurred offline, or is needed online.
- TIA management module 550 is able to communicate with its counterpart in a device 520 (e.g., TIA management module 550 A in device 520 ), to have an entry in TIA 522 added to reflect the trusted-to-identify status of a control point (e.g., control point 530 ).
- TIA management module 550 is able to push the new entry in TIA 522 to other devices (e.g., device 520 A) that are owned by the security console 540 . That is, given that the control point 530 is now trusted to make assertions of identity 260 , the security console 540 can optionally add control point 530 to the TIAs 522 of other devices such as 520 A.
- an embodiment of the TIA management module 550 A can include the following exemplary capabilities:
- TIA management module 550 A is able to check whether a TIA entry exists in the device's TIA. Such a check is depicted by arrow 503 .
- TIA management module 550 A includes a trigger value 536 (e.g., a trigger bit having a binary true/false value, or in further embodiments, a field having an integer, bitmapped, or enumerated value) that determines whether the module 550 A should send a join suggestion (which may in some embodiments comprise a “redirect” message, e.g., redirecting the access request) to the control point 530 , suggesting that control point 530 contact the security console 540 to be added to the TIA 522 of device 120 .
- a trigger value 536 e.g., a trigger bit having a binary true/false value, or in further embodiments, a field having an integer, bitmapped, or enumerated value
- TIA management module 550 A is able to send join suggestions (which may in some embodiments comprise a “redirect” message, e.g., redirecting the access request) to the control point 530 via the device 120 .
- join suggestions which may in some embodiments comprise a “redirect” message, e.g., redirecting the access request
- join suggestions may in some embodiments comprise a “redirect” message, e.g., redirecting the access request
- TIA management module 550 A is able to receive requests for the identity of control point 530 to be added to the TIA 522 of device 120 . Such a request is depicted by arrow 502 .
- steps 501 - 508 indicate an exemplary chronological sequence; however, not all of the illustrated steps are necessary, and not all steps need be performed online.
- confirmation step 506 may be done offline using the automatic decision value 535 and an associated policy.
- control point 530 In the exemplary automatic TIA join sequence, at step 501 , the user 210 accesses the control point 530 to identify himself or herself.
- Control point 530 obtains, or has previously obtained, an identity 260 corresponding to user 210 .
- Control point 530 may include a Identity Assertion Capable (IDC) 135 attribute, as discussed above, indicating that control point 530 is capable of verifying identity in a trustworthy fashion. From the perspective of user 210 , it is desirable that CP 530 should be recognized by device 520 as trusted-to-identify, and therefore that CP 530 should appear in the TIA 522 of device 520 .
- IDC Identity Assertion Capable
- the control point 530 communicates an access request to device 520 , including the identity 260 of the user 210 , as well as the identity of the control point 530 .
- the TIA management module 550 A of device 520 checks the TIA 522 , to determine whether the identity of the control point 530 is included in TIA 522 .
- a “redirect” may take place, depending upon the value of trigger value 536 .
- the TIA management module 550 A of device 530 checks the trigger value 536 , and if the trigger value 536 indicates that a “redirect” is desired, TIA management module 550 A sends a responsive message back to control point 530 , containing an identification of a security console 540 that owns the device 520 .
- the responsive message comprises a join suggestion (which may in some embodiments comprise a redirection of the access request). Otherwise, the TIA management module 550 A may simply proceed to grant or deny the requested permission on device 520 for user 210 .
- the control point 530 sends a join request (which in some embodiments may comprise a further “redirect” message or redirection of the access request) to the TIA management module 550 of security console 540 .
- the illustrative join request includes the identity of the control point 530 , and may include the identity 260 of the user 210 , the identity of the device 520 , and/or the identity of the owner (i.e., the identity of security console 540 ).
- the security console 540 verifies whether security console 540 is indeed an owner of device 520 .
- the TIA management module 550 of the security console 540 may require confirmation (e.g., online consultation) from administrative user 510 , or in further embodiments, may recognize whether such confirmation is unnecessary (e.g., the confirmation or lack thereof having been predetermined by administrative user 510 ).
- the TIA management module 550 of the security console 540 can send a TIA management message such as AddTIAEntry to counterpart TIA management module 550 A in device 520 , requesting that the identity of control point 530 be added to TIA 522 as a new entry, indicating that control point 530 is trusted to identify users.
- a TIA management message such as AddTIAEntry
- the TIA management module 550 can also push the new entry in TIA 522 to other devices (e.g., device 520 A) that are owned by the security console 540 .
- FIG. 6 illustrates an exemplary method 600 for an automatic TIA join sequence, according to an embodiment.
- steps 501 - 508 indicate an exemplary chronological sequence; however, not all of the illustrated steps are necessary, and not all steps need be performed online.
- the automatic TIA join sequence of method 600 is simply part of a determination by device 520 of whether to grant access to the current request or not.
- the device 520 grants access to the user 210 for the current access request, e.g., based on whether the identity 260 of the user 210 appears as a subject 182 in an access control list 121 associated with device 520 indicating that user 210 has permission for such access.
- steps 501 and 502 proceed as discussed above with respect to FIG. 5 .
- the TIA management module 550 A of device 520 checks the TIA 522 , to determine whether the identity of the control point 530 is already included in TIA 522 , and if so, the method 600 proceeds to step 609 , where permission is granted or denied to user 210 , e.g., based on whether the identity 260 of the user 210 appears as a subject 182 in an access control list 121 associated with device 520 . If the identity of the control point 530 is not included in TIA 522 , the method 600 proceeds to step 504 .
- Steps 504 and 505 proceed as discussed above with respect to FIG. 5 .
- the TIA management module 550 of the security console 540 may require confirmation (e.g., online consultation) from administrative user 510 , or in further embodiments, may recognize whether such confirmation is unnecessary (e.g., the confirmation or lack thereof having been predetermined by administrative user 510 ). If the confirmation indicates that the TIA 522 should not be updated, the method 600 proceeds to step 609 , where permission is granted or denied to user 210 , e.g., based on whether the identity 260 of the user 210 appears as a subject 182 in an access control list 121 associated with device 520 . If the confirmation indicates that the TIA 522 should be updated, the method 600 proceeds to step 507 .
- Steps 507 and 508 proceed as discussed above with respect to FIG. 5 .
- permission is granted or denied to user 210 , e.g., based on whether the identity 260 of the user 210 appears as a subject 182 in an access control list 121 associated with device 520 .
- FIG. 7 a data flow diagram of delegation is shown for an embodiment.
- the conventional UPnP security specification allows for delegation of access by one control point to another.
- conventional delegation is effected by the issuance of what is called an authorization certificate 124 , which identifies the delegator, the delegatee, the device and nature of access, and an optional validity time-frame.
- a security console can be given “direct” access to a device, which is done in one of two ways: the SC may be made an owner of the device, thereby giving it unfettered access; or, the SC is added to the device's ACL for particular kinds of access.
- aspects of the present invention include embodiments that extend the delegation mechanism to incorporate TIAs, providing usability benefits with delegation within the TIA framework.
- an authorization certificate 124 can comprise a TIA delegation certificate 724 .
- the TIA delegation certificate 724 enables a first CP 143 to delegate to a second CP 130 the trust a device 120 has in the first CP 143 to make identity assertions.
- a security console 140 comprises the first CP 143 .
- security console 140 is always trusted to make identity assertions for a device 120 that is owned by the security console 140 , by virtue of such ownership. The security console 140 can delegate that trust to a second CP 130 .
- security console 140 includes CP 143 , and the identity of CP 143 appears in the TIA 122 of device 120 ; therefore, security console 140 is trusted to make identity assertions for a device 120 that is owned by the security console 140 .
- the security console 140 can delegate that trust to a second CP 130 .
- a TIA delegation certificate 724 like a conventional authorization certificate 124 , includes an issuer field and a device field; thus, the TIA delegation certificate 724 can be used by the control point 130 to which it has been issued, in order to certify to the device 120 that the issuer (e.g., security console 140 ) has delegated trust to control point 130 .
- the issuer e.g., security console 140
- devices 721 , 722 , 723 each have a TIA 122 and an ACL 121 .
- Device 721 is owned by security console 741 , or in a further embodiment, has granted access rights to security console 741 in the ACL 121 of device 721 .
- Device 722 also is owned by security console 741 , or in a further embodiment, has granted access rights to security console 741 in the ACL 121 of device 722 .
- Device 723 is owned by security console 742 , or in a further embodiment, has granted access rights to security console 742 in the ACL 121 of device 723 .
- there is an entry in TIA 122 indicating that security console 742 is a trusted control point.
- Security console 741 using a conventional authorization certificate 124 , grants access delegation rights to CP 731 .
- Security console 741 using a first authorization certificate 124 A of an embodiment of the present invention, grants access delegation rights to user 711 , by including the identity 260 of user 711 as a subject 182 .
- Security console 742 using a conventional authorization certificate 124 , grants access delegation rights to CP 732 .
- Security console 742 using a first TIA delegation certificate 724 , grants TIA delegation rights to CP 733 .
- Security console 742 using a second authorization certificate 124 A of an embodiment of the present invention, grants access delegation rights to user 712 , by including the identity 260 of user 712 as a subject 182 .
- Security console 742 using a second TIA delegation certificate 724 , grants TIA delegation rights to CP 734 .
- FIG. 8 is an exemplary data flow diagram that illustrates trusted-to-identify access control list management using delegation, according to a further embodiment.
- the automatic TIA join sequence is different from that of FIG. 5 , because the SC 540 includes an automatic decision value 535 , associated with a corresponding policy, that causes TIA management module 550 to issue a delegation certificate 724 (not shown).
- Steps 501 through 506 proceed as described with regard to FIG. 5 .
- the TIA management module 550 of SC 540 issues the delegation certificate 724 (not shown) to control point 530 .
- control point 530 reissues the access request to device 520 , this time using the delegation certificate 724 .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 12/107,134, filed Apr. 22, 2008, which is hereby incorporated by reference herein in its entirety.
- Universal Plug and Play (UPnP) is an industry effort to evolve technology for easy setup and easy establishment of connectivity of home and enterprise computer equipment. The UPnP standard enables devices such as personal computers (PCs), computer peripherals, routers, printers, storage devices, set-top boxes, televisions, and mobile phones to automatically discover each other, connect, and interoperate seamlessly. UPnP is also one of the enabling technologies for the Digital Living Network Alliance (DLNA), which endeavors to enable the digital convergence of devices in home and enterprise networks. UPnP is a fundamental building block of the DLNA specification, which may be currently considered a de facto standard for home network interoperability.
- In UPnP, components are conventionally categorized as devices or control points (CPs). A device contains services. A control point is able to discover devices, and is able to control the services offered by the devices (e.g., by using Remote Procedure Call within Simple Object Access Protocol). A service, among other capabilities, is able to receive action requests from a control point, and perform the requested actions. Thus, a control point is able to invoke actions associated with the devices. In an illustrative example, a UPnP-compliant videocassette recorder (VCR) device may host a VCR service, and the VCR service may be associated with actions such as play, stop, pause, rewind and fast-forward.
- In a conventional UPnP security specification, a network may include a third type of UPnP component, a security console, that is both a device and a control point. A security console can be used to set up ACLs in devices. In order to set up security in a UPnP network, all control points and devices must be made known to the security console. A security console acts as a control point to discover devices in a network, and acts as a device (e.g., by exposing a special security console service) in order to be discoverable by control points. The security console can take ownership of devices, and then create an Access Control List (ACL) for the device, in which restricted access is explicitly given to control points.
- Conventional UPnP devices are able to enforce access control based on the use of ACLs. An ACL is used within a device to control access rights to services or to actions, and thus to control what actions may be invoked by a control point. For a particular device, each of the entries in the device's ACL identifies what a subject (e.g., a uniquely identified control point, or a specified group of control points) is allowed to do on the device, and whether the CP or group of CPs can further delegate those rights to other CPs. Delegation is the act by which a CP is able to grant a right that it has to another CP. A variety of delegation capabilities are available in conventional UPnP devices via the use of authorization certificates.
- Embodiments are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, in which:
-
FIG. 1A illustrates a block diagram of an exemplary UPnP network, according to an embodiment. -
FIG. 1B illustrates a block diagram of an access control list, according to an embodiment. -
FIG. 2 is an exemplary data flow diagram that illustrates a registration process, according to an embodiment. -
FIG. 3 is an exemplary flow diagram that illustrates a method for registration, according to an embodiment. -
FIG. 4 is an exemplary flow diagram that illustrates a method for access control, according to an embodiment. -
FIG. 5 is an exemplary data flow diagram that illustrates trusted-to-identify access control list management, according to an embodiment. -
FIG. 6 is an exemplary flow diagram that illustrates a method for trusted-to-identify access control list management, according to an embodiment. -
FIG. 7 is an exemplary flow diagram that illustrates delegation, according to an embodiment. -
FIG. 8 is an exemplary data flow diagram that illustrates trusted-to-identify access control list management using delegation, according to a further embodiment. - Before describing in detail embodiments that are in accordance with the present invention, it should be observed that the embodiments reside primarily in combinations of method steps and apparatus components. Accordingly, the apparatus components and method steps have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
- In this document, relational terms such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “comprises . . . a” does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
- Personal devices, such as mobile phones, can act as control points in a UPnP network. Such devices are increasingly equipped with hardware and software features for reliably verifying a user's identity. Examples of such features may include biometric authentication (e.g., fingerprint identification, voice verification, retinal scanning, and the like), and other trusted authentication techniques. Biometric authentication in personal devices may be viewed as particularly trustworthy, in the context of identity management.
- For personal devices, such as mobile phones, that are capable of asserting user identity, it is desirable to integrate the capabilities of these devices into the access control methodology for UPnP. Access control based on user-device asserted identity in a UPnP network raises issues of trust: that is, whether a UPnP control point is trusted to: (a) authenticate a user with fidelity, and to (b) communicate the credentials of the user to the UPnP device that is the provider of services to the user. If so, the credentials can be used for access control by the UPnP device that is the provider of services to the user.
- In accordance with an embodiment of the invention, a control point includes an attribute called Identity Assertion Capable (IDC). The IDC attribute indicates whether the control point is capable of authenticating the user. In accordance with a further embodiment, a device used to control access to services includes, in addition to the conventional ACL, a Trusted to Identify ACL (TIA) feature. The TIA can be used to indicate whether a particular control point is trusted by the device to make assertions regarding the user's identity.
- For simplicity and illustrative purposes, principles of the embodiments are described by referring mainly to examples thereof. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the embodiments. It will be apparent however, to one of ordinary skill in the art, that the embodiments may be practiced without limitation to these specific details. In other instances, well known methods and structures have not been described in detail so as not to unnecessarily obscure the embodiments.
- With reference first to
FIG. 1A , anexemplary UPnP network 100 is shown, according to an embodiment. It should be understood that the following description of UPnPnetwork 100 is but one of a variety of different manners in which such a UPnPnetwork 100 may be configured and operated. In addition, it should be understood that the UPnPnetwork 100 may include additional components and that some of the components described may be removed and/or modified without departing from a scope of theUPnP network 100. - There are two main types of entity in a UPnP network 100: control points (e.g., exemplary control point 130) and devices (e.g., exemplary device 120). There is a third type of entity called a security console (e.g., exemplary security console 140) that can be used for security administration.
- A
control point 130 is referred to as “security-aware” if it supports at least conventional UPnP ACL-based security. In an embodiment of the present invention,control point 130 is associated with an attribute, Identity Assertion Capable (IDC) 135, which may in some embodiments be implemented as a bit having a binary value, and in other embodiments may have non-binary values (e.g., theIDC 135 may be implemented as an integer, enumerated value, bitmapped value, and the like). In an illustrative example, when a user requests access to adevice 120 using acontrol point 130, thecontrol point 130 may declare that the value ofIDC 135 for thecontrol point 130 is either “true” or “false.” Ifcontrol point 130 makes no declaration, it can be assumed that the value is “false” for thatcontrol point 130. Thus, in an embodiment, when a user attempts to access adevice 120 using acontrol point 130, thedevice 120 is able to know whether or not thecontrol point 130 is capable of identifying the user. Allowing the default value of theIDC 135 to be “false” allows backward compatibility with the conventional UPnP security specification. If theIDC 135 is “false” for acontrol point 130, then access control at thedevice 120 reverts to being based on thecontrol point 130, and not on the user. In further embodiments,IDC 135 may be permitted to have additional non-binary values (e.g., integer, bitmapped, or enumerated values) for providing additional information concerning capabilities of thecontrol point 130. -
Device 120 exposes services (e.g.,services 125A through 125N, collectively services 125), each of which comprises actions. Actions are specified by theindividual services 125. The UPnP specifications define a conventional set ofpre-specified services 125 and corresponding actions for many typical applications (such as printing, lighting control, etc.). Indevice 120, access control is enforced on control points or users, and their permitted actions. The exemplary security-aware device 120 includes anownership list 123, and generally includes an access control list (ACL) 121, and zero ormore certificates 124. Entries in theownership list 123 can be used to grant an owner (e.g., security console 140) full access to all actions of theservices 125 of thedevice 120. In an embodiment of the present invention,device 120 also includes a Trusted to Identify ACL (TIA) 122, which in some embodiments may be an additional access control list, or which in further embodiments may be implemented as part of ACL 121 (e.g., as a feature ofACL 121 or an extension or enhancement to ACL 121). - The security-
aware device 120 can include anACL 121 to enforce access control on control points (e.g., control point 130) that attempt to invoke actions on thedevice 120. Entries in theACL 121 can be used to grant symbolic permissions to one or more control points (e.g., permissions having more granular access rights, in comparison to the full access granted to an owner). These symbolic permissions grant access to one or more actions of theservices 125 exposed by thedevice 120. In anexemplary device 120 that supports ACL-based control, aDeviceSecurity service 125A is among theservices 125 exposed by thedevice 120. TheDeviceSecurity service 125A exports actions (such as conventional readACL and writeACL actions) that anexemplary security console 140 can use, for example, to modify or edit theACL 121. Only asecurity console 140 that has ownership of the device 120 (i.e., asecurity console 140 listed in theownership list 123 of device 120) may edit theACL 121 of thedevice 120. - Referring now to
FIG. 1B , theACL 121 comprises zero ormore entries 181A, 181B . . . 181N (collectively, entries 181), illustratively depicted as horizontal rows in an exemplary table. Eachentry 181 inACL 121 conventionally has at least the following fields, illustratively depicted as columns in an exemplary table: subject 182,action 183,validity 184, and a do-not-delegate flag 185. Eachentry 181 in theACL 121 indicates that the subject 182 of theentry 181 is permitted to invoke a specifiedaction 183 on thedevice 120, the permission being optionally limited to avalidity 184 period, and optionally delegable based on do-not-delegate flag 185. Conventionally, the subject 182 field identifies either the identity of acontrol point 130, or the name of a group of control points. Theaction 183 field identifies some action associated with aservice 125 hosted by thedevice 120, or the pre-defined action “all.”Validity 184 is optional and may, for example, contain a not-valid-before field and/or a not-valid-after field. The do-not-delegate flag 185 is also optional, and indicates whether the privilege granted to the subject by the entry in theACL 121 may be delegated to other subjects. - Returning to
FIG. 1A ,device 120 includes zero or more certificates. These may include zero or more name definition certificates (not shown), and zero ormore authentication certificates 124. A name definition certificate can be used to define the members of a group that is associated with a name that can be used as the subject of anentry 181 inACL 121. A name definition certificate that defines a group specifies the name associated with the group, the members of the group, and the issuer (e.g., security console 140) of the name definition certificate. Groups may be nested; i.e., the members of a group may include other groups. Each issuer has its own namespace for group names. - An
authorization certificate 124 that delegates a privilege looks very similar to anACL 121, but also includes an issuer and a device field, both of which apply globally to the whole authorization certificate 124 (i.e., issuer and device fields are not additional fields of an entry 181). The issuer may be acontrol point 130 or asecurity console 140 that issued theauthorization certificate 124. The device field identifies the device (e.g., device 120) for which theauthorization certificate 124 applies. -
Security console 140 can be used for security administration.Security console 140 can act as either or both adevice 141 and acontrol point 143. In its capacity as adevice 141, thesecurity console 140 exposes a security console service 142 (e.g., an improved SecurityConsole service according to an embodiment of the present invention). A security-aware control point 130 interacts with thesecurity console 140 via thesecurity console service 142. In an illustrative example, a user can register a security-aware control point 130 with asecurity console 140 and give thecontrol point 130 an identity; later, this identity can be used to administer thecontrol point 130. Asecurity console 140, acting as acontrol point 143 itself, can administer anydevice 120 that exposes theDeviceSecurity service 125A. This can be used, for example, to take ownership of adevice 120. Finally, thesecurity console 140 can also be used to grant and revoke ownership of devices (such as device 120) to other security consoles (not shown). - In an embodiment of the present invention, a
device 120 may perform access control directly on users. To be able to do this, anentry 181 inACL 121 can have a user as its subject 182, and in a further embodiment, anauthorization certificate 124 can have a user as itssubject 182. The embodiments extend the access control capabilities conventionally specified in UPnP by allowing a subject 182 in anACL 121 or in anauthorization certificate 124 to be the identity of a user. - In
FIG. 2 , a data flow diagram of an illustrative registration process is shown for an embodiment. The process establishes the identity 260 ofuser 210 at acontrol point 230. In the future, when theuser 210 uses thecontrol point 230 to access a device (e.g.,device 120 shown inFIG. 1 ), his or her identity 260 is communicated by thecontrol point 230 to thedevice 120 for access control. - In a still further embodiment of the present invention, a given identity 260 for
user 210 may be unique to acontrol point 230, or may be shared by several control points (for example, all of the control points in a UPnP network 100). In an embodiment, the registration process to establish an identity 260 foruser 210 involves a UPnP security console (SC) 240. - In the illustrative embodiment depicted in
FIG. 2 , theuser 210 performs aninitiation 201, e.g., initiating registration by contacting asecurity console 240; in an illustrative example, the user 200 may push a button onSC 240. Theuser 210 then performs anidentification 202. For example, theuser 210 specifies with whichcontrol point 230 he or she intends to register, such as by pushing a button on thecontrol point 230. Thecontrol point 230 identifies theuser 210. Thecontrol point 230 performs afirst communication 203, e.g., by communicating identity (ID)data 250, based on its identification ofuser 210, to thesecurity console 240. - The
security console 240 computes an identity 260 for the user that thecontrol point 230 can use, and performs a second communication 204 to communicate the identity 260 back to thecontrol point 230. In one embodiment, the identity 260 communicated from thesecurity console 240 may be from a database maintained bysecurity console 240, which could be the case when theuser 210 has the same identity 260 across multiple points in theUPnP network 100. However, in a further embodiment, optionally thesecurity console 240 simply computes a unique identity 260 for theuser 210, communicates this identity 260 to thecontrol point 230 and does not necessarily store the identity 260 (e.g., in the case that theuser 210 has a different identity 260 at each control point). Either case may be appropriate for aparticular UPnP network 100, and therefore an embodiment may permit either or both options, according to usability and security trade-offs that may be desired. Alternatively, in another embodiment, thecontrol point 230 sends identity (ID)data 250 to thesecurity console 240, and thesecurity console 240 accepts theidentity data 250 as the user identity 260. - In a further embodiment of the present invention, if the
IDC 135 is true forcontrol point 230, then thecontrol point 230 can perform anassertion 205, such as by identifying itself 230 and identifying the user 210 (e.g., communicating the identity 260) todevice 120. In the embodiment, thedevice 120 now determines whether it can trust the assertion about the identity 260 ofuser 210 made by thecontrol point 230. For this purpose, in addition to the traditional capabilities of anACL 121 conventionally specified in UPnP, adevice 120 in an embodiment usesTIA 122. TheTIA 122 includes a list of identities of trusted control points (e.g., an identity of acontrol point 230 may be stored as a hash of a public key uniquely associated with thecontrol point 230, as conventionally specified in UPnP). If acontrol point 230 is in theTIA 121 of adevice 120, then this means that thecontrol point 230 is trusted by thedevice 120 to make an assertion concerning identity 260. - In an illustrative example, the
device 120 first checks whether the identity ofcontrol point 230 is inTIA 121. If not, access is not granted to theuser 210. If the identity ofcontrol point 230 is inTIA 121, thedevice 120 checks whether theuser 210 is allowed access (based, e.g., onACL 121, or authorization certificate 124). In addition, a further embodiment optionally provides that thedevice 120 checks whether thecontrol point 230 is authorized for the action being invoked by checking the identity of thecontrol point 230 in the conventional way specified in UPnP. - In
FIG. 3 , anillustrative method 300 for registration is shown for an embodiment. Theregistration method 300 establishes the identity 260 ofuser 210 at acontrol point 230, e.g., in the manner discussed above with reference toFIG. 2 . - In the
method 300, an initiatingstep 301 is performed, e.g., in asecurity console 240, by theuser 210, who may initiate registration by contacting thesecurity console 240. In an illustrative example, theuser 210 may push a button onSC 240. In themethod 300, anidentify step 302 is performed, e.g., as shown instep 202 inFIG. 2 . For example, theuser 210 may specify with whichcontrol point 230 he or she intends to register, such as by pushing a button on thecontrol point 230 or otherwise proceeding with identification as determined by thecontrol point 230, which identifies theuser 210. In a further illustrative example, theuser 210 may undergo biometric verification by thecontrol point 230; e.g., thecontrol point 230 verifies a fingerprint of theuser 210 to reliably identify theuser 210. In another embodiment, theuser 210 may provide a PIN or password to thecontrol point 230 to reliably identify theuser 210. In another embodiment, theuser 210 may provide a token (e.g., a smart card) to thecontrol point 230 to reliably identify theuser 210. Thecontrol point 230 can obtain, look up, or deriveID data 250 based upon the reliable identification of theuser 210. In some embodiments,ID data 250 comprises an alias of theuser 210. - Next, in step 303,
ID data 250 is communicated; e.g., thecontrol point 230 communicatesID data 250, based on its identification ofuser 210, to thesecurity console 240. Instep 304, an identity 260 is determined for theuser 210; e.g., thesecurity console 240 computes an identity 260 that thecontrol point 230 can use. Alternately, thesecurity console 240 acceptsID data 250 as the identity 260. Instep 305, the identity 260 is communicated. For example, the identity 260 may be communicated by thesecurity console 240 back to thecontrol point 230, and may then be communicated by thecontrol point 230 to adevice 120. - In
FIG. 4 , anillustrative method 400 for access control is shown for an embodiment. Theaccess control method 400 can be performed, for example, in adevice 120. In step 401, a user identity 260 for auser 210 is received from acontrol point 230 that has an identity assertion capability, e.g.,IDC 135 set to “true”. Instep 402, thedevice 120 determines whether thecontrol point 230 is trusted to assert the user identity 260. Instep 403, if thecontrol point 230 is trusted, permission is granted to theuser 210 to perform anaction 183, based upon the user identity 260 and a matching entry insubject 182 of theACL 121 orauthorization certificate 124. - In
FIG. 5 , a data flow diagram of TIA management is shown for an embodiment. According to an embodiment, security- 520, 520A each include aaware UPnP devices TIA 522. Entries in aTIA 522 include the identity of a trusted control point, such as control point (CP) 530. As discussed above, in an illustrative example, an identity of acontrol point 530 may be stored as a hash of a public key uniquely associated with thecontrol point 530, as conventionally specified in UPnP. If the identity ofCP 530 is in theTIA 522 of adevice 520, then this means that theCP 530 is trusted by thedevice 520 to make user identity assertions (i.e., to assert a user identity 260). - A
security console 540 and the 520, 520A, according to an embodiment, each include adevices 550, 550A.TIA management module 550, 550A are able to manage adding and removing entries in theTIA management modules TIA 522. In an embodiment, 550, 550A may, for example, be implemented asTIA management modules services 125. In further embodiments, 550, 550A may comprise or be included in one or more software applications running onTIA management modules security console 540 ordevice 520. In an embodiment, an administrative user 510 (e.g., a person who is a trusted administrator) has administrative rights on thesecurity console 540. - TIA management messages can be passed between the
TIA management module 550 of a security console (SC) 540 and theTIA management module 550A of adevice 520, for managing theTIA 522 of thedevice 520. In an embodiment, the TIA management messages are analogous to the conventional UPnP messages that are used to manageACL 121. In a further embodiment, TIA management messages include messages such as a ReadTIA message for readingTIA 522, a WriteTIA message for writingTIA 522, an AddTIAEntry message for adding an entry toTIA 522, a DeleteTIAEntry message for deleting an entry fromTIA 522, and a ReplaceTlAEntry message for replacing an entry inTIA 522. In an embodiment, for any of these TIA management messages sent from theSC 540 to succeed indevice 520, theSC 540 should be an owner of the device 520 (e.g., should be recognized as an owner in anownership list 123, not shown, of the device 520). - There are at least two ways to initiate the sending of one or more TIA management messages by a
security console 540. In a first illustrative example, auser 210 can directly interact with aTIA management module 550 in asecurity console 540 that owns thedevice 520. In a second illustrative example, theuser 210 can indirectly initiate addition of an entry inTIA 522, triggered by theuser 210 operating acontrol point 530 to use adevice 520 in whoseTIA 522 the identity of thecontrol point 530 does not appear. - In the first example, an embodiment of the
TIA management module 550 provides an option for theuser 210 to directly edit theTIA 522 ofdevice 520. Theuser 210 operatescontrol point 530, and desires to manipulate an entry in theTIA 522 ofdevice 120; specifically, the entry corresponding to thecontrol point 530. Theuser 210 needs to know the identity of thecontrol point 530. In an illustrative example, this can be achieved by havingcontrol point 530 send (or cause to be sent) a PresentKey message to thesecurity console 540; theuser 210 then is simply able to refer to controlpoint 530 by a name previously chosen in theSC 540 for thecontrol point 530. - In a variation of the first example, in a further embodiment, the
user 210 operatescontrol point 530, and desires to manipulate an entry in theTIA 522 ofdevice 120; specifically, the entry corresponding to a second control point 130 (not shown). Theuser 210 needs to know the identity of thecontrol point 130. In an illustrative example, this can be achieved by havingcontrol point 530cause control point 130 to send a PresentKey message to thesecurity console 540; theuser 210 then is simply able to refer to controlpoint 130 by a name previously chosen in theSC 540 for thecontrol point 130. - In the second illustrative example, the
user 210 can indirectly initiate addition of an entry inTIA 522, triggered by theuser 210 operating acontrol point 530 to use adevice 520 in whoseTIA 522 the identity of thecontrol point 530 does not appear. Such an exemplary automatic process of adding entries toTIA 522 is referred to herein as an automatic TIA join sequence. It is anticipated that this automatic approach may be the more commonly used method for TIA management in UPnP. - In a
security console 540, an embodiment of theTIA management module 550 can include the following exemplary capabilities: - 1.
TIA management module 550 is able to receive requests from acontrol point 530 to be added to theTIA 522 of adevice 520. An embodiment of such a request contains information such as the identity ofcontrol point 530 and the identity ofdevice 520. - 2.
TIA management module 550 is able to verify whether or not thesecurity console 540 with which themodule 550 is associated is indeed an owner of thedevice 120. - 3.
TIA management module 550 includes an automatic decision value 535 (e.g., an automatic decision bit having a binary true/false value, or in further embodiments, a field having an integer, bitmapped, or enumerated value). In an embodiment, theautomatic decision value 535 is associated with a policy for determining whether theSC 540 can make a decision on a join (or “redirect”) request without online consultation with theadministrative user 510. Thisautomatic decision value 535 and associated policies can, for example, be set offline by theadministrative user 510. - 4.
TIA management module 550 is able to verify that confirmation of the identity 260 ofuser 210 has occurred offline, or is needed online. - 5.
TIA management module 550 is able to communicate with its counterpart in a device 520 (e.g.,TIA management module 550A in device 520), to have an entry inTIA 522 added to reflect the trusted-to-identify status of a control point (e.g., control point 530). - 6.
TIA management module 550 is able to push the new entry inTIA 522 to other devices (e.g.,device 520A) that are owned by thesecurity console 540. That is, given that thecontrol point 530 is now trusted to make assertions of identity 260, thesecurity console 540 can optionally addcontrol point 530 to theTIAs 522 of other devices such as 520A. - In a
device 520, an embodiment of theTIA management module 550A can include the following exemplary capabilities: - 1.
TIA management module 550A is able to check whether a TIA entry exists in the device's TIA. Such a check is depicted byarrow 503. - 2.
TIA management module 550A includes a trigger value 536 (e.g., a trigger bit having a binary true/false value, or in further embodiments, a field having an integer, bitmapped, or enumerated value) that determines whether themodule 550A should send a join suggestion (which may in some embodiments comprise a “redirect” message, e.g., redirecting the access request) to thecontrol point 530, suggesting thatcontrol point 530 contact thesecurity console 540 to be added to theTIA 522 ofdevice 120. - 3.
TIA management module 550A is able to send join suggestions (which may in some embodiments comprise a “redirect” message, e.g., redirecting the access request) to thecontrol point 530 via thedevice 120. Such a join suggestion is depicted byarrow 504. - 4.
TIA management module 550A is able to receive requests for the identity ofcontrol point 530 to be added to theTIA 522 ofdevice 120. Such a request is depicted byarrow 502. - In an exemplary automatic TIA join sequence, steps 501-508 indicate an exemplary chronological sequence; however, not all of the illustrated steps are necessary, and not all steps need be performed online. For example,
confirmation step 506 may be done offline using theautomatic decision value 535 and an associated policy. - In the exemplary automatic TIA join sequence, at
step 501, theuser 210 accesses thecontrol point 530 to identify himself or herself.Control point 530 obtains, or has previously obtained, an identity 260 corresponding touser 210.Control point 530 may include a Identity Assertion Capable (IDC) 135 attribute, as discussed above, indicating thatcontrol point 530 is capable of verifying identity in a trustworthy fashion. From the perspective ofuser 210, it is desirable thatCP 530 should be recognized bydevice 520 as trusted-to-identify, and therefore thatCP 530 should appear in theTIA 522 ofdevice 520. - At
step 502, thecontrol point 530 communicates an access request todevice 520, including the identity 260 of theuser 210, as well as the identity of thecontrol point 530. Atstep 503, theTIA management module 550A ofdevice 520 checks theTIA 522, to determine whether the identity of thecontrol point 530 is included inTIA 522. Atstep 504, if the identity of thecontrol point 530 is not included inTIA 522, a “redirect” may take place, depending upon the value oftrigger value 536. TheTIA management module 550A ofdevice 530 checks thetrigger value 536, and if thetrigger value 536 indicates that a “redirect” is desired,TIA management module 550A sends a responsive message back tocontrol point 530, containing an identification of asecurity console 540 that owns thedevice 520. In a further embodiment, the responsive message comprises a join suggestion (which may in some embodiments comprise a redirection of the access request). Otherwise, theTIA management module 550A may simply proceed to grant or deny the requested permission ondevice 520 foruser 210. - At
step 505, having received a join suggestion or “redirect” message fromdevice 520 atstep 504, thecontrol point 530 sends a join request (which in some embodiments may comprise a further “redirect” message or redirection of the access request) to theTIA management module 550 ofsecurity console 540. In an embodiment, the illustrative join request includes the identity of thecontrol point 530, and may include the identity 260 of theuser 210, the identity of thedevice 520, and/or the identity of the owner (i.e., the identity of security console 540). In an embodiment, thesecurity console 540 verifies whethersecurity console 540 is indeed an owner ofdevice 520. - At
step 506, based upon theautomatic decision value 535, and associated policy, theTIA management module 550 of thesecurity console 540 may require confirmation (e.g., online consultation) fromadministrative user 510, or in further embodiments, may recognize whether such confirmation is unnecessary (e.g., the confirmation or lack thereof having been predetermined by administrative user 510). - At
step 507, if desired based upon the result ofstep 506, theTIA management module 550 of thesecurity console 540 can send a TIA management message such as AddTIAEntry to counterpartTIA management module 550A indevice 520, requesting that the identity ofcontrol point 530 be added toTIA 522 as a new entry, indicating thatcontrol point 530 is trusted to identify users. - Optionally, at
step 508, if desired based upon the result ofstep 506, theTIA management module 550 can also push the new entry inTIA 522 to other devices (e.g.,device 520A) that are owned by thesecurity console 540. -
FIG. 6 illustrates anexemplary method 600 for an automatic TIA join sequence, according to an embodiment. As depicted inFIG. 5 , steps 501-508 indicate an exemplary chronological sequence; however, not all of the illustrated steps are necessary, and not all steps need be performed online. From the standpoint of device 520 (except for itsTIA management module 550A), the automatic TIA join sequence ofmethod 600 is simply part of a determination bydevice 520 of whether to grant access to the current request or not. If the automatic TIA join sequence ofmethod 600 runs successfully, then thedevice 520 grants access to theuser 210 for the current access request, e.g., based on whether the identity 260 of theuser 210 appears as a subject 182 in anaccess control list 121 associated withdevice 520 indicating thatuser 210 has permission for such access. - In the exemplary automatic TIA join sequence of
method 600, 501 and 502 proceed as discussed above with respect tosteps FIG. 5 . Atstep 503, theTIA management module 550A ofdevice 520 checks theTIA 522, to determine whether the identity of thecontrol point 530 is already included inTIA 522, and if so, themethod 600 proceeds to step 609, where permission is granted or denied touser 210, e.g., based on whether the identity 260 of theuser 210 appears as a subject 182 in anaccess control list 121 associated withdevice 520. If the identity of thecontrol point 530 is not included inTIA 522, themethod 600 proceeds to step 504. -
504 and 505 proceed as discussed above with respect toSteps FIG. 5 . Atstep 506, based upon theautomatic decision value 535, and associated policy, theTIA management module 550 of thesecurity console 540 may require confirmation (e.g., online consultation) fromadministrative user 510, or in further embodiments, may recognize whether such confirmation is unnecessary (e.g., the confirmation or lack thereof having been predetermined by administrative user 510). If the confirmation indicates that theTIA 522 should not be updated, themethod 600 proceeds to step 609, where permission is granted or denied touser 210, e.g., based on whether the identity 260 of theuser 210 appears as a subject 182 in anaccess control list 121 associated withdevice 520. If the confirmation indicates that theTIA 522 should be updated, themethod 600 proceeds to step 507. -
507 and 508 proceed as discussed above with respect toSteps FIG. 5 . Atstep 609, permission is granted or denied touser 210, e.g., based on whether the identity 260 of theuser 210 appears as a subject 182 in anaccess control list 121 associated withdevice 520. - In
FIG. 7 , a data flow diagram of delegation is shown for an embodiment. The conventional UPnP security specification allows for delegation of access by one control point to another. As discussed above with reference toFIG. 1 , conventional delegation is effected by the issuance of what is called anauthorization certificate 124, which identifies the delegator, the delegatee, the device and nature of access, and an optional validity time-frame. A security console (SC) can be given “direct” access to a device, which is done in one of two ways: the SC may be made an owner of the device, thereby giving it unfettered access; or, the SC is added to the device's ACL for particular kinds of access. Given that delegation is a useful feature of UPnP security, aspects of the present invention include embodiments that extend the delegation mechanism to incorporate TIAs, providing usability benefits with delegation within the TIA framework. - In an embodiment, an
authorization certificate 124 can comprise aTIA delegation certificate 724. With reference toFIG. 1A , 1B, andFIG. 2 , theTIA delegation certificate 724 enables afirst CP 143 to delegate to asecond CP 130 the trust adevice 120 has in thefirst CP 143 to make identity assertions. In some embodiments, asecurity console 140 comprises thefirst CP 143. In a first illustrative example,security console 140 is always trusted to make identity assertions for adevice 120 that is owned by thesecurity console 140, by virtue of such ownership. Thesecurity console 140 can delegate that trust to asecond CP 130. In a second illustrative example, In a second illustrative example,security console 140 includesCP 143, and the identity ofCP 143 appears in theTIA 122 ofdevice 120; therefore,security console 140 is trusted to make identity assertions for adevice 120 that is owned by thesecurity console 140. Thesecurity console 140 can delegate that trust to asecond CP 130. - In an embodiment, a
TIA delegation certificate 724, like aconventional authorization certificate 124, includes an issuer field and a device field; thus, theTIA delegation certificate 724 can be used by thecontrol point 130 to which it has been issued, in order to certify to thedevice 120 that the issuer (e.g., security console 140) has delegated trust to controlpoint 130. - Returning to
FIG. 7 , in an illustrative example, 721, 722, 723 each have adevices TIA 122 and anACL 121.Device 721 is owned bysecurity console 741, or in a further embodiment, has granted access rights tosecurity console 741 in theACL 121 ofdevice 721.Device 722 also is owned bysecurity console 741, or in a further embodiment, has granted access rights tosecurity console 741 in theACL 121 ofdevice 722.Device 723 is owned bysecurity console 742, or in a further embodiment, has granted access rights tosecurity console 742 in theACL 121 ofdevice 723. Indevice 722, there is an entry inTIA 122 indicating thatsecurity console 742 is a trusted control point. -
Security console 741, using aconventional authorization certificate 124, grants access delegation rights toCP 731.Security console 741, using afirst authorization certificate 124A of an embodiment of the present invention, grants access delegation rights touser 711, by including the identity 260 ofuser 711 as a subject 182. -
Security console 742, using aconventional authorization certificate 124, grants access delegation rights toCP 732.Security console 742, using a firstTIA delegation certificate 724, grants TIA delegation rights toCP 733.Security console 742, using asecond authorization certificate 124A of an embodiment of the present invention, grants access delegation rights touser 712, by including the identity 260 ofuser 712 as a subject 182.Security console 742, using a secondTIA delegation certificate 724, grants TIA delegation rights toCP 734. -
FIG. 8 is an exemplary data flow diagram that illustrates trusted-to-identify access control list management using delegation, according to a further embodiment. In an embodiment, the automatic TIA join sequence is different from that ofFIG. 5 , because theSC 540 includes anautomatic decision value 535, associated with a corresponding policy, that causesTIA management module 550 to issue a delegation certificate 724 (not shown).Steps 501 through 506 proceed as described with regard toFIG. 5 . Afterstep 506, atstep 807, theTIA management module 550 ofSC 540 issues the delegation certificate 724 (not shown) to controlpoint 530. Next, atstep 808,control point 530 reissues the access request todevice 520, this time using thedelegation certificate 724. - In the foregoing specification, specific embodiments of the present invention have been described. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the present invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present invention. The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential features or elements of any or all the claims. The invention is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of those claims as issued.
Claims (18)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/341,480 US9325714B2 (en) | 2008-04-22 | 2014-07-25 | System and methods for access control based on a user identity |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/107,134 US8819422B2 (en) | 2008-04-22 | 2008-04-22 | System and methods for access control based on a user identity |
| US14/341,480 US9325714B2 (en) | 2008-04-22 | 2014-07-25 | System and methods for access control based on a user identity |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/107,134 Continuation US8819422B2 (en) | 2008-04-22 | 2008-04-22 | System and methods for access control based on a user identity |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20140337934A1 true US20140337934A1 (en) | 2014-11-13 |
| US9325714B2 US9325714B2 (en) | 2016-04-26 |
Family
ID=41202100
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/107,134 Active 2032-10-18 US8819422B2 (en) | 2008-04-22 | 2008-04-22 | System and methods for access control based on a user identity |
| US14/341,480 Active US9325714B2 (en) | 2008-04-22 | 2014-07-25 | System and methods for access control based on a user identity |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/107,134 Active 2032-10-18 US8819422B2 (en) | 2008-04-22 | 2008-04-22 | System and methods for access control based on a user identity |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US8819422B2 (en) |
| WO (1) | WO2009131798A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9323940B2 (en) | 2011-12-16 | 2016-04-26 | Zte Corporation | Rights control method and apparatus for digital living network alliance |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8443191B2 (en) | 2007-04-09 | 2013-05-14 | Objective Interface Systems, Inc. | System and method for accessing information resources using cryptographic authorization permits |
| US8380981B2 (en) | 2008-05-16 | 2013-02-19 | Objective Interface Systems, Inc. | System and method that uses cryptographic certificates to define groups of entities |
| US7948887B2 (en) | 2008-06-24 | 2011-05-24 | Microsoft Corporation | Network bandwidth measurement |
| US8307093B2 (en) * | 2008-06-25 | 2012-11-06 | Microsoft Corporation | Remote access between UPnP devices |
| KR101702417B1 (en) * | 2009-11-09 | 2017-02-06 | 삼성전자주식회사 | Method and apparatus for monopolizing call session of transmitting/receiving call system using universal plug and play |
| US8805881B2 (en) | 2010-05-06 | 2014-08-12 | International Business Machines Corporation | Reputation based access control |
| US8359328B2 (en) | 2010-06-15 | 2013-01-22 | International Business Machines Corporation | Party reputation aggregation system and method |
| US8931048B2 (en) | 2010-08-24 | 2015-01-06 | International Business Machines Corporation | Data system forensics system and method |
| CN101951368A (en) * | 2010-09-10 | 2011-01-19 | 深圳市同洲电子股份有限公司 | Service authority control method, terminal and system based on subnet |
| US8800029B2 (en) | 2010-10-04 | 2014-08-05 | International Business Machines Corporation | Gathering, storing and using reputation information |
| ES2430013B1 (en) | 2012-03-30 | 2015-02-13 | Telefonica, S.A. | METHOD AND SYSTEM FOR ACCESS CONTROL FOR CONNECTION AND UNIVERSAL USE CONTENTS (UPNP) |
| US8818276B2 (en) * | 2012-05-16 | 2014-08-26 | Nokia Corporation | Method, apparatus, and computer program product for controlling network access to guest apparatus based on presence of hosting apparatus |
| CN103546423B (en) * | 2012-07-10 | 2018-04-17 | 中兴通讯股份有限公司 | Digital multimedia authority control method and digital multimedia device |
| KR101924961B1 (en) * | 2012-11-29 | 2018-12-04 | 엘지전자 주식회사 | Home appliance, and method for including the same |
| US10033737B2 (en) * | 2013-10-10 | 2018-07-24 | Harmon.Ie R&D Ltd. | System and method for cross-cloud identity matching |
| US9818085B2 (en) * | 2014-01-08 | 2017-11-14 | International Business Machines Corporation | Late constraint management |
| US10530776B2 (en) * | 2016-06-29 | 2020-01-07 | International Business Machines Corporation | Dynamic cognitive access control list management |
| CN110557368B (en) * | 2019-07-22 | 2021-09-21 | 南京财经大学 | Attribute-based information flow control method and system |
| CN111010322B (en) * | 2019-12-17 | 2021-12-24 | 联想(北京)有限公司 | Information configuration method and device, electronic equipment and storage medium |
| US11748374B2 (en) | 2021-11-30 | 2023-09-05 | Snowflake Inc. | Replication group objects configuration in a network-based database system |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040208151A1 (en) * | 2002-01-18 | 2004-10-21 | Henry Haverinen | Method and apparatus for authentication in a wireless telecommunications system |
| US20050021969A1 (en) * | 2003-07-01 | 2005-01-27 | Microsoft Corporation | Delegating certificate validation |
| US20060026671A1 (en) * | 2004-08-02 | 2006-02-02 | Darran Potter | Method and apparatus for determining authentication capabilities |
| US20060156388A1 (en) * | 2005-01-13 | 2006-07-13 | Vlad Stirbu | Method and apparatus for a security framework that enables identity and access control services |
| US8403755B2 (en) * | 2001-02-06 | 2013-03-26 | Nexrf, Corp. | Biometric broadband gaming system and method |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020062451A1 (en) * | 1998-09-01 | 2002-05-23 | Scheidt Edward M. | System and method of providing communication security |
| US20020112177A1 (en) * | 2001-02-12 | 2002-08-15 | Voltmer William H. | Anonymous biometric authentication |
| US20030236977A1 (en) * | 2001-04-25 | 2003-12-25 | Levas Robert George | Method and system for providing secure access to applications |
| JP3829794B2 (en) * | 2002-11-22 | 2006-10-04 | ソニー株式会社 | Information processing apparatus, server client system and method, and computer program |
| US7610616B2 (en) * | 2003-10-17 | 2009-10-27 | Fujitsu Limited | Pervasive security mechanism by combinations of network and physical interfaces |
| KR20060118458A (en) * | 2003-11-05 | 2006-11-23 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | User Control Points in a Network Environment |
| US7600113B2 (en) * | 2004-02-20 | 2009-10-06 | Microsoft Corporation | Secure network channel |
| US20050240758A1 (en) * | 2004-03-31 | 2005-10-27 | Lord Christopher J | Controlling devices on an internal network from an external network |
| US20060185004A1 (en) * | 2005-02-11 | 2006-08-17 | Samsung Electronics Co., Ltd. | Method and system for single sign-on in a network |
| KR100704627B1 (en) * | 2005-04-25 | 2007-04-09 | 삼성전자주식회사 | Security service provision device and method |
| WO2007069207A2 (en) | 2005-12-16 | 2007-06-21 | Koninklijke Philips Electronics N.V. | Access control in a network |
| US7917942B2 (en) * | 2006-02-24 | 2011-03-29 | Nokia Corporation | System and method for configuring security in a plug-and-play architecture |
| US20080072292A1 (en) * | 2006-09-01 | 2008-03-20 | Narjala Ranjit S | Secure device introduction with capabilities assessment |
| US7882356B2 (en) * | 2006-10-13 | 2011-02-01 | Microsoft Corporation | UPnP authentication and authorization |
-
2008
- 2008-04-22 US US12/107,134 patent/US8819422B2/en active Active
-
2009
- 2009-03-30 WO PCT/US2009/038726 patent/WO2009131798A1/en not_active Ceased
-
2014
- 2014-07-25 US US14/341,480 patent/US9325714B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8403755B2 (en) * | 2001-02-06 | 2013-03-26 | Nexrf, Corp. | Biometric broadband gaming system and method |
| US20040208151A1 (en) * | 2002-01-18 | 2004-10-21 | Henry Haverinen | Method and apparatus for authentication in a wireless telecommunications system |
| US20050021969A1 (en) * | 2003-07-01 | 2005-01-27 | Microsoft Corporation | Delegating certificate validation |
| US20060026671A1 (en) * | 2004-08-02 | 2006-02-02 | Darran Potter | Method and apparatus for determining authentication capabilities |
| US20060156388A1 (en) * | 2005-01-13 | 2006-07-13 | Vlad Stirbu | Method and apparatus for a security framework that enables identity and access control services |
Non-Patent Citations (1)
| Title |
|---|
| "Configuring Authentication for Access Points" - Cisco Wireless LAN Controller Configuration Guide, Release 7.4, Cisco, 7/2006 http://www.cisco.com/c/en/us/td/docs/wireless/controller/7-4/configuration/guides/consolidated/b_cg74_CONSOLIDATED/b_cg74_CONSOLIDATED_chapter_01101100.pdf * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9323940B2 (en) | 2011-12-16 | 2016-04-26 | Zte Corporation | Rights control method and apparatus for digital living network alliance |
Also Published As
| Publication number | Publication date |
|---|---|
| US9325714B2 (en) | 2016-04-26 |
| US8819422B2 (en) | 2014-08-26 |
| WO2009131798A1 (en) | 2009-10-29 |
| US20090265551A1 (en) | 2009-10-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9325714B2 (en) | System and methods for access control based on a user identity | |
| US8411562B2 (en) | Network system and method for providing an ad-hoc access environment | |
| EP1855440B1 (en) | Personal domain controller | |
| US10148651B2 (en) | Authentication system | |
| EP2689372A1 (en) | User to user delegation service in a federated identity management environment | |
| US20050283619A1 (en) | Managing access permission to and authentication between devices in a network | |
| US20160057141A1 (en) | Network system comprising a security management server and a home network, and method for including a device in the network system | |
| KR101873991B1 (en) | Method of delegating access right between IoT devices | |
| US8234497B2 (en) | Method and apparatus for providing secure linking to a user identity in a digital rights management system | |
| US20160285843A1 (en) | System and method for scoping a user identity assertion to collaborative devices | |
| KR100820671B1 (en) | Method and apparatus for setting access right to devices on network and authenticating between devices | |
| US9065656B2 (en) | System and methods for managing trust in access control based on a user identity | |
| KR100656520B1 (en) | Authentication system for each level of home network and its method | |
| US8171535B2 (en) | Dynamic web service policy broadcasting/enforcement for applications | |
| WO2018207174A1 (en) | Method and system for sharing a network enabled entity | |
| EP1860586A1 (en) | Method and managing unit for managing the usage of digital content, rendering device | |
| Jeong et al. | Secure user authentication mechanism in digital home network environments | |
| CN101084664A (en) | Method and system for providing and utilizing a network trusted environment | |
| KR20080067448A (en) | Security Method in Computer Using Mobile Communication Terminal | |
| Imbault | RFC 9635: Grant Negotiation and Authorization Protocol (GNAP) | |
| CN116112928A (en) | Access management method, system and processor for electric power wireless local area network | |
| Lee et al. | Intelligent home network authentication: home device authentication using device certification | |
| CN114026560A (en) | System and method for authentication on a device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA MOBILITY LLC;REEL/FRAME:034235/0107 Effective date: 20141028 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY 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 |