WO2013022319A2 - Method for authenticating authority to command of server, method for requesting authority authentication, and device for same - Google Patents

Method for authenticating authority to command of server, method for requesting authority authentication, and device for same Download PDF

Info

Publication number
WO2013022319A2
WO2013022319A2 PCT/KR2012/006408 KR2012006408W WO2013022319A2 WO 2013022319 A2 WO2013022319 A2 WO 2013022319A2 KR 2012006408 W KR2012006408 W KR 2012006408W WO 2013022319 A2 WO2013022319 A2 WO 2013022319A2
Authority
WO
WIPO (PCT)
Prior art keywords
command
authority
node
acl
group
Prior art date
Application number
PCT/KR2012/006408
Other languages
French (fr)
Korean (ko)
Other versions
WO2013022319A3 (en
Inventor
박승규
김성윤
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of WO2013022319A2 publication Critical patent/WO2013022319A2/en
Publication of WO2013022319A3 publication Critical patent/WO2013022319A3/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Definitions

  • the present invention relates to a method for authenticating authority for a node of a server and an apparatus therefor, and more particularly, to a method for a terminal authenticating authority of a server and a terminal performing the same.
  • Device Management (DM) technology is a technology that allows a device management server to change the configuration of a device by remotely controlling values of variables or objects stored in a specific device in an effective manner.
  • the device management technology is being developed as an international standard based on SynchML Data Synchronisation, which was written by the SyncML Initiative (Synchronization Markup Language) Forum at the Open Mobile Alliance (OMA), and is already being developed by other standards bodies and operators worldwide. It is accepted as the management technology standard.
  • OMA device management technology is a standard that supports the most diverse functions compared to other device management technologies.
  • the device management protocol standard the device management document presentation standard, a binding protocol and a transport protocol, and a device management tree And a standard for a device management node, a standard for a device description framework (DDF), a standard for notification, and the like.
  • DDF device description framework
  • This device management is performed by the device management server (DMS) sending a command for a management object (MO) existing inside the device to the device, and the device management client (DMC) of the device performs the command.
  • the DMC corresponds to an entity mounted in the device and receiving from the DMS.
  • the MO is logically connected to a management tree (or tree) existing within the device or a node of the tree. Accordingly, the device management server may control a MO, or a tree or node associated with the MO, that is the target of the command through a command to the MO.
  • the MO generally exists in a database of the device, and the device management server may access the MO through the URI of the tree or node to instruct a management command.
  • Device Management refers to managing device configuration and other managed objects of devices from the perspective of various Management authorities.
  • Device management includes sequential updates of constantly persisting information in devices, retrieval of management information from devices, and processing of events and alarms generated by devices, but which sets initial configuration information within devices.
  • Device Management includes, but is not restricted to setting initial configuration information in Devices, subsequent updates of persistent information in Devices , retrieval of management information from Devices and processing events and alarms generated by Devices.
  • the management tree is an interface for the management server to interact with the DM client, such as by storing values in or retrieving values from the management tree and by manipulating the attributes of the management tree, such as an access control list (ACL).
  • ACL access control list
  • a management tree interacts with a device management tree or a DM tree. It may be referred to interchangeably.
  • a management object is a subtree of a management tree that is intended to be a set of nodes (sometimes alone) that are related to each other in some way.
  • ./DevInfo nodes may form a managed object.
  • a Management Object is a subtree of the Management Tree which is intended to be a (possibly singleton) collection of Nodes which are related in some way.
  • the ./DevInfo Nodes form a Management Object.
  • a simple Management Object may consist of one single Node.
  • DMS Device Management Server
  • the DM server or DMS may be a conceptual software component in a device management infrastructure that conforms to the OMA Device Management Enabler static conformance requirements specified for the DM server or the DMS.
  • the DM server or the DMS may serve as an endpoint of a DM client-server protocol and a DM server-server interface.
  • An abstract software component in a deployed Device Management infrastructure that conforms to the OMA Device Management Enabler static conformance requirements specified for DM Servers.It serves as an end-point of the DM Client-Server Protocols and DM Server-Server Interface).
  • the DM server or the DMS may be provided mounted in an apparatus, a device, a computer, etc. having a communication module, a processor module, and the like, and thus may be implemented as one device.
  • the DM client or DMC may be a conceptual software component in device implementation that conforms to the OMA Device Management Enabler static conformance requirements specified for the DM client or the DMC. have.
  • the DM server or the DMS may serve as an endpoint of a DM client-server protocol. (An abstract software component in a Device implementation that conforms to the OMA Device Management Enabler static conformance requirements specified for DM Clients.It serves as an end-point of the DM Client-Server Protocols.).
  • the DM client or the DMC may be provided as mounted in a device targeted for the DM having a communication module, a processor module, and the like, and thus may be implemented as one device.
  • ACL Access Control List
  • An ACL refers to a list of identifiers and access rights associated with each identifier.
  • a node is a single element in the management tree. There can be two types of nodes in the management tree: interior nodes and leaf nodes. A node is a single element in a Management Tree.There can be two kinds of Nodes in a Management Tree: Interior Nodes and Leaf Nodes. The Format property of a Node provides information about whether a Node is a leaf or an Interior Node.).
  • An interior node may have child nodes, while an interior node may not have a value assigned to the node, that is, a node value.
  • the Format property of an Interior Node is node.
  • Leaf nodes cannot have child nodes, but instead can have node values.
  • the Format property of a Leaf Node is not node.
  • Persistent nodes are nodes whose DDF attribute scope is set to Permanent. If the node is not a permanent node, it is a dynamic node. A Node is permanent if the DDF property Scope is set to Permanent.If a Node is not permanent, it is dynamic.A permanent Node can never be deleted by the server.)
  • a node is dynamic if the DDF property Scope is set to Dynamic, or if the Scope property is is a node in which the DDF property scope is set to Dynamic or the DDF property scope is not specified. unspecified).
  • the server identifier refers to the OMA DM internal name for the DM server.
  • a DM Server is associated with an existing Server Identifier in a device through OMA DM account.
  • All terminals managed by the DM (device management) protocol have one DM tree starting with a root node, and the DM protocol performs management commands to the terminals by manipulating each node of the DM tree. .
  • the DM protocol performs management commands to the terminals by manipulating each node of the DM tree.
  • the DM protocol performs management commands to the terminals by manipulating each node of the DM tree.
  • the DM protocol performs management commands to the terminals by manipulating each node of the DM tree.
  • Each node has a property that provides meta information about the node.
  • One of these attributes is the runtime attribute, which is the attribute that can be used until the node is created and destroyed in the DM tree.
  • runtime attributes include ACL, Format, Name, Size, Title, TStamp, Type, and VerNo.
  • ACL Access Control List
  • An ACL specifies DM commands that a specific DM server can execute on a particular node, and any DM commands that are not specified cannot be performed.
  • ACL means the permissions that a particular DM server is granted to a particular node.
  • ACLs are assigned to the server identifier of the DM server, not URIs, IP addresses, or DM server certificates. This server identifier is used as an identifier to authenticate the DM server in the DM protocol.
  • such an ACL may be provided as an ACL property and an ACL value assigned to the ACL property.
  • an ACL value may be interchangeably referred to as ACL information or information about an ACL.
  • ACL information may be interchangeably referred to as ACL information or information about an ACL.
  • all nodes are defined to have ACL attributes, and all nodes with ACL attributes are defined to have either empty or non-empty ACL values.
  • ACLs have unique properties that differ from other run-time properties, and this unique representative property is ACL inheritance.
  • ACL inheritance is the concept that when a node in the DM tree does not have an ACL value, the ACL value for that node is taken from the ACL value of the parent node. If the parent node also does not have an ACL value, the ACL value is taken from the parent node of that parent node. Since the DM protocol specifies that the root node, the top node of the DM tree, must have an ACL value, the ACL value is necessarily inherited. Since this ACL inheritance is not performed for individual DM commands, but for the entire ACL value, the ACL inheritance from the parent node is made only when the ACL value is empty. In other words, if the ACL value of a node specifies only the Add permission, the Get permission that is not specified is not inherited.
  • the DM server uses the Get command to get the ACL value.
  • it is not possible to change individual ACL entries, but to change the entire ACL value. Permissions for getting and modifying ACL values are also defined based on ACLs, with slightly different permissions for inter- and leaf nodes.
  • Replace permission means permission to replace ACL values of all child nodes.
  • the node has Get permission, it means the authority to get the value of the node.
  • the parent node To get an ACL, the parent node must have Get permission.
  • a node has Replace permission, it means that the value of that node can be replaced.
  • the parent node must have Replace permission.
  • the created node When the DM server creates a new node through the Add command, the created node generally does not have an ACL value, so all permissions are inherited from the parent. However, if the created node is an interior node and the parent node does not have Replace permission, it is necessary to have sufficient authority to manage the node by setting the ACL value at the same time.
  • DMS1 and DMS2 are server identifiers of the DM Server, and Get, Replace, and Delete are DM commands. Therefore, DMS1 can perform Get and Replace commands for the node, and DMS2 can perform Delete commands.
  • an ACL value is a set of individual ACL-entries, and each node's ACL value may include at least one ACL entry.
  • DDF Device Description Framework
  • a DDF is a description of how to describe the management syntax and semantics for a particular device type.
  • the DDF provides information on the MO, management function, and DM tree structure of the terminal.
  • DM 1.3 authentication is performed based on ACLs. DM authentication is done separately for each DM command. If the DM server sends a plurality of DM commands, the DM client (hereinafter referred to as DMC) performs authentication before executing individual commands, and as a result, only authorized DM commands are executed.
  • an ACL value which is information about an ACL, may be stored and provided in an ACL attribute, or may be stored and provided elsewhere (eg, a specific node in a DM tree). If it is stored somewhere other than an ACL attribute, the procedure for retrieving the ACL value may be different.
  • FIG. 1 illustrates an authentication process for a DM command, which will be described in detail with respect to each step.
  • Step S110 The DMC receives a command targeting Node 1 from the DMS
  • the DMC receives a command for node 1 from a DM server (hereinafter referred to as DMS).
  • DMS DM server
  • Each DM command writes the address of the node targeted by the DM command in the ⁇ Target> element.
  • the command transmitted from the DMS is a DM command targeting node 1.
  • Step S120 The DMC retrieves the ACL value to authenticate the command
  • DMC gets the ACL value to perform authentication.
  • the ACL value describes which DMS can execute which command and is required for authentication. In most cases, get the ACL value of node1.
  • the authority to change (or replace) the ACL value of the leaf node is determined from the ACL of the parent node, so the ACL value of the parent node must be obtained. That is, node 1 is a leaf node, and in order to change the ACL value of node 1, it is determined as the ACL of the parent node of node 1, not node 1.
  • the authority only needs to be authorized in either the node or its parent node. Therefore, if node 1 is an interior node and wants to change the ACL value of node 1, the node 1 needs to have the corresponding authority. If you do not have one, you may have the privileges on the parent node of node 1. Therefore, the ACL of node 1 is taken first, and the ACL of the parent node of node 1 is used secondarily.
  • Step S140 Authentication is Approved
  • the DMC executes the command and sends a result code.
  • Step S150 Authentication Failed
  • the DMC does not execute the command and sends an error code.
  • the first problem with how to describe ACL values at this command-level is that the ACL values for specifying permissions are too long. Since the DM protocol allows one terminal to be managed by a plurality of DMSs, an ACL value may be described for the plurality of DMSs.
  • ACLs are described at the command-level.
  • Another problem is that a server that has permission to modify ACL values, and who can have any permission, needs to modify the ACL value once more to gain certain privileges. This is inefficient because it requires additional work to obtain privileges. For example, if an interior node has Replace permission, all sub-trees of the interior node can be replaced with another sub-tree, and the ACL value of the node can be changed. In other words, if you only have the Replace permission, the DMS can change the ACL value at will, and thus have any permission. However, even if you have the Replace privilege, it has no effect unless you manually add the necessary privileges to perform the Replace privilege. This is cumbersome in that even DMS with Replace permission can get permission only by modifying ACL value explicitly.
  • node-level authorization control is applied in DM 1.3.
  • Node-level authority control means that the access rights of the DMS can be set differently for each node. That is, the DMS can control the authority by separately setting the desired ACL value for each node. This is possible because every node has an ACL attribute.
  • the ACL management authority of a leaf node can be set only at the interior node which is the parent, and thus the ACL management authority of the leaf nodes in siblings must be the same. The problem is that the DM protocol does not require this fine level of privilege control, which is node-level privilege control.
  • the DM protocol consistently supports node-level authorization control by allowing every node to have an ACL attribute, which has the complexity of setting an ACL value to all nodes by default.
  • the DM protocol attempts to solve some of this complexity through inheritance. In other words, nodes that do not have ACL values set can inherit ACL values from their parent nodes through inheritance, but the problem is that they basically support only node-level permission control. There is a hassle to go up and find the non-empty ACL value.
  • the ACL value is described at the command-level, and the ACL value becomes excessively long, and other DM commands that are essential for performing the DM command in the ACL value are not described. There is a problem that can not be performed.
  • the conventional DM protocol has a problem that all nodes have an ACL attribute regardless of the characteristics of the MO.
  • a method for performing authorization authentication for a DM command of a server with respect to a node of a device management (DM) tree stored in the terminal at the terminal is disclosed.
  • the authority group is one of a plurality of authority groups to which authority for at least one of a plurality of commands is assigned, and a server belonging to the authority group has authority to at least one command assigned to the authority group. Can be.
  • a subset of said plurality of rights groups may be assigned rights for at least one same command.
  • each of the plurality of permission groups may be assigned a permission for commands selected by at least one command randomly selected from among a plurality of commands or any combination of the plurality of commands.
  • each of the plurality of permission groups may be assigned a permission for at least one command selected according to a dependency relationship between the plurality of commands.
  • the authority group when the authority group is assigned authority for a first command, the authority group may also be assigned authority for a second command that is essential for performing the first command.
  • one authority group of the plurality of authority groups may be assigned authority for all commands assigned to another authority group.
  • the authority for the command assigned to each of the plurality of authority groups may vary according to the type of the node.
  • the The method may further include modifying an ACL value of the node to a new ACL value based on the authority group information.
  • a terminal configured to perform authorization authentication for a DM command of a server for a node of a device management (DM) tree is disclosed, and the command for the node from the server is disclosed.
  • a communication module configured to receive; And retrieving an access control list (ACL) value required for authorization of the command of the server, and based on the authority group included in the retrieved ACL value and authority group information indicating a server belonging to the authority group.
  • a processor module configured to check whether the server that sent the command belongs to a permission group for the command, wherein the permission group includes a plurality of rights to which rights for at least one of a plurality of commands are assigned.
  • One of the groups, and the server belonging to the authority group may have authority for at least one command assigned to the authority group.
  • a subset of said plurality of rights groups may be assigned rights for at least one same command.
  • each of the plurality of permission groups may be assigned a permission for commands selected by at least one command randomly selected from among a plurality of commands or any combination of the plurality of commands.
  • each of the plurality of permission groups may be assigned a permission for at least one command selected according to a dependency relationship between the plurality of commands.
  • the authority group when the authority group is assigned authority for a first command, the authority group may also be assigned authority for a second command that is essential for performing the first command.
  • one authority group of the plurality of authority groups may be assigned authority for all commands assigned to another authority group.
  • the authority for the command assigned to each of the plurality of authority groups may vary according to the type of the node.
  • the processor module is The ACL value of the node may be configured to be modified to a new ACL value based on the authority group information.
  • a method for requesting authorization of a DM command of a server to a node of a device management (DM) tree stored in a terminal in a server is disclosed.
  • the terminal causes the terminal to retrieve an access control list (ACL) value required for authorization of the command of the server, thereby indicating an authorization group included in the retrieved ACL value and a server belonging to the authorization group.
  • ACL access control list
  • One of the authority groups and a server belonging to the authority group may have authority for at least one command assigned to the authority group.
  • a server configured to request authorization authentication for a DM command for a node of a Device Management (DM) tree stored in a terminal, and to generate a command for the node.
  • a configured processor module configured to transmit a command to the node to a terminal, wherein the command causes the terminal to retrieve an access control list (ACL) value required for authorization of the command of the server, On the basis of the authority group included in the retrieved ACL value and the authority group information indicating the server belonging to the authority group, it is determined whether the server that has sent the command belongs to the authority group for the command.
  • ACL access control list
  • One of a plurality of authority groups to which authority for at least one of a plurality of commands is assigned, and a server belonging to the authority group may have authority for at least one command assigned to the authority group.
  • the authority group may be configured to perform authority authentication for each node to effectively express the ACL value.
  • authority group by configuring the authority group in consideration of dependencies among the commands to be assigned to the authority group, authority for all commands necessary to perform a specific DM command may be assigned.
  • the present invention it is possible to reduce the overload of the protocol by performing a flexible form of authority control by avoiding node-level authority control.
  • the ACL value can be obtained from the parent node or ancestor node having the ACL attribute without a separate search process.
  • the ACL value can be searched only for nodes having an ACL attribute, without having to search the ACL values of all nodes.
  • FIG. 1 is a view showing an authentication process for a DM command according to the prior art
  • FIG. 2 is a diagram illustrating a syntax for expressing an ACL value based on a permission group according to an embodiment of the present invention
  • FIG. 3 is a diagram illustrating an example of expressing an ACL value of each node using an authority group according to an embodiment of the present invention
  • FIG. 4 is a flowchart illustrating a method for authenticating authority for a command of a server in a terminal through an authority group according to an embodiment of the present invention
  • FIG. 5 is a flowchart illustrating a method for authenticating authority for a command of a server in a terminal through an authority group according to an embodiment of the present invention
  • FIG. 6 is a diagram showing an example in which selective authority group setting control is applied according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a method of performing a specific command according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating an example of a MO tree
  • FIG. 9 is a diagram illustrating an example of applying selective authority group setting control for a specific MO according to an embodiment of the present invention.
  • FIG. 10 is a view showing a modified DDF of a specific MO for notifying a server of information regarding selective authority group setting according to an embodiment of the present invention
  • FIG. 11 is a diagram illustrating a proposed MO for notifying a server of information about an optional authority group setting according to an embodiment of the present invention
  • FIG. 12 is a diagram illustrating an example for notifying a server of information on selective authority group setting using the MO of FIG. 11; FIG.
  • FIG. 13 is a block diagram of an apparatus for implementing an embodiment of the present invention.
  • the present invention relates to a device management client and a device management server or a device management procedure for performing device management for a specific management object (MO), and more particularly, each node of the MO of the device management server. It is to manage the authority for.
  • MO management object
  • an apparatus may be used interchangeably with a terminal
  • a DM command may be used interchangeably with a command, a DM server with a DMS or a server, and a DM client with a DMC or a terminal.
  • the present invention proposes an efficient authority authentication method and authority control method suitable for device management (DM).
  • DM device management
  • the DM protocol provides a total of five DM commands. Each DM command is used to manipulate the DM tree, and its meaning depends on whether the DM command is targeting leaf nodes, interior nodes, or node attributes. Meaning of each DM command by object is as follows. The DM command does not have to be the following and other DM commands may be used.
  • Table 1 Get Leaf node Get the node value Interior node Get the list of child nodes Property Get the property value Exec Leaf node Execute the node Interior node Execute the node Property N / A Add Interior node Add a leaf node to the interior node, Add a sub-tree to the interior node Leaf node, Property N / A Delete Leaf node Delete the leaf node Interior node Delete the interior node and the entire sub-tree Property N / A Replace Leaf node Replace the node value Interior node Replace the entire sub-tree Property Replace the property value
  • the existing DM protocol described ACL values at the DM command-level and performed authorization.
  • this method has various problems described above, and in order to solve this problem, the present invention introduces a right group concept and performs right authentication.
  • a dependency relationship between DM commands means that if you have authority over one command, you also need authority over another command. For example, a DMS that has a Replace privilege on a leaf node will also need a Get privilege, so the Replace privilege depends on the Get privilege. Thus, privileges for these dependent commands can be configured to be assigned to one privilege group.
  • the present invention proposes a terminal management group and management authority assigned to each group as shown in Table 2 below.
  • Table 2 below.
  • the groups of administrative rights proposed in Table 2 there is a dependency between the commands allowed for each group.
  • the groups of management authority proposed in Table 2 depend on each other, and the group described later includes the management authority of the preceding group. Therefore, the DMS belonging to the R group can read data from the node, and the DMS belonging to the A group has the authority to create a new node in addition to the authority belonging to the R group. However, DMS belonging to group A does not have the authority to modify an existing node.
  • the DMS belonging to the W group has all rights of group A, and additionally has the authority to modify data of an existing node.
  • the types of commands (or allowed command rights) that can be executed for each group and for each target are shown in Table 3 below.
  • a subset of the plurality of authority groups R, A, and W or two or more authority groups of the plurality of authority groups may be assigned authority for at least one same command.
  • the entire set of the plurality of permission groups is all assigned the Get permission, but in other embodiments, only some of the entire permission groups may be assigned the permission for at least one same command.
  • each of the plurality of authority groups may be assigned authority for at least one command.
  • a permission group eg, a W group
  • a permission for a first command eg, Replace
  • the one permission group is assigned to a second command (Get or Add), which is essential for performing the first command.
  • Authority may be assigned.
  • the types of commands listed in Table 3 above may change depending on the types of commands supported by the DM protocol. For example, the following command configuration is also possible.
  • the PUT command is the sum of Add and Replace in Table 3 above. If the PUT command targets an existing resource, it has the meaning corresponding to the Replace command. It can be said to have the meaning corresponding to Add.
  • Table 4 below illustrates a privilege group in which a Put command is added instead of Add and Replace.
  • Table 4 group Command for leaf nodes Command for interior node Command for attribute R Get Get Get A Get Get, Put (URI for Put refers to a non-existing resource) Get W Get, Delete, Put Get, Delete, Put (URI for Put refers to an existing or non-existing resource) Get, Put
  • the commands assigned to each permission group may be set to have a dependency relationship with each other.
  • the ACL value for expressing command privileges for each node can be shortened or simplified.
  • the specific command authority is granted to the node, but the authority for other commands necessary to execute the specific command is not granted to the node, and thus cannot perform other necessary commands. It can solve the contradiction.
  • the command authority group may be arbitrarily classified without considering the dependency between the commands.
  • DM commands not mentioned in the authority groups illustrated above are treated as separate independent right groups.
  • a typical independent authority is the authority for the Exec command, which is assigned to the DMS separately from the three authority groups. This is because the Exec privilege is hardly dependent on any other privileges (Get, Replace, Delete, Add). Table 6 below illustrates independent authority groups.
  • RE DMS1
  • E Exec
  • the method of expressing an ACL value based on the authority group proposed in the present invention follows the format of FIG. 2 similar to the format defined in [DM-TND].
  • the above form may also be expressed in other ways within the scope of the present invention.
  • A * * for the root node of the DM tree.
  • ACL inheritance in the same manner as in DM 1.3 can be applied to the present invention.
  • the ACL value of that parent node is inherited, and if the ACL value of the parent node is also empty, the ACL of the first node whose ACL value is not empty is sequentially raised to the parent node of that parent node.
  • the value is inherited.
  • at least the ACL value must be defined for the root node of the DM tree. Therefore, even if the ACL value is empty for a node, if it is found to move up to the parent node in the DM tree, the ACL value will be found. You lose.
  • FIG. 3 shows an example of expressing an ACL value using a permission group according to an embodiment of the present invention.
  • a brief representation of SCOMO is given in part.
  • the terminal may receive a command for a specific node from the server (S410).
  • the terminal may search for an ACL value required to authenticate the authority for the command of the server (S420). In most cases, the ACL value of the node may be obtained. However, as described in S120 of FIG. 1, the ACL value of the parent node of the node may be used (that is, inheritance).
  • the terminal may determine whether the server has the authority for the command based on the authority group described in the ACL value and the information about the server belonging to the authority group (S430, S440).
  • the terminal determines whether the command from the command originating server belongs to a command allowed in a specific authority group to which the command originating server belongs in the ACL value. It may be determined (S440). In other words, it may be determined whether the authority for the command from the command originating server is assigned to the authority group to which the command originating server belongs. If the determination result of S440 corresponds to "Yes (Y)", the authentication of the server is determined to be successful (S450-1). It is determined that the authentication for the server corresponding to the determination result of S440 as "no" (N) has failed (S450-2). In addition, the terminal may inform the server of the determination result of S440.
  • 5 is a flowchart illustrating a method for authenticating a right to a command of a server in a terminal through a right group according to an embodiment of the present invention. 5 illustrates the overall authentication procedure, which will be described below in detail for each process.
  • the terminal may receive a command targeting a specific node from the DMS1 (S501).
  • the terminal receives a command targeting a specific node from the DMS1.
  • the target node can be determined through the URI.
  • the terminal can retrieve the ACL value of the specific node (S502).
  • the terminal may search for the ACL value of the parent node of the specific node, the description thereof is the same as described in S120 of FIG.
  • the terminal can determine whether the command from the DMS1 is a command that can be authenticated by the authority group (S503).
  • Commands to get, add, and modify data of a node correspond to commands that can be authenticated by an authority group.
  • the remaining commands correspond to commands that can be authenticated by independent privilege groups.
  • the process proceeds to S505; otherwise, the process proceeds to S504.
  • step S505 the terminal may determine whether the command sent by the DMS1 is a command for reading data.
  • a representative example of a command to read such data is Get. If the command sent by the DMS1 reads data, the method proceeds to S507. Otherwise, the method proceeds to S506.
  • step S506 the terminal may determine whether the command sent by the DMS1 is a command for adding new data.
  • a typical example of a command to add such data is Add. If the command sent by the DMS1 is a command for adding new data, the method proceeds to S508. Otherwise, the method proceeds to S509.
  • the ACL value obtained in S502 may determine whether the DMS1 belongs to the R / A / W group. If the DMS1 belongs to one authority group of the R / A / W group, authentication is completed successfully (S510). Otherwise, authentication ends in failure (S511).
  • the command sent by the DMS1 is a command for adding new data
  • authentication succeeds even if the DMS1 belongs to any of the A / W groups.
  • the UE may determine whether the DMS1 belongs to the A / W group through the ACL value obtained in S502. If the DMS1 belongs to one authority group of the A / W group, authentication is completed successfully (S510). Otherwise, authentication ends in failure (S511).
  • DMS1 since the determination result of the previous step S506 is "N", the command sent by the DMS1 corresponds to a command for modifying data. Therefore, DMS1 may belong to the W group to have authority for the command.
  • the ACL value obtained in S502 may determine whether DMS1 belongs to the W group. If DMS1 belongs to the W group, authentication is successfully completed (S510). Otherwise, authentication ends in failure (S511).
  • S510 is a case where authentication is successful, and in this case, the terminal may perform a command from DMS1.
  • S511 is a case where authentication fails, in this case, the terminal does not perform a command from DMS1.
  • the authentication method described with reference to FIG. 5 may be implemented in other manners using the concept of an authority group and an independent authority group proposed in the embodiment of the present invention.
  • the second embodiment of the present invention proposes a method that can control the level of access control more efficiently.
  • the privilege control level was inefficient at the node-level. To solve this, make sure that all nodes do not have ACL attributes, and that only selected nodes have ACL attributes according to a particular method, and nodes without ACL attributes have their ACL attributes inherited through inheritance from their parent or ancestor nodes. Make a decision.
  • Figure 6 illustrates this example, where the darkened node is the node specified to have an ACL attribute. Unspecified nodes cannot have ACL attributes, so ACL values cannot be set. Also, nodes with ACL attributes must have a non-empty ACL value.
  • FIG. 7A illustrates a process of obtaining an ACL value
  • FIG. 7B illustrates a process of modifying an ACL value.
  • S701 a terminal or a DMC is requested to read or get an ACL value of a specific node.
  • This process corresponding to S701 is performed when the DMS sends a command to the terminal or the DMC because the ACL value is required to authenticate the command.
  • a process corresponding to S701 may be performed to confirm (authenticate) whether the DMS has authority for the Delete command for the specific node.
  • the process of obtaining (reading) the ACL value may be performed when the DMS sends a command (Get) to read the ACL value.
  • the terminal may determine whether the specific node has an ACL attribute.
  • the terminal may determine whether the specific node has an ACL attribute.
  • the conventional DM technology since all nodes are set to have an ACL attribute, there is no need to perform a process as in S702. However, in the embodiment of the present invention related to FIG. 7, only some selected nodes are configured to have an ACL attribute. need. If the specific node has an ACL attribute, go to S704 to read the ACL value of the specific node. Otherwise, ACL inheritance of the particular node is determined by ACL inheritance.
  • the ACL value is obtained through ACL inheritance in S703.
  • the ACL value is inherited from the closest or nearest node to the particular node having the ACL attribute.
  • the "ancestor node” is a term widely used in the DM field, and the ancestor nodes of the specific node include a parent node of the specific node and a root node of the DM tree (ie, a parent node of the specific node). And between the root node of the DM tree). That is, it refers to all nodes located above and higher level of the specific node in the DM tree.
  • the ACL value may be inherited from the node having the first ACL attribute in the direction of the root node of the DM tree to which the specific node belongs.
  • the terminal or the DM client since a node having an ACL attribute is determined in advance, the terminal or the DM client does not need to climb up the parent node in sequence, and moves directly to a ancestor node that can inherit the ACL value. You can get the value. This can greatly reduce the process of obtaining an ACL value through ACL inheritance in the past. ACL inheritance is guaranteed because at least the root node of the DM tree must have an ACL attribute and an ACL value. Accordingly, since the specific node has an ACL value through ACL inheritance, the ACL value of the specific node is read in S704.
  • the process of replacing the ACL value described in FIG. 7 (b) is as follows. It is assumed here that the DMC that sent the command has permission to modify the ACL value.
  • the terminal or the DM client may receive a command for changing the ACL value of the specific node from the DMS.
  • the terminal may determine whether the specific node has an ACL attribute. If the specific node does not have an ACL attribute, it moves to S715 because the ACL value cannot be modified.
  • step S713 the terminal determines whether the ACL value in the command sent by the DMS is a valid value, that is, whether the ACL value is not empty and is a correct value. You can judge.
  • the correct ACL value means to conform to the ACL expression format described in FIG.
  • step S714 the terminal modifies the existing ACL value of the specific node with the ACL value sent by the DMS. Otherwise, the command of the DMS ends in failure, and the terminal may transmit an error code to the DMS.
  • the ACL attribute is assigned only to a node requiring a separate permission setting, thereby efficiently controlling the level of access control. Further, according to the permission level control method, the process of inheriting the ACL value is greatly shortened, and even when deleting a DM account, only a node selected to have an ACL attribute is searched without having to search all nodes. It is much more efficient because you only need to delete (acl-entry).
  • the DMC obtains an ACL value. Therefore, if the DMS belongs to an R group or a group having a wider authority than the R node to which the authority for the Get command is assigned for a specific node that wants to obtain an ACL value, the DMS may send a Get command to the DMC to obtain the ACL value.
  • the DMS gets the ACL value, it can see what privileges the DMS, including itself, has for that node. At this time, it may be determined by referring to Tables 2 to 6 in order to confirm the authority granted to the other DMS. For example, if the DMS1 belongs to the W group for a specific interior node, the DMS1 may cause the DMC to perform commands of Get, Add, Delete, and Replace to the specific interior node.
  • the DM protocol assumes that the terminal has a DM tree in order to manage the terminal.
  • the DM tree is composed of several MOs such as FUMO [FUMO], SCOMO [SCOMO], DiagMon [DiagMon], and the like.
  • the topmost node in the DM tree is called the root note (".”)
  • the FUMO "./FUMO"
  • SCOMO SCOMO
  • DiagMon "./DiagMon” beneath the root node.
  • the nodes in the ") are called MO root nodes.
  • the MO root node usually refers to the highest node in each MO, and is distinguished from the general node by assigning a specific Management Object Identifier (MOID). That is, urn: oma: mo: oma-fumo: 1.0 is assigned as MOID to the MO root node of FUMO.
  • MOID Management Object Identifier
  • Rule 1 The root node (".") Of the DM tree must have an ACL attribute.
  • a node that starts from the MO root node and needs to have different access rights from the MO root node to child nodes of the MO root node has an ACL attribute.
  • the ACL value is obtained through ACL inheritance.
  • ACL attribute ownership information may be delivered through the Device Description Framework (DDF), or may be delivered by configuring a separate MO that stores the corresponding information.
  • the ACL attribute ownership information may be stored in a DDF or a separate MO.
  • the DMS only knows which node has an ACL attribute and cannot dynamically create or delete an ACL attribute. That is, the DMS cannot delete an ACL attribute from a node having an ACL attribute, and cannot create a new ACL attribute on a node having no ACL attribute.
  • DDF describes management syntax and semantics supported by a specific terminal. It indicates which MO supports the terminal and which management function is included in which MO if the specific MO is supported. . DDF is usually expressed in XML format and provides static information for management syntax and semantics, making it a good place to describe which nodes have ACL attributes.
  • FIG. 10 illustrates that the DDF of the FUMO is partially changed, so that only the root node of the FUMO has an ACL attribute as shown in FIG. 9.
  • an ⁇ ACLProperty> element is added as true only to the root node of the FUMO. This means that only nodes with a true value of the ⁇ ACLProperty> element have ACL attributes.
  • Such a DDF may be stored in a DMS or a DMC and may be downloaded via a URI.
  • node information having an ACL attribute may be delivered to the DMS in the form of an MO (that is, ACLMO) as shown in FIG. 11.
  • ACLMO that is, ACLMO
  • Description of each node in FIG. 11 is as follows.
  • the node "ACLMO / ⁇ x> / MOID” represents the MOID of a particular MO.
  • the node "ACLMO / ⁇ x> / ACLNode” stores information related to the node having an ACL attribute here for the MO referred to as MOID stored in the node value of node "ACLMO / ⁇ x> / MOID".
  • the node "ACLMO / ⁇ x> / ACLNode / ⁇ x> / URI" is a URI in the form of a URI for the MO referred to as MOID stored in the node value of node "ACLMO / ⁇ x> / MOID". It is stored here.
  • FIG. 12 shows an actual ACLMO example of providing node information having ACL attributes for SCOMO and FUMO using the ACLMO of FIG. 11.
  • the DMS can read the information by sending a Get command in the actual ACLMO example.
  • the DMS cannot change the data of the actual ACLMO example.
  • This method of using ACLMO has an advantage of transmitting node information having an ACL attribute to the DMS without having to modify the syntax of the DDF.
  • the server and the terminal are configured to include a communication module and a processor module, respectively, and the communication module and the processor module are merely examples of the server and the terminal, and more modules may be added.
  • the terminal 10 may be configured to perform authorization authentication for a command of the server 20.
  • the terminal is a communication module 11 configured to receive a command for a node from the server and a processor module 12 configured to retrieve an access control list (ACL) value required for authorization of the command of the server. It may include.
  • the node that is the target of the command of the server may or may not have an ACL value. If the node does not have an ACL value, it is necessary to get the ACL value from the ancestor node of the node through inheritance of the ACL value.
  • the processor module may be configured to retrieve the ACL value required for authorization of the command of the server, that is, the ACL value of the ancestor node of the node through the ACL value or inheritance of the node.
  • the processor module determines whether the server 20 that sent the command belongs to the authority group for the command based on the authority group included in the retrieved ACL value and the authority group information indicating the server belonging to the authority group. It may be configured to check whether or not.
  • the processor module 12 may determine whether the server that sent the command has the authority for the command based on whether the server that sent the command belongs to the authority group for the command. In addition, if it is determined that the server that sent the command has the authority to the command, the processor module 12 may perform the command on the node.
  • the server 20 may instruct or transmit a command for a node of the MO to the terminal 10.
  • the server includes a processor module 22 configured to generate a command for the node; And a communication module 21 configured to transmit a command for the node to the terminal.
  • the command causes the terminal to retrieve an access control list (ACL) value required for authorization of the command of the server, and belongs to an authority group and the authority group included in the ACL value of the node. Based on the authority group information indicating the server, it may be determined whether the server belongs to the authority group. If it is determined that the server 20 belongs to the authority group for the command, that is, if it is determined that the server 20 has authority for the command, the terminal may perform the command on the node. .
  • ACL access control list
  • the authority group is one of a plurality of authority groups to which authority for at least one of a plurality of commands is assigned, and a server belonging to the authority group may have authority for at least one command assigned to the authority group. have.
  • the description of the rights group is described in more detail in the context described in connection with Tables 2-6.
  • a subset of the plurality of rights groups may be assigned rights for at least one same command.
  • R group and A group among R group, A group and W group are assigned authority for Get command.
  • each of the plurality of authority groups may be assigned authority to commands selected by at least one command arbitrarily selected from among a plurality of commands or any combination of the plurality of commands.
  • each of the plurality of authority groups may be assigned authority for at least one command selected according to a dependency relationship between the plurality of commands. For example, in order to perform the Add command, since the Get command is necessary, the Add command is dependent on the Get command, and thus, the group A may be assigned permission for the Get command in addition to the Add command. In other words, if the authority group is assigned authority for the first command, the authority group may also be assigned authority for the second command that is necessary for performing the first command.
  • the first command depends on the second command.
  • one authority group of the plurality of authority groups may be assigned authority for all commands assigned to another authority group.
  • the W group may be assigned authority for all commands assigned to the A group. This is because all the commands assigned to group A are necessary to carry out all the commands assigned to group W, which is included in the above dependency on each command.
  • the authority for the command assigned to each of the plurality of authority groups is different depending on the type of the node. It has been described above that the node includes an interior node and a leaf node. As shown in Tables 3 to 5, it can be confirmed that the authority is different depending on the type of each node.
  • the terminal 10 may be configured to perform a DM command for a node of a device management (DM) tree of a server.
  • the node may be configured to have a non-empty ACL value with an ACL attribute and to have no ACL value with no ACL attribute.
  • the terminal includes a communication module (11) configured to receive a DM command for the node from the server; And determining whether the node has an ACL attribute and, if the node does not have an ACL attribute, determines a node that can inherit an ACL value to the node based on ACL attribute ownership information, and inherits from the determined node. It may include a processor module 12 configured to bring the ACL value of the determined node through.
  • Nodes of the DM tree are selectively configured to have an ACL attribute, and the ACL attribute ownership information may include information about a node having an ACL attribute among the nodes of the DM tree.
  • the processor module is a node capable of inheriting an ACL value to the node, and determines a ancestor node having an ACL attribute closest to the node in the DM tree by using information about a selected node having the ACL attribute. It can be configured to.
  • the ACL attribute ownership information may indicate that an ACL attribute has been selectively assigned to some nodes of all nodes, and the ACL attribute ownership information may include a node that needs to be assigned a different authority from a parent node among the nodes of the DM tree. It can indicate that it has an ACL attribute.
  • the ACL attribute ownership information indicates that a root node of the DM tree and a root node of a Management Object (MO) of the DM tree must have an ACL attribute, and it is a child of the root node of the MO. Nodes in the level that need to be assigned different permissions than the parent node may indicate that they have ACL attributes.
  • the ACL attribute ownership information may be stored in a device description framework (DDF) of the terminal or a separate management object (MO) of the terminal.
  • DDF device description framework
  • MO management object
  • the processor when a DM command for deleting an account of the server is received, the processor has an ACL attribute in the DM tree based on ACL attribute ownership information or using information about a selected node having the ACL attribute. May be configured to delete an ACL entry associated with the identifier of the server from an ACL value of the existing node.
  • the DM command for deleting the account of the server may be generated by the terminal itself according to a condition set in the terminal.
  • the server may delete the DM account using the Delete command.
  • the server Before the server deletes the DM account, the server conventionally allows the terminal or the DM client in the terminal to check all nodes of the DM tree one by one to see if there is an identifier (ID) of the server to be deleted in the ACL value.
  • ID an identifier
  • an ACL attribute is selectively assigned to a node in the DM tree, and a node having the ACL attribute is set to have a non-empty ACL value, and this information is stored as ACL attribute ownership information. Only nodes with can check if there is an identifier (ID) of the server to be deleted in the ACL value.
  • the server causes the terminal or the DM client in the terminal to perform the check only on nodes having an ACL attribute based on the ACL attribute ownership information to delete the ACL value associated with the ID of the server to be deleted.
  • an authorization group is configured to perform authorization authentication, and the authorization group may be configured in consideration of a dependency relationship between DM commands or arbitrarily.
  • the lower authority group has a wider scope of authority, and may be configured to include the authority of the upper authority group. That is, the authority for the commands assigned to the lower authority group depends on the authority for the commands assigned to the upper authority group, and since it is included, the dependency between DM commands can be considered. For example, in order for a DMS to have Replace permission on a particular leaf node, it must belong to the W group, and since the W group naturally includes all the rights of the R group, it also automatically has the Get permission.
  • the ACL value when expressed by using the authority group and the independent authority group, the ACL value may be represented more effectively.
  • DM 1.x all nodes have ACL attributes, so node-level permission control has been applied uniformly. However, such detailed authority control is unnecessary in actual device management (DM), resulting in protocol overload. If a node is selected by the method proposed in the present invention and an ACL attribute is assigned to only the selected node, the authority control level can be controlled, thereby enabling the terminal to be managed more efficiently. That is, an MO such as FUMO [FUMO] needs to assign an ACL attribute only to the root node of the MO, and in the case of SCOMO [SCOMO], selects a node and assigns an ACL attribute as shown in FIG. 6.
  • DM 1.x also used an empty ACL value for ACL inheritance. In other words, if the ACL value is empty, the method inherits the ACL value from the parent node. If the parent parent node's ACL value is also empty, it must go up to its parent node and find the ancestor node with the non-empty ACL value. This is inefficient because you have to go up to the parent node one after the other for ACL inheritance.
  • a node having an ACL attribute is preselected in a specific manner, and a non-empty ACL value is assigned to the selected node.
  • the information about the selected node having such an ACL attribute may be delivered to the DMS through a separate MO such as DDF or ACLMO.
  • DMC can inherit ACL values much more efficiently because it can go directly to the node that has the ACL attribute and get the ACL value instead of following the parent node in turn for ACL inheritance.
  • Embodiments of the invention may be used in a device management system, in a server, terminal, client device or other device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Disclosed is a method for authenticating from a terminal authority to a device management (DM) command of a server with respect to nodes of a DM tree that are saved on the terminal, and the method comprises the steps of: receiving the command with respect to the nodes; retrieving from the server an access control list (ACL) value of the node; and determining whether the server has authority to the command, based on information on a authenticated group that is described on the ACL value of the nodes, and on the server that belongs to the authority group, wherein the authority group is one of a plurality of authority groups to which authority to at least one command from a plurality of commands is allocated, and the server that belongs to the authority group can have authority to the at least one command that is allocated to the authority group.

Description

서버의 명령에 대한 권한 인증 방법, 권한 인증 요청 방법 및 그를 위한 장치Authorization authentication method, authorization request method, and device for the command on the server
본 발명은 서버의 노드에 대한 권한을 인증하기 위한 방법 및 그를 위한 장치로서, 좀더 상세하게는 단말이 서버의 권한을 인증하기 위한 방법과 이를 수행하는 단말에 관한 것이다. The present invention relates to a method for authenticating authority for a node of a server and an apparatus therefor, and more particularly, to a method for a terminal authenticating authority of a server and a terminal performing the same.
일반적으로 장치 관리(Device Management; DM) 기술은 장치 관리 서버가 효과적인 방법으로 특정 장치에 저장된 변수나 객체의 값을 원격적으로 제어함으로써 그 장치의 설정을 변경할 수 있는 기술이다. 상기 장치 관리 기술은 OMA(Open Mobile Alliance)에서 SyncML Initiative(Synchronisation Markup Language) 포럼에서 작성한 SynchML Data Synchronisation을 기반으로 하여 국제 규격으로서 개발 진행 중이며, 이미 다른 표준화 단체와 전 세계 통신 사업자들에게 사실상 향후 장치 관리 기술 표준으로 받아들여지고 있다. 상기 OMA 장치 관리 기술은 다른 장치 관리 기술에 비해 가장 다양한 기능을 지원하는 규격으로서, 장치 관리 프로토콜 규격, 장치 관리 문서 표현 방식에 관한 규격, 전송 프로토콜과의 연결(binding)에 관한 규격, 장치 관리 트리와 장치 관리 노드에 관한 규격, DDF(Device Description Framework)에 관한 규격, 통지(Notification)에 관한 규격 등을 포함한다. In general, Device Management (DM) technology is a technology that allows a device management server to change the configuration of a device by remotely controlling values of variables or objects stored in a specific device in an effective manner. The device management technology is being developed as an international standard based on SynchML Data Synchronisation, which was written by the SyncML Initiative (Synchronization Markup Language) Forum at the Open Mobile Alliance (OMA), and is already being developed by other standards bodies and operators worldwide. It is accepted as the management technology standard. The OMA device management technology is a standard that supports the most diverse functions compared to other device management technologies. The device management protocol standard, the device management document presentation standard, a binding protocol and a transport protocol, and a device management tree And a standard for a device management node, a standard for a device description framework (DDF), a standard for notification, and the like.
이러한 장치 관리는 장치 내부에 존재하는 관리 객체(Management Object; MO)에 대한 명령을 장치 관리 서버(DMS)가 상기 장치로 전송하고, 상기 장치의 장치 관리 클라이언트(DMC)는 상기 명령을 수행함으로써 이루어질 수 있다. 상기 DMC는 상기 장치에 탑재되어 상기 DMS로부터의 전달받아 수행하는 엔티티에 해당한다. 상기 MO는 상기 장치 내부에 존재하는 관리 트리(또는 트리) 또는 상기 트리의 노드와 논리적으로 연결되어 있다. 따라서, 상기 장치 관리 서버는 MO에 대한 명령을 통해 상기 명령의 대상이 되는 MO 또는 이러한 MO와 연관된 트리 또는 노드에 대한 제어를 수행할 수 있다. 상기 MO는 일반적으로 상기 장치의 데이터베이스에 존재하며, 상기 장치 관리 서버는 상기 MO를 상기 트리 또는 노드의 URI를 통해 접근하여 관리 명령을 지시할 수 있다. This device management is performed by the device management server (DMS) sending a command for a management object (MO) existing inside the device to the device, and the device management client (DMC) of the device performs the command. Can be. The DMC corresponds to an entity mounted in the device and receiving from the DMS. The MO is logically connected to a management tree (or tree) existing within the device or a node of the tree. Accordingly, the device management server may control a MO, or a tree or node associated with the MO, that is the target of the command through a command to the MO. The MO generally exists in a database of the device, and the device management server may access the MO through the URI of the tree or node to instruct a management command.
이하에서는 본 발명과 관련된 배경기술에 대해 설명한다. Hereinafter, the background art related to the present invention will be described.
장치 관리(Device Management)Device Management
장치 관리(DM; Device Management)는 다양한 관리 당국(Management Authorities)들의 관점에서 장치 구성 및 장치들의 다른 관리된 객체를 관리하는 것을 지칭한다. 장치 관리는 장치들 내의 끊임없이 지속되는 정보의 순차적인 업데이트들, 장치들로부터 관리 정보의 검색, 및 장치들에 의해 생성된 이벤트들과 알람들의 처리를 포함하나, 장치들 내의 초기 구성 정보를 설정하는 것에 한정되지 않는다(Management of the Device configuration and other managed objects of Devices from the point of view of the various Management Authorities. Device Management includes, but is not restricted to setting initial configuration information in Devices, subsequent updates of persistent information in Devices, retrieval of management information from Devices and processing events and alarms generated by Devices.)Device Management (DM) refers to managing device configuration and other managed objects of devices from the perspective of various Management Authorities. Device management includes sequential updates of constantly persisting information in devices, retrieval of management information from devices, and processing of events and alarms generated by devices, but which sets initial configuration information within devices. Management of the Device configuration and other managed objects of Devices from the point of view of the various Management Authorities.Device Management includes, but is not restricted to setting initial configuration information in Devices, subsequent updates of persistent information in Devices , retrieval of management information from Devices and processing events and alarms generated by Devices.)
관리 트리(Management Tree)Management Tree
관리 트리는 관리 서버가 DM 클라이언트와 상호작용, 예컨대 관리 트리에 값들을 저장하거나 관리 트리로부터 값들을 검색함으로써 그리고 관리 트리의 속성들을 조작함으로써, 하기 위한 인터페이스이고, 예컨대 ACL(access control list)가 있다(The interface by which the management server interacts with the client, e.g. by storing and retrieving values from it and by manipulating the properties of it, for example the access control lists.) 본 명세서에서는, 관리 트리는 장치 관리 트리 또는 DM 트리와 상호호환 가능하게 지칭될 수 있다.The management tree is an interface for the management server to interact with the DM client, such as by storing values in or retrieving values from the management tree and by manipulating the attributes of the management tree, such as an access control list (ACL). The interface by which the management server interacts with the client, eg by storing and retrieving values from it and by manipulating the properties of it, for example the access control lists.) In this specification, a management tree interacts with a device management tree or a DM tree. It may be referred to interchangeably.
MO(관리 객체; Management Object)Management Object (MO)
관리 객체는 서로 몇몇 방식으로 관련된 노드들의 집합(하나의 노드 단독으로도 가능)이 될 것이 의도된 관리 트리의 서브 트리이다. 예컨대, ./DevInfo 노드들은 관리 객체를 형성할 수 있다. 간단한 관리 객체는 하나의 단독(single) 노드로 구성될 수 있다(A Management Object is a subtree of the Management Tree which is intended to be a (possibly singleton) collection of Nodes which are related in some way. For example, the ./DevInfo Nodes form a Management Object. A simple Management Object may consist of one single Node.)A management object is a subtree of a management tree that is intended to be a set of nodes (sometimes alone) that are related to each other in some way. For example, ./DevInfo nodes may form a managed object. A Management Object is a subtree of the Management Tree which is intended to be a (possibly singleton) collection of Nodes which are related in some way.For example, the ./DevInfo Nodes form a Management Object.A simple Management Object may consist of one single Node.)
DM Server 또는 DMS(Device Management Server)DM Server or Device Management Server (DMS)
DM 서버 또는 DMS는 상기 DM 서버 또는 상기 DMS에 대해 특정된 OMA 장치 관리 인에이블러(Enabler) 고정 적합(static conformance) 요구사항들을 따르는 장치 관리 인프라스트럭쳐에 있는 개념적인 소프트웨어 컴포넌트일 수 있다. 상기 DM 서버 또는 상기 DMS는 DM 클라이언트-서버 프로토콜 및 DM 서버-서버 인터페이스의 엔드-포인트로서 서비스할 수 있다(An abstract software component in a deployed Device Management infrastructure that conforms to the OMA Device Management Enabler static conformance requirements specified for DM Servers. It serves as an end-point of the DM Client-Server Protocols and DM Server-Server Interface).The DM server or DMS may be a conceptual software component in a device management infrastructure that conforms to the OMA Device Management Enabler static conformance requirements specified for the DM server or the DMS. The DM server or the DMS may serve as an endpoint of a DM client-server protocol and a DM server-server interface. (An abstract software component in a deployed Device Management infrastructure that conforms to the OMA Device Management Enabler static conformance requirements specified for DM Servers.It serves as an end-point of the DM Client-Server Protocols and DM Server-Server Interface).
또한, 본 명세서에서 DM 서버 또는 DMS는 통신모듈, 프로세서모듈 등을 구비하는 장치, 디바이스, 컴퓨터 등 내에 탑재된 채로 제공될 수 있으며, 따라서 하나의 장치로서 구현될 수 있다. In addition, in the present specification, the DM server or the DMS may be provided mounted in an apparatus, a device, a computer, etc. having a communication module, a processor module, and the like, and thus may be implemented as one device.
DM Client 또는 DMC(Device Management Client)DM Client or Device Management Client
DM 클라이언트 또는 DMC는 상기 DM 클라이언트 또는 상기 DMC에 대해 특정된 OMA 장치 관리 인에이블러(Enabler) 고정 적합(static conformance) 요구사항들을 따르는 장치 임플리멘테이션(implementation)에 있는 개념적인 소프트웨어 컴포넌트일 수 있다. 상기 DM 서버 또는 상기 DMS는 DM 클라이언트-서버 프로토콜의 엔드-포인트로서 서비스할 수 있다(An abstract software component in a Device implementation that conforms to the OMA Device Management Enabler static conformance requirements specified for DM Clients. It serves as an end-point of the DM Client-Server Protocols.).The DM client or DMC may be a conceptual software component in device implementation that conforms to the OMA Device Management Enabler static conformance requirements specified for the DM client or the DMC. have. The DM server or the DMS may serve as an endpoint of a DM client-server protocol. (An abstract software component in a Device implementation that conforms to the OMA Device Management Enabler static conformance requirements specified for DM Clients.It serves as an end-point of the DM Client-Server Protocols.).
또한, 본 명세서에서 DM 클라이언트 또는 DMC는 통신모듈, 프로세서모듈 등을 구비하는 상기 DM의 대상이 되는 장치 내에 탑재된 채로 제공될 수 있으며, 따라서 하나의 장치로서 구현될 수 있다. In addition, in the present specification, the DM client or the DMC may be provided as mounted in a device targeted for the DM having a communication module, a processor module, and the like, and thus may be implemented as one device.
ACL(Access Control List)ACL (Access Control List)
ACL은 식별자들 및 각각의 식별자와 연관된 액세스 권한(right)들의 리스트를 지칭한다(A list of identifiers and access rights associated with each identifier).An ACL refers to a list of identifiers and access rights associated with each identifier.
노드(Node)Node
노드는 관리 트리에 있는 단독 엘리먼트이다. 관리 트리 내에서 노드는 두 종류: 인테리어 노드 및 리프 노드가 있을 수 있다. 노드의 포맷 속성은 노드가 리프 노드인지 인테리어 노드인지 여부에 관한 정보를 제공한다(A Node is a single element in a Management Tree. There can be two kinds of Nodes in a Management Tree: Interior Nodes and Leaf Nodes. The Format property of a Node provides information about whether a Node is a leaf or an Interior Node.).A node is a single element in the management tree. There can be two types of nodes in the management tree: interior nodes and leaf nodes. A node is a single element in a Management Tree.There can be two kinds of Nodes in a Management Tree: Interior Nodes and Leaf Nodes. The Format property of a Node provides information about whether a Node is a leaf or an Interior Node.).
인테리어 노드(Interior Node)Interior Node
인테리어 노드는 자식 노드를 가질 수 있는 반면, 노드에 할당된 값 즉, 노드 값(node value)은 가질 수 없다. 인테리어 노드의 포맷 속성은 노드이다(A Node that may have child Nodes, but cannot store any value. The Format property of an Interior Node is node). An interior node may have child nodes, while an interior node may not have a value assigned to the node, that is, a node value. A Node that may have child Nodes, but cannot store any value.The Format property of an Interior Node is node.
리프 노드(Leaf Node)Leaf Node
리프 노드는 자식 노드를 가질 수 없고 대신 노드 값을 가질 수 있다. 리프 노드의 포맷 속성은 노드가 아니다(A Node that can store a value, but cannot have child Nodes. The Format property of a Leaf Node is not node.). Leaf nodes cannot have child nodes, but instead can have node values. A Node that can store a value, but cannot have child Nodes.The Format property of a Leaf Node is not node.
따라서 모든 부모(parent) 노드는 인테리어 노드가 되어야만 한다.Therefore, all parent nodes must be interior nodes.
영구 노드(Permanent Node)Permanent Node
영구 노드는 DDF 속성 스코프가 퍼머넌트(Permanent)로 설정되있는 노드이다. 노드가 영구 노드가 아니면, 동적 노드에 해당한다. 영구 노드는 서버에 의해 절대 삭제될 수 없다(A Node is permanent if the DDF property Scope is set to Permanent. If a Node is not permanent, it is dynamic. A permanent Node can never be deleted by the server.)Persistent nodes are nodes whose DDF attribute scope is set to Permanent. If the node is not a permanent node, it is a dynamic node. A Node is permanent if the DDF property Scope is set to Permanent.If a Node is not permanent, it is dynamic.A permanent Node can never be deleted by the server.)
동적 노드(Dynamic Node)Dynamic Node
동적 노드는 DDF 속성 스코프(Scope)가 다이내믹(Dynamic)으로 설정되있거나, 상기 DDF 속성 스코프가 특정되지 않은 노드이다(A Node is dynamic if the DDF property Scope is set to Dynamic, or if the Scope property is unspecified).A node is dynamic if the DDF property Scope is set to Dynamic, or if the Scope property is is a node in which the DDF property scope is set to Dynamic or the DDF property scope is not specified. unspecified).
서버 식별자(Sever Identifier)Server Identifier
서버 식별자는 DM 서버에 대한 OMA DM 내부 이름을 지칭한다. DM 서버는 OMA DM 계정을 통해 장치에 존재하는 서버 식별자와 연관된다(The OMA DM internal name for a DM Server. A DM Server is associated with an existing Server Identifier in a device through OMA DM account.).The server identifier refers to the OMA DM internal name for the DM server. The OMA DM internal name for a DM Server.A DM Server is associated with an existing Server Identifier in a device through OMA DM account.
ACL 속성 및 ACL 값ACL attributes and ACL values
DM(device management) 프로토콜로 관리되는 모든 단말은 루트 노드(root node)로 시작되는 하나의 DM 트리(tree)를 갖게 되고, DM 프로토콜은 DM 트리의 각 노드를 조작함으로써 단말에 관리 명령을 수행한다. 예로, 단말에 다운로드 된 소프트웨어를 설치하기 위해서는 그 소프트웨어와 매칭되어 있는 인스톨(install)이라는 노드를 실행(Exec)하면, 해당 소프트웨어를 설치할 수가 있다. 각각의 노드는 숫자와 같은 단순한 정보를 나타낼 수도 있고, 그림 데이터나 로그 데이터처럼 복잡한 데이터를 나타낼 수도 있다. 또한 노드는 실행, 다운로드 등과 같이 하나의 명령을 나타낼 수도 있다.All terminals managed by the DM (device management) protocol have one DM tree starting with a root node, and the DM protocol performs management commands to the terminals by manipulating each node of the DM tree. . For example, in order to install the downloaded software on the terminal, if a node called install matching the software is executed, the corresponding software can be installed. Each node can represent simple information such as numbers, or it can represent complex data such as picture data or log data. A node can also represent a single command, such as run, download, or the like.
각각의 노드는 노드와 관련된 메타 정보를 제공해 주는 속성(property)을 갖는다. 이 속성 중에 런타임(runtime) 속성이 있는데, 이 속성은 노드가 DM 트리안에 생성이 되어 소멸될 때까지 사용 가능한 속성을 뜻한다. 이러한 런타임 속성에는 ACL, Format, Name, Size, Title, TStamp, Type, VerNo가 있다. Each node has a property that provides meta information about the node. One of these attributes is the runtime attribute, which is the attribute that can be used until the node is created and destroyed in the DM tree. These runtime attributes include ACL, Format, Name, Size, Title, TStamp, Type, and VerNo.
ACL(Access Control List)는 DM 1.3 프로토콜에서는 단말과 서버가 모두 구현해야 하는 필수 기능이다. ACL은 특정 DM 서버가 특정 노드에 수행 가능한 DM 명령(command)들을 명시하며, 명시되지 않는 DM 명령은 수행될 수 없다. 다시 말하면, ACL은 특정 DM 서버가 특정 노드에 대해 허용된 권한을 의미한다. DM 프로토콜에서 ACL은 DM 서버의 서버 식별자에 부여되며, URI, IP 주소, DM 서버 자격(certificate)에 부여되지 않는다. 이 서버 식별자는 DM 프로토콜에서 DM 서버를 인증하는 식별자로써 사용된다. 또한, 이러한 ACL은 ACL 속성(property)과 상기 ACL 속성에 부여된 ACL 값으로 제공될 수 있다. 한편, 본 명세서에서 ACL 값은 ACL 정보(ACL information) 또는 ACL에 관한 정보로 상호호환 가능하게 지칭될 수 있다. DM 1.3 프로토콜에서는 모든 노드가 ACL 속성을 갖도록 정의되었으며, ACL 속성을 갖는 모든 노드는 비어있는(empty) ACL 값 또는 비어있지 않은(non-empty) ACL 값을 갖도록 정의된다. ACL (Access Control List) is an essential function that both terminal and server should implement in DM 1.3 protocol. An ACL specifies DM commands that a specific DM server can execute on a particular node, and any DM commands that are not specified cannot be performed. In other words, ACL means the permissions that a particular DM server is granted to a particular node. In the DM protocol, ACLs are assigned to the server identifier of the DM server, not URIs, IP addresses, or DM server certificates. This server identifier is used as an identifier to authenticate the DM server in the DM protocol. In addition, such an ACL may be provided as an ACL property and an ACL value assigned to the ACL property. Meanwhile, in the present specification, an ACL value may be interchangeably referred to as ACL information or information about an ACL. In the DM 1.3 protocol, all nodes are defined to have ACL attributes, and all nodes with ACL attributes are defined to have either empty or non-empty ACL values.
ACL은 다른 런타임 속성과 다른 독특한 성질을 갖는데, 이러한 독특한 대표적인 성질로서 ACL 상속(ACL inheritance)이 있다. ACL 상속은 DM 트리안의 어떤 노드가 ACL 값을 가지고 있지 않을 때, 그 노드에 대한 ACL 값을 부모 노드의 ACL 값에서 가져오는 개념이다. 만약 부모 노드 역시 ACL 값을 가지고 있지 않다면, 그 부모 노드의 부모 노드에서 ACL 값을 가져오게 된다. DM 프로토콜에서는 DM 트리의 최상위 노드인 루트 노드가 반드시 ACL 값을 갖도록 명시하고 있기 때문에, ACL 값은 반드시 상속되게 된다. 이러한 ACL 상속은 개별 DM 명령별로 이루어지지 않고, 전체 ACL 값에 대해 수행되기 때문에, ACL 값이 비어 있어야만, 부모 노드로부터 ACL 상속이 이루어지게 된다. 즉, 어떤 노드의 ACL 값이 Add 권한만을 명시하고 있다면, 명시되어 있지 않는 Get(가져오기) 권한 등은 상속되지 않는다.ACLs have unique properties that differ from other run-time properties, and this unique representative property is ACL inheritance. ACL inheritance is the concept that when a node in the DM tree does not have an ACL value, the ACL value for that node is taken from the ACL value of the parent node. If the parent node also does not have an ACL value, the ACL value is taken from the parent node of that parent node. Since the DM protocol specifies that the root node, the top node of the DM tree, must have an ACL value, the ACL value is necessarily inherited. Since this ACL inheritance is not performed for individual DM commands, but for the entire ACL value, the ACL inheritance from the parent node is made only when the ACL value is empty. In other words, if the ACL value of a node specifies only the Add permission, the Get permission that is not specified is not inherited.
DM 프로토콜에서는 루트 노드는 ACL에 대한 기본 값으로 "Add=*&Get=*"을 갖게 되며, 여기서 "*"는 와일드 카드(wild card)로써, 임의의 DM 서버를 뜻한다. DM 서버가 ACL 값을 얻기 위해서는 Get 명령을 이용하면 되며, "./NodeA/Node1?prop=ACL"에 대한 Get 명령은 ./NodeA/Node1의 ACL 값을 가져오게 된다. 또한 ACL 값을 바꾸기 위해서는 교체(Replace) 명령을 이용하면 되며, "./NodeA/Node1?prop=ACL"에 Replace 명령을 수행하여 "Add=DMS1&Delete=DMS1&Get=DMS1"로 값을 바꾸게 되면 ACL 값이 바뀌게 된다. DM 프로토콜에서는 개별 ACL 엔트리(acl entry)를 바꿀 수가 없고, 전체 ACL 값을 바꿀 수 있도록 정의되어 있다. ACL 값을 얻어 오고, 수정하는 권한 역시 ACL에 기반하여 정의되는데, 인터리어 노드와 리프 노드에 대한 권한이 조금 다르게 정의되어 있다.In the DM protocol, the root node has "Add = * & Get = * " as the default value for ACL, where " * " is a wild card, which means any DM server. The DM server uses the Get command to get the ACL value. The Get command for "./NodeA/Node1?prop=ACL" gets the ACL value of ./NodeA/Node1. In addition, to change the ACL value, use the Replace command. If you change the value to "Add = DMS1 & Delete = DMS1 & Get = DMS1" by executing the Replace command on "./NodeA/Node1?prop=ACL", the ACL value is changed. Will change. In the DM protocol, it is not possible to change individual ACL entries, but to change the entire ACL value. Permissions for getting and modifying ACL values are also defined based on ACLs, with slightly different permissions for inter- and leaf nodes.
- 인테리어 노드 해당 노드에 Get과 Replace 권한을 가지고 있다면, 해당 노드의 ACL값을 각각 가져오고 교체할 수 있는 권한이 있다. 또한 Replace 권한은 모든 자식 노드의 ACL 값을 교체할 수 있는 권한을 의미한다.-Interior node If the node has Get and Replace permission, it has the authority to get and replace the ACL value of the node respectively. In addition, Replace permission means permission to replace ACL values of all child nodes.
-리프 노드 해당 노드에 Get 권한을 가지고 있다면, 그 노드의 값을 가져올 수 있는 권한을 뜻하며, ACL을 가져오기 위해서는 부모 노드에 Get 권한을 가지고 있어야 한다.-Leaf Node If the node has Get permission, it means the authority to get the value of the node. To get an ACL, the parent node must have Get permission.
마찬가지로, 해당 노드에 Replace 권한을 가지고 있다면, 그 노드의 값을 교체할 수 있는 권한을 뜻하며, ACL을 교체하기 위해서는 부모 노드에 Replace 권한을 가지고 있어야 한다.Likewise, if a node has Replace permission, it means that the value of that node can be replaced. To replace an ACL, the parent node must have Replace permission.
인테리어 노드에 Replace 권한을 가지고 있다면, 해당 인테리어 노드는 물론, 모든 자식 노드의 ACL 값을 교체할 수 있는 권한을 뜻한다. 따라서, 루트 노드에 Replace 권한을 가지고 있다면, DM 트리 내의 모든 노드에 어떤 권한이든지 가질 수 있다는 뜻이 된다. 하지만 부모 노드에 Replace 권한을 갖고 있다는 것이 곧바로, 자식 노드에 Get과 같은 특정 권한을 내포하지는 않으며, 해당 자식 노드에 직접적으로 Get과 같은 권한이 명시되어 있어야만 한다. 따라서 명령 수행 전에 ACL 값을 수정해 줘야만 하며, 수정하려는 노드로 가는 길에 있는 모든 노드에 대한 ACL 값의 수정을 통해 최종적으로 해당 자식 노드의 ACL 값을 수정하게 된다. 이는 불편하기 때문에, DM 프로토콜에서는 부모 혹은 선조 노드(ancestor node)에 Replace 권한을 가지고 있을 경우, 중간 노드의 ACL 값 수정 없이 바로 해당 노드의 ACL 값의 수정을 허용하고 있다. If you have Replace permission on an interior node, this means that you can replace the ACL values of all the child nodes, as well as the interior node. Thus, if you have Replace permission on the root node, you can have any permission on any node in the DM tree. However, having the Replace permission on a parent node does not imply a specific permission, such as Get, on a child node, and the permission, such as Get, must be specified directly on the child node. Therefore, the ACL value should be modified before executing the command. Finally, the ACL value of all the nodes on the way to the node to be modified will be modified to modify the ACL value of the child node. This is inconvenient. In the DM protocol, when the parent or ancestor node has Replace permission, the DM protocol allows modification of the ACL value of the node without modifying the ACL value of the intermediate node.
DM 서버가 새로운 노드를 추가(Add) 명령을 통해 생성한 경우, 생성된 노드는 일반적으로 ACL 값을 갖지 않게 되어, 모든 권한을 부모에게서 상속받게 된다. 하지만 생성한 노드가 인테리어 노드이고, 부모 노드에 Replace 권한을 가지고 있지 않을 경우, 생성과 동시에 ACL 값을 설정하여 해당 노드를 관리하기 위한 충분한 권한을 갖는 것이 필요하다. When the DM server creates a new node through the Add command, the created node generally does not have an ACL value, so all permissions are inherited from the parent. However, if the created node is an interior node and the parent node does not have Replace permission, it is necessary to have sufficient authority to manage the node by setting the ACL value at the same time.
ACL 값을 나타내기 위한 문법은 [DM-TND]에 정의되어 있으며, ACL 값의 한 예는 "Get=DMS1&Replace=DMS1&Delete=DMS2"를 들 수 있다. 여기서 DMS1과 DMS2는 DM Server의 서버 식별자이며, Get, Replace, Delete는 DM 명령이다. 따라서 해당 노드에 대해 DMS1은 Get과 Replace 명령을 수행할 수가 있고, DMS2는 Delete 명령을 수행할 수 있다. 여기서 Get=DMS1, Replace=DMS1, Delete=DMS2는 각각이 ACL-엔트리(acl-entry)이며, DM 서버의 개별 명령 권한을 나타낸다. 다시말하면, ACL 값은 개별 ACL-엔트리(acl-entry)의 집합이며, 각 노드의 ACL 값은 적어도 하나의 ACL 엔트리를 포함할 수 있다.The syntax for representing ACL values is defined in [DM-TND]. An example of an ACL value is "Get = DMS1 & Replace = DMS1 & Delete = DMS2". Where DMS1 and DMS2 are server identifiers of the DM Server, and Get, Replace, and Delete are DM commands. Therefore, DMS1 can perform Get and Replace commands for the node, and DMS2 can perform Delete commands. Here, Get = DMS1, Replace = DMS1, and Delete = DMS2 are ACL-entry, respectively, and represent individual command authority of the DM server. In other words, an ACL value is a set of individual ACL-entries, and each node's ACL value may include at least one ACL entry.
DDF(Device Description Framework)Device Description Framework (DDF)
DDF는 특정 디바이스 타입에 대한 관리 신택스와 시멘틱을 기술하는 방법에 관한 설명이다(A specification for how to describe the management syntax and semantics for a particular device type). DDF는 단말의 MO, 관리 기능 및 DM 트리 구조에 대한 정보를 제공한다. A DDF is a description of how to describe the management syntax and semantics for a particular device type. The DDF provides information on the MO, management function, and DM tree structure of the terminal.
DM 1.3 인증DM 1.3 certification
DM 1.3에서는 ACL에 기반하여 인증을 수행한다. DM 인증은 각각의 DM 명령에 대해 별도로 이루어진다. 만약 DM 서버가 다수의 DM 명령을 전송했으면, DM 클라이언트(client, 이하 DMC)는 개별 명령을 수행하기 전에 인증을 수행하고, 그 결과로 허가된 DM 명령만 수행하게 된다. 본 명세서에서 ACL에 관한 정보인 ACL 값은 ACL 속성에 저장되어 제공될 수도 있고, 다른 곳(예로, DM 트리 안의 특정 노드)에 저장되어 제공될 수도 있다. ACL 속성이 아닌 다른 곳에 저장될 경우, ACL 값을 가져오는 절차는 달라질 수 있다. In DM 1.3, authentication is performed based on ACLs. DM authentication is done separately for each DM command. If the DM server sends a plurality of DM commands, the DM client (hereinafter referred to as DMC) performs authentication before executing individual commands, and as a result, only authorized DM commands are executed. In the present specification, an ACL value, which is information about an ACL, may be stored and provided in an ACL attribute, or may be stored and provided elsewhere (eg, a specific node in a DM tree). If it is stored somewhere other than an ACL attribute, the procedure for retrieving the ACL value may be different.
도 1은 DM 명령에 대한 인증 과정을 나타낸 것으로, 각각의 스텝에 대해 자세히 설명하면 아래와 같다.1 illustrates an authentication process for a DM command, which will be described in detail with respect to each step.
스텝 S110: DMC가 DMS로부터 노드 1을 대상으로 하는 명령을 수신함Step S110: The DMC receives a command targeting Node 1 from the DMS
DMC는 DM 서버(이하 DMS)로부터 노드 1을 대상으로 하는 명령을 받는다. 각각의 DM 명령은 <Target> 요소 안에 해당 DM 명령이 대상으로 하는 노드의 주소를 기술하게 되고, 여기서는 DMS로부터 전송되는 명령은 노드 1을 대상으로 한 DM 명령임을 가정한다.The DMC receives a command for node 1 from a DM server (hereinafter referred to as DMS). Each DM command writes the address of the node targeted by the DM command in the <Target> element. Here, it is assumed that the command transmitted from the DMS is a DM command targeting node 1.
스텝 S120: DMC는 상기 명령을 인증하기 위해 ACL 값을 검색(retrieve)함Step S120: The DMC retrieves the ACL value to authenticate the command
DMC는 인증을 수행하기 위해 ACL 값을 가져온다. ACL 값은 어떤 DMS가 어떤 명령을 수행할 수 있는지를 기술하고 있으므로, 인증에 필요하다. 대부분의 경우 node1의 ACL 값을 가져오면 된다. DMC gets the ACL value to perform authentication. The ACL value describes which DMS can execute which command and is required for authentication. In most cases, get the ACL value of node1.
단, 예외적으로 리프 노드의 ACL 값을 변경(또는 교체)하는 권한은 부모 노드의 ACL로부터 판단하므로, 부모 노드의 ACL 값을 가져와야 한다. 즉, 노드 1이 리프 노드이고, 노드 1의 ACL 값을 변경하기 위해서는, 노드 1이 아닌 노드 1의 부모 노드의 ACL로 판단하게 된다. 또, 인테리어 노드의 ACL 값의 변경은, 해당 노드나 그 부모 노드 중 어느 한 곳에만 권한을 가지고 있으면 된다. 따라서, 노드 1이 인테리어 노드이고, 노드 1의 ACL 값을 변경하려고 하는 경우, 노드 1의 ACL에 해당 권한을 가지고 있으면 된다. 가지고 있지 않을 경우, 노드 1의 부모 노드에 해당 권한을 가지고 있어도 된다. 따라서 노드 1의 ACL을 1차적으로 가져오고, 노드 1의 부모 노드의 ACL을 2차적으로 이용하게 된다.The exception is that the authority to change (or replace) the ACL value of the leaf node is determined from the ACL of the parent node, so the ACL value of the parent node must be obtained. That is, node 1 is a leaf node, and in order to change the ACL value of node 1, it is determined as the ACL of the parent node of node 1, not node 1. In addition, to change the ACL value of the interior node, the authority only needs to be authorized in either the node or its parent node. Therefore, if node 1 is an interior node and wants to change the ACL value of node 1, the node 1 needs to have the corresponding authority. If you do not have one, you may have the privileges on the parent node of node 1. Therefore, the ACL of node 1 is taken first, and the ACL of the parent node of node 1 is used secondarily.
스텝 S130: ACL 값이 ACL 엔트리 '명령'='서버 ID'를 포함함?Step S130: Does the ACL value include an ACL entry 'command' = 'server ID'?
DMC는 가져온 ACL 값으로부터, 해당 명령이 허용되는지를 확인한다. 이는 'Command'='ServerID'라는 ACL-엔트리(acl-entry)가 ACL 값에 포함되어 있는지를 확인함으로써 가능하다. 예로, 만약 DMS가 Get이라는 명령을 수행하려고 한다면, node1은 Get=DMS라는 ACL-엔트리(acl-entry)를 가지고 있어야 한다. 예외적으로, 와일드 카드를 통해 명령을 허락하고 있는 경우도 있으며, Get=*과 같이, 모든 DMS에게 Get 명령을 허락함을 나타낼 수도 있다.DMC checks the imported ACL value to see if the command is allowed. This can be done by checking that an ACL-entry named 'Command' = 'ServerID' is included in the ACL value. For example, if the DMS wants to execute the command Get, node1 must have an ACL-entry of Get = DMS. In exceptional cases, wildcards allow commands, which may indicate that all DMSs allow Get commands, such as Get = * .
스텝 S140: 인증이 승인됨Step S140: Authentication is Approved
DMS의 명령이 승인되면, DMC는 해당 명령을 수행하고, 결과 코드를 전송한다.If the command from the DMS is approved, the DMC executes the command and sends a result code.
스텝 S150: 인증이 실패됨Step S150: Authentication Failed
DMS의 명령이 승인되지 않으면, DMC는 해당 명령을 수행하지 않고, 에러 코드를 전송한다.If the command of the DMS is not accepted, the DMC does not execute the command and sends an error code.
DM 프로토콜에서 ACL 값은 명령-레벨(command-level)에서 기술된다. 즉, DMS1이 Get, Replace, Add라는 명령을 수행할 권한을 가지고 있다면, 이를 표현하기 위한 ACL 값은 "Get=DMS1&Replace=DMS1&Add=DMS1"가 된다. ACL 값에 기술되지 않은 Exec, Delete 명령을 DMS1은 수행할 수가 없다. 이러한 명령-레벨에서 ACL 값을 기술하는 방법의 첫 번째 문제점은 권한을 명시하기 위한 ACL 값이 너무 길다는 점이다. DM 프로토콜은 한 단말을 복수의 DMS가 관리할 수 있도록 허용하기 때문에, ACL 값은 복수의 DMS에 대해 기술될 수 있다. 따라서, DMS1과 DMS2가 특정 인테리어 노드에 모든 권한을 갖고 있을 때, 해당 ACL 값은 "Get=DMS1&Replace=DMS1&Add=DMS1&Delete=DMS1&Get=DMS2&Replace=DMS2&Add=DMS2&Delete=DMS2"가 된다. In the DM protocol, ACL values are described at the command-level. That is, if the DMS1 has the authority to execute the Get, Replace, Add command, the ACL value for expressing this is "Get = DMS1 & Replace = DMS1 & Add = DMS1". DMS1 cannot execute Exec or Delete command that is not described in ACL value. The first problem with how to describe ACL values at this command-level is that the ACL values for specifying permissions are too long. Since the DM protocol allows one terminal to be managed by a plurality of DMSs, an ACL value may be described for the plurality of DMSs. Therefore, when DMS1 and DMS2 have all rights to a specific interior node, the ACL value becomes "Get = DMS1 & Replace = DMS1 & Add = DMS1 & Delete = DMS1 & Get = DMS2 & Replace = DMS2 & Add = DMS2 & Delete = DMS2".
명령-레벨에서 ACL 값을 기술하는 방법의 다른 문제는 DM 명령간의 의존 관계를 무시하는 점이다. 일 예로, DMS1이 한 리프 노드의 노드 값을 변경할 수 있는 Replace 권한만을 가지고 있다고 가정하자. 이를 ACL 값으로 나타내면 "Replace=DMS1"이 된다. DMS1은 Get 권한을 가지고 있지 않기 때문에, 자기가 값을 변경할 수 있는 노드의 노드 값을 얻어올 수가 없다. 이는 권한 설정의 오류로 보는 것이 맞으며, 리프 노드에 대해 Replace 권한을 가지고 있다면, 당연히 Get 권한 역시 가지는 것이 맞다. 즉, 특정 DM 명령에 대한 권한을 가지고 있다면, 그 특정 DM 명령에 대한 권한 수행에 필수적으로 수반되는 다른 DM 명령들에 대한 권한 역시 가질 수 있도록 해야 한다. 하지만 ACL이 명령-레벨에서 기술되기 때문에, 이러한 의존 관계를 자동으로 포함해 줄 수가 없다. Another problem with the way ACLs are described at the command-level is to ignore dependencies between DM commands. As an example, assume that DMS1 only has Replace permission to change the node value of a leaf node. This is represented by the ACL value, resulting in "Replace = DMS1". Since DMS1 doesn't have Get permission, it can't get the node value of a node whose value can be changed. This is incorrectly a misconfiguration, and if you have the Replace privilege on a leaf node, of course you also have a Get privilege. In other words, if you have authority over a particular DM command, you should also be able to have authority over other DM commands that are essential for the performance of that specific DM command. However, because ACLs are described at the command-level, these dependencies cannot be automatically included.
또 다른 문제로는, ACL 값의 수정 권한이 있어 어떤 권한이든지 가질 수 있는 서버라도, 특정 권한을 획득하기 위해 ACL 값을 한번 더 수정해야 한다는 점이다. 이는 권한 획득을 위해 추가적인 작업을 필요로 하기 때문에 비효율적이다. 예로, 어떤 인테리어 노드에 Replace 권한을 가지고 있다면, 인테리어 노드의 모든 서브-트리(sub-tree)를 다른 서브-트리로 교체할 수 있고 더불어, 해당 노드의 ACL 값을 변경할 수 있다. 즉, Replace 권한만을 가지고 있다면, DMS는 ACL 값을 마음대로 변경할 수 있게 되므로, 어떤 권한도 갖게 된다. 하지만, Replace 권한을 가지고 있다고 해도, Replace 권한을 수행하는데 수반되는 필수적인 권한을 직접 추가하지 않으면 효력이 없다. 이는 Replace 권한을 가지고 있는 DMS라도, 명시적으로 ACL 값의 수정을 통해서만 권한을 취득한다는 점에서 번거롭다. 일 예로, 인테리어 노드의 ACL 값 "Replace=DMS1"는 DMS1이 해당 인테리어 노드와 그 서브-트리의 노드에 대해 어떠한 권한도 가질 수 있음을 뜻하지만, Get 명령을 수행하기 위해서는 해당 ACL 값을 "Replace=DMS1&Get=DMS1"으로 수정해 주어야만 한다. Another problem is that a server that has permission to modify ACL values, and who can have any permission, needs to modify the ACL value once more to gain certain privileges. This is inefficient because it requires additional work to obtain privileges. For example, if an interior node has Replace permission, all sub-trees of the interior node can be replaced with another sub-tree, and the ACL value of the node can be changed. In other words, if you only have the Replace permission, the DMS can change the ACL value at will, and thus have any permission. However, even if you have the Replace privilege, it has no effect unless you manually add the necessary privileges to perform the Replace privilege. This is cumbersome in that even DMS with Replace permission can get permission only by modifying ACL value explicitly. For example, the ACL value "Replace = DMS1" of an interior node means that DMS1 can have any privileges on that interior node and its sub-trees, but to perform a Get command, the ACL value "Replace" = DMS1 & Get = DMS1 ".
또한, DM 1.3에서는 노드-레벨(node-level) 권한 제어가 적용된다. 노드-레벨 권한 제어란 DMS의 접근 권한을 노드 별로 다르게 설정할 수 있다는 뜻이다. 즉, DMS는 각각의 노드마다 자신이 원하는 ACL 값을 따로 설정하여 권한을 제어할 수 있다. 이는 모든 노드가 ACL 속성을 가지고 있기 때문에 가능하다. 예외적으로 리프 노드의 ACL 관리 권한의 경우에는, 그 부모인 인테리어 노드에서만 설정될 수 있어, 형제 관계에 있는 리프 노드의 ACL 관리 권한은 모두 동일해야 한다. 문제는 이러한 노드-레벨 권한 제어라는 세세한 권한 제어 레벨을 DM 프로토콜에서는 필요로 하지 않는다는 점이다. 즉 MO(management object)에 따라서, 어떤 MO는 MO-레벨의 권한 제어만을 필요로 하고, 어떤 MO는 노드-레벨의 권한 제어를 필요로 하며, 어떤 MO는 그 둘 사이에서 절충된 권한 제어 레벨을 필요로 한다. 하지만, DM 프로토콜은 일관되게 모든 노드가 ACL 속성을 가지게 함으로써 노드-레벨의 권한 제어만을 지원하여, 모든 노드에 ACL 값을 기본적으로 설정해주어야 하는 복잡성이 있다. 이러한 복잡함을 DM 프로토콜에서는 상속을 통해 어느 정도 해결하려고 한다. 즉, ACL 값이 설정되지 않은 노드는 상속을 통해 부모 노드에게서 ACL 값을 상속 받을 수 있게 했지만, 기본적으로 노드-레벨의 권한 제어만 지원하는 점은 문제가 있고, ACL 상속을 위해 부모 노드를 따라 올라가면서 비어 있지 않은(non-empty) ACL 값을 찾아야 하는 번거로움이 있다. In addition, node-level authorization control is applied in DM 1.3. Node-level authority control means that the access rights of the DMS can be set differently for each node. That is, the DMS can control the authority by separately setting the desired ACL value for each node. This is possible because every node has an ACL attribute. In exceptional cases, the ACL management authority of a leaf node can be set only at the interior node which is the parent, and thus the ACL management authority of the leaf nodes in siblings must be the same. The problem is that the DM protocol does not require this fine level of privilege control, which is node-level privilege control. That is, depending on the management object (MO), some MOs require only MO-level privilege control, some MOs require node-level privilege control, and some MOs negotiate a compromised privilege control level between the two. in need. However, the DM protocol consistently supports node-level authorization control by allowing every node to have an ACL attribute, which has the complexity of setting an ACL value to all nodes by default. The DM protocol attempts to solve some of this complexity through inheritance. In other words, nodes that do not have ACL values set can inherit ACL values from their parent nodes through inheritance, but the problem is that they basically support only node-level permission control. There is a hassle to go up and find the non-empty ACL value.
이렇게 모든 노드가 ACL 속성을 갖게 한 점은 DMS 계정(account) 삭제 시에도 문제가 된다. DMS 계정이 언-부트스트랩(un-bootstrapping) 등으로 삭제가 된다면, 삭제 전에 DM 트리의 모든 노드를 검색하여 지워지려는 DMS와 관련 있는 내용도 같이 삭제가 되어야 한다. 여기에는 ACL 값도 포함되기 때문에, 모든 노드의 ACL 값을 검사하여, 지워지려는 DMS의 서버 식별자가 포함된 ACL-엔트리(acl-entry)를 모두 지워야 한다. 이는 DMS 계정 삭제 시 마다, 많은 부하를 초래한다. The fact that all nodes have ACL attributes is also a problem when deleting a DMS account. If the DMS account is deleted due to un-bootstrapping, etc., all the nodes in the DM tree must be searched and deleted before deleting the DMS account. Since this also includes the ACL value, you need to check the ACL value of all nodes and delete all ACL-entries that contain the server identifier of the DMS that you want to delete. This causes a heavy load every time a DMS account is deleted.
이처럼, 종래의 DM 프로토콜에서는 ACL 값을 명령-레벨로 기술하여, ACL 값이 지나치게 길어지는 문제점이 있고 ACL 값에 있는 DM 명령을 수행하기 위해 반드시 필요한 다른 DM 명령이 기술되어 있지 않아 일부 DM 명령을 수행하지 못하는 문제점이 있다. 또한, 종래의 DM 프로토콜은 MO의 특성과 관계없이 모든 노드가 ACL 속성을 갖도록 하는 문제점이 있다. As described above, in the conventional DM protocol, the ACL value is described at the command-level, and the ACL value becomes excessively long, and other DM commands that are essential for performing the DM command in the ACL value are not described. There is a problem that can not be performed. In addition, the conventional DM protocol has a problem that all nodes have an ACL attribute regardless of the characteristics of the MO.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 이하의 발명의 상세한 설명으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Technical problems to be achieved by the present invention are not limited to the above-mentioned technical problems, and other technical problems not mentioned above are apparent to those skilled in the art from the following detailed description. Can be understood.
본 발명의 일 실시예에 따라, 단말에서 상기 단말에 저장된 장치 관리(Device Management; DM) 트리의 노드에 대한 서버의 DM 명령(command)에 대한 권한 인증을 수행하기 위한 방법이 개시되며, 상기 방법은 상기 서버로부터 상기 노드에 대한 명령을 수신하는 단계; 상기 서버의 상기 명령에 대한 권한 인증에 필요한 ACL(access control list) 값을 검색(retrieve)하는 단계; 및 상기 검색된 ACL 값에 포함된 권한 그룹과 상기 권한 그룹에 속하는 서버를 나타내는 권한 그룹 정보에 기반하여, 상기 명령을 발신한 서버가 상기 명령에 대한 권한 그룹에 속하는지 여부를 확인하는 단계를 포함하고, 상기 권한 그룹은 복수의 명령들 중 적어도 하나의 명령에 대한 권한이 할당된 복수의 권한 그룹 중 하나이며, 상기 권한 그룹에 속한 서버는 상기 권한 그룹에 할당된 적어도 하나의 명령에 대한 권한을 가질 수 있다. According to an embodiment of the present invention, a method for performing authorization authentication for a DM command of a server with respect to a node of a device management (DM) tree stored in the terminal at the terminal is disclosed. Receiving a command for the node from the server; Retrieving an access control list (ACL) value for authorization authentication of the command of the server; And determining whether the server that sent the command belongs to the permission group for the command, based on the permission group included in the retrieved ACL value and the permission group information indicating a server belonging to the permission group. The authority group is one of a plurality of authority groups to which authority for at least one of a plurality of commands is assigned, and a server belonging to the authority group has authority to at least one command assigned to the authority group. Can be.
바람직하게는, 상기 복수의 권한 그룹의 부분집합(subset)은 적어도 하나의 동일한 명령에 대한 권한을 할당받을 수 있다. Advantageously, a subset of said plurality of rights groups may be assigned rights for at least one same command.
바람직하게는, 상기 복수의 권한 그룹 각각은 복수의 명령들 중에서 임의로 선택된 적어도 하나의 명령 또는 복수의 명령들의 임의의 조합으로 선택된 명령들에 대한 권한을 할당받을 수 있다. Preferably, each of the plurality of permission groups may be assigned a permission for commands selected by at least one command randomly selected from among a plurality of commands or any combination of the plurality of commands.
바람직하게는, 상기 복수의 권한 그룹 각각은 복수의 명령들간의 의존관계에 따라 선택된 적어도 하나의 명령에 대한 권한을 할당받을 수 있다. Preferably, each of the plurality of permission groups may be assigned a permission for at least one command selected according to a dependency relationship between the plurality of commands.
바람직하게는, 상기 권한 그룹이 제1 명령에 대한 권한을 할당받으면, 상기 권한 그룹은 상기 제1 명령을 수행하기 위해서 반드시 필요한 제2 명령에 대한 권한도 할당받을 수 있다. Preferably, when the authority group is assigned authority for a first command, the authority group may also be assigned authority for a second command that is essential for performing the first command.
바람직하게는, 상기 복수의 권한 그룹 중 하나의 권한 그룹은 다른 권한 그룹에 할당된 모든 명령에 대한 권한을 할당받을 수 있다. Preferably, one authority group of the plurality of authority groups may be assigned authority for all commands assigned to another authority group.
바람직하게는, 상기 복수의 권한 그룹 각각에 할당된 명령에 대한 권한은 상기 노드의 종류(type)에 따라 다를 수 있다. Preferably, the authority for the command assigned to each of the plurality of authority groups may vary according to the type of the node.
바람직하게는, 상기 서버로부터의 노드에 대한 명령이 상기 노드의 ACL 값의 수정에 관한 명령인 경우, 상기 명령을 발신한 서버가 상기 ACL 값 수정에 관한 명령에 대한 권한을 갖고 있다고 판단되면, 상기 노드의 ACL 값을 상기 권한 그룹 정보에 기반한 새로운 ACL 값으로 수정하는 단계;를 더 포함할 수 있다. Preferably, if the command for the node from the server is a command for modifying the ACL value of the node, if it is determined that the server that sent the command has authority for the command for modifying the ACL value, the The method may further include modifying an ACL value of the node to a new ACL value based on the authority group information.
본 발명의 다른 실시예에 따라 장치 관리(Device Management; DM) 트리의 노드에 대한 서버의 DM 명령(command)에 대한 권한 인증을 수행하도록 구성된 단말이 개시되며, 상기 서버로부터 상기 노드에 대한 명령을 수신하도록 구성된 통신모듈; 및 상기 서버의 상기 명령에 대한 권한 인증에 필요한 ACL(access control list) 값을 검색(retrieve)하고, 상기 검색된 ACL 값에 포함된 권한 그룹 및 상기 권한 그룹에 속한 서버를 나타내는 권한 그룹 정보에 기반하여, 상기 명령을 발신한 서버가 상기 명령에 대한 권한 그룹에 속하는지 여부를 확인하도록 구성된 프로세서모듈을 포함하고, 상기 권한 그룹은 복수의 명령들 중 적어도 하나의 명령에 대한 권한이 할당된 복수의 권한 그룹 중 하나이며, 상기 권한 그룹에 속한 서버는 상기 권한 그룹에 할당된 적어도 하나의 명령에 대한 권한을 가질 수 있다. In accordance with another embodiment of the present invention, a terminal configured to perform authorization authentication for a DM command of a server for a node of a device management (DM) tree is disclosed, and the command for the node from the server is disclosed. A communication module configured to receive; And retrieving an access control list (ACL) value required for authorization of the command of the server, and based on the authority group included in the retrieved ACL value and authority group information indicating a server belonging to the authority group. And a processor module configured to check whether the server that sent the command belongs to a permission group for the command, wherein the permission group includes a plurality of rights to which rights for at least one of a plurality of commands are assigned. One of the groups, and the server belonging to the authority group may have authority for at least one command assigned to the authority group.
바람직하게는, 상기 복수의 권한 그룹의 부분집합(subset)은 적어도 하나의 동일한 명령에 대한 권한을 할당받을 수 있다. Advantageously, a subset of said plurality of rights groups may be assigned rights for at least one same command.
바람직하게는, 상기 복수의 권한 그룹 각각은 복수의 명령들 중에서 임의로 선택된 적어도 하나의 명령 또는 복수의 명령들의 임의의 조합으로 선택된 명령들에 대한 권한을 할당받을 수 있다. Preferably, each of the plurality of permission groups may be assigned a permission for commands selected by at least one command randomly selected from among a plurality of commands or any combination of the plurality of commands.
바람직하게는, 상기 복수의 권한 그룹 각각은 복수의 명령들간의 의존관계에 따라 선택된 적어도 하나의 명령에 대한 권한을 할당받을 수 있다. Preferably, each of the plurality of permission groups may be assigned a permission for at least one command selected according to a dependency relationship between the plurality of commands.
바람직하게는, 상기 권한 그룹이 제1 명령에 대한 권한을 할당받으면, 상기 권한 그룹은 상기 제1 명령을 수행하기 위해서 반드시 필요한 제2 명령에 대한 권한도 할당받을 수 있다. Preferably, when the authority group is assigned authority for a first command, the authority group may also be assigned authority for a second command that is essential for performing the first command.
바람직하게는,상기 복수의 권한 그룹 중 하나의 권한 그룹은 다른 권한 그룹에 할당된 모든 명령에 대한 권한을 할당받을 수 있다. Preferably, one authority group of the plurality of authority groups may be assigned authority for all commands assigned to another authority group.
바람직하게는, 상기 복수의 권한 그룹 각각에 할당된 명령에 대한 권한은 상기 노드의 종류(type)에 따라 다를 수 있다. Preferably, the authority for the command assigned to each of the plurality of authority groups may vary according to the type of the node.
바람직하게는, 상기 서버로부터의 노드에 대한 명령이 상기 노드의 ACL 값의 수정에 관한 명령인 경우, 상기 서버가 상기 ACL 값 수정에 관한 명령에 대한 권한을 갖고 있다고 판단되면, 상기 프로세서모듈은 상기 노드의 ACL 값을 상기 권한 그룹 정보에 기반한 새로운 ACL 값으로 수정하도록 구성될 수 있다. Preferably, when the command for the node from the server is a command for modifying the ACL value of the node, if it is determined that the server has authority for the command for modifying the ACL value, the processor module is The ACL value of the node may be configured to be modified to a new ACL value based on the authority group information.
본 발명의 다른 실시예에 따라 서버에서 단말에 저장된 장치 관리(Device Management; DM) 트리의 노드에 대한 상기 서버의 DM 명령(command)에 대한 권한 인증을 요청하기 위한 방법이 개시되며, 상기 방법은 상기 단말로 하여금 상기 서버의 상기 명령에 대한 권한 인증에 필요한 ACL(access control list) 값을 검색(retrieve)하도록 하여, 상기 검색된 ACL 값에 포함된 권한 그룹 및 상기 권한 그룹에 속하는 서버를 나타내는 권한 그룹 정보에 기반하여 상기 명령을 발신한 서버가 상기 명령에 대한 권한 그룹에 속하는지 여부를 확인하는 단계를 포함하고, 상기 권한 그룹은 복수의 명령들 중 적어도 하나의 명령에 대한 권한이 할당된 복수의 권한 그룹 중 하나이며, 상기 권한 그룹에 속한 서버는 상기 권한 그룹에 할당된 적어도 하나의 명령에 대한 권한을 가질 수 있다. According to another embodiment of the present invention, a method for requesting authorization of a DM command of a server to a node of a device management (DM) tree stored in a terminal in a server is disclosed. The terminal causes the terminal to retrieve an access control list (ACL) value required for authorization of the command of the server, thereby indicating an authorization group included in the retrieved ACL value and a server belonging to the authorization group. Determining whether the server that sent the command belongs to a permission group for the command based on the information, wherein the permission group includes a plurality of commands to which permission for at least one of a plurality of commands is assigned; One of the authority groups and a server belonging to the authority group may have authority for at least one command assigned to the authority group.
본 발명의 다른 실시예에 따라 단말에 저장된 장치 관리(Device Management; DM) 트리의 노드에 대한 DM 명령(command)에 대한 권한 인증을 요청하도록 구성된 서버가 개시되며, 상기 노드에 대한 명령을 생성하도록 구성된 프로세서모듈; 및 단말로 상기 노드에 대한 명령을 전송하도록 구성된 통신모듈을 포함하되, 상기 명령은 상기 단말로 하여금 상기 서버의 상기 명령에 대한 권한 인증에 필요한 ACL(access control list) 값을 검색(retrieve)하고, 상기 검색된 ACL 값에 포함된 권한 그룹 및 상기 권한 그룹에 속한 서버를 나타내는 권한 그룹 정보에 기반하여 상기 명령을 발신한 서버가 상기 명령에 대한 권한 그룹에 속하는지 여부를 확인하도록 하며, 상기 권한 그룹은 복수의 명령들 중 적어도 하나의 명령에 대한 권한이 할당된 복수의 권한 그룹 중 하나이며, 상기 권한 그룹에 속한 서버는 상기 권한 그룹에 할당된 적어도 하나의 명령에 대한 권한을 가질 수 있다. In accordance with another embodiment of the present invention, a server configured to request authorization authentication for a DM command for a node of a Device Management (DM) tree stored in a terminal is disclosed, and to generate a command for the node. A configured processor module; And a communication module configured to transmit a command to the node to a terminal, wherein the command causes the terminal to retrieve an access control list (ACL) value required for authorization of the command of the server, On the basis of the authority group included in the retrieved ACL value and the authority group information indicating the server belonging to the authority group, it is determined whether the server that has sent the command belongs to the authority group for the command. One of a plurality of authority groups to which authority for at least one of a plurality of commands is assigned, and a server belonging to the authority group may have authority for at least one command assigned to the authority group.
상기 과제 해결방법들은 본 발명의 실시예들 중 일부에 불과하며, 본원 발명의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 발명의 상세한 설명을 기반으로 도출되고 이해될 수 있다. The problem solving methods are only a part of embodiments of the present invention, and various embodiments reflecting the technical features of the present invention are based on the detailed description of the present invention described below by those skilled in the art. Can be derived and understood.
본 발명의 일 실시예에 의하면, 권한 그룹을 구성하여 각 노드에 대한 권한 인증을 수행하여 ACL 값을 효과적으로 표현할 수 있다. 또한, 상기 권한 그룹에 할당될 명령들 간의 의존관계를 고려하여 상기 권한 그룹을 구성함으로써, 특정 DM 명령을 수행하기 위해 필요한 모든 명령들에 대한 권한이 할당될 수 있다. According to an embodiment of the present invention, the authority group may be configured to perform authority authentication for each node to effectively express the ACL value. In addition, by configuring the authority group in consideration of dependencies among the commands to be assigned to the authority group, authority for all commands necessary to perform a specific DM command may be assigned.
본 발명의 일 실시예에 의하면, 노드-레벨 권한 제어를 탈피하여 유연한 형태의 권한 제어를 수행함으로써 프로토콜의 과부하를 줄일 수 있다. 또한, ACL 값의 상속을 위해 해당 노드의 부모 노드 또는 선조 노드를 순차적으로 검색하지 않아도 ACL 속성을 갖고 있는 부모 노드 또는 선조 노드에게서 별도의 검색 과정 없이 ACL 값을 가져올 수 있다. 또한, DMS의 계정을 삭제하는 경우에 모든 노드의 ACL 값을 검색할 필요 없이, ACL 속성을 갖고 있는 노드만을 대상으로 ACL 값을 검색할 수 있다. According to an embodiment of the present invention, it is possible to reduce the overload of the protocol by performing a flexible form of authority control by avoiding node-level authority control. In addition, even if the parent node or ancestor node of the corresponding node is not sequentially searched for inheritance of the ACL value, the ACL value can be obtained from the parent node or ancestor node having the ACL attribute without a separate search process. In addition, when deleting the account of the DMS, the ACL value can be searched only for nodes having an ACL attribute, without having to search the ACL values of all nodes.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included as part of the detailed description in order to provide a thorough understanding of the present invention, provide an embodiment of the present invention and together with the description, illustrate the technical idea of the present invention.
도 1은 종래 기술에 따른 DM 명령에 대한 인증 과정을 나타낸 도면,1 is a view showing an authentication process for a DM command according to the prior art;
도 2는 본 발명의 일 실시예에 따른 권한 그룹에 기반한 ACL 값의 표현 방법(syntax)을 나타낸 도면,2 is a diagram illustrating a syntax for expressing an ACL value based on a permission group according to an embodiment of the present invention;
도 3은 본 발명의 일 실시예에 따른 권한 그룹을 사용하여 각 노드의 ACL 값을 표현한 예를 나타낸 도면,3 is a diagram illustrating an example of expressing an ACL value of each node using an authority group according to an embodiment of the present invention;
도 4는 본 발명의 일 실시예에 따른 권한 그룹을 통해 단말에서 서버의 명령에 대한 권한을 인증하기 위한 방법의 순서도를 나타낸 도면,4 is a flowchart illustrating a method for authenticating authority for a command of a server in a terminal through an authority group according to an embodiment of the present invention;
도 5는 본 발명의 일 실시예에 따른 권한 그룹을 통해 단말에서 서버의 명령에 대한 권한을 인증하기 위한 방법의 순서도를 나타낸 도면,5 is a flowchart illustrating a method for authenticating authority for a command of a server in a terminal through an authority group according to an embodiment of the present invention;
도 6은 본 발명의 일 실시예에 따른 선택적인 권한 그룹 설정 제어가 적용된 예를 나타낸 도면,6 is a diagram showing an example in which selective authority group setting control is applied according to an embodiment of the present invention;
도 7은 본 발명의 실시예에 따른 특정 명령의 수행 방법의 순서도를 나타낸 도면,7 is a flowchart illustrating a method of performing a specific command according to an embodiment of the present invention;
도 8은 MO 트리의 일 예를 나타낸 도면,8 is a diagram illustrating an example of a MO tree;
도 9는 본 발명의 일 실시예에 따른 특정 MO에 대한 선택적인 권한 그룹 설정 제어가 적용된 예를 나타낸 도면,9 is a diagram illustrating an example of applying selective authority group setting control for a specific MO according to an embodiment of the present invention;
도 10은 본 발명의 실시예에 따른 선택적인 권한 그룹 설정에 관한 정보를 서버에 알리기 위한 특정 MO의 수정된 DDF를 나타낸 도면,FIG. 10 is a view showing a modified DDF of a specific MO for notifying a server of information regarding selective authority group setting according to an embodiment of the present invention; FIG.
도 11은 본 발명의 실시예에 따른 선택적인 권한 그룹 설정에 관한 정보를 서버에 알리기 위해 제안된 MO를 나타낸 도면,11 is a diagram illustrating a proposed MO for notifying a server of information about an optional authority group setting according to an embodiment of the present invention;
도 12는 도 11의 MO를 이용하여 선택적인 권한 그룹 설정에 관한 정보를 서버에 알리기 위한 일 예를 나타낸 도면,FIG. 12 is a diagram illustrating an example for notifying a server of information on selective authority group setting using the MO of FIG. 11; FIG.
도 13은 본 발명의 실시예를 실시하기 위한 장치의 블록도를 나타낸 도면이다.13 is a block diagram of an apparatus for implementing an embodiment of the present invention.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. The detailed description, which will be given below with reference to the accompanying drawings, is intended to explain exemplary embodiments of the present invention and is not intended to represent the only embodiments in which the present invention may be practiced. The following detailed description includes specific details in order to provide a thorough understanding of the present invention. However, one of ordinary skill in the art appreciates that the present invention may be practiced without these specific details.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.In some instances, well-known structures and devices may be omitted or shown in block diagram form centering on the core functions of the structures and devices in order to avoid obscuring the concepts of the present invention. In addition, the same components will be described with the same reference numerals throughout the present specification.
본 발명은 특정 관리 객체(Management Object; MO)에 대한 장치 관리를 수행하는 장치 관리 클라이언트와 장치 관리 서버, 또는 이들의 장치 관리 절차에 관한 것으로서, 좀더 상세하게는 상기 장치 관리 서버의 MO의 각 노드에 대한 권한을 관리하기 위한 것이다. The present invention relates to a device management client and a device management server or a device management procedure for performing device management for a specific management object (MO), and more particularly, each node of the MO of the device management server. It is to manage the authority for.
본 명세서에서, 장치는 단말과 상호 호환가능하게 사용될 수 있으며, 또한 DM 명령은 명령과, DM 서버는 DMS 또는 서버와, DM 클라이언트는 DMC 또는 단말과 상호 호환가능하게 사용될 수 있다. In the present specification, an apparatus may be used interchangeably with a terminal, and a DM command may be used interchangeably with a command, a DM server with a DMS or a server, and a DM client with a DMC or a terminal.
본 발명은 디바이스 관리(device management; DM)에 적합한, 효율적인 권한 인증 방법과 권한 제어 방법을 제안한다. The present invention proposes an efficient authority authentication method and authority control method suitable for device management (DM).
제 1 실시예: 권한 그룹을 통한 권한 제어 및 인증 방법First Embodiment: Authorization Control and Authentication Method Through Authorization Group
DM 프로토콜은 모두 총 5개의 DM 명령(command)를 제공한다. 각각의 DM 명령은 DM 트리를 조작하는데 사용되며, DM 명령이 리프 노드를 대상으로 하는지, 인테리어 노드를 대상으로 하는지, 노드 속성을 대상으로 하는지에 따라 그 의미가 다르다. 대상 별 각 DM 명령의 의미는 다음과 같다. DM 명령은 꼭 아래와 같을 필요는 없으며, 다른 DM 명령도 사용될 수 있다.The DM protocol provides a total of five DM commands. Each DM command is used to manipulate the DM tree, and its meaning depends on whether the DM command is targeting leaf nodes, interior nodes, or node attributes. Meaning of each DM command by object is as follows. The DM command does not have to be the following and other DM commands may be used.
표 1
Get
Leaf node Get the node value
Interior node Get the list of child nodes
Property Get the property value
Exec
Leaf node Execute the node
Interior node Execute the node
Property N/A
Add
Interior node Add a leaf node to the interior node, Add a sub-tree to the interior node
Leaf node, Property N/A
Delete
Leaf node Delete the leaf node
Interior node Delete the interior node and the entire sub-tree
Property N/A
Replace
Leaf node Replace the node value
Interior node Replace the entire sub-tree
Property Replace the property value
Table 1
Get
Leaf node Get the node value
Interior node Get the list of child nodes
Property Get the property value
Exec
Leaf node Execute the node
Interior node Execute the node
Property N / A
Add
Interior node Add a leaf node to the interior node, Add a sub-tree to the interior node
Leaf node, Property N / A
Delete
Leaf node Delete the leaf node
Interior node Delete the interior node and the entire sub-tree
Property N / A
Replace
Leaf node Replace the node value
Interior node Replace the entire sub-tree
Property Replace the property value
기존의 DM 프로토콜은 DM 명령-레벨에서 ACL 값을 기술하고 권한 인증을 수행하였다. 하지만 이러한 방식은 앞서 설명한 다양한 문제점을 가지고 있으며, 이를 해결하기 위해, 본 발명에서는 권한 그룹(Right Group) 개념을 도입하여 권한 인증을 수행한다. The existing DM protocol described ACL values at the DM command-level and performed authorization. However, this method has various problems described above, and in order to solve this problem, the present invention introduces a right group concept and performs right authentication.
권한 그룹을 만들기 위해서 첫째로, DM 명령들간의 의존 관계를 고려하여야 한다. DM 명령들간의 의존 관계란, 한 명령에 대한 권한을 가지고 있다면 다른 명령에 대한 권한도 필요로 하게 되는 관계를 말한다. 일 예로, 어떤 리프 노드에 Replace 권한을 가지고 있는 DMS는 당연히 Get 권한도 같이 필요로 할 것이기 때문에, Replace 권한은 Get 권한에 의존한다고 말할 수 있다. 따라서, 이러한 의존 관계가 있는 명령들에 대한 권한은 하나의 권한 그룹에 할당되도록 구성할 수 있다. To create an authority group, first, consider the dependencies between the DM commands. A dependency relationship between DM commands means that if you have authority over one command, you also need authority over another command. For example, a DMS that has a Replace privilege on a leaf node will also need a Get privilege, so the Replace privilege depends on the Get privilege. Thus, privileges for these dependent commands can be configured to be assigned to one privilege group.
이러한 DM 명령들간의 의존 관계 외에도, 단말 관리 시나리오에 기반하여 관리 권한을 그룹화하는 것이 필요하다. DM 프로토콜을 사용하여 단말 관리를 하는 경우에, 어떤 그룹은 DM 트리에 대해 읽기 권한만 가지고 있어, 단말의 상태 변경 보다는 단말에 설치되어 있는 소프트웨어를 확인하는 등의 단말의 현재 상태 확인만을 목적으로 할 수 있다. 또 다른 그룹은 현재 설치되어 있는 소프트웨어를 수정할 수는 없지만, 새로운 소프트웨어를 추가할 수 있는 권한을 가질 수도 있다. 또 다른 그룹은 기존 내용을 수정할 수 있는 권한을 가질 수도 있다. 이러한 관리 권한 그룹화는 DM 프로토콜을 사용한 단말 관리 시나리오에 기반하여 결정되어야 한다.In addition to the dependencies between these DM commands, it is necessary to group the management authority based on the terminal management scenario. In the case of terminal management using the DM protocol, some groups have only read permission on the DM tree, and are intended only to check the current status of the terminal, such as checking the software installed on the terminal, rather than changing the terminal status. Can be. Another group cannot modify the currently installed software, but may have permission to add new software. Another group may have permission to modify existing content. This management authority grouping should be determined based on the terminal management scenario using the DM protocol.
이처럼 관리 권한을 그룹화함에 있어서, DM 명령들간의 의존 관계와 상기 단말 관리 시나리오 중 적어도 하나를 고려할 수 있다. 본 발명은 이러한 제약 사항을 고려하여, 아래의 표 2와 같은 단말 관리 그룹과 각 그룹에 할당된 관리 권한을 제안한다. 물론, 아래의 표 2의 그룹과 다른 그룹이 사용 가능함은 당해 기술 분야에 속한 자에게 자명하다. As such, in grouping the management rights, at least one of the dependency relationship between the DM commands and the terminal management scenario may be considered. In view of these limitations, the present invention proposes a terminal management group and management authority assigned to each group as shown in Table 2 below. Of course, it is apparent to those skilled in the art that groups other than the group in Table 2 may be used.
표 2
R(Read) 그룹
이 그룹에 속한 DMS는 해당 노드로부터 데이터를 판독할 수 있다. 이 그룹에 속한 DMS가 수행할 수 있는 명령 권한은 다음과 같다.
Leaf node Get
Interior node Get
Property Get
A(Add) 그룹
이 그룹에 속한 DMS는 R 그룹의 모든 명령 권한을 상속한다. 또한, 이 그룹에 속한 DMS는 노드에 데이터를 추가할 수 있으나, 기 존재하는 데이터를 수정할 수 없다. 이 그룹에 속한 DMS가 수행할 수 있는 추가 명령 권한은 다음과 같다.
Interior node Add
Leaf node, Property 없음
W(Write) 그룹
이 그룹에 속한 DMS는 A 그룹의 모든 명령 권한을 상속한다. 또한, 이 그룹에 속한 DMS는 기 존재하는 데이터를 수정할 수 있다. 이 그룹에 속한 DMS가 수행할 수 있는 추가 명령 권한은 다음과 같다.
Leaf node Replace, Delete
Interior node Replace, Delete
Property Replace (적용가능한 경우, 일부 노드 속성들을 정적(static)이라 Replace 명령을 허용하지 않음)
TABLE 2
R (Read) group
DMS belonging to this group can read data from the node. Command authority that DMS in this group can execute is as follows.
Leaf node Get
Interior node Get
Property Get
A (Add) group
DMS belonging to this group inherit all the command privileges of the R group. In addition, DMS belonging to this group can add data to the node, but cannot modify existing data. Additional command privileges that the DMS in this group can execute are:
Interior node Add
Leaf node, Property none
W (Write) group
DMS belonging to this group inherits all command privileges of group A. Also, DMS belonging to this group can modify existing data. Additional command privileges that the DMS in this group can execute are:
Leaf node Replace, Delete
Interior node Replace, Delete
Property Replace (if applicable, some node attributes are static and do not allow Replace command)
표 2에서 제안한 관리 권한의 그룹들에서 각 그룹들에 허용된 명령들간에 의존 관계가 있다. 또한, 표 2에서 제안한 관리 권한의 그룹들은 서로 의존 관계가 있으며, 나중에 기술된 그룹은 선행하는 그룹의 관리 권한을 포함한다. 따라서, R 그룹에 속한 DMS는 노드로부터 데이터를 판독할 수 있으며, A 그룹에 속한 DMS는 R 그룹에 속한 권한에 추가적으로 새로운 노드를 생성할 수 있는 권한을 갖는다. 다만, A 그룹에 속한 DMS는 기존의 노드를 수정할 수 있는 권한은 갖지 못한다. W 그룹에 속한 DMS는 A 그룹의 모든 권한을 가지며, 추가적으로 기존 노드의 데이터를 수정할 수 있는 권한도 갖는다. 이러한 권한 그룹에 기초하여, 각 그룹별로 그리고 대상(리프 노드, 인테리어 노드 또는 속성)별로 실행 가능한 명령(또는 허용된 명령 권한)의 종류는 아래 표 3과 같다.In the groups of administrative rights proposed in Table 2, there is a dependency between the commands allowed for each group. In addition, the groups of management authority proposed in Table 2 depend on each other, and the group described later includes the management authority of the preceding group. Therefore, the DMS belonging to the R group can read data from the node, and the DMS belonging to the A group has the authority to create a new node in addition to the authority belonging to the R group. However, DMS belonging to group A does not have the authority to modify an existing node. The DMS belonging to the W group has all rights of group A, and additionally has the authority to modify data of an existing node. Based on this authority group, the types of commands (or allowed command rights) that can be executed for each group and for each target (leaf node, interior node, or property) are shown in Table 3 below.
표 3
그룹 리프 노드에 대한 명령 인테리어 노드에 대한 명령 속성에 대한 명령
R Get Get Get
A Get Get, Add Get
W Get, Replace, Delete Get, Add, Delete, Replace Get, Replace
TABLE 3
group Command for leaf nodes Command for interior node Command for attribute
R Get Get Get
A Get Get, Add Get
W Get, Replace, Delete Get, Add, Delete, Replace Get, Replace
다시 말하면, 상기 복수의 권한 그룹(R, A, W)의 부분집합 또는 상기 복수의 권한 그룹 중 둘 이상의 권한 그룹은 적어도 하나의 동일한 명령에 대한 권한을 할당받을 수 있다. 표 3에서는, 상기 복수의 권한 그룹의 전체집합이 Get 권한을 모두 할당받으나, 다른 실시예에서는 전체 권한 그룹 중 일부만이 적어도 하나의 동일한 명령에 대한 권한을 할당받을 수 있다. 또한, 상기 복수의 권한 그룹 각각은 적어도 하나의 명령에 대한 권한을 할당받을 수 있다. 아울러, 일 권한 그룹(예컨대, W 그룹)이 제 1 명령(예컨대, Replace)에 대한 권한을 할당받으면, 상기 일 권한 그룹은 제 1 명령을 수행하기 위해서 반드시 필요한 제2 명령(Get 또는 Add)에 대한 권한도 할당받을 수 있다. In other words, a subset of the plurality of authority groups R, A, and W or two or more authority groups of the plurality of authority groups may be assigned authority for at least one same command. In Table 3, the entire set of the plurality of permission groups is all assigned the Get permission, but in other embodiments, only some of the entire permission groups may be assigned the permission for at least one same command. In addition, each of the plurality of authority groups may be assigned authority for at least one command. In addition, when a permission group (eg, a W group) is assigned a permission for a first command (eg, Replace), the one permission group is assigned to a second command (Get or Add), which is essential for performing the first command. Authority may be assigned.
위의 표 3에 나열된 명령의 종류는 DM 프로토콜이 지원하는 명령의 종류에 따라 바뀔 수 있다. 일 예로, 아래와 같은 명령의 구성도 가능하다. 다음의 표 4에서, PUT 명령은 위의 표 3의 Add와 Replace를 합한 명령으로, PUT 명령이 기존의 존재하는 리소스를 대상으로 하면 Replace 명령에 해당하는 의미를 갖고, 존재하지 않는 리소스를 대상으로 하면 Add에 해당하는 의미를 갖는다고 볼 수 있다. 아래의 표 4는 Add와 Replace 대신 Put 명령이 추가된 권한 그룹을 예시한다. The types of commands listed in Table 3 above may change depending on the types of commands supported by the DM protocol. For example, the following command configuration is also possible. In the following Table 4, the PUT command is the sum of Add and Replace in Table 3 above. If the PUT command targets an existing resource, it has the meaning corresponding to the Replace command. It can be said to have the meaning corresponding to Add. Table 4 below illustrates a privilege group in which a Put command is added instead of Add and Replace.
표 4
그룹 리프 노드에 대한 명령 인테리어 노드에 대한 명령 속성에 대한 명령
R Get Get Get
A Get Get, Put(URI for Put refers to a non-existing resource) Get
W Get, Delete, Put Get, Delete, Put(URI for Put refers to an existing or non-existing resource) Get, Put
Table 4
group Command for leaf nodes Command for interior node Command for attribute
R Get Get Get
A Get Get, Put (URI for Put refers to a non-existing resource) Get
W Get, Delete, Put Get, Delete, Put (URI for Put refers to an existing or non-existing resource) Get, Put
표 2 내지 표 4에서 예시한 것처럼, 각 권한 그룹에 할당된 명령들은 서로 의존 관계를 갖도록 설정될 수 있다. 예를 들어, 종래 DM 프로토콜에 따라, 인테리어 노드에 대하여 표 3의 A 그룹에 해당하는 권한을 DMS1에 할당하기 위한 ACL 값은 "Get=DMS1&Add=DMS1"으로 표현되었으나, 본 발명에서 제안하는 DM 프로토콜에 의하면 "A=DMS1"으로 표현될 수 있다. As illustrated in Tables 2 to 4, the commands assigned to each permission group may be set to have a dependency relationship with each other. For example, according to the conventional DM protocol, the ACL value for allocating authority corresponding to group A of Table 3 to DMS1 for the interior node is expressed as "Get = DMS1 & Add = DMS1", but the DM protocol proposed by the present invention It can be expressed as "A = DMS1".
이렇게 의존 관계에 따라 권한 그룹을 분류하면, 각 노드에 대한 명령 권한을 표현하기 위한 ACL 값이 짧거나 간단해질 수 있다. 또한, 이렇게 의존 관계에 따라 권한 그룹을 분류하면, 특정 명령 권한이 노드에 허용되었으나 상기 특정 명령을 수행하기 위해 반드시 필요한 다른 명령에 대한 권한은 상기 노드에 허용되지 않아 결국 필요한 다른 명령을 수행하지 못하는 모순현상을 해결할 수 있다. By classifying privilege groups according to this dependency, the ACL value for expressing command privileges for each node can be shortened or simplified. In addition, when grouping the authority group according to this dependency, the specific command authority is granted to the node, but the authority for other commands necessary to execute the specific command is not granted to the node, and thus cannot perform other necessary commands. It can solve the contradiction.
한편, 명령들간의 의존 관계를 고려하지 않고, 임의대로 명령 권한 그룹을 분류할 수도 있다. On the other hand, the command authority group may be arbitrarily classified without considering the dependency between the commands.
표 5
그룹 리프 노드에 대한 명령 인테리어 노드에 대한 명령 속성에 대한 명령
1 Get Get, Add Get
2 Get, Delete Get, Delete Get
3 Get, Exec Get Get
Table 5
group Command for leaf nodes Command for interior node Command for attribute
One Get Get, Add Get
2 Get, Delete Get, Delete Get
3 Get, Exec Get Get
표 5의 예에서, 그룹 1 내지 3은 각각 Get+Add, Get+Delete, Get+Exec 명령에 대한 권한을 할당받았다. 종래 DM 프로토콜에 따라, 리프 노드에 대하여 표 5의 2 그룹에 해당하는 권한을 DMS1에 할당하기 위한 ACL 값은 "Get=DMS1&Delete=DMS1"으로 표현되었으나, 본 발명에서 제안하는 DM 프로토콜에 의하면 "2=DMS1"으로 표현될 수 있다. 표 5에는 복수의 명령 중 2개를 조합한 3가지 경우를 예시하였으나, 더 많은 조합이 가능하며, 이러한 명령의 임의의 조합을 통한 권한 그룹을 분류하는 것은 ACL 값의 표현을 효율적으로 할 수 있는 장점이 있다. In the example of Table 5, groups 1 to 3 have been assigned permissions for the Get + Add, Get + Delete, and Get + Exec commands, respectively. According to the conventional DM protocol, the ACL value for allocating the authority corresponding to the two groups in Table 5 to DMS1 for the leaf node is expressed as "Get = DMS1 & Delete = DMS1". According to the DM protocol proposed by the present invention, "2 = DMS1 ". Table 5 illustrates three cases in which two of the commands are combined, but more combinations are possible, and classifying the permission groups through any combination of these commands can effectively express the ACL value. There is an advantage.
위에서는 몇몇 권한 그룹을 소개했으며, DMS가 특정 노드에 대해 어떤 권한 그룹에도 속하지 않는다면, DMS는 해당 노드에 대해 어떤 명령도 수행할 수 없다. We've introduced some privilege groups above, and if the DMS doesn't belong to any privilege group for a particular node, the DMS can't execute any commands on that node.
위에 예시된 권한 그룹에서 언급되지 않는 DM 명령들은 별도의 독립 권한 (independent right) 그룹으로 처리된다. 대표적인 독립 권한으로는 Exec 명령에 대한 권한이 있으며, 이 Exec 명령에 대한 권한은 3개의 권한 그룹과는 별도로 DMS에게 할당된다. 이는 Exec 권한이 다른 권한(Get, Replace, Delete, Add)과 의존 관계에 있다고 보기 힘들기 때문이다. 아래의 표 6은 독립 권한 그룹을 예시한다. DM commands not mentioned in the authority groups illustrated above are treated as separate independent right groups. A typical independent authority is the authority for the Exec command, which is assigned to the DMS separately from the three authority groups. This is because the Exec privilege is hardly dependent on any other privileges (Get, Replace, Delete, Add). Table 6 below illustrates independent authority groups.
표 6
그룹 리프 노드에 대한 명령 인테리어 노드에 대한 명령 속성에 대한 명령
E Exec Exec N/A
Table 6
group Command for leaf nodes Command for interior node Command for attribute
E Exec Exec N / A
예로, DMS1이 R 그룹에 속하는 것을 "R=DMS1"이라고 표현된다면, DMS1이 추가적으로 E(Exec) 권한을 갖는 것은 "RE=DMS1"이라고 표현될 수 있다. 또한, W 그룹에 속하는 것은 "W=DMS1"이라고 표현되며, DMS1이 E 권한을 추가적으로 갖는 것은, "WE=DMS1"이라고 표현될 수 있다. 즉, 독립 권한은 앞서 설명한 3개의 권한 그룹과는 별도로 할당된다. For example, if the DMS1 belongs to the R group as "R = DMS1", it may be expressed as "RE = DMS1" that the DMS1 additionally has an E (Exec) right. In addition, those belonging to the W group may be expressed as "W = DMS1", and those in which DMS1 additionally has the E authority may be expressed as "WE = DMS1". That is, independent authority is assigned separately from the three authority groups described above.
표 2 내지 표 4에 예시한 권한 그룹은, R, A, W의 3 개의 그룹으로 구분이 되며, ACL 값의 형태로 표현되어 노드에 할당이 된다. 즉 어떤 인테리어 노드에 대하여 DMS1이 A 그룹에 허용된 권한을 가지고 있고, DMS2가 W 그룹에 허용된 권한을 가지고 있다면, 그 노드의 ACL 값은 "A=DMS1&W=DMS2"가 된다. 이는 해당 인테리어 노드의 데이터에 대해 DMS1은 Get, Add 권한을 가지고 있고, 그 인테리어 노드의 속성에 대해 Get 권한을 가지고 있다는 뜻이다. 또한, DMS2는 해당 인테리어 노드의 데이터에 대해 Get, Add, Delete, Replace 권한을 가지고 있고, 그 인테리어 노드의 속성에 대해 Get, Replace 권한을 가지고 있다는 뜻이다. 이렇게 권한 그룹에 기반해 ACL 값을 표시하게 되면, ACL 값을 짧게 표현할 수 있어 효율적이게 된다. 예로 든, "A=DMS1&W=DMS2"과 동일한 기존의 DM 1.3의 ACL 값 표현법은 "Get=DMS1&Add=DMS1&Get=DMS2&Add=DMS2&Replace=DMS2&Delete=DMS2"로 상당히 길다.Authorization groups illustrated in Tables 2 to 4 are divided into three groups of R, A, and W, and are expressed in the form of ACL values and assigned to nodes. That is, if a DMS1 has an authority granted to group A for an interior node and DMS2 has an authority granted to a group W, the ACL value of the node becomes "A = DMS1 & W = DMS2". This means that DMS1 has Get, Add permission on the data of the interior node and Get permission on the property of the interior node. In addition, DMS2 has Get, Add, Delete, Replace permission on the data of the interior node and Get, Replace permission on the property of the interior node. Displaying ACL values based on permission groups can be a very efficient way to express ACL values shortly. As an example, the existing DM 1.3 representation of ACL value equal to "A = DMS1 & W = DMS2" is quite long as "Get = DMS1 & Add = DMS1 & Get = DMS2 & Add = DMS2 & Replace = DMS2 & Delete = DMS2".
본 발명에서 제안한 권한 그룹에 기반한 ACL 값의 표현 방법은 [DM-TND]에 정의된 형식과 비슷한 도 2의 형식을 따른다. The method of expressing an ACL value based on the authority group proposed in the present invention follows the format of FIG. 2 similar to the format defined in [DM-TND].
DM 서버 식별자는 ACL 값에서 한번씩만 나와야 하며, 중복될 수 없다. 만약 "R=DMS1&W=DMS1"과 같이 중복되어 있다면, 권한의 범위가 더 큰 권한 그룹에 속한다고 간주한다. 위 형식은 본 발명의 내용과 모순되지 않는 범위 안에서 다른 방식으로도 표현될 수 있다. The DM server identifier must appear only once in the ACL value and cannot be duplicated. If it overlaps with "R = DMS1 & W = DMS1", it is assumed that the scope of authority belongs to a larger authority group. The above form may also be expressed in other ways within the scope of the present invention.
DM 트리의 루트 노드에 대해 모든 서버가 필요에 따라 서브-트리를 추가할 수 있도록 기존에는 "Get=*&Add=*"으로 ACL 값을 설정하였다. 본 발명에서 제안하는 권한 그룹을 사용하면, DM 트리의 루트 노드에 대해 "A=*"로 표현될 수 있다. ACL values were previously set to "Get = * & Add = *" so that all servers could add sub-trees as needed for the root node of the DM tree. Using the authority group proposed by the present invention, it can be expressed as "A = * " for the root node of the DM tree.
DM 1.3에서와 동일한 방식의 ACL 상속이 본 발명에 적용될 수 있다. 즉, ACL 값이 비어 있는 노드에 대해서는 그 부모 노드의 ACL 값이 상속되며, 부모 노드의 ACL값 역시 비어 있다면, 그 부모 노드의 부모 노드로 차례로 올라가면서 ACL 값이 비어 있지 않은 첫 번째 노드의 ACL 값을 상속받게 된다. DM 1.3에서는 최소한 DM 트리의 루트 노드에 대해서는 ACL 값을 정의해야 하기 때문에, 어떤 노드에 ACL 값이 비어 있더라도 DM 트리에서 부모 노드 쪽으로 올라가면서 찾게 되면 비어 있지 않은 ACL 값을 찾게 되어 결국 ACL 상속이 이루어지게 된다. ACL inheritance in the same manner as in DM 1.3 can be applied to the present invention. In other words, for a node with an empty ACL value, the ACL value of that parent node is inherited, and if the ACL value of the parent node is also empty, the ACL of the first node whose ACL value is not empty is sequentially raised to the parent node of that parent node. The value is inherited. In DM 1.3, at least the ACL value must be defined for the root node of the DM tree. Therefore, even if the ACL value is empty for a node, if it is found to move up to the parent node in the DM tree, the ACL value will be found. You lose.
도 3은 본 발명의 일 실시예에 따른 권한 그룹을 사용하여 ACL 값을 표현한 예를 보여준다. SCOMO에 대해 간략히 나타낸 것으로 일부만을 표시하였다. 여기서 ACL 값이 표시되지 않은 노드(/SCOMO/Download/SW1/PkgID)는 자신의 부모 노드(SW1)에게서 상속을 받은 "R=*&WE=DMS1"를 ACL 값으로 갖게 된다. 3 shows an example of expressing an ACL value using a permission group according to an embodiment of the present invention. A brief representation of SCOMO is given in part. Here, the node (/ SCOMO / Download / SW1 / PkgID) whose ACL value is not displayed has an ACL value of "R = * & WE = DMS1" inherited from its parent node SW1.
도 4는 본 발명의 일 실시예에 따른 권한 그룹을 통해 단말에서 서버의 명령에 대한 권한을 인증하기 위한 방법의 순서도를 나타낸다. 상기 단말은 서버로부터 특정 노드에 대한 명령을 수신할 수 있다(S410). 상기 단말은 상기 서버의 상기 명령에 대한 권한을 인증하는데 필요한 ACL 값을 검색할 수 있다(S420). 대부분의 경우, 상기 노드의 ACL 값을 가져오면 되지만, 도 1의 S120에서 설명한 것과 같이 상기 노드의 부모 노드의 ACL 값을 사용할 수도 있다(즉, 상속). 상기 단말은 상기 ACL 값에 기술된 권한 그룹 및 상기 권한 그룹에 속한 서버에 관한 정보에 기반하여, 상기 서버가 상기 명령에 대한 권한을 갖고 있는지 여부를 판단할 수 있다(S430, S440). 앞서 설명한 것처럼, 본 발명의 일 실시예에 따른 일 노드의 ACL 값은 권한 그룹과 그에 속하는 서버에 대한 정보가 기술될 수 있다(예컨대, W=DMS1). 따라서, 상기 단말은 상기 명령을 전송한 서버(이하, "명령 발신 서버"라 함)가 특정 권한 그룹에 포함되어 있는지 여부를 판단하며, 좀더 상세하게는 상기 명령 발신 서버의 서버 식별자가 상기 ACL 값에 기술된 권한 그룹에 할당되어 있는지 여부를 판단할 수 있다(S430). 일 예로, ACL 값 "W=DMS1"에서 DMS1은 W 권한 그룹에 할당되어 있다. 만약, 상기 명령 발신 서버의 서버 식별자가 어떠한 권한 그룹에도 할당되어 있지 않다면, 상기 명령 발신 서버는 어떠한 권한도 갖고 있지 않다는 의미이며, 인증은 실패로 끝난다(S450-2). 그러나, 상기 명령 발신 서버의 서버 식별자에 권한 그룹이 할당되어 있다면, 상기 단말은 상기 ACL 값에서 상기 명령 발신 서버가 속한 특정 권한 그룹에 허용된 명령에 상기 명령 발신 서버로부터의 명령이 속하는지 여부를 판단할 수 있다(S440). 다시 말하면, 상기 명령 발신 서버가 속한 권한 그룹에 상기 명령 발신 서버로부터의 명령에 대한 권한이 할당되었는지 여부를 판단할 수 있다. S440의 판단 결과가 "예(Y)"에 해당하면 상기 서버에 대한 인증은 성공한 것으로 판단되며(S450-1). S440의 판단 결과가 "아니오(N)"에 해당하는 상기 서버에 대한 인증은 실패한 것으로 판단된다(S450-2). 아울러, 상기 단말은 S440의 판단 결과를 상기 서버로 알릴 수 있다. 4 is a flowchart illustrating a method for authenticating authority for a command of a server in a terminal through an authority group according to an embodiment of the present invention. The terminal may receive a command for a specific node from the server (S410). The terminal may search for an ACL value required to authenticate the authority for the command of the server (S420). In most cases, the ACL value of the node may be obtained. However, as described in S120 of FIG. 1, the ACL value of the parent node of the node may be used (that is, inheritance). The terminal may determine whether the server has the authority for the command based on the authority group described in the ACL value and the information about the server belonging to the authority group (S430, S440). As described above, the ACL value of a node according to an embodiment of the present invention may describe information about an authorization group and a server belonging thereto (eg, W = DMS1). Accordingly, the terminal determines whether the server that transmits the command (hereinafter referred to as a "command originating server") is included in a specific authority group, and more specifically, the server identifier of the command originating server is the ACL value. It may be determined whether it is assigned to the authority group described in S430. For example, in the ACL value "W = DMS1", DMS1 is assigned to the W permission group. If the server identifier of the command originating server is not assigned to any authority group, it means that the command originating server does not have any authority, and the authentication ends in failure (S450-2). However, if an authority group is assigned to a server identifier of the command originating server, the terminal determines whether the command from the command originating server belongs to a command allowed in a specific authority group to which the command originating server belongs in the ACL value. It may be determined (S440). In other words, it may be determined whether the authority for the command from the command originating server is assigned to the authority group to which the command originating server belongs. If the determination result of S440 corresponds to "Yes (Y)", the authentication of the server is determined to be successful (S450-1). It is determined that the authentication for the server corresponding to the determination result of S440 as "no" (N) has failed (S450-2). In addition, the terminal may inform the server of the determination result of S440.
도 5는 본 발명의 일 실시예에 따른 권한 그룹을 통해 단말에서 서버의 명령에 대한 권한을 인증하기 위한 방법의 순서도를 나타낸다. 도 5는 전체적인 인증 절차를 설명하는 것으로 각 과정에 대해 자세히 설명하면 아래와 같다. 5 is a flowchart illustrating a method for authenticating a right to a command of a server in a terminal through a right group according to an embodiment of the present invention. 5 illustrates the overall authentication procedure, which will be described below in detail for each process.
단말은 특정 노드를 대상으로 하는 명령을 DMS1로부터 수신할 수 있다(S501). 단말은 DMS1로부터 특정 노드를 대상으로 하는 명령을 받는다. Get 명령의 경우, "Get URI"와 같은 방식으로 보통 지칭이 되기 때문에, 이 때 대상이 되는 노드는 URI를 통해 판단될 수 있다. 그리고 나서, 상기 단말은 상기 특정 노드의 ACL 값을 검색할 수 있다(S502). 이 때, 상기 단말은 상기 특정 노드의 부모 노드에 대한 ACL 값을 검색할 수도 있고, 이에 대한 설명은 도 1의 S120에서 설명한 것과 같다. 그리고 나서, 상기 단말은 상기 DMS1으로부터의 명령이 권한 그룹에 의해 인증될 수 있는 명령인지 여부를 판단할 수 있다(S503). 노드의 데이터를 가져오고(Get), 추가하고(Add), 수정하는(Replace, Delete) 명령이 권한 그룹에 의해 인증될 수 있는 명령에 해당한다. 나머지 명령은 독립 권한 그룹에 의해 인증될 수 있는 명령에 해당한다. S503에서, 상기 DMS1으로부터의 명령이 권한 그룹에 의해 인증될 수 있다면 S505로 진행하고, 그렇지 않으면 S504로 진행할 수 있다. The terminal may receive a command targeting a specific node from the DMS1 (S501). The terminal receives a command targeting a specific node from the DMS1. In the case of the Get command, since it is usually referred to in the same manner as "Get URI", the target node can be determined through the URI. Then, the terminal can retrieve the ACL value of the specific node (S502). In this case, the terminal may search for the ACL value of the parent node of the specific node, the description thereof is the same as described in S120 of FIG. Then, the terminal can determine whether the command from the DMS1 is a command that can be authenticated by the authority group (S503). Commands to get, add, and modify data of a node correspond to commands that can be authenticated by an authority group. The remaining commands correspond to commands that can be authenticated by independent privilege groups. In S503, if the command from the DMS1 can be authenticated by the authority group, the process proceeds to S505; otherwise, the process proceeds to S504.
S504에서, 상기 단말은 S502에서 가져온 ACL 값을 통해 상기 DMS1이 상기 명령 실행에 필요한 독립 권한을 가지고 있는지 여부를 판단할 수 있다. 예를 들어, DMS1이 전송한 명령이 Exec라면, ACL 값에서 상기 DMS1이 명령 Exec과 같은 독립 권한을 가지고 있는지를 확인한다. ACL 값 "RE=DMS1"처럼 상기 DMS1이 E 그룹에 할당된 권한을 갖고 있으면 인증은 성공되며(S510), 그렇지 않으면 인증은 실패로 끝난다(S511). In S504, the terminal may determine whether the DMS1 has the independent authority required to execute the command through the ACL value obtained in S502. For example, if the command sent by the DMS1 is an Exec, the ACL value checks whether the DMS1 has the same independent authority as the command Exec. If the DMS1 has the authority assigned to the E group like the ACL value " RE = DMS1 ", authentication is successful (S510), otherwise authentication ends with failure (S511).
S505에서, 상기 단말은 DMS1이 보낸 명령이 데이터를 읽어오는 명령인지 여부를 판단할 수 있다. 이러한 데이터를 읽어오는 명령의 대표적인 예는 Get이다. DMS1이 보낸 명령이 데이터를 읽어오는 명령이라면 상기 방법은 S507로 진행하고, 그렇지 않으면 상기 방법은 S506으로 진행할 수 있다. In step S505, the terminal may determine whether the command sent by the DMS1 is a command for reading data. A representative example of a command to read such data is Get. If the command sent by the DMS1 reads data, the method proceeds to S507. Otherwise, the method proceeds to S506.
S506에서, 상기 단말은 DMS1이 보낸 명령이 데이터를 새롭게 추가하는 명령인지 여부를 판단할 수 있다. 이러한 데이터를 새롭게 추가하는 명령의 대표적인 예는 Add이다. DMS1이 보낸 명령이 데이터를 새롭게 추가하는 명령이라면 상기 방법은 S508로 진행하고, 그렇지 않으면 상기 방법은 S509으로 진행할 수 있다. In step S506, the terminal may determine whether the command sent by the DMS1 is a command for adding new data. A typical example of a command to add such data is Add. If the command sent by the DMS1 is a command for adding new data, the method proceeds to S508. Otherwise, the method proceeds to S509.
S507에서, DMS1이 보낸 명령은 데이터를 읽어오는 명령이기 때문에, DMS1이 R/A/W 그룹 중 어느 그룹에 속해도 인증은 성공하게 된다. S502에서 가져온 ACL 값을 통해 DMS1이 R/A/W group에 속하는지 여부를 판단할 수 있다. DMS1이 R/A/W 그룹 중 하나의 권한 그룹에 속하게 되면, 인증은 성공적으로 끝난다(S510). 그렇지 않으면, 인증은 실패로 끝난다(S511).In S507, since the command sent by the DMS1 is a command for reading data, authentication succeeds even if the DMS1 belongs to any of the R / A / W groups. The ACL value obtained in S502 may determine whether the DMS1 belongs to the R / A / W group. If the DMS1 belongs to one authority group of the R / A / W group, authentication is completed successfully (S510). Otherwise, authentication ends in failure (S511).
S508에서, DMS1이 보낸 명령은 데이터를 새롭게 추가하는 명령이기 때문에, DMS1은 A/W 그룹 중 어느 하나에 속해도 인증은 성공하게 된다. S502에서 가져온 ACL 값을 통해 상기 단말은 DMS1이 A/W 그룹에 속하는지 여부를 판단할 수 있다. DMS1이 A/W 그룹 중 하나의 권한 그룹에 속하게 되면, 인증은 성공적으로 끝난다(S510). 그렇지 않으면, 인증은 실패로 끝난다(S511).In S508, since the command sent by the DMS1 is a command for adding new data, authentication succeeds even if the DMS1 belongs to any of the A / W groups. The UE may determine whether the DMS1 belongs to the A / W group through the ACL value obtained in S502. If the DMS1 belongs to one authority group of the A / W group, authentication is completed successfully (S510). Otherwise, authentication ends in failure (S511).
S509에서, 그 전 단계인 S506의 판단 결과가 "N"인 경우이므로, DMS1이 보낸 명령은 데이터를 수정하는 명령에 해당한다. 따라서, DMS1은 W 그룹에 속해야만 상기 명령에 대한 권한을 갖고 있다고 볼 수 있다. S502에서 가져온 ACL 값을 통해 DMS1이 W 그룹에 속하는지 여부를 판단할 수 있다. DMS1이 W 그룹에 속하게 되면, 인증은 성공적으로 끝난다(S510). 그렇지 않으면, 인증은 실패로 끝난다(S511).In S509, since the determination result of the previous step S506 is "N", the command sent by the DMS1 corresponds to a command for modifying data. Therefore, DMS1 may belong to the W group to have authority for the command. The ACL value obtained in S502 may determine whether DMS1 belongs to the W group. If DMS1 belongs to the W group, authentication is successfully completed (S510). Otherwise, authentication ends in failure (S511).
S510은 인증이 성공된 경우이며, 이 경우에 상기 단말은 DMS1으로부터의 명령을 수행할 수 있다. S511은 인증이 실패된 경우이며, 이 경우에 상기 단말은 DMS1으로부터의 명령을 수행하지 않는다. 도 5와 관련하여 설명된 인증 방법은 본 발명의 실시예에서 제안한 권한 그룹과 독립 권한 그룹의 개념을 이용하여 다른 방식으로 구현될 수도 있다. S510 is a case where authentication is successful, and in this case, the terminal may perform a command from DMS1. S511 is a case where authentication fails, in this case, the terminal does not perform a command from DMS1. The authentication method described with reference to FIG. 5 may be implemented in other manners using the concept of an authority group and an independent authority group proposed in the embodiment of the present invention.
제 2 실시예: 선택적인 권한 설정 레벨 제어 방법Second Embodiment: Method for Selective Authorization Level Control
본 발명의 제 2 실시예는 더 효율적인 권한 설정 레벨(the level of access control)을 제어할 수 있는 방법을 제안한다. 앞서 설명한 것처럼, 기존에는 권한 제어 레벨이 노드-레벨에서 이루어져 비효율적이었다. 이를 해결하기 위해, 모든 노드가 ACL 속성을 갖지 않고, 특정 방법에 따라 선택된 노드만이 ACL 속성을 갖도록 하고, ACL 속성이 없는 노드는 부모 노드 또는 선조 노드로부터의 상속을 통해 그 노드의 ACL 속성을 결정하도록 한다. 도 6은 이러한 예를 보여주고 있으며, 어둡게 칠해진 노드는 ACL 속성을 가질 수 있도록 지정된 노드이다. 지정되지 않는 노드는 ACL 속성을 가질 수 없어, ACL 값 설정 또한 불가능하다. 또한, ACL 속성을 갖는 노드는 반드시 비어 있지 않은 ACL 값을 가져야 한다. The second embodiment of the present invention proposes a method that can control the level of access control more efficiently. As mentioned earlier, in the past, the privilege control level was inefficient at the node-level. To solve this, make sure that all nodes do not have ACL attributes, and that only selected nodes have ACL attributes according to a particular method, and nodes without ACL attributes have their ACL attributes inherited through inheritance from their parent or ancestor nodes. Make a decision. Figure 6 illustrates this example, where the darkened node is the node specified to have an ACL attribute. Unspecified nodes cannot have ACL attributes, so ACL values cannot be set. Also, nodes with ACL attributes must have a non-empty ACL value.
본 발명의 제 2 실시예에서는, 지정된 또는 선택된 노드만이 ACL 속성을 가질 수 있도록 제안하며, ACL 값을 가져오고(Get), 교체(Replace)하는 과정에 대해 도 7과 관련하여 설명한다. In the second embodiment of the present invention, it is proposed that only a designated or selected node can have an ACL attribute, and a process of getting and replacing an ACL value will be described with reference to FIG. 7.
도 7(a)는 ACL 값을 가져오는 과정을, 도 7(b)는 ACL 값을 수정하는 과정을 도시한다. 먼저 도 7(a)에 대해 설명하면, S701에서, 단말 또는 DMC는 특정 노드의 ACL 값을 읽거나 가져오도록 요청받는다. 이러한 S701에 해당하는 과정은 DMS가 단말 또는 DMC에게 명령을 보낸 경우에, 해당 명령을 인증하기 위해 해당 ACL 값이 필요하기 때문에 수행된다. 다시 말하면, 예를 들어 DMS가 상기 특정 노드에 대해 Delete 명령을 보낸 경우, 상기 특정 노드에 대해 상기 DMS가 Delete 명령에 대한 권한이 있는지 확인(인증)하기 위해 S701에 해당하는 과정이 수행될 수 있다. 또한, 상기 ACL 값을 가져(읽어)오는 과정은 DMS가 ACL 값을 읽기 위한 명령(Get)을 보낸 경우에 수행될 수도 있다.FIG. 7A illustrates a process of obtaining an ACL value, and FIG. 7B illustrates a process of modifying an ACL value. First, referring to FIG. 7 (a), in S701, a terminal or a DMC is requested to read or get an ACL value of a specific node. This process corresponding to S701 is performed when the DMS sends a command to the terminal or the DMC because the ACL value is required to authenticate the command. In other words, for example, when the DMS sends a Delete command for the specific node, a process corresponding to S701 may be performed to confirm (authenticate) whether the DMS has authority for the Delete command for the specific node. . In addition, the process of obtaining (reading) the ACL value may be performed when the DMS sends a command (Get) to read the ACL value.
S702에서, 상기 단말은 상기 특정 노드가 ACL 속성을 갖고 있는지 여부를 판단할 수 있다. 종래 DM 기술에서는 모든 노드가 ACL 속성을 갖도록 설정되었으므로 S702와 같은 과정을 수행할 필요가 없으나, 도 7과 관련된 본 발명의 실시예는 일부 선택된 노드들만이 ACL 속성을 갖도록 설정되었으므로 S702와 같은 과정이 필요하다. 만약 상기 특정 노드가 ACL 속성을 갖고 있으면, S704로 가서 상기 특정 노드의 ACL 값을 읽어온다. 그렇지 않으면, ACL 상속에 의해 상기 특정 노드의 ACL 값이 결정되게 된다. In S702, the terminal may determine whether the specific node has an ACL attribute. In the conventional DM technology, since all nodes are set to have an ACL attribute, there is no need to perform a process as in S702. However, in the embodiment of the present invention related to FIG. 7, only some selected nodes are configured to have an ACL attribute. need. If the specific node has an ACL attribute, go to S704 to read the ACL value of the specific node. Otherwise, ACL inheritance of the particular node is determined by ACL inheritance.
따라서, 상기 특정 노드가 ACL 속성을 가지고 있지 않기 때문에 당연히 ACL 값을 갖고 있지 않으므로, S703에서 ACL 상속을 통해 ACL 값을 가져온다. 선조 노드들 중에서, ACL 속성을 가지고 있는, 상기 특정 노드에 가장 가까운 또는 가장 인접한 노드로부터 ACL 값을 상속받게 된다. 여기서, "선조 노드"는 DM 분야에서 널리 사용되는 용어로서, 상기 특정 노드의 선조 노드들은 상기 특정 노드의 부모 노드와 DM 트리의 루트 노드를 포함하며, 그 사이(즉, 상기 특정 노드의 부모 노드와 상기 DM 트리의 루트 노드 사이)의 노드들을 의미한다. 즉, 상기 DM 트리 내에서 상기 특정 노드의 상위 레벨, 위쪽에 위치한 모든 노드들을 지칭한다. Therefore, since the specific node does not have an ACL attribute because the specific node does not have an ACL attribute, the ACL value is obtained through ACL inheritance in S703. Among the ancestor nodes, the ACL value is inherited from the closest or nearest node to the particular node having the ACL attribute. Here, the "ancestor node" is a term widely used in the DM field, and the ancestor nodes of the specific node include a parent node of the specific node and a root node of the DM tree (ie, a parent node of the specific node). And between the root node of the DM tree). That is, it refers to all nodes located above and higher level of the specific node in the DM tree.
앞서 설명했듯이, ACL 속성을 가지고 있는 노드만이 비어있지 않은 ACL 값을 가질 수 있다. 따라서, 상기 특정 노드에서 상기 특정 노드가 속한 DM 트리의 루트 노드 방향으로, 첫번째 ACL 속성을 갖는 노드로부터 ACL 값을 상속받을 수 있다. As mentioned earlier, only nodes with ACL attributes can have non-empty ACL values. Accordingly, in the specific node, the ACL value may be inherited from the node having the first ACL attribute in the direction of the root node of the DM tree to which the specific node belongs.
본 발명의 실시예에서는 ACL 속성을 가지고 있는 노드가 미리 결정이 되어 있으므로, 상기 단말 또는 상기 DM 클라이언트는 부모 노드를 차례로 따라 올라갈 필요 없이, 바로 ACL 값을 상속받을 수 있는 선조 노드로 이동하여, ACL 값을 가져올 수 있다. 이는 종래에 ACL 상속을 통해 ACL 값을 가져오는 과정을 크게 줄일 수 있다. 최소한 DM 트리의 루트 노드는 ACL 속성과 ACL 값을 가져야 하기 때문에, ACL 상속은 반드시 보장된다. 따라서, ACL 상속을 통해 상기 특정 노드가 ACL 값을 갖게 되므로, S704에서 상기 특정 노드의 ACL 값을 읽어온다. In the embodiment of the present invention, since a node having an ACL attribute is determined in advance, the terminal or the DM client does not need to climb up the parent node in sequence, and moves directly to a ancestor node that can inherit the ACL value. You can get the value. This can greatly reduce the process of obtaining an ACL value through ACL inheritance in the past. ACL inheritance is guaranteed because at least the root node of the DM tree must have an ACL attribute and an ACL value. Accordingly, since the specific node has an ACL value through ACL inheritance, the ACL value of the specific node is read in S704.
도 7(b)에서 설명되는 ACL 값을 교체(Replace)하는 과정은 아래와 같다. 여기서, 해당 명령을 보낸 DMC가 ACL 값을 수정할 수 있는 권한을 가지고 있다고 가정한다. S711에서, 단말 또는 DM 클라이언트는 DMS로부터 특정 노드의 ACL 값을 바꾸기 위한 명령을 수신할 수 있다. S712에서, 상기 단말은 상기 특정 노드가 ACL 속성을 가지고 있는지 여부를 판단할 수 있다. 상기 특정 노드가 ACL 속성을 가지고 있지 않다면, ACL 값을 수정할 수 없기 때문에 S715로 이동한다.The process of replacing the ACL value described in FIG. 7 (b) is as follows. It is assumed here that the DMC that sent the command has permission to modify the ACL value. In S711, the terminal or the DM client may receive a command for changing the ACL value of the specific node from the DMS. In S712, the terminal may determine whether the specific node has an ACL attribute. If the specific node does not have an ACL attribute, it moves to S715 because the ACL value cannot be modified.
S712에서 상기 특정 노드가 ACL 속성을 가지고 있는 것으로 판단되면, S713에서 상기 단말은 상기 DMS가 보낸 명령 내의 ACL 값이 유효한 값인지, 즉 ACL 값이 비어있지 않고(not empty), 올바른 값인지 여부를 판단할 수 있다. 올바른 ACL 값이란 도 2에서 기술한 ACL 표현 형식에 부합하는 것을 의미한다. If it is determined in step S712 that the specific node has an ACL attribute, in step S713 the terminal determines whether the ACL value in the command sent by the DMS is a valid value, that is, whether the ACL value is not empty and is a correct value. You can judge. The correct ACL value means to conform to the ACL expression format described in FIG.
S713에서 상기 특정 노드의 ACL 값이 유효한 값인 것으로 판단되면, S714에서 상기 단말은 상기 DMS가 보낸 ACL 값으로 상기 특정 노드의 기존의 ACL 값을 수정한다. 그렇지 않으면, 상기 DMS의 명령은 실패로 끝나고, 상기 단말은 에러 코드를 상기 DMS로 전송할 수 있다. If it is determined in step S713 that the ACL value of the specific node is a valid value, in step S714 the terminal modifies the existing ACL value of the specific node with the ACL value sent by the DMS. Otherwise, the command of the DMS ends in failure, and the terminal may transmit an error code to the DMS.
상기 권한 설정 레벨 제어 방법에 따르면, 별도의 권한 설정이 필요한 노드에게만 ACL 속성을 할당하여, 권한 설정 레벨(the level of access control)을 효율적으로 제어할 수가 있다. 또한, 상기 권한 설정 레벨 제어 방법에 따르면, 상기 ACL 값을 상속해 오는 과정도 크게 단축되고, DM 계정을 삭제할 때도 모든 노드를 검색할 필요없이 ACL 속성을 갖도록 선택된 노드만을 검색하여, 해당 ACL-엔트리(acl-entry)만 지워주면 되므로 훨씬 효율적이다. According to the permission setting level control method, the ACL attribute is assigned only to a node requiring a separate permission setting, thereby efficiently controlling the level of access control. Further, according to the permission level control method, the process of inheriting the ACL value is greatly shortened, and even when deleting a DM account, only a node selected to have an ACL attribute is searched without having to search all nodes. It is much more efficient because you only need to delete (acl-entry).
도 7(a)를 통해 DMC가 어떻게 ACL 값을 얻어 오는지 설명했다. 따라서, DMS는 ACL 값을 얻고 싶은 특정 노드에 대해 자신이 Get 명령에 대한 권한이 할당된 R 그룹이나 그보다 넓은 권한을 갖는 그룹에 속한다면, DMC에게 Get 명령을 보내 해당 ACL 값을 얻을 수 있다. DMS가 ACL 값을 얻게 되면, 해당 노드에 대해 자신을 포함한 DMS가 어떤 권한을 가지고 있는지 확인할 수가 있다. 이때, 다른 DMS에게 허용된 권한을 확인하기 위해 표 2 내지 표 6을 참고하여 판단할 수 있다. 일 예로, DMS1이 특정 인테리어 노드에 대해 W 그룹에 속해있다면, DMS1는 DMC로 하여금 Get, Add, Delete, Replace의 명령을 상기 특정 인테리어 노드에 수행하도록 할 수 있다. Referring to FIG. 7 (a), the DMC obtains an ACL value. Therefore, if the DMS belongs to an R group or a group having a wider authority than the R node to which the authority for the Get command is assigned for a specific node that wants to obtain an ACL value, the DMS may send a Get command to the DMC to obtain the ACL value. When the DMS gets the ACL value, it can see what privileges the DMS, including itself, has for that node. At this time, it may be determined by referring to Tables 2 to 6 in order to confirm the authority granted to the other DMS. For example, if the DMS1 belongs to the W group for a specific interior node, the DMS1 may cause the DMC to perform commands of Get, Add, Delete, and Replace to the specific interior node.
이하에서는, ACL 속성을 갖는 노드를 어떠한 방법으로 선택할 수 있는지에 대해 구체적으로 설명하도록 한다. DM 프로토콜은 단말을 관리하기 위해 상기 단말이 DM 트리를 가지고 있다고 가정한다. DM 트리는 다시 FUMO[FUMO], SCOMO[SCOMO], DiagMon[DiagMon] 등의 여러 MO들로 이루어지는데, 이러한 관계를 나타내면 도 8과 같다. DM 트리에서 가장 상위에 있는 노드는 루트(root) 노트(".")라고 하며, 루트 노드 밑에 있는 FUMO ("./FUMO"), SCOMO ("./SCOMO"), DiagMon ("./DiagMon")의 노드들을 MO 루트 노드라고 한다. MO 루트 노드는 각각의 MO에서 보통 가장 상위 노드를 가리키며, 특정한 MOID(Management Object Identifier)가 할당되어 있어 일반적인 노드와 구별된다. 즉, FUMO의 MO 루트 노드에는 urn:oma:mo:oma-fumo:1.0가 MOID로 할당되어 있다. 이러한 DM 트리에서 ACL 속성을 할당하기 위한 node를 선택하는 규칙은 아래와 같다.Hereinafter, how to select a node having an ACL attribute will be described in detail. The DM protocol assumes that the terminal has a DM tree in order to manage the terminal. The DM tree is composed of several MOs such as FUMO [FUMO], SCOMO [SCOMO], DiagMon [DiagMon], and the like. The topmost node in the DM tree is called the root note ("."), And the FUMO ("./FUMO"), SCOMO ("./SCOMO"), and DiagMon ("./DiagMon" beneath the root node. The nodes in the ") are called MO root nodes. The MO root node usually refers to the highest node in each MO, and is distinguished from the general node by assigning a specific Management Object Identifier (MOID). That is, urn: oma: mo: oma-fumo: 1.0 is assigned as MOID to the MO root node of FUMO. The rules for selecting nodes for allocating ACL attributes in such a DM tree are as follows.
규칙 1: DM 트리의 루트 노드(".")는 반드시 ACL 속성을 갖는다. DM 트리의 루트 노드에는 보통 "A=*"의 ACL 값을 지정하게 된다.Rule 1: The root node (".") Of the DM tree must have an ACL attribute. The root node of the DM tree is usually assigned an ACL value of "A = * ".
규칙 2: MO 루트 노드(MOID가 할당되어 있는 노드)는 반드시 ACL 속성을 갖는다.Rule 2: The MO root node (the node to which the MOID is assigned) must have an ACL attribute.
규칙 3Rule three
3-1: MO 루트 노드에서 시작하여 MO 루트 노드의 자식(child) 노드들을 대상으로 MO 루트 노드와 다른 접근 권한을 가질 필요가 있는 노드는 ACL 속성을 갖는다. 3-1: A node that starts from the MO root node and needs to have different access rights from the MO root node to child nodes of the MO root node has an ACL attribute.
3-2: 다음 하위 레벨(MO 루트 노드의 자식 노드의 자식 노드들)로 이동하여, 그 레벨의 노드 중에서 부모 노드의 접근 권한과 다른 접근 권한을 가질 필요가 있는 노드는 ACL 속성을 갖는다. 3-2: Move to the next lower level (child nodes of the child node of the MO root node), among the nodes of that level that need to have access rights different from those of the parent node have ACL attributes.
3-3: 한 레벨씩 아래로 이동하면서, 마지막 레벨(리프 노드)에 이를 때까지 3-2의 과정을 반복한다.3-3: Moving down one level, repeat steps 3-2 until you reach the last level (leaf node).
그리고, 부모 노드에 ACL 속성이 없는 경우는, ACL 상속을 통해 ACL 값을 가져온다.If the parent node does not have an ACL attribute, the ACL value is obtained through ACL inheritance.
도 9는 FUMO[FUMO]를 대상으로 위의 방법을 적용하여 ACL 속성을 갖는 노드를 선택한 예를 도시한다. 위의 방법에 의해 ACL 속성을 가질 노드를 선택하는 것은, MO 표준이 개발되는 단계에서 이루어질 수도 있고, MO를 단말에 탑재하는 과정에서 단말 제조자와 통신 사업자 간의 협의에 의해 이루어질 수도 있다. 일단 ACL 속성을 갖는 노드가 각 MO 별로 선택되고 나면, DMS는 어느 노드가 ACL 속성을 갖는지를 알아야 한다. DM 트리의 노드들 중에서 ACL 속성을 갖고 있는 노드에 관한 정보를 본 명세서에서 "ACL 속성 소유 정보"라 지칭한다. 이러한 ACL 속성 소유 정보는 DDF(Device Description Framework)를 통해서 전달될 수도 있고, 해당 정보를 저장하는 별도의 MO를 구성하여 전달될 수 있다. 다시 말하면, 상기 ACL 속성 소유 정보는 DDF 또는 별도의 MO에 저장될 수 있다. 한편, DMS는 어느 노드가 ACL 속성을 갖는지 알 수 있을 뿐, ACL 속성을 동적으로 생성, 삭제할 수는 없다. 즉, DMS는 ACL 속성을 갖는 노드에서 ACL 속성을 삭제할 수 없고, ACL 속성이 없는 노드에게 ACL 속성을 새롭게 생성할 수 없다.9 illustrates an example of selecting a node having an ACL attribute by applying the above method to FUMO [FUMO]. Selecting a node having an ACL attribute by the above method may be performed at the stage of developing the MO standard, or may be made by negotiation between the terminal manufacturer and the communication operator in the process of mounting the MO on the terminal. Once a node with an ACL attribute is selected for each MO, the DMS must know which node has an ACL attribute. Information about a node having an ACL attribute among the nodes of the DM tree is referred to herein as "ACL attribute ownership information". Such ACL attribute ownership information may be delivered through the Device Description Framework (DDF), or may be delivered by configuring a separate MO that stores the corresponding information. In other words, the ACL attribute ownership information may be stored in a DDF or a separate MO. On the other hand, the DMS only knows which node has an ACL attribute and cannot dynamically create or delete an ACL attribute. That is, the DMS cannot delete an ACL attribute from a node having an ACL attribute, and cannot create a new ACL attribute on a node having no ACL attribute.
DDF란 특정 단말마다 지원하는 관리 신택스(management syntax)와 시멘틱(semantics)을 기술하는 것으로, 단말이 어떤 MO를 지원하는지, 특정 MO를 지원한다면 그 MO에는 어떤 관리 기능이 어떤 형식으로 들어 있는지를 나타낸다. DDF는 보통 XML 형식으로 표현되며, 관리 신택스와 시멘틱을 위한 정적인 정보를 제공하므로, 어떤 노드가 ACL 속성을 가지고 있는지 기술하기에 적합한 장소이다. 도 10은 FUMO의 DDF를 일부 변경하여, 도 9와 같이 FUMO의 루트 노드만이 ACL 속성을 갖는다는 것을 나타낸 것이다. 도 10의 FUMO의 DDF를 보면, FUMO의 루트 노드에만 <ACLProperty> 요소(element)가 트루(true)로 추가되었다. 이는 <ACLProperty> 요소가 트루 값을 갖는 노드만이 ACL 속성을 갖는다는 것을 뜻한다. 이러한 DDF는 DMS 또는 DMC에 저장될 수 있고, URI를 통해 다운로드할 수도 있다. DDF describes management syntax and semantics supported by a specific terminal. It indicates which MO supports the terminal and which management function is included in which MO if the specific MO is supported. . DDF is usually expressed in XML format and provides static information for management syntax and semantics, making it a good place to describe which nodes have ACL attributes. FIG. 10 illustrates that the DDF of the FUMO is partially changed, so that only the root node of the FUMO has an ACL attribute as shown in FIG. 9. Referring to the DDF of the FUMO of FIG. 10, an <ACLProperty> element is added as true only to the root node of the FUMO. This means that only nodes with a true value of the <ACLProperty> element have ACL attributes. Such a DDF may be stored in a DMS or a DMC and may be downloaded via a URI.
위와 같이 DDF를 이용하는 방법 외에 ACL 속성을 갖는 노드 정보를 도 11과 같이 MO의 형태(즉, ACLMO)로 DMS에게 전달할 수도 있다. 도 11에서 각 노드에 대한 설명은 아래와 같다. 노드 "ACLMO/<x>/MOID"는 특정 MO의 MOID를 나타낸다. 노드 "ACLMO/<x>/ACLNode"는 노드 "ACLMO/<x>/MOID"의 노드 값에 저장된 MOID로 지칭되는 MO에 대해, ACL 속성을 갖는 노드와 관련된 정보가 이곳에 저장된다. 노드 "ACLMO/<x>/ACLNode/<x>/URI"는 노드 "ACLMO/<x>/MOID"의 노드 값에 저장된 MOID로 지칭되는 MO에 대해, 어떤 노드들이 ACL 속성을 갖는지 URI 형태로 이곳에 저장된다. In addition to using the DDF as described above, node information having an ACL attribute may be delivered to the DMS in the form of an MO (that is, ACLMO) as shown in FIG. 11. Description of each node in FIG. 11 is as follows. The node "ACLMO / <x> / MOID" represents the MOID of a particular MO. The node "ACLMO / <x> / ACLNode" stores information related to the node having an ACL attribute here for the MO referred to as MOID stored in the node value of node "ACLMO / <x> / MOID". The node "ACLMO / <x> / ACLNode / <x> / URI" is a URI in the form of a URI for the MO referred to as MOID stored in the node value of node "ACLMO / <x> / MOID". It is stored here.
도 12는 도 11의 ACLMO를 이용하여, SCOMO와 FUMO에 대해 ACL 속성을 갖는 노드 정보를 제공하는 실제 ACLMO 예를 보여준다. DMS는 실제 ACLMO 예에서 Get 명령을 보내 해당 정보를 읽어 올 수 있다. 하지만, DMS는 실제 ACLMO 예의 데이터를 변경할 수가 없다. 이러한 ACLMO를 이용하는 방식은 DDF의 신택스를 수정할 필요 없이 ACL 속성을 가지는 노드 정보를 DMS에게 전송할 수 있다는 장점이 있다. FIG. 12 shows an actual ACLMO example of providing node information having ACL attributes for SCOMO and FUMO using the ACLMO of FIG. 11. The DMS can read the information by sending a Get command in the actual ACLMO example. However, the DMS cannot change the data of the actual ACLMO example. This method of using ACLMO has an advantage of transmitting node information having an ACL attribute to the DMS without having to modify the syntax of the DDF.
도 13은 본 발명의 실시예를 실시하기 위한 장치의 블록도를 나타낸 도면이다. 서버와 단말은 각각 통신모듈과 프로세서모듈을 포함하도록 구성되며, 통신모듈과 프로세서모듈은 상기 서버와 상기 단말이 구비할 수 있는 예일 뿐 더 많은 모듈이 추가될 수 있다. 13 is a block diagram of an apparatus for implementing an embodiment of the present invention. The server and the terminal are configured to include a communication module and a processor module, respectively, and the communication module and the processor module are merely examples of the server and the terminal, and more modules may be added.
본 발명의 다른 실시예에 따라, 단말(10)은 서버(20)의 명령(command)에 대한 권한 인증을 수행하도록 구성될 수 있다. 상기 단말은 상기 서버로부터 노드에 대한 명령을 수신하도록 구성된 통신모듈(11) 및 상기 서버의 상기 명령에 대한 권한 인증에 필요한 ACL(access control list) 값을 검색(retrieve)하도록 구성된 프로세서모듈(12)을 포함할 수 있다. 상기 서버의 상기 명령의 대상인 노드는 ACL 값을 가지고 있을 수도 없을 수도 있다. 상기 노드가 ACL 값을 가지고 있지 않는 경우에 ACL 값의 상속을 통해 상기 노드의 선조 노드로부터 ACL 값을 가져와야할 필요가 있다. 다시 말하면, 상기 프로세서모듈은 상기 서버의 상기 명령에 대한 권한 인증에 필요한 ACL 값, 즉 상기 노드의 ACL 값 또는 상속을 통해 상기 노드의 선조 노드의 ACL 값을 검색하도록 구성될 수 있다. According to another embodiment of the present invention, the terminal 10 may be configured to perform authorization authentication for a command of the server 20. The terminal is a communication module 11 configured to receive a command for a node from the server and a processor module 12 configured to retrieve an access control list (ACL) value required for authorization of the command of the server. It may include. The node that is the target of the command of the server may or may not have an ACL value. If the node does not have an ACL value, it is necessary to get the ACL value from the ancestor node of the node through inheritance of the ACL value. In other words, the processor module may be configured to retrieve the ACL value required for authorization of the command of the server, that is, the ACL value of the ancestor node of the node through the ACL value or inheritance of the node.
또한, 상기 프로세서모듈은 상기 검색된 ACL 값에 포함된 권한 그룹 및 상기 권한 그룹에 속한 서버를 나타내는 권한 그룹 정보에 기반하여, 상기 명령을 발신한 서버(20)가 상기 명령에 대한 권한 그룹에 속하는지 여부를 확인하도록 구성될 수 있다. 상기 프로세서모듈(12)은 상기 명령을 발신한 서버가 상기 명령에 대한 권한 그룹에 속하는지 여부에 따라 상기 명령을 발신한 서버가 상기 명령에 대한 권한을 갖고 있는지 여부를 판단할 수 있다. 또한, 상기 프로세서모듈(12)은 상기 명령을 발신한 서버가 상기 명령에 대한 권한을 갖고 있는 것으로 판단되면, 상기 명령을 상기 노드에 대해 수행할 수 있다. Further, the processor module determines whether the server 20 that sent the command belongs to the authority group for the command based on the authority group included in the retrieved ACL value and the authority group information indicating the server belonging to the authority group. It may be configured to check whether or not. The processor module 12 may determine whether the server that sent the command has the authority for the command based on whether the server that sent the command belongs to the authority group for the command. In addition, if it is determined that the server that sent the command has the authority to the command, the processor module 12 may perform the command on the node.
서버(20)는 단말(10)로 MO의 노드에 대한 명령을 지시 또는 전송할 수 있다. 상기 서버는 상기 노드에 대한 명령을 생성하도록 구성된 프로세서모듈(22); 및 상기 단말로 상기 노드에 대한 명령을 전송하도록 구성된 통신모듈(21)을 포함할 수 있다. 상기 명령은 상기 단말로 하여금 상기 서버의 상기 명령에 대한 권한 인증을 위해 필요한 ACL(access control list) 값을 검색(retrieve)하도록 하고, 상기 노드의 ACL 값에 포함된 권한 그룹 및 상기 권한 그룹에 속한 서버를 나타내는 권한 그룹 정보에 기반하여 상기 서버가 상기 권한 그룹에 속하는지 여부를 확인하도록 할 수 있다. 상기 서버(20)가 상기 명령에 대한 권한 그룹에 속하는 것으로 판단되면, 즉 상기 서버(20)가 상기 명령에 대한 권한이 있는 것으로 판단되면, 상기 단말은 상기 명령을 상기 노드에 대해 수행할 수 있다. The server 20 may instruct or transmit a command for a node of the MO to the terminal 10. The server includes a processor module 22 configured to generate a command for the node; And a communication module 21 configured to transmit a command for the node to the terminal. The command causes the terminal to retrieve an access control list (ACL) value required for authorization of the command of the server, and belongs to an authority group and the authority group included in the ACL value of the node. Based on the authority group information indicating the server, it may be determined whether the server belongs to the authority group. If it is determined that the server 20 belongs to the authority group for the command, that is, if it is determined that the server 20 has authority for the command, the terminal may perform the command on the node. .
상기 권한 그룹은 복수의 명령들 중 적어도 하나의 명령에 대한 권한이 할당된 복수의 권한 그룹 중 하나이며, 상기 권한 그룹에 속한 서버는 상기 권한 그룹에 할당된 적어도 하나의 명령에 대한 권한을 가질 수 있다. 상기 권한 그룹에 대한 설명은 본 명세서의 표 2 내지 표 6과 관련하여 설명된 내용에 더욱 상세히 설명된다. The authority group is one of a plurality of authority groups to which authority for at least one of a plurality of commands is assigned, and a server belonging to the authority group may have authority for at least one command assigned to the authority group. have. The description of the rights group is described in more detail in the context described in connection with Tables 2-6.
상기 복수의 권한 그룹의 부분집합(subset)은 적어도 하나의 동일한 명령에 대한 권한을 할당받을 수 있다. 예컨대, R 그룹, A 그룹 및 W 그룹 중 R 그룹과 A 그룹은 Get 명령에 대한 권한을 할당받는다. 또한, 상기 복수의 권한 그룹 각각은 복수의 명령들 중에서 임의로 선택된 적어도 하나의 명령 또는 복수의 명령들의 임의의 조합으로 선택된 명령들에 대한 권한을 할당받을 수 있다. A subset of the plurality of rights groups may be assigned rights for at least one same command. For example, R group and A group among R group, A group and W group are assigned authority for Get command. In addition, each of the plurality of authority groups may be assigned authority to commands selected by at least one command arbitrarily selected from among a plurality of commands or any combination of the plurality of commands.
또한, 상기 복수의 권한 그룹 각각은 복수의 명령들간의 의존관계에 따라 선택된 적어도 하나의 명령에 대한 권한을 할당받을 수 있다. 예컨대, Add 명령을 수행하기 위해서는 Get 명령이 필수적으로 필요하므로, Add 명령은 Get 명령에 의존하며, 따라서 A 그룹은 Add 명령에 더하여 Get 명령에 대한 권한을 할당받을 수 있다. 다시 말하면, 상기 권한 그룹이 제1 명령에 대한 권한을 할당받으면, 상기 권한 그룹은 상기 제1 명령을 수행하기 위해서 반드시 필요한 제2 명령에 대한 권한도 할당받을 수 있다. 여기서, 앞선 설명을 적용하면, 제1 명령은 제2 명령에 의존한다고 볼 수 있다. In addition, each of the plurality of authority groups may be assigned authority for at least one command selected according to a dependency relationship between the plurality of commands. For example, in order to perform the Add command, since the Get command is necessary, the Add command is dependent on the Get command, and thus, the group A may be assigned permission for the Get command in addition to the Add command. In other words, if the authority group is assigned authority for the first command, the authority group may also be assigned authority for the second command that is necessary for performing the first command. Here, applying the foregoing description, it can be seen that the first command depends on the second command.
또한, 상기 복수의 권한 그룹 중 하나의 권한 그룹은 다른 권한 그룹에 할당된 모든 명령에 대한 권한을 할당받을 수 있다. 예컨대, W 그룹은 A 그룹에 할당된 모든 명령에 대한 권한을 할당받을 수 있다. 이는 W 그룹에 할당된 모든 명령어를 수행하기 위해서 A 그룹에 할당된 모든 명령어가 필수적으로 필요하기 때문이고, 이는 각 명령에 대한 상기 의존관계에 비롯한다. In addition, one authority group of the plurality of authority groups may be assigned authority for all commands assigned to another authority group. For example, the W group may be assigned authority for all commands assigned to the A group. This is because all the commands assigned to group A are necessary to carry out all the commands assigned to group W, which is included in the above dependency on each command.
또한, 상기 복수의 권한 그룹 각각에 할당된 명령에 대한 권한은 상기 노드의 종류(type)에 따라 상이하다. 노드는 인테리어 노드와 리프 노드를 포함함을 앞서 설명하였다. 표 3 내지 표 5에 기재된 것과 같이, 각 노드의 종류에 따라 권한이 상이함을 확인할 수 있다. Also, the authority for the command assigned to each of the plurality of authority groups is different depending on the type of the node. It has been described above that the node includes an interior node and a leaf node. As shown in Tables 3 to 5, it can be confirmed that the authority is different depending on the type of each node.
본 발명의 다른 실시예에 따라, 단말(10)은 서버의 장치 관리(Device Management; DM) 트리의 노드에 대한 DM 명령을 수행하도록 구성될 수 있다. 여기서, 상기 노드는 ACL 속성을 가지면 비어있지 않은(non-empty) ACL 값을 갖고, ACL 속성을 가지지 않으면 ACL 값을 가지지 못하도록 구성될 수 있다. 상기 단말은 상기 서버로부터 상기 노드에 대한 DM 명령을 수신하도록 구성된 통신모듈(11); 및 상기 노드가 ACL 속성을 갖는지 여부를 판단하여 상기 노드가 ACL 속성을 갖고 있지 않으면, ACL 속성 소유 정보에 기반하여 상기 노드에 ACL 값을 상속해줄 수 있는 노드를 결정하고, 상기 결정된 노드로부터 상속을 통해 상기 결정된 노드의 ACL 값을 가져오도록 구성된 프로세서모듈(12)을 포함할 수 있다. 상기 DM 트리의 노드들은 선택적으로 ACL 속성을 가지도록 구성되며, 상기 ACL 속성 소유 정보는 상기 DM 트리의 노드들 중에서 ACL 속성을 가지고 있는 노드에 관한 정보를 포함할 수 있다. According to another embodiment of the present invention, the terminal 10 may be configured to perform a DM command for a node of a device management (DM) tree of a server. Here, the node may be configured to have a non-empty ACL value with an ACL attribute and to have no ACL value with no ACL attribute. The terminal includes a communication module (11) configured to receive a DM command for the node from the server; And determining whether the node has an ACL attribute and, if the node does not have an ACL attribute, determines a node that can inherit an ACL value to the node based on ACL attribute ownership information, and inherits from the determined node. It may include a processor module 12 configured to bring the ACL value of the determined node through. Nodes of the DM tree are selectively configured to have an ACL attribute, and the ACL attribute ownership information may include information about a node having an ACL attribute among the nodes of the DM tree.
상기 프로세서모듈은 상기 노드에 ACL 값을 상속해줄 수 있는 노드로서, 상기 ACL 속성을 가지고 있는 선택된 노드에 관한 정보를 이용하여 상기 DM 트리 내에서 상기 노드에 가장 인접한, ACL 속성을 가지는 선조 노드를 결정하도록 구성될 수 있다. The processor module is a node capable of inheriting an ACL value to the node, and determines a ancestor node having an ACL attribute closest to the node in the DM tree by using information about a selected node having the ACL attribute. It can be configured to.
상기 ACL 속성 소유 정보는 전체 노드 중 일부 노드에 대하여 ACL 속성을 선택적으로 할당했음을 나타낼 수 있고, 상기 ACL 속성 소유 정보는 상기 DM 트리의 노드들 중 부모 노드와 다른 권한이 할당될 필요가 있는 노드가 ACL 속성을 가지고 있음을 나타낼 수 있다. 또한, 상기 ACL 속성 소유 정보는 상기 DM 트리의 루트(root) 노드 및 상기 DM 트리의 관리 객체(Management Object; MO)의 루트 노드는 반드시 ACL 속성을 가지고 있음을 나타내며, 상기 MO의 루트 노드의 하위 레벨에 속하는 노드들 중 부모 노드와 다른 권한을 할당할 필요가 있는 노드는 ACL 속성을 가지고 있음을 나타낼 수 있다. 상기 ACL 속성 소유 정보는 상기 단말의 DDF(Device Description Framework) 또는 상기 단말의 별도의 관리 객체(Management Object; MO)에 저장될 수 있다. The ACL attribute ownership information may indicate that an ACL attribute has been selectively assigned to some nodes of all nodes, and the ACL attribute ownership information may include a node that needs to be assigned a different authority from a parent node among the nodes of the DM tree. It can indicate that it has an ACL attribute. In addition, the ACL attribute ownership information indicates that a root node of the DM tree and a root node of a Management Object (MO) of the DM tree must have an ACL attribute, and it is a child of the root node of the MO. Nodes in the level that need to be assigned different permissions than the parent node may indicate that they have ACL attributes. The ACL attribute ownership information may be stored in a device description framework (DDF) of the terminal or a separate management object (MO) of the terminal.
또한, 상기 프로세서는 상기 서버의 계정을 삭제하기 위한 DM 명령이 수신되면, ACL 속성 소유 정보에 기반하여 또는 상기 ACL 속성을 가지고 있는 선택된 노드에 관한 정보를 이용하여 상기 DM 트리 내에서 ACL 속성을 가지고 있는 노드들의 ACL 값에서 상기 서버의 식별자와 연관된 ACL 엔트리(acl entry)를 삭제하도록 구성될 수 있다. 한편, 상기 서버의 계정을 삭제하기 위한 DM 명령은 단말 내부에 미리 설정된 조건(condition)에 의해 상기 단말 자체적으로 생성될 수도 있다. Further, when a DM command for deleting an account of the server is received, the processor has an ACL attribute in the DM tree based on ACL attribute ownership information or using information about a selected node having the ACL attribute. May be configured to delete an ACL entry associated with the identifier of the server from an ACL value of the existing node. Meanwhile, the DM command for deleting the account of the server may be generated by the terminal itself according to a condition set in the terminal.
상기 서버는 Delete 명령을 사용하여 DM 계정을 삭제할 수 있다. 상기 서버가 DM 계정을 삭제하기 전에, 종래에는 상기 서버는 단말 또는 단말 내의 DM 클라이언트로 하여금 DM 트리의 전체 노드들을 하나씩 검사하여, ACL 값에 삭제될 서버의 식별자(ID)가 있는지를 검사하였다. 그러나, 본 발명의 일 실시예에서는 DM 트리 내의 노드에 ACL 속성이 선택적으로 할당되고 상기 ACL 속성을 갖는 노드는 비어있지 않은 ACL 값을 갖도록 설정되며 이러한 정보는 ACL 속성 소유 정보로 저장되므로, ACL 속성을 갖는 노드에 대해서만 ACL 값에 삭제될 서버의 식별자(ID)가 있는지를 검사할 수 있다. 따라서, 상기 서버는 단말 또는 단말 내의 DM 클라이언트로 하여금 상기 ACL 속성 소유 정보에 기반하여 ACL 속성을 갖는 노드들에 대해서만 상기 검사를 수행하여 상기 삭제될 서버의 ID와 연관된 ACL 값을 삭제하도록 한다. 예컨대, DMS1에 대한 DM 계정 삭제 명령이라면, 노드 A의 ACL 값이 "Get=DMS1&Replace=DMS1&Get=DMS2"인 경우, 상기 ACL 값에서 상기 DMS1과 연관된 ACL 엔트리, 즉 "Get=DMS1&Replace=DMS1"를 삭제하여, 상기 노드 A의 ACL 값이 "Get=DMS2"가 되도록 한다. The server may delete the DM account using the Delete command. Before the server deletes the DM account, the server conventionally allows the terminal or the DM client in the terminal to check all nodes of the DM tree one by one to see if there is an identifier (ID) of the server to be deleted in the ACL value. However, in one embodiment of the present invention, an ACL attribute is selectively assigned to a node in the DM tree, and a node having the ACL attribute is set to have a non-empty ACL value, and this information is stored as ACL attribute ownership information. Only nodes with can check if there is an identifier (ID) of the server to be deleted in the ACL value. Accordingly, the server causes the terminal or the DM client in the terminal to perform the check only on nodes having an ACL attribute based on the ACL attribute ownership information to delete the ACL value associated with the ID of the server to be deleted. For example, if the DM account deletion command for DMS1 is, if the ACL value of node A is "Get = DMS1 & Replace = DMS1 & Get = DMS2", the ACL entry associated with the DMS1, that is, "Get = DMS1 & Replace = DMS1", is deleted from the ACL value. Thus, the ACL value of Node A is "Get = DMS2".
본 발명은 DM 1.3이 가지고 있는 문제를 해결하기 위해 제안되었다. 본 발명의 실시예들을 통해, 권한 그룹을 구성하여 권한 인증을 수행하며, 상기 권한 그룹은 DM 명령간의 의존 관계를 고려하여, 또는 임의대로 구성될 수 있다. DM 명령간의 의존 관계를 고려한 경우, 하위에 있는 권한 그룹일수록 더 넓은 범위의 권한을 가지고 있으며, 상위 권한 그룹의 권한을 포함하도록 구성될 수 있다. 즉, 하위 권한 그룹에 할당된 명령에 대한 권한은 상위 권한 그룹에 할당된 명령에 대한 권한에 의존적인 관계가 있으며, 이를 포함하도록 했기 때문에 DM 명령간의 의존 관계를 고려한다고 볼 수 있다. 일 예로, 특정 리프 노드에 대해 DMS가 Replace 권한을 갖기 위해서는 W 그룹에 속해야 하고 W 그룹은 당연히 R 그룹의 모든 권한을 포함하기 때문에 자동적으로 Get 권한 역시 갖게 된다. The present invention has been proposed to solve the problem of DM 1.3. Through embodiments of the present invention, an authorization group is configured to perform authorization authentication, and the authorization group may be configured in consideration of a dependency relationship between DM commands or arbitrarily. In consideration of the dependency between DM commands, the lower authority group has a wider scope of authority, and may be configured to include the authority of the upper authority group. That is, the authority for the commands assigned to the lower authority group depends on the authority for the commands assigned to the upper authority group, and since it is included, the dependency between DM commands can be considered. For example, in order for a DMS to have Replace permission on a particular leaf node, it must belong to the W group, and since the W group naturally includes all the rights of the R group, it also automatically has the Get permission.
또한, 본 발명의 실시예를 통해, 권한 그룹과 독립 권한 그룹을 이용해서 ACL 값을 표현하게 되면, ACL 값을 훨씬 효과적으로 표현할 수 있다. DM 1.3에서는 리프 노드에 대한 DM 서버(SvrA)의 모든 명령에 대한 권한을 ACL 값 "Get=SvrA&Delete=SvrA&Replace=SvrA&Exec=SvrA"로 표현하였다. 이는 본 발명의 권한 그룹을 이용하여 표현하면 "WE=SvrA"로 간단히 축약될 수 있어 훨씬 효율적이다. 또한, 복수의 DMS(SvrA와 SvrB)에 대해서 모든 명령에 대한 권한을 ACL 값을 DM 1.3에서 표현하면 "Get=SvrA&Add=SvrA&Delete=SvrA&Replace=SvrA&Exec=SvrA&Get=SvrB&Add=SvrB&Delete=SvrB&Replace=SvrB&Exec=SvrB"와 같이 표현되지만, 본 발명에 따른 권한 그룹을 이용하여 표현하면 "WE=SvrA&WE=SvrB"와 같이 간단하고 짧게 표현될 수 있다. In addition, according to an embodiment of the present invention, when the ACL value is expressed by using the authority group and the independent authority group, the ACL value may be represented more effectively. In DM 1.3, the authority for all commands of the DM server (SvrA) on the leaf node is expressed by the ACL value "Get = SvrA & Delete = SvrA & Replace = SvrA & Exec = SvrA". This is much more efficient since it can be simply abbreviated to "WE = SvrA" when expressed using the rights group of the present invention. Also, if the ACL value is expressed in DM 1.3 for a plurality of DMSs (SvrA and SvrB), "Get = SvrA & Add = SvrA & Delete = SvrA & Replace = SvrA & Exec = SvrA & Get = SvrB & Add = SvrB & Delete = SvrB & Replace = SvrB & Exec = SvrB" Although expressed as follows, it can be expressed simply and briefly as "WE = SvrA & WE = SvrB" when expressed using an authority group according to the present invention.
또한, DM 1.x에서는 모든 노드가 ACL 속성을 갖도록 해서, 노드-레벨 권한 제어가 일률적으로 적용되었다. 하지만, 실제적인 디바이스 관리(DM)에서 이러한 세세한 권한 제어가 불필요하므로 프로토콜 과부하를 초래하였다. 본 발명에서 제안한 방법으로 노드를 선택하고 선택된 노드에 대해서만 ACL 속성을 할당하면, 권한 제어 레벨을 제어할 수 있어 훨씬 효율적으로 단말을 관리할 수가 있게 된다. 즉, FUMO[FUMO]같은 MO는 MO의 루트 노드에 대해서만 ACL 속성을 할당하면 되고, SCOMO[SCOMO]의 경우는 도 6과 같은 방식으로 노드를 선택하여 ACL 속성을 할당하면 된다.In addition, in DM 1.x, all nodes have ACL attributes, so node-level permission control has been applied uniformly. However, such detailed authority control is unnecessary in actual device management (DM), resulting in protocol overload. If a node is selected by the method proposed in the present invention and an ACL attribute is assigned to only the selected node, the authority control level can be controlled, thereby enabling the terminal to be managed more efficiently. That is, an MO such as FUMO [FUMO] needs to assign an ACL attribute only to the root node of the MO, and in the case of SCOMO [SCOMO], selects a node and assigns an ACL attribute as shown in FIG. 6.
또한, DM 1.x에서는 ACL 상속을 위해 비어있는 ACL 값을 이용했다. 즉, ACL 값이 비어있다면 상위 부모 노드에서 ACL 값을 상속받는 방법이다. 상위 부모 노드의 ACL 값도 비어 있다면, 그 부모 노드로 따라 올라가면서 비어 있지 않는 ACL 값을 갖고 있는 선조 노드를 찾아야 한다. 이는 ACL 상속을 위해 부모 노드로 차례로 올라가면서 검색해야 해서 비효율적이다. 본 발명을 이용하면, ACL 속성을 갖는 노드를 특정한 방법으로 미리 선택하고, 그 선택된 노드에 비어 있지 않는 ACL 값을 할당한다. 또한, 이러한 ACL 속성을 갖는 선택된 노드에 관한 정보를 DDF나 ACLMO와 같은 별도의 MO를 통해 DMS로 전달될 수 있다. DMC는 ACL 상속을 위해 부모 노드를 차례로 따라가지 않고, 바로 ACL 속성을 가지고 있는 노드로 가서 ACL 값을 가져올 수가 있기 때문에 훨씬 효율적으로 ACL 값을 상속받을 수가 있다. DM 1.x also used an empty ACL value for ACL inheritance. In other words, if the ACL value is empty, the method inherits the ACL value from the parent node. If the parent parent node's ACL value is also empty, it must go up to its parent node and find the ancestor node with the non-empty ACL value. This is inefficient because you have to go up to the parent node one after the other for ACL inheritance. Using the present invention, a node having an ACL attribute is preselected in a specific manner, and a non-empty ACL value is assigned to the selected node. In addition, the information about the selected node having such an ACL attribute may be delivered to the DMS through a separate MO such as DDF or ACLMO. DMC can inherit ACL values much more efficiently because it can go directly to the node that has the ACL attribute and get the ACL value instead of following the parent node in turn for ACL inheritance.
특정 DMS의 DM 계정(account)이 삭제될 때, DM 트리의 모든 노드를 대상으로 삭제될 DMS와 관련이 되어 있는 ACL-엔트리(acl-entry)를 찾아서 삭제하여야 한다. 이는 DM 1.3이 모든 노드가 ACL 속성을 갖도록 허용했기 때문이다. 본 발명에 의해 특정한 방법으로 ACL 속성을 갖는 노드를 선택해 놓으면, 이러한 ACL-엔트리(acl-entry)의 삭제를 ACL 속성을 갖도록 선택된 노드만 대상으로 수행하면 되기 때문에 훨씬 효과적이다. 예로, FUMO[FUMO]의 경우, MO의 루트 노드에만 ACL 속성을 할당하면 되기 때문에, 대상 노드가 11개에서 1개로 크게 줄일 수 있는 이점이 있다. When the DM account of a specific DMS is deleted, all the nodes of the DM tree should be found and deleted the ACL-entry associated with the DMS to be deleted. This is because DM 1.3 allowed all nodes to have ACL attributes. According to the present invention, selecting a node having an ACL attribute in a specific manner is much more effective because the deletion of the ACL-entry only needs to be performed on the node selected to have the ACL attribute. For example, in the case of FUMO [FUMO], since the ACL attribute needs to be assigned only to the root node of the MO, there is an advantage that the target node can be greatly reduced from 11 to one.
상술한 바와 같이 개시된 본 발명의 바람직한 실시예들에 대한 상세한 설명은 당업자가 본 발명을 구현하고 실시할 수 있도록 제공되었다. 상기에서는 본 발명의 바람직한 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명은 여기에 나타난 실시형태들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다. The detailed description of the preferred embodiments of the invention disclosed as described above is provided to enable those skilled in the art to implement and practice the invention. Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art will variously modify and change the present invention without departing from the spirit and scope of the invention as set forth in the claims below. I can understand that you can. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
본 발명의 실시예들은 장치 관리 시스템에서, 서버, 단말, 클라이언트 장치 또는 기타 다른 장치에서 사용될 수 있다.Embodiments of the invention may be used in a device management system, in a server, terminal, client device or other device.

Claims (18)

  1. 단말에서 상기 단말에 저장된 장치 관리(Device Management; DM) 트리의 노드에 대한 서버의 DM 명령(command)에 대한 권한 인증을 수행하기 위한 방법으로서,A method for performing authorization authentication for a DM command of a server to a node of a device management (DM) tree stored in the terminal, in the terminal,
    상기 서버로부터 상기 노드에 대한 명령을 수신하는 단계;Receiving a command for the node from the server;
    상기 서버의 상기 명령에 대한 권한 인증에 필요한 ACL(access control list) 값을 검색(retrieve)하는 단계; 및Retrieving an access control list (ACL) value for authorization authentication of the command of the server; And
    상기 검색된 ACL 값에 포함된 권한 그룹과 상기 권한 그룹에 속하는 서버를 나타내는 권한 그룹 정보에 기반하여, 상기 명령을 발신한 서버가 상기 명령에 대한 권한 그룹에 속하는지 여부를 확인하는 단계를 포함하고, Determining whether the server that sent the command belongs to the permission group for the command based on the permission group included in the retrieved ACL value and the permission group information indicating a server belonging to the permission group;
    상기 권한 그룹은 복수의 명령들 중 적어도 하나의 명령에 대한 권한이 할당된 복수의 권한 그룹 중 하나이며, 상기 권한 그룹에 속한 서버는 상기 권한 그룹에 할당된 적어도 하나의 명령에 대한 권한을 갖는, 명령에 대한 권한 인증 방법.The authority group is one of a plurality of authority groups to which authority for at least one of a plurality of commands is assigned, and a server belonging to the authority group has authority for at least one command assigned to the authority group, Authentication method for the command.
  2. 제1항에 있어서, 상기 복수의 권한 그룹의 부분집합(subset)은 적어도 하나의 동일한 명령에 대한 권한을 할당받는, 명령에 대한 권한 인증 방법.The method of claim 1, wherein a subset of the plurality of rights groups is assigned rights for at least one same command.
  3. 제1항에 있어서, 상기 복수의 권한 그룹 각각은 복수의 명령들 중에서 임의로 선택된 적어도 하나의 명령 또는 복수의 명령들의 임의의 조합으로 선택된 명령들에 대한 권한을 할당받는, 명령에 대한 권한 인증 방법.The method of claim 1, wherein each of the plurality of permission groups is assigned a permission for commands selected with at least one command randomly selected from among a plurality of commands or any combination of the plurality of commands.
  4. 제1항에 있어서, 상기 복수의 권한 그룹 각각은 복수의 명령들간의 의존관계에 따라 선택된 적어도 하나의 명령에 대한 권한을 할당받는, 명령에 대한 권한 인증 방법.The method of claim 1, wherein each of the plurality of permission groups is assigned a permission for at least one command selected according to a dependency between the plurality of commands.
  5. 제1항에 있어서, 상기 권한 그룹이 제1 명령에 대한 권한을 할당받으면, 상기 권한 그룹은 상기 제1 명령을 수행하기 위해서 반드시 필요한 제2 명령에 대한 권한도 할당받는, 명령에 대한 권한 인증 방법.The method of claim 1, wherein if the authority group is assigned authority for a first command, the authority group is also assigned authority for a second command that is necessary to perform the first command. .
  6. 제1항에 있어서, 상기 복수의 권한 그룹 중 하나의 권한 그룹은 다른 권한 그룹에 할당된 모든 명령에 대한 권한을 할당받는, 명령에 대한 권한 인증 방법.The method of claim 1, wherein one of the plurality of permission groups is assigned a permission for all commands assigned to another permission group.
  7. 제1항에 있어서, 상기 복수의 권한 그룹 각각에 할당된 명령에 대한 권한은 상기 노드의 종류(type)에 따라 다른, 명령에 대한 권한 인증 방법.The method of claim 1, wherein the authority for the command assigned to each of the plurality of authority groups is different depending on the type of the node.
  8. 제1항에 있어서, 상기 서버로부터의 노드에 대한 명령이 상기 노드의 ACL 값의 수정에 관한 명령인 경우, The method of claim 1, wherein the command for a node from the server is a command for modifying an ACL value of the node.
    상기 명령을 발신한 서버가 상기 ACL 값 수정에 관한 명령에 대한 권한을 갖고 있다고 판단되면, 상기 노드의 ACL 값을 상기 권한 그룹 정보에 기반한 새로운 ACL 값으로 수정하는 단계;를 더 포함하는, 명령에 대한 권한 인증 방법.If it is determined that the server originating the command has authority to the command for modifying the ACL value, modifying the ACL value of the node to a new ACL value based on the authority group information. Authorization authentication method.
  9. 장치 관리(Device Management; DM) 트리의 노드에 대한 서버의 DM 명령(command)에 대한 권한 인증을 수행하도록 구성된 단말로서, A terminal configured to perform authorization authentication for a DM command of a server to a node of a device management (DM) tree.
    상기 서버로부터 상기 노드에 대한 명령을 수신하도록 구성된 통신모듈; 및A communication module configured to receive a command for the node from the server; And
    상기 서버의 상기 명령에 대한 권한 인증에 필요한 ACL(access control list) 값을 검색(retrieve)하고, 상기 검색된 ACL 값에 포함된 권한 그룹 및 상기 권한 그룹에 속한 서버를 나타내는 권한 그룹 정보에 기반하여, 상기 명령을 발신한 서버가 상기 명령에 대한 권한 그룹에 속하는지 여부를 확인하도록 구성된 프로세서모듈을 포함하고, Retrieving an access control list (ACL) value required for authorization of the command of the server, and based on authorization group included in the retrieved ACL value and authorization group information indicating a server belonging to the authorization group, A processor module configured to check whether the server that sent the command belongs to a permission group for the command,
    상기 권한 그룹은 복수의 명령들 중 적어도 하나의 명령에 대한 권한이 할당된 복수의 권한 그룹 중 하나이며, 상기 권한 그룹에 속한 서버는 상기 권한 그룹에 할당된 적어도 하나의 명령에 대한 권한을 갖는, 단말.The authority group is one of a plurality of authority groups to which authority for at least one of a plurality of commands is assigned, and a server belonging to the authority group has authority for at least one command assigned to the authority group, Terminal.
  10. 제9항에 있어서, 상기 복수의 권한 그룹의 부분집합(subset)은 적어도 하나의 동일한 명령에 대한 권한을 할당받는, 단말.10. The terminal of claim 9, wherein a subset of the plurality of rights groups is assigned rights for at least one same command.
  11. 제9항에 있어서, 상기 복수의 권한 그룹 각각은 복수의 명령들 중에서 임의로 선택된 적어도 하나의 명령 또는 복수의 명령들의 임의의 조합으로 선택된 명령들에 대한 권한을 할당받는, 단말.10. The terminal of claim 9, wherein each of the plurality of permission groups is assigned rights for commands selected with at least one command randomly selected from among a plurality of commands or any combination of the plurality of commands.
  12. 제9항에 있어서, 상기 복수의 권한 그룹 각각은 복수의 명령들간의 의존관계에 따라 선택된 적어도 하나의 명령에 대한 권한을 할당받는, 단말.10. The terminal of claim 9, wherein each of the plurality of permission groups is assigned a permission for at least one command selected according to a dependency between a plurality of commands.
  13. 제9항에 있어서, 상기 권한 그룹이 제1 명령에 대한 권한을 할당받으면, 상기 권한 그룹은 상기 제1 명령을 수행하기 위해서 반드시 필요한 제2 명령에 대한 권한도 할당받는, 단말.10. The terminal of claim 9, wherein, if the authority group is assigned authority for a first command, the authority group is also assigned authority for a second command that is essential for performing the first command.
  14. 제9항에 있어서, 상기 복수의 권한 그룹 중 하나의 권한 그룹은 다른 권한 그룹에 할당된 모든 명령에 대한 권한을 할당받는, 단말.The terminal of claim 9, wherein one of the plurality of authority groups is assigned authority for all commands assigned to another authority group.
  15. 제9항에 있어서, 상기 복수의 권한 그룹 각각에 할당된 명령에 대한 권한은 상기 노드의 종류(type)에 따라 다른, 단말.The terminal of claim 9, wherein a right to a command assigned to each of the plurality of rights groups is different according to a type of the node.
  16. 제9항에 있어서, 상기 서버로부터의 노드에 대한 명령이 상기 노드의 ACL 값의 수정에 관한 명령인 경우, 10. The method of claim 9 wherein the command for a node from the server is a command for modifying an ACL value of the node.
    상기 서버가 상기 ACL 값 수정에 관한 명령에 대한 권한을 갖고 있다고 판단되면, 상기 프로세서모듈은 상기 노드의 ACL 값을 상기 권한 그룹 정보에 기반한 새로운 ACL 값으로 수정하도록 구성되는, 단말.And if it is determined that the server has authority to the command for modifying the ACL value, the processor module is configured to modify the ACL value of the node to a new ACL value based on the authority group information.
  17. 서버에서 단말에 저장된 장치 관리(Device Management; DM) 트리의 노드에 대한 상기 서버의 DM 명령(command)에 대한 권한 인증을 요청하기 위한 방법으로서,A method for requesting authorization of a DM command of a server from a server to a node of a device management (DM) tree stored in a terminal, the method comprising:
    상기 단말로 하여금 상기 서버의 상기 명령에 대한 권한 인증에 필요한 ACL(access control list) 값을 검색(retrieve)하도록 하여, 상기 검색된 ACL 값에 포함된 권한 그룹 및 상기 권한 그룹에 속하는 서버를 나타내는 권한 그룹 정보에 기반하여 상기 명령을 발신한 서버가 상기 명령에 대한 권한 그룹에 속하는지 여부를 확인하는 단계를 포함하고,The terminal causes the terminal to retrieve an access control list (ACL) value required for authorization of the command of the server, thereby indicating an authorization group included in the retrieved ACL value and a server belonging to the authorization group. Determining whether the server that sent the command belongs to an authority group for the command based on the information;
    상기 권한 그룹은 복수의 명령들 중 적어도 하나의 명령에 대한 권한이 할당된 복수의 권한 그룹 중 하나이며, 상기 권한 그룹에 속한 서버는 상기 권한 그룹에 할당된 적어도 하나의 명령에 대한 권한을 갖는, 명령에 대한 권한 인증 요청 방법.The authority group is one of a plurality of authority groups to which authority for at least one of a plurality of commands is assigned, and a server belonging to the authority group has authority for at least one command assigned to the authority group, How to request authorization for a command.
  18. 단말에 저장된 장치 관리(Device Management; DM) 트리의 노드에 대한 DM 명령(command)에 대한 권한 인증을 요청하도록 구성된 서버로서, A server configured to request authorization of a DM command for a node of a device management (DM) tree stored in a terminal.
    상기 노드에 대한 명령을 생성하도록 구성된 프로세서모듈; 및A processor module configured to generate instructions for the node; And
    단말로 상기 노드에 대한 명령을 전송하도록 구성된 통신모듈을 포함하되,Including a communication module configured to transmit a command for the node to the terminal,
    상기 명령은 상기 단말로 하여금 상기 서버의 상기 명령에 대한 권한 인증에 필요한 ACL(access control list) 값을 검색(retrieve)하고, 상기 검색된 ACL 값에 포함된 권한 그룹 및 상기 권한 그룹에 속한 서버를 나타내는 권한 그룹 정보에 기반하여 상기 명령을 발신한 서버가 상기 명령에 대한 권한 그룹에 속하는지 여부를 확인하도록 하며,The command causes the terminal to retrieve an access control list (ACL) value required for authorization of the command of the server, and indicates an authorization group included in the retrieved ACL value and a server belonging to the authorization group. Determine whether the server that sent the command belongs to a permission group for the command based on the permission group information,
    상기 권한 그룹은 복수의 명령들 중 적어도 하나의 명령에 대한 권한이 할당된 복수의 권한 그룹 중 하나이며, 상기 권한 그룹에 속한 서버는 상기 권한 그룹에 할당된 적어도 하나의 명령에 대한 권한을 갖는, 서버.The authority group is one of a plurality of authority groups to which authority for at least one of a plurality of commands is assigned, and a server belonging to the authority group has authority for at least one command assigned to the authority group, server.
PCT/KR2012/006408 2011-08-10 2012-08-10 Method for authenticating authority to command of server, method for requesting authority authentication, and device for same WO2013022319A2 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201161522229P 2011-08-10 2011-08-10
US61/522,229 2011-08-10
US201161562437P 2011-11-21 2011-11-21
US61/562,437 2011-11-21
US201261586846P 2012-01-16 2012-01-16
US61/586,846 2012-01-16
US201261665318P 2012-06-28 2012-06-28
US61/665,318 2012-06-28

Publications (2)

Publication Number Publication Date
WO2013022319A2 true WO2013022319A2 (en) 2013-02-14
WO2013022319A3 WO2013022319A3 (en) 2013-04-04

Family

ID=47669115

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/KR2012/006408 WO2013022319A2 (en) 2011-08-10 2012-08-10 Method for authenticating authority to command of server, method for requesting authority authentication, and device for same
PCT/KR2012/006406 WO2013022317A2 (en) 2011-08-10 2012-08-10 Method for executing command of server, and apparatus for same

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/006406 WO2013022317A2 (en) 2011-08-10 2012-08-10 Method for executing command of server, and apparatus for same

Country Status (1)

Country Link
WO (2) WO2013022319A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014193166A1 (en) * 2013-05-28 2014-12-04 엘지전자 주식회사 Gateway and control method therefor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050096047A (en) * 2004-03-29 2005-10-05 유한회사 알파데이터링크시스템 Apparatus and method for controlling access right of device using user account and scheduling
US20060184530A1 (en) * 2005-02-11 2006-08-17 Samsung Electronics Co., Ltd. System and method for user access control to content in a network
WO2010043175A1 (en) * 2008-10-14 2010-04-22 华为技术有限公司 Method and device for terminal management based on right control
WO2010055901A1 (en) * 2008-11-14 2010-05-20 日本電気株式会社 Information processing system, method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003280990A (en) * 2002-03-22 2003-10-03 Ricoh Co Ltd Document processing device and computer program for managing document
KR100731272B1 (en) * 2005-05-20 2007-06-21 노키아 코포레이션 Method and device for defining objects allowing to establish a device management tree for mobile communication devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050096047A (en) * 2004-03-29 2005-10-05 유한회사 알파데이터링크시스템 Apparatus and method for controlling access right of device using user account and scheduling
US20060184530A1 (en) * 2005-02-11 2006-08-17 Samsung Electronics Co., Ltd. System and method for user access control to content in a network
WO2010043175A1 (en) * 2008-10-14 2010-04-22 华为技术有限公司 Method and device for terminal management based on right control
WO2010055901A1 (en) * 2008-11-14 2010-05-20 日本電気株式会社 Information processing system, method, and program

Also Published As

Publication number Publication date
WO2013022317A2 (en) 2013-02-14
WO2013022319A3 (en) 2013-04-04
WO2013022317A3 (en) 2013-06-20

Similar Documents

Publication Publication Date Title
WO2013025085A2 (en) Apparatus and method for supporting family cloud in cloud computing system
WO2016126021A1 (en) Method and apparatus for processing request for stopping notification receipt in wireless communication system
CN108768948B (en) Access right management method, server and computer readable storage medium
WO2014107045A1 (en) Method of sharing contents by using personal cloud device, and electronic device and personal cloud system using the same
WO2016068548A1 (en) Method for processing notification message in wireless communication system and apparatus therefor
WO2016064235A2 (en) Method for managing child resource of group member in wireless communication system and device for same
WO2013176499A2 (en) Method for control and enforcement of policy rule and euicc
WO2013065915A1 (en) Method for interworking trust between a trusted region and an untrusted region, method, server, and terminal for controlling the downloading of trusted applications, and control system applying same
WO2014171707A1 (en) Security method and system for supporting re-subscription or additional subscription restriction policy mobile communications
WO2021071032A1 (en) Device access control method and apparatus for internet of things
JP5340041B2 (en) Access control system, access control method, and program
WO2016171401A1 (en) Method and device for sharing cooperative editing document
WO2018101565A1 (en) Structure for managing security in network virtualization environment
WO2020167095A1 (en) Method and apparatus for registering api provider domain function entities on capif core function entity
US6418442B1 (en) Method and apparatus for providing thread-specific computer system parameters
WO2012124999A2 (en) Method for providing resources by a terminal, and method for acquiring resources by a server
WO2016126023A1 (en) Broadcast apparatus and method of authenticating broadcast data
WO2013183944A1 (en) Apparatus and method for transmitting and receiving files in general purpose device
WO2013022319A2 (en) Method for authenticating authority to command of server, method for requesting authority authentication, and device for same
WO2017082506A1 (en) Method for processing notification reception stop request in wireless communication system and device therefor
WO2019194412A1 (en) Network apparatus and control method thereof
WO2015002436A1 (en) Method and apparatus for optimizing data route in mobile communication system
WO2014035092A1 (en) Method of managing shared file and device for authenticating subscriber by using same
WO2018236137A1 (en) Method for processing request message in m2m system and device therefor
WO2017014381A1 (en) Method for maintaining synchronization of resources in wireless communication system, and apparatus therefor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12822677

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12822677

Country of ref document: EP

Kind code of ref document: A2